2.2 BP网络学习算法
BP网络学习过程的具体步骤如下:
(1)初始化,给各连接权Wij、Vjt及阙值θj、γt
i=1,2,…,n; j=1,2,…,p; k=1,2,…,q
赋予[-1,+1]或[0,1]之间的随机值。
(2)随机选取一模式对Ak=[,
,…,
],Yk=[
,
,…,
]提供给网络。
(3)用输入模式Ak=[,
,…,
],连接权Wij及阙值θj计算中间层各神经元的输入sj(激活值),然后用sj通过激活函数f(x)=
计算中间层各单元的输出bj=f(sj)。
式中:sj=∑Wij·ai-θj。
(4)用中间层的输出bj、连接权Vjt和阙值rt计算输出层各单元的输入lt(激活值),然后用Lt通过激活函数计算输出层各单元的响应ct,ct=f(lt),式中:lt=∑Vjt·bj-γt。
(5)用希望输出模式Yk=,
,…,
],网络实际输出ct计算输出层各单元的校正误差dtk:
dtk=(ytk-ct)ct(1-ct)
(6)用Vjt,dt,bj计算中间层的校正误差:
=[∑dt,Vjt]bj(1-bj)
(7)用dt,bj,Vjt和γt计算下一次的中间层和输出层之间的新连接权:
Vjt(N+1)=Vjt(N)+α··bj,
γt(N+1)=γt(N)+α·,
式中,N为学习次数。
(8)由,
,W ij和θj计算下一次的输入层和中间层的新的连接权。
(9)随机选取下一个学习模式对提供给网络,返回到第3步,直至全部m个模式对训练完。
(10)重新从m个学习模式对中随机选取一个模式对,返回到第(3)步,直至网络全局误差函数E小于预先设定的限定值(网络收敛)或学习回数大于预先设定的数值(网络无法收敛)。
(11)学习结束。
在以上的学习步骤中(3)~(6)为学习模式的“顺传播过程”,(7)~(8)为网络误差的“逆传播过程”,(9)和(10)则完成训练和收敛过程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。