人工神经网络与智能算法专家讲座_第1页
人工神经网络与智能算法专家讲座_第2页
人工神经网络与智能算法专家讲座_第3页
人工神经网络与智能算法专家讲座_第4页
人工神经网络与智能算法专家讲座_第5页
已阅读5页,还剩70页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

智能算法

(IntelligentAlgorithm)人工神经网络与智能算法专家讲座第1页主要内容人工神经网络(ArtificialNeuralNetwork,ANN)模拟退火(SimulatedAnnealing,SA)遗传算法(GeneticAlgorithm,GA)2人工神经网络与智能算法专家讲座第2页人工神经网络参考文件陈念贻,钦佩,陈瑞亮,陆文聪,模式识别方法在化学化工中应用,科学出版社,北京,。从爽,面向MATLAB工具箱神经网络理论与应用,中国科学技术出版社,合肥,1998。焦李成,神经网络计算,西安电子科技大学出版社,西安,1993。王永骥,涂健,神经元网络控制,机械工业出版社,北京,1998。Bishop,C.(1995).NeuralNetworksforPatternRecognition.Oxford:UniversityPress.Carling,A.(1992).IntroducingNeuralNetworks.Wilmslow,UK:SigmaPress.Fausett,L.(1994).FundamentalsofNeuralNetworks.NewYork:PrenticeHallHaykin,S.(1994).NeuralNetworks:AComprehensiveFoundation.NewYork:MacmillanPublishing.Patterson,D.(1996).ArtificialNeuralNetworks.Singapore:PrenticeHall.3人工神经网络与智能算法专家讲座第3页生物神经元及神经网络神经元对信息接收和传递都是经过突触来进行。单个神经元能够从别细胞接收多个输入。因为输入分布于不一样部位,对神经元影响百分比(权重)是不相同。另外,各突触输入抵达神经元先后时间也不一祥。所以,一个神经元接收信息,在时间和空间上常展现出一个复杂多变形式,需要神经元对它们进行积累和整合加工,从而决定其输出时机和强度。正是神经元这种整合作用,才使得亿万个神经元在神经系统中有条不紊、夜以继日地处理各种复杂信息,执行着生物中枢神经系统各种信息处理功效。多个神经元以突触联接形成了一个神经网络。4人工神经网络与智能算法专家讲座第4页一、人工神经网络什么是人工神经网络?它就是在对大脑生理研究基础上,用模拟生物神经元一些基本功效元件(即人工神经元),按各种不一样联结方式组织起来一个网络。其目标在于模拟大脑一些机理与机制,实现某个方面功效,能够用在模仿视觉、模式识别、函数迫近、模式识别、分类和数据压缩等领域,是近年来人工智能计算一个主要学科分支。人工神经网络有各种形式,其中反向传输人工神经网络(Back-PropagationArtificialNetwork,简称BP网络)是一个广泛使用神经网络模型,它充分表达了人工神经网络特点。BP网络是一个对非线性可微分函数进行权值训练多层网络,在人工神经网络实际应用中,80%~90%人工神经网络模型是采取BP网络或它改变形式。5人工神经网络与智能算法专家讲座第5页1.1BP神经网络神经元结构神经元是人工神经网络基本处理单元,它普通为多输入/单输出非线性元件。神经元输出除受输入信号影响外,还受神经元内部其它原因制约,所以在人工神经元建模中,经常加一额外输入信号,称为偏差(bais),并取值为1。

输入分量权值分量

神经元输出偏差权值

激活函数输入分量经过与它相乘权值分量相连,求和后与偏差权值共同组成激活函数输入

。6人工神经网络与智能算法专家讲座第6页偏差神经元输出为:

偏差b被简单地加在上,作为激活函数一个输入分量。偏差主要作用,它使得激活函数图形能够左右移动,这么可增加网络处理问题能力。

