MATLAB程序代码人工神经网络及其工程应用.docx

上传人:b****7 文档编号:8951866 上传时间:2023-02-02 格式:DOCX 页数:45 大小:77.21KB
下载 相关 举报
MATLAB程序代码人工神经网络及其工程应用.docx_第1页
第1页 / 共45页
MATLAB程序代码人工神经网络及其工程应用.docx_第2页
第2页 / 共45页
MATLAB程序代码人工神经网络及其工程应用.docx_第3页
第3页 / 共45页
MATLAB程序代码人工神经网络及其工程应用.docx_第4页
第4页 / 共45页
MATLAB程序代码人工神经网络及其工程应用.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

MATLAB程序代码人工神经网络及其工程应用.docx

《MATLAB程序代码人工神经网络及其工程应用.docx》由会员分享,可在线阅读,更多相关《MATLAB程序代码人工神经网络及其工程应用.docx(45页珍藏版)》请在冰豆网上搜索。

MATLAB程序代码人工神经网络及其工程应用.docx

MATLAB程序代码人工神经网络及其工程应用

封面

作者:

PanHongliang

仅供个人学习

MATLAB程序代码--

人工神经网络及其工程应用

第一章人工神经网络…………………………………………………3

§1.1人工神经网络简介…………………………………………………………3

1.1人工神经网络的起源……………………………………………………3

1.2人工神经网络的特点及应用……………………………………………3

§1.2人工神经网络的结构…………………………………………………4

2.1神经元及其特性…………………………………………………………5

2.2神经网络的基本类型………………………………………………6

2.2.1人工神经网络的基本特性……………………………………6

2.2.2人工神经网络的基本结构……………………………………6

2.2.3人工神经网络的主要学习算法………………………………7

§1.3人工神经网络的典型模型………………………………………………7

3.1Hopfield网络…………………………………………………………7

3.2反向传播(BP)网络……………………………………………………8

3.3Kohonen网络…………………………………………………………8

3.4自适应共振理论(ART)……………………………………………………9

3.5学习矢量量化(LVQ)网络…………………………………………11

§1.4多层前馈神经网络(BP)模型…………………………………………12

4.1BP网络模型特点……………………………………………………12

4.2BP网络学习算法………………………………………………………13

4.2.1信息的正向传递………………………………………………13

4.2.2利用梯度下降法求权值变化及误差的反向传播………………14

4.3网络的训练过程………………………………………………………15

4.4BP算法的改进………………………………………………………15

4.4.1附加动量法………………………………………………………15

4.4.2自适应学习速率…………………………………………………16

4.4.3动量-自适应学习速率调整算法………………………………17

4.5网络的设计………………………………………………………………17

4.5.1网络的层数…………………………………………………17

4.5.2隐含层的神经元数……………………………………………17

4.5.3初始权值的选取………………………………………………17

4.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样本的预处理与网络的训练……………………………………………25

4.1样本的预处理………………………………………………………25

4.2网络的训练……………………………………………………26

§3.5水布垭面板堆石坝垂直压缩模量的控制与变形的预测…………………30

5.1面板堆石坝堆石体垂直压缩模量的控制……………………………30

5.2水布垭面板堆石坝变形的预测……………………………………35

5.3BP网络与COPEL公司及国内的经验公式的预测结果比较…35

§3.6结论与建议………………………………………………………………38

第四章BP网络与遗传算法在面板堆石坝设计参数控制中的应用

§4.1概述………………………………………………………………………39

§4.2遗传算法的程序设计与计算………………………………………………39

§4.3结论与建议…………………………………………………………………40

参考文献…………………………………………………………………………41

第一章人工神经网络

§1.1人工神经网络简介

1.1人工神经网络的起源

人工神经网络(ArtificialNeuralNetwork,简称ANN)研究的先锋,美国心理学家WarrenSMcCulloch和数学家WalterHPitts曾于1943年提出一种叫做“似脑机器”(mindlikemachine)的思想,这种机器可由基于生物神经元特性的互连模型来制造,这就是神经学网络的概念。

