bp神经网络的异常点检测应用可行性研究毕业论文设计.docx
《bp神经网络的异常点检测应用可行性研究毕业论文设计.docx》由会员分享,可在线阅读,更多相关《bp神经网络的异常点检测应用可行性研究毕业论文设计.docx(34页珍藏版)》请在冰豆网上搜索。
bp神经网络的异常点检测应用可行性研究毕业论文设计
本科毕业设计(论文)
BP神经网络的异常点检测应用可行性研究
摘要
异常点数据是指数据集中与众不同数据。
这部分数据的量小,但是对于我们的日常生产生活的影响极大。
因此,异常点检测被广泛应用于网络入侵检测,金融保险,天气预报以及新药研制等领域。
相对于大量的正常数据挖掘而言,异常点检测被称作小模式数据挖掘。
BP算法是一种常用的数据挖掘算法。
但是BP算法进行实际数据的异常点数据挖掘过程中存在:
实际数据的维数较高,存在冗余特征的干扰,以及在高维特征下,数据量不充分的问题。
因此,本文分析BP神经网络处理各种数据的情况,并得到以下结果。
(1)BP神经网络能够较好的分离特征单一的仿真数据;但是
(2)特征相似性较大的数据集,难以分离判断;(3)正常数据不充分或者不具有代表性,因此正常数据类学习不充分,从而导致异常无法判断。
针对以上问题,本文提出了以下的改进措施:
(1)BP算法前进行特征约简(映射)从中选取有益于异常检测的特征
(2)多神经网络融合,不同神经网络识别不同的特征,相互取长补短,融合后得到最终的结果。
关键字:
异常,BP,异常点检测,神经网络
注:
本设计(论文)题目来源于教师的国家级(或部级、省级、厅级、市级、校级、企业)科研项目,项目编号为:
。
Abstract
Outlierdataisthedatasetdifferentdata.Thispartofthesmallamountofdata,butforourdailyproductionandlifeofgreat.Therefore,theanomalydetectioniswidelyusedinnetworkintrusiondetection,finance,insurance,weather,andnewdrugdevelopmentandotherfields.Relativetothelargenumberofnormaldatamining,theanomalydetectionmodeliscalleddataminingsmall.BPalgorithmisacommonlyuseddataminingalgorithm.ButtheBPalgorithmtorealdataoutliersexistinthedataminingprocess:
thehigherthedimensionoftheactualdata,thereareredundantfeaturesoftheinterference,andhigh-dimensionalfeature,theissueofinadequatedata.Therefore,thispaperanalyzesavarietyofBPneuralnetworkprocessingofdata,andtogetthefollowingresults.
(1)BPneuralnetworkcanbetterseparationcharacteristicsofasinglesimulationdata;but
(2)thecharacteristicsofsimilarlargedatasets,separationisdifficulttojudge;(3)normaldataisnotsufficientornotrepresentative,sothenormaldataclasslearningisnotsufficient,leadingtoabnormalcannotjudge.Tosolvetheaboveproblem,thispaperproposesthefollowingimprovements:
(1)BPalgorithmbeforefeaturereduction(map)benefitfromanomalydetectionfeaturesselected
(2)integrationofmultipleneuralnetworks,differentneuralnetworktorecognizethedifferentcharacteristicsofeacheachother,thefinalfusionresult.
KeyWords:
Outliers-Data,BP,Algorithms,NeuralNetworks
1引言
1.1背景
异常点(离群点或者孤立点)检测是数据挖掘中一个重要方面,Hawkins[1]最早给出了异常点的本质定义:
异常点是数据集中与众不同地数据,以至于使人怀疑这些数据并非随机偏差,而是产生与完全不同的机制。
异常点可能由于度量或执行错误产生,也可能是由于固有数据可变性的结果。
例如,一个公司首席执行官的工资自然远远高于公司其他雇员的工资,成为一个异常点。
许多数据挖掘算法试图减少异常点的对挖掘结果的影响,或者在挖掘过程中排除异常点。
然而异常点可能隐藏着重要的信息,也许比一般的数据更有价值。
因此人们开始逐渐研究异常点挖掘算法。
目前异常点检测已经开始用于信用卡欺诈、网络入侵检测以及金融申请和交易欺诈等领域[2],近年来异常点检测已成为数据挖掘研究中的一个热点问题。
传统数据挖掘主要有以下几类:
基于统计的方法,基于距离的方法,基于偏移方法,基于聚类方法,基于密度方法。
本文从特征与异常检测的关系出发进行研究。
BP神经网络适用于储存和描述这种复杂的关系。
但是异常检测过程,通常数据的位数较高,在高维特征存在冗余特征干扰,以及高维特征下数据不充分的问题,因此,本文研究了BP神经网络应用于不同情况。
1.2传统已有异常点算法介绍
1.2.1基于统计学的异常点检测算法
早期的异常点检测算法大多数是基于统计学实现的,通常可以分为基于分布的检测算法和基于深度的检测算法两类。
前者一般通过先构造一个标准概率分布来拟合数据集,然后根据概率分布来确定异常点,例如Rosner提出的单样本多个异常检测算法ESD算法,和Yamnishi等使用混合高斯模型的异常点检测算法。
此类算法估计多维分布的概率模型的难度较大,且准确性低。
基于深度方法主要以计算几何为基础,通过计算不同层的K-D凸包将外层的对象判定为异常点。
但当数据集较大,此类方法在维数上的伸缩性不好。
基于统计的异常点检测方法易于理解,实现方便,但此方法检测出来的异常点很可能被不同的分布模型检测出来,解释异常点意义时经常发生多义性。
其次,此方法在很大程度上依赖于待挖掘的数据集是否满足某种概率分布模型、模型的参数、异常点的数目等对基于统计的方法都有非常重要的意义,而确定这些参数通常比较困难;另外,此方法大多适合于挖掘单变量的数值型数据,然而许多数据挖掘问题要求在多维空间中发现异常点,目前几乎没有多元的不一致检验,当没有特定的检验时,或观察到的分布不能恰当地用任何标准的分布建模时,此类方法不能确保所有的异常点被发现。
1.2.2基于距离的异常点检测算法
基于距离的异常点检测算法的基本思想是把数据点看作空间中的点,异常点被定义为与大多数数据距离较远的点。
通常这类异常被描述为
。
当且仅当数据集
中至少有
个数据点与
点的距离大于
时,数据对象
点称为异常点。
这类方法与基于密度的检测算法有很大的相似之处,不需要事先知道数据集的分布模型,对于任意分布模型均有效。
基于距离方法最早是由Knorr和Ng在1998年提出的。
他们用DB(p,d)来表示数据集中的异常点,采用不同的参数
与
,
可以表示所有的异常点。
与此定义相应的算法有三种,它们是基于索引(Index-based)的算法,嵌套循环(Nest-Loop,NL)算法,基于单元或划分(cell-based)的算法等。
基于索引的方法依赖多维索引结构(R-trees,X-trees,KD-tress等)的性能。
随着维数的增加,所有的索引结构的性能迅速下降,使得算法性能不佳。
NL算法可以避免构建索引结构,减少了算法的
次数。
以上两方法的算法时间复杂度为
,当遇到大量数据集时它们还有待改进。
基于单元的方法是把数据集划分为单元,逐个单元的检测,而非逐个对象的检测。
它的时间复杂度为
,其中
取决于单元的个数和维数
。
Knorr和Ng通过试验证明,当
时此算法优于NL算法。
相对前两者,基于单元的算法无论是在数据量还是在维数增加时,性能都是最好的。
此算法需要将数据空间分隔成彼此独立的单元结构,经过多次选择来判断离群数据。
对于参数的每个变化都需要调整单元结构,因此会影响了算法的结果。
后来,Rastogi和Ramaswamy提出了一个新的基于距离的异常点定义,即基于距离的第
最近邻(k-thNearestNeighbor)异常点挖掘方法。
给定
维空间中包含
个点的数据集
、参数
和
(自然数),
表示点
和它的第
最近邻的距离。
如果满足
的点q不超过n-1个,即
,那么称
为
异常点。
如果对数据对象根据它们的
距离进行排序,那么前n个点就被看作异常点。
他们用聚类算法首先对数据集进行聚类,然后在类中发现异常点。
相对于
异常点挖掘,异常点挖掘方法人为干预的因素要小一些。
但它也有自身缺陷,就是要计算数据集中所有点的
,这显然影响到算法的效率。
对低维空间的数据此方法优于索引算法和NL算法,但对于高维数据此算法性能不高。
Bay和Schwabacher在沿用Rastogi和Ramaswamy对于异常定义的基础上,提出了一种基于随机抽样的检测方法,它通过随机抽样的方法,减少了寻找k近邻的范围,在试验数据上获得了几乎线性的计算复杂度。
随着人们对基于距离的方法的不断研究,一些新的、较好的算法也不断的涌现。
代表性的算法有:
陆声链等提出一个判断异常点的新定义,并设计基于抽样近似检测算法。
使得算法性能有所提高;另外,徐雪松等利用聚类算法与第k个最近邻的原理提出了基于距离的再聚类的异常点算法,它克服一些基于距离算法的缺点,并取得较好的试验结果。
与基于统计的方法相比,它有以下几个优点:
则可找出数据集中的异常点。
(1)在理论上可以处理任意维任意类型的数据,这就克服了基于统计方法仅能检测单个属性的缺点。
(2)不必对数据集的相关信息(数据服从哪种统计分布模型,数据类型特点等)足够了解。
实际上在给出了距离的度量,并对数据进行预处理后。
1.2.3基于密度的算法
基于密度方法是在基于距离的方法上改进而来。
基于密度的异常观点比基于距离的异常观点更贴近Hawkins的异常定义,因此能够检测出基于距离异常算法所不能识别的局部异常。
局部异常观点摒弃了以前所有的异常定义中非此即彼的绝对异常观念,更加符合现实生活的中的应用。
所谓密度是基于任意一点和P点距离小于给定半径R的邻域空间内的数据点的个数计算得到的。
一般的对密度的定义是点到其量近邻的平均距离,平均距离小则密度小。
基于密度的异常点检测,就是探测局部密度,通过不同的密度估计策略来检测异常点。
代表性算法主要有以下几种。
(1)Brito等提出相互k近邻图(Mutualk—NearestNeighbor,简称MkNN)算法,其主要思想是对每个连通子图进行检测,如果包含多个结点就组成一个簇,如果仅有一个结点,那么该结点就是异常点。
该算法针对数据点的分布对各种特殊形状都有效,但算法执行效率不高。
(2)V