ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:17.87KB ,
资源ID:8313880      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8313880.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BP学习算法.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

BP学习算法.docx

1、BP学习算法 BP学习算法 3.2 BP学习算法 学习算法含有两个隐含层的BP网络Wmi Wij Wjp Y1x1x2Y2xmi=(1,2,.J) j=(1,2,J)ypBP网络的标准学习算法学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权 值,以使网络的输出不断地接近期望的输出。 学习的本质:对各连接权值的动态调整学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权 变化所依据的一定的调整规则。 BP网络的标准学习算法-算法思想学习的类型:有导师学习 核心思想:将输出误差以某种形式通过隐层向输入层逐层反传将误差分摊给各层的所有 单元 各层单元的误 单元各层单元的误 差信

2、号修正各单元权 值学习的过程:信号的正向传播 误差的反向传播BP网络的标准学习算法-学习过程正向传播:输入样本输入层各隐层输出层判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(导师信号)不符误差反传误差以某种形式在各层表示修正各层单元的权值网络输出的误差减少到可接受的程度 进行到预先设定的学习次数为止BP学习的具体算法步骤第一步:设置变量和参量X k = x k1 , x k 2 ,., x km , (k = 1,2,., N ) ,为输入向量,或训练样本,N为训练样本的个数。 ? w11 (n) w12 (n).w1I (n) ? ? w (n) w (n).w (n) ? 22

3、 2I ? 为第n次迭代输入层与隐含层I之间的的权值向量。 WMI (n) = ? 21 ?. ? ? ? wM 1 (n) wM 2 (n).wMI (n)? ? w11 (n) w12 (n).w1J (n) ? ? w (n) w (n).w (n)? 22 2J ? ,为第n次迭代隐含层I与隐含层J之间的的权值向量。 WIJ (n) = ? 21 ?. ? ? ? wI 1 (n) wI 2 (n).wIJ (n) ? ? w11 (n) w12 (n).w1P (n) ? ? w (n) w (n).w (n) ? 22 2P ? ,为第n次迭代隐含层J与输出层之间的的权值向量。 W

4、JP (n) = ? 21 ?. ? ? ? wJ 1 (n) wJ 2 (n).wJP (n)? ?Yk (n) = yk 1 ( n), yk 2 (n),., ykp ( n) , ( k = 1,2,., N ) ,为第n次迭代是网络的实际输出。 d k = d k1 , d k 2 ,., d kp , ( k = 1,2,., N ),为期望输出。 为学习效率。 n为迭代次数。 第二步,初始化,赋给 WM 1 (0),WIJ (0),WJP (0) 各一个较小的随机非零值,n=0。 第三步,随机输入样本 X k 第四步,对输入样本X k ,前向计算BP网络每层神经元的输入信号u和输

