人工神經(jīng)網(wǎng)絡與智能算法專家講座_第1頁
人工神經(jīng)網(wǎng)絡與智能算法專家講座_第2頁
人工神經(jīng)網(wǎng)絡與智能算法專家講座_第3頁
人工神經(jīng)網(wǎng)絡與智能算法專家講座_第4頁
人工神經(jīng)網(wǎng)絡與智能算法專家講座_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

智能算法

(IntelligentAlgorithm)人工神經(jīng)網(wǎng)絡與智能算法專家講座第1頁主要內(nèi)容人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwork,ANN)模擬退火(SimulatedAnnealing,SA)遺傳算法(GeneticAlgorithm,GA)2人工神經(jīng)網(wǎng)絡與智能算法專家講座第2頁人工神經(jīng)網(wǎng)絡參考文件陳念貽,欽佩,陳瑞亮,陸文聰,模式識別方法在化學化工中應用,科學出版社,北京,。從爽,面向MATLAB工具箱神經(jīng)網(wǎng)絡理論與應用,中國科學技術出版社,合肥,1998。焦李成,神經(jīng)網(wǎng)絡計算,西安電子科技大學出版社,西安,1993。王永驥,涂健,神經(jīng)元網(wǎng)絡控制,機械工業(yè)出版社,北京,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人工神經(jīng)網(wǎng)絡與智能算法專家講座第3頁生物神經(jīng)元及神經(jīng)網(wǎng)絡神經(jīng)元對信息接收和傳遞都是經(jīng)過突觸來進行。單個神經(jīng)元能夠從別細胞接收多個輸入。因為輸入分布于不一樣部位,對神經(jīng)元影響百分比(權重)是不相同。另外,各突觸輸入抵達神經(jīng)元先后時間也不一祥。所以,一個神經(jīng)元接收信息,在時間和空間上常展現(xiàn)出一個復雜多變形式,需要神經(jīng)元對它們進行積累和整合加工,從而決定其輸出時機和強度。正是神經(jīng)元這種整合作用,才使得億萬個神經(jīng)元在神經(jīng)系統(tǒng)中有條不紊、夜以繼日地處理各種復雜信息,執(zhí)行著生物中樞神經(jīng)系統(tǒng)各種信息處理功效。多個神經(jīng)元以突觸聯(lián)接形成了一個神經(jīng)網(wǎng)絡。4人工神經(jīng)網(wǎng)絡與智能算法專家講座第4頁一、人工神經(jīng)網(wǎng)絡什么是人工神經(jīng)網(wǎng)絡?它就是在對大腦生理研究基礎上,用模擬生物神經(jīng)元一些基本功效元件(即人工神經(jīng)元),按各種不一樣聯(lián)結(jié)方式組織起來一個網(wǎng)絡。其目標在于模擬大腦一些機理與機制,實現(xiàn)某個方面功效,能夠用在模仿視覺、模式識別、函數(shù)迫近、模式識別、分類和數(shù)據(jù)壓縮等領域,是近年來人工智能計算一個主要學科分支。人工神經(jīng)網(wǎng)絡有各種形式,其中反向傳輸人工神經(jīng)網(wǎng)絡(Back-PropagationArtificialNetwork,簡稱BP網(wǎng)絡)是一個廣泛使用神經(jīng)網(wǎng)絡模型,它充分表達了人工神經(jīng)網(wǎng)絡特點。BP網(wǎng)絡是一個對非線性可微分函數(shù)進行權值訓練多層網(wǎng)絡,在人工神經(jīng)網(wǎng)絡實際應用中,80%~90%人工神經(jīng)網(wǎng)絡模型是采取BP網(wǎng)絡或它改變形式。5人工神經(jīng)網(wǎng)絡與智能算法專家講座第5頁1.1BP神經(jīng)網(wǎng)絡神經(jīng)元結(jié)構(gòu)神經(jīng)元是人工神經(jīng)網(wǎng)絡基本處理單元,它普通為多輸入/單輸出非線性元件。神經(jīng)元輸出除受輸入信號影響外,還受神經(jīng)元內(nèi)部其它原因制約,所以在人工神經(jīng)元建模中,經(jīng)常加一額外輸入信號,稱為偏差(bais),并取值為1。

輸入分量權值分量

神經(jīng)元輸出偏差權值

激活函數(shù)輸入分量經(jīng)過與它相乘權值分量相連,求和后與偏差權值共同組成激活函數(shù)輸入

。6人工神經(jīng)網(wǎng)絡與智能算法專家講座第6頁偏差神經(jīng)元輸出為:

偏差b被簡單地加在上,作為激活函數(shù)一個輸入分量。偏差主要作用,它使得激活函數(shù)圖形能夠左右移動,這么可增加網(wǎng)絡處理問題能力。

