神經網路與遺傳演算法
① 遺傳演算法跟神經網路之間是什麼關系
神經網路的設計要用到遺傳演算法,遺傳演算法在神經網路中的應用主要反映在3個方面:網路的學習,網路的結構設計,網路的分析。
1.遺傳演算法在網路學習中的應用
在神經網路中,遺傳演算法可用於網路的學習。這時,它在兩個方面起作用
(1)學習規則的優化
用遺傳演算法對神經網路學習規則實現自動優化,從而提高學習速率。
(2)網路權系數的優化
用遺傳演算法的全局優化及隱含並行性的特點提高權系數優化速度。
2.遺傳演算法在網路設計中的應用
用遺傳演算法設計一個優秀的神經網路結構,首先是要解決網路結構的編碼問題;然後才能以選擇、交叉、變異操作得出最優結構。編碼方法主要有下列3種:
(1)直接編碼法
這是把神經網路結構直接用二進制串表示,在遺傳演算法中,「染色體」實質上和神經網路是一種映射關系。通過對「染色體」的優化就實現了對網路的優化。
(2)參數化編碼法
參數化編碼採用的編碼較為抽象,編碼包括網路層數、每層神經元數、各層互連方式等信息。一般對進化後的優化「染色體」進行分析,然後產生網路的結構。
(3)繁衍生長法
這種方法不是在「染色體」中直接編碼神經網路的結構,而是把一些簡單的生長語法規則編碼入「染色體」中;然後,由遺傳演算法對這些生長語法規則不斷進行改變,最後生成適合所解的問題的神經網路。這種方法與自然界生物地生長進化相一致。
3.遺傳演算法在網路分析中的應用
遺傳演算法可用於分析神經網路。神經網路由於有分布存儲等特點,一般難以從其拓撲結構直接理解其功能。遺傳演算法可對神經網路進行功能分析,性質分析,狀態分析。
遺傳演算法雖然可以在多種領域都有實際應用,並且也展示了它潛力和寬廣前景;但是,遺傳演算法還有大量的問題需要研究,目前也還有各種不足。首先,在變數多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優解附近,但無法精確確定最擾解位置;最後,遺傳演算法的參數選擇尚未有定量方法。對遺傳演算法,還需要進一步研究其數學基礎理論;還需要在理論上證明它與其它優化技術的優劣及原因;還需研究硬體化的遺傳演算法;以及遺傳演算法的通用編程和形式等。
② 神經網路和遺傳演算法有什麼關系
遺傳演算法是一種智能優化演算法,神經網路是人工智慧演算法的一種。
可以將遺傳演算法用於神經網路的參數優化中。
③ 人工神經網路和遺傳演算法的異同
神經網路是根據實際輸出和期望輸出的差值來調整權重,最終使輸出接近期望輸出。
遺傳演算法是根據假設不停地進化,最終使假設變成真實值。
他們都是可以達到最終的決策目的。
④ hopfield神經網路和遺傳演算法的不同點
兩者不同的地方非常多吖,或者說,兩者根本就沒有多少相同的。
hopfield網路,基本上是設置了一個機制,使每次能量都下跌。
而遺傳演算法,則非常的不同,是種群搜索的機制,先初始化一堆的解,然後每次按概述讓優秀解進入下一代(注意到,有可能有不優秀的也可以進入,而hopfield是每一代能量都會下跌),下一代再通過交叉和變異等機制,產生新的一代。由於每次競選下一代都會讓優秀的更大概率通過,所以按概率,每一代都會比上一代更優秀 ,就這樣,最後進化到中夠優秀的一代。
兩者同是通過數次跌代,最後趨於穩定。
但兩者不同,遺傳演算法是每一代是一個種群,而hopfield是一個個體。遺傳演算法每一代允許更差的情況,有助於跳出局部最成。而hopfield每次能量都是下跌的,有貪婪演算法的味道 ,一般不能跳出局部最優。
這樣。
《神經網路之家》
⑤ 什麼時候使用遺傳演算法 vs 什麼時候使用神經網路
一個遺傳演算法 ( GA ) 搜索技術用於計算找到精確或近似優化和搜索問題的解決方案。神經網路是非線性統計數據建模工具。可以用來建模輸入和輸出之間復雜的關系,或者為數據中的查找模式 。當有一個條目的數量在不同的類中,神經網路可以"學習"分類項還沒有"看見"之前。 比如,人臉識別,語音識別。遺傳演算法可以執行定向搜索解決方案的空間。比如:查找兩點之間的最短路徑。
⑥ 神經網路演算法 遺傳演算法 模糊演算法 哪個好
沒有哪種演算法更好的說法,因為每種演算法都有自己的優勢。只能說某種演算法在處理某種問題時,效果更好更合適。
神經網路不能說是一種演算法,它是一種數學網路結構,各神經元的權值、閾值是用某種訓練演算法計算出來的。神經網路適用於非線性系統,可用於難以用數學表達式來描述的系統。
遺傳演算法在全局尋優問題上效果很好,因其收斂速度較快,且不易陷入局部極小點。其中實數編碼法適合與神經網路結合,例如GA-BP神經網路。
模糊演算法可將一些難以量化的參數模糊處理,並且演算法較簡單,尤其是適用於專家經驗佔主要地位的系統,因為添加一條專家經驗只需往規則庫里添加一條語句即可。用這種演算法要注意區間不能劃得太寬,否則演算法太不精確。
⑦ 神經網路遺傳演算法函數極值尋優
對於未知的非線性函數,僅通過函數的輸入輸出數據難以准確尋找函數極值。這類問題可以通過神經網路結合遺傳演算法求解,利用神經網路的非線性擬合能力和遺傳演算法的非線性尋優能力尋找函數極值。本文用神經網路遺傳演算法尋優如下非線性函數極值,函數表達式為
函數圖形如下圖1所示。
從函數方程和圖形可以看出,該函數的全局最小值為0,對應的坐標為(0,0)。雖然從函數方程和圖形中很容易找出函數極值及極值對應坐標,但是在函數方程未知的情況下函數極值及極值對應坐標就很難找到。
神經網路遺傳演算法函數極值尋優主要分為BP神經網路訓練擬合和遺傳演算法極值尋優兩步,演算法流程如下圖2所示。
神經網路訓練擬合根據尋優函數的特點構建合適的BP神經網路,用非線性函數的輸出數據訓練BP網路,訓練後的BP神經網路就可以預測函數輸出。遺傳演算法極值尋優把訓練後的BP神經網路預測結果作為個體適應度值,通過選擇、交叉和變異操作尋找函數的全局最優值及對應輸入值。
本文根據非線性函數有2個輸入參數、1個輸出參數,確定BP神經網路結構為2-5-1.取函數的4 000組輸入輸出數據,從中隨機選取3 900組數據訓練網路,100組數據測試網路性能,網路訓練好後用於預測非線性函數輸出。
遺傳演算法中個體採用實數編碼,由於尋優函數只有2個輸入參數,所以個體長度為2。個體適應度值為BP神經網路預測值,適應度值越小。交叉概率為0.4,變異概率為0.2。
用函數輸入輸出數據訓練BP神經網路,使訓練後的網路能夠擬合非線性函數輸出,保存訓練好的網路用語計算個體適應度值。根據非線性函數方程隨機得到該函數的4 000組輸入輸出數據,存儲於data.mat中,其中input為函數輸入數據,output為函數對應輸出數據,從中隨機抽取3 900組訓練數據訓練網路,100組測試數據測試網路擬合性能。最後保存訓練好的網路。
把訓練好的BP神經網路預測輸出作為個體適應度值。
BP神經網路擬合結果分析
本文中個體的適應度值為BP神經網路預測值,因此BP神經網路預測精度對於最優位置的尋找具有非常重要的意義。由於尋優非線性函數有2個輸入參數、1個輸出參數,所以構建的BP神經網路的結構為2-5-1。共取非線性函數4 000組輸入輸出數據,從中隨機選擇3 900組數據訓練BP神經網路,100組數據作為測試數據測試BP神經網路擬合性能,BP神經網路預測輸出和期望輸出對比如下圖3所示。
從BP神經網路預測結果可以看出,BP神經網路可以准確預測非線性函數輸出,可以把網路預測近似看成函數實際輸出。
遺傳演算法尋優結果分析 BP神經網路訓練結束後,可以利用遺傳演算法尋找該非線性函數的最小值。遺傳演算法的迭代次數是100次,種群規模是20,交叉概率為0.4,變異概率為0.2,採用浮點數編碼,個體長度為21,優化過程中最優個體適應度值變化曲線如下圖4所示。
本文所使用的方法有比較重要的工程應用價值,比如對於某項試驗來說,試驗目的是獲取到最大試驗結果對應的實驗條件,但是由於時間和經費限制,該試驗只能進行有限次,可能單靠試驗結果找不到最優的試驗條件。這時可以在已知試驗數據的基礎上,通過本文介紹的神經網路遺傳演算法尋找最優試驗條件。
思路就是先根據試驗條件數和試驗結果數確定BP神經網路結構;然後把試驗條件作為輸入數據,試驗結果作為輸出數據訓練BP網路,使得訓練後的網路可以預測一定試驗條件下的試驗結果;最後把試驗條件作為遺傳演算法中的種群個體,把網路預測的試驗結果作為個體適應度值,通過遺傳演算法推導最優試驗結果及其對應試驗條件。
⑧ 遺傳神經網路演算法和神經網路演算法的區別
最本質的區別可以說是學習方法不同,或者說模型的優化方法不同。
前者應該是基於遺傳演算法進行網路權值的學習,而後者大都是採用反向傳播(BP)演算法進行權值學習,而這兩種演算法差異很大。建議你分別了解:
1)遺傳演算法
2)反向傳播演算法
⑨ BP演算法、BP神經網路、遺傳演算法、神經網路這四者之間的關系
這四個都屬於人工智慧演算法的范疇。其中BP演算法、BP神經網路和神經網路
屬於神經網路這個大類。遺傳演算法為進化演算法這個大類。
神經網路模擬人類大腦神經計算過程,可以實現高度非線性的預測和計算,主要用於非線性擬合,識別,特點是需要「訓練」,給一些輸入,告訴他正確的輸出。若干次後,再給新的輸入,神經網路就能正確的預測對於的輸出。神經網路廣泛的運用在模式識別,故障診斷中。BP演算法和BP神經網路是神經網路的改進版,修正了一些神經網路的缺點。
遺傳演算法屬於進化演算法,模擬大自然生物進化的過程:優勝略汰。個體不斷進化,只有高質量的個體(目標函數最小(大))才能進入下一代的繁殖。如此往復,最終找到全局最優值。遺傳演算法能夠很好的解決常規優化演算法無法解決的高度非線性優化問題,廣泛應用在各行各業中。差分進化,蟻群演算法,粒子群演算法等都屬於進化演算法,只是模擬的生物群體對象不一樣而已。