工程應(yīng)用數(shù)學(xué)-智能算法_第1頁
工程應(yīng)用數(shù)學(xué)-智能算法_第2頁
工程應(yīng)用數(shù)學(xué)-智能算法_第3頁
工程應(yīng)用數(shù)學(xué)-智能算法_第4頁
工程應(yīng)用數(shù)學(xué)-智能算法_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、智能算法(Intelligent Algorithm)2主要內(nèi)容主要內(nèi)容q人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)q模擬退火(Simulated Annealing,SA)q遺傳算法(Genetic Algorithm,GA)3生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)神經(jīng)元對信息的接受和傳遞都是通過突觸來進(jìn)行的。單個(gè)神經(jīng)元可以從別神經(jīng)元對信息的接受和傳遞都是通過突觸來進(jìn)行的。單個(gè)神經(jīng)元可以從別的細(xì)胞接受多個(gè)輸入。由于輸入分布于不同的部位,對神經(jīng)元影響的比例的細(xì)胞接受多個(gè)輸入。由于輸入分布于不同的部位,對神經(jīng)元影響的比例( (權(quán)重權(quán)重) )是不相同的。另外,各突

2、觸輸入抵達(dá)神經(jīng)元的先后時(shí)間也不一祥。是不相同的。另外,各突觸輸入抵達(dá)神經(jīng)元的先后時(shí)間也不一祥。因此,一個(gè)神經(jīng)元接受的信息,在時(shí)間和空間上常呈現(xiàn)出一種復(fù)雜多變的因此,一個(gè)神經(jīng)元接受的信息,在時(shí)間和空間上常呈現(xiàn)出一種復(fù)雜多變的形式,需要神經(jīng)元對它們進(jìn)行積累和整合加工,從而決定其輸出的時(shí)機(jī)和形式,需要神經(jīng)元對它們進(jìn)行積累和整合加工,從而決定其輸出的時(shí)機(jī)和強(qiáng)度。正是神經(jīng)元這種整合作用,才使得億萬個(gè)神經(jīng)元在神經(jīng)系統(tǒng)中有條強(qiáng)度。正是神經(jīng)元這種整合作用,才使得億萬個(gè)神經(jīng)元在神經(jīng)系統(tǒng)中有條不紊、夜以繼日地處理各種復(fù)雜的信息,執(zhí)行著生物中樞神經(jīng)系統(tǒng)的各種不紊、夜以繼日地處理各種復(fù)雜的信息,執(zhí)行著生物中樞神經(jīng)系統(tǒng)

3、的各種信息處理功能。多個(gè)神經(jīng)元以突觸聯(lián)接形成了一個(gè)神經(jīng)網(wǎng)絡(luò)。信息處理功能。多個(gè)神經(jīng)元以突觸聯(lián)接形成了一個(gè)神經(jīng)網(wǎng)絡(luò)。4一、人工神經(jīng)網(wǎng)絡(luò)一、人工神經(jīng)網(wǎng)絡(luò)q什么是人工神經(jīng)網(wǎng)絡(luò)?什么是人工神經(jīng)網(wǎng)絡(luò)?它就是在對大腦的生理研究的基礎(chǔ)上,它就是在對大腦的生理研究的基礎(chǔ)上,用模擬生物神經(jīng)元的某些基本功能元件(即人工神經(jīng)元),用模擬生物神經(jīng)元的某些基本功能元件(即人工神經(jīng)元),按各種不同的聯(lián)結(jié)方式組織起來的一個(gè)網(wǎng)絡(luò)。按各種不同的聯(lián)結(jié)方式組織起來的一個(gè)網(wǎng)絡(luò)。q其其目的目的在于模擬大腦的某些機(jī)理與機(jī)制,實(shí)現(xiàn)某個(gè)方面的功在于模擬大腦的某些機(jī)理與機(jī)制,實(shí)現(xiàn)某個(gè)方面的功能,可以用在模仿視覺、模式識別、函數(shù)逼近、模式識別、

4、能,可以用在模仿視覺、模式識別、函數(shù)逼近、模式識別、分類和數(shù)據(jù)壓縮等領(lǐng)域,是近年來人工智能計(jì)算的一個(gè)重要分類和數(shù)據(jù)壓縮等領(lǐng)域,是近年來人工智能計(jì)算的一個(gè)重要學(xué)科分支。學(xué)科分支。q人工神經(jīng)網(wǎng)絡(luò)有多種形式,其中反向傳播人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)有多種形式,其中反向傳播人工神經(jīng)網(wǎng)絡(luò)(Back-Propagation Artificial Network, 簡稱簡稱BP網(wǎng)絡(luò)網(wǎng)絡(luò))是一種廣是一種廣泛使用的神經(jīng)網(wǎng)絡(luò)模型,它充分體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn)。泛使用的神經(jīng)網(wǎng)絡(luò)模型,它充分體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn)。BP網(wǎng)絡(luò)是一種對非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò),網(wǎng)絡(luò)是一種對非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)

5、絡(luò),在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,8090的人工神經(jīng)網(wǎng)絡(luò)的人工神經(jīng)網(wǎng)絡(luò)模型是采用模型是采用BP網(wǎng)絡(luò)或它的變化形式。網(wǎng)絡(luò)或它的變化形式。 51.1 BP神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)q神經(jīng)元的結(jié)構(gòu)神經(jīng)元的結(jié)構(gòu) 神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元,它一般為多輸入神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元,它一般為多輸入/單輸出的非單輸出的非線性元件。神經(jīng)元輸出除受輸入信號的影響外,還受神經(jīng)元內(nèi)部其它線性元件。神經(jīng)元輸出除受輸入信號的影響外,還受神經(jīng)元內(nèi)部其它因素的制約,因此在人工神經(jīng)元的建模中,常常加一額外輸入信號,因素的制約,因此在人工神經(jīng)元的建模中,常常加一額外輸入信號,稱為偏差稱為偏差(

6、bais),并取值為,并取值為1。 輸入分量輸入分量權(quán)值分量權(quán)值分量 神經(jīng)元的輸出神經(jīng)元的輸出 偏差權(quán)值偏差權(quán)值 激活函數(shù)激活函數(shù) 輸入分量通過與它相乘的權(quán)值分量輸入分量通過與它相乘的權(quán)值分量相連,求和后與偏差權(quán)值共同構(gòu)成相連,求和后與偏差權(quán)值共同構(gòu)成激活函數(shù)的輸入激活函數(shù)的輸入 。 )(1bpwfajrjj6偏差偏差神經(jīng)元的輸出為:神經(jīng)元的輸出為: )(1bpwfajrjj偏差偏差b被簡單地加在被簡單地加在jrjjwp1上,作為激活函數(shù)的一個(gè)輸入分量。上,作為激活函數(shù)的一個(gè)輸入分量。偏差的重要作用,它使得激活函數(shù)的圖偏差的重要作用,它使得激活函數(shù)的圖形可以左右移動,這樣可增加網(wǎng)絡(luò)解決形可以左

7、右移動,這樣可增加網(wǎng)絡(luò)解決問題的能力。問題的能力。 7激活函數(shù)激活函數(shù)q激活函數(shù)具有模擬生物神經(jīng)元的非線性特性。激活函數(shù)具有模擬生物神經(jīng)元的非線性特性。Sigmoid函數(shù):函數(shù):雙曲正切雙曲正切tanh函數(shù):函數(shù):xexf11)(xxxxeeeexf)(SigmoidSigmoid函數(shù)和雙曲正切函數(shù)和雙曲正切tanhtanh函數(shù)都是單調(diào)上升函數(shù),函數(shù)都是單調(diào)上升函數(shù),其極值分別為其極值分別為0 0、1 1和和1 1、1 1,且都是可微的。,且都是可微的。 8激活函數(shù)的一階導(dǎo)數(shù)激活函數(shù)的一階導(dǎo)數(shù)q在在BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)的一階導(dǎo)數(shù)。神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)的一階導(dǎo)數(shù)。