7人工神经网络与智能算法专家讲座第7页激活函数激活函数含有模拟生物神经元非线性特征。Sigmoid函数:双曲正切tanh函数:Sigmoid函数和双曲正切tanh函数都是单调上升函数,其极值分别为0、1和-1、+1,且都是可微。8人工神经网络与智能算法专家讲座第8页激活函数一阶导数在BP神经网络训练算法中,要用到激活函数一阶导数。Sigmoid函数导数:双曲正切tanh函数导数:由此能够看出,因为激活函数特点,用神经网络计算时,需对输入和输出值进行调整。激活函数是采取Sigmoid函数时,输入和输出值应在{0,1}之间;激活函数是双曲正切tanh函数时,输入和输出值范围则在{-1,1}之间。9人工神经网络与智能算法专家讲座第9页1.2BP网络模型结构BP网络是一个在输入层和输出层之间含有一层或多层隐层网络模型,而其经典结构为有一隐层、包含输入层和输出层三层网络模型。经典BP网络结构示意图以下:网络输入模式向量为P,有r个输入神经元,对应输入模式向量每个元素。

隐层内有s1个神经元,对应隐层输出是a1。网络输出为a2,有s2个神经元,而目标输出为T。

三层BP神经网络不一样层神经元之间实现权重连接,而每层内各个神经元之间不连接。10人工神经网络与智能算法专家讲座第10页BP网络四个计算过程输入模式由输入层经隐含层向输出层“模式正向传输”过程;(神经元激活值从输入层经隐含层向输出层传输,在输出层各神经元取得网络响应。)网络实际输出与希望输出误差信号由输出层经隐含层向输入层逐层修正连接权和阂值“误差反向传输”过程;由“模式正向传输”过程与“误差反向传输”过程重复交替进行网络学习训练过程;网络全局误差趋向极小学习收敛过程。(网络对输入模式响应正确率也不停增加。)11人工神经网络与智能算法专家讲座第11页BP网络计算过程简单描述(1)模式正向传输过程隐含层中第j个神经元输出为:输出层中第k个神经元输出为:误差反向传输过程定义误差函数为:

神经网络学习过程就是经过调整权值,使误差E最小,此时可利用最速下降法求权值及误差反向传输。12人工神经网络与智能算法专家讲座第12页BP网络计算过程简单描述(2)隐含层中第j个神经元输出权值改变为:对第i个输入到隐含层中第j个神经元输出权值改变为:修正后新权重调整为:

η称为学习系数,值在{0,1}之间。

13人工神经网络与智能算法专家讲座第13页加紧BP网络训练速度方法BP网络得到了广泛应用,但也存在本身不足与限制,主要表现在网络训练需较长时间和网络有可能到达局部最小。据此,BP网络有各种改进方法,以加紧训练速度,防止陷入局部极小。主要改进方法有:增加动量项,以平滑权改变,一个惯用形式是:α为动量因子,值在{0,1}之间,n为迭代次数。

采取二阶学习算法。前面基于函数梯度算法属于一阶算法,缺点就是在极值点附近收敛速度慢。采取二阶算法,如牛顿法、共轭梯度法等,将有较快收敛速度。模拟退火法。14人工神经网络与智能算法专家讲座第14页1.4BP神经网络计算(1)网络层数:在利用BP神经网络时,最多采取是含有一层或两层隐层网络。

含有偏差和最少一个S型隐层网络,能够近似任何函数,这已成为设计BP神经网络标准。

网络计算精度提升,能够经过采取一个隐层,而增加隐层神经元数方法来取得,这也就是通惯用一隐层、包含输入层和输出层三层BP网络模型原因。神经元数:输入和输出神经元数能够依据需要求解问题和数据所表示方式来确定。问题确定后,输入层与输出层神经元数也就随之定了。隐层神经元数选择有较广范围:当隐层神经元数较少时,误差下降到一定程度后会改变很小;当隐层神经元数过多时,不但网络训练时间长,还会出现过拟合问题,降低神经网络预测功效。通常隐层神经元数选择标准是:在能处理问题前提下,再加上1到2个神经元以加紧误差下降速度即可。15人工神经网络与智能算法专家讲座第15页BP神经网络计算(2)初始权值选取权重初始值选取,对网络训练学习是否到达局部最小,是否能够收敛以及训练时间长短有很大关系。假如初始权值太大,使得加和后值落在激活函数饱和区,从而造成激活函数导数非常小,在计算权值修正时,调整值靠近零,网络学习训练几乎处于停顿状态。所以普通总是希望经过初始权值计算后每个神经元输出值都靠近零,这么能够确保每个神经元权值都能在激活函数改变最大之处进行调整。普通来说,初始权值取{-1,1}之间随机数是很好选择。