7人工神經(jīng)網(wǎng)絡與智能算法專家講座第7頁激活函數(shù)激活函數(shù)含有模擬生物神經(jīng)元非線性特征。Sigmoid函數(shù):雙曲正切tanh函數(shù):Sigmoid函數(shù)和雙曲正切tanh函數(shù)都是單調(diào)上升函數(shù),其極值分別為0、1和-1、+1,且都是可微。8人工神經(jīng)網(wǎng)絡與智能算法專家講座第8頁激活函數(shù)一階導數(shù)在BP神經(jīng)網(wǎng)絡訓練算法中,要用到激活函數(shù)一階導數(shù)。Sigmoid函數(shù)導數(shù):雙曲正切tanh函數(shù)導數(shù):由此能夠看出,因為激活函數(shù)特點,用神經(jīng)網(wǎng)絡計算時,需對輸入和輸出值進行調(diào)整。激活函數(shù)是采取Sigmoid函數(shù)時,輸入和輸出值應在{0,1}之間;激活函數(shù)是雙曲正切tanh函數(shù)時,輸入和輸出值范圍則在{-1,1}之間。9人工神經(jīng)網(wǎng)絡與智能算法專家講座第9頁1.2BP網(wǎng)絡模型結(jié)構(gòu)BP網(wǎng)絡是一個在輸入層和輸出層之間含有一層或多層隱層網(wǎng)絡模型,而其經(jīng)典結(jié)構(gòu)為有一隱層、包含輸入層和輸出層三層網(wǎng)絡模型。經(jīng)典BP網(wǎng)絡結(jié)構(gòu)示意圖以下:網(wǎng)絡輸入模式向量為P,有r個輸入神經(jīng)元,對應輸入模式向量每個元素。

隱層內(nèi)有s1個神經(jīng)元,對應隱層輸出是a1。網(wǎng)絡輸出為a2,有s2個神經(jīng)元,而目標輸出為T。

三層BP神經(jīng)網(wǎng)絡不一樣層神經(jīng)元之間實現(xiàn)權重連接,而每層內(nèi)各個神經(jīng)元之間不連接。10人工神經(jīng)網(wǎng)絡與智能算法專家講座第10頁BP網(wǎng)絡四個計算過程輸入模式由輸入層經(jīng)隱含層向輸出層“模式正向傳輸”過程;(神經(jīng)元激活值從輸入層經(jīng)隱含層向輸出層傳輸,在輸出層各神經(jīng)元取得網(wǎng)絡響應。)網(wǎng)絡實際輸出與希望輸出誤差信號由輸出層經(jīng)隱含層向輸入層逐層修正連接權和閡值“誤差反向傳輸”過程;由“模式正向傳輸”過程與“誤差反向傳輸”過程重復交替進行網(wǎng)絡學習訓練過程;網(wǎng)絡全局誤差趨向極小學習收斂過程。(網(wǎng)絡對輸入模式響應正確率也不停增加。)11人工神經(jīng)網(wǎng)絡與智能算法專家講座第11頁BP網(wǎng)絡計算過程簡單描述(1)模式正向傳輸過程隱含層中第j個神經(jīng)元輸出為:輸出層中第k個神經(jīng)元輸出為:誤差反向傳輸過程定義誤差函數(shù)為:

神經(jīng)網(wǎng)絡學習過程就是經(jīng)過調(diào)整權值,使誤差E最小,此時可利用最速下降法求權值及誤差反向傳輸。12人工神經(jīng)網(wǎng)絡與智能算法專家講座第12頁BP網(wǎng)絡計算過程簡單描述(2)隱含層中第j個神經(jīng)元輸出權值改變?yōu)椋簩Φ趇個輸入到隱含層中第j個神經(jīng)元輸出權值改變?yōu)椋盒拚笮聶嘀卣{(diào)整為:

η稱為學習系數(shù),值在{0,1}之間。

13人工神經(jīng)網(wǎng)絡與智能算法專家講座第13頁加緊BP網(wǎng)絡訓練速度方法BP網(wǎng)絡得到了廣泛應用,但也存在本身不足與限制,主要表現(xiàn)在網(wǎng)絡訓練需較長時間和網(wǎng)絡有可能到達局部最小。據(jù)此,BP網(wǎng)絡有各種改進方法,以加緊訓練速度,防止陷入局部極小。主要改進方法有:增加動量項,以平滑權改變,一個慣用形式是:α為動量因子,值在{0,1}之間,n為迭代次數(shù)。

采取二階學習算法。前面基于函數(shù)梯度算法屬于一階算法,缺點就是在極值點附近收斂速度慢。采取二階算法,如牛頓法、共軛梯度法等,將有較快收斂速度。模擬退火法。14人工神經(jīng)網(wǎng)絡與智能算法專家講座第14頁1.4BP神經(jīng)網(wǎng)絡計算(1)網(wǎng)絡層數(shù):在利用BP神經(jīng)網(wǎng)絡時,最多采取是含有一層或兩層隱層網(wǎng)絡。

含有偏差和最少一個S型隱層網(wǎng)絡,能夠近似任何函數(shù),這已成為設計BP神經(jīng)網(wǎng)絡標準。

網(wǎng)絡計算精度提升,能夠經(jīng)過采取一個隱層,而增加隱層神經(jīng)元數(shù)方法來取得,這也就是通慣用一隱層、包含輸入層和輸出層三層BP網(wǎng)絡模型原因。神經(jīng)元數(shù):輸入和輸出神經(jīng)元數(shù)能夠依據(jù)需要求解問題和數(shù)據(jù)所表示方式來確定。問題確定后,輸入層與輸出層神經(jīng)元數(shù)也就隨之定了。隱層神經(jīng)元數(shù)選擇有較廣范圍:當隱層神經(jīng)元數(shù)較少時,誤差下降到一定程度后會改變很??;當隱層神經(jīng)元數(shù)過多時,不但網(wǎng)絡訓練時間長,還會出現(xiàn)過擬合問題,降低神經(jīng)網(wǎng)絡預測功效。通常隱層神經(jīng)元數(shù)選擇標準是:在能處理問題前提下,再加上1到2個神經(jīng)元以加緊誤差下降速度即可。15人工神經(jīng)網(wǎng)絡與智能算法專家講座第15頁BP神經(jīng)網(wǎng)絡計算(2)初始權值選取權重初始值選取,對網(wǎng)絡訓練學習是否到達局部最小,是否能夠收斂以及訓練時間長短有很大關系。假如初始權值太大,使得加和后值落在激活函數(shù)飽和區(qū),從而造成激活函數(shù)導數(shù)非常小,在計算權值修正時,調(diào)整值靠近零,網(wǎng)絡學習訓練幾乎處于停頓狀態(tài)。所以普通總是希望經(jīng)過初始權值計算后每個神經(jīng)元輸出值都靠近零,這么能夠確保每個神經(jīng)元權值都能在激活函數(shù)改變最大之處進行調(diào)整。普通來說,初始權值取{-1,1}之間隨機數(shù)是很好選擇。

16人工神經(jīng)網(wǎng)絡與智能算法專家講座第16頁BP神經(jīng)網(wǎng)絡計算(3)學習速率學習速率決定每一次循環(huán)訓練中所產(chǎn)生權值改變量。大學習速率可能造成系統(tǒng)不穩(wěn)定;但小學習速率造成較長訓練時間,可能收斂很慢,不過能確保網(wǎng)絡誤差值不跳出誤差表面低谷而最終趨于最小誤差值。所以在普通情況下,傾向于選取較小學習速率以確保系統(tǒng)穩(wěn)定性。學習速率選取范圍在0.01~0.8之間。在一個神經(jīng)網(wǎng)絡計算過程中,使網(wǎng)絡經(jīng)過幾個不一樣學習速率訓練,經(jīng)過觀察每一次訓練后誤差平方和下降速率來判斷所選定學習速率是否適當。假如誤差平方和下降很快,則說明學習速率適當若誤差平方和出現(xiàn)振蕩現(xiàn)象,則說明學習速率過大。對于每一個詳細網(wǎng)絡都存在一個適當學習速率。但對于較復雜網(wǎng)絡,在誤差曲面不一樣部位可能需要不一樣學習速率。為了降低尋找學習速率訓練次數(shù)以及訓練時間,比較適當方法是采取改變學習速率,使網(wǎng)絡訓練在不一樣階段自動設置不一樣學習速率大小。17人工神經(jīng)網(wǎng)絡與智能算法專家講座第17頁BP神經(jīng)網(wǎng)絡計算程序BATCHNET介紹BATCHNET是一個BP神經(jīng)網(wǎng)絡計算DOS程序,程序由batchnet.exe和weights.exe兩個可執(zhí)行文件組成。batchnet為網(wǎng)絡訓練和預測程序,激活函數(shù)為Sigmoid函數(shù),輸入輸出樣本值范圍為{0,1}。weights程序產(chǎn)生初始權值。批處理程序demo.batbatchnet-e10–d1.0e-5demo.run

說明:-e10—表示網(wǎng)絡每迭代10步后顯示誤差;–d1.0e-5—表示網(wǎng)絡訓練誤差;demo.run—求解問題網(wǎng)絡參數(shù)文件,由batchnet調(diào)用,文件名可改,但擴展名run不能變。

18人工神經(jīng)網(wǎng)絡與智能算法專家講座第18頁BP神經(jīng)網(wǎng)絡計算程序BATCHNET介紹網(wǎng)絡參數(shù)文件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—運行次數(shù),本例為4;

fOut—網(wǎng)絡計算結(jié)果輸出文件,輸出;fErr—網(wǎng)絡計算誤差文件,輸出;fPat—訓練學習樣本文件,輸入;fWts—問題初始權值文件,輸入,由程序weights產(chǎn)生;fWtso—訓練后權值文件,輸出;nPats—訓練樣本數(shù),本例為100;nIter—訓練迭代次數(shù),本例為1000;nInp—輸入層神經(jīng)元數(shù)目,本例為9;nHid—隱層神經(jīng)元數(shù)目,本例為4;nOut—輸出層神經(jīng)元數(shù)目,本例為2;eta—學習速率,本例為0.15;alpha—動量因子,本例為0.075。

表示用BP神經(jīng)網(wǎng)絡先對100對輸入輸出樣本進行學習訓練1000次,預測166個樣本一次,然后繼續(xù)學習訓練1000次后再進行一次預測。Batchnet如只計算一次,則不對連接權重進行更新。

19人工神經(jīng)網(wǎng)絡與智能算法專家講座第19頁BP神經(jīng)網(wǎng)絡計算程序BATCHNET介紹程序weights運行:weightsint_numnInpnHidnOutran_wts

說明:int_num—任一6位整數(shù);nInp—輸入層神經(jīng)元數(shù)目;nHid—隱層神經(jīng)元數(shù)目;nOut—輸出層神經(jīng)元數(shù)目,這3個參數(shù)同run程序中相一致;ran_wts—初始權值取值范圍,實數(shù)1.表示取值范圍在{-1,1}之間。Weights1234569421.020人工神經(jīng)網(wǎng)絡與智能算法專家講座第20頁BP神經(jīng)網(wǎng)絡計算程序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人工神經(jīng)網(wǎng)絡與智能算法專家講座第21頁STATISTICANeuralNetworks(SNN)介紹經(jīng)過輸入數(shù)值變量(自變量)能夠用神經(jīng)網(wǎng)絡來計算輸出變量(應變量),輸出變量類型能夠是數(shù)值型,也能夠是非數(shù)值型。在SNN中,求解問題可經(jīng)過兩種基本方式來進行:智能問題求解器(IntelligentProblemSolver)或程序菜單。智能問題求解器引導使用者建立求解問題神經(jīng)網(wǎng)絡。在智能問題求解器中,有基本型和高級型兩種模式可供選擇。基本型中,使用者只能控制設計神經(jīng)網(wǎng)絡中幾個關鍵點,包含問題類型(樣本相互獨立標準型和變量預測值依賴先前值時間序列)、輸出和輸入變量、求解器篩選優(yōu)化網(wǎng)絡計算時間控制、在網(wǎng)絡設置中需保留網(wǎng)絡情況以及需顯示結(jié)果與統(tǒng)計,其余網(wǎng)絡設計及計算由求解器自動完成?;拘凸ι窠?jīng)網(wǎng)絡計算了解不多者使用。高級型中,使用者能控制設計神經(jīng)網(wǎng)絡各方面,包含網(wǎng)絡訓練、校驗、測試時所用數(shù)據(jù)分割、置信度類型選擇、選擇需產(chǎn)生網(wǎng)絡類型及復雜程度等,供對神經(jīng)網(wǎng)絡計算較熟悉者使用。22人工神經(jīng)網(wǎng)絡與智能算法專家講座第22頁SNN中神經(jīng)網(wǎng)絡方法多層網(wǎng)絡(MultilayerPerceptrons);徑向基函數(shù)網(wǎng)絡(RadialBasisFunctionNetworks);概率神經(jīng)網(wǎng)絡(ProbabilisticNeuralNetworks);通用回歸神經(jīng)網(wǎng)絡(GeneralizedRegressionNeuralNetworks);線性網(wǎng)絡(LinearNetworks);Kohonen網(wǎng)絡(KohonenNetworks);神經(jīng)網(wǎng)絡時間序列預測(TimeSeriesPrediction)。23人工神經(jīng)網(wǎng)絡與智能算法專家講座第23頁SNN菜單命令匯總24人工神經(jīng)網(wǎng)絡與智能算法專家講座第24頁SNN處理數(shù)據(jù)需要注意兩個問題數(shù)據(jù)前處理與后處理在處理實際問題數(shù)據(jù)時,數(shù)據(jù)要進行勻整處理,這么處理包含計算前和計算后處理。神經(jīng)網(wǎng)絡計算用數(shù)據(jù)類型應該是數(shù)值型,當有些問題變量是多態(tài)情況,如對與錯等,這些變量在用神經(jīng)網(wǎng)絡處理時,也需將其數(shù)值化。在SNN中有Pre/postprocessing,可處理這些數(shù)據(jù)變換問題,有時還能夠用Options菜單中STATISTICATransfer,使數(shù)據(jù)直接在STATISTICA中處理。過擬合問題在用多項式擬合數(shù)據(jù)時,就會出現(xiàn)過擬合情況。一個低階多項式可能做不到很好地擬合全部數(shù)據(jù)點,而一個高階則可能做到,但實際上沒有反應問題性質(zhì)。25人工神經(jīng)網(wǎng)絡與智能算法專家講座第25頁SNN處理過擬合方法神經(jīng)網(wǎng)絡計算有一樣問題,隱層神經(jīng)元數(shù)太少,不能很好地描述問題,神經(jīng)元數(shù)過多,會出現(xiàn)過擬合,因較大神經(jīng)網(wǎng)絡總能使誤差減小。處理過擬合方法之一是用交替有效法(Cross-verification)。一些訓練用樣本不參加神經(jīng)網(wǎng)絡學習訓練,而是獨立地在訓練學習過程中用來校驗。當校驗誤差出現(xiàn)同訓練學習誤差不一樣情況,即不是伴隨訓練學習進行,訓練誤差不停減小,反而停頓下降,開始升高,表明網(wǎng)絡有過擬合數(shù)據(jù)情況,這時應降低隱層神經(jīng)元數(shù)。在SNN中智能問題求解器含有自動選擇隱層神經(jīng)元數(shù)功效。26人工神經(jīng)網(wǎng)絡與智能算法專家講座第26頁SNN求解過程在神經(jīng)網(wǎng)絡研究和計算中,常能見到異或問題求解與討論。這里以異或問題求解為例介紹SNN求解過程,并對SNN智能問題求解器中各項選擇作一說明。FIRSTSECONDXOR000101011110異或問題兩個輸入變量為二進制數(shù),其可能取值及期望輸出如右表所表示:異或問題看起來簡單,但含有復雜特征,它不是線性可分,即不可能有一直線使同類在線一邊,如右圖所表示:27人工神經(jīng)網(wǎng)絡與智能算法專家講座第27頁SNN中智能問題求解器使用步驟Step1:建立上述數(shù)據(jù)文件輸入變量類型(Input

orOutput)樣本分組(Training、Verification、Testing

)28人工神經(jīng)網(wǎng)絡與智能算法專家講座第28頁Step2:選擇求解問題方式問題類型(BasicorAdvanced),選擇“Advanced”。29人工神經(jīng)網(wǎng)絡與智能算法專家講座第29頁SNN中智能問題求解器使用步驟Step3:選擇問題類型(ProblemType),選擇“Standard