8、Sigmoid函數(shù)的導(dǎo)數(shù):函數(shù)的導(dǎo)數(shù):雙曲正切雙曲正切tanh函數(shù)的導(dǎo)數(shù):函數(shù)的導(dǎo)數(shù):)(1)(11111)(xfxfeexfxx)(11)(22xfeeeexfxxxxq由此可以看出,由于激活函數(shù)的特點(diǎn),用神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí),由此可以看出,由于激活函數(shù)的特點(diǎn),用神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí),需對輸入和輸出的值進(jìn)行調(diào)整。需對輸入和輸出的值進(jìn)行調(diào)整。激活函數(shù)是采用激活函數(shù)是采用Sigmoid函數(shù)時(shí),輸入和輸出的值應(yīng)函數(shù)時(shí),輸入和輸出的值應(yīng)在在0,1之間;之間;激活函數(shù)是雙曲正切激活函數(shù)是雙曲正切tanh函數(shù)時(shí),輸入和輸出的值范函數(shù)時(shí),輸入和輸出的值范圍則在圍則在1,1之間。之間。91.2 BP網(wǎng)絡(luò)的模型結(jié)構(gòu)網(wǎng)絡(luò)的

9、模型結(jié)構(gòu) qBP網(wǎng)絡(luò)是一種在輸入層和輸出層之間具有一層或多層隱層的網(wǎng)絡(luò)是一種在輸入層和輸出層之間具有一層或多層隱層的網(wǎng)絡(luò)模型,而其典型的結(jié)構(gòu)為有一隱層、包含輸入層和輸出網(wǎng)絡(luò)模型,而其典型的結(jié)構(gòu)為有一隱層、包含輸入層和輸出層的三層網(wǎng)絡(luò)模型。典型層的三層網(wǎng)絡(luò)模型。典型BP網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如下:網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如下:網(wǎng)絡(luò)的輸入模式網(wǎng)絡(luò)的輸入模式向量為向量為P,有,有r個(gè)個(gè)輸入神經(jīng)元,對輸入神經(jīng)元,對應(yīng)輸入模式向量應(yīng)輸入模式向量的每個(gè)元素。的每個(gè)元素。 隱層內(nèi)有隱層內(nèi)有s1個(gè)神個(gè)神經(jīng)元,對應(yīng)隱層經(jīng)元,對應(yīng)隱層輸出是輸出是a1。 網(wǎng)絡(luò)的輸出為網(wǎng)絡(luò)的輸出為a2,有有s2個(gè)神經(jīng)元,個(gè)神經(jīng)元,而目標(biāo)輸出為而目

10、標(biāo)輸出為T。 三層三層BPBP神經(jīng)網(wǎng)絡(luò)不同層神經(jīng)元之間實(shí)現(xiàn)權(quán)重連接,神經(jīng)網(wǎng)絡(luò)不同層神經(jīng)元之間實(shí)現(xiàn)權(quán)重連接,而每層內(nèi)各個(gè)神經(jīng)元之間不連接。而每層內(nèi)各個(gè)神經(jīng)元之間不連接。10BP網(wǎng)絡(luò)的四個(gè)計(jì)算過程網(wǎng)絡(luò)的四個(gè)計(jì)算過程q輸人模式由輸入層經(jīng)隱含層向輸出層的輸人模式由輸入層經(jīng)隱含層向輸出層的“模式正向傳播模式正向傳播”過程;(神經(jīng)元的激活過程;(神經(jīng)元的激活值從輸入層經(jīng)隱含層向輸出層傳播,在輸值從輸入層經(jīng)隱含層向輸出層傳播,在輸出層各神經(jīng)元獲得網(wǎng)絡(luò)響應(yīng)。)出層各神經(jīng)元獲得網(wǎng)絡(luò)響應(yīng)。)q網(wǎng)絡(luò)實(shí)際輸出與希望輸出的誤差信號由輸網(wǎng)絡(luò)實(shí)際輸出與希望輸出的誤差信號由輸出層經(jīng)隱含層向輸入層逐層修正連接權(quán)和出層經(jīng)隱含層向