16人工神经网络与智能算法专家讲座第16页BP神经网络计算(3)学习速率学习速率决定每一次循环训练中所产生权值改变量。大学习速率可能造成系统不稳定;但小学习速率造成较长训练时间,可能收敛很慢,不过能确保网络误差值不跳出误差表面低谷而最终趋于最小误差值。所以在普通情况下,倾向于选取较小学习速率以确保系统稳定性。学习速率选取范围在0.01~0.8之间。在一个神经网络计算过程中,使网络经过几个不一样学习速率训练,经过观察每一次训练后误差平方和下降速率来判断所选定学习速率是否适当。假如误差平方和下降很快,则说明学习速率适当若误差平方和出现振荡现象,则说明学习速率过大。对于每一个详细网络都存在一个适当学习速率。但对于较复杂网络,在误差曲面不一样部位可能需要不一样学习速率。为了降低寻找学习速率训练次数以及训练时间,比较适当方法是采取改变学习速率,使网络训练在不一样阶段自动设置不一样学习速率大小。17人工神经网络与智能算法专家讲座第17页BP神经网络计算程序BATCHNET介绍BATCHNET是一个BP神经网络计算DOS程序,程序由batchnet.exe和weights.exe两个可执行文件组成。batchnet为网络训练和预测程序,激活函数为Sigmoid函数,输入输出样本值范围为{0,1}。weights程序产生初始权值。批处理程序demo.batbatchnet-e10–d1.0e-5demo.run

说明:-e10—表示网络每迭代10步后显示误差;–d1.0e-5—表示网络训练误差;demo.run—求解问题网络参数文件,由batchnet调用,文件名可改,但扩展名run不能变。

18人工神经网络与智能算法专家讲座第18页BP神经网络计算程序BATCHNET介绍网络参数文件demo.run格式4train.outtrain.errtrain.patweights.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075train.outtrain.errtrain.pattrain.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075NumfOutfErrfPatfWtsfWtsonPatsnIternInpnHidnOutetaalphaNum—运行次数,本例为4;

fOut—网络计算结果输出文件,输出;fErr—网络计算误差文件,输出;fPat—训练学习样本文件,输入;fWts—问题初始权值文件,输入,由程序weights产生;fWtso—训练后权值文件,输出;nPats—训练样本数,本例为100;nIter—训练迭代次数,本例为1000;nInp—输入层神经元数目,本例为9;nHid—隐层神经元数目,本例为4;nOut—输出层神经元数目,本例为2;eta—学习速率,本例为0.15;alpha—动量因子,本例为0.075。

表示用BP神经网络先对100对输入输出样本进行学习训练1000次,预测166个样本一次,然后继续学习训练1000次后再进行一次预测。Batchnet如只计算一次,则不对连接权重进行更新。

19人工神经网络与智能算法专家讲座第19页BP神经网络计算程序BATCHNET介绍程序weights运行:weightsint_numnInpnHidnOutran_wts

说明:int_num—任一6位整数;nInp—输入层神经元数目;nHid—隐层神经元数目;nOut—输出层神经元数目,这3个参数同run程序中相一致;ran_wts—初始权值取值范围,实数1.表示取值范围在{-1,1}之间。Weights1234569421.020人工神经网络与智能算法专家讲座第20页BP神经网络计算程序BATCHNET介绍训练样本文件fPat格式:说明:In_pat—样本输入;Out_pat—对应样本输出;Id—对应样本标号;

In_patOut_patId0.3636360.1916670.70.750.6666670.5312250.08983330.05042190.6844341012345670.3272730.1875010.7333330.750.80.5310380.08194420.05042190.801057101234567

