24/12/291第4章BP网络•主要内容:–BP网络的构成–隐藏层权的调整分析–Delta规则理论推导–算法的收敛速度及其改进讨论–BP网络中的几个重要问题•重点:BP算法•难点:Delta规则的理论推导24/12/2924.1概述1、BP算法的出现非循环多级网络的训练算法UCSDPDP小组的Rumelhart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述1982年,Paker就完成了相似的工作1974年,Werbos已提出了该方法2、弱点:训练速度非常慢、局部极小点的逃离问题、算法不一定收敛3、优点:广泛的适应性和有效性。24/12/2934.2基本BP算法•4.2.1网络的构成神经元的网络输入:neti=x1w1i+x2w2i+…+xnwni神经元的输出:netenetfo11)()1()()1(1)(22ooooeenetfnetnet24/12/294输出函数分析0.5f′(net)0.25o011(0,0.5)net(0,0)oneteo11–应该将net的值尽量控制在收敛比较快的范围内–可以用其它的函数作为激活函数,只要该函数是处处可导的24/12/295网络的拓扑结构x1o1输出层隐藏层输入层x2o2omxn…………………W(1)W(2)W(3)W(L)24/12/296网络的拓扑结构1.BP网的结构2.输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏层神经元的个数的决定3.实验:增加隐藏层的层数和隐藏层神经元个数不一定总能够提高网络精度和表达能力4.BP网一般都选用二级网络24/12/297网络的拓扑结构x1o1输出层隐藏层输入层x2o2omxn…………WV24/12/2984.2.2训练过程概述样本:(输入向量,理想输出向量)权初始化:“小随机数”与饱和状态;“不同”保证网络可以学。1、向前传播阶段:(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;(2)计算相应的实际输出Op:Op=Fl(…(F2(F1(XpW(1))W(2))…)W(L))24/12/2994.2.2训练过程概述2、向后传播阶段——误差传播阶段:(1)计算实际输出Op与相应的理想输出Yp的差;(2)按极小化误差的方式调整权矩阵。(3)网络关于第p个样本的误差测度:mjpjpjpoyE1221(4)网络关于整个样本集的误差测度:ppEE24/12/29104.2.3误差传播分析1、输出层权的调整wpq=wpq+∆wpq∆wpq=αδqop=αfn′(netq)(yq-oq)op=αoq(1-oq)(yq-oq)opwpqANpANq第L-1层第L层∆wpq24/12/29112、隐藏层权的调整ANpANqANhvhpδpk-1δ1kwp1wpqδqkwpmδmk第k-2层第k层第k-1层……24/12/29122、隐藏层权的调整δpk-1的值和δ1k,δ2k,…,δmk有关不妨认为δpk-1通过权wp1对δ1k做出贡献,通过权wp2对δ2k做出贡献,……通过权wpm对δmk做出贡献。δpk-1=fk-1′(netp)(wp1δ1k+wp2δ2k+…+wpmδmk)24/12/29132、隐藏层权的调整vhp=vhp+∆vhp∆vhp=αδpk-1ohk-2=αfk-1′(netp)(wp1δ1k+wp2δ2k+…+wpmδmk)ohk-2=αopk-1(1-opk-1)(wp1δ1k+wp2δ2k+…+wpmδmk)ohk-2ANpANqANhvhpδpk-1δ1kwp1wpmδqkwpqδmk第k-2层第k层第k-1层……24/12/29144.2.4基本的BP算法•样本集:S={(X1,Y1),(X2,Y2),…,(Xs,Ys)}•基本思想:–逐一地根据样本集中的样本(Xk,Yk)计算出实际输出Ok和误差测度E1,对W(1),W(2),…,W(L)各做一次调整,重复这个循环,直到∑Ep<ε。–用输出层的误差调整输出层权矩阵,并用此误差估计输出层的直接前导层的误差,再用输出层前导层误差估计更前一层的误差。如此获得所有其它各层的误差估计,并用这些估计实现对权矩阵的修改。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程24/12/2915算法4-1基本BP算法1fork=1toLdo1.1初始化W(k);2初始化精度控制参数ε;3E=ε+1;4whileE>εdo4.1E=0;24/12/2916算法4-1基本BP算法4.2对S中的每一个样本(Xp,Yp):4.2.1计算出Xp对应的实际输出Op;4.2.2计算出Ep;4.2.3E=E+Ep;4.2.4根据相应式子调整W(L);4.2.5k=L-1;4.2.6whilek≠0do4.2.6.1根据相应式子调整W(k);4.2.6.2k=k-14.3E=E/2.024/12/29174.3算法的改进1、BP网络接受样本的顺序对训练结果有较大影响。它更“偏爱”较后出现的样本2、给集中的样本安排一个适当的顺序,是非常困难的。3、样本顺序影响结果的原因:“分别”、“依次”4、用(X1,Y1),(X2,Y2),…,(Xs,Ys)的“总效果”修改W(1),W(2),…,W(L)...