优秀毕业设计毕业论文软件工程BP神经网络的异常点检测应用可行性研究_第1页
优秀毕业设计毕业论文软件工程BP神经网络的异常点检测应用可行性研究_第2页
优秀毕业设计毕业论文软件工程BP神经网络的异常点检测应用可行性研究_第3页
优秀毕业设计毕业论文软件工程BP神经网络的异常点检测应用可行性研究_第4页
优秀毕业设计毕业论文软件工程BP神经网络的异常点检测应用可行性研究_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机学院毕业论文本科毕业设计(论文)bp神经网络的异常点检测应用可行性研究学院计算机学院专业软件工程年级班别2006级(4)班学号3106007039学生姓名指导教师2010年5月异常点数据是指数据集屮与众不同数据。这部分数据的量小,但是对于我们的口常 生产生活的影响极大。因此,异常点检测被广泛应用于网络入侵检测,金融保险,天气 预报以及新药研制等领域。相对于大量的正常数据挖掘而言,异常点检测被称作小模式 数据挖掘。bp算法是一种常用的数据挖掘算法。但是bp算法进行实际数据的界常点数 据挖掘过程中存在:实际数据的维数较高,存在冗余特征的干扰,以及在高维特征下, 数据量不充分的问题。因此,本文

2、分析bp神经网络处理各种数据的情况,并得到以下 结果。(1) bp神经网络能够较好的分离特征单一的仿真数据;但是(2)特征相似性较 大的数据集,难以分离判断;(3)正常数据不充分或者不具有代表性,因此正常数据类 学习不充分,从而导致界常无法判断。针对以上问题,本文提岀了以下的改进措施:(1) bp算法前进行特征约简(映射)从中选取有益于异常检测的特征(2)多神经网络融合, 不同神经网络识别不同的特征,相互取长补短,融合后得到最终的结果。关键字:异常,bp,异常点检测,神经网络注:本设计(论文)题目来源于教师的国家级(或部级、省级、厅级、市级、校级、企业)科研项 目,项目编号为:。abstrac

3、toutlier 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

4、 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

5、of the interference, and highdimensional 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 cha

6、racteristics 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)

7、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 n

8、etworks1弓丨言61.1背景61.2传统已有异常点算法介绍61.2.1基于统计学的异常点检测算法6122基于距离的异常点检测算法71.2.3基于密度的算法8124基于偏差的异常点检测10125基于聚类的异常点检测算法112基于属性特征在异常点检测中的研究123bp神经网络介绍143模型简介143.2计算各层节点输出143.3修正权值154异常检测中bp神经网络的设计184.1可微阈值单元184.2单个bp网络结构设计184.3bp神经网络学习过程的基本步骤195实验研究225.1研究使用的数据库介绍225.2训练方案一实验:把bp神经网络和似性代替距离算法相似度量225.3训练方案二实验

9、:用单个神经网络对训练数据库整体特性进行学习235.4训练方案三实验:多神经网络各种形式训练及其决策245.4.1实验设计思路245.4.2实验方案及步骤255.4.3实验分析275.4.4实验失败原因分析285.5bp调参实验305.5.1对实验一调整隐层实验305.5.2对实验二调整隐层实验315.5.3对实验三调整隐层实验345.6数据仿真实验365.6.1实验思路365.6.2实验步骤365.6.3实验结果375.6.4结果分析385.7实验整体分析38总纟吉与展望40致谢441引言11背景异常点(离群点或者孤立点)检测是数据挖掘屮一个重要方面,hawkins最早给出 了异常点的本质定

10、义:异常点是数据集中与众不同地数据,以至于使人怀疑这些数据并 非随机偏差,而是产生与完全不同的机制。异常点可能由于度量或执行错误产生,也可 能是由于固有数据可变性的结果。例如,一个公司首席执行官的工资自然远远高于公司 其他雇员的工资,成为一个异常点。许多数据挖掘算法试图减少异常点的对挖掘结果的 影响,或者在挖掘过程屮排除异常点。然而异常点可能隐藏着重要的信息,也许比一般 的数据更有价值。因此人们开始逐渐研究异常点挖掘算法。目前异常点检测已经开始用 于信用卡欺诈、网络入侵检测以及金融申请和交易欺诈等领域,近年来异常点检测已 成为数据挖掘研究中的一个热点问题。传统数据挖掘主要有以下几类:基于统计的

