bp算法实际例子与程序

bp算法实际例子与程序

ID:12766266

大小:191.00 KB

页数:13页

时间:2018-07-18

bp算法实际例子与程序_第1页
bp算法实际例子与程序_第2页
bp算法实际例子与程序_第3页
bp算法实际例子与程序_第4页
bp算法实际例子与程序_第5页
资源描述:

《bp算法实际例子与程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BP算法实际例子与程序1.题目1)训练样本集:等间隔选取的9个样本。检验样本集:等间隔选取的361个样本。2)训练样本集:等间隔选取的9个样本。检验样本集:等间隔选取的361个样本。3)训练样本集1:等间隔选取的11×11个样本,应包含2个最高点。训练样本集2:等间隔选取的21×21个样本,应包含2个最高点。。检验样本集:等间隔选取的31×31个样本,或41×41个样本2.BP算法原理BP网络简介误差反向传播算法(BP)是感知器学习规则当前著名发展,其中增加了额外的隐含层(在输入层和输出层之间,它不予外界直接相连)。网络拓扑结构被限定为前向输入:例如,由输入层向第一隐含层(或许

2、只有一层)传输,由第一隐含层向第二隐含层传输,……,或者从最后隐含层向输出层传输,如图1所示,这是一个典型的BP神经网络结构。它包含了三层。隐含层学习对输入层信息重编码(或者说是重复表达输入层信息)。可以使用多于一层的隐含层,这时网络的功能要比单独一层隐含层时功能强大的多。可以证明,一个含有两层隐含层的神经网络可以学习任何映射。这种含两层隐含层的神经网络也就是比原来含有一层隐含层的网络稍微复杂了一些。训练BP网络的权值调整规则是感知器学习规则的发展。权值调整是通过与输出误差的比较调整实现的。图1、BP网络结构网络的运行包括:1)前向通道:计算输出层的输出结果和误差2)后向通道:

3、输出误差用于调整输出单元的权值。隐含节点的误差也可以得到(通过输出层的权值将误差反向传播),这样隐含层的权值也可以调整了。每一个数据都被前向通道和后向通道学习。这样不断重复直到误差小到一个允许的范围(或者说我们停止运行)。BP网络最常用的工作形式是这样的:1)权值和阈值随机取为很小的数据2)输入训练采样,按下面3)—5)步运行每一采样值3)计算网络中每一层的输出(i)4)计算训练误差,输出层误差(ii),隐含层和输入层误差(iii)5)修正权值和阈值(iv)(v)6)所有采样值都完成了3)—5)步后,一次训练周期结束。计算误差情况:7)如果满足E≦e,则结束训练。或者返回步骤2

4、),开始下一个训练周期。执行过程根据BP网络规范,我们可以得到现在的BP网络算法流程图如下图2,按照这一思路,我使用Matlab语言完成了BP神经网络程序设计。NoYes参数设定计算和保留所有层的输出修改并保留权值和阈值初始化权值和阈值满足要求?计算并保留误差结束Yes训练周期图2、BP神经网络算法流程图BP网络的运行细节是这样的:1、为BP网络设定参数。如,隐含层数、神经元个数、精度等等2、按照随机的规则初始化权值和阈值3、使用等式(i)计算每层的输出4、按照等式(ii)或(iii)计算每层的误差5、通过等式(iv)和(v)重复计算权值和阈值6、计算同一周期内所有采样值的误差

5、和E7、比较E与我们的期望值并做出判断。如果满足要求的话,或者停止运行或者返回步骤3)重复执行一个新的周期1.结果分析以下结果分析中,样本学习率都取u=0.2,动量项的学习率都取n=0.05。4.1y=sinx下图4.1.1—图4.1.3为不同的隐含层神经元数和不同的性能指标E所得到的曲线:图4.1.1隐含层神经元数为4,性能指标E=0.05图4.1.2隐含层神经元个数为8,性能指标E=0.05图4.1.3隐含层神经元数为8,性能指标E=0.01分析:(1)从图4.1.1和图4.1.2中可以看出,对于同样的性能指标,其训练次数会随着隐含层神经元个数的增加;比较图4.2和图4.3

6、可以发现,对应同样数目的隐含层神经元个数,性能指标要求越高,训练次数会相应变多,甚至出现在规定的次数内(程序中最多进行20000此BP训练),性能指标不能满足要求的情况。(2)从上述三个曲线中可以发现,总体误差会随着训练次数的增加而不断趋于0,且越到后面,变化越不明显。(3)从样本与训练结果的误差曲线中可以发现,在样本点的附近,样本与训练结果的误差比较小;在远离样本点的区域,样本与训练结果之间的误差明显变大。4.2y=

7、sinx

8、样本学习率和动量项的学习率保持不变,只需在上述程序的基础上,将函数y=sinx变换到y=

9、sinx

10、。下图4.2.1—图4.2.3为不同的隐含层神经元

11、数和不同的性能指标E所得到的曲线:图4.2.1隐含层神经元数为4,性能指标E=0.05图4.2.2隐含层神经元个数为8,性能指标E=0.05图4.2.3隐含层神经元数为8,性能指标E=0.001图4.3.1异或训练结果曲线4.3下图4.4.1—4.4.2所示为程序运行后的曲线:图4.4.111*11图4.4.221*21附录1:1、2两题clearallcloseallx0_0=linspace(0,2*pi,9);x0=x0_0;D=sin(x0_0);%D=abs(sin(x0_0));

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。