利用遺傳模擬退火算法優化神經網絡結構
摘要:常用的神經網絡是通過固定的網絡結構得到最優權值,使網絡的實用性受到影響。引入了一種基于方向的交叉算子和變異算子,同時把模擬退火算法引入了遺傳算法,結合遺傳算法和模擬退火算法的優點,提出了一種優化神經網絡結構的遺傳——模擬退火混合算法,實現了網絡結構和權值的同時優化。仿真實驗表明,與遺傳算法和模擬退火算法相比,該算法優化的神經網絡收斂速度較快、預測精度較高,提高了網絡的處理能力。
關鍵詞:遺傳算法;模擬退火算法;神經網絡;優化
l、引言
神經網絡是由多個簡單的處理單元彼此按某種方式相互連接而形成的計算系統,該系統通過對連續或斷續式的輸入作狀態響應而進行信息處理。雖然每個神經元的結構和功能十分簡單,但由大量神經元構成的網絡系統的行為卻豐富多彩和十分復雜。神經網絡在國民經濟和國防科技現代化建設中具有廣闊的應用領域和應用前景。主要應用領域有:語音識別、圖像識別、計算機視覺、智能機器人、故障機器人、故障檢測、實施語言翻譯、企業管理、市場分析、決策優化、物資調運自適應控制、專家系統、智能接口、神經生理學、心理學和認知科學研究等等。
隨著神經網絡理論研究的深入以及網絡計算能力的不斷拓展,神經網絡的應用領域將會不斷拓展,應用水平將會不斷提高,最終達到神經網絡系統可用來幫人做事的目的,這也是神經網絡研究的最終目標。
神經網絡具有很強的自適應、自組織和自學習的能力,具有大規模并行運算的能力。常用的神經網絡系統的行為主要由兩方面因素決定:其一為拓撲結構;其二是節點間連接權值。一般來講,在應用神經網絡過程中只是得到最優權值,結構在整個過程中是固定的,而且在確定結構時,經常根據人為經驗或經驗公式先擬定一個結構,在此基礎上不斷地訓練網絡、調整結構,最后得到確定的網絡結構,進而應用這個固定的網絡結構得到最優的權值。因此,構造一個準確定量構效關系人工神經網絡模型需要耗費大量的時間,有時利用該方法構造的模型結構還可能不是最佳的l_。近年來,用遺傳算法(Genetic Algo—rithms,GA)解決神經網絡優化設計問題受到廣泛重視。GA在尋優時搜索方向不停的發生變化,具有較強的全局搜索能力。
但是,在應用遺傳算法尋優的過程中,仍存在著困難翻:遺傳算法對好的個體易造成塊破壞、易出現早熟。因此,許多學者采取了遺傳算法和其它算法相結合 的措施,如先用遺傳算法進行全局搜索,確定最優解所在的區域后,再用BP算法(擬牛頓LM算法)進行局部搜索,但仍然存在耗時較多、精度較低的不足。
Eh Kolmogarav定理可知在有合理的結構和恰當的權值條件下,三層前向網絡能以任意精度逼近有界非線性函數。對于三層神經網絡來說,輸入層、輸出層節點的個數由目標函數結構決定,故而在優化網絡結構時,也優化它的隱層節點的個數。
本文將對應用最為廣泛的三層前向網絡進行優化設計,把基于方向的遺傳交叉算子和變異算子引入了遺傳算法,并且與模擬退火算法(Simulated Annealing,SA)結合,提出了自適應遺傳一模擬退火混合算法,使在得到神經網絡最優權值的同時,也自動得到最優網絡結構。仿真研究表明,此算法在以負荷作為訓練樣本的神經網絡中具有良好的實用性。不僅能確定出最佳隱層節點個數,同時能生成落在全局最優區域的權值。
2、遺傳算法遺傳算法是近年來迅速發展起來的一種全新的隨機搜索與優化算法,其基本思想是基于Darwin的進化論和Mendel的遺傳學說。該算法由密執安大學教授Hol 1and及其學生于1975年創建 。隨后經過20多年的發展,取得了豐碩的應用成果和理論研究成果,特別是近年來世界范圍內形成的進化汁算熱潮,汁算智能已作為人工智能研究的一個重要方向,以及后來的人工生命的興起,使GA受到廣泛的關注。遺傳算法主要通過選擇復制和遺傳算子的作用使種群不斷進化,最終收斂到優化解。遺傳算法是一種并行搜索過程,它具有較強的全局尋優能力。
2.1 編碼方式圈為了計算簡便,本文省略神經網絡閾值。個體的長度由最大隱層節點個數決定,即z=(r+c)·^一+/I。 其中:r為輸人節點數?h 為最大隱層節點數、c為輸出節點數。將同一個隱層節點所連接的權值排在一起,當刪除或增加隱層節點時,方便操作。將隱層節點個數及網絡權值進行混合實數編碼,另外對隱含層節點增加了一個O-1組成的數串用作控制碼。控制碼主要是控制隱節點的個數,0—1數串中的一個數控制一個隱層節點。
圖1中,m,是表示第一個隱層節點有效性的O-1控制碼,h 是表示第 一個隱層節點有效性的O-1控制碼, 是與第一個隱層節點相關的權值, :是與第二個隱層節點相關的權值, ^一是與第矗一個隱層節點相關的權值。
初始群體中不同隱層節點個數的個體按照一定的比例隨機產生。當O-1數串中的數為0時,其所對應的隱含層節點對輸出層沒有作用(即相當于不存在此神經元),當數串中的數為1時,就相當于此隱含層節點對輸出層有作用采用上述方法編碼,每個個體譯碼后的網絡結構都滿足前面所述的研究前提條件,因此不存在所對應的網絡結構無效的個體。
2.2 適應度函數的確定及選擇運算
2.3 交叉率和變異率的確定
2.4 交叉算子對控制基因和實數編碼的基因分別采用不同的`交叉算子。
對于控制基因,采用兩點交叉;對于用實數編碼的代表各個節點權值的基因,采用下面所述交叉方法:
假設要參與交叉操作的兩個個體分別為 ,兩個個體上相對應位的權值分別為 ,并且 的適應度高于 的適應度,定義式(2)、(3)所示的△ 、△ 兩個中間變量:
2.5 變異算子隨機取出需要變異的一個個體,再從控制碼中隨機選出一個數,這個數的變異采用基本變異算子。若這個數變異后的控制基因是1,則從控制基因1對應的權值串中選一隨機位,設這一隨機位上的權值為Xc 的變異為:在區間 ,X21上隨機取一數 :代替 區問 ]如式(6)、(7)確定。
3、模擬退火算法模擬退火算法的思想最早由Metropolis等于1 953年提出。SA又稱為模擬冷卻法、統計冷卻法、Monte-Carlo退火法、隨機松弛法和概率爬山法等。1983年Kirkpatriekm等開展了一些富有成效的工作,成功地將該思想引入組合優化理論,解決了許多諸如VLSI等大規模優化設計問題。SA算法是基于Mente Carlo迭代求解策略的一種隨機尋優方法,其出發點是基于物理中固體物質的退火過程與一般組合優化問題之間的相似陛。SA算法在某一初溫下,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,即在局部優解能概率性的跳出并最終趨于全局最優[81。SA算法具有質量高、初始魯棒性強、通用易實現的優點。但是為尋到最優解,算法通常要求較高的初溫、較慢的降溫、較低的終止溫度以及各溫度下足夠多的抽樣,因而SA算法往往優化過程較長,這是SA算法的最大缺點。
4、訓練步驟步驟1設定三層前向神經網絡的輸入節點r、隱含層節點、輸出節點c、初始溫度 、退火次數Num、退火個體數Ⅳ;步驟2在【0,l】范圍內隨機產生PP條染色體,得到初始種群,并設初始進化代數L=0; 一步驟3由設定的選擇概率按選擇機制對個體選擇;步驟4由自適應交叉概率按交叉算子進行交叉操作;步驟5由自適應變異概率按變異算子進行變異操作;步驟6把由步驟3,4、5得到的個體放到—起作為中間種群;步驟7計算中間種群的適應度,將適應度大的個體分別進行模擬退火Num次;步驟8將模擬退火次后得到的Ⅳ個最好的個體替代中間種群中取出的Ⅳ個個體,組成新的種群;步驟9如果進化代數小于預先設定的最大遺傳代數,令= +1,轉步驟3,否則,終止網絡的訓練,選出最優個體,轉步驟10;步驟10將最優個體按順序拆分,作為BP網絡的最優權值;步驟1 1輸入與訓練樣本集模式相一致的預測樣本,得到預測值,并計算出相對誤差。
5、仿真實驗及結果
本文在河北地區1999年7月1日至2003年l2月31日的歷史負荷中篩選了多組樣本數據,訓練神經網絡。
6、結論
本文提出的遺傳模擬退火算法是一種同時優化神經網絡結構和權值的算法,它是在遺傳算法中對控制碼和權值域分別引進算子。在交叉過程中,對權值應用自適應交叉和變異率,引入向適應度高的方向進化的交叉算子,對控制基因用兩點交叉。在變異時,對控制基因采用基本變異算子,之后將中間種群中的適應度高的個體在其周圍進行模擬退火,這樣充分發揮了遺傳算法和模擬退火算法的優點,克服了遺傳算法在神經網絡優化過程中存在的不足。表2說明,本文算法確實有效地使神經網絡的結構和權值同時得到了優化;表3說明將本文算法優化神經網絡應用于預測,確實提高了收斂速度,得到了較高的預測精度。
【利用遺傳模擬退火算法優化神經網絡結構】相關文章:
探討BP神經網絡的圖像Hash算法06-23
電力光纖網絡優化算法及應用探討10-11
遺傳算法在計算機仿真技術中的應用09-27
淺談利用SEO工具進行網站優化的利與弊05-11
分組交換的網絡結構06-01
利用多媒體優化高師音樂欣賞教學論文08-16
淺析大學遺傳學實驗教學方法的優化論文08-10