一种用于预测的BP算法的改进.doc

上传人:laozhun 文档编号:4015557 上传时间:2023-04-01 格式:DOC 页数:8 大小:324.50KB
返回 下载 相关 举报
一种用于预测的BP算法的改进.doc_第1页
第1页 / 共8页
一种用于预测的BP算法的改进.doc_第2页
第2页 / 共8页
一种用于预测的BP算法的改进.doc_第3页
第3页 / 共8页
一种用于预测的BP算法的改进.doc_第4页
第4页 / 共8页
一种用于预测的BP算法的改进.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种用于预测的BP算法的改进.doc》由会员分享,可在线阅读,更多相关《一种用于预测的BP算法的改进.doc(8页珍藏版)》请在三一办公上搜索。

1、一种用于预测的BP算法的改进摘 要 数据挖掘技术能从海量数据中找出有价值的信息,神经网络中的BP算法虽然有较广泛的应用,但存在容易陷入局部极小点及网络的瘫痪等问题。而Cauchy训练的最大长处是,它有可能使网络逃离局部极小点。用通过结合Cauchy训练来改进BP算法,在收敛速度,局部极小点、网络瘫痪等问题上有所改善。关 键 词数据挖掘;BP算法;Cauchy训练 一、数据挖掘数据挖掘是从大型数据库或数据仓库中发现并提取隐藏在其中的信息的一种新技术,目的是帮助决策者寻找数据间潜在的关联,发现被忽略的要素1。数据挖掘技术涉及数据库、人工智能、机器学习和统计分析等多种技术。数据挖掘技术能从大型数据库

2、或数据仓库中自动分析数据,进行归纳性推理,从中发掘出潜在的模式;或者产生联想,建立新的业务模型,帮助决策者调整策略,做出正确的决策。数据挖掘技术中的常用算法有: 人工神经网络、 遗传算法、决策树、公式发现、统计分析方法等。这些方法各有千秋,总的来说,应该根据不同的问题环境和应用层面来选择合适的方法,并且灵活应用来解决数据挖掘中遇到的难题,BP算法是一种适用于预测的神经网络算法。二、BP算法BP算法是一种数据挖掘的方法。BP网络的神经元同一般的人工神经网络一样,但BP算法要求使用的激活函数必须是处处可导的。一般多数设计者都使用S形函数。实际上,也可以用其他函数作为BP神经网络的激活函数,只要该函

3、数是处处可导的。BP网络是非循环多级网络,但是实验表明,增加隐藏层的层数和隐藏层的神经元的个数不一定能够提高网络的精度和表达能力,在大多数情况下,BP网络一般都选用二级网络2。(一)BP算法的训练过程人工神经网络的训练过程是根据样本集对神经元之间的联接权进行调整的过BP网络也不例外,而且BP网络执行的是有导师训练。所以,其样本集是由形如(输入向量 ,理想输出向量 )的向量对构成的。所有这些向量对,都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。BP算法主要包含4步,这4步被分为两个阶段:(1)向前的传播阶段 从样本集中取一个样本(,),将输入网络; 计算

4、相应的实际输出。在此阶段,信息从输入层经过逐级的变换.传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。此过程中,网络执行的是下列运算: (1) (2) 向后传播阶段 计算实际输出,与相应的理想输出的差: 按极小化误差的方式调整权矩阵。这两个阶段的工作一般应受到精度要求的控制,在这里,取 (2)作为网络关于第P个样本的误差测度。而将网络整个样本集的误差测度定义为 (3)在调整神经元的联接权时,只能求出输出层的误差,而其他层的误差要通过此误差反响逐层后推才能得到。上述过程的第二阶段是向后传播阶段,也称之为误差传播阶段。下面分别介绍一下输出层权的调整方法和隐含层权的调整方法。WpqA

5、Np ANq第n-1层 第n层 输出层权的调整图1 ANp到ANq的联接为了说明清晰方便,我们使用图1中的相应符号来讨论输出层联接权的调整。图1中是输出层的第个神经元,是从其前导层的第个神经元到的联接权。取 (4)按照Delta规则,有 (5) (6)所以 (7)可以看成是所表现出来的误差。它由的输出值和理想输出值以及与直接相关联的的输出值确定。 隐藏层权的调整对隐藏层权的调整,仍然可以采用式(4),(5),只不过在这里不再可以用式(6)去计算相应的神经元所表现出来的误差,因为此时无法知道该神经元的理想输出。为使讨论更清晰,对隐藏层联接权调整的讨论将按参考图2进行。按照该图的表示,省去了其中有

