神经网络工具箱.doc_第1页
神经网络工具箱.doc_第2页
神经网络工具箱.doc_第3页
神经网络工具箱.doc_第4页
神经网络工具箱.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络工具箱 神经网络 该网络收到35布尔值为35元输入向量。然后要求 确定的信作出答复,以26元的输出载体。 26个要素的输出 载体每个代表的信。要正确运行,该网络应以1 立场信提交给网络。所有其他值输出载体应 为0 。 此外,该网络应该能够处理噪音。在实践中,没有收到网络 一个完美的布尔向量作为输入。具体来说,该网络应少作错误的 分类时,可能与噪声向量意味着0 ,标准偏差为0.2或更低。 建筑 神经网络需要投入35元和26日在其输出层,以确定字母。那个 网络是一个两层登录乙状结肠/登录乙状结肠网络。登入乙状结肠传递函数 选择,因为它的输出电压范围( 0至1 )是完美的学习输出布尔值。 隐藏(一)层有10个神经元。这是挑选一些猜测和经验。如果 该网络的学习问题,那么神经细胞可以被添加到这一层。 该网络的培训输出1的正确立场和输出向量,以填补其余 输出载体0的。然而,噪声输入载体可能导致网络无法创造 完美的1和0的。在网络训练输出是通过竞争 传递函数竞争。这可以确保输出相应的信最喜欢 喧闹的需要对输入向量的值为1 ,和所有其他的值为0 。这样做的结果 后处理是输出,实际使用。 初始化 双层网络创建newff 。 一= 10 ; R厂 =大小(拼音) ; 二厂 =大小(目标) ; P值的字母; 净额= newff (最小最大(规划) , 中一中二 , ( logsig logsig ) , traingdx ) ; 神经网络工具箱 导言 反向是由泛化的Widrow -霍夫学习规则的多层 网络和非线性微转移的职能。输入向量和相应的 目标向量用来训练网络,直到它可以近似函数,准投入 载体具体输出载体,或分类输入矢量以适当的方式所定义的 您。网络的偏见,一个乙状结肠层,和一个线性输出层有能力 逼近任何函数的有限数量的不连续性。 标准反向传播是一种梯度下降法,这是因为Widrow -霍夫学习规则, 该网络的重量是沿着负梯度的业绩 功能。任期反向是指以何种方式计算的梯度 非线性多层网络。有一些变化的基本算法,该算法是 其他标准的基础上优化技术,如共轭梯度法和牛顿 方法。神经网络工具箱实现其中的一些变化。本章 说明如何使用所有这些例程和讨论的优点和缺点 每个。 适当的培训反向网络往往给予合理的答案时提出 投入,他们从来没有见过。一般来说,一个新的输入导致输出类似于正确 输出输入矢量用于培训类似的新的投入提交。这个 泛化财产可以培训网络一批有代表性的输入/目标 对取得好成绩,并没有培训网络在所有可能的输入/输出对。那里 有两个特征的神经网络工具箱,目的是提高网络 泛化-正规化和提前停止。这些功能和使用进行了讨论 后来在这一章。 本章还讨论了预处理和后处理技术,可以即兴表演 效率的网络培训。 在开始这一章您可能想读的一个基本的参考,对倒,硫 作为D.E鲁梅哈特, G.E.寒春, R.J.威廉姆斯, “学习内部交涉错误 传播“ 4鲁梅哈特和J.马克特兰德,编辑。并行数据处理,第16卷,第一章 ,该M.I.T.出版社,剑桥,马1986年页。 318-362 。这个问题也包括在详细 章11和12 M.T.哈根, H.B.德穆思女士, M.H.比尔,神经网络设计,鲜红斑痣 出版公司,马萨诸塞州波士顿1996年。 的主要目标,这一章解释了如何使用反向训练 在工具箱中的职能训练前馈神经网络,以解决具体问题。那里 一般四个步骤的培训过程: 1.Assemble的训练数据 2Create网络对象。 3.Train网络 4.Simulate网络针对新的投入 本章讨论了一些不同的培训职能,但在使用每个功能我们 一般按以下四步操作。 下一节,基础,描述了基本的前馈网络结构和 演示如何创建一个前馈网络的对象。然后,模拟和训练 网络对象提出。 基本面 建筑 本节介绍的结构网络是最常用的 BP算法-多层前馈网络。例程中的神经 网络工具箱可以用来培训更多的普通网络;其中一些将简要 讨论了在以后的章节。 神经元模型( tansig , logsig , purelin ) 小学神经与R投入所示。每个输入加权适当 瓦特的总和,加权投入和偏见的投入形式的传递函数楼神经元 可以使用任何微转移函数f生成其输出。 多层网络经常使用的登录乙状结肠传递函数logsig 。 功能logsig产生产出0和1之间的神经元的净投入将从 负转正至无限远。 另外,多层网络可以使用郯乙状结肠传递函数tansig 。 有时,线性传递函数purelin中使用反向传播网络。 如果过去层的多层神经网络的乙状结肠,那么产出的网络 仅限于小范围。如果线性输出神经元的网络使用的产出可以采取任何 价值。 在倒,重要的是能够计算出任何衍生物的传递函数 使用。每个转让上述职能, tansig , logsig ,并purelin ,有一个相应的 衍生功能: dtansig , dlogsig ,并dpurelin 。要获得的名称传递函数的 相关的衍生工具的功能,呼叫转移功能的字符串 deriv 。 tansig ( deriv ) 答= dtansig 三个传递函数描述以下是最常用的传递函数为 反向传播,但其他微传递函数可以创建和使用 反向的话。见高级主题。 前馈网络 单层网络的S logsig神经元具有R投入见下表充分详细 左一层图的权利。 前馈网络往往有一个或多个隐层神经元乙状结肠随后 线性输出层的神经元。多层次的神经元的非线性传递函数允许 网络学习非线性与线性关系的输入和输出向量。那个 线性输出层让网络产生的价值范围以外的-1到1 。 另一方面,如果你想限制产出的一个网络(如介于0和1 ) , 那么输出层应该使用乙状结肠传递函数(如logsig ) 。 正如神经元模型和网络架构,为多层网络,我们使用 若干层,以确定上标重量矩阵。适当的 符号中使用两层tansig / purelin网络旁边显示。 该网络可以作为一个普通函数逼近。它可以逼近任意函数 有限数量的不连续性,任意好,给予足够的神经元隐层。 建立一个网络( newff ) 。第一步,训练前馈网络是创造 网络对象。功能newff创建一个前馈网络。它需要四个输入和 返回网络对象。第一个输入是R的2矩阵的最低和最高值 为每一个开发要素的输入向量。第二个输入是一个包含目标数组的大小 各层。第三个输入是一个细胞数组包含的名称,职能将移交 用在每一层。最后输入包含的名称培训功能使用。 例如,下面的命令将创建一个二层网络。有一个输入向量与 两个要素。值的第一个元素的输入向量范围介于-1和2 , 价值的第二个要素的输入向量范围介于0和5 。有3个神经元 在第一层和一个神经元在第二个(输出)层。传递函数在第一 层檀乙状结肠和输出层传递函数是线性的。培训功能 traingd (这是在以后的描述节) 。 净额= newff ( -1 2 ; 0 5 , 3,1 , ( tansig , purelin ) , traingd ) ; 此命令创建网络对象并初始化权重和偏见的 网络;因此,该网络已准备好接受训练。有些时候您可能需要 重新初始化的重量,或者执行自定义的初始化。下一节详细解释 在初始化过程。 起始重量(初始化) 。在训练前馈网络的权重和偏见必须 初始化。该newff命令将自动初始化的重量,但您可能希望 重新初始化它们。这是可以做到的命令初始化。此功能需要网络对象 作为输入,并返回一个网络对象与所有的重量和偏见初始化。以下是如何 网络初始化(或重新初始化) : 模拟( SIM卡) 该功能是模拟了一个网络。星际考虑网络输入P和网络对象 NET ,并返回网络输出答:以下是如何使用星际模拟网络我们 上述建立的一个单一输入向量: P值 1 ; 2 ; 1 =星际(净值,磷) 1 = -0.1011 (如果您尝试这些命令中,您的产量可能会有所不同,这取决于该国的随机 数发生器时,该网络初始化。 )以下, SIM卡被称为计算产出 同时成立了三个输入向量。这是批处理模式形式的模拟,使所有 输入向量在一个矩阵。这是更有效的比介绍 矢量图一次。 P值 1 3 2 ; 2 4 1 ; 1 =星际(净值,磷) 1 = 训练 一旦网络的重量和偏见已经初始化,该网络已准备好接受训练。那个 网络可以训练的函数逼近(非线性回归) ,模式协会,或 模式分类。训练的过程,需要一套适当的例子,网络行为 -网络输入p和目标产出吨在训练中的权重和偏见的网络 反复调整,以尽量减少网络性能功能net.performFcn 。默认 性能函数的前馈网络的均方误差均方差-平均平方 错误之间的网络输出和目标产出吨 其余的这一章介绍了几种不同的训练算法,前馈 网络。所有这些算法使用梯度功能的表现,以确定如何 调整权重,尽量减少性能。梯度决心利用技术 所谓反向传播,其中包括执行计算向后通过网络 的反向计算得出使用链和法治的演算中所描述 第11章 HDB96 。 基本反向传播训练算法,其中权重移动的方向 负梯度,描述在下一节。后面各节描述更加复杂 算法,提高收敛速度。 BP算法 还有很多变化的BP算法,其中一些我们在此讨论 第二章。最简单的执行反向学习更新网络权 和偏见的方向,功能下降的表现最为迅速-的 负梯度。一个迭代该算法可以这样写: 那里是一个载体,目前的体重和偏见,是当前梯度,是 学习率。 有两种不同的方法,使这一梯度下降法来执行: 渐进模式和批处理模式。在增量模式下,梯度计算和 更新后重每个输入适用于网络。在批处理模式下的所有投入 适用于网络之前,权重更新。下一节描述了一批 模式的培训;增量培训将讨论以后的篇章。 间歇训练(培训) 。在批处理模式下的权重和偏见的网络更新只 在整个训练集已应用到网络上。梯度计算每个 培训例如相加来确定权重的变化和偏见。对于 讨论的间歇训练的BP算法见页12月7日的 HDB96 。 批处理梯度下降( traingd ) 。批处理最速下降培训职能是traingd 。 的重量和偏见更新的方向负面梯度的业绩 功能。如果你想培养一个网络使用批处理最速下降,您应该设置网络 trainFcn以traingd ,然后呼叫的功能训练。只有一个培训职能 与特定的网络。 有七个培训参数与traingd :时代,查看,目标,时间, min_grad , max_fail和藻毒素LR 。学习率表LR乘以倍负面梯度 确定修改权和偏见。较大的学习率,越大 第一步。如果学习速率太大了,该算法将变得不稳定。如果是学习率 设置太小,该算法需要很长时间才能趋于一致。见页12月8日的 HDB96 为 讨论的选择,学习率。 训练状态显示为每个显示迭代算法。 (如果显示是设定为男, 那么,培训的地位不会显示。 )其他参数确定何时培训站 培训站,如果迭代次数超过时代,如果性能功能下降 以下的目标,如果严重的坡度小于mingrad ,或者是更长的训练时间 超过时间秒。我们讨论max_fail ,这与早期停止技术 在这一节的改善泛化。 下面的代码创建了一个培训的投入, P和目标吨批次培训,所有的 输入向量被放置在一个矩阵。 P值 -1 -1 2月2日; 0 5 0 5 ; 吨= -1 -1 1月1日 ; 下一步,我们创造了前馈网络。在这里,我们使用的功能,以确定最小最大 一系列的投入用于建立网络。 净额= newff (最小最大(规划) , 3,1 , ( tansig , purelin ) , traingd ) ; 在这一点上,我们可能要修改一些默认的培训参数。 net.trainParam.show = 50 ; net.trainParam.lr = 0.05 ; net.trainParam.epochs = 300 ; net.trainParam.goal = 1e - 5 ; 如果你想使用默认的训练参数,上述命令是没有必要的。 现在,我们已经准备好训练网络。 培训记录文包含有关进展情况的培训。一个例子,它的使用 给出了样品培训会议即将结束的这一章。 现在受过训练的网络可以模拟获得答复投入训练集。 1 =星际(净值,磷) 1 = -1.0010 -0.9989 1.0018 0.9985 尝试使用神经网络设计演示nnd12sd1 HDB96 的说明 性能批次梯度下降法。 批处理梯度下降与动量( traingdm ) 。除了traingd ,有 另一批算法的前馈网络,通常提供更快的收敛- traingdm ,速下降的势头。势头使得网络不仅响应 当地梯度,而且最近的趋势在错误的表面。代理像一个低通滤波器, 势头,使网络功能,忽视小的错误表面。没有动力1 网络可能会停留在一个浅水当地最低限度。随着网络的势头可以通过幻灯片 这种最低限度。见页12月9日的 HDB96 的讨论的势头。 势头可以添加到反向学习,使体重变化等于 总和的一小部分最后体重变化和新的变化所建议的 反向规则。影响的强度,最后体重变化是允许有 介导的势头不变,三菱商事,可之间的任何数字0和1 。当 动量常数为0 ,一个体重变化是完全基于梯度。当势头 常数为1 ,新的体重变化就等同于过去的体重变化与梯度 完全忽视。坡度的计算方法是总结的梯度计算,每个训练 例如,在重量和偏见只是更新后,所有培训例子已 提交。 如果新的业绩功能对某一迭代超出了功能上的表现 以往迭代超过预先确定的比例max_perf_inc (通常是4月1日) ,新的权重 和偏见被丢弃,势头系数mc在设置为零。 批处理形式的梯度下降的势头援引使用培训功能 traingdm 。该traingdm函数调用使用相同的步骤所示的traingd 功能,但在MC , LR和max_perf_inc学习参数都可以设置。 在下面的代码,我们重建我们以前的网络及再使用梯度下降与 势头。训练参数traingdm是一样的traingd ,随着 此外因素的势头MC和最高的性能提升max_perf_inc 。 (在 培训参数重置为默认值时net.trainFcn设置为traingdm 。 ) P值 -1 -1 2月2日; 0 5 0 5 ; 吨= -1 -1 1月1日 ; 净额= newff (最小最大(规划) , 3,1 , ( tansig , purelin ) , traingdm ) ; net.trainParam.show = 50 ; net.trainParam.lr = 0.05 ; net.trainParam.mc = 0.9 ; net.trainParam.epochs = 300 ; net.trainParam.goal = 1e - 5 ; 网文 =火车(净值,磷,吨) ; 请注意,因为我们重新初始化的重量和偏见,方可接受训练(致电newff再次) , 我们会取得不同的均方误差比我们使用traingd 。如果我们要重新初始化和 列车再次使用traingdm ,我们尚未将获得不同的均方误差。随机选择 初始权重和偏见会影响性能的算法。如果你想比较 表现不同的算法,你应该测试每一个使用几种不同的初始 重量和偏见。您可能希望使用净=的init (净额)重新初始化的重量,而不是 重建整个网络newff 。 尝试使用神经网络设计演示nnd12mo HDB96 的说明 性能批次势头算法。 预处理和后处理 神经网络的训练,可更有效的,如果某些预处理步骤进行 在网络上的投入和目标。在本节中,我们描述一些预处理例程 您可以使用。 MIN和MAX ( premnmx , postmnmx , tramnmx ) 训练前,常常是有用的投入规模和目标,使他们始终属于一 指定的范围。功能premnmx可用于大规模的投入和目标,使他们减少 范围 -1,1 。下面的代码说明了使用这一功能。 肠外营养, minp , maxp ,总氮,薄荷, maxt = premnmx (磷,吨) ; 净额=火车(净值,肠外营养,田纳西州) ; 原来的网络投入和目标中给出了矩阵P和吨归投入 和指标, Pn和总氮,返回将所有属于区间 -1,1 。该载体minp和 maxp包含的最低和最高价值的原始投入,和薄荷和载体 maxt包含的最低和最高价值的原始目标。之后,网络已 经过培训,这些载体应该用来改变任何未来的投入,是适用于 网络。它们有效地成为网络的一部分,就像网络重量和偏见。 如果premnmx用于大规模的投入和目标,那么输出的网络将是 训练有素的生产产出的范围 -1,1 。如果你想要把这些产出回 同一单位,用于原始的目标,那么你应该使用常规postmnmx 。在 下面的代码,我们的网络,模拟训练在过去的代码,然后 转换网络输出回到原单位。 1 =星际(净值,生产通知书) ; 1 = postmnmx ( 1 ,薄荷, maxt ) ; 该网络将输出一个对应于正常化目标总氮。联合国归网络 输出是在同一单位的原始目标吨 如果premnmx用于预处理的训练集数据,那么只要是用来训练网络 新的投入,他们应预处理的最低和最大值是 计算机的训练集。这可以与常规tramnmx 。在 下面的代码,我们还采用了一套新的投入到网络,我们已经培训。 pnewn = tramnmx ( pnew , minp , maxp ) ; anewn =星际(净值, pnewn ) ; 重新= postmnmx ( anewn ,薄荷, maxt ) ; 限制及注意事项 梯度下降算法通常是非常缓慢的,因为它需要小的学习率 稳定的学习。变化的动力通常是速度比简单的梯度下降,因为它 允许高校利率保持稳定,但它仍是太慢了,不适合许多实际 应用。这两种方法通常只能用于训练时增量 理想。您通常会使用以L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论