遺傳演算法介紹

2021-04-02 02:36:39 字數 2954 閱讀 8495

遺傳演算法介紹

2 基於遺傳演算法的人工神經網路的應用

基於遺傳演算法的人工神經網路的應用的基本原理是用遺傳演算法(ga)對神經網路的連線權值進行優化學習,利用ga的尋優能力來獲取最佳權值。

由於遺傳演算法具有魯棒性強、隨機性、全域性性以及適於並行處理的優點,所以被廣泛應用於神經網路中,其中有許多成功的應用。

李敏強[4]採用了一種改進的遺傳演算法(mga),將之應用於人工神經網路中,求解了短期**預報問題。在改進的mga中,採用了自適應交叉率和變異率,並且把ga和bp結合起來。文[4]將誤差反傳演算法(bp)和實數編碼遺傳演算法(ga),改進型(mga)三種演算法應用於神經網路短期**預報中,並給出了三種方法的結果比較。

其中,網路選用三層bp網路,前一年的最大震級、最大震級之差、累計能量及累計能量之差為網路的輸入,網路的輸出是下一年的震級,隱層節點數為30,這個4-30-1網路共有150個可調權值,各層的激發函式均為sigmoid型函式。bp演算法中,學習率η=0.7;慣性係數α=0.2。實數ga中,群體容量n=40,交叉率pc=0.12,變異率pm=0.1,親代度量s=0.9,各引數在演算法執行過程中保持不變。mga中,常量kc=0.1,km=0.11。三種演算法的執行結果如圖1所示。

由實驗結果可以看出遺傳演算法具有快速學習網路權重的能力,並且能夠擺脫區域性極小點的困擾。

蔡鷺欣[5]把基於反向傳播神經網路的遺傳演算法用於酒類氣體識別實驗中的感測器陣列的篩選,通過評價感測器組合對反向傳播神經網路識別酒類氣體結果的影響,建立一種挑選感測器陣列的方法。遺傳演算法(ga)是一類借鑑生物界自然選擇和自然遺傳機制的隨機化搜尋演算法,由於其主要特點是群體搜尋策略和群體中個體之間的資訊交換,搜尋不依賴梯度資訊。該演算法從多點出發開始搜尋,加上交叉作用,所以該演算法不容易陷入區域性最小誤差。目前在氣體識別中用得比較廣泛的是陣列感測器。陣列感測器對被測氣體產生原始響應,然後利用模式識別等方法通過對原始響應的識別達到識別氣體的目的。

抽取文[5]中實驗訓練集中3組有代表性的實驗資料作為遺傳演算法中訓練集適應度的檢驗資料,其餘作為訓練資料,經過實驗驗證,表明在迭代了11次後,遺傳演算法所求的最優解群都具有很好識別葡萄酒、啤酒和白酒的能力。

按照一般的定義:若神經網路在第i次實驗中對氣體a的|計算值-期望值|<0.5則認為在第i次實驗中,神經網路可以識別氣體a;否則認為,神經網路不能識別氣體a。把遺傳演算法所得的解群進行統計分析,如果如表1所示,與表2的統計相比較,結果基本一致 。因此可以認為,用遺傳演算法可以達到挑選感測器組合和判別各感測器在識別中的貢獻大小的作用。

葛紅[6]將遺傳演算法應用於優化基於神經網路結構的控制器的引數,並用該控制器去控制有純滯後的物件,通過實驗證明了用遺傳演算法優化後的控制系統具有良好的靜態效能和動態效能,為解決控制領域中的這一難題做出了新的探索。

文[6]中應用神經網路構成的乙個控制器,用於控制有純滯後的物件,整個控制系統結構如圖2所示。

根據kolmlgorol定理[7],採用三層神經網路結構作為控制器,即:輸入層、隱層、輸出層,根據有關公式與經驗,輸入層維數n定為2(輸入誤差e及誤差率e),輸出層維數m為1(輸出控制量y),隱層維數n1定為8。由此構成的神經網路控制器的結構中共有24個權值需確定。bp網路權值的訓練演算法中,最常用和成熟的是bp演算法,但bp演算法收斂速度慢,且易陷入區域性最優,文[6]中引用ga作為權值優化方法,作者根據實際應用情況,選用以下的ga的具體實現形式:

(1) 由於神經網路的權值為實數,所以解空間採用二進位制編碼;

(2) 引入精華策略,即每代都保留父代中幾個最優解,以保證搜尋過程收斂;

(3) 引入均勻交叉運算元,以求得全域性最優解。

