『壹』 神經網路和遺傳演算法有什麼關系
遺傳演算法是一種智能優化演算法,神經網路是人工智慧演算法的一種。
可以將遺傳演算法用於神經網路的參數優化中。
『貳』 如何用神經網路遺傳演算法求極值
===============學習神經網路可以到<神經網路之家>================
可以先用matlab神經網路工具箱訓練網路,當網路訓練好之後,把網路存起來.
然後編寫遺傳演算法,你知道,遺傳演算法是每代不斷迭代的,然後每代會根據適應度決定是否進入下一代,這里的適應度你就用sim(net,x)得到的值的倒數(或者類似的)作為適應度,然後其它就和遺傳演算法沒什麼兩樣了.最後得到的最優解, 就是網路的最優解. 也就是你要的結果了.
不過兄弟,這想法很牛B,很值得鼓勵這樣的想法.但我不得不說兩句,從實際角度來說,這樣的實現沒有太大的意義. 你的目的就是想從數據中找到Y最小的時候,X的什麼值, 但數據上畢竟只是數據,不管你怎麼繞,透露出來的信息還是有限的,不管怎麼繞,其實數據能提供最大限度的信息就是:在Y=10.88時,即X1=25,X2=24....X6=1.5時,Y是最小值的, 這是數據能提供的最大限度的信息,你再怎麼繞, 其實當你懂得神經網路的深層原理時,你會發現,你的方案並沒能挖掘出更優的解(因為數據的信息是有限的),這只是把自己繞暈了
不過能有這樣的想法,兄弟肯定是個學習的好材料,加油.
===============學習神經網路可以到<神經網路之家>================
『叄』 遺傳演算法優化概率神經網路的matlab代碼
原理大概是,設置一個初始種群,種群里的個體就是平滑因子,經過遺傳演算法的選擇、回交叉、變異後,逐漸找答到一個最佳的spread,即為最終結果。
附件是一個GA-BP演算法的程序,雖然不同,但是原理是相近的,可以參考。
遺傳演算法的基本運算過程如下:
a)初始化:設置進化代數計數器t=0,設置最大進化代數T,隨機生成M個個體作為初始群體P(0)。
b)個體評價:計算群體P(t)中各個個體的適應度。
c)選擇運算:將選擇運算元作用於群體。選擇的目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的。
d)交叉運算:將交叉運算元作用於群體。遺傳演算法中起核心作用的就是交叉運算元。
e)變異運算:將變異運算元作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。
群體P(t)經過選擇、交叉、變異運算之後得到下一代群體P(t+1)。
f)終止條件判斷:若t=T,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。
『肆』 遺傳演算法跟神經網路之間是什麼關系
神經網路的設計要用到遺傳演算法,遺傳演算法在神經網路中的應用主要反映在3個方面:網路的學習,網路的結構設計,網路的分析。
1.遺傳演算法在網路學習中的應用
在神經網路中,遺傳演算法可用於網路的學習。這時,它在兩個方面起作用
(1)學習規則的優化
用遺傳演算法對神經網路學習規則實現自動優化,從而提高學習速率。
(2)網路權系數的優化
用遺傳演算法的全局優化及隱含並行性的特點提高權系數優化速度。
2.遺傳演算法在網路設計中的應用
用遺傳演算法設計一個優秀的神經網路結構,首先是要解決網路結構的編碼問題;然後才能以選擇、交叉、變異操作得出最優結構。編碼方法主要有下列3種:
(1)直接編碼法
這是把神經網路結構直接用二進制串表示,在遺傳演算法中,「染色體」實質上和神經網路是一種映射關系。通過對「染色體」的優化就實現了對網路的優化。
(2)參數化編碼法
參數化編碼採用的編碼較為抽象,編碼包括網路層數、每層神經元數、各層互連方式等信息。一般對進化後的優化「染色體」進行分析,然後產生網路的結構。
(3)繁衍生長法
這種方法不是在「染色體」中直接編碼神經網路的結構,而是把一些簡單的生長語法規則編碼入「染色體」中;然後,由遺傳演算法對這些生長語法規則不斷進行改變,最後生成適合所解的問題的神經網路。這種方法與自然界生物地生長進化相一致。
3.遺傳演算法在網路分析中的應用
遺傳演算法可用於分析神經網路。神經網路由於有分布存儲等特點,一般難以從其拓撲結構直接理解其功能。遺傳演算法可對神經網路進行功能分析,性質分析,狀態分析。
遺傳演算法雖然可以在多種領域都有實際應用,並且也展示了它潛力和寬廣前景;但是,遺傳演算法還有大量的問題需要研究,目前也還有各種不足。首先,在變數多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優解附近,但無法精確確定最擾解位置;最後,遺傳演算法的參數選擇尚未有定量方法。對遺傳演算法,還需要進一步研究其數學基礎理論;還需要在理論上證明它與其它優化技術的優劣及原因;還需研究硬體化的遺傳演算法;以及遺傳演算法的通用編程和形式等。
『伍』 關於神經網路,蟻群演算法和遺傳演算法
神經網路來並行性和自適應性很強,應源用領域很廣,在任何非線性問題中都可以應用,如控制、信息、預測等各領域都能應用。
蟻群演算法最開始應用於TSP問題,獲得了成功,後來又廣泛應用於各類組合優化問題。但是該演算法理論基礎較薄弱,演算法收斂性都沒有得到證明,很多參數的設定也僅靠經驗,實際效果也一般,使用中也常常早熟。
遺傳演算法是比較成熟的演算法,它的全局尋優能力很強,能夠很快地趨近較優解。主要應用於解決組合優化的NP問題。
這三種演算法可以相互融合,例如GA可以優化神經網路初始權值,防止神經網路訓練陷入局部極小且加快收斂速度。蟻群演算法也可用於訓練神經網路,但一定要使用優化後的蟻群演算法,如最大-最小蟻群演算法和帶精英策略。
『陸』 基於遺傳演算法的神經網路都有哪些初始參數要設置,怎麼設置
神經層數,每層的神經元個數,神經元的類型、學習方式。
下面是一個用C#實現封裝的庫,有詳內細的容解釋和調用方法。
http://franck.fleurey.free.fr/NeuralNetwork/