5、出信号v。 p 其中 v p (n) = ykp (n), p = 1,2. p第五步,由期望值输出 d k 和上一步求得的实际输出 Yk (n) 计算误差 E(n), 判断是否满足要求,若满足转至第八步;不满足转至第六步。 第六步,判断是否大于最大迭代次数,若大于转至第八步, 若不大于,对输入样本,反向计算每层神经元的局部梯度。 其中 pp (n) = y p (n)(1 ? y p (n)(d p (n) ? y p (n), p = 1,2,., P jJ (n) = f (u J (n) pp (n) w jp (n), j = 1,2,.J jp =1 J p (n) = f (u

6、(n) jJ (n) wij (n), i = 1,2,., II i I i j =1第七步,按下式计算权值修正量,并修正权值;n=n+1,转至 第四步。 P ?w jp (n) = p (n)v J (n) w jp ( n + 1) = w jp (n) + ?w jp (n) j = 1,2,., J ; p = 1,2,., P j?wij (n) = jJ (n)viI (n) wij (n + 1) = wij ( n) + ?wij ( n) j = 1,2,., I ; p = 1,2,., J?wmi (n) = iI ( n) xkm ( n) wmi (n + 1) =

7、 wmi (n) + ?wmi (n)j = 1,2,., M ; p = 1,2,., I第八步,判断是否学完所有的训练样本,是则结束,否则 转至第三步。 BP学习注意的问题一、BP学习时权值初始值的选择初始值应选为均匀分布的小数经验值,大概为(-2.4/F,2.4/F) 之间。 并将初始权值设为随机数。 用matlab可用以下语句W 1 ( 0 ) =rand( , )二、当神经元的激励函数是sigmoid函数时, 应设期望值输出为相应的小数。 三、BP算法训练网络的方式:顺序方式和批 处理方式。 顺序方式:临时存储空间小,训练速度快 批处理方式:精确的计算梯度向量,误差收敛条件简单,易

8、与并行处理。 1 N 1 N P 2 Eav = Ek = 1 1 ekp N k =1 2N K = p=四、学习步长的选择过大或过小都不好,关系着权值的变化和BP的收敛速度,过 大会引起振荡。 通常调整值使网络中和各神经元的学习速 度相差不多。 还可以通过加入“动量项”的方法。 五、局部梯度的计算,需要激励函数的导数。 通常选奇函数作为激励函数,非线性的sigmoid函数,有两 种形式:逻辑函数和双曲正切函数六、误差E(n)的判断顺序方式: E (n) < 批处理方式:每个训练周期的平均误差Eav其变化量在0.1%1%之间。 七、训练样本的输入在第一步设置时,一般是同一类的训练样本其

9、期望输出相同。 八、输入信号归一化使所有样本的输入信号其均值接近零或与其标准方差相比比 较小。 归一化输入信号应注意: (1)用主向量分析法使训练样本的输入信号互不相关。 (2)归一化互不相关的输入信号,使得他们的方差基本相 同,从而是不同权值的学习速度基本相同。 九、在学习过程或中可以利用out(.)的先验 知识,加快学习效率。 BP神经网络的特点非线性映射能力能学习和存贮大量输入-输出模式映射关系, 能学习和存贮大量输入 输出模式映射关系,而无需事先了解描述 输出模式映射关系 这种映射关系的数学方程。 这种映射关系的数学方程。 只要能提供足够多的样本模式对供网 络进行学习训练,它便能完成由

10、n维输入空间到 维输入空间到m维输出空间的非 络进行学习训练,它便能完成由 维输入空间到 维输出空间的非 线性映射。 线性映射。 泛化能力当向网络输入训练时未曾见过的非样本数据时, 当向网络输入训练时未曾见过的非样本数据时,网络也能完成由 输入空间向输出空间的正确映射。 这种能力称为泛化能力。 输入空间向输出空间的正确映射。 这种能力称为泛化能力。 容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影 响很小。 响很小。 BP神经网络学习算法的MATLAB实现MATLAB中BP神经网络的重要函数和基 本功能函数名 newff() tansig() logsig() traingd

11、() 功 能 生成一个前馈BP网络 双曲正切S型(Tan-Sigmoid)传输函数 对数S型(Log-Sigmoid)传输函数 梯度下降BP训练函数MATLAB中BP神经网络的重要函数和基本功能newff() 功能 建立一个前向BP网络 格式 net = newff(PR,S1 S2.SN1,TF1 TF2.TFN1,BTF,BLF,PF) 说明 net为创建的新BP神经网络;PR为网络输入 net BP PR 取向量取值范围的矩阵;S1 S2SNl表示网络隐 含层和输出层神经元的个数;TFl TF2TFN1表 示网络隐含层和输出层的传输函数,默认为 tansig;BTF表示网络的训练函数,默

12、认为 trainlm;BLF表示网络的权值学习函数,默认为 learngdm;PF表示性能数,默认为mse。 MATLAB中BP神经网络的重要函数和基本功能 tansig()功能 正切sigmoid激活函数 格式 a = tansig(n) 说明 双曲正切Sigmoid函数把神经元的输入范围从(-,+) 映射到(-1,1)。 它是可导函数,适用于BP训练的神经元。 logsig()功能 对数Sigmoid激活函数 格式 a = logsig(N) 说明对数Sigmoid函数把神经元的输入范围从(-,+)映射 到(0,1)。 它是可导函数,适用于BP训练的神经元。 Matlab中nntool的基

13、本应用在MATLAB命令窗口中键入nntool再按enter, 会自动弹出下面的Network/Data Manager窗 口画面。 Inputs:输入值 Targets:目标输出值 Input Delay States:输入值欲延迟时间 Networks:已建构的网络 Outputs:输出值 Errors:误差值 Layer Delay States:输出值欲延迟时间Help:有关于此工具箱各个按钮的说明 New Data.:建立新网络所须输出入值、 目标值、误差、延迟 New Network.:建立新网络的类型、训练 函数、学习函数、隐藏层层数等 Import.:汇入数据与网络 Expor

14、t.:汇出数据与网络 Delete:移除所选取的数据或网络建立一个新的网络Network Name:输入网络名称,如test。 Network Type:网络类型,如Feed-forward backprop。 Input ranges:输入的范围,如Get from input p,由下拉式 选单选取。 Training function:训练函数,如TRAINLM(LM算法)。 Adaption learning function:适应性学习函数,如 LEARNGDM(具动量的梯度下降法) Performance function:性能函数,如MSE(均方误差)。 Number of la

15、yers:隐藏层的层数,如 2。 Properties for:由下拉式选单选取欲进行设定的隐藏层,如 Layer 1。 Number of neurons:隐藏层1中神经元的数目,如 15。 Transfer function:隐藏层1所使用的转移函数类型,如 TANSIG。 建立网络后epochs:训练的最大循环次数 goal:性能目标 max_fail:最大验证数据失败的次数 mem_reduc:降低内存需求的系数 min_grad:最小性能梯度 mu:动量的初始值 mu_dec:动量减少系数 mu_inc:动量增加系数 mu_max:动量最大值 show:每格多少训练循环次数会显示训练过程 time:最大的训练所须时间,单位为秒谢谢大家!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1