神经网络建模[精选].ppt

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

人工神经网络建模 数学与信息科学系 1、神经网络简介 1.1、人工神经元模型 人工神经元的三个要素 1.2激活(传递)函数的取法 1.3、网络结构以及工作方式 从连接方式看NN主要有两种网络拓扑结构: 前馈型网络:结点分为输入单元和计算单元 反馈型网络:所有结点都是计算单元 NN的工作过程主要分为两个阶段: 第一阶段:学习期,此时个计算单元状态不变,各连线上的权值可通过学习来修改 第二阶段:工作期,此时各连接权值固定,计算各单元状态变化 网络结构:前馈型神经网络 多层神经元网络 中间层的输出就是下一层的输入。第二层可看作有S1个输入,S2个神经元和S1xS2 阶权重矩阵W2 的单层网络。第二层的输入是a1,输出是a2,现在我们已经确定了第二层的所有向量和矩阵,我们就能把它看成一个单层网络了。其他层也可以照此步骤处理。 多层网络的功能非常强大。例、一个两层的网络,第一层的转移函数是曲线函数,第二层的转移函数是线性函数,通过训练,它能够很好的模拟任何有有限断点的函数。这种两层网络集中应用于“反向传播网络”。 注意:我们把第三层的输出a3标记为y。我们将使用这种符号来定义这种网络的输出。 1.4创建网络 1.5数据结构:影响网络仿真的输入数据结构的格式 动态网络中的异步输入仿真:当网络中存在延迟时,顺序发生的输入向量就要按一定的序列输入网络。为了演示这种情况,我们以一个有延迟的简单网络为例。 动态网络中的同步输入仿真 如果我们在上例中把输入作为同步而不是异步应用,我们就会得到完全不同的响应。这就好象每一个输入都同时加到一个单独的并行网络中。在前一个例子中,如果我们用一组同步输入,我们有: p1=[1], p2=[2],p3=[3], p4=[4] 这可用下列代码创建: P =[1 2 3 4]; 模拟这个网络,我们得到: A = sim(net,P) A = 1 2 3 4 在某些特定的情况下,我们可能想要在同一时间模拟一些不同序列的网络响应。这种情况我们就要给网络输入一组同步序列。比如说,我们要把下面两个序列输入网络: p(1)=[1], p(2)=[2],p(3)=[3], p(4)=[4] p(1)=[4], p(2)=[3],p(3)=[2], p(4)=[1] 输入 P应该是一个细胞数组,每一个数组元素都包含了两个同时发生 的序列的元素。 P = {[1 4] [2 3] [3 2] [4 1]}; 现在我们就可以模拟这个网络了: A = sim(net,P); 网络输出结果将是: A = {[ 1 4] [4 11] [7 8] [10 5]} 可以看到,每个矩阵的第一列是由第一组输入序列产生的输出序列,每个矩阵的第二列是由第二组输入序列产生的输出序列。这两组序列之间没有关联,好象他们是同时应用在单个的并行网络上的。 前面的讨论中,不论是作为一个同步向量矩阵输 入还是作为一个异步向量细胞数组输入,模拟的 输出值是一样的。 在训练网络时,这是不对的。当我们使用adapt函 数时,如果输入是异步向量细胞数组,那么权重 将在每一组输入提交的时候更新(就是增加方 式);如果输入是同步向量矩阵,那么权重将只 在所有输入提交的时候更新(就是批处理方式)。 1.6训练方式 两种不同的训练方式 (1)增加方式:每提交一次输入数据,网络权重和偏置都更新一次; (2)在批处理方式中:仅仅当所有的输入数据都被提交以后,网络权重和偏置才被更新. 增加方式(应用于自适应网络和其他网络) 虽然增加方式更普遍的应用于动态网络,比如自适应滤波,但是在静态和动态网络中都可以应用它。 静态网络中的增加方式 用增加方式来训练静态同步仿真中的例1,这样每提交一次输 入数据,网络权重和偏置都更新一次。 在此我们用函数adapt,并给出输入和目标序列:假定我们要 训练网络建立以下线性函数: t=2p1+p2 . 我们的输入是: 目标输出是: t1=[4],t2=[5] ,t3=[7] ,t4=[7] 首先用0初始化权重和偏置。为了显示增加方式的效果,先把 学习速度也设为0。 net = newlin([-1 1;-1 1],1,0,0); net.IW{1,1} = [0 0]; net.b{1} = 0; 为了用增加方式,我们把输入和目标输出表示为以下序列: P = {[1;2] [2;1] [2;3] [3;1]}; T = {4 5 7 7}; 用增加方式训练网络: net = newlin([-1 1;-1 1],1,0,0); net.IW{1,1} = [0 0]; net.b{1} = 0; P = {[1;2] [2;1] [2;3] [3;1]}; T = {4 5 7

文档评论(0)

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

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

1亿VIP精品文档

相关文档