11、方法,基于距离的方法,基于偏移方法, 基于聚类方法,基于密度方法。本文从特征与异常检测的关系出发进行研究。bp神经 网络适用于储存和描述这种复杂的关系。但是异常检测过程,通常数据的位数较高,在 高维特征存在冗余特征干扰,以及高维特征下数据不充分的问题,因此,木文研究了 bp神经网络应用于不同情况。2传统已有异常点算法介绍1.2.1基于统计学的异常点检测算法早期的异常点检测算法大多数是基于统计学实现的,通常可以分为基于分布的检测 算法和基于深度的检测算法两类。前者一般通过先构造一个标准概率分布来拟合数据 集,然后根据概率分布来确定异常点,例如rosner提岀的单样本多个异常检测算法esd 算法,

12、和yamnishi等使用混合高斯模型的异常点检测算法。此类算法估计多维分布的概 率模型的难度较大,且准确性低。基于深度方法主要以计算几何为基础,通过计算不同 层的k-d凸包将外层的对象判定为界常点。但当数据集较大,此类方法在维数上的伸缩 性不好。基于统计的异常点检测方法易于理解,实现方便,但此方法检测出来的异常点很可 能被不同的分布模型检测出来,解释异常点意义时经常发牛多义性。其次,此方法在很 大程度上依赖于待挖掘的数据集是否满足某种概率分布模型、模型的参数、界常点的数 目等对基于统计的方法都有非常重要的意义,而确定这些参数通常比较困难;另外,此 方法大多适合于挖掘单变量的数值型数据,然而许多

13、数据挖掘问题要求在多维空间屮发 现异常点,目前几乎没有多元的不-致检验,当没有特定的检验时,或观察到的分布不 能恰当地用任何标准的分布建模时,此类方法不能确保所有的异常点被发现。1.2.2基于距离的异常点检测算法基于距离的异常点检测算法的基本思想是把数据点看作空间中的点,异常点被定义 为与大多数数据距离较远的点。通常这类异常被描述为qbsedmin)。当且仅当数据 集s中至少有"以个数据点与p点的距离大于dmin时,数据对象p点称为异常点。这类 方法与基于密度的检测算法有很大的相似之处,不需要事先知道数据集的分布模型,对 于任意分布模型均有效。基于距离方法最早是由knorr和ng在1

14、998年提出的。他们用db(p,d)来表示数据 集中的异常点,采用不同的参数”与,db(pm可以表示所有的异常点。与此定义 相应的算法有三种,它们是基于索引(index-based)的算法,嵌套循环(nest-loop, nl)算 法,基于单元或划分(cell-based)的算法等。基于索引的方法依赖多维索引结构(rtrees,x -trees,kd -tress等)的性能。随着维数的增加,所有的索引结构的性能迅速下降,使得算 法性能不佳。nl算法可以避免构建索引结构,减少了算法的次数。以上两方法的 算法时间复杂度为。(如'),当遇到大量数据集时它们还有待改进。基于单元的方法是把 数据

15、集划分为单元,逐个单元的检测,而非逐个对象的检测。它的时间复杂度为 。(伙+ n),其中伙取决于单元的个数和维数£。knorr和ng通过试验证明,当鸟=4 时此算法优于nl算法。相对前两者,基于单元的算法无论是在数据量还是在维数增加时,性能都是最好的。 此算法需要将数据空间分隔成彼此独立的单元结构,经过多次选择来判断离群数据。对 于参数的每个变化都需要调整单元结构,因此会影响了算法的结果。后来,rastogi和 ramaswamy提出了一个新的基于距离的异常点定义,即基于距离的第*最近邻(kthnearest neighbor)异常点挖掘方法。给定$维空间屮包含n个点的数据集

16、3;)、鐵和£(自然数),"表示点"和它的第鸟最近邻的距离。如果满足ds>ds 的点q不超 过n-l个,即険di">”(")|s-1,那么称p为仍异常点。如果对数据对象根 据它们的"(卩)距离进行排序,那么前n个点就被看作异常点。他们用聚类算法首先对 数据集进行聚类,然后在类中发现异常点。相对于db(p,d)异常点挖掘,异常点挖掘方 法人为干预的因素要小一些。但它也有自身缺陷,就是要计算数据集中所有点的ds, 这显然影响到算法的效率。对低维空间的数据此方法优于索引算法和nl算法,但对于 高维数据此算法性能不高。bay和sc

