资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,重要的神经网络BP神经网络,BP,神经网络及结构,BP,神经网络的学习算法,一个简单的,BP,神经网络例程,一、反向传播(BP)网络的基本结构,使用反向传播(BP)算法的分层网络称为BP网络。主要有以下特点:,1.至少有一层隐单元;,2.单元的激活值是任意实数;,3.单元输出函数是等价函数;,4.网络的连接权是任意实数;,5.单元的激活函数是它总输入的非递减可微函数,实际应用中常选取S型函数,如,Logsigmoid或Tansigmoid函数,d,b,c,a,e,w,v,v,d,b,c,a,g,w,u,f,e,Sigmoid函数基本形式及图形,Logsigmoid函数,a,i,=F,i,(net,i,),=1/(1+e,-neti,)=1/(1+e,-(,wij+bi),),Tansigmoid函数,a,i,=F,i,(net,i,),=tanh(net,i,/2),=(1-e,-neti,)/(1+e,-neti,),0,1,1,-1,0,BP网络权重学习算法的最一般形式,其实我们注意到E中的权重可以分为两种,连接到隐单元的和到输出单元的。因而从,w,ij,=-k(,E/,w,ij,)中导出的权值计算就有两种,一种是与目标输出相关的,一种无关。公用的模式为:,w,ij,=,i,a,j,i)对于输出单元的连接权,i,=(t,i,-a,i,)F,i,(net,i,),ii)对于隐单元的连接权,i,=F,i,(net,i,),k,w,ki,d,b,c,a,e,w,v,v,d,b,c,a,g,w,u,f,e,单元的激活函数为S型函数的学习算法,Logsigmoid函数,a,i,=F,i,(net,i,),=1/(1+e,-neti,)=1/(1+e,-(,wij+bi),),对于,w,ij,=,i,a,j,i)当权重连接输出单元时,i,=(t,i,-a,i,)a,i,(1-a,i,),ii)当权重连接隐层单元时,i,=a,i,(1-a,i,),k,w,ki,包括两个过程:,i)正向的计算传播;,ii)逆向的误差传播过程。,d,b,c,a,e,w,v,0,1,二、最简单的BP网络及训练,参考demobp1.m,三、简单的曲线拟合例题,例题参考C:matlabnnetdemobp4.m,单输入、单输出,输入向量,P=-1:.1:1,目标输出T=-.9602-.5770,隐层单元激活函数,tansig,输出单元激活函数,purelin,,网络结构,1:5:1,权重随机选取,学习率设置为0.01,网络误差设置为o.o2。,例题参考C:matlabnnetdemobp4.m,训练后网络的权重w1=3.5214,3.2603,-3.8172,-3.4945,-3.6300,w2=-0.4477,1.4937,0.9024,0.6146,-1.0095,,单元阈值B1=0.69,2.59,-1.21,2.48,0.71,B2=-0.97,w1,w2,B1,B2,训练误差曲线及单元激活函数。,例题参考C:matlabnnetdemobp4.m,隐层单元的激活函数:,F1,=(1-e,-(,wij+bi),)/(1+e,-(,wij+bi),),输出层函数的激活函数:,F2=x,w1,w2,B1,B2,程序结构分析。,例题参考C:matlabnnetdemobp4.m,网络初始设定:随机权重W、随机阈值B、,学习率、网络误差E、隐结点个数等。,初始设定,前向计算,误差传播,权值修改,网络训练是建立网络模型的核心内容,,是一个循环体,分为前向计算、误差逆向,传播、权值修改等。然后根据初始设定的,误差决定是否停止训练。,样本检验,参数存储,训练结束后,继续使用检验样本对网络,进行适应性验证。,当考证网络具备所要求的性能后,将网,络涉及的各种参数存储,以备建立实际系,统。,相关实验软件及程序。,例题参考C:matlabnnetdemobp5.m,1、带有能量因子的BP学习算法,参考,demobp5,。,学习时网络的激活函数为,F1,=tanh(net/T)=,(1-e,-(,wij+bi)/T,)/(1+e,-(,wij+bi)/T,),其中,T,称为能量,或温度。,有时称为模拟退火。具有的优点是能够最大可能地跳出局部极小。,相关实验软件及程序。,例题参考C:matlabnnetdemobp6.m,2、自适应学习率的BP学习算法,参考,demobp6,。,网络学习率最大增长,1.05,倍,网络学习率最多降低,0.7,倍,if,new_SSE SSE*er,新误差大于上次误差,增加学习率。,lr=lr*dm;MC=0;,else,if,new_SSE SSE,新误差小于上次误差,降低学习率。,lr=lr*im;,end,w1=new_w1;b1=new_b1;a1=new_a1;e=new_e;SSE=new_SSE;,end,Thanks a lot!,
展开阅读全文