11、輸入層逐層修正連接權(quán)和閡值的閡值的“誤差反向傳播誤差反向傳播”過程;過程;q由由“模式正向傳播模式正向傳播”過程與過程與“誤差反向傳誤差反向傳播播”過程的反復(fù)交替進(jìn)行的網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過程的反復(fù)交替進(jìn)行的網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過程;過程;q網(wǎng)絡(luò)全局誤差趨向極小的學(xué)習(xí)收斂過程。網(wǎng)絡(luò)全局誤差趨向極小的學(xué)習(xí)收斂過程。(網(wǎng)絡(luò)對輸入模式響應(yīng)的正確率也不斷增(網(wǎng)絡(luò)對輸入模式響應(yīng)的正確率也不斷增加。加。 ) 11BP網(wǎng)絡(luò)的計(jì)算過程的簡單描述(網(wǎng)絡(luò)的計(jì)算過程的簡單描述(1) rijbijijbwpwfa1) 11( 111, 2 , 1sj11)212(22sjkbjkjkbwawfa2, 2 , 1skq模式正向傳播過程

12、模式正向傳播過程隱含層中第隱含層中第j個(gè)神經(jīng)元的輸出為:個(gè)神經(jīng)元的輸出為:輸出層中第輸出層中第k個(gè)神經(jīng)元的輸出為:個(gè)神經(jīng)元的輸出為:q誤差反向傳播過程誤差反向傳播過程定義誤差函數(shù)為:定義誤差函數(shù)為: 212)2(21skkkatE神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過程就是通過調(diào)整權(quán)值,使誤差神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過程就是通過調(diào)整權(quán)值,使誤差E E最小,最小,此時(shí)可利用最速下降法求權(quán)值及誤差的反向傳播。此時(shí)可利用最速下降法求權(quán)值及誤差的反向傳播。 12BP網(wǎng)絡(luò)的計(jì)算過程的簡單描述(網(wǎng)絡(luò)的計(jì)算過程的簡單描述(2)隱含層中第隱含層中第j個(gè)神經(jīng)元的輸出的權(quán)值變化為:個(gè)神經(jīng)元的輸出的權(quán)值變化為:jkkkjkkkjkjafatwaa

13、EwEw12)2(22222 2)2(222fatwaaEwEwkkkbkkkbkb對第對第i個(gè)輸入到隱含層中第個(gè)輸入到隱含層中第j個(gè)神經(jīng)元輸出的權(quán)值變化為:個(gè)神經(jīng)元輸出的權(quán)值變化為:ikjskkkjijjkkjijipfwfatwaaaaEwEw 122)2(111221121122)2(112221 fwfatwaaaaEwEwkjskkkjbjjkkjbjb修正后的新權(quán)重調(diào)整為:修正后的新權(quán)重調(diào)整為: pnpnpWWW1稱為學(xué)稱為學(xué)習(xí)系數(shù),習(xí)系數(shù),值在值在0,10,1之間。之間。 13加快加快BP網(wǎng)絡(luò)訓(xùn)練速度的方法網(wǎng)絡(luò)訓(xùn)練速度的方法 qBP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但也存在自身的不足與限制,

14、主網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但也存在自身的不足與限制,主要表現(xiàn)在網(wǎng)絡(luò)訓(xùn)練需較長時(shí)間和網(wǎng)絡(luò)有可能達(dá)到局部最小。要表現(xiàn)在網(wǎng)絡(luò)訓(xùn)練需較長時(shí)間和網(wǎng)絡(luò)有可能達(dá)到局部最小。據(jù)此,據(jù)此,BP網(wǎng)絡(luò)有各種改進(jìn)方法,以加快訓(xùn)練速度,避免陷入網(wǎng)絡(luò)有各種改進(jìn)方法,以加快訓(xùn)練速度,避免陷入局部極小。局部極小。q主要的改進(jìn)方法有:主要的改進(jìn)方法有: 增加動量項(xiàng),以平滑權(quán)的變化,一種常用形式是:增加動量項(xiàng),以平滑權(quán)的變化,一種常用形式是: )(11npnppnpnpWWWWW為動量因子,值在為動量因子,值在0,10,1之間,之間,n n為迭代次數(shù)。為迭代次數(shù)。 采用二階學(xué)習(xí)算法。前面的基于函數(shù)梯度的算法屬于一階采用二階學(xué)習(xí)算法

15、。前面的基于函數(shù)梯度的算法屬于一階算法,缺點(diǎn)就是在極值點(diǎn)附近收斂速度慢。采用二階算法,算法,缺點(diǎn)就是在極值點(diǎn)附近收斂速度慢。采用二階算法,如牛頓法、共軛梯度法等,將有較快的收斂速度。如牛頓法、共軛梯度法等,將有較快的收斂速度。 模擬退火法等。模擬退火法等。 141.4 BP神經(jīng)網(wǎng)絡(luò)計(jì)算(神經(jīng)網(wǎng)絡(luò)計(jì)算(1) q網(wǎng)絡(luò)的層數(shù):網(wǎng)絡(luò)的層數(shù): 在運(yùn)用在運(yùn)用BP神經(jīng)網(wǎng)絡(luò)時(shí),神經(jīng)網(wǎng)絡(luò)時(shí),最多采用的是具有一層或兩層隱層的網(wǎng)絡(luò)最多采用的是具有一層或兩層隱層的網(wǎng)絡(luò)。 具有偏差和至少一個(gè)具有偏差和至少一個(gè)S型隱層的網(wǎng)絡(luò),可以近似任何函數(shù),這已成為設(shè)型隱層的網(wǎng)絡(luò),可以近似任何函數(shù),這已成為設(shè)計(jì)計(jì)BP神經(jīng)網(wǎng)絡(luò)的原則。神

16、經(jīng)網(wǎng)絡(luò)的原則。 網(wǎng)絡(luò)計(jì)算精度的提高,可以通過采用一個(gè)隱層,而網(wǎng)絡(luò)計(jì)算精度的提高,可以通過采用一個(gè)隱層,而增加隱層神經(jīng)元數(shù)增加隱層神經(jīng)元數(shù)的方法來獲得,這也就是通常用一隱層、包含輸入層和輸出層的三層的方法來獲得,這也就是通常用一隱層、包含輸入層和輸出層的三層BP網(wǎng)絡(luò)模型的原因。網(wǎng)絡(luò)模型的原因。q神經(jīng)元數(shù):神經(jīng)元數(shù): 輸入和輸出的神經(jīng)元數(shù)可以根據(jù)需要求解的問題和數(shù)據(jù)所表示的方式輸入和輸出的神經(jīng)元數(shù)可以根據(jù)需要求解的問題和數(shù)據(jù)所表示的方式來確定。問題確定后,輸入層與輸出層的神經(jīng)元數(shù)也就隨之定了。來確定。問題確定后,輸入層與輸出層的神經(jīng)元數(shù)也就隨之定了。 隱層神經(jīng)元數(shù)的選擇有較廣的范圍:隱層神經(jīng)元數(shù)的

17、選擇有較廣的范圍: 當(dāng)隱層神經(jīng)元數(shù)較少時(shí),誤差下降到一定程度后會變化很??;當(dāng)隱層神經(jīng)元數(shù)較少時(shí),誤差下降到一定程度后會變化很??; 當(dāng)隱層神經(jīng)元數(shù)過多時(shí),不僅網(wǎng)絡(luò)訓(xùn)練時(shí)間長,還會出現(xiàn)過擬合問題,降當(dāng)隱層神經(jīng)元數(shù)過多時(shí),不僅網(wǎng)絡(luò)訓(xùn)練時(shí)間長,還會出現(xiàn)過擬合問題,降低神經(jīng)網(wǎng)絡(luò)的預(yù)測功能。低神經(jīng)網(wǎng)絡(luò)的預(yù)測功能。 通常隱層神經(jīng)元數(shù)的選擇原則是:在能解決問題的前提下,再通常隱層神經(jīng)元數(shù)的選擇原則是:在能解決問題的前提下,再加上加上1到到2個(gè)神經(jīng)元個(gè)神經(jīng)元以加快誤差的下降速度即可。以加快誤差的下降速度即可。15BP神經(jīng)網(wǎng)絡(luò)計(jì)算(神經(jīng)網(wǎng)絡(luò)計(jì)算(2)q初始權(quán)值的選取初始權(quán)值的選取 權(quán)重初始值的選取,對網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)

18、是否達(dá)到局部最小,是否能夠收權(quán)重初始值的選取,對網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)是否達(dá)到局部最小,是否能夠收斂以及訓(xùn)練時(shí)間的長短有很大的關(guān)系。斂以及訓(xùn)練時(shí)間的長短有很大的關(guān)系。 如果初始權(quán)值太大,使得加和后的值落在激活函數(shù)的飽和區(qū),從而導(dǎo)如果初始權(quán)值太大,使得加和后的值落在激活函數(shù)的飽和區(qū),從而導(dǎo)致激活函數(shù)的導(dǎo)數(shù)非常小,在計(jì)算權(quán)值修正時(shí),調(diào)整值接近零,網(wǎng)絡(luò)致激活函數(shù)的導(dǎo)數(shù)非常小,在計(jì)算權(quán)值修正時(shí),調(diào)整值接近零,網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練幾乎處在停止?fàn)顟B(tài)。的學(xué)習(xí)訓(xùn)練幾乎處在停止?fàn)顟B(tài)。 所以一般總是希望經(jīng)過初始權(quán)值計(jì)算后每個(gè)神經(jīng)元的輸出值都接近零,所以一般總是希望經(jīng)過初始權(quán)值計(jì)算后每個(gè)神經(jīng)元的輸出值都接近零,這樣可以保證每個(gè)神經(jīng)

19、元的權(quán)值都能在激活函數(shù)變化最大之處進(jìn)行調(diào)這樣可以保證每個(gè)神經(jīng)元的權(quán)值都能在激活函數(shù)變化最大之處進(jìn)行調(diào)節(jié)。節(jié)。 一般來說,一般來說,初始權(quán)值取初始權(quán)值取-1,1之間的隨機(jī)數(shù)之間的隨機(jī)數(shù)是較好的選擇。是較好的選擇。 16BP神經(jīng)網(wǎng)絡(luò)計(jì)算(神經(jīng)網(wǎng)絡(luò)計(jì)算(3)q學(xué)習(xí)速率學(xué)習(xí)速率學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值變化量。學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值變化量。大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定;大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定;但小的學(xué)習(xí)速率導(dǎo)致較長的訓(xùn)練時(shí)間,可能收斂很慢,不過能保證網(wǎng)絡(luò)但小的學(xué)習(xí)速率導(dǎo)致較長的訓(xùn)練時(shí)間,可能收斂很慢,不過能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小

20、誤差值。的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學(xué)習(xí)速率以保證系統(tǒng)的穩(wěn)定性。所以在一般情況下,傾向于選取較小的學(xué)習(xí)速率以保證系統(tǒng)的穩(wěn)定性。學(xué)習(xí)速率的選取范圍在學(xué)習(xí)速率的選取范圍在0.010.8之間之間。在一個(gè)神經(jīng)網(wǎng)絡(luò)的計(jì)算過程中,使網(wǎng)絡(luò)經(jīng)過幾個(gè)不同的學(xué)習(xí)速率的訓(xùn)在一個(gè)神經(jīng)網(wǎng)絡(luò)的計(jì)算過程中,使網(wǎng)絡(luò)經(jīng)過幾個(gè)不同的學(xué)習(xí)速率的訓(xùn)練,通過觀察每一次訓(xùn)練后的誤差平方和的下降速率來判斷所選定的練,通過觀察每一次訓(xùn)練后的誤差平方和的下降速率來判斷所選定的學(xué)習(xí)速率是否合適。學(xué)習(xí)速率是否合適。如果誤差平方和下降很快,則說明學(xué)習(xí)速率合適如果誤差平方和下降很快,則說明學(xué)習(xí)速

21、率合適若誤差平方和出現(xiàn)振蕩現(xiàn)象,則說明學(xué)習(xí)速率過大。若誤差平方和出現(xiàn)振蕩現(xiàn)象,則說明學(xué)習(xí)速率過大。對于每一個(gè)具體網(wǎng)絡(luò)都存在一個(gè)合適的學(xué)習(xí)速率。但對于較復(fù)雜網(wǎng)絡(luò),對于每一個(gè)具體網(wǎng)絡(luò)都存在一個(gè)合適的學(xué)習(xí)速率。但對于較復(fù)雜網(wǎng)絡(luò),在誤差曲面的不同部位可能需要不同的學(xué)習(xí)速率。為了減少尋找學(xué)習(xí)在誤差曲面的不同部位可能需要不同的學(xué)習(xí)速率。為了減少尋找學(xué)習(xí)速率的訓(xùn)練次數(shù)以及訓(xùn)練時(shí)間,比較合適的方法是采用變化的學(xué)習(xí)速速率的訓(xùn)練次數(shù)以及訓(xùn)練時(shí)間,比較合適的方法是采用變化的學(xué)習(xí)速率,使網(wǎng)絡(luò)的訓(xùn)練在不同的階段自動設(shè)置不同學(xué)習(xí)速率的大小。率,使網(wǎng)絡(luò)的訓(xùn)練在不同的階段自動設(shè)置不同學(xué)習(xí)速率的大小。 171.3 BP神經(jīng)網(wǎng)絡(luò)

22、計(jì)算程序神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡介簡介qBATCHNET是一個(gè)是一個(gè) BP神經(jīng)網(wǎng)絡(luò)計(jì)算的神經(jīng)網(wǎng)絡(luò)計(jì)算的DOS程序,程序由程序,程序由batchnet.exe和和weights.exe兩個(gè)可執(zhí)行文件構(gòu)成。兩個(gè)可執(zhí)行文件構(gòu)成。 batchnet為網(wǎng)絡(luò)訓(xùn)練和預(yù)測程序,激活函數(shù)為為網(wǎng)絡(luò)訓(xùn)練和預(yù)測程序,激活函數(shù)為Sigmoid函數(shù),輸入輸出函數(shù),輸入輸出樣本值范圍為樣本值范圍為0,1。 weights程序產(chǎn)生初始權(quán)值。程序產(chǎn)生初始權(quán)值。q批處理程序批處理程序demo.bat batchnet -e10 d1.0e-5 demo.run 說明:說明:-e10 -e10 表示網(wǎng)絡(luò)每迭代表示網(wǎng)絡(luò)每迭

23、代1010步后顯示誤差;步后顯示誤差;-d1.0e-5 -d1.0e-5 表示網(wǎng)絡(luò)訓(xùn)練誤差;表示網(wǎng)絡(luò)訓(xùn)練誤差;demo.run demo.run 求解問題的網(wǎng)絡(luò)參數(shù)文件,由求解問題的網(wǎng)絡(luò)參數(shù)文件,由batchnetbatchnet調(diào)用,調(diào)用,文件名可改,但擴(kuò)展名文件名可改,但擴(kuò)展名runrun不能變不能變。 18BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡介簡介q網(wǎng)絡(luò)參數(shù)文件網(wǎng)絡(luò)參數(shù)文件demo.run的格式的格式 4train.out train.err train.pat weights.wts train.wts 100 1000 9 4 2 0.15 0.075test.ou

24、t 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 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 運(yùn)行次數(shù),本例為運(yùn)行次數(shù),本例為4; fOut 網(wǎng)絡(luò)

25、計(jì)算結(jié)果輸出文件,輸出;網(wǎng)絡(luò)計(jì)算結(jié)果輸出文件,輸出; fErr 網(wǎng)絡(luò)計(jì)算誤差文件,輸出;網(wǎng)絡(luò)計(jì)算誤差文件,輸出;fPat 訓(xùn)練學(xué)習(xí)樣本文件,輸入;訓(xùn)練學(xué)習(xí)樣本文件,輸入;fWts 問題的初始權(quán)值文件,輸入,由程序問題的初始權(quán)值文件,輸入,由程序weights產(chǎn)生;產(chǎn)生;fWtso 訓(xùn)練后的權(quán)值文件,輸出;訓(xùn)練后的權(quán)值文件,輸出;nPats 訓(xùn)練樣本數(shù),本例為訓(xùn)練樣本數(shù),本例為100;nIter 訓(xùn)練迭代次數(shù),本例為訓(xùn)練迭代次數(shù),本例為1000;nInp 輸入層神經(jīng)元數(shù)目,本例為輸入層神經(jīng)元數(shù)目,本例為9;nHid 隱層神經(jīng)元數(shù)目,本例為隱層神經(jīng)元數(shù)目,本例為4;nOut 輸出層神經(jīng)元數(shù)目,本例

26、為輸出層神經(jīng)元數(shù)目,本例為2;eta 學(xué)習(xí)速率,本例為學(xué)習(xí)速率,本例為0.15;alpha 動量因子,本例為動量因子,本例為0.075。 表示用表示用BPBP神經(jīng)網(wǎng)絡(luò)先對神經(jīng)網(wǎng)絡(luò)先對100100對輸對輸入輸出樣本進(jìn)行學(xué)習(xí)訓(xùn)練入輸出樣本進(jìn)行學(xué)習(xí)訓(xùn)練10001000次,次,預(yù)測預(yù)測166166個(gè)樣本一次,然后繼續(xù)個(gè)樣本一次,然后繼續(xù)學(xué)習(xí)訓(xùn)練學(xué)習(xí)訓(xùn)練10001000次后再進(jìn)行一次預(yù)次后再進(jìn)行一次預(yù)測。測。BatchnetBatchnet如只計(jì)算一次,則如只計(jì)算一次,則不對連接權(quán)重進(jìn)行更新。不對連接權(quán)重進(jìn)行更新。 19BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡介簡介q程序程序weights

27、的運(yùn)行的運(yùn)行 :weights int_num nInp nHid nOut ran_wts 說明:說明:int_num int_num 任一任一6 6位整數(shù);位整數(shù);nInp nInp 輸入層神經(jīng)元數(shù)目;輸入層神經(jīng)元數(shù)目;nHid nHid 隱層神經(jīng)元數(shù)目;隱層神經(jīng)元數(shù)目;nOut nOut 輸出層神經(jīng)元數(shù)目,這輸出層神經(jīng)元數(shù)目,這3 3個(gè)參數(shù)同個(gè)參數(shù)同runrun程序中的程序中的相一致;相一致;ran_wts ran_wts 初始權(quán)值取值范圍,實(shí)數(shù)初始權(quán)值取值范圍,實(shí)數(shù)1.1.表示取值范圍表示取值范圍在在-1,1-1,1之間。之間。 Weights 123456 9 4 2 1.020BP

28、神經(jīng)網(wǎng)絡(luò)計(jì)算程序神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡介簡介q訓(xùn)練樣本文件訓(xùn)練樣本文件fPat的格式:的格式: 說明:說明:In_pat In_pat 樣本的輸入;樣本的輸入;Out_pat Out_pat 對應(yīng)的樣本輸出;對應(yīng)的樣本輸出;Id Id 對應(yīng)的樣本標(biāo)號;對應(yīng)的樣本標(biāo)號; 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.0

29、504219 0.8010571 0 1234567 21例題例題q例題:合成烯胺中副產(chǎn)品的抑制(例題:合成烯胺中副產(chǎn)品的抑制(P249) 在在TiCl4的存在下,的存在下,3,3-二甲基二甲基-2-丁酮和嗎啉合成嗎啉烯胺過程中會有一副丁酮和嗎啉合成嗎啉烯胺過程中會有一副產(chǎn)物。由于很難用精餾的方法將這副產(chǎn)物同產(chǎn)物烯胺分離,故需盡量抑制產(chǎn)物。由于很難用精餾的方法將這副產(chǎn)物同產(chǎn)物烯胺分離,故需盡量抑制副產(chǎn)品的生成,為此,進(jìn)行了下面一系列正交實(shí)驗(yàn)研究。實(shí)驗(yàn)條件見表副產(chǎn)品的生成,為此,進(jìn)行了下面一系列正交實(shí)驗(yàn)研究。實(shí)驗(yàn)條件見表1,實(shí)驗(yàn)的設(shè)計(jì)和產(chǎn)率的結(jié)果見表實(shí)驗(yàn)的設(shè)計(jì)和產(chǎn)率的結(jié)果見表2。請分析實(shí)驗(yàn)結(jié)果,

30、確定如何調(diào)節(jié)實(shí)驗(yàn)條。請分析實(shí)驗(yàn)結(jié)果,確定如何調(diào)節(jié)實(shí)驗(yàn)條件,使烯胺的產(chǎn)率最大,而同時(shí)抑制副產(chǎn)品的生成。件,使烯胺的產(chǎn)率最大,而同時(shí)抑制副產(chǎn)品的生成。 因素水平-1.414-1011.414x1:嗎啉/酮(mol/mol)3.003.595.006.417.00 x2:TiCl4/酮(mol/mol)0.500.570.750.931.00 x3:反應(yīng)溫度()526080100108歸一化水平00.14640.50.8536122實(shí)驗(yàn)結(jié)果與歸一化實(shí)驗(yàn)結(jié)果與歸一化序號x1x2x3y1y21-1-1-141.614.621-1-145.16.73-11-151.726.2411-164.717.75-

31、1-1147.811.961-1157.17.57-11163.026.1811177.811.091.4140066.78.110-1.4140049.522.21101.414070.418.9120-1.414043.98.013001.41466.49.81400-1.41452.417.31500056.513.81600060.012.31700058.612.61800057.213.6x11x21x31y1y20.14750.140.1428570.4160.1460.85250.140.1428570.4510.0670.14750.860.1428570.5170.2620

32、.85250.860.1428570.6470.1770.14750.140.8571430.4780.1190.85250.140.8571430.5710.0750.14750.860.8571430.630 0.2610.85250.860.8571430.7780.110670.08950.2220.510.50.7040.1890.500.50.4390.0800.50.510.6640.0980.50.500.5240.170.5650.130.6000.10.5860.1260

33、.720.136231.4 關(guān)于關(guān)于ANN的進(jìn)一步說明的進(jìn)一步說明q選用合適的學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)樣本、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、采選用合適的學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)樣本、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、采用適當(dāng)?shù)膶W(xué)習(xí)訓(xùn)練方法就能得到包含學(xué)習(xí)訓(xùn)練樣本用適當(dāng)?shù)膶W(xué)習(xí)訓(xùn)練方法就能得到包含學(xué)習(xí)訓(xùn)練樣本范圍的輸入與輸出關(guān)系。范圍的輸入與輸出關(guān)系。q如果用于學(xué)習(xí)訓(xùn)練的樣本不能充分反映體系的特性,如果用于學(xué)習(xí)訓(xùn)練的樣本不能充分反映體系的特性,用用ANN也不能很好的描述與預(yù)測體系,所以有也不能很好的描述與預(yù)測體系,所以有“垃圾垃圾進(jìn),垃圾出;金子進(jìn),金子出進(jìn),垃圾出;金子進(jìn),金子出”之說。之說。q確定性模型的參數(shù)回歸與確定性模型的參數(shù)回歸