17、 hwabacher在沿用rastogi和ramaswamy对于异常定义的基础上,提出了 一种基于随机抽样的检测方法,它通过随机抽样的方法,减少了寻找k近邻的范围,在 试验数据上获得了几乎线性的计算复杂度。随着人们对基于距离的方法的不断研究,一些新的、较好的算法也不断的涌现。代 表性的算法有:陆声链等提出一个判断异常点的新定义,并设计基于抽样近似检测算法。 使得算法性能有所提高;另外,徐雪松等利用聚类算法与第k个最近邻的原理提出了基于 距离的再聚类的异常点算法,它克服一些基于距离算法的缺点,并取得较好的试验结果。与基于统计的方法相比,它有以下几个优点:则可找出数据集中的异常点。(1)在理论上可

18、以处理任意维任意类型的数据,这就克服了基于统计方法仅能检测 单个屈性的缺点。(2)不必对数据集的相关信息(数据服从哪种统计分布模型,数据类型特点等)足够 了解。实际上在给出了距离的度量,并对数据进行预处理后。1.2.3基于密度的算法基于密度方法是在基于距离的方法上改进而来。基于密度的界常观点比基于距离的 异常观点更贴近hawkins的异常定义,因此能够检测出基于距离异常算法所不能识别的 局部异常。局部异常观点摒弃了以前所有的异常定义中非此即彼的绝对异常观念,更加 符合现实牛活的中的应用。所谓密度是基于任意一点和p点距离小于给定半径r的邻域空间内的数据点的个数 计算得到的。一般的对密度的定义是点

19、到其量近邻的平均距离,平均距离小则密度小。 基于密度的异常点检测,就是探测局部密度,通过不同的密度估计策略来检测异常点。 代表性算法主要有以下几种。(1) brito等提出相互k近邻图(mutual k一nearest neighbor,简称mknn)算法,其主 要思想是对每个连通子图进行检测,如果包含多个结点就组成一个簇,如果仅有一个结 点,那么该结点就是异常点。该算法针对数据点的分布对各种特殊形状都有效,但算法 执行效率不高。(2) ville hautamaki等提出两种基于密度的异常'点检测算法,第一种算法思路为在 knn图中,若顶点u成为其它点的k近邻的次数少于给定阈值t时就

20、被认为是异常点, 另一种算法则是先对所有顶点的平均k近邻距离进行排序,然后将平均k近邻距离大于 t点顶点视为异常点。(3) papadimitriou 定义了 多粒度偏离系数(multi一granularity deviation factor,简称 mdef),该算法将多粒度偏离系数是所在邻域的标准多粒度偏离系数的3倍的点判定为 异常点,然而标准多粒度偏离系数的计算量大,对算法的可行性有一定的限制。dongmei ren 等采用相对密度系数(relative density factor,rdf),即 p 点 的密度相对该点的邻域密度的比值作为孤立程度的度量方法,其基本思路是首先基于 rdf

21、对位于簇中心的数据点进行剪枝,然后仅仅在剩下的较小的数据集屮进行异常点检 测。该方法降低了数据集的大小,提高了算法效率,但是在剪枝过程中对于特殊分布的 数据集就有可能将异常点剪掉,算法的准确性受到限制。(5)breuning提岀了局部界常的概念及相应界常检测方法(dbom算法),即数据集 中的每个对象的异常程度用局部异常因子lof来衡量。也就是说是否是异常点不仅仅 取决于它与周围数据的距离大小,而且与邻域内的密度情况有关。一个对象领域内的密 度可以用包含固定结点个数的域半径指定半径领域中包含的结点数来描述。这样就不会 像db(p, d)异常点那样遗漏一部分异常点。lof算法充分体现了 “局部”

22、的概念,每 个点都给出了一个离群程度,离群程度最强的那个儿个点被标记为界常点。文献有关发 面对lof进行推广:一是由原来的一个邻域的变化为两个(计算密度领域和比较密度 领域);二是剪除非异常对象来减小计算代价;因此,使用算法比传统的lof算法有所 提高。在现有的计算局部异常因子(lof)算法中,把具有很高lof值的对象作为异常点。 计算lof要耗费很大的计算量,针对此问题malik agyemang提出了修改算法,即局部 稀疏系数(lsc)算法。这种方法主要是引入局部稀疏系数(lsc)这一概念,根据每个对象 的lsc值按从大到小的顺序排列整个数据集并把前n个对象作为异常点。但是,此方法在实际应

