當前位置:編程學習大全網 - 編程語言 - 遺傳神經網絡識別原理

遺傳神經網絡識別原理

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所示。

  • 上一篇:explorer.exe發生應用程序意外錯誤:誰解釋壹下? 好解釋加100分
  • 下一篇:寫作文用卡紙制作家具的過程
  • copyright 2024編程學習大全網