21人工神经网络与智能算法专家讲座第21页STATISTICANeuralNetworks(SNN)介绍经过输入数值变量(自变量)能够用神经网络来计算输出变量(应变量),输出变量类型能够是数值型,也能够是非数值型。在SNN中,求解问题可经过两种基本方式来进行:智能问题求解器(IntelligentProblemSolver)或程序菜单。智能问题求解器引导使用者建立求解问题神经网络。在智能问题求解器中,有基本型和高级型两种模式可供选择。基本型中,使用者只能控制设计神经网络中几个关键点,包含问题类型(样本相互独立标准型和变量预测值依赖先前值时间序列)、输出和输入变量、求解器筛选优化网络计算时间控制、在网络设置中需保留网络情况以及需显示结果与统计,其余网络设计及计算由求解器自动完成。基本型供对神经网络计算了解不多者使用。高级型中,使用者能控制设计神经网络各方面,包含网络训练、校验、测试时所用数据分割、置信度类型选择、选择需产生网络类型及复杂程度等,供对神经网络计算较熟悉者使用。22人工神经网络与智能算法专家讲座第22页SNN中神经网络方法多层网络(MultilayerPerceptrons);径向基函数网络(RadialBasisFunctionNetworks);概率神经网络(ProbabilisticNeuralNetworks);通用回归神经网络(GeneralizedRegressionNeuralNetworks);线性网络(LinearNetworks);Kohonen网络(KohonenNetworks);神经网络时间序列预测(TimeSeriesPrediction)。23人工神经网络与智能算法专家讲座第23页SNN菜单命令汇总24人工神经网络与智能算法专家讲座第24页SNN处理数据需要注意两个问题数据前处理与后处理在处理实际问题数据时,数据要进行匀整处理,这么处理包含计算前和计算后处理。神经网络计算用数据类型应该是数值型,当有些问题变量是多态情况,如对与错等,这些变量在用神经网络处理时,也需将其数值化。在SNN中有Pre/postprocessing,可处理这些数据变换问题,有时还能够用Options菜单中STATISTICATransfer,使数据直接在STATISTICA中处理。过拟合问题在用多项式拟合数据时,就会出现过拟合情况。一个低阶多项式可能做不到很好地拟合全部数据点,而一个高阶则可能做到,但实际上没有反应问题性质。25人工神经网络与智能算法专家讲座第25页SNN处理过拟合方法神经网络计算有一样问题,隐层神经元数太少,不能很好地描述问题,神经元数过多,会出现过拟合,因较大神经网络总能使误差减小。处理过拟合方法之一是用交替有效法(Cross-verification)。一些训练用样本不参加神经网络学习训练,而是独立地在训练学习过程中用来校验。当校验误差出现同训练学习误差不一样情况,即不是伴随训练学习进行,训练误差不停减小,反而停顿下降,开始升高,表明网络有过拟合数据情况,这时应降低隐层神经元数。在SNN中智能问题求解器含有自动选择隐层神经元数功效。26人工神经网络与智能算法专家讲座第26页SNN求解过程在神经网络研究和计算中,常能见到异或问题求解与讨论。这里以异或问题求解为例介绍SNN求解过程,并对SNN智能问题求解器中各项选择作一说明。FIRSTSECONDXOR000101011110异或问题两个输入变量为二进制数,其可能取值及期望输出如右表所表示:异或问题看起来简单,但含有复杂特征,它不是线性可分,即不可能有一直线使同类在线一边,如右图所表示:27人工神经网络与智能算法专家讲座第27页SNN中智能问题求解器使用步骤Step1:建立上述数据文件输入变量类型(Input

orOutput)样本分组(Training、Verification、Testing

)28人工神经网络与智能算法专家讲座第28页Step2:选择求解问题方式问题类型(BasicorAdvanced),选择“Advanced”。29人工神经网络与智能算法专家讲座第29页SNN中智能问题求解器使用步骤Step3:选择问题类型(ProblemType),选择“Standard

