《人工神经网络与智能算法》由会员分享,可在线阅读,更多相关《人工神经网络与智能算法(75页珍藏版)》请在金锄头文库上搜索。
1、啸挽最嘲庞抄驱凝漠欲工唉藏玛堰籽师徊贬杠吼邮跋腰丸缮阴年册推烤今人工神经网络与智能算法人工神经网络与智能算法智能算法(Intelligent Algorithm)朴掠丝疹展膛墩闭拖抱坝髓判得侦郭模油苯蝗蓄觅翻上刹甚还癣雁妆纷赢人工神经网络与智能算法人工神经网络与智能算法主要内容主要内容q人工神经网络(Artificial Neural Network,ANN)q模拟退火(Simulated Annealing,SA)q遗传算法(Genetic Algorithm,GA)拌噎酥攀岗撼博魄虞顽读矢否删吉狗樟鞘合笑蚀肃拜骤地荚循总驰疹沾但人工神经网络与智能算法人工神经网络与智能算法2人工神经网络参考
2、文献人工神经网络参考文献q陈念贻,钦佩,陈瑞亮,陆文聪,模式识别方法在化学化工中的应用,科陈念贻,钦佩,陈瑞亮,陆文聪,模式识别方法在化学化工中的应用,科学出版社,北京,学出版社,北京,2000。 q从爽,面向从爽,面向MATLAB工具箱的神经网络理论与应用,中国科学技术出版社,工具箱的神经网络理论与应用,中国科学技术出版社,合肥,合肥,1998。q焦李成,神经网络计算,西安电子科技大学出版社,西安,焦李成,神经网络计算,西安电子科技大学出版社,西安,1993。q王永骥,涂健,神经元网络控制,机械工业出版社,北京,王永骥,涂健,神经元网络控制,机械工业出版社,北京,1998。qBishop,
3、C. (1995). Neural Networks for Pattern Recognition. Oxford: University Press. qCarling, A. (1992). Introducing Neural Networks. Wilmslow, UK: Sigma Press. qFausett, L. (1994). Fundamentals of Neural Networks. New York: Prentice HallqHaykin, S. (1994). Neural Networks: A Comprehensive Foundation. New
4、 York: Macmillan Publishing. qPatterson, D. (1996). Artificial Neural Networks. Singapore: Prentice Hall. 惰字菠献鸽累赞上仑揭腰煌绳惜哆聘聋窜汁袁饱始菱岛豆焙翘静滦枝哄烙人工神经网络与智能算法人工神经网络与智能算法3生物神经元及神经网络生物神经元及神经网络神经元对信息的接受和传递都是通过突触来进行的。单个神经元可以从别神经元对信息的接受和传递都是通过突触来进行的。单个神经元可以从别的细胞接受多个输入。由于输入分布于不同的部位,对神经元影响的比例的细胞接受多个输入。由于输入分布于不同的部位,
5、对神经元影响的比例( (权重权重) )是不相同的。另外,各突触输入抵达神经元的先后时间也不一祥。是不相同的。另外,各突触输入抵达神经元的先后时间也不一祥。因此,一个神经元接受的信息,在时间和空间上常呈现出一种复杂多变的因此,一个神经元接受的信息,在时间和空间上常呈现出一种复杂多变的形式,需要神经元对它们进行积累和整合加工,从而决定其输出的时机和形式,需要神经元对它们进行积累和整合加工,从而决定其输出的时机和强度。正是神经元这种整合作用,才使得亿万个神经元在神经系统中有条强度。正是神经元这种整合作用,才使得亿万个神经元在神经系统中有条不紊、夜以继日地处理各种复杂的信息,执行着生物中枢神经系统的各
6、种不紊、夜以继日地处理各种复杂的信息,执行着生物中枢神经系统的各种信息处理功能。多个神经元以突触联接形成了一个神经网络。信息处理功能。多个神经元以突触联接形成了一个神经网络。咋萧粉豹珠缺牧汛及裔机著莲沁呜趴终壤愚增囚茬于牙屈沦侈叠绸力蹦寄人工神经网络与智能算法人工神经网络与智能算法4一、人工神经网络一、人工神经网络q什么是人工神经网络?什么是人工神经网络?它就是在对大脑的生理研究的基础上,它就是在对大脑的生理研究的基础上,用模拟生物神经元的某些基本功能元件(即人工神经元),用模拟生物神经元的某些基本功能元件(即人工神经元),按各种不同的联结方式组织起来的一个网络。按各种不同的联结方式组织起来的
7、一个网络。q其其目的目的在于模拟大脑的某些机理与机制,实现某个方面的功在于模拟大脑的某些机理与机制,实现某个方面的功能,可以用在模仿视觉、模式识别、函数逼近、模式识别、能,可以用在模仿视觉、模式识别、函数逼近、模式识别、分类和数据压缩等领域,是近年来人工智能计算的一个重要分类和数据压缩等领域,是近年来人工智能计算的一个重要学科分支。学科分支。q人工神经网络有多种形式,其中反向传播人工神经网络人工神经网络有多种形式,其中反向传播人工神经网络(Back-Propagation Artificial Network, 简称简称BP网络网络)是一种广泛使用是一种广泛使用的神经网络模型,它充分体现了人工
8、神经网络的特点。的神经网络模型,它充分体现了人工神经网络的特点。BP网网络是一种对非线性可微分函数进行权值训练的多层网络,在络是一种对非线性可微分函数进行权值训练的多层网络,在人工神经网络的实际应用中,人工神经网络的实际应用中,8090的人工神经网络模的人工神经网络模型是采用型是采用BP网络或它的变化形式。网络或它的变化形式。 尽衡默杜堰锄漱乖域朵锈快决杰掐词沧弧亢梗流瘫堡蔼科乍比监忍劫我扬人工神经网络与智能算法人工神经网络与智能算法51.1 BP神经网络神经网络q神经元的结构神经元的结构神经元是人工神经网络的基本处理单元,它一般为多输入神经元是人工神经网络的基本处理单元,它一般为多输入/单输
9、出的非单输出的非线性元件。神经元输出除受输入信号的影响外,还受神经元内部其它线性元件。神经元输出除受输入信号的影响外,还受神经元内部其它因素的制约,因此在人工神经元的建模中,常常加一额外输入信号,因素的制约,因此在人工神经元的建模中,常常加一额外输入信号,称为偏差称为偏差(bais),并取值为,并取值为1。 输入分量输入分量权值分量权值分量 神经元的输出神经元的输出 偏差权值偏差权值 激活函数激活函数 输入分量通过与它相乘的权值分量输入分量通过与它相乘的权值分量相连,求和后与偏差权值共同构成相连,求和后与偏差权值共同构成激活函数的输入激活函数的输入 。 泡莹硕钝僧霍状慰痈汞播擂痕况蛰忽丑善而腊
10、咕留等伺獭桃贿闲苟效压她人工神经网络与智能算法人工神经网络与智能算法6偏差偏差神经元的输出为:神经元的输出为: 偏差偏差b被简单地加在被简单地加在上,作为激活函数的一个输入分量。上,作为激活函数的一个输入分量。偏差的重要作用,它使得激活函数的图偏差的重要作用,它使得激活函数的图形可以左右移动,这样可增加网络解决形可以左右移动,这样可增加网络解决问题的能力。问题的能力。 望淡拈估柜吵鄙帅甘赴芬则李案凭顿硬麻澡根天浅损稻所规班嫉惫题锡析人工神经网络与智能算法人工神经网络与智能算法7激活函数激活函数q激活函数具有模拟生物神经元的非线性特性。激活函数具有模拟生物神经元的非线性特性。Sigmoid函数:
11、函数:双曲正切双曲正切tanh函数:函数:SigmoidSigmoid函数和双曲正切函数和双曲正切tanhtanh函数都是单调上升函数,函数都是单调上升函数,其极值分别为其极值分别为0 0、1 1和和1 1、1 1,且都是可微的。,且都是可微的。 幽汐锹尔穴甄妊鸟闸各斟扇超而蠢近商卒蓉下焰顺停凿铁淀辫北湍巴贩研人工神经网络与智能算法人工神经网络与智能算法8激活函数的一阶导数激活函数的一阶导数q在在BP神经网络训练算法中,要用到激活函数的一阶导数。神经网络训练算法中,要用到激活函数的一阶导数。Sigmoid函数的导数:函数的导数:双曲正切双曲正切tanh函数的导数:函数的导数:q由此可以看出,由
12、于激活函数的特点,用神经网络计算时,需由此可以看出,由于激活函数的特点,用神经网络计算时,需对输入和输出的值进行调整。对输入和输出的值进行调整。激活函数是采用激活函数是采用Sigmoid函数时,输入和输出的值应函数时,输入和输出的值应在在0,1之间;之间;激活函数是双曲正切激活函数是双曲正切tanh函数时,输入和输出的值范函数时,输入和输出的值范围则在围则在1,1之间。之间。宋获遵短购聊斟分酸栖采堑叶洼毙峰编某苹疥侮苗锅痪伯哀镰迅渊足芬厘人工神经网络与智能算法人工神经网络与智能算法91.2 BP网络的模型结构网络的模型结构 qBP网络是一种在输入层和输出层之间具有一层或多层隐层的网络是一种在输
13、入层和输出层之间具有一层或多层隐层的网络模型,而其典型的结构为有一隐层、包含输入层和输出网络模型,而其典型的结构为有一隐层、包含输入层和输出层的三层网络模型。典型层的三层网络模型。典型BP网络的结构示意图如下:网络的结构示意图如下:网络的输入模式网络的输入模式向量为向量为P,有,有r个个输入神经元,对输入神经元,对应输入模式向量应输入模式向量的每个元素。的每个元素。 隐层内有隐层内有s1个神个神经元,对应隐层经元,对应隐层输出是输出是a1。 网络的输出为网络的输出为a2,有,有s2个神经元,个神经元,而目标输出为而目标输出为T。 三层三层BPBP神经网络不同层神经元之间实现权重连接,神经网络不
14、同层神经元之间实现权重连接,而每层内各个神经元之间不连接而每层内各个神经元之间不连接。囤员吠进枷析扣杉斩扛叙或胚潮钱孔命霓僧于恬镣途庆犀巴恶志渐裳堪桨人工神经网络与智能算法人工神经网络与智能算法10BP网络的四个计算过程网络的四个计算过程q输入模式由输入层经隐含层向输出层的输入模式由输入层经隐含层向输出层的“模式正向传播模式正向传播”过程;(神经元的激活值过程;(神经元的激活值从输入层经隐含层向输出层传播,在输出从输入层经隐含层向输出层传播,在输出层各神经元获得网络响应。)层各神经元获得网络响应。)q网络实际输出与希望输出的误差信号由输网络实际输出与希望输出的误差信号由输出层经隐含层向输入层逐
15、层修正连接权和出层经隐含层向输入层逐层修正连接权和阂值的阂值的“误差反向传播误差反向传播”过程;过程;q由由“模式正向传播模式正向传播”过程与过程与“误差反向传播误差反向传播”过程的反复交替进行的网络学习训练过程;过程的反复交替进行的网络学习训练过程;q网络全局误差趋向极小的学习收敛过程。网络全局误差趋向极小的学习收敛过程。(网络对输入模式响应的正确率也不断增(网络对输入模式响应的正确率也不断增加。加。 ) 床廊待孰介霹宽档布客吊淋俺甲拿刚幕驹硬遂碌的饥匝匀联悟钡坞厉狮稽人工神经网络与智能算法人工神经网络与智能算法11BP网络的计算过程的简单描述(网络的计算过程的简单描述(1) q模式正向传播
16、过程模式正向传播过程隐含层中第隐含层中第j个神经元的输出为:个神经元的输出为:输出层中第输出层中第k个神经元的输出为:个神经元的输出为:q误差反向传播过程误差反向传播过程定义误差函数为:定义误差函数为: 神经网络学习的过程就是通过调整权值,使误差神经网络学习的过程就是通过调整权值,使误差E E最小,最小,此时可利用最速下降法求权值及误差的反向传播。此时可利用最速下降法求权值及误差的反向传播。 讫阔仑剪蓉蚌违肌红施宅限弓溪翔的瞻蚜庆怖痴貌噎落闷蜀莱鄙疯铱械答人工神经网络与智能算法人工神经网络与智能算法12BP网络的计算过程的简单描述(网络的计算过程的简单描述(2)隐含层中第隐含层中第j个神经元的
17、输出的权值变化为:个神经元的输出的权值变化为:对第对第i个输入到隐含层中第个输入到隐含层中第j个神经元输出的权值变化为:个神经元输出的权值变化为:修正后的新权重调整为:修正后的新权重调整为: 称为学称为学习系数,习系数,值在值在0,10,1之之间。间。 萝重更捞屠琢韶蝎甩饶椿宙灯殿斟捏螺偷恶难妆川膏腺珠社卿捅识马沿泞人工神经网络与智能算法人工神经网络与智能算法13加快加快BP网络训练速度的方法网络训练速度的方法 qBP网络得到了广泛的应用,但也存在自身的不足与限制,主网络得到了广泛的应用,但也存在自身的不足与限制,主要表现在网络训练需较长时间和网络有可能达到局部最小。要表现在网络训练需较长时间
18、和网络有可能达到局部最小。据此,据此,BP网络有各种改进方法,以加快训练速度,避免陷入网络有各种改进方法,以加快训练速度,避免陷入局部极小。局部极小。q主要的改进方法有:主要的改进方法有: 增加动量项,以平滑权的变化,一种常用形式是:增加动量项,以平滑权的变化,一种常用形式是: 为动量因子,值在为动量因子,值在0,10,1之间,之间,n n为迭代次数。为迭代次数。 采用二阶学习算法。前面的基于函数梯度的算法属于一阶采用二阶学习算法。前面的基于函数梯度的算法属于一阶算法,缺点就是在极值点附近收敛速度慢。采用二阶算法,算法,缺点就是在极值点附近收敛速度慢。采用二阶算法,如牛顿法、共轭梯度法等,将有
19、较快的收敛速度。如牛顿法、共轭梯度法等,将有较快的收敛速度。 模拟退火法。模拟退火法。 蝎札易疹偏盔鄂潘扔野抽诲哉迄库似嫂憨雾湍秧肺届拌刷讣堂栅巡布啊榴人工神经网络与智能算法人工神经网络与智能算法141.4 BP神经网络计算(神经网络计算(1) q网络的层数:网络的层数:在运用在运用BP神经网络时,神经网络时,最多采用的是具有一层或两层隐层的网络最多采用的是具有一层或两层隐层的网络。 具有偏差和至少一个具有偏差和至少一个S型隐层的网络,可以近似任何函数,这已成为设型隐层的网络,可以近似任何函数,这已成为设计计BP神经网络的原则。神经网络的原则。 网络计算精度的提高,可以通过采用一个隐层,而网络
20、计算精度的提高,可以通过采用一个隐层,而增加隐层神经元数增加隐层神经元数的方法来获得,这也就是通常用一隐层、包含输入层和输出层的三层的方法来获得,这也就是通常用一隐层、包含输入层和输出层的三层BP网络模型的原因。网络模型的原因。q神经元数:神经元数:输入和输出的神经元数可以根据需要求解的问题和数据所表示的方式输入和输出的神经元数可以根据需要求解的问题和数据所表示的方式来确定。问题确定后,输入层与输出层的神经元数也就随之定了。来确定。问题确定后,输入层与输出层的神经元数也就随之定了。隐层神经元数的选择有较广的范围:隐层神经元数的选择有较广的范围:当隐层神经元数较少时,误差下降到一定程度后会变化很
21、小;当隐层神经元数较少时,误差下降到一定程度后会变化很小;当隐层神经元数过多时,不仅网络训练时间长,还会出现过拟合问题,降当隐层神经元数过多时,不仅网络训练时间长,还会出现过拟合问题,降低神经网络的预测功能。低神经网络的预测功能。通常隐层神经元数的选择原则是:在能解决问题的前提下,再通常隐层神经元数的选择原则是:在能解决问题的前提下,再加上加上1到到2个神经元个神经元以加快误差的下降速度即可。以加快误差的下降速度即可。窿花伤遂舷胶庆廓齐耗闷嘶抖鹤退绢坷部砒捣狡枚鞭陇宵投桅兢件郧帆擦人工神经网络与智能算法人工神经网络与智能算法15BP神经网络计算(神经网络计算(2)q初始权值的选取初始权值的选取
22、 权重初始值的选取,对网络训练学习是否达到局部最小,是否能够收权重初始值的选取,对网络训练学习是否达到局部最小,是否能够收敛以及训练时间的长短有很大的关系。敛以及训练时间的长短有很大的关系。如果初始权值太大,使得加和后的值落在激活函数的饱和区,从而导如果初始权值太大,使得加和后的值落在激活函数的饱和区,从而导致激活函数的导数非常小,在计算权值修正时,调整值接近零,网络致激活函数的导数非常小,在计算权值修正时,调整值接近零,网络的学习训练几乎处在停止状态。的学习训练几乎处在停止状态。所以一般总是希望经过初始权值计算后每个神经元的输出值都接近零,所以一般总是希望经过初始权值计算后每个神经元的输出值
23、都接近零,这样可以保证每个神经元的权值都能在激活函数变化最大之处进行调这样可以保证每个神经元的权值都能在激活函数变化最大之处进行调节。节。一般来说,一般来说,初始权值取初始权值取-1,1之间的随机数之间的随机数是较好的选择。是较好的选择。 笛臃通栖盛暴铀剐蔚祥态怖祝坝颁钡蒋逞蔚汇揩奇肮凋吻升冀散琳轰菠鳃人工神经网络与智能算法人工神经网络与智能算法16BP神经网络计算(神经网络计算(3)q学习速率学习速率学习速率决定每一次循环训练中所产生的权值变化量。学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时
24、间,可能收敛很慢,不过能保证网络但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在学习速率的选取范围在0.010.8之间之间。在一个神经网络的计算过程中,使网络经过几个不同的学习速率的训在一个神经网络的计算过程中,使网络经过几个不同的学习速率的训练,通过观察每一次训练后的误差平方和的下降速率来判断所选定的练,通过观察每一次训练后的误差平方和的
25、下降速率来判断所选定的学习速率是否合适。学习速率是否合适。如果误差平方和下降很快,则说明学习速率合适如果误差平方和下降很快,则说明学习速率合适若误差平方和出现振荡现象,则说明学习速率过大。若误差平方和出现振荡现象,则说明学习速率过大。对于每一个具体网络都存在一个合适的学习速率。但对于较复杂网络,对于每一个具体网络都存在一个合适的学习速率。但对于较复杂网络,在误差曲面的不同部位可能需要不同的学习速率。为了减少寻找学习在误差曲面的不同部位可能需要不同的学习速率。为了减少寻找学习速率的训练次数以及训练时间,比较合适的方法是采用变化的学习速速率的训练次数以及训练时间,比较合适的方法是采用变化的学习速率
26、,使网络的训练在不同的阶段自动设置不同学习速率的大小。率,使网络的训练在不同的阶段自动设置不同学习速率的大小。 诛午惧驼冤举评间盈馅肠婴魔车种陕泌伪呐茫狮捕栅联乖仰骸姻斟菇梢攘人工神经网络与智能算法人工神经网络与智能算法17BP神经网络计算程序神经网络计算程序BATCHNET简介简介qBATCHNET是一个是一个 BP神经网络计算的神经网络计算的DOS程序,程序由程序,程序由batchnet.exe和和weights.exe两个可执行文件构成。两个可执行文件构成。batchnet为网络训练和预测程序,激活函数为为网络训练和预测程序,激活函数为Sigmoid函数,输入输出函数,输入输出样本值范围
27、为样本值范围为0,1。weights程序产生初始权值。程序产生初始权值。q批处理程序批处理程序demo.bat batchnet -e10 d1.0e-5 demo.run 说明:说明:-e10 表示网络每迭代表示网络每迭代1010步后显示误差;步后显示误差;d1.0e-5 表示网络训练误差;表示网络训练误差;demo.run demo.run 求解问题的网络参数文件,由求解问题的网络参数文件,由batchnetbatchnet调用,调用,文件名可改,但扩展名文件名可改,但扩展名runrun不能变不能变。 立锄漂感疏政斑次赛啄湾诚婉龟恫慨勉霄障浓娇合豺院如诉糯蠕召搞陨酵人工神经网络与智能算法人
28、工神经网络与智能算法18BP神经网络计算程序神经网络计算程序BATCHNET简介简介q网络参数文件网络参数文件demo.run的格式的格式 4train.out train.err train.pat weights.wts train.wts 100 1000 9 4 2 0.15 0.075test.out test.err test.pat train.wts test.wts 166 1 9 4 2 0.15 0.075train.out train.err train.pat train.wts train.wts 100 1000 9 4 2 0.15 0.075test.out
29、test.err test.pat train.wts test.wts 166 1 9 4 2 0.15 0.075 NumfOut fErr fPat fWts fWtso nPats nIter nInp nHid nOut eta alphaNum 运行次数,本例为运行次数,本例为4; fOut 网络计算结果输出文件,输出;网络计算结果输出文件,输出; fErr 网络计算误差文件,输出;网络计算误差文件,输出;fPat 训练学习样本文件,输入;训练学习样本文件,输入;fWts 问题的初始权值文件,输入,由程序问题的初始权值文件,输入,由程序weights产产生;生;fWtso 训练后的
30、权值文件,输出;训练后的权值文件,输出;nPats 训练样本数,本例为训练样本数,本例为100;nIter 训练迭代次数,本例为训练迭代次数,本例为1000;nInp 输入层神经元数目,本例为输入层神经元数目,本例为9;nHid 隐层神经元数目,本例为隐层神经元数目,本例为4;nOut 输出层神经元数目,本例为输出层神经元数目,本例为2;eta 学习速率,本例为学习速率,本例为0.15;alpha 动量因子,本例为动量因子,本例为0.075。 表示用表示用BPBP神经网络先对神经网络先对100100对输入对输入输出样本进行学习训练输出样本进行学习训练10001000次,次,预测预测166166
31、个样本一次,然后继续学个样本一次,然后继续学习训练习训练10001000次后再进行一次预测。次后再进行一次预测。BatchnetBatchnet如只计算一次,则不对如只计算一次,则不对连接权重进行更新。连接权重进行更新。 充焦羹扒介壹诊佐秩契墨祸压煌钾确捐恃洽川地踢涸姬偿翔中过廊历淘寸人工神经网络与智能算法人工神经网络与智能算法19BP神经网络计算程序神经网络计算程序BATCHNET简介简介q程序程序weights的运行的运行 :weights int_num nInp nHid nOut ran_wts 说明:说明:int_num int_num 任一任一6 6位整数;位整数;nInp nI
32、np 输入层神经元数目;输入层神经元数目;nHid nHid 隐层神经元数目;隐层神经元数目;nOut nOut 输出层神经元数目,这输出层神经元数目,这3 3个参数同个参数同runrun程序中的程序中的相一致;相一致;ran_wts ran_wts 初始权值取值范围,实数初始权值取值范围,实数1.1.表示取值范围表示取值范围在在-1,1-1,1之间。之间。 Weights 123456 9 4 2 1.0侩募映努瘤睬仑馏拯肚你群肠卓活鄂诅垂沮咳刚管党估独矽葫粥贩奉赋掩人工神经网络与智能算法人工神经网络与智能算法20BP神经网络计算程序神经网络计算程序BATCHNET简介简介q训练样本文件训练
33、样本文件fPat的格式:的格式: 说明:说明:In_pat In_pat 样本的输入;样本的输入;Out_pat Out_pat 对应的样本输出;对应的样本输出;Id Id 对应的样本标号;对应的样本标号; In_pat Out_pat Id0.363636 0.191667 0.7 0.75 0.666667 0.531225 0.0898333 0.0504219 0.6844341 0 12345670.327273 0.187501 0.733333 0.75 0.8 0.531038 0.0819442 0.0504219 0.8010571 0 1234567 桶玲帽睦擎幅命吊修幅
34、驳丧兴倡涝涪疼狱握引猩揭停返醇罢磅叛排遥橙预人工神经网络与智能算法人工神经网络与智能算法21STATISTICA Neural Networks (SNN) 简介简介q通过输入数值变量通过输入数值变量(自变量自变量)可以用神经网络来计算输出变量可以用神经网络来计算输出变量(应变量应变量),输出变量的类型可以是数值型的,也可以是非数值,输出变量的类型可以是数值型的,也可以是非数值型的。型的。 q在在SNN中,求解问题可通过两种基本方式来进行:智能问题中,求解问题可通过两种基本方式来进行:智能问题求解器求解器(Intelligent Problem Solver) 或程序的菜单。或程序的菜单。 智
35、能问题求解器引导使用者建立求解问题的神经网络。在智能问题求智能问题求解器引导使用者建立求解问题的神经网络。在智能问题求解器中,有解器中,有基本型基本型和和高级型高级型两种模式可供选择。两种模式可供选择。 基本型中,使用者只能控制设计神经网络中的几个关键点,包括问题基本型中,使用者只能控制设计神经网络中的几个关键点,包括问题类型类型(样本相互独立的标准型和变量预测值依赖先前值的时间序列样本相互独立的标准型和变量预测值依赖先前值的时间序列)、输、输出和输入变量、求解器筛选优化网络的计算时间控制、在网络设置中出和输入变量、求解器筛选优化网络的计算时间控制、在网络设置中需保存的网络情况以及需显示的结果
36、与统计,其余的网络设计及计算需保存的网络情况以及需显示的结果与统计,其余的网络设计及计算由求解器自动完成。基本型供对神经网络计算了解不多者使用。由求解器自动完成。基本型供对神经网络计算了解不多者使用。高级型中,使用者能控制设计神经网络的各方面,包括网络训练、校高级型中,使用者能控制设计神经网络的各方面,包括网络训练、校验、测试时所用数据的分割、置信度的类型选择、选择需产生网络的验、测试时所用数据的分割、置信度的类型选择、选择需产生网络的类型及复杂程度等,供对神经网络计算较熟悉者使用。类型及复杂程度等,供对神经网络计算较熟悉者使用。 挪蛤嘲倒铣弟要浑厚艾泡钻材聊祟悠慕滓锌跌舵晤西缮厂畏漓悯菲镶涕
37、泣人工神经网络与智能算法人工神经网络与智能算法22SNN中的神经网络方法中的神经网络方法 q多层网络多层网络(Multilayer Perceptrons);q径向基函数网络径向基函数网络(Radial Basis Function Networks);q概率神经网络概率神经网络(Probabilistic Neural Networks);q通用回归神经网络通用回归神经网络(Generalized Regression Neural Networks);q线性网络线性网络(Linear Networks);qKohonen网络网络(Kohonen Networks);q神经网络的时间序列预测
38、神经网络的时间序列预测(Time Series Prediction)。 易骚嗓巨跳哦缔荧擦掺眯远玉号己滋练鹿产拷唤滓酷弄泡祝男下似冯嘻缴人工神经网络与智能算法人工神经网络与智能算法23SNN菜单菜单 命令汇总命令汇总兼粗存佐抬朱野帛廷慧草奏楔厩攀概鹅模熄悸筹睦砚保捷帚铭赃吻韦矩炕人工神经网络与智能算法人工神经网络与智能算法24SNN处理数据需要注意的两个问题处理数据需要注意的两个问题 q数据的前处理与后处理数据的前处理与后处理在处理实际问题的数据时,数据要进行匀整处理,这样的处理包括计在处理实际问题的数据时,数据要进行匀整处理,这样的处理包括计算前和计算后的处理。算前和计算后的处理。神经网络
39、计算用的数据类型应该是数值型的,当有些问题的变量是多神经网络计算用的数据类型应该是数值型的,当有些问题的变量是多态的情况,如对与错等,这些变量在用神经网络处理时,也需将其数态的情况,如对与错等,这些变量在用神经网络处理时,也需将其数值化。值化。在在SNN中有中有Pre/post processing,可处理这些数据的变换问题,有时还,可处理这些数据的变换问题,有时还可以用可以用Options菜单中的菜单中的STATISTICA Transfer,使数据直接在,使数据直接在STATISTICA中处理。中处理。q过拟合问题过拟合问题在用多项式拟合数据时,就会出现过拟合的情况。一个低阶多项式可在用多
40、项式拟合数据时,就会出现过拟合的情况。一个低阶多项式可能做不到很好地拟合所有的数据点,而一个高阶的则可能做到,但实能做不到很好地拟合所有的数据点,而一个高阶的则可能做到,但实际上没有反映问题的性质。际上没有反映问题的性质。拱幅拧爬蚀藐肌柄倚遇苫数萨妒否揖森不某桶提绕肿犹摸疯研欲某节血俄人工神经网络与智能算法人工神经网络与智能算法25SNN处理过拟合的方法处理过拟合的方法q神经网络计算有同样的问题,隐层神经元数太少,不能很好神经网络计算有同样的问题,隐层神经元数太少,不能很好地描述问题,神经元数过多,会出现过拟合,因较大的神经地描述问题,神经元数过多,会出现过拟合,因较大的神经网络总能使误差减小
41、。网络总能使误差减小。q解决过拟合的办法之一是用交替有效法解决过拟合的办法之一是用交替有效法(Cross-verification)。一些训练用样本不参加神经网络的学习训练,而是独立地在一些训练用样本不参加神经网络的学习训练,而是独立地在训练学习过程中用来校验。训练学习过程中用来校验。q当校验误差出现同训练学习误差不一样的情况,即不是随着当校验误差出现同训练学习误差不一样的情况,即不是随着训练学习的进行,训练误差不断减小,反而停止下降,开始训练学习的进行,训练误差不断减小,反而停止下降,开始升高,表明网络有过拟合数据的情况,这时应减少隐层神经升高,表明网络有过拟合数据的情况,这时应减少隐层神经
42、元数。元数。 q在在SNN中智能问题求解器具有自动选择隐层神经元数的功能。中智能问题求解器具有自动选择隐层神经元数的功能。奖当真吝五氟斯挨便植诗矛供峡椰节烹察零逆埔转践桓方片迭刀刷振肢修人工神经网络与智能算法人工神经网络与智能算法26SNN的求解过程的求解过程q在神经网络的研究和计算中,常能见到异或问题的求解与讨在神经网络的研究和计算中,常能见到异或问题的求解与讨论。这里以异或问题的求解为例介绍论。这里以异或问题的求解为例介绍SNN的求解过程,并对的求解过程,并对SNN智能问题求解器中的各项选择作一说明。智能问题求解器中的各项选择作一说明。FIRSTSECONDXOR000101011110异
43、或问题两个输入变量为二异或问题两个输入变量为二进制的数,其可能的取值及进制的数,其可能的取值及期望输出如右表所示:期望输出如右表所示:异或问题看起来简单,但具异或问题看起来简单,但具有复杂的特征,它不是线性有复杂的特征,它不是线性可分的,即不可能有一直线可分的,即不可能有一直线使同类在线的一边,如右图使同类在线的一边,如右图所示:所示: 控吏傅壤范拳的屑幸嫡糯抡娠辞无嗡炭体牌丙谭挣尽晨篙彩指床瘩姑床圃人工神经网络与智能算法人工神经网络与智能算法27SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 1:建立上述的数据文件建立上述的数据文件 输入变量类型输入变量类型(Input
44、 or Output )样本分组(样本分组(Training、 Verification 、 Testing )掳漓施纹帽医恢篙碗腑强猛敢揉多已伺脸羌诗肄蛛快栽少删浊窄所黔茅轨人工神经网络与智能算法人工神经网络与智能算法28qStep 2:选择求解问题方式问题类型(选择求解问题方式问题类型(Basic or Advanced),),选择选择“Advanced”。粪技诫走堆抿菜辩恿哟赏鸦缴撤洞疡静接杆敖霖多粳公昨煌盯句眩主绥霹人工神经网络与智能算法人工神经网络与智能算法29SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 3:选择问题类型(选择问题类型(Problem Typ
45、e),选择),选择“Standard ”。峦哦梗官膳梆据彩庞嫌状替库轨谱弹伦零掠惋征厢述腊肌机沙确侮延仙宝人工神经网络与智能算法人工神经网络与智能算法30SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 4:选择输出变量(选择输出变量(Output Variable Selection ),选择),选择XOR变量作为输出变量。变量作为输出变量。剂甚耽笔旦葫锯城圈罢庇鸥两妮萄申喇楼发儡瞥肤服吸冶娜侧侮心嘛闷挖人工神经网络与智能算法人工神经网络与智能算法31SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 5:选择输入变量(选择输入变量(Input Vari
46、able Selection ),选择变),选择变量量FIRST, SECOND作为输入变量。并关闭选项作为输入变量。并关闭选项“Search for an effective subset ”。柜筷该筑嚣迁粒餐骇迷徊墓殖蔗舜毖鱼领泡柱奔夺扔墟堂轰障桅浆孝粱甲人工神经网络与智能算法人工神经网络与智能算法32SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 6:样本分组(样本分组(Division of cases )。控制训练)。控制训练(Training) 、检验(、检验(Verification)和测试()和测试(Testing)样)样本的大小。本的大小。采用自定义分采
47、用自定义分组样本组样本莹稿呛哲丛宁憋嗜砍挚湛婆漳缕喧蔫自弦建凳淋绕祖毕屡榷键烧捻洗显携人工神经网络与智能算法人工神经网络与智能算法33SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 7:选择网络类型(选择网络类型(Type of Network )。为比较网络,)。为比较网络,几种网络都选,即线性、径向基函数几种网络都选,即线性、径向基函数(RBF)、通用回归神经网、通用回归神经网络络(GRNN)、三层和四层、三层和四层MLP 。辩疤杯尘灿越瘫腊军丈郊立斩把圾婶阉径沃吕冀逢怖牙累翌让焰箭捻粗矮人工神经网络与智能算法人工神经网络与智能算法34SNN中的智能问题求解器使用步骤
48、中的智能问题求解器使用步骤qStep 8:控制网络隐层数目控制网络隐层数目 (Hidden Units )。选择)。选择“Determine network complexity automatically”自动确定网络复自动确定网络复杂性,忽略数值选定。杂性,忽略数值选定。英鹿斜筷馁担催召酷催岔禾溶躁陛瑰沪应易哦龚饥轨容摈寥侣报廷杀黑万人工神经网络与智能算法人工神经网络与智能算法35SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 9:网络设计过程网络设计过程 (Duration of Design Process )。选择)。选择完全完全“Thorough”项项 。酒挺
49、萧挽扼窿霉疙昂同胳壶绊拣樟众绞娠仓爷奋鹤豫莆项洱于手淀丙契翼人工神经网络与智能算法人工神经网络与智能算法36SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 10:希望保存最佳网络和在网络确定过程中增加网络大希望保存最佳网络和在网络确定过程中增加网络大小小 (Saving Networks )。选择)。选择 “Keep networks”和和“Increase ”项。项。燥师饶问雷兆裴包癸铂伏湾熄谈鹏腔嗡狮垦仪插平狮彼惜玩焰声橱涸市砸人工神经网络与智能算法人工神经网络与智能算法37SNN中的智能问题求解器使用步骤中的智能问题求解器使用步骤qStep 11:结果显示结果显示
50、(Results Shown )。选择列表样本结果)。选择列表样本结果“Datasheet”和统计结果汇总和统计结果汇总“Overall”。SNN计算完成后,计算完成后,给出多种结果。给出多种结果。僳抿聪派阶违集缘俘垢月搪眼瞬猫揉驳租让跋狂抵菇棱存豌暮笨援蔽新展人工神经网络与智能算法人工神经网络与智能算法38SNN的求解异或问题的结果的求解异或问题的结果Data Set Editor给给出了训练出了训练样本。样本。 Run Data Set是训练是训练结果,有结果,有目标值、目标值、计算值和计算值和误差。误差。Regression Statistics是是最优网络计算的统计结最优网络计算的统计
51、结果。果。 Network Set Editor则是则是智能问题求智能问题求解器所用的解器所用的各种网络的各种网络的计算结果。计算结果。Network Illustration则是最优网则是最优网络的图示。络的图示。 综些谤其洲蔡朗层惫绿娥沥绣姿咕驼啸肌壶榴谩尾吮呸抑萌菜井搁杭蜘棉人工神经网络与智能算法人工神经网络与智能算法39SNN的求解异或问题的结果的求解异或问题的结果q计算结果表明了多层网络的隐层神经元数为计算结果表明了多层网络的隐层神经元数为5时,计算的误差时,计算的误差已达已达10-5,可以用来描述异或问题。,可以用来描述异或问题。q是否还有描述异或问题更好的网络结构呢?是否还有描述
52、异或问题更好的网络结构呢?q隐层数为隐层数为4的的RBF网络,计算异或问题的误差达到网络,计算异或问题的误差达到10-15,比隐,比隐层神经元数为层神经元数为5的多层网络的计算误差要小的多层网络的计算误差要小10个数量级,完全个数量级,完全描述了异或问题。描述了异或问题。 韵事单莲沿织彻巨防揉芯牧睡舷虱云奴翰牟撵蹬翘么铲累篡蚂奄谆庶葫菱人工神经网络与智能算法人工神经网络与智能算法401.4 关于关于ANN的进一步说明的进一步说明q选选用用合合适适的的学学习习训训练练网网络络样样本本、优优化化网网络络结结构构、采采用用适适当当的的学学习习训训练练方方法法就就能能得得到到包包含含学学习习训训练练样
53、样本本范范围围的输入与输出关系。的输入与输出关系。q如如果果用用于于学学习习训训练练的的样样本本不不能能充充分分反反映映体体系系的的特特性性,用用ANN也也不不能能很很好好的的描描述述与与预预测测体体系系,所所以以有有“垃垃圾圾进,垃圾出;金子进,金子出进,垃圾出;金子进,金子出”之说。之说。q确确定定性性模模型型的的参参数数回回归归与与ANN之之类类的的非非确确定定性性模模型型的不同特点。的不同特点。豌肺芬蜗硷蔡堕尚碘痊文晦辛四后佳返撰慕诬览味冈习孵联砒彰烙损雅干人工神经网络与智能算法人工神经网络与智能算法41确定性模型与非确定性模型的比较确定性模型与非确定性模型的比较q确定性模型的参数回归
54、的特点:确定性模型的参数回归的特点:自变量与因变量之间有明确的函数关系,具有未知数值的自变量与因变量之间有明确的函数关系,具有未知数值的参数,需要通过自变量与因变量的数据组样本来回归估计,参数,需要通过自变量与因变量的数据组样本来回归估计,而且参数个数通常较少,具有明确的物理意义。而且参数个数通常较少,具有明确的物理意义。qANN之类的非确定性模型的特点:之类的非确定性模型的特点:无须针对问题提出明确的自变量与因变量之间的函数关系,无须针对问题提出明确的自变量与因变量之间的函数关系,而函数关系用含有众多自由参数的模型回归拟合,但自由而函数关系用含有众多自由参数的模型回归拟合,但自由参数无明确的
55、物理意义。参数无明确的物理意义。q因此,确定性模型回归的主要目标是得到模型的参数因此,确定性模型回归的主要目标是得到模型的参数值。而非确定性模型计算的主要目标是得到输入与输值。而非确定性模型计算的主要目标是得到输入与输出的关系。出的关系。恼机弦梆札倘颧凉乓纺露追慧厅渗希纯剔吼具迂队敢吐橙豢葛缀疲拾绚羹人工神经网络与智能算法人工神经网络与智能算法42二、模拟退火法(二、模拟退火法(Simulated Annealing)q人工神经网络方法是用某种目标函数的全局极小作为算法搜人工神经网络方法是用某种目标函数的全局极小作为算法搜索和网络所要达到的目标。在学习或运行过程中,网络的误索和网络所要达到的目
56、标。在学习或运行过程中,网络的误差总是按其梯度下降的方向变化。当梯度趋于零时,网络的差总是按其梯度下降的方向变化。当梯度趋于零时,网络的学习或运行就停止了,所以这种算法往往会陷入局部最小而学习或运行就停止了,所以这种算法往往会陷入局部最小而达不到全局最小。达不到全局最小。q导致网络陷入局部最小的主要原因是网络误差按单方向减少,导致网络陷入局部最小的主要原因是网络误差按单方向减少,没有上升的过程。如果将误差的减少过程由没有上升的过程。如果将误差的减少过程由“总是按梯度下降总是按梯度下降的方向变化的方向变化”改为改为“大部分情况下按梯度下降的方向变化大部分情况下按梯度下降的方向变化”,而,而有时按
57、梯度上升的方向变化,这样就有可能跳出局部最小而有时按梯度上升的方向变化,这样就有可能跳出局部最小而达到全局最小达到全局最小(下图给出了梯度下降法下图给出了梯度下降法(a)和和SA方法方法(b)搜索途搜索途径径)。 模拟退火算模拟退火算法的基本思法的基本思想想 苏赛鞍怠许派庭彝绸偿凹斟恨傅脑撇阵哮仟崭毛羞呵淫脸悠移伺甚塘嘱霉人工神经网络与智能算法人工神经网络与智能算法43模拟退火法的起源模拟退火法的起源qSA算法是受金属冷却过程的启发,最早由算法是受金属冷却过程的启发,最早由Metropolis于于1953年提出来的。它具有灵活有效,能对问题进行全局优化。年提出来的。它具有灵活有效,能对问题进行
58、全局优化。q金属中原子的能量与温度有关。原子能量高的时候,有能力金属中原子的能量与温度有关。原子能量高的时候,有能力摆脱其原来的能量状态而最后达到一个更加稳定的状态摆脱其原来的能量状态而最后达到一个更加稳定的状态全局极小能量状态。全局极小能量状态。q金属固体进行退火处理时,通常先将它加热熔化,然后逐渐金属固体进行退火处理时,通常先将它加热熔化,然后逐渐降低温度。在凝固点附近,若温度下降的速度足够慢,则固降低温度。在凝固点附近,若温度下降的速度足够慢,则固体物质会形成能量最低的稳定状态。其中的金属粒子都经历体物质会形成能量最低的稳定状态。其中的金属粒子都经历能量由高到低、暂时由低到高、最终趋向低
59、能态的过程。能量由高到低、暂时由低到高、最终趋向低能态的过程。 q在金属的退火过程中,能量的状态分布:在金属的退火过程中,能量的状态分布:P(E) P(E)P(E)系系统统处处于于具具有有能能量量E E的的状状态态的概率;的概率;k kBoltzmannBoltzmann常数;常数;T T系统的绝对温度系统的绝对温度(Kelvin)(Kelvin) 够跟臀监果城拥鳖悍畴带咕磊梗格业柒内栗签孰经棋大掩响灰航馋怒够屡人工神经网络与智能算法人工神经网络与智能算法44模拟退火优化法模拟退火优化法qSA算法将优化问题与统计物理学中的热平衡问题进行类比,算法将优化问题与统计物理学中的热平衡问题进行类比,即
60、将统计物理学处理金属固体冷却的热平衡方法用于优化即将统计物理学处理金属固体冷却的热平衡方法用于优化问题。问题。 q目标函数目标函数能量函数能量函数q优化参数的状态空间优化参数的状态空间物质的微观状态物质的微观状态 q人工温度人工温度TT一个初值较大的控制参数一个初值较大的控制参数q依据网络的能量来决定控制参数的调整量(称为步长)。依据网络的能量来决定控制参数的调整量(称为步长)。当当T T较大时,目标函数值由低向高变化的可能性较大;而较大时,目标函数值由低向高变化的可能性较大;而T T减小,这种可能性也随之减小。减小,这种可能性也随之减小。q与金属的退火过程(与金属的退火过程(Annealin
61、gAnnealing)非常相似。当控制参数)非常相似。当控制参数T T下降到一定程度时,目标函数将收敛于最小值。下降到一定程度时,目标函数将收敛于最小值。 模拟退火优化算法的基本思想模拟退火优化算法的基本思想瞅殉倘撩省悼譬歪媚纲拨栅链葡咎涯近便喻肚飞痘岿望娥沈绸激枕蜗银妆人工神经网络与智能算法人工神经网络与智能算法45模拟退火优化法模拟退火优化法q计算机模拟某一温度计算机模拟某一温度T下物质体系热平衡状态的方法下物质体系热平衡状态的方法 :Step 1Step 1:随机选择一个初始微观状态随机选择一个初始微观状态i作为当前状态,其相作为当前状态,其相应的能量为应的能量为Ei。Step 2:从状
62、态从状态i作随机扰动,产生一新的状态作随机扰动,产生一新的状态j,其相应的,其相应的能量为能量为Ej,计算能量增量,计算能量增量EE= =Ei Ej。Step 3:如果如果E0,则接受状态,则接受状态j作为当前状态,即作为当前状态,即jiji;若若E0 ,计算基于,计算基于BoltzmannBoltzmann分布函数的比值:分布函数的比值:其中其中:Boltzmann:Boltzmann分布函数分布函数 k为为BoltzmannBoltzmann常数常数 取取(0,1)(0,1)之间的一个随机数之间的一个随机数p,若,若rp,则接受状态,则接受状态j作为当作为当前状态,即前状态,即ji ;否则
63、,保持原来的状态;否则,保持原来的状态i。 郝民瑚育燥砌霉吗瞎暇拾加概尖抠恢仍丽寓艘减盲谚悦榴沏当泉柄沈炔墙人工神经网络与智能算法人工神经网络与智能算法46模拟退火优化法模拟退火优化法q从从BoltzmannBoltzmann分布函数的比值分布函数的比值( (即即8.3.158.3.15式式) )可看出,可看出,温度高时大,相应温度高时大,相应kT也较大,接受与当前状态能也较大,接受与当前状态能差较大的新状态的概率大;降低温度,差较大的新状态的概率大;降低温度,r较小,只较小,只能接受能差较小的新状态。因此不断降低温度,能接受能差较小的新状态。因此不断降低温度,体系最终能达到能量最低热平衡状态
64、。体系最终能达到能量最低热平衡状态。 Step 4Step 4:重复第二、三步,在大量的能量状态变化后,系重复第二、三步,在大量的能量状态变化后,系统处于能量较低的平衡态。降低温度统处于能量较低的平衡态。降低温度T T再重复上述过程,体再重复上述过程,体系又处在能量更低的平衡态。系又处在能量更低的平衡态。琵圾以臻歉卒始淌鸣河弊潦站狱卷原急灭慢捏贞呆佛梨勾苦驭蝴岂籽竖块人工神经网络与智能算法人工神经网络与智能算法47SA基本算法的步骤与框图基本算法的步骤与框图q首先进行初始化,任意给定初始首先进行初始化,任意给定初始态态X0 ,取参数初值,取参数初值T0 ,计算优化,计算优化目标函数目标函数E0
65、 ,然后按下进行:,然后按下进行: (1)随机产生扰动态)随机产生扰动态Xi,计算,计算E=Ei E0 ;(2)若)若E0 ,转到,转到(4)。否则。否则在在(0,1)之间的一个随机数之间的一个随机数p;(3)若)若exp(E/T) p ,转,转(5) ;(4)用)用Xi代替代替X0 ,E0 +E代替代替E0 ;(5)以某种方式取)以某种方式取Ti T0,如,如 Ti =T0;(6) SA计算过程是否结束,是计算过程是否结束,是就停止,否则就转到就停止,否则就转到(1)。 今孪旭窒聊裙略邯赢桶蓝父匝悔做更柯趴盔张刽乖窿宁求室狗浆纱羌坡耐人工神经网络与智能算法人工神经网络与智能算法48SA算法的
66、控制算法的控制SA算法能否达到目标函数的最小值,主要取决于控制参数的算法能否达到目标函数的最小值,主要取决于控制参数的初值是否足够高和其下降得是否慢,因此注意有关控制参数初值是否足够高和其下降得是否慢,因此注意有关控制参数的选取问题。对于参数初值的选取问题。对于参数初值T0 ,常用的处理方法之一是在均,常用的处理方法之一是在均匀地随机抽样匀地随机抽样X0后,取的后,取的E0方差作为方差作为T0 。对于降温策略。对于降温策略Ti =T0 ,01,常取,常取0.85,0.96。qSASA算法的使用可以参考教材算法的使用可以参考教材P257P257(FORTRANFORTRAN程序)程序)q用用SA
67、拟合丙烷丝光沸石体系在拟合丙烷丝光沸石体系在303 K时的吸附平衡数据时的吸附平衡数据和模型。和模型。 盾营傍帖咐沼总绪敖矮会童叭吮拒洋块快雌综躲剪柬迭哭还脚吠渝池河茸人工神经网络与智能算法人工神经网络与智能算法49三、遗传算法三、遗传算法(Genetic Algorithm) q遗传算法是一种模拟自然选择和遗传的随机搜索算法。它最遗传算法是一种模拟自然选择和遗传的随机搜索算法。它最初由初由Holland在在1975年提出的,研究自然系统的适应过程和设年提出的,研究自然系统的适应过程和设计具有自适应性能的软件。计具有自适应性能的软件。q遗传算法的基本形式是用遗传算法的基本形式是用染色体染色体来
68、表示参数空间的编码,用来表示参数空间的编码,用适应度函数适应度函数来评价染色体群体的优劣,通过来评价染色体群体的优劣,通过遗传遗传操作产生新操作产生新的染色体,并用的染色体,并用概率概率来控制遗传操作。来控制遗传操作。q遗传算法是一种非线性方法,它具有简洁、灵活、高效和全遗传算法是一种非线性方法,它具有简洁、灵活、高效和全局优化的特性,在过程控制、系统诊断、非线性拟合与优化、局优化的特性,在过程控制、系统诊断、非线性拟合与优化、人工智能等工程和研究领域都得到了广泛的应用。人工智能等工程和研究领域都得到了广泛的应用。 磨荡箕汹悸重狂殉烩镶咀拧酋耘计累冲抗束似堰正磷偿郁颊析给漠扰橙槛人工神经网络与
69、智能算法人工神经网络与智能算法50遗传算法基础遗传算法基础q遗传算法是一种迭代算法,它在每一次迭代时都拥有遗传算法是一种迭代算法,它在每一次迭代时都拥有一组解一组解(父代染色体群体父代染色体群体),这组解答最初是,这组解答最初是随机随机生成的。生成的。q在每次迭代时,首先保持解,然后染色体群体经过遗传操作在每次迭代时,首先保持解,然后染色体群体经过遗传操作(选择、杂交、变异等选择、杂交、变异等),生成新的组解,生成新的组解(子代染色体群体子代染色体群体)。每。每个解都由一个目标函数来评价,而且这一过程不断重复,直个解都由一个目标函数来评价,而且这一过程不断重复,直至达到某种形式上的收敛。新的一
70、组解不但可以有选择地保至达到某种形式上的收敛。新的一组解不但可以有选择地保留一些先前迭代中目标函数值高的解,而且可以包括一些经留一些先前迭代中目标函数值高的解,而且可以包括一些经由其它解结合而得的新的解,其子代的数值可以与其父代的由其它解结合而得的新的解,其子代的数值可以与其父代的情况有相当大的差别。情况有相当大的差别。 湛棉仑帕澳裔稍脾序们仇页奶鸵郊既荆鲍呈墙钧拍庇畸曝堑贼血陆叠选颁人工神经网络与智能算法人工神经网络与智能算法51符号串表示和遗传操作的设计符号串表示和遗传操作的设计q遗传算法的术语借鉴于自然遗传学遗传算法的术语借鉴于自然遗传学, 遗传物质的主要载体是染遗传物质的主要载体是染色
71、体。在遗传算法中,染色体色体。在遗传算法中,染色体(个体个体)由一串数据或数组构成,由一串数据或数组构成,用来作为问题解的代码。用来作为问题解的代码。q染色体由决定其特性的基因构成,而基因又可以有称为等位染色体由决定其特性的基因构成,而基因又可以有称为等位基因的不同取值。基因的不同取值。q目标函数称为适应度函数,而一组染色体称为群体。目标函数称为适应度函数,而一组染色体称为群体。q遗传算法的一次迭代称为一代。遗传算法的一次迭代称为一代。q遗传算法成功的关键在于符号串表示和遗传操作的设计。遗传算法成功的关键在于符号串表示和遗传操作的设计。 砖专恫穷宙姚弓匆羹茶觉峨愤形揭摔则钱祭砒吊烷利酬靶喉徊渊
72、粘游精檬人工神经网络与智能算法人工神经网络与智能算法52染色体染色体 q解空间中的每一点都对应一个用由基因表示的染色体。解空间中的每一点都对应一个用由基因表示的染色体。 例如:要确定适应度函数例如:要确定适应度函数f(x,y)的最大值,搜寻空间变量的最大值,搜寻空间变量x和和y为整数,其变化范围是为整数,其变化范围是0-15。这样对应于搜寻空间任何点可由。这样对应于搜寻空间任何点可由两基因的染色体来表示:两基因的染色体来表示: 点(点(2,6)用二进制数有如下的染色体:)用二进制数有如下的染色体: xy2600100110憋德劈蛤廉人镀慷皮骂呼捂盅斧力疲兰讨焰攻磺经铺杂羞岳枢钒城浚为琅人工神经
73、网络与智能算法人工神经网络与智能算法53交叉交叉q在两父代的染色体的随机长度位置上,用交叉概率进行后部在两父代的染色体的随机长度位置上,用交叉概率进行后部交换,产生两子代,如下所示:交换,产生两子代,如下所示: 上面的交叉操作称为单点交叉。一般地可以进行多点交叉,上面的交叉操作称为单点交叉。一般地可以进行多点交叉,如下所示:如下所示: 秦斌熟款锨硼嫩缎沁魂刀挎痴萌敬怀作泣坤尧憨欧盗商刽联休沽附汐箭仑人工神经网络与智能算法人工神经网络与智能算法54变异变异q与交叉不同,变异涉及到一染色体个体的一个或多个基因位与交叉不同,变异涉及到一染色体个体的一个或多个基因位的翻转,产生新的基因组合,以通过交叉
74、来获得子代染色体。的翻转,产生新的基因组合,以通过交叉来获得子代染色体。下面的任一方法都可以用来进行变异操作:下面的任一方法都可以用来进行变异操作: 随机选择的基因位数值可以被随机产生的数值替代,这种替代对二进随机选择的基因位数值可以被随机产生的数值替代,这种替代对二进制和非二进制染色体都适用;制和非二进制染色体都适用;在二进制染色体中,可以对随机选择的基因位进行触发,即在二进制染色体中,可以对随机选择的基因位进行触发,即10或或01。 q可以以概率可以以概率Pm随机选择个体进行变异操作。随机选择个体进行变异操作。 q变异操作的主要优点是使染色体群体中出现各种基因,这样变异操作的主要优点是使染
75、色体群体中出现各种基因,这样遗传算法有在参数解空间找出各种可能的解,避免解的丢失。遗传算法有在参数解空间找出各种可能的解,避免解的丢失。 盗以泊痴匣摩谁氰裕诽尾坷痛潍虹袒腮挫漏浚向佳挡扫蹋坊稀轩钟旭曼互人工神经网络与智能算法人工神经网络与智能算法55有效性检验有效性检验q对于不同的优化问题,有时需要增加检验,确保新子代的染对于不同的优化问题,有时需要增加检验,确保新子代的染色体表示的是参数解空间中的有效点。如考虑由四个基因组色体表示的是参数解空间中的有效点。如考虑由四个基因组成的染色体,每个基因有三个可能的二进制值成的染色体,每个基因有三个可能的二进制值A=01,B=10,C=11。二进制染色
76、体表示组合。二进制染色体表示组合BACA是:是: 1001110110011100如对最后的基因位进行变异操作,产生了如下所示的无效如对最后的基因位进行变异操作,产生了如下所示的无效染色体,因基因值染色体,因基因值00没有定义。没有定义。 q同样,交叉也可能产生有缺陷的染色体操作。克服这些问题同样,交叉也可能产生有缺陷的染色体操作。克服这些问题的方法是采用结构操作,交叉或变异操作针对基因,而不是的方法是采用结构操作,交叉或变异操作针对基因,而不是针对基因位。这样,交叉操作点总能与基因边界相一致,变针对基因位。这样,交叉操作点总能与基因边界相一致,变异操作对整个基因组随机选择新值,确保产生有效染
77、色体。异操作对整个基因组随机选择新值,确保产生有效染色体。如此做的缺点是染色体群体的差异性会受到影响。如此做的缺点是染色体群体的差异性会受到影响。 嵌羚办伙砂术域赣凄婪迫泌当样涸穷乒挣王馋兔受仅波交婚痞茂惋神至譬人工神经网络与智能算法人工神经网络与智能算法56基本的遗传算法框图基本的遗传算法框图q初始染色体群体随机产生;初始染色体群体随机产生;q用适应度函数来评价染色用适应度函数来评价染色体个体;体个体;q根据适应度产生繁殖的染根据适应度产生繁殖的染色体个体,适应度好的染色体个体,适应度好的染色体个体其被选择来繁殖色体个体其被选择来繁殖的可能性大;的可能性大;q通过染色体对的交叉和变通过染色体
78、对的交叉和变异操作,产生各自的子代异操作,产生各自的子代繁殖染色体。繁殖染色体。 采稼乃章怀箔枷迭堕宙酞梦根赎甲铝疹稼羔卢史斟砚消侗楔不胞诊雷袭层人工神经网络与智能算法人工神经网络与智能算法57基本的遗传算法基本的遗传算法q在遗传算法中,是依据适应度来选择个体进行繁殖的,最适在遗传算法中,是依据适应度来选择个体进行繁殖的,最适合的染色体繁殖的可能性也最大。选择不仅决定由那些个体合的染色体繁殖的可能性也最大。选择不仅决定由那些个体来繁殖,而且还要确定繁殖子代的数目。因此选择的方法对来繁殖,而且还要确定繁殖子代的数目。因此选择的方法对遗传算法的有效性有着重要的作用。遗传算法的有效性有着重要的作用。
79、 qGAGA算法的使用可以参考教材算法的使用可以参考教材P262P262(FORTRANFORTRAN程序)程序)qGenetic Algorithm and Direct Search Toolbox in MATLAB v2006a丘桔战羞认某悟旱撮三轨貉侮鄂捍制现蔽巧担密锭萍矿魄筒拓殃琼爷吊咳人工神经网络与智能算法人工神经网络与智能算法58Genetic Algorithm Toolbox in MATLABqCalling the Function ga at the Command Linex fval = ga(fitnessfun, nvars, options)fitnessf
80、unfitnessfun is a handle to the fitness function. is a handle to the fitness function.nvarsnvars is the number of independent variables for the fitness function. is the number of independent variables for the fitness function.optionsoptions is a structure containing options for the genetic algorithm
81、. If you do is a structure containing options for the genetic algorithm. If you do not pass in this argument, ga uses its default options.Stepnot pass in this argument, ga uses its default options.Step x Point at which the final value is attainedfval Final value of the fitness functionqUsing the Gen
82、etic Algorithm Toolgatool仆孟块腕爷抛陕历钧攻幻邵骆贵唁问宗殆恨侣陪勿臣歪射躇啸贸羊陛鸟杯人工神经网络与智能算法人工神经网络与智能算法59GATool GUI of MATLAB目标函数目标函数变量数变量数约束条件约束条件图形显示图形显示执行计算执行计算计算结果计算结果计算选项计算选项索决尚谴拐城感次低源攻般翔搬绦遇柱掳叶温险娶猎迄楚郎拄哭赃呆孽缅人工神经网络与智能算法人工神经网络与智能算法60Ex1: Unconstrained Minimization Using GAqFunction:qThe function has two local minima:qone
83、 at x = 0, where the function value is -1, qthe other at x = 21, where the function value is -1 - 1/e. qSince the latter value is smaller, the global minimum occurs at x = 21. 舅顶山笔劳磋脂拾初鹅加紧赶蚂幸疹忽杰棒蜡洁镁厄展娠亡耳项垂旬讯婶人工神经网络与智能算法人工神经网络与智能算法61Result of local minimumfunction y = two_min(x)if x=20 y = -exp(-(x/2
84、0).2);else y = -exp(-1)+(x-20)*(x-22);end偶氓希洞摸萝菠吐诺饵希示笛沛不吉藏像觉纶室帘卯围盘芹侈诚刹院纳荡人工神经网络与智能算法人工神经网络与智能算法62 How to explore points near the global minimumq One way to make the genetic algorithm explore a wider range of points that is, to increase the diversity of the populations is to increase the Initial rang
85、e. 寺翘后综陀己韧妖退肛算逼没副撞锤慷铆平修馒佑筋影绝钮冈狞讲蛀暑嗽人工神经网络与智能算法人工神经网络与智能算法63Range of individuals in each generationa much wider range of individuals. By the second generation there are individuals greater than 21, and by generation 12, the algorithm finds a best individual that is approximately equal to 21.all indiv
86、iduals are between -2 and 2.5. While this range is larger than the default Initial range of 0;1, due to mutation, it is not large enough to explore points near the global minimum at x = 21. 力幽走潦稍电邢侧骏啸师帮萄夏今宗豪椿昭愤末肋黎讹导芹败用饱侍应搓人工神经网络与智能算法人工神经网络与智能算法64Ex2: Constrained Minimization Using GAq minimize a sim
87、ple fitness function of two variables x1 and x2min f(x) = 100 * (x12 - x2) 2 + (1 - x1)2; xq the following two nonlinear constraints and bounds are satisfiedx1*x2 + x1 - x2 + 1.5 =0, (nonlinear constraint)10 - x1*x2 =0, (nonlinear constraint)0 = x1 = 1, and (bound)0 = x2 = 13 (bound)时梁冰甚淘类窿悍甫倾乘支祈撼呆音
88、掺交郴盈疽颓裸个荔耸浑啥概谭松享人工神经网络与智能算法人工神经网络与智能算法65Define of objective function and constrainsfunction c, ceq = simple_constraint(x) c = 1.5 + x(1)*x(2) + x(1) - x(2); -x(1)*x(2) + 10; ceq = ;function y = simple_fitness(x)y = 100 * (x(1)2 - x(2) 2 + (1 - x(1)2;0 = x1 = 10 = x2 = 13奴来嘘舌茸泌杀治考今麻食毯娱渠幼规潘硬碴夕漂扯等夷勿朴珠脸
89、迷域驰人工神经网络与智能算法人工神经网络与智能算法66Result of Ex2擞仍数调端街淘丘橇戏盖呛韩蹭七蛮亡跳尺喝顽获璃泥象衫稍然樟辉陨鞠人工神经网络与智能算法人工神经网络与智能算法67M-file Generated by GAToolfunction X,FVAL,REASON,OUTPUT,POPULATION,SCORES = cm_ga %Fitness functionfitnessFunction = simple_fitness;%Number of Variablesnvars = 2 ;%Linear inequality constraintsAineq = ;Bi
90、neq = ;%Linear equality constraintsAeq = ;Beq = ;%BoundsLB = 0 0 ;UB = 1 13 ;%Nonlinear constraintsnonlconFunction = simple_constraint;%Start with default optionsoptions = gaoptimset;%Modify some parametersoptions = gaoptimset(options,PopulationSize ,100);options = gaoptimset(options,MutationFcn , m
91、utationgaussian 1 1 );options = gaoptimset(options,Display ,off);%Run GAX,FVAL,REASON,OUTPUT,POPULATION,SCORES = ga(fitnessFunction,nvars,Aineq,Bineq,Aeq,Beq,LB,UB,nonlconFunction,options);啄许堰网趁乃存胁饶这杯汲簧足裤木离鹰贯熏淬购悲洞弄沼棉嘛驰钠恕婆人工神经网络与智能算法人工神经网络与智能算法68M-file by userfunction c, ceq = simple_constraint(x) c
92、= 1.5 + x(1)*x(2) + x(1) - x(2); -x(1)*x(2) + 10; ceq = ;function y = simple_fitness(x)y = 100 * (x(1)2 - x(2) 2 + (1 - x(1)2;ObjectiveFunction = simple_fitness;nvars = 2; % Number of variablesLB = 0 0; % Lower boundUB = 1 13; % Upper boundConstraintFunction = simple_constraint;x,fval = ga(Objective
93、Function,nvars,LB,UB, . ConstraintFunction)x = 0.8122 12.3122fval = 1.3578e+004也怖议征澎凭婴懂洪负嘻戌激舟妒连娥礼搭剧丁扳朝咋履钓虾撒拷邦锌桐人工神经网络与智能算法人工神经网络与智能算法69Conventional structure of a GA applied to the experomental design开渠雇算聂淖褥虐爸宫深渗钓雌阮厌僳慢隋涟蹦流坯牵襟鳃弱闹逻依净翅人工神经网络与智能算法人工神经网络与智能算法70Application of GA in CatalysisJos M. Serra,
94、Antonio Chica, Avelino Corma, Applied Catalysis A: General 239 (2003) 3542岔育皆禄胆掣裤康僵茬敷碴大膜营戌昏益壁岁懒岩懈烽卉肮咐帽瞳姨比溃人工神经网络与智能算法人工神经网络与智能算法71Application of GA in Catalysis豪舟艳蜂阑今灿烛随畏丛批横昨偷妄侦和徽哲粱淫败党叠渭拾凿孝井驶植人工神经网络与智能算法人工神经网络与智能算法72Application of GA in Catalysis帕愿恍黔协许俗蛰齐舞了介佑屎鸽职歼擂腆攒垒靡精倍蹭邱牡艇爱炬丫寓人工神经网络与智能算法人工神经网络与智能算法
95、73Application of GA in Catalysis盾蘑都蔗迎眷蛛篱纳废斧施樟芍谋烯烫惧娶碴硝茁淫扯唾谷瓷肖着愁拭枫人工神经网络与智能算法人工神经网络与智能算法74序号序号遗传学概念遗传学概念遗传算法概念遗传算法概念数学概念数学概念1个体个体要处理的基本对象、结构要处理的基本对象、结构也就是可行解也就是可行解2群体群体个体的集合个体的集合被选定的一组可行解被选定的一组可行解3染色体染色体个体的表现形式个体的表现形式可行解的编码可行解的编码4基因基因染色体中的元素染色体中的元素编码中的元素编码中的元素5基因位基因位某一基因在染色体中的位置某一基因在染色体中的位置元素在编码中的位置元素
96、在编码中的位置6适应值适应值个体对于环境的适应程度,或在环境压力下的个体对于环境的适应程度,或在环境压力下的生存能力生存能力可行解所对应的适应函数值可行解所对应的适应函数值7种群种群被选定的一组染色体或个体被选定的一组染色体或个体根据入选概率定出的一组可行解根据入选概率定出的一组可行解8选择选择从群体中选择优胜的个体,淘汰劣质个体的操从群体中选择优胜的个体,淘汰劣质个体的操作作保留或复制适应值大的可行解,去掉小的保留或复制适应值大的可行解,去掉小的可行解可行解9交叉交叉一组染色体上对应基因段的交换一组染色体上对应基因段的交换根据交叉原则产生的一组新解根据交叉原则产生的一组新解10交叉概率交叉概
97、率染色体对应基因段交换的概率(可能性大小)染色体对应基因段交换的概率(可能性大小)闭区间闭区间0,1上的一个值,一般为上的一个值,一般为0.650.9011变异变异染色体水平上基因变化染色体水平上基因变化编码的某些元素被改变编码的某些元素被改变12变异概率变异概率染色体上基因变化的概率(可能性大小)染色体上基因变化的概率(可能性大小)开区间开区间(0,1)内的一个值内的一个值, 一般为一般为0.0010.0113进化、进化、适者生存适者生存个体进行个体进行优胜劣汰的进化,一代又一代地优化优胜劣汰的进化,一代又一代地优化目标函数取到最大值,目标函数取到最大值,最优的最优的可行解可行解焦逞泪段救叹岛过骨氧漳只衫筒远慈毯辟易笑羚便托凿帆歉呕嘻浑药正骗人工神经网络与智能算法人工神经网络与智能算法75