他们构造了一个表示大脑基本组成部分的神经元模型,对逻辑操作系统表现出通用性。

随着大脑和计算机研究的进展,研究目标已从“似脑机器”变为“学习机器”,为此一直关心神经系统适应律的心理学家D.O.Hebb于1949年提出了学习模型。

1957年Rosenblatt首次提出感知器,并设计一个引人注目的结构。

到60年代初期,关于学习系统的专用设计指南有Widrow等提出的Adaline(adaptivelinearelement,即自适应线性元)以及Steinbuch等提出的学习矩阵。

由于感知器的概念简单,因而在开始介绍时对它寄托很大希望。

然而,不久之后Minsky和Papert从数学上证明了感知器不能实现复杂逻辑功能[1]。

到了70年代,Grossberg和Kohonen对神经网络研究作出重要贡献。

以生物学和心理学证据为基础,Grossberg提出几种具有新颖特性的非线性动态系统结构。

该系统的网络动力学由一阶微分方程建模,而网络结构为模式聚集算法的自组织神经实现。

基于神经元组织自己来调整各种各样的模式的思想,Kohonen发展了他在自组织映像方面的研究工作。

Werbos在70年代开发一种反向传播算法。

Hopfield在神经元交互作用的基础上引入一种递归型神经网络,这种网络就是有名的Hopfield网络。

在80年代中叶,作为一种前馈神经网络的学习算法,Parker和Rumelhart等重新发现了反回传播算法。

如今,神经网络的应用越来越广泛了[1]。

1.2人工神经网络的特点及应用

人工神经网络是由许多神经元互连在一起所组成的复杂网络系统。

它是在现代神经学研究成果基础上提出的,能模拟人的若干基本功能。

它具有并行分布的信息处理结构,是通过“学习”或“训练”的方式完成某一特定的工作。

其最显著的特点是具有自学习能力,并在数据含有噪音、缺项或缺乏认知时能获得令人满意的结论,特别是它可以从积累的工作实例中学习知识,尽可能多地把各种定性定量的影响因素作为变量加以输入,建立各影响因素与结论之间的高非线性映像,采用自适应模式识别方法完成此工作。

它对处理内部规律不甚了解、不能用一组规则或方程进行描述的较复杂问题或开放的系统显得较为优。

按照神经元的连接方式,人工神经网络可分为两种:

没有反馈的前向网络和相互结合型网络。

前向网络是多层映像网络,每一层中神经元只接受来自前一层神经元的信号,因此信息的传播是单方向的。

BP网络是这类网络最典型的例子。

在相互结合型的网络中,任意神经元之间都可能有连结,因此,输入信号要在网络中往返传播,从某一初态开始,经过若干变化,渐渐趋于某一稳定状态或进入周期震荡等其它状态,这方面的网络有Hopfield网络、SOM网络等。

网络的学习能力体现在网络参数的调整上。

参数调整方法为有教师学习和无教师学习两种基本方式。

有教师学习方式是网络根据教师给出的正确输入模式,校正网络的参数,使其输出接近于正确模式。

这类方式常采用梯度下降的学习方法,如BP算法。

而无教师学习是网络在没有教师直接指点下通过竞争等方式自动调整网络参数的学习方法,如自适应共振网络。

神经网络就是由许多神经元互连在一起所组成的神经结构。

把神经元之间相互作用的关系进行数学模型化就可以得到神经网络模型。

目前已有几十种不同的神经网络模型。

代表的网络模型有感知器、反向传播BP网络、GMDH网络、RBF网络、双向联想记忆(BAM)、Hopfield网络、Boltsmann机、自适应共振网络(ART)、自组织特征映像(SOM)网络等。

运用这些网络模型可实现函数近似(数字逼近映像)、数据聚类、模式识别、优化计算等功能,因此,人工神经网络广泛用于人工智能、自动控制、机器人、统计学、工程学等领域的信息处理中。

§1.2人工神经网络的结构

神经网络的结构是由基本处理单元及其互连方法决定的。

2.1神经元及其特性