23、用中计算量亦是不小,效率有待提高。另外,岳峰等利用反向k近邻(rknn)这个概念提出了一个界常点检测算法 (odrknn),在综合数据集和正式数据集上的实验结构表明,该算法能有效地检测出异 常点,且算法效率高于典型的基于密度的异常点检测算法lof和lsc的效率。1 2. 4基于偏差的异常点检测基于偏差的异常点检测不使用统计检验或者基于距离的度量来识别异常对彖。相反, 它通过检查一组对象的主要特征来识别异常点。背离这种描述的对象认为是异常点。因 此,在该方法中,属于偏差通常用于指异常点。主要有两种技术:第一种顺序地比较集 合中的对象,叫顺序异常技术(sequential exception te

24、chnique);第二种釆用olap数据立 方体方法识别大型多维数据中的界常区域。(1) 序列异常技术:aming 0 argrawal提岀一种序列异常(sequential exception)k概 念。这个算法复杂度与数据集大小呈线性关系,有优异的计算性能。但是并没有得到普 遍的认同,这是因为序列异常在概念上有一定的缺陷,它对异常点存在的假设太过理想 化,对现实复杂数据效果不太好。(2) olap数据立方体技术:在大规模的多维数据中采用数据立方体来确定反常区域. 如果一个立方体的单元值显著地不同于根据统计模型得到的值,该单元被认为是一个异 常。此方法是发现驱动探索的一种形式。此方法由于搜索

25、空间很大,人工探测非常困难。第一种概念有缺陷,遗漏了不少异常点,时间复杂度与数据集大小成线性关系,适 用性不高。第二种搜索空间大,人工探测困难,效率不高,只适用多维数据。1.2.5基于聚类的异常点检测算法在聚类算法中,异常点检测仅仅是聚类的副产品。聚类算法发展方向是优化聚类过 程,而不是提高对界常点检测的能力,界常点检测和聚类是两个相对立的过程,聚类是 把属于统一类的数据点聚集在一起,归为一类,而异常点检测是把和大多数数据点相异 的点挖掘出来。su等人首先提出基于聚类的异常点检测算法,聚集的较小簇被认为是异常点,但这 中方法忽略了小聚集簇和大聚集簇之间的距离,当一个小聚集簇和一个大聚集簇非常接

26、 近的时候,小聚集簇中的这些点更可能是大聚集簇的边界点而不是界常点。模糊k均值聚类算法(fcm)常用于异常点检测,该算法动态地分配权重给每一个数 据点,权重表示该数据点和数据集中心z间的距离,通过各点的权重來判断异常点。此 类算法没有先验知识指导如何确定聚类中心,只能是随机选取,优化搜索空间较大,算 法的复杂度较大。hongyi zhang等引为了提高模糊核聚类算法的运行效率,提出了新的模糊核聚类算 法,该算法用先验知识对参数初始化。取代了用聚类中心初始化,改进了聚类的目标函 数,降低了算法的时间复杂度,但该算法没有提到如何选取核函数,对于算法模糊性的 控制不好撑握。2基于属性特征在异常点检测

27、中的研究传统算法大都是通过数据在空间地特性来判断检测异常点。本文的方向是从特征出 发研究。传统算法从整个数据集合在空间中分布地特性出发研究,比如距离的从整个数 据集空间距离进行研究,同样密度的按数据集空间密度研究,聚类也是按数据集空间特 性。而本文直接从已知部分数据维度的特征着手,即是直接从每一组数据的特征来研究。对于单属性特征的情况,根据数据重要性调整特征(即维度)权值,并根据数据重 要性调整。假设数据特征表示在每个属性上面,独立没有组合属性表现特征地情况下, 每一组数据屈性对应权值数据乘积和,表示这个数据在这组数据中全局中所占的重要 性。例如检测是否是糖尿病人的数据库,三十岁以下这个年龄维

28、度上病人较少,然而五 十岁后这个维度病人比例就多了。映射到维度为三十岁以下这个维度地病人比较少,映 射到维度为十岁以上较多。这样我们可以添加一个权值与年龄这一项数据乘积,这个乘 积必须使权值与当前数据乘积出来的数据成正比,表示年龄增长能够体现在这组数据中 的重要性。以便全局统筹决策较容易。设x为一组数据集合,可使工x泸m趋向某个 数值,表示这组数据某个总体特征。异常或者非异常,可以通过趋向某个数值表示特征 异常,另一个方向数值表示非异常。有时候数据组合的重要性是体现在几个数据地组合里面,既可能体现在几个屈性上 面,比如说一组数组(a, b, c),可能ab组合特征不显示异常,然而abc组合就显

