- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BP
2.1基本BP算法公式推导
基本BP算法包括两个方面:信号的前向传播和误差的反向传播。即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。
图2-1BP网络结构
Fig.2-1StructureofBPnetwork
图中:Xj表示输入层第j个节点的输入,jl,,M;
Wj表示隐含层第i个节点到输入层第j个节点之间的权值;
表示隐含层第i个节点的阈值;
x)表示隐含层的激励函数;
Wki表示输出层第k个节点到隐含层第i个节点之间的权值,il,,q;ak表示输出层第k个节点的阈值,k1,,L;
表示输出层的激励函数;
0k表示输出层第k个节点的输出。
(1)信号的前向传播过程
隐含层第i个节点的输入neti:
输出层阈值调整公式:
EEnetEonet
akkk
kanetaoneta
kkkkk
隐含层权值调整公式:
3-10)隐含层阈值调整公式:
i
i
iii
i
又因为:
(Tpop)
kk
w
ki
y
kpk
k
,
net
iX
wj,
ij,
i
i
i
(Tpop)(net)
kkkki
pk・
y
—het)
neti
i
i(net)
netk
k
所以最后得到以下公式:
a(Tpop)Het
kkkk
pk・
w(Tpop)(het)
ijkkkkiij
pk
(Tpop)het)
ikkkkii
pk
3-11)
3-12)
3-13)
3-14)
3-15)
3-16)
3-17)
3-18)
3-19)
3-20)
图2-2BP算法程序流程图
Fig.2-2TheflowchartoftheBPalgorithmprogram
2・2基本BP算法的缺陷
算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问题,由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题:
(1) 学习效率低,收敛速度慢
(2) 易陷入局部极小状态
2.3BP算法的改进
2.3.1附加动量法
附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用有可能滑过这些极小值。
该方法是在反向传播法的基础上在每一个权值(或阈值)的变化上加上一项正比于前次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化。
带有附加动量因子的权值和阈值调节公式为:
w(kI)(1mc)pmcw(k)
ijijij
b(kl)(1mc)mc(k)
iii
其中为训练次数,为动量因子,一般取左右。
附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值(或阈值)的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值(或阈值)变化则是设置为最后一次权值(或阈值)的变化,而依梯度法产生的变化部分则被忽略掉了。以此方式,当增加了动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,i将变得很小,于是w(kl)w(k)从而防止了w0的出现,有助于ijijij使网络从误差曲面的局部极小值中跳出。
根据附加动量法的设计原则,当修正的权值在误差中导致太大的增长结果时,新的权值应被取消而不被采用,并使动量作用停止下来,以使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。其最大误差变化率可以是任何大于或等于1的值。典型的取值取1.0。4所以,在进行附加动量法的训练程序设计时,必须加进条件判断以正确使用其权值修正公式。
训练程序设计中采用动量法的判断条件为:
0E(k)E(kl)*l.04
mc8).95E(k)・E(kl),()为第步误差平方和。
mc其它
2・3・2自适应学习速率
对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。
通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。为了解决这个问题,人们自然想到在训练过程中,自动调节学习速率。通常调节学习速率的准则是:检查权值是否真正降低了误差函数,如果确实如此,则说明所选学习速率小了,可以适当增加一个量;若不是这样,而产生了过调,那幺就应该减少学习速率的值。下式给出了一个自适应学习速率的调整公式:
・.05B(k)E(kB1)・E(k)
(kB1)S).7・k)E(kB1)・1.04E(k),E)为第步误差平方和。
(k)其它
初始学习速率的选取范围可以有很大的随意性。
2.3.3动量-自适应学习速率调整算法
当采用前述的
文档评论(0)