资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机学院毕业论文II本科毕业设计(论文)本科毕业设计(论文) BPBP 神经网络的异常点检测应用可行性研究神经网络的异常点检测应用可行性研究学 院 计算机学院 专 业 软件工程 年级班别 级 班 学 号 学生姓名 指导教师 III摘摘 要要异常点数据是指数据集中与众不同数据。这部分数据的量小,但是对于我们的日常生产生活的影响极大。因此,异常点检测被广泛应用于网络入侵检测,金融保险,天气预报以及新药研制等领域。相对于大量的正常数据挖掘而言,异常点检测被称作小模式数据挖掘。BP 算法是一种常用的数据挖掘算法。但是 BP 算法进行实际数据的异常点数据挖掘过程中存在:实际数据的维数较高,存在冗余特征的干扰,以及在高维特征下,数据量不充分的问题。因此,本文分析 BP 神经网络处理各种数据的情况,并得到以下结果。 (1)BP 神经网络能够较好的分离特征单一的仿真数据;但是(2)特征相似性较大的数据集,难以分离判断;(3)正常数据不充分或者不具有代表性,因此正常数据类学习不充分,从而导致异常无法判断。针对以上问题,本文提出了以下的改进措施:(1)BP 算法前进行特征约简(映射)从中选取有益于异常检测的特征(2)多神经网络融合,不同神经网络识别不同的特征,相互取长补短,融合后得到最终的结果。关键字关键字:异常,BP,异常点检测,神经网络注:本设计(论文)题目来源于教师的国家级(或部级、省级、厅级、市级、校级、企业)科研项 目,项目编号为: 。IVAbstractOutlier data is the data set different 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, 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-dimensional 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 sets, 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 reduction (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 NetworksV目目 录录1引言1 1.1背景.1 1.2传统已有异常点算法介绍.1 1.2.1基于统计学的异常点检测算法1 1.2.2基于距离的异常点检测算法2 1.2.3基于密度的算法.3 1.2.4基于偏差的异常点检测5 1.2.5基于聚类的异常点检测算法6 2基于属性特征在异常点检测中的研究73 BP 神经网络介绍93.1模型简介9 3.2计算各层节点输出9 3.3 修正权值.10 4 异常检测中 BP 神经网络的设计13 4.1可微阈值单元.13 4.2单个 BP 网络结构设计13 4.3BP 神经网络学习过程的基本步骤.14 5实验研究.17 5.1研究使用的数据库介绍.17 5.2训练方案一实验:把 bp 神经网络相似性代替距离算法相似度量.17 5.3训练方案二实验:用单个神经网络对训练数据库整体特性进行学习18 5.4训练方案三实验:多神经网络各种形式训练及其决策.19 5.4.1实验设计思路19 5.4.2实验方案及步骤.20 5.4.3实验分析.22 5.4.4实验失败原因分析.23 5.5BP 调参实验25 5.5.1对实验一调整隐层实验25 5.5.2对实验二调整隐层实验26 5.5.3对实验三调整隐层实验29 5.6数据仿真实验.31 5.6.1实验思路.31 5.6.2实验步骤.31 5.6.3实验结果.32 5.6.4结果分析.33 5.7实验整体分析.33 总结与展望.35 致谢.39VI11 1 引言引言1.11.1 背景背景异常点(离群点或者孤立点)检测是数据挖掘中一个重要方面,Hawkins1最早给出了异常点的本质定义:异常点是数据集中与众不同地数据,以至于使人怀疑这些数据并非随机偏差,而是产生与完全不同的机制。异常点可能由于度量或执行错误产生,也可能是由于固有数据可变性的结果。例如,一个公司首席执行官的工资自然远远高于公司其他雇员的工资,成为一个异常点。许多数据挖掘算法试图减少异常点的对挖掘结果的影响,或者在挖掘过程中排除异常点。然而异常点可能隐藏着重要的信息,也许比一般的数据更有价值。因此人们开始逐渐研究异常点挖掘算法。目前异常点检测已经开始用于信用卡欺诈、网络入侵检测以及金融申请和交易欺诈等领域2,近年来异常点检测已成为数据挖掘研究中的一个热点问题。传统数据挖掘主要有以下几类:基于统计的方法,基于距离的方法,基于偏移方法,基于聚类方法,基于密度方法。本文从特征与异常检测的关系出发进行研究。BP 神经网络适用于储存和描述这种复杂的关系。但是异常检测过程,通常数据的位数较高,在高维特征存在冗余特征干扰,以及高维特征下数据不充分的问题,因此,本文研究了 BP 神经网络应用于不同情况。1.21.2 传统已有异常点算法介绍传统已有异常点算法介绍1.2.1 基于统计学的异常点检测算法早期的异常点检测算法大多数是基于统计学实现的,通常可以分为基于分布的检测算法和基于深度的检测算法两类。前者一般通过先构造一个标准概率分布来拟合数据集,然后根据概率分布来确定异常点,例如 Rosner 提出的单样本多个异常检测算法ESD 算法,和 Yamnishi 等使用混合高斯模型的异常点检测算法。此类算法估计多维分布的概率模型的难度较大,且准确性低。基于深度方法主要以计算几何为基础,通过计算不同层的 K-D 凸包将外层的对象判定为异常点。但当数据集较大,此类方法在维2数上的伸缩性不好。基于统计的异常点检测方法易于理解,实现方便,但此方法检测出来的异常点很可能被不同的分布模型检测出来,解释异常点意义时经常发生多义性。其次,此方法在很大程度上依赖于待挖掘的数据集是否满足某种概率分布模型、模型的参数、异常点的数目等对基于统计的方法都有非常重要的意义,而确定这些参数通常比较困难;另外,此方法大多适合于挖掘单变量的数值型数据,然而许多数据挖掘问题要求在多维空间中发现异常点,目前几乎没有多元的不一致检验,当没有特定的检验时,或观察到的分布不能恰当地用任何标准的分布建模时,此类方法不能确保所有的异常点被发现。1.2.2 基于距离的异常点检测算法基于距离的异常点检测算法的基本思想是把数据点看作空间中的点,异常点被定义为与大多数数据距离较远的点。通常这类异常被描述为。当且仅当数据(,dmin)DB pct集中至少有个数据点与点的距离大于时,数据对象点称为异常点。这SpctPdminP类方法与基于密度的检测算法有很大的相似之处,不需要事先知道数据集的分布模型,对于任意分布模型均有效。基于距离方法最早是由 Knorr 和 Ng 在 1998 年提出的。他们用 DB(p,d)来表示数据集中的异常点,采用不同的参数与,可以表示所有的异常点。与此 定 pd( ,d)DB p义 相应的算法有三种,它们是基于索引(Index-based)的算法,嵌套循环(Nest-Loop,NL)算法,基于单元或划分(cell-based)的算法等。基于索引的方法依赖多维索引结构(R-trees,X -trees,KD -tress 等)的性能。随着维数的增加,所有的索引结构的性能迅速下降,使得算法性能不佳。NL 算法可以避免构建索引结构,减少了算法的次数。OI /以上两方法的算法时间复杂度为,当遇到大量数据集时它们还有待改进。基于)(2knO单元的方法是把数据集划分为单元,逐个单元的检测,而非逐个对象的检测。它的时间复杂度为,其中取决于单元的个数和维数。 Knorr 和 Ng 通过试验证)(NckOckk明,当时此算法优于 NL 算法。4k 相对前两者,基于单元的算法无论是在数据量还是在维数增加时,性能都是最好的。3此算法需要将数据空间分隔成彼此独立的单元结构,经过多次选择来判断离群数据。对于参数的每个变化都需要调整单元结构,因此会影响了算法的结果。后来,Rastogi和 Ramaswamy 提出了一个新的基于距离的异常点定义,即基于距离的第最近邻(k-th kNearest Neighbor)异常点挖掘方法。给定维空间中包含个点的数据集、参数和SNDn(自然数),表示点和它的第最近邻的距离。如果满足的点 qk( )kDppk)()(pDqDkk不超过 n-1 个,即,那么称为异常点。如果对数据1)()(|npDqDDqkkpk nD对象根据它们的距离进行排序,那么前 n 个点就被看作异常点。他们用聚类算)(pDk法首先对数据集进行聚类,然后在类中发现异常点。相对于异常点挖掘,异常d)DB(p,点挖掘方法人为干预的因素要小一些。但它也有自身缺陷,就是要计算数据集中所有点的,这显然影响到算法的效率。对低维空间的数据此方法优于索引算法和 NL)(pDk算法,但对于高维数据此算法性能不高。Bay 和 S
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号