欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MATLAB程序代码--人工神经网络及其工程应用(共46页).doc

    • 资源ID:14081362       资源大小:1.61MB        全文页数:46页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB程序代码--人工神经网络及其工程应用(共46页).doc

    精选优质文档-倾情为你奉上MATLAB程序代码-人工神经网络及其工程应用目 录第一章 人工神经网络 3§1.1人工神经网络简介 311 人工神经网络的起源 312 人工神经网络的特点及应用 3§1.2人工神经网络的结构 421 神经元及其特性 522 神经网络的基本类型 62.2.1 人工神经网络的基本特性 62.2.2 人工神经网络的基本结构 62.2.3 人工神经网络的主要学习算法 7§1.3人工神经网络的典型模型 731 Hopfield网络 732 反向传播(BP)网络 833 Kohonen网络 834 自适应共振理论(ART) 935 学习矢量量化(LVQ)网络 11§1.4多层前馈神经网络()模型 1241 BP网络模型特点 1242 BP网络学习算法 134.2.1信息的正向传递 134.2.2利用梯度下降法求权值变化及误差的反向传播 1443 网络的训练过程 1544 BP算法的改进 154.4.1附加动量法 154.4.2自适应学习速率 164.4.3动量-自适应学习速率调整算法 1745 网络的设计 174.5.1网络的层数 174.5.2隐含层的神经元数 174.5.3初始权值的选取 174.5.4学习速率 17§1.5软件的实现 18第二章 遗传算法19§2.1遗传算法简介19§2.2遗传算法的特点 19§2.3遗传算法的操作程序20§2.4遗传算法的设计20第三章 基于神经网络的水布垭面板堆石坝变形控制与预测§3.1概述23§3.2样本的选取 24§3.3神经网络结构的确定25§3.4样本的预处理与网络的训练 2541 样本的预处理 2542 网络的训练 26§3.5水布垭面板堆石坝垂直压缩模量的控制与变形的预测3051 面板堆石坝堆石体垂直压缩模量的控制3052 水布垭面板堆石坝变形的预测 3553 BP网络与COPEL公司及国内的经验公式的预测结果比较 35§3.6结论与建议 38第四章 BP网络与遗传算法在面板堆石坝设计参数控制中的应用§4.1 概述39§4.2遗传算法的程序设计与计算39§4.3结论与建议40参考文献41第一章 人工神经网络§1.1人工神经网络简介11人工神经网络的起源 人工神经网络(Artificial Neural Network,简称ANN)研究的先锋,美国心理学家Warren S McCulloch和数学家Walter H Pitts曾于1943年提出一种叫做“似脑机器”(mindlike machine)的思想,这种机器可由基于生物神经元特性的互连模型来制造,这就是神经学网络的概念。他们构造了一个表示大脑基本组成部分的神经元模型,对逻辑操作系统表现出通用性。随着大脑和计算机研究的进展,研究目标已从“似脑机器”变为“学习机器”,为此一直关心神经系统适应律的心理学家D.O.Hebb于1949年提出了学习模型。1957年Rosenblatt首次提出感知器,并设计一个引人注目的结构。到60年代初期,关于学习系统的专用设计指南有Widrow等提出的Adaline(adaptive linear element,即自适应线性元)以及Steinbuch等提出的学习矩阵。由于感知器的概念简单,因而在开始介绍时对它寄托很大希望。然而,不久之后Minsky和Papert从数学上证明了感知器不能实现复杂逻辑功能1。到了70年代,Grossberg 和 Kohonen对神经网络研究作出重要贡献。以生物学和心理学证据为基础,Grossberg提出几种具有新颖特性的非线性动态系统结构。该系统的网络动力学由一阶微分方程建模,而网络结构为模式聚集算法的自组织神经实现。基于神经元组织自己来调整各种各样的模式的思想,Kohonen发展了他在自组织映像方面的研究工作。Werbos在70年代开发一种反向传播算法。Hopfield在神经元交互作用的基础上引入一种递归型神经网络,这种网络就是有名的Hopfield网络。在80年代中叶,作为一种前馈神经网络的学习算法,Parker和Rumelhart等重新发现了反回传播算法。如今,神经网络的应用越来越广泛了1。12 人工神经网络的特点及应用 人工神经网络是由许多神经元互连在一起所组成的复杂网络系统。它是在现代神经学研究成果基础上提出的,能模拟人的若干基本功能。它具有并行分布的信息处理结构,是通过“学习”或“训练”的方式完成某一特定的工作。其最显著的特点是具有自学习能力,并在数据含有噪音、缺项或缺乏认知时能获得令人满意的结论,特别是它可以从积累的工作实例中学习知识,尽可能多地把各种定性定量的影响因素作为变量加以输入,建立各影响因素与结论之间的高非线性映像,采用自适应模式识别方法完成此工作。它对处理内部规律不甚了解、不能用一组规则或方程进行描述的较复杂问题或开放的系统显得较为优。按照神经元的连接方式,人工神经网络可分为两种:没有反馈的前向网络和相互结合型网络。前向网络是多层映像网络,每一层中神经元只接受来自前一层神经元的信号,因此信息的传播是单方向的。BP网络是这类网络最典型的例子。在相互结合型的网络中,任意神经元之间都可能有连结,因此,输入信号要在网络中往返传播,从某一初态开始,经过若干变化,渐渐趋于某一稳定状态或进入周期震荡等其它状态,这方面的网络有Hopfield网络、SOM网络等。网络的学习能力体现在网络参数的调整上。参数调整方法为有教师学习和无教师学习两种基本方式。有教师学习方式是网络根据教师给出的正确输入模式,校正网络的参数,使其输出接近于正确模式。这类方式常采用梯度下降的学习方法,如BP算法。而无教师学习是网络在没有教师直接指点下通过竞争等方式自动调整网络参数的学习方法,如自适应共振网络。神经网络就是由许多神经元互连在一起所组成的神经结构。把神经元之间相互作用的关系进行数学模型化就可以得到神经网络模型。目前已有几十种不同的神经网络模型。代表的网络模型有感知器、反向传播BP网络、GMDH网络、RBF网络、双向联想记忆(BAM)、Hopfield网络、Boltsmann机、自适应共振网络(ART)、自组织特征映像(SOM)网络等。运用这些网络模型可实现函数近似(数字逼近映像)、数据聚类、模式识别、优化计算等功能,因此,人工神经网络广泛用于人工智能、自动控制、机器人、统计学、工程学等领域的信息处理中。§1.2 人工神经网络的结构神经网络的结构是由基本处理单元及其互连方法决定的。21 神经元及其特性人工神经网络的基本处理单元在神经网络中的作用与神经生理学中神经元的作用相似,因此,人工神经网络的基本处理单元往往被称为神经元。人工神经网络结构中的神经元模型模拟一个生物神经元,如图1.2.1所示。该神经元单元由多个输入 ,i=1,2,.,n和一个输出组成。中间状态由输入信号的加权和与修正值表示,而输出为: (1.2.1)图1.2.1 神经元模型式(1.2.1)中,qj为神经元单元的偏置(阈值),wji为连接权系数(对于激发状态,wji取正值,对于抑制状态,wji取负值),n为输入信号数目,yj为神经元输出,t为时间,f()为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或形函数,见图1.2.2,这三种函数都是连续和非线性的。一种二值函数如图1.2.2(a)所示,可由下式表示: (1.2.2)一种常规的形函数如图1.2.2(b)所示,可由下式表示: , (1.2.3)常用双曲正切函数(如图1.2.2(c)来取代常规形函数,因为形函数的输出均为正值,而双曲正切函数的输出值可为正或负。双曲正切函数如下式所示:, (1.2.4) 图1.2.2 神经元中的某些变换(激发)函数 22 神经网络的基本类型 2.2.1人工神经网络的基本特性人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图:()对于每个节点存在一个状态变量xi;()从节点i至节点j,存在一个连接权系数wji;()对于每个节点,存在一个阈值qj;()对于每个节点,定义一个变换函数  fj(xi,wji,qj),i¹j;对于最一般的情况,此函数取形式。2.2.2 人工神经网络的基本结构(1)递归网络 在递归网络中,多个神经元互连以组织一个互连神经网络,如图1.2.3所示。有些神经元的输出被反馈至同层或前层神经元。因此,信号能够从正向和反向流通。Hopfield网络,Elmman网络和Jordan网络是递归网络有代表性的例子。递归网络又叫做反馈网络。 图1.2.3中,  vi表示节点的状态, xi为节点的输入(初始)值, xi¢为收敛后的输出值,i=1,2,.,n。(2)前馈网络 前馈网络具有递阶分层结构,由一些同层神经元间不存在互连的层级组成。从输入层至输出层的信号通过单向连接流通;神经元从一层连接至下一层,不存在同层神经元间的连接,如图1.2.4所示。图中,实线指明实际信号流通而虚线表示反向传播。前馈网络的例子有多层感知器(MLP)、学习矢量量化(LVQ)网络、小脑模型联接控制(CMAC)网络和数据处理方法(GMDH)网络等。     图1.2.3 递归(反馈)网络         图1.2.4 前馈(多层)网络 2.2.3 人工神经网络的主要学习算法神经网络主要通过两种学习算法进行训练,即指导式(有师)学习算法和非指导式(无师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。()有师学习 有师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。因此,有师学习需要有个老师或导师来提供期望或目标输出信号。有师学习算法的例子包括d 规则、广义d 规则或反向传播算法以及LVQ算法等。()无师学习 无师学习算法不需要知道期望输出。在训练过程中,只要向神经网络提供输入模式,神经网络就能够自动地适应连接权,以便按相似特征把输入模式分组聚集。无师学习算法的例子包括Kohonen算法和Carpenter-Grossberg自适应共振理论(ART)等。()强化学习 如前所述,强化学习是有师学习的特例。它不需要老师给出目标输出。强化学习算法采用一个“评论员”来评价与给定输入相对应的神经网络输出的优度(质量因数)。强化学习算法的一个例子是遗传算法(GAs)。§1.3 人工神经网络的典型模型在人们提出的几十种神经网络模型中,人们较多用的是Hopfield网络、BP网络、Kohonen网络和ART(自适应共振理论)网络、LVQ网络。31 Hopfield网络 Hopfield网络是最典型的反馈网络模型,它是目前人们研究得最多的模型之一。Hopfield网络模型由一组可使某个能量函数最小的微分方程组成。Hopfield网络是由相同的神经元构成的单层,并且不具学习功能的自联想网络。它需要对称连接。图1.3.1表示Hopfield网络的一种方案。这种网络通常只接受二进制输入(0或1)以及双极输入(+1或-1)。它含有一个单层神经元,每个神经元与所有其它神经元连接,形成递归结构。Hopfield网络的训练只有一步,网络的权值被直接指定如下: (1.3.1)式中,wij为从神经元i至神经元j的连接权值, xic(可为+1或-1)是c类训练输入模式的第i个分量,p为类数,N为神经元数或输入模式的分量数。从式(1.3.1)可以看出,wij =wji以及wii=0,为一组保证网络稳定的条件。当一种未知模式输至此网络时,设置其输出初始值等于未知模式的分量,即 , (1.3.2) 图1.3.1 一种Hopfield网络 从这些初始值开始,网络根据下列方程迭代工作,直至达到某个最小的能量伏态,即其输出稳定于恒值:, (1.3.3)式中,f为一硬性限制函数,定义为: (1.3.4)32 反向传播(BP)网络 最初由Werbos开发的反向传播训练算法是一种迭代梯度算法,用于求解前馈网络的实际输出与期望输出间的最小均方差值。BP网络是一种反向传递并能修正误差的多层映像网络。当参数适当时,此网络能够收敛到较小的均方差,是目前应用最广的网络之一。它可用于语言综合,识别和自适应控制等用途。BP网络需有教师训练。在下一部分中将详细进行介绍。33 Kohonen网络 Kohonen网络是典型的自组织神经网络,这种网络也称为自组织特征映像网络SOM(self-organizing feature map)。它是由Kohonen提出的,是以神经元自行组织以校正各种具体模式的概念为基础的。SOM能够形成簇与簇之间的连续映像,起到矢量量化器的作用。它的输入层是单层单维神经元;而输出层是二维的神经元,神经元之间存在以“墨西哥帽”形式进行侧向交互的作用。因而,在输出层中,神经元之间有近扬远抑的反馈特性;从而使Kohonen网络可以作为模式特征的检测器。Kohonen网络或自组织特征映像网络含有两层,一个输入缓冲层用于接收输入模式,另一为输出层,见图1.3.2。输出层的神经元一般按正则二维阵列排列,每个输出神经元连接至所有输入神经元。连接权值形成与已知输出神经元相连的参考矢量的分量。训练一个Kohonen网络包含下列步骤:(1) 对所有输出神经元的参考矢量预置小的随机初值。(2)供给网络一个训练输入模式。(3)确定获胜的输出神经元,即参考矢量最接近输入模式的神经元。参考矢量与输入矢量间的Euclidean距离通常被用作距离测量。(4)更新获胜神经元的参考矢量及其近邻参考矢量。这些参考矢量(被引至)更接近输入矢量。对于获胜参考矢量,其调整是最大的,而对于离得更远的神经元,减少调整。一个神经邻域的大小随着训练进行而减小,到训练末了,只有获胜神经元的参考矢量被调整。图1.3.2 Kohonen网络对于一个很好训练了的Kohonen网络,相互靠近的输出神经元具有相似的参考矢量。经过训练之后,采用一个标记过程,其中,已知类的输入模式被送至网络,而且类标记被指定给那些由该输入模式激发的输出神经元。当采用LVQ网络时,如果一个输出神经元在竞争中胜过其它输出神经元(即它的参考矢量最接近某输入模式),那么此获胜的输出神经元被该输入模式所激发。34自适应共振理论(ART) ART网络也是一种自组织网络模型。它是由Grossberg提出的,是一个根据可选参数对输入数据进行粗略分类的网络。ART-1用于二值输入,而ART-2用于连续值输入。这是一种无教师学习网络。它能够较好地协调适应性,稳定性和复杂性的要求。在ART网络中,通常需要两个功能互补的子系统相互作用这两个子系统称注意子系统和取向子系统。ART网络主要用于模式识别。自适应共振理论(ART)网络具有不同的版本。图1.3.3表示ART-版本,用于处理二元输入。新的版本,如ART-,能够处理连续值输入。 从图1.3.3可见,一个ART-网络含有两层,一个输入层和一个输出层。这两层完全互连,该连接沿着正向(自底向上)和反馈(自顶向下)两个方向进行。自底向上连接至一个输出神经元i的权矢量Wi形成它所表示的类的一个样本。全部权矢量Wi构成网络的长期存储器,用于选择优胜的神经元,该神经元的权矢量Wi最相似于当前输入模式。自顶向下从一个输出神经元i连接的权矢量 用于警戒测试,即检验某个输入模式是否足够靠近已存储的样本。警戒矢量Vi构成网络的短期存储器。Vi和Wi是相关的,Wi是Vi的一个规格化副本,即 (1.3.5) 式中,e为一小的常数,Vji为Vi的第j个分量(即从输出神经元i到输入神经元j连接的权值)。图1.3.3一个网络当ART-1网络在工作时,其训练是连续进行的,且包括下列步骤:()对于所有输出神经元,预置样本矢量Wi及警戒矢量Vi的初值,设定每个Vi的所有分量为1,并据式(1.3.5)计算Wi。如果一个输出神经元的全部警戒权值均置1,则称为独立神经元,因为它不被指定表示任何模式类型。()给出一个新的输入模式x。()使所有的输出神经元能够参加激发竞争。()从竞争神经元中找到获胜的输出神经元,即这个神经元的x.Wi 值为最大;在开始训练时或不存在更好的输出神经元时,优胜神经元可能是个独立神经元。()检查看该输入模式x是否与获胜神经元的警戒矢量足够相似。相似性是由x的位分式r检测的,即 (1.3.6)如果r值小于警戒阈值r (0<r <1),那么可以认为x与Vi是足够相似的。()如果r³ r ,即存在谐振,则转向第(7)步;否则,使获胜神经元暂时无力进一步竞争,并转向第(4)步,重复这一过程直至不存在更多的有能力的神经元为止。()调整最新获胜神经元的警戒矢量Vi,对它逻辑加上x,删去Vi内而不出现在x内的位;据式(1.3.5),用新的Vi计算自底向上样本矢量Wi;激活该获胜神经元。转向第()步。    上述训练步骤能够做到:如果同样次序的训练模式被重复地送至此网络,那么其长期和短期存储器保持不变,即该网络是稳定的。假定存在足够多的输出神经元来表示所有不同的类,那幺新的模式总是能够学得,因为新模式可被指定给独立输出神经元,如果它不与原来存储的样本很好匹配的话(即该网络是塑性的)。35 学习矢量量化(LVQ)网络 图1.3.4给出一个学习矢量量化(LVQ)网络,它由三层神经元组成,即输入转换层、隐含层和输出层。该网络在输入层与隐含层间为完全连接,而在隐含层与输出层间为部分连接,每个输出神经元与隐含神经元的不同组相连接。隐含输出神经元间连接的权值固定为。输入隐含神经元间连接的权值建立参考矢量的分量(对每个隐含神经元指定一个参考矢量)。在网络训练过程中,这些权值被修改。隐含神经元(又称为Kohnen神经元)和输出神经元都具有二进制输出值。当某个输入模式送至网络时,参考矢量最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个“”。其它隐含神经元都被迫产生“”。与包含获胜神经元的隐含神经元组相连接的输出神经元也发出“”,而其它输出神经元均发出“”。产生“”的输出神经元给出输入模式的类,每个输出神经元被表示为不同的类。 最简单的训练步骤如下:()预置参考矢量初始权值。()供给网络一个训练输入模式。()计算输入模式与每个参考矢量间的Euclidean距离。()更新最接近输入模式的参考矢量(即获胜隐含神经元的参考矢量)的权值。如果获胜隐含神经元以输入模式一样的类属于连接至输出神经元的缓冲器,那幺参考矢量应更接近输入模式。否则,参考矢量就离开输入模式。()转至(2),以某个新的训练输入模式重复本过程,直至全部训练模式被正确地分类或者满足某个终止准则为止。图1.3.4 学习矢量化网络 §1.4 多层前馈神经网络()模型BP 模型是目前研究最多、应用最广泛的 ANN 模型。它是由Rumelhart 等人组成的 PDP 小组于1985 年提出的一种神经元模型,其结构如图1.4. 1。理论已经证明一个三层的 BP 网络模型能够实现任意的连续映像2-5。                         输出层 (输出结点) 隐含层 (隐结点) 输入层(输入结点)图1.4.1 反向传播 (BP) 神经网络结构41 BP网络模型特点BP(Back Propagation)网络模型是把一组样本的输入输出变成一个非线性优化问题,使用了最优化中最普遍的梯度下降算法,用迭代运算求解权,加入隐节点使得优化问题的可调参数增加,从而可以逼近精确解。BP网络由输入层、输出层及隐含层组成,隐含层可有一个或多个,每层由多个神经元组成。其特点是:各层神经元仅与相邻层神经元之间有连接;各层内神经元之间无任何连接;各层神经元之间无反馈连接。输入信号先向前传播到隐结点,经过变换函数之后,把隐结点的输出信息传播到输出结点,经过处理后再给出输出结果。结点的变换函数通常选取Sigmoid型函数。一般情况下,隐含层采用S型对数或正切激活函数,而输出层采用线性激活函数。 如果输入层有n个神经元,输出层有m个神经元,则网络是从n维欧氏空间到m维欧氏空间的映像。在确定了BP网络的结构后,利用输入输出样本集对其进行训练,也即通过调整BP网络中的连接权值、网络的规模(包括n、m和隐层节点数),就可以使网络实现给定的输入输出映像关系,并且可以以任意精度逼近任何非线性函数。BP网络通过对简单的非线性函数的复合来完成映像,用这种方法经过少数的几次复合就可以得到极为复杂的函数关系,进而可以表达复杂的物理世界现象,使得许多实际问题都可以转为利用神经网络来解决。经过训练的BP网络,对于不是样本集中的输入也能给出合适的输出,这种性质称为泛化(Generalization)功能。从函数拟合的角度看,这说明BP网络具有插值功能。42 BP网络学习算法BP神经网络采用误差反传学习算法,它使用梯度搜索技术,实现网络的实际输出与期望输出的均方差最小化。网络学习的过程是一种边向后边传播边修正权的过程。在这种网络中,学习过程由正向传播和反向传播组成。在正向过程中,输入信号从输入层经隐层单元逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转向反向传播,将输出的误差按原来的连接通路返回。通过修改各层神经元的权值,使得误差信号最小。得到合适的网络连接值后,便可对新样本进行非线性映像。4.2.1信息的正向传递假设BP网络共L层,对于给定的P个样本,网络的期望输出为:Td=Td1,Td2,Tdp当输入第P个样本时,对于网络中的第l(l=1,2,L-1)层中第j个神经元的操作特性为: (4.2.1) (4.2.2)其中,为神经元i到神经元j的连接权值;是第l-1层的结点数;为神经元j的当前输入;为神经元j的输出;为非线性可微非递减函数,一般取为S型函数,即 (4.2.3)而对于输出层则有= (4.2.4)神经网络学习的目的是实现对每一样本, (p=1,2,P),其中m 为输出结点个数。达到最小,从而保证网络总误差极小化。其中分别为输出层第j个节点的期望输出和实际输出。4.2.2利用梯度下降法求权值变化及误差的反向传播采用梯度算法对网络权值、阈值进行修正。第l层的权系数迭代方程为:其中,k为迭代次数。令 (4.2.5)令, 则有 , 其中,为学习步长。43 网络的训练过程网络初始化,用一组随机数对网络赋初始权值,设置学习步长h、允许误差e、网络结构(即网络层数L和每层节点数nl);为网络提供一组学习样本;对每个学习样本p循环a逐层正向计算网络各节点的输入和输出;b计算第p个样本的输出的误差Ep和网络的总误差E;c当E小于允许误差e或者达到指定的迭代次数时,学习过程结束,否则,进行误差反向传播。d反向逐层计算网络各节点误差如果取为S型函数,即,则对于输出层对于隐含层e修正网络连接权值式中,k 为学习次数,为学习因子。取值越大,每次权值的改变越剧烈,可能导致学习过程振荡,因此,为了使学习因子的取值足够大,又不至产生振荡,通常在权值修正公式中加入一个附加动量法。44 BP算法的改进4.4.1附加动量法附加动量法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响。在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用有可能滑过这些极小值。该方法是在反向传播法的基础上在每一个权值(或阈值)的变化上加上一项正比于前次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化。带有附加动量因子的权值和阈值调节公式为:其中k为训练次数,mc为动量因子,一般取0.95左右。附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值(或阈值)的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值(或阈值)变化则是设置为最后一次权值(或阈值)的变化,而依梯度法产生的变化部分则被忽略掉了。以此方式,当增加了动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时, di将变得很小,于是,从而防止了的出现,有助于使网络从误差曲面的局部极小值中跳出。根据附加动量法的设计原则,当修正的权值在误差中导致太大的增长结果时,新的权值应被取消而不被采用,并使动量作用停止下来,以使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。其最大误差变化率可以是任何大于或等于1的值。典型的取值取1.04。所以,在进行附加动量法的训练程序设计时,必须加进条件判断以正确使用其权值修正公式。训练程序设计中采用动量法的判断条件为: , E(k)为第k步误差平方和。4.4.2自适应学习速率对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。为了解决这个问题,人们自然想到在训练过程中,自动调节学习速率。通常调节学习速率的准则是:检查权值是否真正降低了误差函数,如果确实如此,则说明所选学习速率小了,可以适当增加一个量;若不是这样,而产生了过调,那幺就应该减少学习速率的值。下式给出了一个自适应学习速率的调整公式: , E(k)为第k步误差平方和。初始学习速率h(0)的选取范围可以有很大的随意性。4.4.3动量-自适应学习速率调整算法当采用前述的动量法时,BP算法可以找到全局最优解,而当采用自适应学习速率时,BP算法可以缩短训练时间, 采用这两种方法也可以用来训练神经网络,该方法称为动量-自适应学习速率调整算法。45网络的设计4.5.1网络的层数理论上已证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理数。增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整。所以一般情况下,应优先考虑增加隐含层中的神经元数。4.5.2隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加神经元数了的方法来获得。这在结构实现上,要比增加隐含层数要简单得多。那么究竟选取多少隐含层节点才合适?这在理论上并没有一个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。4.5.3初始权值的选取由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛及训练时间的长短关系很大。如果初始值太大,使得加权后的输入和n落在了S型激活函数的饱和区,从而导致其导数f(n)非常小,而在计算权值修正公式中,因为,当f(n)时,则有。这使得,从而使得调节过程几乎停顿下来。所以一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节。所以,一般取初始权值在(-1,1)之间的随机数。4.5.4学习速率学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间。§1.5 软件的实现人工神经网络计算实现的方式有两种,一种是基于硬件的全硬件实现;另一种是基于现代数值计算机技术的虚拟实现,包括全软件实现,带神经网络加速板等部分专用硬件和软件配合的实现等8。本文采用的是基于MATLAB的神经网络工具箱的全软件实现。目前最新的神经网络工具箱是NN Toolbox 2.0版本,它几乎完整地概括了现有的神经网络的新成果,所涉及的网络模型有:感知器、线性网络、BP网络、径向基函数网络、自组织网络、反馈网络4。神经网络初学者可以利用该工具箱来深刻理解各种算法的内在实质;即使不了解算法的实质,也可以直接应用功能丰富的函数来实现自己的想法;而且应用这些功能函数可以大大节约编程时间。此外,MATLAB软件还具有强大的数值计算,数据可视化,图形绘制等功能,给应用者带来很大方便。第二章 遗传算法§2.1 遗传算法简介遗传算法(Genetic Algorithm,简写为GA)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是由美国密执根(Michigan)大学的J.Holland教授于1975年首先提出的6。遗传算法是一种仿生算法,其核心思想源于人们对生物进化过程的认识。生物进化过程(从简单到复杂,从低级到高级)本身是一个自然的、并行发生的、稳健的优化过程。这一优化过程的目标是对环境的自然适应性,生物种群通过“优胜劣汰”及遗传变异来达到进化(优化)的目的。生物遗传学概念与遗传算法中的对应关系生物遗传学概念遗传算法中的作用适者生存个体(individual)染色体(chromosome)基因(gene)适应性(fitness)群体(population)种群(reproduction)交配(crossover)变异(mutation)在算法停止时,最优目标值的解有最大的可能被留住目标函数的解 解的编码(向量)解中的每一分量的特征(或值)适应函数值选定的一组解(其中解的个数为群体的规模)根据适应函数选取的一组解按交配原则产生一组新解的过程编码的某一分量发生变化的过程§2.2遗传算法的特点遗传算法的特点,主要表现在以下几个方面:1、遗传算法处理对象不是参数本身,而是对参数集进行编码的个体;2、遗传算法是采用同时处理群体中多个个体的方法,同时对搜索空间中的多个解进行评估。形象的说,遗传算法是并行地爬多个峰。这一特点使遗传算法具有较好的全局搜索能力,并易于并行化;3、遗传算法具有一定的变异概率可以防止算法收敛于局部最优解。 由于遗传算法使用简单,鲁棒性强,易于并行化,搜索不依赖于梯度信息,其广泛地应用于各种工程领域。遗传算法尤其适用于处理传统算法难于解决的复杂和非线性问题,可应用于组合优化、机器学习、自适应控制、规划设计和人工生命科学等领域。§2

    注意事项

    本文(MATLAB程序代码--人工神经网络及其工程应用(共46页).doc)为本站会员(飞****2)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开