资源描述:
《B-P神经网络算法-理论详解+应用实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、B-P(BackPropagation)神经网络算法——即反向传播算法0.算法目的:根据实际的输入与输出数据,计算模型参数(权系数)。1.简单的B-P算法假设有P个训练样本,即有P个输入输出对(Ip,Tp),p=1,…,P,其中:T输入向量为:I(i,...,i)pp1pmT目标输出向量(实际输出)为:T(t,...,t)pp1pnT网络算法输出向量(理论上)为:O(o,...,o)pp1pn记wij为从输入向量的第j(j=1,…,m)个分量到输出向量的第i(i=1,…,n)个分量的权重。通常理论值与实际值有一误差,网络学习则是指不断地把Op与Tp比较,并根据极小原则修改参数
2、wij,使误差平方和达最小,即:n2min(tpiopi),(p=1,…,P)(2)i1Delta学习规则:记w表示递推一次的修改量,则有ijwww(3)ijijijPPwijη(tpiopi)ipjηδpiipj(4)p1p1δtopipipiη称为学习的速率。注:由(1)式,第i个神经元的输出可表示为mopif(wijipj),(5)j1其中,ipm=-1,wim=(第i个神经元的阈值)。特别当f是线性函数时mopia(wijipj)b(6)j1定理:按上面描述的神经网络,设其中每个神经元都是线性的,取训练指标为??=∑???=
3、1?12??=∑(???−???)2?=1时,求E的最小梯度最速下降发就是Delta学习规则。2.多层前馈网络假设:(1)输入层不计在层数之内,它有N0个神经元.设网络共有L层;输出层为第L层;第k层有Nk个神经元。(2)设u(i)表示第k层第i神经元所接收的信息;kwk(i,j)表示从第k-1层第j个元到第k层第i个元的权重;a(i)表第k层第i个元的输出;k(3)设层与层间的神经元都有信息交换(否则,可设它们之间的权重为零);但同一层的神经元之间无信息传输;(4)设信息传输的方向是从输入层到输出层方向;因此称为前向网络。没有反向传播信息。(5)a(j)表示输入的第j个分量。0在
4、上述假定下网络的输入输出关系可以表示为:N0u1(i)w1(i,j)a0(j)θ1(i),j1a1(i)f(u1(i)),1iN1,N1u2(i)w2(i,j)a1(j)θ2(i),j1(7)a(i)f(u(i)),1iN,222.......................................NL1uL(i)wL(i,j)aL1(j)θL1(i),j1a(i)f(u(i)),1iN,LLL其中表示第k层第i个元的阈值。定理2:对于具有多个隐层的前馈神经网络;设激发函数为S函数;且指标函数取E
5、PEEp(8)p11NL其中,(p)(p)2(9)Ep(t(i)aL(i))2i1则每个训练循环中按梯度下降时;其权重迭代公式为:(p)(p1)(p)(p)w(i,j)w(i,j)ηδa(j)(10)llll1其中,l1,...,L。(p)w(i,j)表示第l-1层第个元对第l层第个元输入的第次迭代时的权重。l(p)(p)(p)'(p)δ(i)(t(i)a(i))f(u(i))(11)LLLNl1(p)'(p)(p)(p1)δl(i)f(ul(i))δl1(j)wl1(j,i)1lL1.(12)j1BP算法:•选定学习的数据,p=1,
6、…,P,随机确定初始权矩阵W(0)•用学习数据计算网络输出•用(10)式反向修正,直到用完所有学习数据。(p)(p1)(p)(p)w(i,j)w(i,j)ηδa(j),l1,...,L。llll13.应用实例已知的两类蚊子的数据如表1:翼长触角长类别目标值1)1.781.14Apf0.92)1.961.18Apf0.93)1.861.20Apf0.94)1.721.24Af0.15)2.001.26Apf0.96)2.001.28Apf0.97)1.961.30Apf0.98)1.741.36Af0.19)1.641.38Af0.110)1.821.38Af0.111)1
7、.901.38Af0.112)1.701.40Af0.113)1.821.48Af0.114)1.821.54Af0.115)2.081.56Af0.1输入数据有15个,即p=1,……,15;j=1,2;对应15个输出。建模:(输入层,中间层,输出层,每层的元素应取多少个?)建立神经网络:规定目标为:当t(1)=0.9时表示属于Apf类,t(2)=0.1表示属于Af类。设两个权重系数矩阵为:w(1,1)w(1,2)w(1,3)111W1w(2,1)w