其他操作則採用簡單的ga的形式。

為了說明神經網路結構的控制和ga引數訓練的有效性,選取經典控制問題中較為典型的一階純滯後物件進行實驗。

其中:時間常數t=1,增益係數k=0.5。

採用matlab語言程式設計,分別對系統的定值控制,抗干擾性和魯棒性進行了**實驗,結果如圖3所示。

(1) 在階躍輸入的情況下,輸出響應曲線如圖3所示。

結論:從**結果可見,系統動態過程較平穩,超調量小,過渡過程時間短,且靜態誤差小。說明經過訓練後,模糊控制器能達到較好的效能。

(2) 抗干擾實驗

在t=20時加入單位脈衝干擾訊號,**結果如圖4所示。

結論:從**結果可見,在脈衝干擾作用後,系統能快速、平穩的恢復穩定狀態,說明系統抗干擾能力強。

(3) 魯棒性實驗

改變物件的引數,以檢驗ga優化後的神經網路控制器的適應性,**結果如圖5所示 。

結論:從**結果可見,物件引數改變,對**曲線影響不大。說明系統對不同物件適應性強,有較好的魯棒性。

王珏[8]將遺傳演算法應用於人工神經網路模型,確定一零部件的維修策略,並結合例項進行了分析,經實驗檢驗,該系統選擇維修策略與實際完全符合,維修費用**值與實際值的相對誤差在允許範圍內,故該模型是可信的。文[8]採用遺傳演算法學習神經網路連線權,不僅可以發揮神經網路的廣泛對映能力,而且有助於提高其收斂速度和學習能力 。

肖專文[9]將遺傳演算法應用於神經網路,構成ga-ann法,協同求解複雜工程中的優化問題。該法既利用了神經網路的非線性對映、網路推理和**的功能,又利用了遺傳演算法的全域性優化特性,可廣泛地應用於目標函式難以用決策變數的顯函式形式來表達的眾多複雜工程問題中。

楊兆公升[10]運用遺傳演算法進行引數選擇,克服了傳統流體神經網路的權值矩陣對稱等限制,拓寬了這種智慧型搜尋方法的應用領域。

基於遺傳演算法的人工神經網路的應用還有很多成功的例子,在此不再一一說明。

3 結束語

綜上所述,遺傳演算法作為一種新型的全域性優化搜尋演算法,由於其直接對結構物件進行操作,不存在求導和函式連續性的限定,又具有魯棒性強、隨機性、全域性性以及適於並行處理的優點,在人工神經網路的應用上展現了它的獨特魅力與優勢,但同時,它在理論和應用技術上也存在著許多不足和缺陷,比如相對鮮明的生物基礎,其數學基礎顯得極為薄弱,尤其是缺乏深刻且具有普遍意義的理論分析。隨著理論研究的深入,可以肯定,作為一種高效並行的全域性搜尋方法,遺傳演算法以其特有的演算法特點使其在許多實際問題中的應用會越來越廣;同時,廣泛的數學方法和強大的計算機模擬工具的出現,必將使遺傳演算法的研究取得長足的進展.

python遺傳演算法 Python 遺傳演算法實現

關於遺傳演算法 遺傳演算法是仿照自然界中生物進化而產生的一類優化演算法。個人感覺遺傳演算法簡單粗暴,適應性廣。關於遺傳演算法的介紹網上有很多了,這裡按照我自己的理解簡單概括一下。編碼解碼,將待優化的引數編碼為dna序列,最簡單直接的為二進位制編碼 即有兩種鹼基的dna鏈 生成隨機初代 選擇,適應度 ...

遺傳演算法介紹 內含例項

現代生物遺傳學中描述的生物進化理論 遺傳物質的主要載體是染色體 chromsome 染色體主要由dna和蛋白質組成。其中dna為最主要的遺傳物質。基因 gene 是有遺傳效應的片斷,它儲存著遺傳資訊,可以準確地複製,也能發生突變,並可通過控制蛋白質的合成而控制生物的狀態.生物自身通過對基因的複製 r...

遺傳演算法 python 簡書 遺傳演算法

優化的演算法有很多種,從最基本的梯度下降法到現在的一些啟發式演算法,如遺傳演算法 ga 差分演化演算法 de 粒子群演算法 pso 和人工蜂群演算法 abc 舉乙個例子,遺傳演算法和梯度下降 梯度下降和遺傳演算法都是優化演算法,而梯度下降只是其中最基礎的那乙個,它依靠梯度與方向導數的關係計算出最優值...