1. 程式人生 > 其它 >【ELMAN預測】基於ELMAN動態遞迴神經網路實現資料預測matlab原始碼

【ELMAN預測】基於ELMAN動態遞迴神經網路實現資料預測matlab原始碼

一、Elman神經網路介紹

1.特點
Elman神經網路是一種典型的動態遞迴神經網路,它是在BP網路基本結構的基礎上,在隱含層增加一個承接層,作為一步延時運算元,達到記憶的目的,從而使系統具有適應時變特性的能力,增強了網路的全域性穩定性,它比前饋型神經網路具有更強的計算能力,還可以用來解決快速尋優問題。
2.結構
Elman神經網路是應用較為廣泛的一種典型的反饋型神經網路模型。一般分為四層:輸入層、隱層、承接層和輸出層。其輸入層、隱層和輸出層的連線類似於前饋網路。輸入層的單元僅起到訊號傳輸作用,輸出層單元起到加權作用。隱層單元有線性和非線性兩類激勵函式,通常激勵函式取Signmoid非線性函式。而承接層則用來記憶隱層單元前一時刻的輸出值,可以認為是一個有一步遲延的延時運算元。隱層的輸出通過承接層的延遲與儲存,自聯到隱層的輸入,這種自聯方式使其對歷史資料具有敏感性,內部反饋網路的加入增加了網路本身處理動態資訊的能力,從而達到動態建模的目的。其結構圖如下圖1所示,

其網路的數學表示式為:



其中,y為m維輸出節點向量;x為n維中間層節點單元向量;u為r維輸入向量;​為n維反饋狀態向量;​為中間層到輸出層連線權值;​為輸入層到中間層連線權值;​為承接層到中間層連線權值;g()為輸出神經元的傳遞函式,是中間層輸出的線性組合;f()為中間層神經元的傳遞函式,常採用S函式。
3.與BP網路的區別
它是動態反饋型網路,它能夠內部反饋、儲存和利用過去時刻輸出資訊,既可以實現靜態系統的建模,還能實現動態系統的對映並直接反應系統的動態特性,在計算能力及網路穩定性方面都比BP神經網路更勝一籌。
4.缺點
與BP神經網路一樣,演算法都是採用基於梯度下降法,會出現訓練速度慢和容易陷入區域性極小點的缺點,對神經網路的訓練較難達到全域性最優。

二、演示程式碼

%網路引數配置
net.trainParam.epochs=1000;         % 訓練次數,這裡設定為1000次
net.trainParam.lr=0.01;                   % 學習速率,這裡設定為0.01
net.trainParam.goal=0.00001;                    % 訓練目標最小誤差,這裡設定為0.0001
net.trainParam.show=25;                % 顯示頻率,這裡設定為每訓練25次顯示一次
net.trainParam.mc=0.01;                 % 動量因子
net.trainParam.min_grad=1e-6;       % 最小效能梯度
net.trainParam.max_fail=6;               % 最高失敗次數

​三、模擬結果

程式碼結果和圖:

四、參考文獻及程式碼私信博主

《排土場沉降預測的Elman模型及_省略_性分析_以大寶山礦李屋排土場為例_寧志傑》