6、些符号上表示网络层号的上标。一方面,将相应的层号标注在图的下方。另一方面,仅在需要的地方让层号以下标的形式出现。ANhANpANq 1k Wp1 Wp2 2k Wpmmk图2 误差反向传播示意图 假定图2中的, ,, 的调整已经完成。所以,此时,,的值是己知的。要想调整就必须知道,由于的理想输出是未知的,所以,必须按照一定的方法来给一个合适的估计。从图中可以看出,的值应该是和,有关的,在,,中,都含有的“成分”。因此,自然地想到用,,来估计,通过, ,, 与,,关联。从而的输出误差是与Wp11k+Wp22k + Wpmmk相关的.这样,可以用它近似地表示的理想输出与实际输出的差。根据式(5)推

7、导得到: (8) = + (9)式中,,分别表示第k-1层的第个神经元、第k-2层的第个神经元的输出。(二)基本BP的算法描述BP网络针对一个样本对各个联接权作一次调整后,虽然此样本还不能满足精度要求,此时也不能继续按此样本进行训练,而应考虑其他的样本,待样本集中的所有的样本都被考虑过一遍后,再重复这个过程,直到网络能同时满足各个样本的要求3。实际应用中,可能出现由于样本的顺序而引起的精度问题和训练的抖动问题,而且收敛速度比较慢。研究人员也对算法进行了适当的改造。1987年,Sejnowski与Rosenberg给出了基于指数平滑的方法,它对某些问题是非常有效的。 (10)其中,是上一次的修改

8、量,为冲量系数,在0和1之间取值。三、BP算法的改进BP算法虽然有较广泛的应用,但存在容易陷入局部极小点及网络的瘫痪等问题。而Cauchy训练的最大长处是,它有可能使网络逃离局部极小点。用通过结合Cauchy训练来改进BP算法,在收敛速度,局部极小点、网络瘫痪等问题有所改善。(一)Cauchy训练Cauchy训练是模拟退火算法的一种,是非确定方法。它是模拟金属加热工程中金属的温度与它所含能量的极小状态。所以我们首先讨论一下模拟退火算法。如果将网络的训练看成是让网络寻找最低能量状态的过程,取网络的目标函数为它的能量函数,再定义一个初值较大的数为人工温度。同时,在网络的这个训练过程中,依据网络的能

9、量和温度来决定联接权的调整量(称为步长)。这种做法与金属的退火过程非常相似,所以人们将这种方法叫做模拟退火组合优化法4。模拟退火组合优化法的基木思想是:随机地为系统选择一个初始状态,在此初始状态下,给系统一个小的随机扰动,计算系统的能量变化。 (11)若 0则此扰动依据概率exp(-) (12)判断是否被接收。如果此扰动被接受,则系统从状态变换到状态,否则系统的状态保持不变。如此重复下去。在这个过程中,逐渐地降低温度。模拟退火算法的具体描述及说明如下:(1) 初始化各层的联接权矩阵W;定义人工温度的初值;(2) 每一个温度重复如下过程:(2.1) 选取一个样本,计算其输出与目标函数;(2.2

10、) 随机地从中选取一个;(2.3 ) 按一定地算法产生的一个调整量;(2.4 ) 按照重新计算相应的输出和目标函数(2.5 ) ;(2. 6) 0 then(2. 6. 1) 按均匀分布在0 ,1区间取一随机数;(2. 6. 2) 按Boltzmann分布计算接受本次调整的概率:P()=exp(-) ; (2.6.3) if P() then (2.2);(2. 7) 用代替;(2. 8) if样本集中还有未被选用地样本then转(2.1);(3)降低温度;(4)如果足够小,则结束,否则转(2)。关于该算法,有如下几点说明:(1)算法的第2步原则上应该对每一个样本调整每一个权,调整的顺序是随机