”。30人工神经网络与智能算法专家讲座第30页SNN中智能问题求解器使用步骤Step4:选择输出变量(OutputVariableSelection

),选择XOR变量作为输出变量。31人工神经网络与智能算法专家讲座第31页SNN中智能问题求解器使用步骤Step5:选择输入变量(InputVariableSelection

),选择变量FIRST,SECOND作为输入变量。并关闭选项“Searchforaneffectivesubset…

”。32人工神经网络与智能算法专家讲座第32页SNN中智能问题求解器使用步骤Step6:样本分组(Divisionofcases

)。控制训练(Training)、检验(Verification)和测试(Testing)样本大小。采取自定义分组样本33人工神经网络与智能算法专家讲座第33页SNN中智能问题求解器使用步骤Step7:选择网络类型(TypeofNetwork

)。为比较网络,几个网络都选,即线性、径向基函数(RBF)、通用回归神经网络(GRNN)、三层和四层MLP。34人工神经网络与智能算法专家讲座第34页SNN中智能问题求解器使用步骤Step8:控制网络隐层数目(HiddenUnits

)。选择“Determinenetworkcomplexityautomatically”自动确定网络复杂性,忽略数值选定。35人工神经网络与智能算法专家讲座第35页SNN中智能问题求解器使用步骤Step9:网络设计过程(DurationofDesignProcess

)。选择完全“Thorough”项。36人工神经网络与智能算法专家讲座第36页SNN中智能问题求解器使用步骤Step10:希望保留最正确网络和在网络确定过程中增加网络大小(SavingNetworks

)。选择

“Keepnetworks…”和“Increase…”项。37人工神经网络与智能算法专家讲座第37页SNN中智能问题求解器使用步骤Step11:结果显示

(ResultsShown

)。选择列表样本结果“Datasheet…”和统计结果汇总“Overall…”。SNN计算完成后,给出各种结果。38人工神经网络与智能算法专家讲座第38页SNN求解异或问题结果DataSetEditor给出了训练样本。

RunDataSet是训练结果,有目标值、计算值和误差。RegressionStatistics是最优网络计算统计结果。

NetworkSetEditor则是智能问题求解器所用各种网络计算结果。NetworkIllustration则是最优网络图示。

39人工神经网络与智能算法专家讲座第39页SNN求解异或问题结果计算结果表明了多层网络隐层神经元数为5时,计算误差已达10-5,能够用来描述异或问题。是否还有描述异或问题更加好网络结构呢?隐层数为4RBF网络,计算异或问题误差到达10-15,比隐层神经元数为5多层网络计算误差要小10个数量级,完全描述了异或问题。40人工神经网络与智能算法专家讲座第40页1.4关于ANN深入说明选取适当学习训练网络样本、优化网络结构、采取适当学习训练方法就能得到包含学习训练样本范围输入与输出关系。假如用于学习训练样本不能充分反应体系特征,用ANN也不能很好描述与预测体系,所以有“垃圾进,垃圾出;金子进,金子出”之说。确定性模型参数回归与ANN之类非确定性模型不一样特点。41人工神经网络与智能算法专家讲座第41页确定性模型与非确定性模型比较确定性模型参数回归特点:自变量与因变量之间有明确函数关系,含有未知数值参数,需要经过自变量与因变量数据组样本往返归预计,而且参数个数通常较少,含有明确物理意义。ANN之类非确定性模型特点:无须针对问题提出明确自变量与因变量之间函数关系,而函数关系用含有众多自由参数模型回归拟合,但自由参数无明确物理意义。所以,确定性模型回归主要目标是得到模型参数值。而非确定性模型计算主要目标是得到输入与输出关系。42人工神经网络与智能算法专家讲座第42页二、模拟退火法(SimulatedAnnealing)人工神经网络方法是用某种目标函数全局极小作为算法搜索和网络所要到达目标。在学习或运行过程中,网络误差总是按其梯度下降方向改变。当梯度趋于零时,网络学习或运行就停顿了,所以这种算法往往会陷入局部最小而达不到全局最小。造成网络陷入局部最小主要原因是网络误差按单方向降低,没有上升过程。假如将误差降低过程由“总是按梯度下降方向改变”改为“大部分情况下按梯度下降方向改变”,而有时按梯度上升方向改变,这么就有可能跳出局部最小而到达全局最小(下列图给出了梯度下降法(a)和SA方法(b)搜索路径)。模拟退火算法基本思想

