BP处理异或问地的题目分析报告报告材料

上传人:pu****.1 文档编号:457719776 上传时间:2022-11-29 格式:DOC 页数:10 大小:89KB
返回 下载 相关 举报
BP处理异或问地的题目分析报告报告材料_第1页
第1页 / 共10页
BP处理异或问地的题目分析报告报告材料_第2页
第2页 / 共10页
BP处理异或问地的题目分析报告报告材料_第3页
第3页 / 共10页
BP处理异或问地的题目分析报告报告材料_第4页
第4页 / 共10页
BP处理异或问地的题目分析报告报告材料_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《BP处理异或问地的题目分析报告报告材料》由会员分享,可在线阅读,更多相关《BP处理异或问地的题目分析报告报告材料(10页珍藏版)》请在金锄头文库上搜索。

1、wordBP神经网络实现“异或逻辑分析舒小健 S201305025摘要:本文采用matlab神经网络工具箱中的BP网络处理“异或逻辑。通过使用不同的网络结构、核函数、学习算法,讨论其均方差误差达到0.001时,所需要的迭代次数。结果明确二层神经网络以L,P组合训练结果最优,三层神经网络以L,P,P训练结果最优,且后者的训练速度比前者要快一倍左右;隐含层神经元数个数设置为5个就能达到较快的训练速度;使用LM算法为学习算法将大大提高网络的训练速度,平均迭代次数为3次左右即能达到目标误差。关键词:异或逻辑BP神经网络优化模型引言:BP神经网络是一种由非线性变化单元组成的前馈网络,以sigmoid对数

2、函数、双曲正切函数、线性函数等为核函数,通过误差的反向传导对网络进展训练,以得到期望的输出值,其中BP网络的设计,训练算法的选取对模型的收敛速度有较大的影响。本报告通过构建两层和三层BP神经网络模型,选取不同的核函数、学习算法,不同个数的神经元讨论“异或逻辑的实现效率,着重对其收敛速度进展比照分析,以得到实现“异或逻辑较优的BP网络设计。1 问题描述“异或逻辑,可用计算机语言表述为当输入值为就0,0,1,1,1,0,0,1时,期望输出分别为0,0,1,1。采用matlab自带的神经网络工具箱函数分别从隐含层层数,隐含层神经元个数,核函数,学习算法等方面进展分析。讨论其输出值的均方差误减少到0.

3、001所需要的迭代次数,或者在迭代次数达到设定最大次数10000次时,所输出的均方差误差值的大小,具体分析见下文。2 结果与分析2.1 不同隐含层层数,核函数选取Matlab神经网络工具箱提供核函数有sigmoid函数logsig,线性函数purelin,双曲正切函数tansig等。由于sigmoid函数与双曲正切函数同属于非线性函数,因此本文核函数仅限于非线性和线性函数进展讨论,选取logsig和purelin函数为讨论函数,在下文中将二者简称为L和P。设置学习效率为0.01,最大训练次数为10000次,期望均方差误差为0.001,将隐含层的细胞数限定为4个,分别对二层4,1和三层4,4,1

4、神经网络设置不同的核函数进展讨论,学习函数为标准BP算法traingd,由于工具箱函数的各层的初始权重是随机分配的,所以对每种核函数设置都进展10次重复试验取平均值进展讨论,其中表中小数表示训练均方差误差,即训练次数达到最大训练次数10000次时的训练误差;整数表示迭代次数,即训练达到训练目标误差时所对应的训练次数。训练结果如表1和表2所示:表1 网络设置为4,1隐含层和输出层不同的激活函数选取实验结果比照核函数设置12345678910平均值(L,L)0.37 0.07 0.02 0.07 0.14 0.08 0.02 0.04 0.14 0.26 0.12 L,P2194463741751

5、6953227364416302644465024353093P,L0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 P,P0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 由表1可以看出隐含层核函数的设置很重要,当隐含层核函数设置为sigmoid函数时,其均方差误差普遍小于设置为线性函数的误差;而且在其输出层的核函数设置为线性函数时,能在最大限定训练次数内达到训练目标误差0.001。由表2可以看出,当网络隐含层设置成两层时,情况就变得复杂多样,当只有一层隐含层神经网络不能在

6、规定的训练次数内达到目标误差时,通过增加隐含层并设置适宜的核函数可以达到增快训练速度的目的。如表1中P,P不能达到精度,但通过增加隐含层P在规定最大训练次数内达到目标精度。但如果网络函数设定不当,会使得训练结果变得更糟,从表2中可以看出最好的训练核函数组合为L,P,P,该组能够在迭代次数为1000次左右达到训练精度。总体上来说,以sigmoid函数L为输出层函数的网络组合普遍比线性函数P为输出函数的训练速度慢。表2 网络设置为4,4,1两个隐含层和输出层不同的激活函数选取实验结果比照核函数设置12345678910平均值(P,P,P)234921571915481842638018284735

