BP处理异或问题分析.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BP处理异或问题分析

BP神经网络实现“异或逻辑”分析舒小健 S201305025摘要:本文采用matlab神经网络工具箱中的BP网络处理“异或逻辑”。通过使用不同的网络结构、核函数、学习算法,讨论其均方差误差达到0.001时,所需要的迭代次数。结果表明二层神经网络以(L,P)组合训练结果最佳,三层神经网络以(L,P,P)训练结果最佳,且后者的训练速度比前者要快一倍左右;隐含层神经元数个数设置为5个就能达到较快的训练速度;使用LM算法为学习算法将大大提高网络的训练速度,平均迭代次数为3次左右即能达到目标误差。关键词:异或逻辑BP神经网络优化模型引言:BP神经网络是一种由非线性变化单元组成的前馈网络,以sigmoid对数函数、双曲正切函数、线性函数等为核函数,通过误差的反向传导对网络进行训练,以得到期望的输出值,其中BP网络的设计,训练算法的选取对模型的收敛速度有较大的影响。本报告通过构建两层和三层BP神经网络模型,选取不同的核函数、学习算法,不同个数的神经元讨论“异或逻辑”的实现效率,着重对其收敛速度进行对比分析,以得到实现“异或逻辑”较优的BP网络设计。1 问题描述“异或逻辑”,可用计算机语言表述为当输入值为就(0,0),(1,1),(1,0),(0,1)时,期望输出分别为0,0,1,1。采用matlab自带的神经网络工具箱函数分别从隐含层层数,隐含层神经元个数,核函数,学习算法等方面进行分析。讨论其输出值的均方差误减少到0.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]神经网络设置不同的核函数进行讨论,学习函数为标准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,P)21944637417516953227364416302644465024353093(P,L)0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 (P,P)0.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可以看出,当网络隐含层设置成两层时,情况就变得复杂多样,当只有一层隐含层神经网络不能在规定的训练次数内达到目标误差时,通过增加隐含层并设置适宜的核函数可以达到增快训练速度的目的。如表1中(P,P)不能达到精度,但通过增加隐含层P在规定最大训练次数内达到目标精度。但如果网络函数设定不当,会使得训练结果变得更糟,从表2中可以看出最好的训练核函数组合为(L,P,P),该组能够在迭代次数为1000次左右达到训练精度。总体上来说,以sigmoid函数L为输出层函数的网络组合普遍比线性函数P为输出函数的训练速度慢。表2 网络设置为[4,4,1]两个隐含层和输出层不同的激活函数选取实验结果对比核函数设置12345678910平均值(P,P,P)2349215719154818426380182847355530679603395(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.1

文档评论(0)

3774384 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档