人工神经网络的基本处理单元在神经网络中的作用与神经生理学中神经元的作用相似,因此,人工神经网络的基本处理单元往往被称为神经元。

人工神经网络结构中的神经元模型模拟一个生物神经元,如图1.2.1所示。

该神经元单元由多个输入,i=1,2,...,n和一个输出组成。

中间状态由输入信号的加权和与修正值表示,而输出为:

(1.2.1)

图1.2.1神经元模型

式(1.2.1)中,j为神经元单元的偏置(阈值),wji为连接权系数(对于激发状态,wji取正值,对于抑制状态,wji取负值),n为输入信号数目,yj为神经元输出,t为时间,f()为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数,见图1.2.2,这三种函数都是连续和非线性的。

一种二值函数如图1.2.2(a)所示,可由下式表示:

(1.2.2)

一种常规的S形函数如图1.2.2(b)所示,可由下式表示:

(1.2.3)

常用双曲正切函数(如图1.2.2(c))来取代常规S形函数,因为S形函数的输出均为正值,而双曲正切函数的输出值可为正或负。

双曲正切函数如下式所示:

,(1.2.4)

图1.2.2神经元中的某些变换(激发)函数

2.2神经网络的基本类型

2.2.1人工神经网络的基本特性

人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。

每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。

严格地说,人工神经网络是一种具有下列特性的有向图:

(1)对于每个节点存在一个状态变量xi;

(2)从节点i至节点j,存在一个连接权系数wji;

(3)对于每个节点,存在一个阈值j;

(4)对于每个节点,定义一个变换函数 fj(xi,wji,j),ij;对于最一般的情况,此函数取形式。

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人工神经网络的主要学习算法

神经网络主要通过两种学习算法进行训练,即指导式(有师)学习算法和非指导式(无师)学习算法。

此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。

(1)有师学习有师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度或权。

因此,有师学习需要有个老师或导师来提供期望或目标输出信号。

有师学习算法的例子包括规则、广义规则或反向传播算法以及LVQ算法等。

(2)无师学习无师学习算法不需要知道期望输出。

在训练过程中,只要向神经网络提供输入模式,神经网络就能够自动地适应连接权,以便按相似特征把输入模式分组聚集。

无师学习算法的例子包括Kohonen算法和Carpenter-Grossberg自适应共振理论(ART)等。

(3)强化学习如前所述,强化学习是有师学习的特例。

它不需要老师给出目标输出。

强化学习算法采用一个“评论员”来评价与给定输入相对应的神经网络输出的优度(质量因数)。

强化学习算法的一个例子是遗传算法(GAs)。

§1.3人工神经网络的典型模型

在人们提出的几十种神经网络模型中,人们较多用的是Hopfield网络、BP网络、Kohonen网络和ART(自适应共振理论)网络、LVQ网络。

3.1Hopfield网络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)

3.2反向传播(BP)网络最初由Werbos开发的反向传播训练算法是一种迭代梯度算法,用于求解前馈网络的实际输出与期望输出间的最小均方差值。

BP网络是一种反向传递并能修正误差的多层映像网络。

当参数适当时,此网络能够收敛到较小的均方差,是目前应用最广的网络之一。

它可用于语言综合,识别和自适应控制等用途。

BP网络需有教师训练。

在下一部分中将详细进行介绍。

3.3Kohonen网络Kohonen网络是典型的自组织神经网络,这种网络也称为自组织特征映像网络SOM(self-organizingfeaturemap)。

它是由Kohonen提出的,是以神经元自行组织以校正各种具体模式的概念为基础的。

SOM能够形成簇与簇之间的连续映像,起到矢量量化器的作用。

它的输入层是单层单维神经元;而输出层是二维的神经元,神经元之间存在以“墨西哥帽”形式进行侧向交互的作用。

因而,在输出层中,神经元之间有近扬远抑的反馈特性;从而使Kohonen网络可以作为模式特征的检测器。

Kohonen网络或自组织特征映像网络含有两层,一个输入缓冲层用于接收输入模式,另一为输出层,见图1.3.2。

输出层的神经元一般按正则二维阵列排列,每个输出神经元连接至所有输入神经元。

