BP神经网络的异常点检测应用可行性研究_毕业论文(37页).doc
《BP神经网络的异常点检测应用可行性研究_毕业论文(37页).doc》由会员分享,可在线阅读,更多相关《BP神经网络的异常点检测应用可行性研究_毕业论文(37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-BP神经网络的异常点检测应用可行性研究_毕业论文-第 29 页本科毕业设计(论文) BP神经网络的异常点检测应用可行性研究摘 要异常点数据是指数据集中与众不同数据。这部分数据的量小,但是对于我们的日常生产生活的影响极大。因此,异常点检测被广泛应用于网络入侵检测,金融保险,天气预报以及新药研制等领域。相对于大量的正常数据挖掘而言,异常点检测被称作小模式数据挖掘。BP算法是一种常用的数据挖掘算法。但是BP算法进行实际数据的异常点数据挖掘过程中存在:实际数据的维数较高,存在冗余特征的干扰,以及在高维特征下,数据量不充分的问题。因此,本文分析BP神经网络处理各种数据的情况,并得到以下结果。(1)BP
2、神经网络能够较好的分离特征单一的仿真数据;但是(2)特征相似性较大的数据集,难以分离判断;(3)正常数据不充分或者不具有代表性,因此正常数据类学习不充分,从而导致异常无法判断。针对以上问题,本文提出了以下的改进措施:(1)BP算法前进行特征约简(映射)从中选取有益于异常检测的特征(2)多神经网络融合,不同神经网络识别不同的特征,相互取长补短,融合后得到最终的结果。关键字:异常,BP,异常点检测,神经网络注:本设计(论文)题目来源于教师的国家级(或部级、省级、厅级、市级、校级、企业)科研项目,项目编号为: 。AbstractOutlier data is the data set differe
3、nt data. This part of the small amount of data, but for our daily production and life of great. Therefore, the anomaly detection is widely used in network intrusion detection, finance, insurance, weather, and new drug development and other fields. Relative to the large number of normal data mining,
4、the anomaly detection model is called data mining small. BP algorithm is a commonly used data mining algorithm. But the BP algorithm to real data outliers exist in the data mining process: the higher the dimension of the actual data, there are redundant features of the interference, and high-dimensi
5、onal feature, the issue of inadequate data. Therefore, this paper analyzes a variety of BP neural network processing of data, and to get the following results. (1) BP neural network can better separation characteristics of a single simulation data; but (2) the characteristics of similar large data s
6、ets, separation is difficult to judge; (3) normal data is not sufficient or not representative, so the normal data class learning is not sufficient, leading to abnormal can not judge. To solve the above problem, this paper proposes the following improvements: (1) BP algorithm before feature reductio
7、n (map) benefit from anomaly detection features selected (2) integration of multiple neural networks, different neural network to recognize the different characteristics of each each other, the final fusion result.Key Words:Outliers-Data,BP,Algorithms,Neural Networks目 录1引言11.1背景11.2传统已有异常点算法介绍11.2.1
8、基于统计学的异常点检测算法11.2.2基于距离的异常点检测算法21.2.3基于密度的算法31.2.4基于偏差的异常点检测51.2.5基于聚类的异常点检测算法62基于属性特征在异常点检测中的研究73 BP神经网络介绍93.1模型简介93.2计算各层节点输出93.3 修正权值104 异常检测中BP神经网络的设计134.1可微阈值单元134.2单个BP网络结构设计134.3BP神经网络学习过程的基本步骤145实验研究175.1研究使用的数据库介绍175.2训练方案一实验:把bp神经网络相似性代替距离算法相似度量175.3训练方案二实验:用单个神经网络对训练数据库整体特性进行学习185.4训练方案三实
9、验:多神经网络各种形式训练及其决策195.4.1实验设计思路195.4.2实验方案及步骤205.4.3实验分析225.4.4实验失败原因分析235.5BP调参实验255.5.1对实验一调整隐层实验255.5.2对实验二调整隐层实验265.5.3对实验三调整隐层实验295.6数据仿真实验315.6.1实验思路315.6.2实验步骤315.6.3实验结果325.6.4结果分析335.7实验整体分析33总结与展望35致谢391引言1.1背景异常点(离群点或者孤立点)检测是数据挖掘中一个重要方面,Hawkins1最早给出了异常点的本质定义:异常点是数据集中与众不同地数据,以至于使人怀疑这些数据并非随机
10、偏差,而是产生与完全不同的机制。异常点可能由于度量或执行错误产生,也可能是由于固有数据可变性的结果。例如,一个公司首席执行官的工资自然远远高于公司其他雇员的工资,成为一个异常点。许多数据挖掘算法试图减少异常点的对挖掘结果的影响,或者在挖掘过程中排除异常点。然而异常点可能隐藏着重要的信息,也许比一般的数据更有价值。因此人们开始逐渐研究异常点挖掘算法。目前异常点检测已经开始用于信用卡欺诈、网络入侵检测以及金融申请和交易欺诈等领域2,近年来异常点检测已成为数据挖掘研究中的一个热点问题。传统数据挖掘主要有以下几类:基于统计的方法,基于距离的方法,基于偏移方法,基于聚类方法,基于密度方法。本文从特征与异
11、常检测的关系出发进行研究。BP神经网络适用于储存和描述这种复杂的关系。但是异常检测过程,通常数据的位数较高,在高维特征存在冗余特征干扰,以及高维特征下数据不充分的问题,因此,本文研究了BP神经网络应用于不同情况。1.2传统已有异常点算法介绍1.2.1基于统计学的异常点检测算法早期的异常点检测算法大多数是基于统计学实现的,通常可以分为基于分布的检测算法和基于深度的检测算法两类。前者一般通过先构造一个标准概率分布来拟合数据集,然后根据概率分布来确定异常点,例如Rosner提出的单样本多个异常检测算法ESD算法,和Yamnishi等使用混合高斯模型的异常点检测算法。此类算法估计多维分布的概率模型的难
12、度较大,且准确性低。基于深度方法主要以计算几何为基础,通过计算不同层的K-D凸包将外层的对象判定为异常点。但当数据集较大,此类方法在维数上的伸缩性不好。基于统计的异常点检测方法易于理解,实现方便,但此方法检测出来的异常点很可能被不同的分布模型检测出来,解释异常点意义时经常发生多义性。其次,此方法在很大程度上依赖于待挖掘的数据集是否满足某种概率分布模型、模型的参数、异常点的数目等对基于统计的方法都有非常重要的意义,而确定这些参数通常比较困难;另外,此方法大多适合于挖掘单变量的数值型数据,然而许多数据挖掘问题要求在多维空间中发现异常点,目前几乎没有多元的不一致检验,当没有特定的检验时,或观察到的分
13、布不能恰当地用任何标准的分布建模时,此类方法不能确保所有的异常点被发现。1.2.2基于距离的异常点检测算法基于距离的异常点检测算法的基本思想是把数据点看作空间中的点,异常点被定义为与大多数数据距离较远的点。通常这类异常被描述为。当且仅当数据集中至少有个数据点与点的距离大于时,数据对象点称为异常点。这类方法与基于密度的检测算法有很大的相似之处,不需要事先知道数据集的分布模型,对于任意分布模型均有效。基于距离方法最早是由Knorr和Ng在1998年提出的。他们用DB(p,d)来表示数据集中的异常点,采用不同的参数与,可以表示所有的异常点。与此 定 义 相应的算法有三种,它们是基于索引(Index-
14、based)的算法,嵌套循环(Nest-Loop,NL)算法,基于单元或划分(cell-based)的算法等。基于索引的方法依赖多维索引结构(R-trees,X -trees,KD -tress等)的性能。随着维数的增加,所有的索引结构的性能迅速下降,使得算法性能不佳。NL算法可以避免构建索引结构,减少了算法的次数。以上两方法的算法时间复杂度为,当遇到大量数据集时它们还有待改进。基于单元的方法是把数据集划分为单元,逐个单元的检测,而非逐个对象的检测。它的时间复杂度为,其中取决于单元的个数和维数。 Knorr和Ng通过试验证明,当时此算法优于NL算法。相对前两者,基于单元的算法无论是在数据量还是
15、在维数增加时,性能都是最好的。此算法需要将数据空间分隔成彼此独立的单元结构,经过多次选择来判断离群数据。对于参数的每个变化都需要调整单元结构,因此会影响了算法的结果。后来,Rastogi和Ramaswamy提出了一个新的基于距离的异常点定义,即基于距离的第最近邻(k-th Nearest Neighbor)异常点挖掘方法。给定维空间中包含个点的数据集、参数和 (自然数),表示点和它的第最近邻的距离。如果满足的点q不超过n-1个,即,那么称为异常点。如果对数据对象根据它们的距离进行排序,那么前n个点就被看作异常点。他们用聚类算法首先对数据集进行聚类,然后在类中发现异常点。相对于异常点挖掘,异常点
16、挖掘方法人为干预的因素要小一些。但它也有自身缺陷,就是要计算数据集中所有点的,这显然影响到算法的效率。对低维空间的数据此方法优于索引算法和NL算法,但对于高维数据此算法性能不高。Bay和Sc hwabacher在沿用Rastogi和Ramaswamy对于异常定义的基础上,提出了一种基于随机抽样的检测方法,它通过随机抽样的方法,减少了寻找k近邻的范围,在试验数据上获得了几乎线性的计算复杂度。随着人们对基于距离的方法的不断研究,一些新的、较好的算法也不断的涌现。代表性的算法有: 陆声链等提出一个判断异常点的新定义,并设计基于抽样近似检测算法。使得算法性能有所提高;另外,徐雪松等利用聚类算法与第k个
17、最近邻的原理提出了基于距离的再聚类的异常点算法,它克服一些基于距离算法的缺点,并取得较好的试验结果。与基于统计的方法相比,它有以下几个优点: 则可找出数据集中的异常点。(1) 在理论上可以处理任意维任意类型的数据,这就克服了基于统计方法仅能检测单个属性的缺点。(2) 不必对数据集的相关信息(数据服从哪种统计分布模型,数据类型特点等)足够了解。实际上在给出了距离的度量,并对数据进行预处理后。1.2.3基于密度的算法基于密度方法是在基于距离的方法上改进而来。基于密度的异常观点比基于距离的异常观点更贴近Hawkins的异常定义,因此能够检测出基于距离异常算法所不能识别的局部异常。局部异常观点摒弃了以
18、前所有的异常定义中非此即彼的绝对异常观念,更加符合现实生活的中的应用。所谓密度是基于任意一点和P点距离小于给定半径R的邻域空间内的数据点的个数计算得到的。一般的对密度的定义是点到其量近邻的平均距离,平均距离小则密度小。基于密度的异常点检测,就是探测局部密度,通过不同的密度估计策略来检测异常点。代表性算法主要有以下几种。(1) Brito等提出相互k近邻图(Mutual kNearest Neighbor,简称MkNN)算法,其主要思想是对每个连通子图进行检测,如果包含多个结点就组成一个簇,如果仅有一个结点,那么该结点就是异常点。该算法针对数据点的分布对各种特殊形状都有效,但算法执行效率不高。(
19、2)Ville Hautamaki等提出两种基于密度的异常点检测算法,第一种算法思路为在kNN图中,若顶点u成为其它点的k近邻的次数少于给定阈值T时就被认为是异常点,另一种算法则是先对所有顶点的平均k近邻距离进行排序,然后将平均k近邻距离大于T点顶点视为异常点。 (3)Papadimitriou定义了多粒度偏离系数(MultiGranularity Deviation Factor,简称MDEF),该算法将多粒度偏离系数是所在邻域的标准多粒度偏离系数的3倍的点判定为异常点,然而标准多粒度偏离系数的计算量大,对算法的可行性有一定的限制。(4)Dongmei Ren等采用相对密度系数(Relati
20、ve Density Factor,简称RDF),即P点的密度相对该点的邻域密度的比值作为孤立程度的度量方法,其基本思路是首先基于RDF对位于簇中心的数据点进行剪枝,然后仅仅在剩下的较小的数据集中进行异常点检测。该方法降低了数据集的大小,提高了算法效率,但是在剪枝过程中对于特殊分布的数据集就有可能将异常点剪掉,算法的准确性受到限制。(5)Breuning 提出了局部异常的概念及相应异常检测方法(DBOM算法),即数据集中的每个对象的异常程度用局部异常因子LOF来衡量。也就是说是否是异常点不仅仅取决于它与周围数据的距离大小,而且与邻域内的密度情况有关。一个对象领域内的密度可以用包含固定结点个数的
21、域半径指定半径领域中包含的结点数来描述。这样就不会像DB(p,d)异常点那样遗漏一部分异常点。LOF算法充分体现了“局部”的概念,每个点都给出了一个离群程度,离群程度最强的那个几个点被标记为异常点。文献有关发面对LOF进行推广:一是由原来的一个邻域的变化为两个(计算密度领域和比较密度领域);二是剪除非异常对象来减小计算代价;因此,使用算法比传统的LOF算法有所提高。在现有的计算局部异常因子(LOF)算法中,把具有很高LOF值的对象作为异常点。计算LOF要耗费很大的计算量,针对此问题malik Agyemang提出了修改算法,即局部稀疏系数(LSC)算法。这种方法主要是引入局部稀疏系数(LSC)
22、这一概念,根据每个对象的LSC值按从大到小的顺序排列整个数据集并把前n个对象作为异常点。但是,此方法在实际应用中计算量亦是不小,效率有待提高。另外,岳峰等利用反向K近邻(RKNN)这个概念提出了一个异常点检测算法(ODRKNN),在综合数据集和正式数据集上的实验结构表明,该算法能有效地检测出异常点,且算法效率高于典型的基于密度的异常点检测算法LOF和LSC的效率。1.2.4基于偏差的异常点检测基于偏差的异常点检测不使用统计检验或者基于距离的度量来识别异常对象。相反,它通过检查一组对象的主要特征来识别异常点。背离这种描述的对象认为是异常点。因此,在该方法中,属于偏差通常用于指异常点。主要有两种技
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 异常 检测 应用 可行性研究 毕业论文 37
限制150内