11、的。(2)温度的降低,可以采用如下公式:= (13)式中叫做冷却率,一般情况下可以在0.8, 0 .9之间取值。也可以用其他方法来降低,比如Geman在1984年曾经证明:温度的下降必须与时间的对数成反比,网络最终才能收敛到全局极小点。按照Geman的要求,对温度应采用如下公式: (14)式中t为人工时间,为温度初值。(3) T的初始可以按照如下方法设定: ;即取初始系统目标函数(能量)的值。 ;即取初始系统目标函数(能量)值的若干倍。 按照经验给出。(4) 在算法2.3步中的调整量的计算是比较麻烦的,可以根据Boltzmann分布或者Gauss分布来计算,也可以按照其他的方法。1987年,S

12、.Szu和R.Hartley提出用Cauchy分布计算联接权的调整量,Cauchy分布的一般形式为 (15)按照Cauchy分布来确定联接权的调整量的训练为Cauchy 训练。用Cauchy分布来确定联接权的调整理,可以获得以下好处。首先,按照Cauchy分布所能取到的联接权的调整量能够较大,训练的速度就快,算法的效率就高。其次,用Cauchy分布确定联接权的调整量,温度可以下降得更快。进一步大大提高了训练的速度。最后,由于Cauchy分布可以用常规的方法进行积分运算,积分后有: (16)这使得Monte Carlo法在这里变的非常简单了,即在(0, 1 )中按照均匀分布随机地取一个数作为,再

13、取当前的温度,就可以直接计算出。(二)BP算法的改进原理Cauchy训练的速度与BP算法相比是比较慢的24。人们已经给出的测试结果表明,Cauchy训练所需花费的时间大约是BP算法所需花费时间的100倍。其原因在于BP算法总是沿着极小化能量函数的方向来调整联接权,而且每次调整都是确定的。然而,在Cauchy训练中,联接权的调整是随机的。同时,由于这种调整的随机性和试探性,还需要判定一个拟进行的调整是否为有效的。所以,在很多时候,所进行的调整是失败的,即它可能被放弃。在它未被放弃时,它又可能是背离寻找全局极小点的总目标的 25。局部极小点问题、网络的瘫痪问题,是困扰BP算法的两个大问题26。Ca

14、uchy训练的最大长处是,它有可能使网络逃离局部极小点。一个比较好的办法是将这两种算法结合起来,构成一个新的算法。它既能兼顾到BP算法的联接权调整量是确定的所带来的优点,又能兼顾到Cauchy算法中联接权调整随机性和试探性所带来的可以从局部极小点逃离出来的优点。因此,BP算法与Cauchy算法的结合,在学习的过程中在d (0Al)的概率下使用BP算法来计算联接权的调整量,其余情况下按照Cauchy训练来计算联接权的调整量24。(三)改进BP算法的算法描述基于改进原理,具体算法描述如下:(1) 初始化各层的联接权矩阵W;定义人工温度的初值;初始化、;(2) =0;(3) 从样本集中取出一样本()

15、;按均匀分布在0,1区间取一随机数;若 0;h -)按指数平滑的方法计算调整隐含层的 ;(3.2) 对温度T做如下过程:(3.2.1) 计算其输出与目标函数;(3.2.2) 依次选取中的每一个,作如下调整:(3.2.2.1) 按照Cauchy分布计算出的一个调整量;(3.2.2.2) 按照+重新计算相应的输出和目标函数;(3.2.2.3) ;(3.2.2.4) 如果0则调整为+;否则按照以下概率来调整为+;(3. 3) 按照公式降低温度;修改,判断样本是否完毕,如果有样本未训练继续(3)。(4) 如果E小于控制精度或足够小则结束,否则继续(2)。改进后的BP算法能够有效的解决Cauchy训练速

16、度慢的问题,同时又能够有效的改善BP算法不收敛、网络瘫痪等问题,因此在预测的设计中选用此模型便于建模。参 考 文 献1 M Galvan,P Isasi,R Aler,J M Valls.A selective learning method to improve the generalization of multilayer feedforward neural networks.International journal of neural systems,2001(2):1671772 吉根林,张立明. 数据挖掘技术及其应用J,南京师大学报,2000(2):45473 人工神经网络得模型及其应用M,上海:复旦大学出版社,19934 Jay-Louise Weldon.Data mining and visualization database programmingand Design, 1996:2124

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号