”。30人工神經(jīng)網(wǎng)絡與智能算法專家講座第30頁SNN中智能問題求解器使用步驟Step4:選擇輸出變量(OutputVariableSelection

),選擇XOR變量作為輸出變量。31人工神經(jīng)網(wǎng)絡與智能算法專家講座第31頁SNN中智能問題求解器使用步驟Step5:選擇輸入變量(InputVariableSelection

),選擇變量FIRST,SECOND作為輸入變量。并關閉選項“Searchforaneffectivesubset…

”。32人工神經(jīng)網(wǎng)絡與智能算法專家講座第32頁SNN中智能問題求解器使用步驟Step6:樣本分組(Divisionofcases

)??刂朴柧殻═raining)、檢驗(Verification)和測試(Testing)樣本大小。采取自定義分組樣本33人工神經(jīng)網(wǎng)絡與智能算法專家講座第33頁SNN中智能問題求解器使用步驟Step7:選擇網(wǎng)絡類型(TypeofNetwork

)。為比較網(wǎng)絡,幾個網(wǎng)絡都選,即線性、徑向基函數(shù)(RBF)、通用回歸神經(jīng)網(wǎng)絡(GRNN)、三層和四層MLP。34人工神經(jīng)網(wǎng)絡與智能算法專家講座第34頁SNN中智能問題求解器使用步驟Step8:控制網(wǎng)絡隱層數(shù)目(HiddenUnits

)。選擇“Determinenetworkcomplexityautomatically”自動確定網(wǎng)絡復雜性,忽略數(shù)值選定。35人工神經(jīng)網(wǎng)絡與智能算法專家講座第35頁SNN中智能問題求解器使用步驟Step9:網(wǎng)絡設計過程(DurationofDesignProcess

)。選擇完全“Thorough”項。36人工神經(jīng)網(wǎng)絡與智能算法專家講座第36頁SNN中智能問題求解器使用步驟Step10:希望保留最正確網(wǎng)絡和在網(wǎng)絡確定過程中增加網(wǎng)絡大小(SavingNetworks

)。選擇

