《BP误差公式推导完全解析全解.ppt》由会员分享,可在线阅读,更多相关《BP误差公式推导完全解析全解.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2BPBP算法描述及推导主要内容算法描述及推导主要内容p引言引言pBPBP学习算法描述学习算法描述pBPBP算法推导算法推导3引言引言BPBP算法的提出算法的提出p提高网络性能(如分类能力)的有效途径提高网络性能(如分类能力)的有效途径 包含隐层的多层前馈网络长期以来没有提出长期以来没有提出解决权值调整问题的有效算法解决权值调整问题的有效算法。pBP (Error Back ProragationBP (Error Back Proragation,BP)BP)算法算法 1986年,Rumelhart 和McCelland领导的科学家小组Parallel Distributed Process
2、ing一书 应用对象:多层前馈网络 具有非线性连续转移函数BPBP网络的标准学习算法网络的标准学习算法p学习的过程:学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。p学习的本质:学习的本质:对各连接权值的动态调整p学习规则:学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。BPBP网络的标准学习算法网络的标准学习算法- -算法思想算法思想p学习的类型:有导师学习学习的类型:有导师学习p核心思想:核心思想: 将输出误差以某种形式通过隐层向输入层逐层反传p学习的过程:学习的过程:信号的正向传播 误差的反向传
3、播将误差分摊给各层的所有将误差分摊给各层的所有单元各层单元的误单元各层单元的误差信号差信号修正各单元权修正各单元权值值BPBP网络的标准学习算法网络的标准学习算法- -学习过程学习过程p正向传播:正向传播: 输入样本输入层各隐层输出层p判断是否转入反向传播阶段:判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出(教师信号)不符p误差反传误差反传 误差以某种形式在各层表示修正各层单元的权值p网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的学习次数为止7 基于基于BP算法的多层前馈网络模型算法的多层前馈网络模型 o1 ok ol
4、W1 Wk Wl y1 y2 yj ym V1 Vm x1 x2 xi xn-1 xn 误差反传(误差反传(BP)算法)算法误差反传(误差反传(BPBP)算法)算法8p模型的数学表达模型的数学表达输入向量:输入向量: X=(x1,x2,xi,xn)T隐层输出向量:隐层输出向量: Y=(y1,y2,yj,ym)T输出层输出向量:输出层输出向量: O=(o1,o2,ok,ol)T期望输出向量:期望输出向量:d=(d1, d2,dk,dl)T输入层到隐层之间的权值矩阵:输入层到隐层之间的权值矩阵:V=(V1,V2,Vj,Vm)隐层到输出层之间的权值矩阵:隐层到输出层之间的权值矩阵:W=(W1,W2,
5、Wk,Wl)各个变量之间如何建立联系,来描述整个网络?各个变量之间如何建立联系,来描述整个网络?9)(kknetfo对于输出层:对于输出层:k=1,2,l (3.4.1)m0jjjkkywnetk=1,2,l (3.4.2)对于隐层:对于隐层:j=1,2,m (3.4.3)j=1,2,m (3.4.4)(jjnetfyn0iiijjxvnet误差反传(误差反传(BP)算法)算法基于基于BPBP算法的多层前馈网络模型算法的多层前馈网络模型10双极性双极性Sigmoid函数:函数:xxe1e1xf)(单极性单极性Sigmoid函数:函数:xe11xf)(3.4.5)误差反传(误差反传(BP)算法)
6、算法基于基于BPBP算法的多层前馈网络模型算法的多层前馈网络模型11一、网络误差与权值调整一、网络误差与权值调整输出误差输出误差E定义:定义:(3.4.6)221E)(Od l1k2kkod21)(将以上误差定义式展开至隐层:将以上误差定义式展开至隐层:l1k2kknetfd21E)(l1k2m0jjjkkywfd21)(3.4.7)误差反传(误差反传(BP)算法)算法BPBP学习算法学习算法12一、网络误差与权值调整一、网络误差与权值调整进一步展开至输入层:进一步展开至输入层:l1k2m0jjjkknetfwfd21E)(l1k2m0jn0iiijjkkxvfwfd21)(3.4.8)误差反
7、传(误差反传(BP)算法)算法BPBP学习算法学习算法13jkjkwEwj=0,1,2,m; k=1,2,l (3.4.9a)ijijvEvi=0,1,2,n; j=1,2,m (3.4.9b)式中负号表示梯度下降,常数式中负号表示梯度下降,常数(0,1)表示比例系数。表示比例系数。在全部推导过程中,对输出层有在全部推导过程中,对输出层有j=0,1,2,m; k=1,2,l 对隐层有对隐层有 i=0,1,2,n; j=1,2,m误差反传(误差反传(BP)算法)算法BPBP学习算法学习算法14二、二、BP算法推导算法推导对于输出层,式对于输出层,式(3.4.9a)可写为可写为jkkkjkjkwn
8、etnetEwEw(3.4.10a)对隐层,式对隐层,式(3.4.9b)可写为可写为(3.4.10b)ijjjijijvnetnetEvEv对输出层和隐层各定义一个误差信号,令对输出层和隐层各定义一个误差信号,令 koknetE(3.4.11a)jyjnetE(3.4.11b)误差反传(误差反传(BP)算法)算法BPBP学习算法学习算法15综合应用式综合应用式(3.4.2)和和(3.4.11a),可将式,可将式 (3.4.10a)的权值调整的权值调整式改写为式改写为综合应用式综合应用式(3.4.4)和和(3.4.11b),可将式,可将式 (3.17b)的权值调的权值调整式改写为整式改写为(3.
9、4.12a)jokjkyw(3.4.12b)iyjijxv可以看出,只要计算出式可以看出,只要计算出式(3.4.12)中的误差信号中的误差信号 o和和 y,权值调整量的计算推导即可完成。下面继续推导如何权值调整量的计算推导即可完成。下面继续推导如何求求误差信号误差信号 o和和 y 。误差反传(误差反传(BP)算法)算法16对于输出层,对于输出层, o可展开为可展开为对于隐层,对于隐层, y可展开为可展开为下面求网络误差对各层输出的偏导。下面求网络误差对各层输出的偏导。(3.4.13a)( kkkkkkoknetfoEnetooEnetE(3.4.13b)( jjjjjjyjnetfyEnety
10、yEnetE误差反传(误差反传(BP)算法)算法17对于输出层,利用式对于输出层,利用式(3.4.6):对于隐层,利用式对于隐层,利用式(3.4.7):l1k2kkod21E)((3.4.14a)(kkkodoE可得:可得:(3.4.14b)l1kjkkkkjwnetfodyE)()(可得:可得:l1k2m0jjjkkywfd21E)(误差反传(误差反传(BP)算法)算法18将以上结果代入式将以上结果代入式(3.4.13),并应用式,并应用式(3.4.5):xe11xf)()()(kkkkoko1ood(3.4.15a)得到:得到:(3.4.15b)()()(jl1kjkkkkyjnetfwn
11、etfod)()(jjl1kjkok-y1yw至此两个误差信号的推导已完成。至此两个误差信号的推导已完成。误差反传(误差反传(BP)算法)算法19将式将式(3.4.15)代回到式代回到式(3.4.12),得到三层前馈网的,得到三层前馈网的BP学学习算法权值调整计算公式为:习算法权值调整计算公式为:jkkkkjokjkyo1oodyw)()(ijjl1kjkokiyjijxy1ywxv)()(3.4.16a)(3.4.16b)误差反传(误差反传(BP)算法)算法)(kknetfom0jjjkkywnet)(jjnetfyn0iiijjxvnetxe11xf)(l1k2kkod21E)(l1k2kknetfd21)(l1k2m0jjjkkywfd21)(l1k2m0jjjkknetfwfd21)(l1k2m0jn0iiijjkkxvfwfd21)(koknetEjkkkjkjkwnetnetEwEwijjjijijvnetnetEvEvjyjnetEjokjkywiyjijxv误差反传(误差反传(BP)算法)算法
限制150内