首页 BP神经网络原理(可编辑)

BP神经网络原理(可编辑)

举报
开通vip

BP神经网络原理(可编辑)BP神经网络原理(可编辑) BP神经网络原理 BP神经网络原理 2.1 基本BP算法公式推导 基本BP算法包括两个方面:信号的前向传播和误差的反向传播。即计算实 际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向 进行。 图-1 BP网络结构 Fig.-1 Structure of BP network 图中:表示输入层第个节点的输入,j 1,…,M; 表示隐含层第i个节点到输入层第j个节点之间的权值; 表示隐含层第i个节点的阈值; 表示隐含层的激励函数; 表示输出层第个节点到...

BP神经网络原理(可编辑)
BP神经网络原理(可编辑) BP神经网络原理 BP神经网络原理 2.1 基本BP算法公式推导 基本BP算法包括两个方面:信号的前向传播和误差的反向传播。即计算实 际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向 进行。 图-1 BP网络结构 Fig.-1 Structure of BP network 图中:表示输入层第个节点的输入,j 1,…,M; 表示隐含层第i个节点到输入层第j个节点之间的权值; 表示隐含层第i个节点的阈值; 表示隐含层的激励函数; 表示输出层第个节点到隐含层第i个节点之间的权值,i 1,…,q; 表示输出层第k个节点的阈值,k 1,…,L; 表示输出层的激励函数; 表示输出层第个节点的输出。 (1)信号的前向传播过程 隐含层第i个节点的输入neti: (3-1) 隐含层第i个节点的输出yi: (3-2) 输出层第k个节点的输入netk: (3-3) 输出层第k个节点的输出ok: (3-4) (2)误差的反向传播过程 误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然 后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能 接近期望值。 对于每一个样本p的二次型误差准则函数为Ep: (3-5) 系统对P个训练样本的总误差准则函数为: (3-6) 根据误差梯度下降法依次修正输出层权值的修正量Δwki,输出层阈值的修 正量Δak,隐含层权值的修正量Δwij,隐含层阈值的修正量。 ;;; (3-7) 输出层权值调整公式: (3-8) 输出层阈值调整公式: (3-9) 隐含层权值调整公式: (3-10) 隐含层阈值调整公式: (3-11) 又因为: (3-12) ,,, (3-13) (3-14) (3-15) (3-16) 所以最后得到以下公式: (3-17) (3-18) (3-19) (3-20) 图-2 BP算法程序流程图 -2 The flowchart of the BP algorithm program Fig. 2.2 基本BP算法的缺陷 BP算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,由于它采用非线性规划中的最速下降 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,按误差函数的负梯度方向修改权值,因而通常存在以下问题: 学习效率低,收敛速度慢 易陷入局部极小状态 2.3 BP算法的改进 量法 附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用有可能滑过这些极小值。 该方法是在反向传播法的基础上在每一个权值(或阈值)的变化上加上一项正比于前次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化。 带有附加动量因子的权值和阈值调节公式为: 其中k为训练次数,mc为动量因子,一般取0.95左右。 附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值(或阈值)的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值(或阈值)变化则是设置为最后一次权值(或阈值)的变化,而依梯度法产生的变化部分则被忽略掉了。以此方式,当增加了动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时, i将变得很小,于是,从而防止了的出现,有助于使网络从误差曲面的局部极小值中跳出。 根据附加动量法的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 原则,当修正的权值在误差中导致太大的增长结果时,新的权值应被取消而不被采用,并使动量作用停止下来,以使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。其最大误差变化率可以是任何大于或等于1的值。典型的取值取1.04。所以,在进行附加动量法的训练程序设计时,必须加进条件判断以正确使用其权值修正公式。 训练程序设计中采用动量法的判断条件为: , E(k)为第k步误差平方和。 学习速率 对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。为了解决这个问题,人们自然想到在训练过程中,自动调节学习速率。通常调节学习速率的准则是:检查权值是否真正降低了误差函数,如果确实如此,则说明所选学习速率小了,可以适当增加一个量;若不是这样,而产生了过调,那幺就应该减少学习速率的值。下式给出了一个自适应学习速率的调整公式: , E(k)为第k步误差平方和。 初始学习速率 0 的选取范围可以有很大的随意性。 -自适应学习速率调整算法 当采用前述的动量法时,BP算法可以找到全局最优解,而当采用自适应学习速率时,BP算法可以缩短训练时间, 采用这两种方法也可以用来训练神经网络,该方法称为动量-自适应学习速率调整算法。 2.4 网络的设计 层数 理论上已证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理数。增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整。所以一般情况下,应优先考虑增加隐含层中的神经元数。 的神经元数 网络训练精度的提高,可以通过采用一个隐含层,而增加神经元数了的方法来获得。这在结构实现上,要比增加隐含层数要简单得多。那么究竟选取多少隐含层节点才合适,这在理论上并没有一个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。 值的选取 由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛及训练时间的长短关系很大。如果初始值太大,使得加权后的输入和n落在了S型激活函数的饱和区,从而导致其导数f’ n 非常小,而在计算权值修正公式中,因为,当f’ n 时,则有。这使得,从而使得调节过程几乎停顿下来。所以一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节。所以,一般取初始权值在(-1,1)之间的随机数。 率 学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间。 … … … … … … 输出变量 输入变量 输入层 隐含层 输出层 结 束 参数初始化:最大训练次数,学习精度,隐节点数,初始权值、阈值,初始学习速率等 批量输入学习样本并且对输 入和输出量进行归一化处理 计算各层的输入和输出值 计算输出层误差E q E q ε 修正权值和阈值 Yes N Yes 开 始
本文档为【BP神经网络原理(可编辑)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:7
分类:生产制造
上传时间:2017-09-30
浏览量:25