神经网络的异常点检测应用可行性研究_第1页
神经网络的异常点检测应用可行性研究_第2页
神经网络的异常点检测应用可行性研究_第3页
神经网络的异常点检测应用可行性研究_第4页
神经网络的异常点检测应用可行性研究_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)本科毕业设计(论文) BP神经网络的异常点检测应用可行性研究学 院 专 业 年级班别 学 号 学生姓名 指导教师 20*年 5 月本科毕业设计(论文)摘 要异常点数据是指数据集中与众不同数据。这部分数据的量小,但是对于我们的日常生产生活的影响极大。因此,异常点检测被广泛应用于网络入侵检测,金融保险,天气预报以及新药研制等领域。相对于大量的正常数据挖掘而言,异常点检测被称作小模式数据挖掘。BP 算法是一种常用的数据挖掘算法。但是 BP 算法进行实际数据的异常点数据挖掘过程中存在:实际数据的维数较高,存在冗余特征的干扰,以及在高维特征下,数据量不充分的问题。因此,本文分析 BP 神经网络处理各种数据的情况,并得到以下结果。 (1)BP 神经网络能够较好的分离特征单一的仿真数据;但是(2)特征相似性较大的数据集,难以分离判断;(3)正常数据不充分或者不具有代表性,因此正常数据类学习不充分,从而导致异常无法判断。针对以上问题,本文提出了以下的改进措施:(1)BP 算法前进行特征约简(映射)从中选取有益于异常检测的特征(2)多神经网络融合,不同神经网络识别不同的特征,相互取长补短,融合后得到最终的结果。关键字:异常,BP,异常点检测,神经网络本科毕业设计(论文)AbstractOutlier 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 Networks本科毕业设计(论文)目 录1 引言 .11.1 背景 .11.2传统已有异常点算法介绍 .11.2.1 基于统计学的异常点检测算法 .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 训练方案三实验:多神经网络各种形式训练及其决策 .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致谢 .39本科毕业设计(论文)本科毕业设计(论文)1引言1.1背景异常点(离群点或者孤立点)检测是数据挖掘中一个重要方面,Hawkins 1最早给出了异常点的本质定义:异常点是数据集中与众不同地数据,以至于使人怀疑这些数据并非随机偏差,而是产生与完全不同的机制。异常点可能由于度量或执行错误产生,也可能是由于固有数据可变性的结果。例如,一个公司首席执行官的工资自然远远高于公司其他雇员的工资,成为一个异常点。许多数据挖掘算法试图减少异常点的对挖掘结果的影响,或者在挖掘过程中排除异常点。然而异常点可能隐藏着重要的信息,也许比一般的数据更有价值。因此人们开始逐渐研究异常点挖掘算法。目前异常点检测已经开始用于信用卡欺诈、网络入侵检测以及金融申请和交易欺诈等领域 2,近年来异常点检测已成为数据挖掘研究中的一个热点问题。传统数据挖掘主要有以下几类:基于统计的方法,基于距离的方法,基于偏移方法,基于聚类方法,基于密度方法。本文从特征与异常检测的关系出发进行研究。BP 神经网络适用于储存和描述这种复杂的关系。但是异常检测过程,通常数据的位数较高,在高维特征存在冗余特征干扰,以及高维特征下数据不充分的问题,因此,本文研究了 BP 神经网络应用于不同情况。1.2传统已有异常点算法介绍1.2.1基于统计学的异常点检测算法早期的异常点检测算法大多数是基于统计学实现的,通常可以分为基于分布的检测算法和基于深度的检测算法两类。前者一般通过先构造一个标准概率分布来拟合数据集,然后根据概率分布来确定异常点,例如 Rosner 提出的单样本多个异常检测算法 ESD 算法,和 Yamnishi 等使用混合高斯模型的异常点检测算法。此类算法估计多维分布的概率模型的难度较大,且准确性低。基于深度方法主要以计算几何为基础,通过计算不同层的 K-D 凸包将外层的对象判定本科毕业设计(论文)为异常点。但当数据集较大,此类方法在维数上的伸缩性不好。基于统计的异常点检测方法易于理解,实现方便,但此方法检测出来的异常点很可能被不同的分布模型检测出来,解释异常点意义时经常发生多义性。其次,此方法在很大程度上依赖于待挖掘的数据集是否满足某种概率分布模型、模型的参数、异常点的数目等对基于统计的方法都有非常重要的意义,而确定这些参数通常比较困难;另外,此方法大多适合于挖掘单变量的数值型数据,然而许多数据挖掘问题要求在多维空间中发现异常点,目前几乎没有多元的不一致检验,当没有特定的检验时,或观察到的分布不能恰当地用任何标准的分布建模时,此类方法不能确保所有的异常点被发现。1.2.2基于距离的异常点检测算法基于距离的异常点检测算法的基本思想是把数据点看作空间中的点,异常点被定义为与大多数数据距离较远的点。通常这类异常被描述为 。(,dmin)DBpct当且仅当数据集 中至少有 个数据点与 点的距离大于 时,数据对象SpctPdin点称为异常点。这类方法与基于密度的检测算法有很大的相似之处,不需要P事先知道数据集的分布模型,对于任意分布模型均有效。基于距离方法最早是由 Knorr 和 Ng 在 1998 年提出的。他们用 DB(p,d)来表示数据集中的异常点,采用不同的参数 与 , 可以表示所有的异常pd(,)DBp点。与此 定 义 相应的算法有三种,它们是基于索引(Index-based)的算法,嵌套循环(Nest-Loop,NL)算法,基于单元或划分(cell-based)的算法等。基于索引的方法依赖多维索引结构(R-trees,X -trees,KD -tress 等)的性能。随着维数的增加,所有的索引结构的性能迅速下降,使得算法性能不佳。NL 算法可以避免构建索引结构,减少了算法的 次数。以上两方法的算法时间复杂度为 ,当OI/ )(2knO遇到大量数据集时它们还有待改进。基于单元的方法是把数据集划分为单元,逐个单元的检测,而非逐个对象的检测。它的时间复杂度为 ,其中)(Nc取决于单元的个数和维数 。 Knorr 和 Ng 通过试验证明,当 时此算ckk 4k法优于 NL 算法。本科毕业设计(论文)相对前两者,基于单元的算法无论是在数据量还是在维数增加时,性能都是最好的。此算法需要将数据空间分隔成彼此独立的单元结构,经过多次选择来判断离群数据。对于参数的每个变化都需要调整单元结构,因此会影响了算法的结果。后来,Rastogi 和 Ramaswamy 提出了一个新的基于距离的异常点定义,即基于距离的第 最近邻(k-th Nearest Neighbor)异常点挖掘方法。给定 维k S空间中包含 个点的数据集 、参数 和 (自然数 ), 表示点 和它的第NDnk()kDp最近邻的距离。如果满足 的点 q 不超过 n-1 个,即k )(pqk,那么称 为 异常点。如果对数据对象根据它1)()|npqDkk kn们的 距离进行排序,那么前 n 个点就被看作异常点。他们用聚类算法首(先对数据集进行聚类,然后在类中发现异常点。相对于 异常点挖掘,d)DB(p,异常点挖掘方法人为干预的因素要小一些。但它也有自身缺陷,就是要计算数据集中所有点的 ,这显然影响到算法的效率。对低维空间的数据此方法)(pDk优于索引算法和 NL 算法,但对于高维数据此算法性能不高。Bay 和 Sc hwabacher 在沿用 Rastogi 和 Ramaswamy 对于异常定义的基础上,提出了一种基于随机抽样的检测方法,它通过随机抽样的方法,减少了寻找 k近邻的范围,在试验数据上获得了几乎线性的计算复杂度。随着人们对基于距离的方法的不断研究,一些新的、较好的算法也不断的涌现。代表性的算法有: 陆声链等提出一个判断异常点的新定义,并设计基于抽样近似检测算法。使得算法性能有所提高;另外,徐雪松等利用聚类算法与第k 个最近邻的原理提出了基于距离的再聚类的异常点算法,它克服一些基于距离算法的缺点,并取得较好的试验结果。与基于统计的方法相比,它有以下几个优点: 则可找出数据集中的异常点。(1) 在理论上可以处理任意维任意类型的数据,这就克服了基于统计方法仅能检测单个属性的缺点。(2) 不必对数据集的相关信息(数据服从哪种统计分布模型,数据类型特点等)足够了解。实际上在给出了距离的度量,并对数据进行预处理后。本科毕业设计(论文)1.2.3基于密度的算法基于密度方法是在基于距离的方法上改进而来。基于密度的异常观点比基于距离的异常观点更贴近 Hawkins 的异常定义,因此能够检测出基于距离异常算法所不能识别的局部异常。局部异常观点摒弃了以前所有的异常定义中非此即彼的绝对异常观念,更加符合现实生活的中的应用。所谓密度是基于任意一点和 P 点距离小于给定半径 R 的邻域空间内的数据点的个数计算得到的。一般的对密度的定义是点到其量近邻的平均距离,平均距离小则密度小。基于密度的异常点检测,就是探测局部密度,通过不同的密度估计策略来检测异常点。代表性算法主要有以下几种。(1)Brito 等提出相互 k 近邻图(Mutual kNearest Neighbor,简称 MkNN)算法,其主要思想是对每个连通子图进行检测,如果包含多个结点就组成一个簇,如果仅有一个结点,那么该结点就是异常点。该算法针对数据点的分布对各种特殊形状都有效,但算法执行效率不高。(2)Ville Hautamaki 等提出两种基于密度的异常点检测算法,第一种算法思路为在 kNN 图中,若顶点 u 成为其它点的 k 近邻的次数少于给定阈值 T 时就被认为是异常点,另一种算法则是先对所有顶点的平均 k 近邻距离进行排序,然后将平均 k 近邻距离大于 T 点顶点视为异常点。(3)Papadimitriou 定义了多粒度偏离系数 (MultiGranularity Deviation Factor,简称 MDEF),该算法将多粒度偏离系数是所在邻域的标准多粒度偏离系数的 3 倍的点判定为异常点,然而标准多粒度偏离系数的计算量大,对算法的可行性有一定的限制。(4)Dongmei Ren 等采用相对密度系数(Rela tive Density Factor,简称 RDF),即 P 点的密度相对该点的邻域密度的比值作为孤立程度的度量方法,其基本思路是首先基于 RDF 对位于簇中心的数据点进行剪枝,然后仅仅在剩下的较小的数据集中进行异常点检测。该方法降低了数据集的大小,提高了算法效率,但是在剪枝过程中对于特殊分布的数据集就有可能将异常点剪掉,算法的准确性受到限制。(5)Breuning 提出了局部异常的概念及相应异常检测方法(DBOM 算法) ,本科毕业设计(论文)即数据集中的每个对象的异常程度用局部异常因子 LOF 来衡量。也就是说是否是异常点不仅仅取决于它与周围数据的距离大小,而且与邻域内的密度情况有关。一个对象领域内的密度可以用包含固定结点个数的域半径指定半径领域中包含的结点数来描述。这样就不会像 DB(p,d)异常点那样遗漏一部分异常点。LOF 算法充分体现了“局部”的概念,每个点都给出了一个离群程度,离群程度最强的那个几个点被标记为异常点。文献有关发面对 LOF 进行推广:一是由原来的一个邻域的变化为两个(计算密度领域和比较密度领域) ;二是剪除非异常对象来减小计算代价;因此,使用算法比传统的 LOF 算法有所提高。在现有的计算局部异常因子(LOF)算法中,把具有很高 LOF 值的对象作为异常点。计算 LOF 要耗费很大的计算量,针对此问题 malik Agyemang 提出了修改算法,即局部稀疏系数(LSC)算法。这种方法主要是引入局部稀疏系数(LSC)这一概念,根据每个对象的 LSC 值按从大到小的顺序排列整个数据集并把前 n 个对象作为异常点。但是,此方法在实际应用中计算量亦是不小,效率有待提高。另外,岳峰等利用反向 K 近邻(RKNN)这个概念提出了一个异常点检测算法(ODRKNN),在综合数据集和正式数据集上的实验结构表明,该算法能有效地检测出异常点,且算法效率高于典型的基于密度的异常点检测算法 LOF 和 LSC的效率。1.2.4基于偏差的异常点检测基于偏差的异常点检测不使用统计检验或者基于距离的度量来识别异常对象。相反,它通过检查一组对象的主要特征来识别异常点。背离这种描述的对象认为是异常点。因此,在该方法中,属于偏差通常用于指异常点。主要有两种技术:第一种顺序地比较集合中的对象,叫顺序异常技术(sequential exception technique);第二种采用 OLAP 数据立方体方法识别大型多维数据中的异常区域。(1) 序列异常技术: Aming 和 Argrawal 提出一种序列异常(sequential exception)的概念。这个算法复杂度与数据集大小呈线性关系,有优异的计算性本科毕业设计(论文)能。但是并没有得到普遍的认同,这是因为序列异常在概念上有一定的缺陷,它对异常点存在的假设太过理想化,对现实复杂数据效果不太好。(2) OLAP 数据立方体技术:在大规模的多维数据中采用数据立方体来确定反常区域.如果一个立方体的单元值显著地不同于根据统计模型得到的值,该单元被认为是一个异常。此方法是发现驱动探索的一种形式。此方法由于搜索空间很大,人工探测非常困难。第一种概念有缺陷,遗漏了不少异常点,时间复杂度与数据集大小成线性关系,适用性不高。第二种搜索空间大,人工探测困难,效率不高,只适用多维数据。1.2.5基于聚类的异常点检测算法在聚类算法中,异常点检测仅仅是聚类的副产品。聚类算法发展方向是优化聚类过程,而不是提高对异常点检测的能力,异常点检测和聚类是两个相对立的过程,聚类是把属于统一类的数据点聚集在一起,归为一类,而异常点检测是把和大多数数据点相异的点挖掘出来。Su 等人首先提出基于聚类的异常点检测算法,聚集的较小簇被认为是异常点,但这中方法忽略了小聚集簇和大聚集簇之间的距离,当一个小聚集簇和一个大聚集簇非常接近的时候,小聚集簇中的这些点更可能是大聚集簇的边界点而不是异常点。模糊 k 均值聚类算法(FCM)常用于异常点检测,该算法动态地分配权重给每一个数据点,权重表示该数据点和数据集中心之间的距离,通过各点的权重来判断异常点。此类算法没有先验知识指导如何确定聚类中心,只能是随机选取,优化搜索空间较大,算法的复杂度较大。Hongyi Zhang 等引为了提高模糊核聚类算法的运行效率,提出了新的模糊核聚类算法,该算法用先验知识对参数初始化。取代了用聚类中心初始化,改进了聚类的目标函数,降低了算法的时间复杂度,但该算法没有提到如何选取核函数,对于算法模糊性的控制不好撑握。本科毕业设计(论文)2基于属性特征在异常点检测中的研究传统算法大都是通过数据在空间地特性来判断检测异常点。本文的方向是从特征出发研究。传统算法从整个数据集合在空间中分布地特性出发研究,比如距离的从整个数据集空间距离进行研究,同样密度的按数据集空间密度研究,聚类也是按数据集空间特性。而本文直接从已知部分数据维度的特征着手,即是直接从每一组数据的特征来研究。对于单属性特征的情况,根据数据重要性调整特征(即维度)权值,并根据数据重要性调整。假设数据特征表示在每个属性上面,独立没有组合属性表现特征地情况下,每一组数据属性对应权值数据乘积和,表示这个数据在这组数据中全局中所占的重要性。例如检测是否是糖尿病人的数据库,三十岁以下这个年龄维度上病人较少,然而五十岁后这个维度病人比例就多了。映射到维度为三十岁以下这个维度地病人比较少,映射到维度为十岁以上较多。这样我们可以添加一个权值与年龄这一项数据乘积,这个乘积必须使权值与当前数据乘积出来的数据成正比,表示年龄增长能够体现在这组数据中的重要性。以便全局统筹决策较容易。设 X 为一组数据集合,可使 趋向某个数值,表WiX*示这组数据某个总体特征。异常或者非异常,可以通过趋向某个数值表示特征异常,另一个方向数值表示非异常。有时候数据组合的重要性是体现在几个数据地组合里面,既可能体现在几个属性上面,比如说一组数组(A,B,C),可能 AB 组合特征不显示异常,然而ABC 组合就显示异常,这些组合是不定地。所有在属性权值之上需要一组对属性不同组合特征的权值调整。图 2.1 样例图示本科毕业设计(论文)如图 2.1,某个异常点可能异常特征是属性 1,可能是属性 1、属性 2 地组合,对于同个数据库不同点具有组合不确定性。由于特征地不可确定性,数值不确定,组合不确定。我们可以采用神经网络自学习调整权值。同时根据已知数据训练修改这些权值,使其具有识别某种组合特征的能力。使其自学习特征,自动控制调整权值及权值组合。人工神经网络作为一种新型信息处理系统,在信息处理方面,具有如下显著的特点:()输入-输出映射能力。人工神经网络具有自学习能力,通过学习,能够根据网络期望输出和网络实际输出之差来调整神经元间连接权值和阈值,直至使实际输出与期望输出之间的误差减小到满意的程度,这样就实现了输入到输出的映射。人工神经网络的输入-输出映射能力对于预测有特别重要的意义。(2)非线性特性。人工神经网络具有很强的非线性,这种非线性分散在每个神经元,通过传递函数实现。利用神经网络的非线性特性,可解决药学研究及实验数据处理过程中大量的非线性问题。(3)高度并行性。人工神经网络是由许多相同的简单处理单元并联组合而成,具有高度并行性特性,使其对特定任务的计算变得很快,对信息的处理能力与效果惊人,因此提供了一种解决高层复杂问题的能力和方法。(4)良好的容错性与联想记忆功能。人工神经网络通过自身的网络结构能够实现对信息的记忆,而所记忆的信息是存储在神经元之间的权值中。从单个权值中看不出所存储的信息内容,因而是分布式的存储方式,这使得网络具有良好的容错性,既能进行模式信息处理工作,又能进行模式识别工作。因为这些特点,神经网络广泛应用在聚类分析、模式识别、信号处理、系统辨识、优化计算、预测控制等领域。根据神经网络记忆分类地特性,本文设想通过这些特性学习出能够辨别异常点非异常点数据的神经网络,主要研究其可行性。本科毕业设计(论文)3 BP神经网络介绍3.1模型简介人工神经网络理论是 80 年代中后期迅速发展起来的一项前沿研究领域,其应用已渗透到各个领域。BP 神经网络模型是人工神经网络的重要模型之一,应用尤为广泛。BP 算法主要包括两个过程,一是由学习样本、网络权值 从输入层隐含层输出层逐次算出各层节点的输出;二是反过来由计算输出与实际输出偏差构出的误差函数 E( ) ,用梯度下降法调节网络权值,即)(1kkkE(3.1)使误差 减小。)(1kE设输入层节点数为 n,隐含层节点数为 r,输出层节点数为 m,隐含层与输入层之间的权值矩阵为 ,隐含层节点阀值为 ,输出层与隐含层之间)(jiwWj权值矩阵为 ,输出层节点阀值为 ,并设有 N 个学习样本)(kjvVk其中 为第 P 个学习样本的输3,21),(NPYXpTpnpPxx),(21入向量, 为其实际输出向量。其中Tmpyy),(21,下文中如不指明则相同。,n, ji3.2计算各层节点输出输入层节点,取其输出 与输入 相同,即piopixpipixo隐含层节点输入 ,输出 分别为:jnetjjipijrjowt1本科毕业设计(论文)(3.2)若令 则有:1,00pjjow,nipijrjet1。()pjpjpjnetoft输出层节点输入 ,输出 分别为:kpko1krjpjkpkvnet(3.3)若令 , 则有:0kkv0popknetpkpkrjjkpk netfovnet 1)(,0(3.4)3.3 修正权值设 Npmkpkp EoyE1122,)(其中 为第 p 个学习样本产生的输出误差, 为总误差。由误差函数调整权值有:pjkjpkjpovE其中 )1()( pkpkpkpkypijjijipow其中 mkkjppjpjpj vo1)()1(本科毕业设计(论文)Npkjkj vv1Npjijiw1(3.5)其中 为学习速率,一般在0,1内取值。权值修正为:kjjkjvv(3.6)jijijiw(3.7)本科毕业设计(论文)本科毕业设计(论文)4 异常检测中 BP神经网络的设计4.1可微阈值单元图 4.1 可微阈值单元如图 4.1 可微阈值单元,图中为 sigmoid 单元,与感知器相似,sigmoid单元先计算它的线性组合,然后应用一个阈值到此结果。然而,对 sigmoid 单元,阈值输出是输入的连续函数。更精确地讲,sigmoid 单元这样计算输出。)(xw(4.1)其中:yey1)((4.2)经常被称为 sigmoid 函数或者也可以称为 logistic 函数。注意它的输出范围为 0 到 1,随输入单调递增。因为这个函数把非常大的书值域映射到一个小范围的输出。也叫挤压函数。本算法就是想把所有整数据特征映射到一个小范围来处理判断。X1X2XnW1W2WnX0 = 1W0 = -fniWXiet0 netnet1)(本科毕业设计(论文)4.2单个 BP网络结构设计采用 4.1 为神经感知器,隐层感知器根据实际数据库的属性确定,一般少于等于属性个数,输出层一个输出感知器。图 4.2 BP 结构输入层为一组数据,全连接到隐层,隐层计算输出受挤压函数处理后的数值,输出层的输入为隐层输出。最后输出 0 到 1 的数值。隐层输出层的神经元,每个的 都初始化为-0.05,其他权值都初始化:W(double) (rand()/32767.0)*2-1);随机数种子为系统时间。训练教师信号,按具体方案处理设定。4.3BP神经网络学习过程的基本步骤(1)定义误差函数 为期望输出与实际输出之差的平方和:rjjmyV2)(21(4.3)输入 隐层 输出层本科毕业设计(论文)其中 yj 是输出单元的期望输出, 是实际的输出。mjV(2)调节权值的公式为:1kjijdW(4.4) 其中 为学习步长,取正参数, 代表上一层神经元的输出,而 有两1kjVkjd种情况:1) 如果 j 是输出层(第 m 层)的神经元,则)(1jjjjmj yVd(4.5) 2) 如果 j 不在输出层,而是隐含层的神经元,则lkljkjkjj dWd1)1((4.6) 是该神经元的输出,而求本层的 必须用到上一层的 ,可见误差函kjVkj 1kld数的求取是一个始于输出层的反向传播的递归过程。(3)将学习模式不断输入到输入层,再根据输出层产生的误差不断修正神经元间连结的权值和神经元的阈值,直到学习模式全部输入或误差达到一定的值。反向传播算法在网络规模较大时计算量很大,收敛较慢,而且存在局部最小的问题,根据这一问题,在具体操作时采用了加入动量项的方法:)()1(1tWVdtWijkjij (4.7) 称为动量因子,这样后一次的权值更新适当考虑上一次的权值更新,可以改善收敛特性。本科毕业设计(论文)本科毕业设计(论文)5实验研究5.1研究使用的数据库介绍在尝试各种算法方案地研究中,使用的数据库名称:The Insurance Company Benchmark (COIL 2000).关于保险的数据,其中包括:TICDATA2000.txt ,训练数据,5822 组数据,每组 86 个属性,第 86 个为是否异常的标志变量,总地为两类数据;TICEVAL2000 ,测试数据,4000 组,每组为 85 个特征属性;TICTGTS2000.txt,与 ticeval2000 对应组地结果。5.2训练方案一实验:把 bp神经网络相似性代替距离算法相似度量起初思路是采用两两相似性地训练,然后得出一个整体数据库属性特征的神经网络。采用 表示 X 与 Y 两者相似性差异。在神经网络则WiYXiabs)(表示为两者整体特征差异大小。假设这样能够成功,则以后只要判断测试数据与整体已知数据库地整体差异大小,就可以判断异常与否。神网络结构大概如下:注:每个方向箭头抽象全连接图 5.1 方案一图隐层采用 85 个可微阈值单元,输出采用一个,网络全连接。每个单元为 86XY两两做差绝对值.输入层 隐层 输出层本科毕业设计(论文)个权重,初始化权值按 4.2 给出的方法。具体方式,对已知数据集做两两训练,比如数据 X 和 Y,做差 fabsf(Xi - Yi),然后输入一个 BP 神经网络,已知数据库中第 86 个属性,(X 86,Y86)对应为(0,0)则教师信号为 1,(1,1)则教师信号为 1,(0,1)则为 0,部分顺序。实验训练数据库 100 与 4000 组数据做两两训练还有 4000 组与 4000 组数据训练。经观察验证,测试数据与已知数据地相似性与否没法与测试计算结果数据存在必然地比例关系。输出结果的所有数据,在 0 到 1 区间之间,不管相似不相似都集中分布在靠近 0,没有区分度,不能明显表示相似与否地概念。然后又对测试数据与训练数据库,进行相似性求和,对比测试数据中异常点与非异常点与训练数据库地相似性和,依然没有区分度。经多次尝试,降低训练次数精度,本实验方案依然失败。经过大量实验,失败原因:第一,bp 处理输出区分度不够,难以有判断方案。第二,训练方案地问题,数据集合里面,缺乏异常点地训练,bp 权值能增长方向把小规模局部数据地特征给掩盖掉了,难以输出好地数据来区分。第三,数据特征不显著。第四,训练顺序导致。解决方法:第一种改变训练方案,改变判断方案;第二种改变神经网络结构,以便输出数据区分度更高,便于区别异常非异常。5.3训练方案二实验:用单个神经网络对训练数据库整体特性进行学习实验设计思路:为避免上述问题,改变训练顺序和训练方法,单组数据输入单个 bp 神经网络。为尽量得出可区分地数据,强化局部异常点特性。实验方案:对神经网络 BP1,先使用非异常点经行训练,教师信号为 0。然后再对异常点进行训练,教师信号为 1。(1) 对所有非异常点数据,按组分别对 BP1 进行训练,教师信号都为1, (ticdata2000.txt 数据库里面大部分为正常数据)保存 BP1 权值;(2)加载 BP1 数据到 BP2, 针对数据库每个异常点,教师信号统一修改为0.1 至 0.7 之间地任何一个数值,正向(数据库地方向顺序)训练一次,再逆本科毕业设计(论文)向训练一次。训练完后,保存训练权值。实验观察:测试数据库独个输进 BP1 计算。整个数据库的所有计算结果,不管异常点非异常点的计算结果,都在 0 到 1 这个区间内呈现正态分布。数据主要叠加在两个教师信号数值之间,难以区分。实验结果失败。数据难以区分。根据实际数据,越逼近 1 地越小于第二次训练地教师信号地,都为异常点。比如本次第一次训练教师信号 1,第二次异常点信号 0.7,结果异常点主要集中在小于 0.7 和大于 0.8 之间,其中小于 0.5 和大于 0.9 异常点占地比率最大。正态分布地两边。第二次训练把非异常数据都集中在两次教师信号中间。数据都呈现正态分布,不好处理,特别是两个教师信号数值中间区间异常点与非异常点占自己比例都是很大,难以区分。解决方案,找一种训练方法让异常非异常点往不同方向逼近,并使其不互相影响。5.4训练方案三实验:多神经网络各种形式训练及其决策5.4.1实验设计思路用一个神经网络表示异常点地特征,教师信号 1;用另一个异常点表示非异常点地特征,教师信号 0.为了有一个好地区分度。同时测试数据可以通过进行不同神经网络计算两次,以便得结果进行具体判断结果。算法结构图如图 5.2.本科毕业设计(论文).X1X2Xn. 异常与否图 5.2 训练方案图5.4.2实验方案及步骤训练方案,把训练集合,分成两个集合,一个为正常数据集合,一个异常。每个训练次数少于 40 次(根据实际增长速度,减少控制次数) ,以便使数据有一定地区分度。训练强度不要太大,以便避免无法发现局部异常特征地数据。训练准备:训练采用 ticdata2000.txt 地前 4000 组数据,前 85 个属性为训练输入,第 86 个为训练用教师信号。观察测试采用所有 ticeval2000.txt 作为输入,tictgts2000.txt 为测试数据实际结果,已知正常数据 3762,异常 238.,通过这个可以辅助分析。流程:(1)第一组数据单个输入 BP1 训练,保存相应 BP1 权值,教师信号0.0,ticdata2000 正常数据训练;(2)第二组数据单个输入 BP2 训练,保存 BP2 权值,教师信号BP1 隐层BP2 隐层本科毕业设计(论文)1.0,ticdata2000 异常数据训练;测试方法:通过测试地两个数据库,输到训练后地两个神经网络,同时借助已知数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论