34、與ANN之類的非確定性模型之類的非確定性模型的不同特點(diǎn)。的不同特點(diǎn)。24確定性模型與非確定性模型的比較確定性模型與非確定性模型的比較q確定性模型的參數(shù)回歸的特點(diǎn):確定性模型的參數(shù)回歸的特點(diǎn): 自變量與因變量之間有明確的函數(shù)關(guān)系,具有未知數(shù)值的自變量與因變量之間有明確的函數(shù)關(guān)系,具有未知數(shù)值的參數(shù),需要通過自變量與因變量的數(shù)據(jù)組樣本來回歸估計(jì),參數(shù),需要通過自變量與因變量的數(shù)據(jù)組樣本來回歸估計(jì),而且參數(shù)個(gè)數(shù)通常較少,具有明確的物理意義。而且參數(shù)個(gè)數(shù)通常較少,具有明確的物理意義。qANN之類的非確定性模型的特點(diǎn):之類的非確定性模型的特點(diǎn): 無須針對問題提出明確的自變量與因變量之間的函數(shù)關(guān)系,無須針

35、對問題提出明確的自變量與因變量之間的函數(shù)關(guān)系,而函數(shù)關(guān)系用含有眾多自由參數(shù)的模型回歸擬合,但自由而函數(shù)關(guān)系用含有眾多自由參數(shù)的模型回歸擬合,但自由參數(shù)無明確的物理意義。參數(shù)無明確的物理意義。q因此,確定性模型回歸的主要目標(biāo)是得到模型的參因此,確定性模型回歸的主要目標(biāo)是得到模型的參數(shù)值。而非確定性模型計(jì)算的主要目標(biāo)是得到輸入數(shù)值。而非確定性模型計(jì)算的主要目標(biāo)是得到輸入與輸出的關(guān)系。與輸出的關(guān)系。25二、模擬退火法(二、模擬退火法(Simulated Annealing)q人工神經(jīng)網(wǎng)絡(luò)方法是用某種目標(biāo)函數(shù)的全局極小作為算法搜人工神經(jīng)網(wǎng)絡(luò)方法是用某種目標(biāo)函數(shù)的全局極小作為算法搜索和網(wǎng)絡(luò)所要達(dá)到的目標(biāo)

36、。在學(xué)習(xí)或運(yùn)行過程中,網(wǎng)絡(luò)的誤索和網(wǎng)絡(luò)所要達(dá)到的目標(biāo)。在學(xué)習(xí)或運(yùn)行過程中,網(wǎng)絡(luò)的誤差總是按其梯度下降的方向變化。當(dāng)梯度趨于零時(shí),網(wǎng)絡(luò)的差總是按其梯度下降的方向變化。當(dāng)梯度趨于零時(shí),網(wǎng)絡(luò)的學(xué)習(xí)或運(yùn)行就停止了,所以這種算法往往會陷入局部最小而學(xué)習(xí)或運(yùn)行就停止了,所以這種算法往往會陷入局部最小而達(dá)不到全局最小。達(dá)不到全局最小。q導(dǎo)致網(wǎng)絡(luò)陷入局部最小的主要原因是網(wǎng)絡(luò)誤差按單方向減少,導(dǎo)致網(wǎng)絡(luò)陷入局部最小的主要原因是網(wǎng)絡(luò)誤差按單方向減少,沒有上升的過程。如果將誤差的減少過程由沒有上升的過程。如果將誤差的減少過程由“總是按梯度下總是按梯度下降的方向變化降的方向變化”改為改為“大部分情況下按梯度下降的方向變

37、大部分情況下按梯度下降的方向變化化”,而有時(shí)按梯度上升的方向變化,這樣就有可能跳出局,而有時(shí)按梯度上升的方向變化,這樣就有可能跳出局部最小而達(dá)到全局最小部最小而達(dá)到全局最小(下圖給出了梯度下降法下圖給出了梯度下降法(a)和和SA方法方法(b)搜索途徑搜索途徑)。 模擬退火算模擬退火算法的基本思法的基本思想想 26模擬退火法的起源模擬退火法的起源qSA算法是受金屬冷卻過程的啟發(fā),最早由算法是受金屬冷卻過程的啟發(fā),最早由Metropolis于于1953年提出來的。它靈活有效,能對問題進(jìn)行全局優(yōu)化。年提出來的。它靈活有效,能對問題進(jìn)行全局優(yōu)化。q金屬中原子的能量與溫度有關(guān)。原子能量高的時(shí)候,有能力金

38、屬中原子的能量與溫度有關(guān)。原子能量高的時(shí)候,有能力擺脫其原來的能量狀態(tài)而最后達(dá)到一個(gè)更加穩(wěn)定的狀態(tài)擺脫其原來的能量狀態(tài)而最后達(dá)到一個(gè)更加穩(wěn)定的狀態(tài)全局極小能量狀態(tài)。全局極小能量狀態(tài)。q金屬固體進(jìn)行退火處理時(shí),通常先將它加熱熔化,然后逐漸金屬固體進(jìn)行退火處理時(shí),通常先將它加熱熔化,然后逐漸降低溫度。在凝固點(diǎn)附近,若溫度下降的速度足夠慢,則固降低溫度。在凝固點(diǎn)附近,若溫度下降的速度足夠慢,則固體物質(zhì)會形成能量最低的穩(wěn)定狀態(tài)。其中的金屬粒子都經(jīng)歷體物質(zhì)會形成能量最低的穩(wěn)定狀態(tài)。其中的金屬粒子都經(jīng)歷能量由高到低、暫時(shí)由低到高、最終趨向低能態(tài)的過程。能量由高到低、暫時(shí)由低到高、最終趨向低能態(tài)的過程。 q

39、在金屬的退火過程中,能量的狀態(tài)分布:在金屬的退火過程中,能量的狀態(tài)分布:kTEexpP(E)P(E)P(E)系統(tǒng)處于具有能量系統(tǒng)處于具有能量E E的狀態(tài)的狀態(tài)的概率;的概率;k kBoltzmannBoltzmann常數(shù);常數(shù);T T系統(tǒng)的絕對溫度系統(tǒng)的絕對溫度(Kelvin)(Kelvin) 27模擬退火優(yōu)化法模擬退火優(yōu)化法qSA算法將優(yōu)化問題與統(tǒng)計(jì)物理學(xué)中的熱平衡問題進(jìn)行類算法將優(yōu)化問題與統(tǒng)計(jì)物理學(xué)中的熱平衡問題進(jìn)行類比,即將統(tǒng)計(jì)物理學(xué)處理金屬固體冷卻的熱平衡方法用于比,即將統(tǒng)計(jì)物理學(xué)處理金屬固體冷卻的熱平衡方法用于優(yōu)化問題。優(yōu)化問題。 q目標(biāo)函數(shù)目標(biāo)函數(shù)能量函數(shù)能量函數(shù)q優(yōu)化參數(shù)的狀態(tài)空

40、間優(yōu)化參數(shù)的狀態(tài)空間物質(zhì)的微觀狀態(tài)物質(zhì)的微觀狀態(tài) q人工溫度人工溫度T T一個(gè)初值較大的控制參數(shù)一個(gè)初值較大的控制參數(shù)q依據(jù)網(wǎng)絡(luò)的能量來決定控制參數(shù)的調(diào)整量(稱為步長)。依據(jù)網(wǎng)絡(luò)的能量來決定控制參數(shù)的調(diào)整量(稱為步長)。當(dāng)當(dāng)T T較大時(shí),目標(biāo)函數(shù)值由低向高變化的可能性較大;而較大時(shí),目標(biāo)函數(shù)值由低向高變化的可能性較大;而T T減小,這種可能性也隨之減小。減小,這種可能性也隨之減小。q與金屬的退火過程(與金屬的退火過程(AnnealingAnnealing)非常相似。當(dāng)控制參數(shù))非常相似。當(dāng)控制參數(shù)T T下降到一定程度時(shí),目標(biāo)函數(shù)將收斂于最小值。下降到一定程度時(shí),目標(biāo)函數(shù)將收斂于最小值。 模擬退

41、火優(yōu)化算法的基本思想模擬退火優(yōu)化算法的基本思想28模擬退火優(yōu)化法模擬退火優(yōu)化法q計(jì)算機(jī)模擬某一溫度計(jì)算機(jī)模擬某一溫度T下物質(zhì)體系熱平衡狀態(tài)的方法下物質(zhì)體系熱平衡狀態(tài)的方法 :Step 1Step 1:隨機(jī)選擇一個(gè)初始微觀狀態(tài)隨機(jī)選擇一個(gè)初始微觀狀態(tài)i作為當(dāng)前狀態(tài),其相作為當(dāng)前狀態(tài),其相應(yīng)的能量為應(yīng)的能量為Ei。Step 2:從狀態(tài)從狀態(tài)i作隨機(jī)擾動,產(chǎn)生一新的狀態(tài)作隨機(jī)擾動,產(chǎn)生一新的狀態(tài)j,其相應(yīng)的,其相應(yīng)的能量為能量為Ej,計(jì)算能量增量,計(jì)算能量增量E E= =Ei Ej。Step 3:如果如果E0,則接受狀態(tài),則接受狀態(tài)j作為當(dāng)前狀態(tài),即作為當(dāng)前狀態(tài),即jiji;若若E0 ,計(jì)算基于,計(jì)

42、算基于BoltzmannBoltzmann分布函數(shù)的比值:分布函數(shù)的比值:)/exp(/kTEBBrij其中其中:Boltzmann:Boltzmann分布函數(shù)分布函數(shù) kTEiieTZB/)(1ikTEieTZ/)(k為為BoltzmannBoltzmann常數(shù)常數(shù) 10 r取取(0,1)(0,1)之間的一個(gè)隨機(jī)數(shù)之間的一個(gè)隨機(jī)數(shù)p,若,若rp,則接受狀態(tài),則接受狀態(tài)j作為當(dāng)作為當(dāng)前狀態(tài),即前狀態(tài),即ji ;否則,保持原來的狀態(tài);否則,保持原來的狀態(tài)i。 29模擬退火優(yōu)化法模擬退火優(yōu)化法q從從BoltzmannBoltzmann分布函數(shù)的比值分布函數(shù)的比值( (即即.15式

43、式) )可看出,可看出,溫度高時(shí)大,相應(yīng)溫度高時(shí)大,相應(yīng)kT也較大,接受與當(dāng)前狀態(tài)能也較大,接受與當(dāng)前狀態(tài)能差較大的新狀態(tài)的概率大;降低溫度,差較大的新狀態(tài)的概率大;降低溫度,r較小,只較小,只能接受能差較小的新狀態(tài)。因此不斷降低溫度,能接受能差較小的新狀態(tài)。因此不斷降低溫度,體系最終能達(dá)到能量最低熱平衡狀態(tài)。體系最終能達(dá)到能量最低熱平衡狀態(tài)。 Step 4Step 4:重復(fù)第二、三步,在大量的能量狀態(tài)變化后,系重復(fù)第二、三步,在大量的能量狀態(tài)變化后,系統(tǒng)處于能量較低的平衡態(tài)。降低溫度統(tǒng)處于能量較低的平衡態(tài)。降低溫度T T再重復(fù)上述過程,體再重復(fù)上述過程,體系又處在能量更低的平衡態(tài)。系又處在能

44、量更低的平衡態(tài)。30SA基本算法的步驟與框圖基本算法的步驟與框圖q首先進(jìn)行初始化,任意給定初始首先進(jìn)行初始化,任意給定初始態(tài)態(tài)X0 ,取參數(shù)初值,取參數(shù)初值T0 ,計(jì)算優(yōu)化,計(jì)算優(yōu)化目標(biāo)函數(shù)目標(biāo)函數(shù)E0 ,然后按下進(jìn)行:,然后按下進(jìn)行: (1)隨機(jī)產(chǎn)生擾動態(tài))隨機(jī)產(chǎn)生擾動態(tài)Xi,計(jì)算,計(jì)算E=Ei E0 ;(2)若)若E0 ,轉(zhuǎn)到,轉(zhuǎn)到(4)。否則。否則在在(0,1)之間的一個(gè)隨機(jī)數(shù)之間的一個(gè)隨機(jī)數(shù)p;(3)若)若exp(E/T) p ,轉(zhuǎn),轉(zhuǎn)(5) ;(4)用)用Xi代替代替X0 ,E0 +E代替代替E0 ;(5)以某種方式?。┮阅撤N方式取Ti T0,如,如 Ti =T0;(6) SA計(jì)算過