“Keepnetworks…”和“Increase…”項。37人工神經(jīng)網(wǎng)絡與智能算法專家講座第37頁SNN中智能問題求解器使用步驟Step11:結(jié)果顯示

(ResultsShown

)。選擇列表樣本結(jié)果“Datasheet…”和統(tǒng)計結(jié)果匯總“Overall…”。SNN計算完成后,給出各種結(jié)果。38人工神經(jīng)網(wǎng)絡與智能算法專家講座第38頁SNN求解異或問題結(jié)果DataSetEditor給出了訓練樣本。

RunDataSet是訓練結(jié)果,有目標值、計算值和誤差。RegressionStatistics是最優(yōu)網(wǎng)絡計算統(tǒng)計結(jié)果。

NetworkSetEditor則是智能問題求解器所用各種網(wǎng)絡計算結(jié)果。NetworkIllustration則是最優(yōu)網(wǎng)絡圖示。

39人工神經(jīng)網(wǎng)絡與智能算法專家講座第39頁SNN求解異或問題結(jié)果計算結(jié)果表明了多層網(wǎng)絡隱層神經(jīng)元數(shù)為5時,計算誤差已達10-5,能夠用來描述異或問題。是否還有描述異或問題更加好網(wǎng)絡結(jié)構(gòu)呢?隱層數(shù)為4RBF網(wǎng)絡,計算異或問題誤差到達10-15,比隱層神經(jīng)元數(shù)為5多層網(wǎng)絡計算誤差要小10個數(shù)量級,完全描述了異或問題。40人工神經(jīng)網(wǎng)絡與智能算法專家講座第40頁1.4關于ANN深入說明選取適當學習訓練網(wǎng)絡樣本、優(yōu)化網(wǎng)絡結(jié)構(gòu)、采取適當學習訓練方法就能得到包含學習訓練樣本范圍輸入與輸出關系。假如用于學習訓練樣本不能充分反應體系特征,用ANN也不能很好描述與預測體系,所以有“垃圾進,垃圾出;金子進,金子出”之說。確定性模型參數(shù)回歸與ANN之類非確定性模型不一樣特點。41人工神經(jīng)網(wǎng)絡與智能算法專家講座第41頁確定性模型與非確定性模型比較確定性模型參數(shù)回歸特點:自變量與因變量之間有明確函數(shù)關系,含有未知數(shù)值參數(shù),需要經(jīng)過自變量與因變量數(shù)據(jù)組樣本往返歸預計,而且參數(shù)個數(shù)通常較少,含有明確物理意義。ANN之類非確定性模型特點:無須針對問題提出明確自變量與因變量之間函數(shù)關系,而函數(shù)關系用含有眾多自由參數(shù)模型回歸擬合,但自由參數(shù)無明確物理意義。所以,確定性模型回歸主要目標是得到模型參數(shù)值。而非確定性模型計算主要目標是得到輸入與輸出關系。42人工神經(jīng)網(wǎng)絡與智能算法專家講座第42頁二、模擬退火法(SimulatedAnnealing)人工神經(jīng)網(wǎng)絡方法是用某種目標函數(shù)全局極小作為算法搜索和網(wǎng)絡所要到達目標。在學習或運行過程中,網(wǎng)絡誤差總是按其梯度下降方向改變。當梯度趨于零時,網(wǎng)絡學習或運行就停頓了,所以這種算法往往會陷入局部最小而達不到全局最小。造成網(wǎng)絡陷入局部最小主要原因是網(wǎng)絡誤差按單方向降低,沒有上升過程。假如將誤差降低過程由“總是按梯度下降方向改變”改為“大部分情況下按梯度下降方向改變”,而有時按梯度上升方向改變,這么就有可能跳出局部最小而到達全局最小(下列圖給出了梯度下降法(a)和SA方法(b)搜索路徑)。模擬退火算法基本思想