43人工神经网络与智能算法专家讲座第43页模拟退火法起源SA算法是受金属冷却过程启发,最早由Metropolis于1953年提出来。它含有灵活有效,能对问题进行全局优化。金属中原子能量与温度相关。原子能量高时候,有能力摆脱其原来能量状态而最终到达一个愈加稳定状态——全局极小能量状态。金属固体进行退火处理时,通常先将它加热熔化,然后逐步降低温度。在凝固点附近,若温度下降速度足够慢,则固体物质会形成能量最低稳定状态。其中金属粒子都经历能量由高到低、暂时由低到高、最终趋向低能态过程。在金属退火过程中,能量状态分布:P(E)∝P(E)——系统处于含有能量E状态概率;k——Boltzmann常数;T——系统绝对温度(Kelvin)

44人工神经网络与智能算法专家讲座第44页模拟退火优化法SA算法将优化问题与统计物理学中热平衡问题进行类比,即将统计物理学处理金属固体冷却热平衡方法用于优化问题。

目标函数——能量函数优化参数状态空间——物质微观状态人工温度T——一个初值较大控制参数依据网络能量来决定控制参数调整量(称为步长)。当T较大时,目标函数值由低向高改变可能性较大;而T减小,这种可能性也随之减小。与金属退火过程(Annealing)非常相同。当控制参数T下降到一定程度时,目标函数将收敛于最小值。模拟退火优化算法基本思想45人工神经网络与智能算法专家讲座第45页模拟退火优化法计算机模拟某一温度T下物质体系热平衡状态方法:Step1:随机选择一个初始微观状态i作为当前状态,其对应能量为Ei。Step2:从状态i作随机扰动,产生一新状态j,其对应能量为Ej,计算能量增量△E=Ei

–Ej。Step3:假如△E≤0,则接收状态j作为当前状态,即j→i;若△E>0

,计算基于Boltzmann分布函数比值:其中:Boltzmann分布函数

k为Boltzmann常数取(0,1)之间一个随机数p,若r>p,则接收状态j作为当前状态,即j→i

;不然,保持原来状态i。46人工神经网络与智能算法专家讲座第46页模拟退火优化法从Boltzmann分布函数比值(即8.3.15式)可看出,温度高时大,对应kT也较大,接收与当前状态能差较大新状态概率大;降低温度,r较小,只能接收能差较小新状态。所以不停降低温度,体系最终能到达能量最低热平衡状态。

Step4:重复第二、三步,在大量能量状态改变后,系统处于能量较低平衡态。降低温度T再重复上述过程,体系又处于能量更低平衡态。47人工神经网络与智能算法专家讲座第47页SA基本算法步骤与框图首先进行初始化,任意给定初始态X0,取参数初值T0,计算优化目标函数E0,然后按下进行:(1)随机产生扰动态Xi,计算△E=Ei

–E0

;(2)若△E<0

,转到(4)。不然在(0,1)之间一个随机数p;(3)若exp(△E/T)<p

,转(5);(4)用Xi代替X0,E0

+△E代替E0;(5)以某种方式取Ti

<T0,如Ti=αT0;(6)SA计算过程是否结束,是就停顿,不然就转到(1)。48人工神经网络与智能算法专家讲座第48页SA算法控制SA算法能否到达目标函数最小值,主要取决于控制参数初值是否足够高和其下降得是否慢,所以注意相关控制参数选取问题。对于参数初值T0,惯用处理方法之一是在均匀地随机抽样X0后,取E0方差作为T0。对于降温策略Ti=αT0,0<α<1,常取α∈[0.85,0.96]。SA算法使用能够参考教材P257(FORTRAN程序)用SA拟合丙烷-丝光沸石体系在303K时吸附平衡数据和模型。