连接权值形成与已知输出神经元相连的参考矢量的分量。

训练一个Kohonen网络包含下列步骤:

(1)对所有输出神经元的参考矢量预置小的随机初值。

(2)供给网络一个训练输入模式。

(3)确定获胜的输出神经元,即参考矢量最接近输入模式的神经元。

参考矢量与输入矢量间的Euclidean距离通常被用作距离测量。

(4)更新获胜神经元的参考矢量及其近邻参考矢量。

这些参考矢量(被引至)更接近输入矢量。

对于获胜参考矢量,其调整是最大的,而对于离得更远的神经元,减少调整。

一个神经邻域的大小随着训练进行而减小,到训练末了,只有获胜神经元的参考矢量被调整。

图1.3.2Kohonen网络

对于一个很好训练了的Kohonen网络,相互靠近的输出神经元具有相似的参考矢量。

经过训练之后,采用一个标记过程,其中,已知类的输入模式被送至网络,而且类标记被指定给那些由该输入模式激发的输出神经元。

当采用LVQ网络时,如果一个输出神经元在竞争中胜过其它输出神经元(即它的参考矢量最接近某输入模式),那么此获胜的输出神经元被该输入模式所激发。

3.4自适应共振理论(ART)ART网络也是一种自组织网络模型。

它是由Grossberg提出的,是一个根据可选参数对输入数据进行粗略分类的网络。

ART-1用于二值输入,而ART-2用于连续值输入。

这是一种无教师学习网络。

它能够较好地协调适应性,稳定性和复杂性的要求。

在ART网络中,通常需要两个功能互补的子系统相互作用.这两个子系统称注意子系统和取向子系统。

ART网络主要用于模式识别。

自适应共振理论(ART)网络具有不同的版本。

图1.3.3表示ART-1版本,用于处理二元输入。

新的版本,如ART-2,能够处理连续值输入。

从图1.3.3可见,一个ART-1网络含有两层,一个输入层和一个输出层。

这两层完全互连,该连接沿着正向(自底向上)和反馈(自顶向下)两个方向进行。

自底向上连接至一个输出神经元i的权矢量Wi形成它所表示的类的一个样本。

全部权矢量Wi构成网络的长期存储器,用于选择优胜的神经元,该神经元的权矢量Wi最相似于当前输入模式。

自顶向下从一个输出神经元i连接的权矢量用于警戒测试,即检验某个输入模式是否足够靠近已存储的样本。

警戒矢量Vi构成网络的短期存储器。

Vi和Wi是相关的,Wi是Vi的一个规格化副本,

即(1.3.5)

式中,为一小的常数,Vji为Vi的第j个分量(即从输出神经元i到输入神经元j连接的权值)。

图1.3.3一个ART-1网络

当ART-1网络在工作时,其训练是连续进行的,且包括下列步骤:

(1)对于所有输出神经元,预置样本矢量Wi及警戒矢量Vi的初值,设定每个Vi的所有分量为1,并据式(1.3.5)计算Wi。

如果一个输出神经元的全部警戒权值均置1,则称为独立神经元,因为它不被指定表示任何模式类型。

(2)给出一个新的输入模式x。

(3)使所有的输出神经元能够参加激发竞争。

(4)从竞争神经元中找到获胜的输出神经元,即这个神经元的x.Wi值为最大;在开始训练时或不存在更好的输出神经元时,优胜神经元可能是个独立神经元。

(5)检查看该输入模式x是否与获胜神经元的警戒矢量足够相似。

相似性是由x的位分式r检测的,即

(1.3.6)

如果r值小于警戒阈值(0<<1),那么可以认为x与Vi是足够相似的。

(6)如果r,即存在谐振,则转向第(7)步;否则,使获胜神经元暂时无力进一步竞争,并转向第(4)步,重复这一过程直至不存在更多的有能力的神经元为止。

(7)调整最新获胜神经元的警戒矢量Vi,对它逻辑加上x,删去Vi内而不出现在x内的位;据式(1.3.5),用新的Vi计算自底向上样本矢量Wi;激活该获胜神经元。

