未来智库 > 神经网络论文 > 【一种基于BP神经网络的离散化方法】
    摘要:随着人工智能和数据挖掘技术的深入发展,大数据逐步进入人们的视野,在大数据的处理过程中,离散化处理是一个必不可少的环节。本文通过在BP神经网络的学习过程中引入动量学习法,进一步完善了BP神经网络在学习方面的局限性,降低了BP神经网络的训练误差,在此基础上提出了一种基于BP神经网络的离散化方法,实现了对连续属性的离散化处理。算法分析和实验证明,本算法是切实可行的。
       关键词:离散化;BP神经网络;连续属性;动量学习法
       Abstract: With the further development of artificial intelligence and data mining technology, big data gradually into view, in the process large data, discrete processing is an essential link . In this paper, in the learning process by introducing the momentum BP neural network learning method to improve the stability and accuracy of BP neural network , reducing the learning error BP neural network , and on this basis, proposes a BP neural network discretization method to achieve a discrete handling of continuous attributes . Algorithm analysis and experiments show that the algorithm is feasible.
       Key words: Discrete; BP neural network; continuous attributes; Momentum Learning
       在当今大数据时代,我们会面临着各种各样的数据,包括离散化的数据和连续性的数据,在众多的算法中,有许多关于数据离散化的例子[1-4],在这些现有的方法中,各有千秋,有的处理连续性数据效果不好,有些算法即使能处理连续型数据,但挖掘和学习的效果没有处理离散型数据有用和有效。对我们日常生活和应用中的实际例子分析发现,对我们有用的数据除了连续性的,更多存在的是连续型属性的数据。这样的话,对数据进行离散化处理显得异常重要,离散化处理的效果好坏,效率高低,直接关系到数据处理和分析的最终结果[5-6]。
       1 离散化问题的描述
       离散化就是采取各种方法将连续的区间划分为小的区间,并将这连续的小区间与离散的值关联起来。
       离散化的问题本质是:决定选择多少个分割点和确定分割点位置。
       连续属性离散化的方法有大概有以下几种:
       1)无监督和有监督。在离散化过程中使用类信息的方法是有监督的,而不使用类信息的方法。
       2)全局和局部。全局离散化指使用整个样本空间进行离散化,而局部离散化指在样本空间的一个区域内进行离散化。
       3)动态离散化和静态离散化。动态的离散化方法就是在建立分类模型的同时对连续属性进行离散化,而静态离散化方法就是在进行分类之前完成离散化处理。
       2 BP神经网络
       BP神经网络是一种多层前向型神经网络,其神经元的传递是S型函数,输出紧为0-1.的连续量,它可以实现从输入到输出的任意非线性映射。由于权位的调整采用反向传播学习算法,因此,人们就就将此算法称为向后传播算法,简称BP算法。
       日前,在神经网络的已有的应用实践中,BP神经网络的应用占了绝对优势,也说明了BP神经网络的应用广泛性和优势,以及有不可限量的应用前景和发展空间。
       BP神经网络模型是一个三层网络,它的拓扑结构可被划分为:输入层、输出层,隐含层。其中,输入层与输出层具有更重要的意义,因此有些文献和算法中把BP神经网络看成有输入层和输出层组成的两层网络结构。
       3 基于BP神经网络的离散化方法
       1)对BP神经网络的参数进行初始化。首先创建网络结构,并根据实际情况确定BP神经网络中的输入层,隐含层和输出层的节点数、连接权值和训练误差值等初值,最后给定学习速率和神经元激励函数。
       2)隐含层输出计算。
       3)输出层输出计算。
       4)计算训练误差
       [?j(l)=(dqj-x(l)j)f'(s(l)j)],输出层
       [?j(l)=f'(s(l)j)k=1nl+1?(l+1)w(l+1)kj],隐含层和输入层
       5)修正权值和阈值
       [w(l+1)ji[k+1]=w(l)ji[k]+μ?j(l)x(l-1)i+η(w(l)ji[k]-w(l)ji[k-1])] [θ(l+1)j[k+1]=θ(l)j[k]+μ?j(l)+η(θ(l)j[k]-θ(l)j[k-1])]
       6)判断是否达到训练误差要求,如果达到要求,就进行下一步,如果达不到要求否则,转到第2步,重新对BP网络进行训练和学习。
       7)利用附加动量法规则对BP神经网络进行训练,为了克服BP神经网络的缺点,在BP算法中加入动量项不仅可以微调权值的修正量,也可以有效的减少BP神经网络在训练和学习过程中的缺陷。另外在修改训练参数和连接权值的同时,还可以使用顺序方式训练网络。顺序方式训练网络要比批处理方式更快,特别是在训练样本集很大,而且具有重复样本时,顺序方式的这一优点更为突出。
       8)利用训练后的BP神经网络进行离散化处理
       利用BP神经网络的分类功能,对训练样本数据进行处理,根据处理结果对连续数据进行离散化处理,综合整理后就得到了离散化后的属性表。
       利用BP神经网络的新建一个网络,经过训练之后为了测试一下我们提出的算法的效果,我们可以对此算法进行一次实验,我们利用仿真函数sim()可以看到的聚类结果是:
       Yc =6544465 3
       这样我们就得到了离散化后的属性表。
       连续属性离散化之后我们需要验证一下离散化的结果是否对属性表的一致性产生了影响,所以我们再次利用LVQ神经网络来检验,现在训练样本为P=[34 2 2 2 43 2;34 2 3 2 2 43]
       经过训练得到的聚类结果是:
       Yc =55 1 5 1 1 55
       我们发现得到的结果和实际情况相符合。
       4 小结
       对于连续属性离散化问题,我们在BP神经网络的学习过程中,对网络的训练做了一些改进,引入了动量学习法,改善了BP神经网络的性能,最后通过Mantis仿真实验证明了该算法对于处理离散化问题的有效性。
       参考文献:
       [4] 谢振华,商琳,李宁,等.粗糙集在神经网络中应用技术的研究[J].计算机应用研究, 2004, 21(9):71- 74.
       [6] 刘业政,焦宁.连续特征离散化算法比较研究[J].计算机应用研究,2007,24(9).
       [8] HUAN LIU, RARHAD HUSSAIN, CHEW LIM TAN, MANORANJAN DASH, 2002. Discretization: An Enabling Technique. Data Mining and Knowledge Discovery,6,393-423,2002. 2002 Kluwer Academic Publishers. Manufactured in The Netherlands.
       [9] Jiawei Han, MichelineKamber.数据挖掘概念与技术[M].2版.范明,孟小峰,译.机械工业出版社, 2004:47-60.
转载请注明来源。原文地址:https://www.7428.cn/vipzj14227/