神经网络建模及Matlab中重要的BP网络函数.docVIP

神经网络建模及Matlab中重要的BP网络函数.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
神经网络建模及Matlab中重要的BP网络函数 一、神经组织的基本特征 ? 1.细胞体是一个基本的初等信号处理器,轴突是信号的输出通路,树突是信号的输入通路。信号从一个神经细胞经过突触传递到另一个细胞。 2.不同的神经元之间有不同的作用强度,称为联接强度。当某细胞收到信号时,它的电位发生变化,如果电位超过某一阈值时,该细胞处于激发态,否则处于抑制状态。 3.两神经元之间的联接强度随其激发与抑制行为相关性的时间平均值正比变化,也就是说神经元之间的联接强度不是一成不变的。这就是生物学上的Hebb律。 二、人工神经元的M-P模型(McCulloch、Pitts,1943) 1.构造一个模拟生物神经组织的人工神经网络的三要素: (1).对单个神经元给出定义; (2).定义网络结构:决定神经元数量及连接方式; (3).给出一种方法,决定神经元之间的联接强度。 2.M-P模型 其中,t表示时间 Si(t)表示第i个神经元在t时刻的状态,Si(t)=1表示处于激发态,Si(t)=0表示处于抑制态 wij表示第j个神经元到第i个神经元的联接强度,称之为权,可正可负 表示第i个神经元在t时刻所接收到的所有信号的线性迭加。 μi表示神经元i的阈值, 可以在模型中增加一个Sk(t)=1神经元k,并且wik=-μi,则阈值可归并到和号中去。 注: 1.M-P神经元虽然简单,但可以完成任何计算。 2.神经元的状态可以取[0,1]中的连续值,如用以下函数代替θ(x): 三、多层前传网络 1.特点: ?????????? 相邻层全互连 ?????????? 同层没有连接 ?????????? 输出与输入没有直接联系 2.各层神经元个数的确定 输入层、输出层的神经元个数由研究对象的输入、输出信息来确定。 隐含层: 3.符号说明 μ:表示一个确定的已知样品的标号; i, j, k:分别对应于输出层、隐含层、输入层的下标; 将第μ个样品的原始数据输入网络时,相应输出单元状态; 将第μ个样品的原始数据输入网络时,相应隐含单元状态; 将第μ个样品的原始数据输入网络时,相应输入单元数据; wij:从隐含层第j个神经元到输出层第i个神经元的联接强度; wjk:从输入层第k个神经元到隐含层第j个神经元的联接强度; 4.网络数据流程 对应于输入层的输入: 隐单元j的输入是: 对应的输出是: 输出单元i收到的迭加信号是: 输出单元i的输出是: 显然输出是所有权w={wij,wjk}的函数 四、向后传播算法(Back-Propagation) 设样品μ在输出单元i上的理想输出为,则函数: ? 表示了在一定的权下,理想输出与实际输出的差异。因此,确定权w的问题化为求E(w)的极小值问题。可以采用最速下降算法。 最速下降算法步骤: 1)任取初始点w0,计算出w0的负梯度方向:-▽E(w0) 2)取新点w1=w0+△w=w0-η▽E(w0),使E(w1)E(w0) 3)判断 其中△w的计算如下: 对于隐单元到输出单元的权的修正量为 其中 对于输入单元到隐单元的权的修正量为 其中 五、Matlab中 BP神经网络的实现 1.BP神经网络的初始化 各层神经元个数,各层神经元之间的连接强度, 各层神经元的传递函数 1).人工初始化 如下例 例1.有一个三输入两层神经网络,隐层有两个对数S形神经元,输出层有一个正切S形神经元,用于预测两个一元目标矢量. p=[0 0.5 -0.2;1 0.2 0.3];%输入 t=[0.5,-0.5];%理想输出 r=3;s1=2;s2=1;%输入层、隐层、输出层的神经元个数 w1=rands(s1,r);%输入层到隐层的连接强度 b1=rands(s1,1); %隐层的阈值 w2=rands(s2,s1); %隐层到输出层的连接强度 b2=rands(s2,1);%输出层的阈值 lr=1;%学习速率 for epoch=1:40 %训练网络40次 a1=logsig(w1*p,b1); %隐层的输出 a2=tansig(w2*a1,b2); %输出层的输出 e=t-a2; %与理想输出的误差 d2=deltatan(a2,e); %输出层的δ值 d1=deltalog(a1,d2,w2); %隐层的δ值 [dw1,db1]=learnbp(p,d1,lr); %进行学习,获取隐层连接强度、阈值的调整值 w1=w1+dw1; %调整隐层的连接强度 b1=b1+db1; %调整隐层的阈值 [dw2,db2]=learnbp(a1,d2,lr); %进行学习,获取输出层连接强度、阈值的调整值 w2=w2+dw2; %调整输出层的连接强度

文档评论(0)

hy840215 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档