7、5530679603395(L,P,P)70122056411531455602140574739455291276(L,L,P)5559272218621000021432461100003090297531124392(L,L,L)0.049 0.033 0.240 0.031 0.042 0.139 0.129 0.251 0.141 0.154 0.121 (P,L,L)0.017 0.022 0.015 0.080 0.153 0.017 0.020 0.018 0.171 0.025 0.054 (P,P,L)计算梯度很快降到1e-5以下,误差只能收敛到0.25,不能达到要求(L,

8、P,L)0.002 0.002 0.003 0.003 0.001 0.002 0.002 0.002 0.002 0.003 0.002 (P,L,P)3065100003296100003239233463499571189039705371由上述分析可知,二层神经网络以L,P组合训练结果最优,三层神经网络以L,P,P训练结果最优,且后者的训练速度比前者要快一倍左右。故采用适宜的神经网络设计方案,就异或问题而言,三层的网络比二层网络训练速度快。2.2 神经元个数对网络的影响就神经元个数对网络影响的讨论,为简洁起见,以二层神经网络分析为例,网络训练参数均采用2.1中设置方式,隐含层的核函数设

9、置为sigmoid函数,输出层函数设置为线性函数,通过设置不同的神经元个数,分别对网络训练效果进展讨论,得到了如表3所示的结果。从表中可以看出,隐含层神经元的个数的变化对训练效果的影响,随着神经元个数的增多,达到目标误差的平均训练次数之减少,在神经元个数小于5个时,训练速度的提升比拟的明显,产生较少训练次数的几率也随着神经元个数的增多而增大,但到5个之后,这种影响就变得不那么显著。实际上随着神经元个数的增加,所占用的计算机资源也随之增大,所以神经元个数的选择不宜太大,故解决异或问题隐含层使用5个神经元较为合理。表3 隐含层不同神经元个数的设置对网络训练效果的影响隐含层神经元设置12345678

10、910平均2,1100001000010000100003387100001000069683650100008400 3,150411000010000221914892479449845391000095135978 4,1100001303149596984160361417044064199821724021 5,12800285915051633207915421189146611918891715 6,1220534161077133715251680134877010819181536 7,132711013864714103188810059397938811140 8,127

11、564214166001028827763589802545749 2.3 对学习函数的讨论Matlab的BP神经网络工具箱提供了标准BP算法traingd,动量梯度下降算法traingdm,共轭梯度算法traincgf,LM算法trainlm等学习函数,引用2.1,2.2的结论,设计三层结构5,5,1,核函数为L,P,P的神经网络模型,其它参数同2.1,训练结果如表4所示。从表中可以看出,学习函数对达到训练目标需要的迭代次数影响非常明显,不同的学习函数的迭代次数相差很大,标准BP平均需要1000次左右,共轭算法平均需要20次,而LM算法平均仅仅需要3次,说明好的学习函数对训练速度起相当重要的

12、作用。表4 不同学习算法使用后达到训练目标的迭代次数学习算法12345678910平均traingd12981702743999988127362840990045091344traingdm562611713889992214134423015021106614652247traincgd2091095103940103719trainlm22223223232通过绘制四种学习函数对网络的训练过程,清晰展现出神经网络的训练速度随迭代次数之间的关系,如图1所示,标准BP算法训练呈S型,一开始收敛梯度较大,但经过一定的迭代次数之后计算梯度变小,使得到达目标误差的迭代次数较多;动量梯度算法有所改善

13、,依然需要较多的迭代次数;共轭梯度算法对训练有了很大的改良,大大增加了每次迭代的梯度;LM算法更是收敛梯度极大,很快收敛到目标误差。充分说明将LM算法应用于处理异或问题可以极大提高BP神经网络的收敛速度。A:traingd B:traingdmC:traincgd D:trainlm图1 A表示标准BP算法训练结果,B表示动量梯度下降算法训练结果; C表示共轭梯度算法训练结果,D表示LM算法训练结果3 结论通过使用matlab的BP神经网络工具箱实现异或逻辑,对其神经网络结构参数、核函数、学习函数进展讨论,进一步的了解不同参数对BP神经网络算法训练速度的影响,得到了如下的结论。二层神经网络以L,P组合训练结果最优,三层神经网络以L,P,P训练结果最优,且后者的训练速度比前者要快一倍左右。随着隐含层神经元个数的增多,训练达到目标误差的平均训练次数会随之减少,在神经元个数小于5个时,训练速度的提升比拟明显,产生较少训练次数随之增大;但到5个之后,这种影响就变得不那么显著。学习函数对达到训练目标需要的迭代次数影响非常明显,不同的学习函数的迭代次数相差很大,标准BP平均需要1000次左右,共轭算法平均需要20次,而LM算法平均仅仅需要3次,说明好的学习函数对训练速度起相当重要的作用。LM算法应用于处理异或问题可以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号