29、示 异常,这些组合是不定地。所有在属性权值之上需要一组对属性不同组合特征的权值调 整。詔1属性2属性3属性4异常点1111异常点2111异常点311图2.1样例图示如图2.1,某个异常点可能异常特征是属性1,可能是属性1、属性2地组合,对于 同个数据库不同点具有组合不确定性。由于特征地不可确定性,数值不确定,组合不确定。我们可以采用神经网络自学习 调整权值。同时根据己知数据训练修改这些权值,使其具有识别某种组合特征的能力。 使其自学习特征,自动控制调整权值及权值组合。人工神经网络作为一种新型信息处理系统,在信息处理方面,具有如下显著的特点:(1) 输入输出映射能力。人工神经网络具有自学习能力,

30、通过学习,能够根据网 络期望输岀和网络实际输岀之差来调整神经元间连接权值和阈值,直至使实际输出与期 望输出之间的误差减小到满意的程度,这样就实现了输入到输出的映射。人工神经网络 的输入输出映射能力对于预测有特别重要的意义。(2) 非线性特性。人工神经网络具有很强的非线性,这种非线性分散在每个神经元, 通过传递函数实现。利用神经网络的非线性特性,可解决药学研究及实验数据处理过程 中大量的非线性问题。(3) 高度并行性。人工神经网络是由许多相同的简单处理单元并联组合而成,具有 高度并行性特性,使其对特定任务的计算变得很快,对信息的处理能力与效果惊人,因 此提供了一种解决高层复杂问题的能力和方法。(

31、4) 良好的容错性与联想记忆功能。人工神经网络通过自身的网络结构能够实现对 信息的记忆,而所记忆的信息是存储在神经元之间的权值中。从单个权值中看不出所存 储的信息内容,因而是分布式的存储方式,这使得网络具有良好的容错性,既能进行模 式信息处理工作,又能进行模式识别工作。因为这些特点,神经网络广泛应用在聚类分析、模式识别、信号处理、系统辨识、 优化计算、预测控制等领域。根据神经网络记忆分类地特性,本文设想通过这些特性学习出能够辨别异常点非异 常点数据的神经网络,主要研究其可行性。3 bp神经网络介绍3.1模型简介人工神经网络理论是80年代中后期迅速发展起来的一项前沿研究领域,其应用已渗 透到各个

