人工神经网络与遗传算法,神经网络和算法的关系
BP算法、BP神經網絡、遺傳算法、神經網絡這四者之間的關系
這四個都屬于人工智能算法的范疇。其中BP算法、BP神經網絡和神經網絡屬于神經網絡這個大類。遺傳算法為進化算法這個大類。
神經網絡模擬人類大腦神經計算過程,可以實現高度非線性的預測和計算,主要用于非線性擬合,識別,特點是需要“訓練”,給一些輸入,告訴他正確的輸出。若干次后,再給新的輸入,神經網絡就能正確的預測對于的輸出。
神經網絡廣泛的運用在模式識別,故障診斷中。BP算法和BP神經網絡是神經網絡的改進版,修正了一些神經網絡的缺點。遺傳算法屬于進化算法,模擬大自然生物進化的過程:優勝略汰。
個體不斷進化,只有高質量的個體(目標函數最小(大))才能進入下一代的繁殖。如此往復,最終找到全局最優值。遺傳算法能夠很好的解決常規優化算法無法解決的高度非線性優化問題,廣泛應用在各行各業中。
差分進化,蟻群算法,粒子群算法等都屬于進化算法,只是模擬的生物群體對象不一樣而已。
谷歌人工智能寫作項目:神經網絡偽原創
關于神經網絡,蟻群算法和遺傳算法
神經網絡并行性和自適應性很強,應用領域很廣,在任何非線性問題中都可以應用,如控制、信息、預測等各領域都能應用好文案。蟻群算法最開始應用于TSP問題,獲得了成功,后來又廣泛應用于各類組合優化問題。
但是該算法理論基礎較薄弱,算法收斂性都沒有得到證明,很多參數的設定也僅靠經驗,實際效果也一般,使用中也常常早熟。遺傳算法是比較成熟的算法,它的全局尋優能力很強,能夠很快地趨近較優解。
主要應用于解決組合優化的NP問題。這三種算法可以相互融合,例如GA可以優化神經網絡初始權值,防止神經網絡訓練陷入局部極小且加快收斂速度。
蟻群算法也可用于訓練神經網絡,但一定要使用優化后的蟻群算法,如最大-最小蟻群算法和帶精英策略。
關于遺傳算法,模糊數學,神經網絡三種數學的區別和聯系
遺傳算法是一種智能計算方法,針對不同的實際問題可以設計不同的計算程序。它主要有復制,交叉,變異三部分完成,是仿照生物進化過程來進行計算方法的設計。模糊數學是研究現實生活中一類模糊現象的數學。
簡單地說就是像好與壞怎樣精確的描述,將好精確化,用數字來表達。神經網絡是一種仿生計算方法,仿照生物體中信息的傳遞過程來進行數學計算。這三種知識都是近40年興起的新興學科,主要應用在智能模糊控制上面。
這三者可以結合起來應用。如用模糊數學些遺傳算法的程序,優化神經網絡,最后用神經網絡控制飛行器或其他物體。
遺傳神經網絡識別原理
4.3.1 遺傳BP簡介遺傳識別是遺傳算法+神經網絡的一種新興的尋優技術,適合于復雜的、疊加的非線性系統的辨識描述。神經網絡算法是當前較為成熟的識別分類方法,但網絡權值的訓練一直存在著缺陷。
為此結合具體應用,在對遺傳算法進行改進的基礎上,本文采用了一種基于遺傳學習權值的神經網絡識別方法,并取得了較好的效果。
盡管常規遺傳算法是穩健的,但針對一個具體問題遺傳算法只有和其他方法(或稱原有算法)有效地結合在一起,組成一個新的混合算法,才能在實際中得到廣泛應用。
混合算法既要保持原有算法的長處,又要保持遺傳算法的優點,因此常規遺傳算法中的適應值函數、編碼、遺傳算子等必須做適當的修改以適應混合算法的要求。
4.3.1.1 適應值信息常規算法中,適應值常被表示為全局極小,用歐氏距離來實現。
例如,適應值常被表示為如下形式:儲層特征研究與預測式中:)Yi為第i 個樣本的實際輸出,Yi為第i 個樣本的期望輸出,N 為學習樣本數。
這種表示法的單點擬合能力較強,能夠滿足精度要求,但大多數情況下,還要考慮樣本整體的一些性質,如方差、連續性等。適應值作為GA中的惟一使用信息,除了體現樣本的差異性,還 應當兼顧樣本間的相關性。
這樣就在一定程度上克服了劇烈振蕩、網絡容錯能力差等弱點。因此,我們將灰色系統的灰關聯引入進來,在保證樣本的遺傳操作的同時,加強樣本間橫向上的聯系,從而更有效地選擇權值。
設 X0={X0(K),K=1,2,…,n}為母序列,Xi={Xi(K),K=1,2,…,n i=1,2,…,m}為子序列。
則關聯系數為:儲層特征研究與預測關聯度為:儲層特征研究與預測4.3.1.2 編碼問題二進制位串編碼是GA中常見的編碼技術。但在實際編程中,采用浮點數直接表示更有利。
主要有以下原因:(1)避免了因網絡權值范圍不明確,難以進行編碼的困難;(2)取消了編碼、譯碼過程,提高了學習算法的速度;(3)十進制數字串的引入,在數字串長度不變的情況下,計算精度可以大為提高。
例如,用七位二進制數字串來表示(-10,10)之間的數值,則精度最高為:儲層特征研究與預測用同樣長度的十進制數字串來表示(-10,10)之間的數值,去掉符號位和小數點所占用的一位,余下的四位表示小數值,則精度最高可以達到0.0001。
4.3.1.3 修改雜交算子由于編碼方式的改變,雜交算子可以設計為具有數值特點的向量的線性組合。
通常表示為如下形式:若有兩個個體Sa、Sb雜交,則產生的個體為儲層特征研究與預測其中u的取值在(0,1),也可根據情況適當縮小取值范圍。
當u取常數時,雜交算子即為一致雜交,當u隨代數變化時,雜交算子則為非一致雜交。在遺傳算法中,隨著迭代次數的增加,個體的平均性能逐步提高,個體間的差異縮小。
為了防止個體趨向一致,影響算法的收斂性能,本文對u作了如下改變,令儲層特征研究與預測其中t為當前代數,T為預置最大代數,隨著代數的增加,u從1到0變化,完成雜交的漸變過程。
4.3.1.4 修改變異算子設個體x=(v1,v2,…,vn),則每個分量以一定概率進行變異,一次變異后的結果為(v1,…,,…,vn),1<=K<=n,的值按下面的隨機方式決定:儲層特征研究與預測式中:LB,UB為第K個變量的左、右鄰居,函數Δ(t,y)返回(0,y)上的一個值,并使這個值隨著代數t的增大而接近于0,這樣選取的函數允許這個算子在算法的開始階段一致搜索整個空間,而在算法的后階段進行局部搜索。
儲層特征研究與預測式中:r為[0,1]上的隨機數,T為預置的最大代數,t為當前代數,b是決定非一致程度的參數,這里取為0.5。
4.3.1.5 成熟前收斂問題成熟前收斂是指GA不能再產生性能超過父代的后代,盡管尚未達到全局最優解,主要表現形式是連續數代或數十代適應值不發生變化。
它與其他方法中的局部極值問題很相似,但又不同,因為它并不一定出現在局部極小點。目前解決這一問題的方法主要有:重新啟動法、動態參數編碼法、混合法等。
為了便于程序表現,我們引進了一個動態記憶窗口W,W用來記錄從當前代開始最優目標值保持連續不變的代數。當W達到某個給定的值時,就認為出現了成熟前收斂,這時就令雜交算子和變異算子突然增大,實現基因的重組。
當然用這種方法來判別收斂問題是不嚴格的,對一個算法收斂性能的評價主要應體現在時間復雜性和空間復雜性上。
對于像GA這樣帶有隨機搜索性質的具體方法,理論上說,只有當隨機數字完全取盡,目標值仍未改變才可認為是成熟前收斂。但在實際中是不可能這樣做的。
因此可根據隨機數的總個數,每次計算出最多取多少個隨機參數,來大致估算所需的次數,這個次數就可認為是動態記憶機制W。4.3.2 遺傳BP網絡結構遺傳算法一般可以通過兩種方式應用到神經網絡中。
一種方式是利用遺傳算法訓練已知結構的網絡,優化網絡的連接權;另一種方式是利用遺傳算法尋找網絡的規模、結構和學習參數。
目前這種方法在理論上還不完全成熟,尋優機理、學習效率等有待進一步研究,離實際應用還有一定的距離。對多層前饋神經網絡,目前用得最多的學習算法是BP算法。
然而由于BP本身固有的學習機理的限制,從根本上改進BP算法是很困難的。
BP的學習過程實際上是連接權的重組優化過程,因此在保持網絡結構的前提下,尋找一種能使連接權達到最優組合的學習方法,具有一定的實際意義。
利用GA的優點來克服BP算法收斂慢和易局部收斂的缺陷,同時與BP算法的結合,也解決了單獨利用GA往往只能在短時間內尋找到接近最優解的近優解這一問題,引入BP算法的梯度信息將會避免這種現象。
GA與BP算法可以有多種不同的組合方法:先BP后GA:先用BP培訓一個預先選定結構的ANN(人工神經網絡)直到平均誤差不再有意義地減少時為止,然后在此基礎上再用GA進行若干代的優化。
重復進行這樣的搜索,直到誤差范圍達到滿意的要求或者發現搜索不收斂為止。這種組合方法的基本思想是先用BP確定使誤差函數取極小值的參數組合在參數空間的位置,再利用GA擺脫掉可能的局部極小。
應用這種組合必須事先選定ANN的結構。即只能用它確定ANN的連接權重。顯然,如果事先選擇的ANN結構不合理或有關的參數(如學習率等)不合適,可能會導致搜索不收斂。
先GA后BP:先用GA反復優化描述ANN模型的參數組合,直到適應函數的平均不再有意義地增加為止。在此基礎上再用 BP算法對它們進行優化。
這種組合方法的基本思想是先用GA粗選ANN模型,再用 BP算法精細與優化。
這種組合方法的優點是通用性好,既可像前一組合方法那樣用來優選指定結構下的部分參數,也可用來優選其他的參數,例如 ANN 的結構、學習率等,甚至還可用于優選它們的組合。
圖4-4 GABP結構圖上面兩種組合GA與 BP的方法是比較基本的兩種,以它們為基礎可以衍生出多種具體的實現方案。
但由于 BP 算法本身也有許多參數需要選定,而且選擇方法也無規則可循,因而組合 GA 與BP在一定程度上也使待解決的問題更加復雜化。
為此,這里提出了一種改進的GABP方法,即利用 BP網絡的非線性分類能力和網絡結構來設計分類器,將遺傳學習的結果直接送入網絡,不再經過BP優化,通過網絡結構輸出結果。
這種改進既體現了系統的非線性,與前面的處理方法相銜接,又通過GA的學習優化了權值,提高了運算速度。該網絡為一個三層 BP 網絡,結構如圖4-4所示。
4.3.3 遺傳BP計算過程遺傳BP算法的具體步驟:(1)隨機產生N組(-1,1)區間內取值的初始網絡權值。
(2)用BP算法對這N組始值分別進行訓練,若這N組權值中至少已有一組滿足精度要求,則算法結束;否則轉入步驟(3)。
(3)分別依據經過訓練的這N組較好的權值所對應的上下限確定取值區間,在區間內再隨機生產成N組新的權限,連同經過訓練的N組權值在一起,構成一個完整的基因群體,共2*N組權值。
(4)從這2*N組權值進行選擇、交叉、變異等遺傳操作。(5)從經過遺傳操作的這2*N組權值中選出N組較好的,回復到步驟(2)。圖4-5 改進的 GABP計算流程圖GABP的計算過程圖如圖4-5所示。
遺傳算法為什么可以優化bp神經網絡?
粒子群算法,模擬退火算法,遺傳算法,神經網絡有關聯嗎?
hopfield神經網絡和遺傳算法的不同點
兩者不同的地方非常多吖,或者說,兩者根本就沒有多少相同的。hopfield網絡,基本上是設置了一個機制,使每次能量都下跌。
而遺傳算法,則非常的不同,是種群搜索的機制,先初始化一堆的解,然后每次按概述讓優秀解進入下一代(注意到,有可能有不優秀的也可以進入,而hopfield是每一代能量都會下跌),下一代再通過交叉和變異等機制,產生新的一代。
由于每次競選下一代都會讓優秀的更大概率通過,所以按概率,每一代都會比上一代更優秀 ,就這樣,最后進化到中夠優秀的一代。 兩者同是通過數次跌代,最后趨于穩定。
但兩者不同,遺傳算法是每一代是一個種群,而hopfield是一個個體。遺傳算法每一代允許更差的情況,有助于跳出局部最成。
而hopfield每次能量都是下跌的,有貪婪算法的味道 ,一般不能跳出局部最優。這樣。《神經網絡之家》
?
總結
以上是生活随笔為你收集整理的人工神经网络与遗传算法,神经网络和算法的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式硬件从接杜邦线起-杜邦头接线实操①
- 下一篇: Win11 22581.1安装错误0x8