43人工神經(jīng)網(wǎng)絡與智能算法專家講座第43頁模擬退火法起源SA算法是受金屬冷卻過程啟發(fā),最早由Metropolis于1953年提出來。它含有靈活有效,能對問題進行全局優(yōu)化。金屬中原子能量與溫度相關。原子能量高時候,有能力擺脫其原來能量狀態(tài)而最終到達一個愈加穩(wěn)定狀態(tài)——全局極小能量狀態(tài)。金屬固體進行退火處理時,通常先將它加熱熔化,然后逐步降低溫度。在凝固點附近,若溫度下降速度足夠慢,則固體物質(zhì)會形成能量最低穩(wěn)定狀態(tài)。其中金屬粒子都經(jīng)歷能量由高到低、暫時由低到高、最終趨向低能態(tài)過程。在金屬退火過程中,能量狀態(tài)分布:P(E)∝P(E)——系統(tǒng)處于含有能量E狀態(tài)概率;k——Boltzmann常數(shù);T——系統(tǒng)絕對溫度(Kelvin)

44人工神經(jīng)網(wǎng)絡與智能算法專家講座第44頁模擬退火優(yōu)化法SA算法將優(yōu)化問題與統(tǒng)計物理學中熱平衡問題進行類比,即將統(tǒng)計物理學處理金屬固體冷卻熱平衡方法用于優(yōu)化問題。

目標函數(shù)——能量函數(shù)優(yōu)化參數(shù)狀態(tài)空間——物質(zhì)微觀狀態(tài)人工溫度T——一個初值較大控制參數(shù)依據(jù)網(wǎng)絡能量來決定控制參數(shù)調(diào)整量(稱為步長)。當T較大時,目標函數(shù)值由低向高改變可能性較大;而T減小,這種可能性也隨之減小。與金屬退火過程(Annealing)非常相同。當控制參數(shù)T下降到一定程度時,目標函數(shù)將收斂于最小值。模擬退火優(yōu)化算法基本思想45人工神經(jīng)網(wǎng)絡與智能算法專家講座第45頁模擬退火優(yōu)化法計算機模擬某一溫度T下物質(zhì)體系熱平衡狀態(tài)方法:Step1:隨機選擇一個初始微觀狀態(tài)i作為當前狀態(tài),其對應能量為Ei。Step2:從狀態(tài)i作隨機擾動,產(chǎn)生一新狀態(tài)j,其對應能量為Ej,計算能量增量△E=Ei

–Ej。Step3:假如△E≤0,則接收狀態(tài)j作為當前狀態(tài),即j→i;若△E>0

,計算基于Boltzmann分布函數(shù)比值:其中:Boltzmann分布函數(shù)

k為Boltzmann常數(shù)取(0,1)之間一個隨機數(shù)p,若r>p,則接收狀態(tài)j作為當前狀態(tài),即j→i