32、领域。bp神经网络模型是人工神经网络的重要模型z-,应用尤为广泛。bp算法主要包括两个过程,一是由学习样本、网络权值血从输入层一隐含层一输出 层逐次算击各层节点的输出;二是反过来由计算输出与实际输出偏差构出的误差函数e (血),用梯度下降法调节网络权值,即(6e、% =5 + (一 )8 叭(3.1)使误差e(®+j减小。设输入层节点数为n,隐含层节点数为r,输出层节点数为m,隐含层与输入层之间 的权值矩阵为w隐含层节点阀值为0,输出层与隐含层之间权值矩阵为9"(%),输出层节点阀值为2 ,并设有n个学习样本&心)("1,2,3n)其中t“p =(兀&qu

33、ot;1,“”2为第p个学习样本的输入向量,y"=(儿】,儿2儿如)为其实际输出向量。其中ii,2nj = l,2,m,下文中如不指明则相同。3. 2计算各层节点输出nxo x输入层节点,取其输出庆与输入 m相同,即pi pi隐含层节点输入必。,输岀勺”分别为:netrj=ywji°pi-d.i(32)/=!若令wjo=-0,0poi则有:叫=x叽,/=!%(叫戶詁石。输出层节点输入叫,输出。酬分别为:rnetpk = z ujopj - 3k(3.3)若令叫0=-2 , v=1则有:叫严轨。如"叫(3.4)3. 3修正权值设其中"kj =spk =(.

34、ypk - o卩小 opk (i。冰)a从den-p - snu udw,-刃”其中爲=°刃(1為)£%)k=lmnepn工(m-op$,e二工 epk=p=l其中乞为第p个学习样本产生的输出误差,e为总误差。由误差函数调整权值有:n尸1w”其中为学习速率,一般在0, 1内取值。 权值修正为:% =叫/ + 叫/(3.5)(3.6)(3.7)厂+呵4异常检测中bp神经网络的设计4.1可微阈值单元x0=lnet = wixi/=0o =(y(net)=-net图4. 1可微阈值单元如图4. 1可微阈值单元,图中为sigmoid单元,与感知器相似,sigmoid单元先计 算它的

35、线性组合,然后应用一个阈值到此结果。然而,对sigmoid单元,阈值输出是输 入的连续函数。更精确地讲,sigmoid单元这样计算输出。o = a(w x)z 、'7(4. 1)其中:b(y)='丿 /y1 + 纟'(4.2)”经常被称为sigmoid函数或者也可以称为logistic函数。注意它的输出范围为0 到1,随输入单调递增。因为这个函数把非常大的书值域映射到一个小范围的输出。也 叫挤压函数。本算法就是想把所有整数据特征映射到一个小范围来处理判断。4. 2单个bp网络结构设计采用4.1为神经感知器,隐层感知器根据实际数据库的属性确定,一般少于等于属性个数,输出层

36、一个输出感知器。输入隐层输出层图4. 2 bp结构输入层为一组数据,全连接到隐层,隐层计算输出受挤压函数处理后的数值,输出 层的输入为隐层输出。最后输出0到1的数值。隐层输出层的神经元,每个的都初始化为-0. 05,其他权值都初始化:(double) (rand 0/32767. 0) *2-1);随机数种子为系统时间。训练教师信号,按具体方案处理设定。4. 3bp神经网络学习过程的基本步骤(1) 定义误差函数广为期望输出与实际输出之差的平方和: 心扭吋-儿)2(4.3)z j其中yj是输出单元的期望输出,匕是实际的输出。(2)调节权值的公式为:(4.4)其中£为学习步长,取正参数,

37、代表上一层神经元的输出,而必有两种情况:1)如果j是输出层(第m层)的神经元,则(4.5);"二咛(1 巧)(咛一儿)2)如果j不在输出层,而是隐含层的神经元,则 d- =v;(1-v;)j;wx+1(4.6)*是该神经元的输出,而求本层的必必须用到上一层的旷:可见误差函数的求取 是一个始于输出层的反向传播的递归过程。(3)将学习模式不断输入到输入层,再根据输岀层产生的误差不断修止神经元间连 结的权值和神经元的阈值,直到学习模式全部输入或误差达到一定的值。反向传播算法在网络规模较大时计算量很大,收敛较慢,而且存在局部最小的问题, 根据这一问题,在具体操作吋采用了加入动量项的方法:q称

38、为动量因子,这样后一次的权值更新适当考虑上一次的权值更新,可以改善收敛特性。5实验研究5.1研究使用的数据库介绍在尝试各种算法方案地研究中,使用的数据库名称:the insurance company benchmark (coil 2000).关于保险的数据,其屮包括:ticdata2000.txt,训练数据,5822 组数据,每组86个属性,第86个为是否异常的标志变量,总地为两类数据; ticeval2000,测试数据,4000组,每组为85个特征属性;tictgts2000.txt,与 ticeva!2000对应组地结果。5. 2训练方案一实验:把bp神经网络相似性代替距离算法相似度量

39、起初思路是采用两两相似性地训练,然后得出一个整体数据库属性特征的神经网络。 釆用表示与丫两者相似性差异。在神经网络则表示为两者整体特 征差异大小。假设这样能够成功,则以后只要判断测试数据与整体已知数据库地整体差 异大小,就可以判断异常与否。神网络结构大概如下:输入层隐层输出层注:每个方向箭头抽象全连接图5. 1方案一图隐层采用85个可微阈值单元,输岀采用一个,网络全连接。每个单元为86个权重, 初始化权值按4. 2给出的方法。具体方式,对已知数据集做两两训练,比如数据x和y,做差fabsf(xi -yi),然后 输入一个bp神经网络,已知数据库中第86个属性,(x 86, y86)对应为(0,

40、 0)则教师 信号为1, (1, 1)则教师信号为1, (0, 1)则为0,部分顺序。实验训练数据库100与4000组数据做两两训练还有4000组与4000组数据训练。经观察验证,测试数据与已知数据地相似性与否没法与测试计算结果数据存在必然 地比例关系。输出结果的所有数据,在0到1区间之间,不管相似不相似都集中分布在 靠近0,没有区分度,不能明显表示相似与否地概念。然后乂对测试数据与训练数据库, 进行相似性求和,对比测试数据中界常点与菲界常点与训练数据库地相似性和,依然没 有区分度。经多次尝试,降低训练次数精度,本实验方案依然失败。经过大量实验,失败原因:第一,bp处理输出区分度不够,难以有判

