BP神经网络算法原理

  • 格式:doc
  • 大小:121.00 KB
  • 文档页数:3

一个2×3×1的神经网络即输入层有两个节点,隐层含三个节点,输出层有一个节点,神经网络如图示。

图1 神经网络结构图 图中ij w )5,4,3;2,1(==j i 为输入层与隐层的权值,
jk w )6;5,4,3(==k j 为隐层与输出层的权值,1x 、2x 是神经网络的输入值,y 是网络的输出值,p y 为教师信号,e 为神经网络的实际输出与期望输出的误差。

在这个神经网络中,节点1,2是输入层,节点3,4,5是隐层,节点6是输出层;输入层和隐层之间的权值依次为252423151413,,,,,w w w w w w ,隐层和输出层间的权值为564636,,w w w ,下角标为节点的编号;隐层和输出层节点的阈值依次为3θ,4θ,5θ,6θ。

①前馈计算
设隐层的第j 个节点的输入和输出分别为:
∑=⋅=N
i i ij j O w I 1
)(j j I f O = 其中)(j I f 为激励函数 j I j e I f -+=11
)(
由于隐层的输出就是输出层的输入,则输出层第k 个节点的总输入和输出分别为:
∑=⋅=H
j j jk k O w I 1
)(k k k I f O y == 若网络输出与实际输出存在误差,则将误差信号反向传播,并不断地修正权值,直至误差达到要求为止。

②权值调整
设误差函数定义为: ∑=-=M
k k k p y d E 1
2)(21 为了简便,以下计算都是针对每个节点而言,误差函数p E 记作E 。

● 输出层权值的调整
权值修正公式为: jk
jk w E
w ∂∂-=∆η jk
k
k w I I E ∂∂∂∂-=η 定义反传误差信号k δ为:k
k
k k k I O
O E I E ∂∂∂∂-=∂∂-=δ
式中 )(k k k
O d O E
--=∂∂ )()(k k
k k k
I f I I f I O '=∂∂=∂∂ )1()](1)[()(k k k k k O O I f I f I f -=-=' 所以 )(k k k O d -=δ)1(k k O O - 又 j H
j j jk jk jk k O O w w w I =∂∂=∂∂∑=)(
1 由此可得输出层的任意神经元权值的修正公式: j k jk O w ηδ=∆ 或 j k k k k jk O O d O O w ))(1(--=∆η ( ● 隐层权值的调整 ij
ij w E
w ∂∂-=∆η ij
j
j w I I E ∂∂∂∂-=η i j
O I E
∂∂-=η
式中 i N
i i ij ij ij O O w w w E =⋅∂∂=∂∂∑=)(1 由于误差函数E 与隐层输入j I 不存在直接的函数关系,因此不能直接求得,所以 j
j j j I O O E I E ∂∂∂∂-=∂∂- j
j M k j k k I I f O I I E ∂∂⋅∂∂∂∂-=∑=)()(1 )()()(11j H
j j jk j M
k k I f O w O I E '⋅⋅∂∂∂∂-=∑∑== )()(1j M k jk k I f w '⋅=∑=δ
隐层的反传误差信号为
∑=⋅'=M
k jk k j i w I f 1)(δδ
由此可得,隐层权值的修正公式为; i M
k jk k j ij O w I f w ⋅⋅'=∆∑=)()(1δη
或 i M k jk k j j ij O w O O w ⋅⋅-=∆∑=)()1(1δη。