45、程是否結(jié)束,是計(jì)算過程是否結(jié)束,是就停止,否則就轉(zhuǎn)到就停止,否則就轉(zhuǎn)到(1)。 31SA算法的控制算法的控制SA算法能否達(dá)到目標(biāo)函數(shù)的最小值,主要取決于控制參數(shù)的算法能否達(dá)到目標(biāo)函數(shù)的最小值,主要取決于控制參數(shù)的初值是否足夠高和其下降得是否慢,因此注意有關(guān)控制參數(shù)初值是否足夠高和其下降得是否慢,因此注意有關(guān)控制參數(shù)的選取問題。對于參數(shù)初值的選取問題。對于參數(shù)初值T0 ,常用的處理方法之一是在均,常用的處理方法之一是在均勻地隨機(jī)抽樣勻地隨機(jī)抽樣X0后,取的后,取的E0方差作為方差作為T0 。對于降溫策略。對于降溫策略Ti =T0 ,01,常取,常取0.85,0.96。qSASA算法的使用可以參考

46、教材算法的使用可以參考教材P257P257(FORTRANFORTRAN程序)程序)q用用SA擬合丙烷絲光沸石體系在擬合丙烷絲光沸石體系在303 K時(shí)的吸附平衡數(shù)據(jù)時(shí)的吸附平衡數(shù)據(jù)和模型。和模型。qGenetic Algorithm and Direct Search Toolbox in MATLAB v2007a (Using the Simulated Annealing and Threshold Acceptance Algorithms) 32三、遺傳算法三、遺傳算法(Genetic Algorithm) q遺傳算法是一種模擬自然選擇和遺傳的隨機(jī)搜索算法。它最遺傳算法是一種模擬自然

