文档详情

智能控制理论及应用 第8章 BP神经网络.ppt

发布:2025-04-07约8.08千字共29页下载文档
文本预览下载声明

为了表示方便,我们以一个具体的神经网络为例进行介绍。该BP网络有2个输入(分别是x1,x2)、2个输出(y1,y2)、1个隐含层,隐含层的神经元个数为2,隐含层和输出层的激励函数均采用sigmoid函数【回车】网络的初始权值,偏置值,输入输出样本值如表格所示。*计算得到隐含层的输出h1,h2后,接下来可以进一步计算输出层的输出y1,y2.【回车】同样,先计算输出层第一个节点的综合输入nety1Nety1等于其输入和对应权值的乘积之和,即w5*h1+w6*h2+b3*1=1.1059.【回车】经过激活函数后得到最终的输出值y1=0.7514.【回车】同理,可以求得nety2,【回车】以及最终的输出y2.*接下来计算当前的误差。总的误差等于y1的误差+y2的误差。Ey1和Ey2分别等于对应误差的平方,计算值如图中所示。计算出误差后,【回车】接下来,基于梯度下降法进行权值的更新,这个是更新公式。在更新公式中,我们就是要把误差对权值的导数求出来。*因此,接下来,就是反向传播过程。我们首先求输出层权值的梯度,即Etotal对w5的偏导数。可以看出,Etotal是w5的复合函数,使用链式法则即可求出该偏导数偏Etotal/偏w5=Ey1对y1求偏导,y1对nety1求偏导,nety1对w5求偏导。【回车】Ey1对y1的偏导就等于-(t1-y1)Y1对nety1的导数就等于y1(1-y1),如何求得呢?【回车】请看这个过程,这又是一个复合函数求导,可以把该函数看出1/X,其导数等于-X2分之1,再对分母求导,得到-e-nety1.那么最后一项nety1对w5的导数,就等于h1.因此,Etotal对w5的偏导数,我们就求出来了。*同理,可以求得输出层中其他权值的偏导数。偏Etotal对偏w6,除了最后一项不同,前面是一样的,最后一项为h2.偏Etotal对偏w7,前面部分换成了t2和y2,最后一项为h1.对于偏置量b3,跟w5类似,最后一项为x0,即1.B4,则是把前面部分换成t2和y2.*输出层的权值更新后,接下来就开始反向传播的下一层,即隐层的权值更新。我们以w1为例进行说明。偏Etotal对偏w1可以分解成偏Etotal对偏h1,乘以偏h1对偏neth1,再乘以偏neth1对偏w1.我们先看偏Etotal对偏h1,【回车】这里分成了两路,即等于偏Ey1对偏h1,+偏Ey2对偏h1.【回车】偏Ey1对偏h1=偏Ey1对偏nety1,乘以偏nety1对偏h1.我们知道,前一项在求输出层权重的偏导时已经计算过。我们可以令偏Ey1对偏nety1=Deltay1,即广义误差,这是在上一层已经计算过的。因此,现在只要计算偏nety1对偏h1就可以了,而偏nety1对偏h1就等于w5.【回车】那么,同理,可以得到偏Ey2对偏h1,等于w7乘以广义误差Deltay1。现在我们看,【回车】这里的第一项我们已经得到了,第二项前面也算过,就等于h1乘以1-h1,第三项偏neth1对偏w1,就等于x1.因此,隐含层的偏导数我们也可以求出了。从公式来看,隐含层的偏导跟输出层的广义误差有关,因此是误差从后向前的传播,即反向传播过程,即先更新输出层的权重,再更新隐含层的权重【回车】求出偏导数后,代入公式,就可以求得更新后的权值。同理,可以求得隐含层其他权重的偏导,这里就不一一赘述了。好的,本视频我们介绍了BP网络的前向传播和反向传播过程,如果仔细推导一下,相信会对BP网络的学习过程有非常清楚的认识,本视频就到这里结束了,Bye*输出层的权值更新后,接下来就开始反向传播的下一层,即隐层的权值更新。我们以w1为例进行说明。偏Etotal对偏w1可以分解成偏Etotal对偏h1,乘以偏h1对偏neth1,再乘以偏neth1对偏w1.我们先看偏Etotal对偏h1,【回车】这里分成了两路,即等于偏Ey1对偏h1,+偏Ey2对偏h1.【回车】偏Ey1对偏h1=偏Ey1对偏nety1,乘以偏nety1对偏h1.我们知道,前一项在求输出层权重的偏导时已经计算过。我们可以令偏Ey1对偏nety1=Deltay1,即广义误差,这是在上一层已经计算过的。因此,现在只要计算偏nety1对偏h1就可以了,而偏nety1对偏h1就等于w5.【回车】那么,同理,可以得到偏Ey2对偏h1,等于w7乘以广义误差Deltay1。现在我们看,【回车】这里的第一项我们已经得到了,第二项前面也算过,就等于h1乘以1-h1,第三项偏neth1对偏w1,就等于x1.因此,隐含层的偏导数我们也可以求出了。从公式来看,隐含层的偏导跟输出层的广义误差有关,因此

显示全部
相似文档