;不然,保持原來狀態(tài)i。46人工神經(jīng)網(wǎng)絡與智能算法專家講座第46頁模擬退火優(yōu)化法從Boltzmann分布函數(shù)比值(即8.3.15式)可看出,溫度高時大,對應kT也較大,接收與當前狀態(tài)能差較大新狀態(tài)概率大;降低溫度,r較小,只能接收能差較小新狀態(tài)。所以不停降低溫度,體系最終能到達能量最低熱平衡狀態(tài)。

Step4:重復第二、三步,在大量能量狀態(tài)改變后,系統(tǒng)處于能量較低平衡態(tài)。降低溫度T再重復上述過程,體系又處于能量更低平衡態(tài)。47人工神經(jīng)網(wǎng)絡與智能算法專家講座第47頁SA基本算法步驟與框圖首先進行初始化,任意給定初始態(tài)X0,取參數(shù)初值T0,計算優(yōu)化目標函數(shù)E0,然后按下進行:(1)隨機產(chǎn)生擾動態(tài)Xi,計算△E=Ei

–E0

;(2)若△E<0

,轉(zhuǎn)到(4)。不然在(0,1)之間一個隨機數(shù)p;(3)若exp(△E/T)<p

,轉(zhuǎn)(5);(4)用Xi代替X0,E0

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

<T0,如Ti=αT0;(6)SA計算過程是否結(jié)束,是就停頓,不然就轉(zhuǎn)到(1)。48人工神經(jīng)網(wǎng)絡與智能算法專家講座第48頁SA算法控制SA算法能否到達目標函數(shù)最小值,主要取決于控制參數(shù)初值是否足夠高和其下降得是否慢,所以注意相關控制參數(shù)選取問題。對于參數(shù)初值T0,慣用處理方法之一是在均勻地隨機抽樣X0后,取E0方差作為T0。對于降溫策略Ti=αT0,0<α<1,常取α∈[0.85,0.96]。SA算法使用能夠參考教材P257(FORTRAN程序)用SA擬合丙烷-絲光沸石體系在303K時吸附平衡數(shù)據(jù)和模型。

49人工神經(jīng)網(wǎng)絡與智能算法專家講座第49頁三、遺傳算法(GeneticAlgorithm)遺傳算法是一個模擬自然選擇和遺傳隨機搜索算法。它最初由Holland在1975年提出,研究自然系統(tǒng)適應過程和設計含有自適應性能軟件。遺傳算法基本形式是用染色體來表示參數(shù)空間編碼,用適應度函數(shù)來評價染色體群體優(yōu)劣,經(jīng)過遺傳操作產(chǎn)生新染色體,并用概率來控制遺傳操作。遺傳算法是一個非線性方法,它含有簡練、靈活、高效和全局優(yōu)化特征,在過程控制、系統(tǒng)診療、非線性擬合與優(yōu)化、人工智能等工程和研究領域都得到了廣泛應用。50人工神經(jīng)網(wǎng)絡與智能算法專家講座第50頁遺傳算法基礎遺傳算法是一個迭代算法,它在每一次迭代時都擁有一組解(父代染色體群體),這組解答最初是隨機生成。在每次迭代時,首先保持解,然后染色體群體經(jīng)過遺傳操作(選擇、雜交、變異等),生成新組解(子代染色體群體)。每個解都由一個目標函數(shù)來評價,而且這一過程不停重復,直至到達某種形式上收斂。新一組解不但能夠有選擇地保留一些先前迭代中目標函數(shù)值高解,而且能夠包含一些經(jīng)由其它解結(jié)合而得新解,其子代數(shù)值能夠與其父代情況有相當大差異。51人工神經(jīng)網(wǎng)絡與智能算法專家講座第51頁符號串表示和遺傳操作設計遺傳算法術語借鑒于自然遺傳學,遺傳物質(zhì)主要載體是染色體。在遺傳算法中,染色體(個體)由一串數(shù)據(jù)或數(shù)組組成,用來作為問題解代碼。染色體由決定其特征基因組成,而基因又能夠有稱為等位基因不一樣取值。目標函數(shù)稱為適應度函數(shù),而一組染色體稱為群體。遺傳算法一次迭代稱為一代。遺傳算法成功關鍵在于符號串表示和遺傳操作設計。52人工神經(jīng)網(wǎng)絡與智能算法專家講座第52頁染色體解空間中每一點都對應一個用由基因表示染色體。

比如:要確定適應度函數(shù)f(x,y)最大值,搜尋空間變量x和y為整數(shù),其改變范圍是0-15。這么對應于搜尋空間任何點可由兩基因染色體來表示:

點(2,6)用二進制數(shù)有以下染色體:xy26→0010011053人工神經(jīng)網(wǎng)絡與智能算法專家講座第53頁交叉在兩父代染色體隨機長度位置上,用交叉概率進行后部交換,產(chǎn)生兩子代,以下所表示:上面交叉操作稱為單點交叉。普通地能夠進行多點交叉,以下所表示:54人工神經(jīng)網(wǎng)絡與智能算法專家講座第54頁變異與交叉不一樣,變異包括到一染色體個體一個或多個基因位翻轉(zhuǎn),產(chǎn)生新基因組合,以經(jīng)過交叉來取得子代染色體。下面任一方法都能夠用來進行變異操作:隨機選擇基因位數(shù)值能夠被隨機產(chǎn)生數(shù)值替換,這種替換對二進制和非二進制染色體都適用;在二進制染色體中,能夠?qū)﹄S機選擇基因位進行觸發(fā),即1→0或0→1。能夠以概率Pm隨機選擇個體進行變異操作。變異操作主要優(yōu)點是使染色體群體中出現(xiàn)各種基因,這么遺傳算法有在參數(shù)解空間找出各種可能解,防止解丟失。55人工神經(jīng)網(wǎng)絡與智能算法專家講座第55頁有效性檢驗對于不一樣優(yōu)化問題,有時需要增加檢驗,確保新子代染色體表示是參數(shù)解空間中有效點。如考慮由四個基因組成染色體,每個基因有三個可能二進制值A=01,B=10,C=11。二進制染色體表示組合BACA是:1001110110011100如對最終基因位進行變異操作,產(chǎn)生了以下所表示無效染色體,因基因值00沒有定義。一樣,交叉也可能產(chǎn)生有缺點染色體操作??朔@些問題方法是采取結(jié)構(gòu)操作,交叉或變異操作針對基因,而不是針對基因位。這么,交叉操作點總能與基因邊界相一致,變異操作對整個基因組隨機選擇新值,確保產(chǎn)生有效染色體。如此做缺點是染色體群體差異性會受到影響。

56人工神經(jīng)網(wǎng)絡與智能算法專家講座第56頁基本遺傳算法框圖初始染色體群體隨機產(chǎn)生;用適應度函數(shù)來評價染色體個體;依據(jù)適應度產(chǎn)生繁殖染色體個體,適應度好染色體個體其被選擇來繁殖可能性大;經(jīng)過染色體正確交叉和變異操作,產(chǎn)生各自子代繁殖染色體。57人工神經(jīng)網(wǎng)絡與智能算法專家講座第57頁基本遺傳算法在遺傳算法中,是依據(jù)適應度來選擇個體進行繁殖,最適合染色體繁殖可能性也最大。選擇不但決定由那些個體來繁殖,而且還要確定繁殖子代數(shù)目。所以選擇方法對遺傳算法有效性有著主要作用。GA算法使用能夠參考教材P262(FORTRAN程序)GeneticAlgorithmandDirectSearchToolboxinMATLABva58人工神經(jīng)網(wǎng)絡與智能算法專家講座第58頁GeneticAlgorithmToolboxinMATLABCallingtheFunctiongaattheCommandLine[xfval]=ga(@fitnessfun,nvars,options)@fitnessfunisahandletothefitnessfunction.nvarsisthenumberofindependentvariablesforthefitnessfunction.optionsisastructurecontainingoptionsforthegeneticalgorithm.Ifyoudonotpassinthisargument,gausesitsdefaultoptions.Step

x—Pointatwhichthefinalvalueisattainedfval—FinalvalueofthefitnessfunctionUsingtheGeneticAlgorithmToolgatool59人工神經(jīng)網(wǎng)絡與智能算法專家講座第59頁GAToolGUIofMATLAB目標函數(shù)變量數(shù)約束條件圖形顯示執(zhí)行計算計算結(jié)果計算選項60人工神經(jīng)網(wǎng)絡與智能算法專家講座第60頁Ex1:UnconstrainedMinimizationUsingGAFunction:Thefunctionhastwolocalminima:oneatx=0,wherethefunctionvalueis-1,theotheratx=21,wherethefunctionvalueis-1-1/e.Sincethelattervalueissmaller,theglobalminimumoccursatx=21.61人工神經(jīng)網(wǎng)絡與智能算法專家講座第61頁Resultoflocalminimumfunctiony=two_min(x)ifx<=20y=-exp(-(x/20).^2);elsey=-exp(-1)+(x-20)*(x-22);end62人工神經(jīng)網(wǎng)絡與智能算法專家講座第62頁

HowtoexplorepointsneartheglobalminimumOnewaytomakethegeneticalgorithmexploreawiderrangeofpoints—thatis,toincreasethediversityofthepopulations—istoincreasetheInitialrange.63人工神經(jīng)網(wǎng)絡與智能算法專家講座第63頁Rangeofindividualsineachgenerationamuchwiderrangeofindividuals.Bythesecondgenerationthereareindividualsgreaterthan21,andbygeneration12,thealgorithmfindsabestindividualthatisapproximatelyequalto21.allindividualsarebetween-2and2.5.WhilethisrangeislargerthanthedefaultInitialrangeof[0;1],duetomutation,itisnotlargeenoughtoexplorepointsneartheglobalminimumatx=21.

64人工神經(jīng)網(wǎng)絡與智能算法專家講座第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人工神經(jīng)網(wǎng)絡與智能算法專家講座第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人工神經(jīng)網(wǎng)絡與智能算法專家講座第66頁ResultofEx267人工神經(jīng)網(wǎng)絡與智能算法專家講座第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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論