47、選擇和遺傳的隨機(jī)搜索算法。它最初由初由Holland在在1975年提出的,研究自然系統(tǒng)的適應(yīng)過程和設(shè)年提出的,研究自然系統(tǒng)的適應(yīng)過程和設(shè)計(jì)具有自適應(yīng)性能的軟件。計(jì)具有自適應(yīng)性能的軟件。q遺傳算法的基本形式是用遺傳算法的基本形式是用染色體染色體來表示參數(shù)空間的編碼,用來表示參數(shù)空間的編碼,用適應(yīng)度函數(shù)適應(yīng)度函數(shù)來評價(jià)染色體群體的優(yōu)劣,通過來評價(jià)染色體群體的優(yōu)劣,通過遺傳遺傳操作產(chǎn)生新操作產(chǎn)生新的染色體,并用的染色體,并用概率概率來控制遺傳操作。來控制遺傳操作。q遺傳算法是一種非線性方法,它具有簡潔、靈活、高效和全遺傳算法是一種非線性方法,它具有簡潔、靈活、高效和全局優(yōu)化的特性,在過程控制、系統(tǒng)診

48、斷、非線性擬合與優(yōu)化、局優(yōu)化的特性,在過程控制、系統(tǒng)診斷、非線性擬合與優(yōu)化、人工智能等工程和研究領(lǐng)域都得到了廣泛的應(yīng)用。人工智能等工程和研究領(lǐng)域都得到了廣泛的應(yīng)用。 33遺傳算法基礎(chǔ)遺傳算法基礎(chǔ)q遺傳算法是一種迭代算法,它在每一次迭代時(shí)都擁有遺傳算法是一種迭代算法,它在每一次迭代時(shí)都擁有一組解一組解(父代染色體群體父代染色體群體),這組解答最初是,這組解答最初是隨機(jī)隨機(jī)生成的。生成的。q在每次迭代時(shí),首先保持解,然后染色體群體經(jīng)過遺傳操作在每次迭代時(shí),首先保持解,然后染色體群體經(jīng)過遺傳操作(選擇、雜交、變異等選擇、雜交、變異等),生成新的組解,生成新的組解(子代染色體群體子代染色體群體)。每。