41、断方案。第二, 训练方案地问题,数据集合里面,缺乏异常点地训练,bp权值能增长方向把小规模局部 数据地特征给掩盖掉了,难以输出好地数据来区分。第三,数据特征不显著。第四,训 练顺序导致。解决方法:第一种改变训练方案,改变判断方案;第二种改变神经网络结构,以便 输出数据区分度更高,便于区别异常非异常。5. 3训练方案二实验:用单个神经网络对训练数据库整体特性进行学习实验设计思路:为避免上述问题,改变训练顺序和训练方法,单组数据输入单个bp 神经网络。为尽量得出可区分地数据,强化局部异常点特性。实验方案:对神经网络bp1,先使用非异常点经行训练,教师信号为0。然后再对异 常点进行训练,教师信号为1

42、。(1) 对所有非异常点数据,按组分别对bp1进行训练,教师信号都为1, (ticdata2000. txt数据库里面大部分为正常数据)保存bp1权值;(2) 加载bp1数据到bp2,针对数据库每个异常点,教师信号统-修改为0. 1至0. 7 之间地任何一个数值,正向(数据库地方向顺序)训练一次,再逆向训练一次。训练完 后,保存训练权值。实验观察:测试数据库独个输进bp1计算。整个数据库的所有计算结果,不管异常 点非异常点的计算结果,都在0到1这个区间内呈现正态分布。数据主要叠加在两个教 师信号数值之间,难以区分。实验结果失败。数据难以区分。根据实际数据,越逼近1地越小于第二次训练地教师信号地

43、,都为异常点。比如本 次第一次训练教师信号1,第二次异常点信号0.7,结果异常点主要集中在小于0.7和大 于0.8之间,其中小于0.5和大于0.9异常点占地比率最大。正态分布地两边。第二次训练把非异常数据都集中在两次教师信号中间。数据都呈现正态分布,不好处理,特别是两个教师信号数值中间区间界常点与非界 常点占自己比例都是很大,难以区分。解决方案,找一种训练方法让异常非异常点往不同方向逼近,并使其不互相影响。5. 4训练方案三实验:多神经网络各种形式训练及其决策5. 4. 1实验设计思路用一个神经网络表示异常点地特征,教师信号1;用另一个异常点表示非异常点地 特征,教师信号0.为了有一个好地区分

44、度。同吋测试数据可以通过进行不同神经网络计 算两次,以便得结果进行具体判断结果。算法结构图如图52bp1隐层bp2隐层图5.2训练方案图5. 4. 2实验方案及步骤训练方案,把训练集合,分成两个集合,一个为正常数据集合,一个异常。每 个训练次数少于40次(根据实际增长速度,减少控制次数),以便使数据有一定地区分 度。训练强度不要太大,以便避免无法发现局部界常特征地数据。训练准备:训练采用ticdata2000.txt地前4000组数据,前85个展性为训练输入,第 86个为训练用教师信号。观察测试采用所有ticeval2000.txt作为输入,tictgts2000.txt为 测试数据实际结果,