转向第(2)步。

   上述训练步骤能够做到:

如果同样次序的训练模式被重复地送至此网络,那么其长期和短期存储器保持不变,即该网络是稳定的。

假定存在足够多的输出神经元来表示所有不同的类,那幺新的模式总是能够学得,因为新模式可被指定给独立输出神经元,如果它不与原来存储的样本很好匹配的话(即该网络是塑性的)。

3.5学习矢量量化(LVQ)网络图1.3.4给出一个学习矢量量化(LVQ)网络,它由三层神经元组成,即输入转换层、隐含层和输出层。

该网络在输入层与隐含层间为完全连接,而在隐含层与输出层间为部分连接,每个输出神经元与隐含神经元的不同组相连接。

隐含-输出神经元间连接的权值固定为1。

输入-隐含神经元间连接的权值建立参考矢量的分量(对每个隐含神经元指定一个参考矢量)。

在网络训练过程中,这些权值被修改。

隐含神经元(又称为Kohnen神经元)和输出神经元都具有二进制输出值。

当某个输入模式送至网络时,参考矢量最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个“1”。

其它隐含神经元都被迫产生“0”。

与包含获胜神经元的隐含神经元组相连接的输出神经元也发出“1”,而其它输出神经元均发出“0”。

产生“1”的输出神经元给出输入模式的类,每个输出神经元被表示为不同的类。

最简单的LVQ训练步骤如下:

(1)预置参考矢量初始权值。

(2)供给网络一个训练输入模式。

(3)计算输入模式与每个参考矢量间的Euclidean距离。

(4)更新最接近输入模式的参考矢量(即获胜隐含神经元的参考矢量)的权值。

如果获胜隐含神经元以输入模式一样的类属于连接至输出神经元的缓冲器,那幺参考矢量应更接近输入模式。

否则,参考矢量就离开输入模式。

(5)转至

(2),以某个新的训练输入模式重复本过程,直至全部训练模式被正确地分类或者满足某个终止准则为止。

图1.3.4学习矢量化网络

§1.4多层前馈神经网络(BP)模型

BP模型是目前研究最多、应用最广泛的ANN模型。

它是由Rumelhart等人组成的PDP小组于1985年提出的一种神经元模型,其结构如图1.4.1。

理论已经证明一个三层的BP网络模型能够实现任意的连续映像[2-5]。

                         

输出层 (输出结点)

隐含层 (隐结点)

输入层(输入结点)

图1.4.1反向传播(BP)神经网络结构

4.1BP网络模型特点

BP(BackPropagation)网络模型是把一组样本的输入输出变成一个非线性优化问题,使用了最优化中最普遍的梯度下降算法,用迭代运算求解权,加入隐节点使得优化问题的可调参数增加,从而可以逼近精确解。

BP网络由输入层、输出层及隐含层组成,隐含层可有一个或多个,每层由多个神经元组成。

其特点是:

各层神经元仅与相邻层神经元之间有连接;各层内神经元之间无任何连接;各层神经元之间无反馈连接。

输入信号先向前传播到隐结点,经过变换函数之后,把隐结点的输出信息传播到输出结点,经过处理后再给出输出结果。

结点的变换函数通常选取Sigmoid型函数。

一般情况下,隐含层采用S型对数或正切激活函数,而输出层采用线性激活函数。

如果输入层有n个神经元,输出层有m个神经元,则网络是从n维欧氏空间到m维欧氏空间的映像。

在确定了BP网络的结构后,利用输入输出样本集对其进行训练,也即通过调整BP网络中的连接权值、网络的规模(包括n、m和隐层节点数),就可以使网络实现给定的输入输出映像关系,并且可以以任意精度逼近任何非线性函数。

BP网络通过对简单的非线性函数的复合来完成映像,用这种方法经过少数的几次复合就可以得到极为复杂的函数关系,进而可以表达复杂的物理世界现象,使得许多实际问题都可以转为利用神经网络来解决。

经过训练的BP网络,对于不是样本集中的输入也能给出合适的输出,这种性质称为泛化(Gene

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1