49、每個(gè)解都由一個(gè)目標(biāo)函數(shù)來評價(jià),而且這一過程不斷重復(fù),直個(gè)解都由一個(gè)目標(biāo)函數(shù)來評價(jià),而且這一過程不斷重復(fù),直至達(dá)到某種形式上的收斂。新的一組解不但可以有選擇地保至達(dá)到某種形式上的收斂。新的一組解不但可以有選擇地保留一些先前迭代中目標(biāo)函數(shù)值高的解,而且可以包括一些經(jīng)留一些先前迭代中目標(biāo)函數(shù)值高的解,而且可以包括一些經(jīng)由其它解結(jié)合而得的新的解,其子代的數(shù)值可以與其父代的由其它解結(jié)合而得的新的解,其子代的數(shù)值可以與其父代的情況有相當(dāng)大的差別。情況有相當(dāng)大的差別。 34符號串表示和遺傳操作的設(shè)計(jì)符號串表示和遺傳操作的設(shè)計(jì)q遺傳算法的術(shù)語借鑒于自然遺傳學(xué)遺傳算法的術(shù)語借鑒于自然遺傳學(xué), 遺傳物質(zhì)的主要載體

50、是染遺傳物質(zhì)的主要載體是染色體。在遺傳算法中,染色體色體。在遺傳算法中,染色體(個(gè)體個(gè)體)由一串?dāng)?shù)據(jù)或數(shù)組構(gòu)成,由一串?dāng)?shù)據(jù)或數(shù)組構(gòu)成,用來作為問題解的代碼。用來作為問題解的代碼。q染色體由決定其特性的基因構(gòu)成,而基因又可以有稱為等位染色體由決定其特性的基因構(gòu)成,而基因又可以有稱為等位基因的不同取值。基因的不同取值。q目標(biāo)函數(shù)稱為適應(yīng)度函數(shù),而一組染色體稱為群體。目標(biāo)函數(shù)稱為適應(yīng)度函數(shù),而一組染色體稱為群體。q遺傳算法的一次迭代稱為一代。遺傳算法的一次迭代稱為一代。q遺傳算法成功的關(guān)鍵在于符號串表示和遺傳操作的設(shè)計(jì)。遺傳算法成功的關(guān)鍵在于符號串表示和遺傳操作的設(shè)計(jì)。 35染色體染色體 q解空間中