45、已知正常数据3762,异常238,通过这个可以辅助分析。流程:(1) 第一组数据单个输入bp1训练,保存相应bp1权值,教师信号0.0, ticdata2000 正常数据训练;(2) 第二组数据单个输入bp2训练,保存bp2权值,教师信号1.0, ticdata2000异 常数据训练;测试方法:通过测试地两个数据库,输到训练后地两个神经网络,同时借助已知数据捕获有用 数据进行分析。观察测试数据库计算分布结果分布情况,并统计分布情况(表5.1表52表5.3表5.4)。表5.1 bp1正常测试数据地分布输出统计(tictgts2000中为0(单位:个数输0.0-00.1-0.2-0.3-0.40.

46、50.6-0.70.80.9-小于测试数据.10.20.30.40.50.60.70.80.91.00.2库正常数范据围个376200000000037623762数表5. 2 bp1异常测试数据地分布统计输出(tictgts2000中为1(单位:个数)输0.0-0.10.2-0.3-0.40.50.6-070.8-0.9大于测试数据出0.10.20.30.40.50.60.70.80.91.00.2库界常数范据围个2380000000000238数5.3 bp2正常测试数据地输出统计(tictgts2000中为0(单位:个数输出范围0.0-().10.10.20.2-0.30.3-0.40.

47、4-0.50.5-0.60.6-0.70.7-0.80.8-0.90.9-1.0大于0.2地数据测试异常点数据数量个数0000004726201238238表5.4 bp2异常测试数据地输出统计(tictgts2000中为1(单位:个数)输出范围0.0-0.10.1-0.20.2-0.30.3-0.40.4-0.50.50.60.6-0.70.7-0.80.8-0.90.9-1.0小0.2地数据数测试数据库正 常数据 数量个数0001036541635122974037625. 4. 3实验分析系列1系列2(单位:纵轴个数,横轴顺序表示每隔0地区间)注:横轴表示0到1区间,比如1表示0到0计算

48、结果分布,纵轴表示个数;系列1表示异常点计算结果,系列2表示非异常点计算结果图5.3使用已训练的bp1计算结果分布3500-系列2 系列1(单位:纵轴个数,横轴顺序表示每隔0.1地区间)注:橫轴表示0到1区间,比如1表示0到0计算结果分布,纵轴表示个数;系列2表示异常点计算结果,系列1表示非异常点计算结果图5.4使用已训练的bp2计算结果分布已知bp1保存的是正常数据地特性,越逼近0越是展于正常数据特性;bp2保存的 是异常数据地特性。表5.1bp1计算,正异常数据地实际输出,集中在001之中。无大于0.1地任何数 据。刚好所有正常数据都在0之下。表5.2bp1计算,界常数据地实际输岀集中在0

49、-0.1,证明界常数据特性被止常数据 所包含。表5.3bp2计算,异常点数据集屮在0.6-1.0z间,刚好是已知异常点个数。表5.4bp2计算,正常数据集中在1.4-1.0之间,bp2为异常点特性,证明正常数据 有很大一部分特征与异常数据特征有交集。综合上面各个表和图5.3和图5.4分析:从上表可以推出,对于未知检测数据输入, 呈现无法区分地现象。图5.3图5.4见数据呈现叠加分布,即分布一样,无法区分异常 与异常与否。5. 4. 4实验失败原因分析(1)可能是数据特征叠加问题,界常与分界常具有很强地交叉特征。系列1单位:横轴属性顺序,纵轴属性数值。注:训练数据库中的,毎个点代表一个属性值,横

50、轴代表属性顺序,纵轴代表属性值.图5. 5组正常数据1210 20406080100单位:横轴属性顺序,纵轴属性数值。注:训练数据库屮的,每个点代表一个属性值,横轴代表属性顺序,纵轴代表属性值.图5. 6 一组异常数据 如图5.5图5.6为两组库中地数据,大多数属性属于一个范围空间,这种情况在bp属 于相似性很大地情况,很难区分开来。纵轴10以下比较集中,相似特征太多。(2) bp结构过拟化。解决设想,减少隐层个数,生成随机,空间具有两类特征地数据。5. 5bp调参实验对上面三个实验地隐层进行调整,主要分别取5个、15个、25个隐层单元进行训练 测试。5. 5. 1对实验一调整隐层实验实验方式

51、主要通过对训练数据库地训练,然后采用测试数据库进行测试统计,实验 一方案采用组测试数据与原训练数据库4000组两两计算,然后求和,结果为与元数据 库整体相界地程度。根据数据分布,和原来测试结果进行对照分析。一下摘取部分信息。5、15、25个隐层结点训练后测试结果与已知结果对照表:表5.5 5个隐层测试结果前11组 (单位:相似度序号123456789101112异常与否010000000001计算3934134234153973954390734103645341037353549结果分布14.0534.249.304.5923. 073139.563.469.375.466.547.66表5

52、.6 15个隐层测试结果前门组(单位:相似度)序号123456789101112异常与否010000000001计算507.444.719.631700.1210759.776.598.11081171671.结果分布3817866753315632726.217208587471374.007.4949588表5. 7 15个隐层测试结果前12组 (单位:相似度)序号123456789101112异常与否010000000001计算425244114254441646034694460643934260427044544596结果分布.073.978.276.709.945.265.797.095.611.246.932.794通过表5.5表5.6表5.7表计算结果分析,没有出现较好区分度,无法做未知数据 异常与否地判断。同吋也可看到与上面实验一样结果,证明不是算法问题,而是数据特 征不好区分。5. 5. 2对实验二调整隐层实验实验方式,调整隐层神经单元个数5、15、25分别做一次,每次训练完的权值去计 算测试数据库,然后通过已知结果,统计异常点与非异常在0到1之间的分布情况,看 是否有区分度较高地方案。实验计算结果:表5.8 5个隐层实验结

温馨提示

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

评论

0/150

提交评论