49人工神经网络与智能算法专家讲座第49页三、遗传算法(GeneticAlgorithm)遗传算法是一个模拟自然选择和遗传随机搜索算法。它最初由Holland在1975年提出,研究自然系统适应过程和设计含有自适应性能软件。遗传算法基本形式是用染色体来表示参数空间编码,用适应度函数来评价染色体群体优劣,经过遗传操作产生新染色体,并用概率来控制遗传操作。遗传算法是一个非线性方法,它含有简练、灵活、高效和全局优化特征,在过程控制、系统诊疗、非线性拟合与优化、人工智能等工程和研究领域都得到了广泛应用。50人工神经网络与智能算法专家讲座第50页遗传算法基础遗传算法是一个迭代算法,它在每一次迭代时都拥有一组解(父代染色体群体),这组解答最初是随机生成。在每次迭代时,首先保持解,然后染色体群体经过遗传操作(选择、杂交、变异等),生成新组解(子代染色体群体)。每个解都由一个目标函数来评价,而且这一过程不停重复,直至到达某种形式上收敛。新一组解不但能够有选择地保留一些先前迭代中目标函数值高解,而且能够包含一些经由其它解结合而得新解,其子代数值能够与其父代情况有相当大差异。51人工神经网络与智能算法专家讲座第51页符号串表示和遗传操作设计遗传算法术语借鉴于自然遗传学,遗传物质主要载体是染色体。在遗传算法中,染色体(个体)由一串数据或数组组成,用来作为问题解代码。染色体由决定其特征基因组成,而基因又能够有称为等位基因不一样取值。目标函数称为适应度函数,而一组染色体称为群体。遗传算法一次迭代称为一代。遗传算法成功关键在于符号串表示和遗传操作设计。52人工神经网络与智能算法专家讲座第52页染色体解空间中每一点都对应一个用由基因表示染色体。

比如:要确定适应度函数f(x,y)最大值,搜寻空间变量x和y为整数,其改变范围是0-15。这么对应于搜寻空间任何点可由两基因染色体来表示:

点(2,6)用二进制数有以下染色体:xy26→0010011053人工神经网络与智能算法专家讲座第53页交叉在两父代染色体随机长度位置上,用交叉概率进行后部交换,产生两子代,以下所表示:上面交叉操作称为单点交叉。普通地能够进行多点交叉,以下所表示:54人工神经网络与智能算法专家讲座第54页变异与交叉不一样,变异包括到一染色体个体一个或多个基因位翻转,产生新基因组合,以经过交叉来取得子代染色体。下面任一方法都能够用来进行变异操作:随机选择基因位数值能够被随机产生数值替换,这种替换对二进制和非二进制染色体都适用;在二进制染色体中,能够对随机选择基因位进行触发,即1→0或0→1。能够以概率Pm随机选择个体进行变异操作。变异操作主要优点是使染色体群体中出现各种基因,这么遗传算法有在参数解空间找出各种可能解,防止解丢失。55人工神经网络与智能算法专家讲座第55页有效性检验对于不一样优化问题,有时需要增加检验,确保新子代染色体表示是参数解空间中有效点。如考虑由四个基因组成染色体,每个基因有三个可能二进制值A=01,B=10,C=11。二进制染色体表示组合BACA是:1001110110011100如对最终基因位进行变异操作,产生了以下所表示无效染色体,因基因值00没有定义。一样,交叉也可能产生有缺点染色体操作。克服这些问题方法是采取结构操作,交叉或变异操作针对基因,而不是针对基因位。这么,交叉操作点总能与基因边界相一致,变异操作对整个基因组随机选择新值,确保产生有效染色体。如此做缺点是染色体群体差异性会受到影响。