51、的每一點(diǎn)都對應(yīng)一個(gè)用由基因表示的染色體。解空間中的每一點(diǎn)都對應(yīng)一個(gè)用由基因表示的染色體。 例如:要確定適應(yīng)度函數(shù)例如:要確定適應(yīng)度函數(shù)f(x,y)的最大值,搜尋空間變量的最大值,搜尋空間變量x和和y為整數(shù),其變化范圍是為整數(shù),其變化范圍是0-15。這樣對應(yīng)于搜尋空間任何點(diǎn)可。這樣對應(yīng)于搜尋空間任何點(diǎn)可由兩基因的染色體來表示:由兩基因的染色體來表示: 點(diǎn)(點(diǎn)(2,6)用二進(jìn)制數(shù)有如下的染色體:)用二進(jìn)制數(shù)有如下的染色體: xy260010011036交叉交叉q在兩父代的染色體的隨機(jī)長度位置上,用交叉概率進(jìn)行后部在兩父代的染色體的隨機(jī)長度位置上,用交叉概率進(jìn)行后部交換,產(chǎn)生兩子代,如下所示:交換,

52、產(chǎn)生兩子代,如下所示: 上面的交叉操作稱為單點(diǎn)交叉。一般地可以進(jìn)行多點(diǎn)交叉,上面的交叉操作稱為單點(diǎn)交叉。一般地可以進(jìn)行多點(diǎn)交叉,如下所示:如下所示: 37變異變異q與交叉不同,變異涉及到一染色體個(gè)體的一個(gè)或多個(gè)基因位與交叉不同,變異涉及到一染色體個(gè)體的一個(gè)或多個(gè)基因位的翻轉(zhuǎn),產(chǎn)生新的基因組合,以通過交叉來獲得子代染色體。的翻轉(zhuǎn),產(chǎn)生新的基因組合,以通過交叉來獲得子代染色體。下面的任一方法都可以用來進(jìn)行變異操作:下面的任一方法都可以用來進(jìn)行變異操作: 隨機(jī)選擇的基因位數(shù)值可以被隨機(jī)產(chǎn)生的數(shù)值替代,這種替代對二進(jìn)隨機(jī)選擇的基因位數(shù)值可以被隨機(jī)產(chǎn)生的數(shù)值替代,這種替代對二進(jìn)制和非二進(jìn)制染色體都適用;

53、制和非二進(jìn)制染色體都適用; 在二進(jìn)制染色體中,可以對隨機(jī)選擇的基因位進(jìn)行觸發(fā),即在二進(jìn)制染色體中,可以對隨機(jī)選擇的基因位進(jìn)行觸發(fā),即10或或01。 q可以以概率可以以概率Pm隨機(jī)選擇個(gè)體進(jìn)行變異操作。隨機(jī)選擇個(gè)體進(jìn)行變異操作。 q變異操作的主要優(yōu)點(diǎn)是使染色體群體中出現(xiàn)各種基因,這樣變異操作的主要優(yōu)點(diǎn)是使染色體群體中出現(xiàn)各種基因,這樣遺傳算法有在參數(shù)解空間找出各種可能的解,避免解的丟失。遺傳算法有在參數(shù)解空間找出各種可能的解,避免解的丟失。 38有效性檢驗(yàn)有效性檢驗(yàn)q對于不同的優(yōu)化問題,有時(shí)需要增加檢驗(yàn),確保新子代的染對于不同的優(yōu)化問題,有時(shí)需要增加檢驗(yàn),確保新子代的染色體表示的是參數(shù)解空間中的

54、有效點(diǎn)。如考慮由四個(gè)基因組色體表示的是參數(shù)解空間中的有效點(diǎn)。如考慮由四個(gè)基因組成的染色體,每個(gè)基因有三個(gè)可能的二進(jìn)制值成的染色體,每個(gè)基因有三個(gè)可能的二進(jìn)制值A(chǔ)=01,B=10,C=11。二進(jìn)制染色體表示組合。二進(jìn)制染色體表示組合BACA是:是: 1001110110011100如對最后的基因位進(jìn)行變異操作,產(chǎn)生了如下所示的無效如對最后的基因位進(jìn)行變異操作,產(chǎn)生了如下所示的無效染色體,因基因值染色體,因基因值00沒有定義。沒有定義。 q同樣,交叉也可能產(chǎn)生有缺陷的染色體操作??朔@些問題同樣,交叉也可能產(chǎn)生有缺陷的染色體操作??朔@些問題的方法是采用結(jié)構(gòu)操作,交叉或變異操作針對基因,而不是的方

55、法是采用結(jié)構(gòu)操作,交叉或變異操作針對基因,而不是針對基因位。這樣,交叉操作點(diǎn)總能與基因邊界相一致,變針對基因位。這樣,交叉操作點(diǎn)總能與基因邊界相一致,變異操作對整個(gè)基因組隨機(jī)選擇新值,確保產(chǎn)生有效染色體。異操作對整個(gè)基因組隨機(jī)選擇新值,確保產(chǎn)生有效染色體。如此做的缺點(diǎn)是染色體群體的差異性會受到影響。如此做的缺點(diǎn)是染色體群體的差異性會受到影響。 39基本的遺傳算法框圖基本的遺傳算法框圖q初始染色體群體隨機(jī)產(chǎn)生;初始染色體群體隨機(jī)產(chǎn)生;q用適應(yīng)度函數(shù)來評價(jià)染色用適應(yīng)度函數(shù)來評價(jià)染色體個(gè)體;體個(gè)體;q根據(jù)適應(yīng)度產(chǎn)生繁殖的染根據(jù)適應(yīng)度產(chǎn)生繁殖的染色體個(gè)體,適應(yīng)度好的染色體個(gè)體,適應(yīng)度好的染色體個(gè)體其被

56、選擇來繁殖色體個(gè)體其被選擇來繁殖的可能性大;的可能性大;q通過染色體對的交叉和變通過染色體對的交叉和變異操作,產(chǎn)生各自的子代異操作,產(chǎn)生各自的子代繁殖染色體。繁殖染色體。 40基本的遺傳算法基本的遺傳算法q在遺傳算法中,是依據(jù)適應(yīng)度來選擇個(gè)體進(jìn)行繁殖的,最適在遺傳算法中,是依據(jù)適應(yīng)度來選擇個(gè)體進(jìn)行繁殖的,最適合的染色體繁殖的可能性也最大。選擇不僅決定由那些個(gè)體合的染色體繁殖的可能性也最大。選擇不僅決定由那些個(gè)體來繁殖,而且還要確定繁殖子代的數(shù)目。因此選擇的方法對來繁殖,而且還要確定繁殖子代的數(shù)目。因此選擇的方法對遺傳算法的有效性有著重要的作用。遺傳算法的有效性有著重要的作用。 qGAGA算法的

57、使用可以參考教材算法的使用可以參考教材P262P262(FORTRANFORTRAN程序)程序)qGenetic Algorithm and Direct Search Toolbox in MATLAB v2006a41Genetic Algorithm Toolbox in MATLABqCalling the Function ga at the Command Linex fval = ga(fitnessfun, nvars, options)fitnessfunfitnessfun is a handle to the fitness function. is a handle t

58、o 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. If you do is a structure containing options for the genetic a

59、lgorithm. 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 Genetic Algorithm Toolgatool42GATool GUI of MATLAB目標(biāo)函數(shù)目標(biāo)函數(shù)變量數(shù)變量數(shù)約束

60、條件約束條件圖形顯示圖形顯示執(zhí)行計(jì)算執(zhí)行計(jì)算計(jì)算結(jié)果計(jì)算結(jié)果計(jì)算選項(xiàng)計(jì)算選項(xiàng)43Ex1: Unconstrained Minimization Using GAqFunction:qThe function has two local minima:qone 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 =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論