56人工神经网络与智能算法专家讲座第56页基本遗传算法框图初始染色体群体随机产生;用适应度函数来评价染色体个体;依据适应度产生繁殖染色体个体,适应度好染色体个体其被选择来繁殖可能性大;经过染色体正确交叉和变异操作,产生各自子代繁殖染色体。57人工神经网络与智能算法专家讲座第57页基本遗传算法在遗传算法中,是依据适应度来选择个体进行繁殖,最适合染色体繁殖可能性也最大。选择不但决定由那些个体来繁殖,而且还要确定繁殖子代数目。所以选择方法对遗传算法有效性有着主要作用。GA算法使用能够参考教材P262(FORTRAN程序)GeneticAlgorithmandDirectSearchToolboxinMATLABva58人工神经网络与智能算法专家讲座第58页GeneticAlgorithmToolboxinMATLABCallingtheFunctiongaattheCommandLine[xfval]=ga(@fitnessfun,nvars,options)@fitnessfunisahandletothefitnessfunction.nvarsisthenumberofindependentvariablesforthefitnessfunction.optionsisastructurecontainingoptionsforthegeneticalgorithm.Ifyoudonotpassinthisargument,gausesitsdefaultoptions.Step

x—Pointatwhichthefinalvalueisattainedfval—FinalvalueofthefitnessfunctionUsingtheGeneticAlgorithmToolgatool59人工神经网络与智能算法专家讲座第59页GAToolGUIofMATLAB目标函数变量数约束条件图形显示执行计算计算结果计算选项60人工神经网络与智能算法专家讲座第60页Ex1:UnconstrainedMinimizationUsingGAFunction:Thefunctionhastwolocalminima:oneatx=0,wherethefunctionvalueis-1,theotheratx=21,wherethefunctionvalueis-1-1/e.Sincethelattervalueissmaller,theglobalminimumoccursatx=21.61人工神经网络与智能算法专家讲座第61页Resultoflocalminimumfunctiony=two_min(x)ifx<=20y=-exp(-(x/20).^2);elsey=-exp(-1)+(x-20)*(x-22);end62人工神经网络与智能算法专家讲座第62页

HowtoexplorepointsneartheglobalminimumOnewaytomakethegeneticalgorithmexploreawiderrangeofpoints—thatis,toincreasethediversityofthepopulations—istoincreasetheInitialrange.63人工神经网络与智能算法专家讲座第63页Rangeofindividualsineachgenerationamuchwiderrangeofindividuals.Bythesecondgenerationthereareindividualsgreaterthan21,andbygeneration12,thealgorithmfindsabestindividualthatisapproximatelyequalto21.allindividualsarebetween-2and2.5.WhilethisrangeislargerthanthedefaultInitialrangeof[0;1],duetomutation,itisnotlargeenoughtoexplorepointsneartheglobalminimumatx=21.

64人工神经网络与智能算法专家讲座第64页Ex2:ConstrainedMinimizationUsingGAminimizeasimplefitnessfunctionoftwovariablesx1andx2minf(x)=100*(x1^2-x2)^2+(1-x1)^2;xthefollowingtwononlinearconstraintsandboundsaresatisfiedx1*x2+x1-x2+1.5<=0,(nonlinearconstraint)10-x1*x2<=0,(nonlinearconstraint)0<=x1<=1,and(bound)0<=x2<=13(bound)65人工神经网络与智能算法专家讲座第65页Defineofobjectivefunctionandconstrainsfunction[c,ceq]=simple_constraint(x)c=[1.5+x(1)*x(2)+x(1)-x(2);-x(1)*x(2)+10];ceq=[];functiony=simple_fitness(x)y=100*(x(1)^2-x(2))^2+(1-x(1))^2;0<=x1<=10<=x2<=1366人工神经网络与智能算法专家讲座第66页ResultofEx267人工神经网络与智能算法专家讲座第67页M-fileGeneratedbyGAToolfunction[X,FVAL,REASON,OUTPUT,POPULATION,SCORES]=cm_ga%%FitnessfunctionfitnessFunction=@simple_fitness;%%NumberofVariablesnvars=2;%LinearinequalityconstraintsAineq=[];Bineq=[];%LinearequalityconstraintsAeq=[];Beq=[];%BoundsLB=[00];UB=[113];

温馨提示

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

评论

0/150

提交评论