當前位置:股票大全官網 - 股票投資 - 神經網絡BP模型

神經網絡BP模型

壹、BP模型概述

誤差反向傳播神經網絡模型簡稱BP(Back-Propagation)神經網絡模型。

1974年,Pall Werbas博士在博士論文中提出了壹種誤差反向傳播學習算法。由Rumelhart和McCelland領導的科學家小組提出了完整的誤差反向傳播學習算法,並被廣泛接受。他們在1986出版的《並行分布式處理,認知的微觀結構探索》壹書中,對誤差反向傳播學習算法做了詳細的分析和介紹,並對這種算法的潛在能力做了深入的探討。

BP網絡是具有三層或更多層的分級神經網絡。上下層之間的神經元是全連接的,即下層的每壹個神經元都與上層的每壹個神經元相連,但各層神經元之間沒有連接。網絡是老師教的。當給網絡提供壹對學習模式時,神經元的激活值通過隱層從輸入層傳播到輸出層,輸出層的每個神經元獲得網絡的輸入響應。之後根據減小期望輸出與實際輸出誤差的方向,從輸入層通過隱層逐層修正連接權值,最終返回輸入層,故命名為“誤差反向傳播學習算法”。隨著誤差反向傳播的不斷修正,網絡響應輸入模式的正確率也在提高。

BP網絡主要用於以下幾個方面:

1)函數逼近:學習壹個網絡用輸入模式和對應的期望輸出模式來逼近壹個函數;

2)模式識別:將其與具有特定期望輸出模式的輸入模式相關聯;

3)分類:以定義的和適當的方式對輸入模式進行分類;

4)數據壓縮:降低輸出向量的維數,以便於傳輸或存儲。

在人工神經網絡的實際應用中,80% ~ 90%的人工神經網絡模型采用BP網絡或其變體,這也是前向網絡的核心部分,體現了人工神經網絡最本質的部分。

二、BP模型的原理

讓我們以三層BP網絡為例來說明學習和應用的原理。

1.數據定義

p為學習模式(xp,dp),p = 1,2,…,p;

輸入模式矩陣X[N][P]=(x1,x2,…,XP);

目標模式矩陣d[M][P]=(d1,d2,…,dP)。

三層BP網絡結構

輸入層神經元節點數S0=N,I = 1,2,…,S0;

隱層神經元個數為S1,j=1,2,…,s 1;

神經元激活函數f 1[s 1];

權重矩陣w 1[s 1][s0];

偏差向量b1[S1]。

輸出層神經元節點數S2=M,k = 1,2,…,S2;

神經元激活函數F2[S2];

權重矩陣w2[S2][s 1];

偏差矢量b2[S2]。

學習參數

目標誤差?;

初始權重更新值δ0;

最大權重更新值δδmax;;

權重更新值增加多個η+;

權重更新值減少了多個η-。

2.誤差函數的定義

第p種輸入模式的誤差計算公式為

中國礦產資源評價新技術和新模式

Y2kp是BP網絡的計算輸出。

3.3的推導。BP網絡學習公式

BP網絡學習公式的指導思想是修正網絡的權值w和偏差b,使誤差函數沿負梯度方向遞減,直到網絡的輸出誤差精度達到目標精度要求,學習結束。

各層產量的計算公式

輸入層

y0i=xi,i=1,2,…,S0;

隱蔽層

中國礦產資源評價新技術和新模式

y1j=f1(z1j),

j=1,2,…,s 1;

輸出層

中國礦產資源評價新技術和新模式

y2k=f2(z2k),

k=1,2,…,S2 .

輸出節點誤差公式

中國礦產資源評價新技術和新模式

輸出層節點梯度公式的推導

中國礦產資源評價新技術和新模式

e是多個Y2M的函數,但只有壹個y2k與wkj相關,每個Y2M相互獨立。

在…之中

中國礦產資源評價新技術和新模式

規則

中國礦產資源評價新技術和新模式

讓輸出層節點誤差為

δ2k =(dk-y2k)F2′(z2k),

規則

中國礦產資源評價新技術和新模式

同理。

中國礦產資源評價新技術和新模式

隱含層節點梯度公式的推導

中國礦產資源評價新技術和新模式

e是壹些y2k函數。對於某個w1ji,對應壹個y1j,關系到所有的y2k。因此,上式中只有k的和,其中

中國礦產資源評價新技術和新模式

規則

中國礦產資源評價新技術和新模式

讓隱藏層節點錯誤成為

中國礦產資源評價新技術和新模式

規則

中國礦產資源評價新技術和新模式

同理。

中國礦產資源評價新技術和新模式

4.使用彈性BP算法(RPROP)計算權重W和偏差b的校正值δW和δb。

1993德國的Martin Riedmiller和Heinrich Braun在他們的論文《快速反向傳播學習的直接自適應方法:RPROP算法》中提出了彈性反向傳播算法——彈性BP算法。該方法試圖消除梯度對權重步長的有害影響,因此只考慮梯度的符號來指示權重更新的方向。

權重變化的大小只由權重的特殊“更新值”決定。

中國礦產資源評價新技術和新模式

其中,它表示在模式集的所有模式(批量學習)上相加的梯度信息,並且(t)表示第t次或第t次學習。

權重更新遵循以下規則:如果導數為正(增加誤差),則權重減少其更新值。如果導數為負,則更新值增加。

中國礦產資源評價新技術和新模式

RPROP算法實現了根據局部梯度信息直接修改權值步長。對於每項權利,我們介紹其

每個更新值單獨決定權重更新值的大小。這是壹個基於符號相關性的自適應過程,它基於

根據以下學習規則更新誤差函數e的局部梯度信息。

中國礦產資源評價新技術和新模式

其中0 < η-< 1

在每壹個時刻,如果目標函數的梯度改變了它的符號,這意味著最後壹次更新太大,更新值應該減少權重更新值減少因子η-;如果目標函數的梯度保持其符號,則應該通過將加權更新值乘以因子η+來增加更新值。

為了減少可自由調節參數的數量,增大系數η+和減小系數η–被設置為固定值。

η+=1.2,

η-=0.5,

這兩種價值觀在大量的實踐中取得了良好的效果。

RPROP算法采用兩個參數:初始權重更新值δ 0和δ最大權重更新值δ max。

學習開始時,所有的更新值都設置為初始值δ0,因為它直接決定了前壹個權重步長的大小,要根據權重本身的初始值來選擇,例如δ0 = 0.1(默認設置)。

為了防止權重變得過大,設置δ最大權重更新值限制δ max,默認上限設置為

max = 50.0 .

在許多實驗中,發現通過將最大權重更新值max設置為相對較小的值,例如

δmax = 1.0 .

我們可以實現誤差減少的平滑性能。

5.計算校正重量W和偏差b。

第t次學習,權重w和偏差b的修正公式

W(t)= W(t-1)+δW(t),

b(t)= b(t-1)+δb(t),

其中t是學習的次數。

6.成功完成6的條件。BP網絡學習:每次學習累積誤差的平方和。

中國礦產資源評價新技術和新模式

每次研究的平均誤差

中國礦產資源評價新技術和新模式

當平均誤差MSE < ε時,BP網絡學習成功結束。

7.BP網絡應用預測

應用BP網絡時,將網絡輸入提供給輸入層,應用給定的BP網絡和BP網絡學習得到的權值w和偏差b。網絡輸入經過從輸入層到輸出層的“下行傳播”過程,計算出BP網絡的預測輸出。

8.神經元激活函數f

線性函數

f(x)=x,

f′(x)= 1,

f(x)的輸入範圍(-∞,+∞)和輸出範圍(-∞,+∞)。

壹般用在輸出層,可以讓網絡輸出任意值。

S型函數S(x)

中國礦產資源評價新技術和新模式

f(x)的輸入範圍(-∞,+∞)和輸出範圍(0,1)。

f′(x)= f(x)[1-f(x)],

f′(x)的輸入範圍(-∞,+∞)和輸出範圍(0,)。

壹般用於隱層,可以使(-∞,+∞)範圍內的輸入成為(0,1)的網絡輸出,對於較大的輸入放大倍數較小;對於較小的輸入,放大因子較大,因此可以用來處理和近似非線性輸入/輸出關系。

用於模式識別時,可用於輸出層,產生接近0或1的二進制輸出。

雙曲正切s型函數

中國礦產資源評價新技術和新模式

f(x)的輸入範圍(-∞,+∞)和輸出範圍(-1,1)。

f′(x)= 1-f(x)f(x),

f′(x)的輸入範圍(-∞,+∞)和輸出範圍(0,1)。

壹般用於隱層,能使(-∞,+∞)範圍內的輸入成為(-1,1)的網絡輸出,對較大的輸入放大倍數較小;對於較小的輸入,放大因子較大,因此可以用來處理和近似非線性輸入/輸出關系。

階梯函數

1型

中國礦產資源評價新技術和新模式

f(x)的輸入範圍為(-∞,+∞),輸出範圍為{0,1}。

f′(x)= 0 .

類型2

中國礦產資源評價新技術和新模式

f(x)的輸入範圍為(-∞,+∞),輸出範圍為{-1,1}。

f′(x)= 0 .

斜坡函數

1型

中國礦產資源評價新技術和新模式

f(x)的輸入範圍(-∞,+∞)和輸出範圍[0,1]。

中國礦產資源評價新技術和新模式

f′(x)的輸入範圍(-∞,+∞)和輸出範圍{0,1}。

類型2

中國礦產資源評價新技術和新模式

f(x)的輸入範圍(-∞,+∞)和輸出範圍[-1,1]。

中國礦產資源評價新技術和新模式

f′(x)的輸入範圍(-∞,+∞)和輸出範圍{0,1}。

三、整體算法

1.三層BP網絡(包括輸入層、隱層和輸出層)用權重W和偏差b初始化整體算法。

(1)輸入參數X[N][P],S0,S1,f1[S1],S2,F2[S2];

(2)計算輸入模式X[N][P]的各變量的最大值和最小值矩陣Xmax[N]和xmin[N];

(3)隱層權重為W1,偏差b1初始化。

案例1:隱層激活函數f()是雙曲正切S型函數。

1)計算輸入模式X[N][P]各變量的範圍向量xrng[N];

2)計算輸入模式x的每個變量的距離均值向量xmid [n];

3)計算振幅因子Wmagw和b的;

4)生成S0×1維隨機數矩陣RAND [S1]均勻分布在[-1]之間;

5)生成均值為0、方差為1的正態分布隨機數矩陣RANDNR [S1 × S0] [S0],隨機數範圍約為[-1,1];

6)計算W[S1][S0]和B[s 1];

7)計算隱含層的初始化權重(w 1[s 1][S0];

8)計算隱含層的初始化偏差b 1[s 1];

9))輸出W1[S1][S0],b1[S1]。

情況二:隱層激活函數f()都是S形函數。

1)計算輸入模式X[N][P]各變量的範圍向量xrng[N];

2)計算輸入模式x的每個變量的距離均值向量xmid [n];

3)計算振幅因子Wmagw和b的;

4)生成S0×1維隨機數矩陣RAND [S1]均勻分布在[-1]之間;

5)生成均值為0、方差為1的正態分布隨機數矩陣RANDNR [S1 × S0] [S0],隨機數範圍約為[-1,1];

6)計算W[S1][S0]和B[s 1];

7)計算隱含層的初始化權重(w 1[s 1][S0];

8)計算隱含層的初始化偏差b 1[s 1];

9)輸出W1[S1][S0],b1[S1]。

情況3:隱藏層激活函數f()是另壹個函數。

1)計算輸入模式X[N][P]各變量的範圍向量xrng[N];

2)計算輸入模式x的每個變量的距離均值向量xmid [n];

3)計算振幅因子Wmagw和b的;

4)生成S0×1維隨機數矩陣RAND [S1]均勻分布在[-1]之間;

5)生成均值為0、方差為1的正態分布隨機數矩陣RANDNR [S1 × S0] [S0],隨機數範圍約為[-1,1];

6)計算W[S1][S0]和B[s 1];

7)計算隱含層的初始化權重(w 1[s 1][S0];

8)計算隱含層的初始化偏差b 1[s 1];

9)輸出W1[S1][S0],b1[S1]。

(4)輸出該層的權重W2並初始化偏差b2。

1)生成S2×S1維隨機數矩陣W2 [S2] [S1]均勻分布在[-1]之間;

2)生成均勻分布在[-1,1]之間的S2×1維隨機數矩陣B2[S2];

3)輸出W2[S2][S1],b2[S2]。

2.應用彈性BP算法(RPROP)學習三層BP網絡(包括輸入層、隱含層和輸出層)的權值W和偏差B的整體算法。

函數:Train3BP_RPROP(S0,x,p,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)。

(1)輸入參數

p為模式(xp,dp),p = 1,2,…,p;

三層BP網絡結構;

學習參數。

(2)學習初始化

1) ;

2)將每層W和B的梯度值初始化為零矩陣。

(3)從輸入模式x計算每層的輸出y0,y1,y2和第壹學習平均誤差MSE

(4)進入學習周期

紀元=1

(5)判斷每個學習誤差是否滿足目標誤差要求。

如果MSE <

然後,跳出紀元循環,

請轉到(12)。

(6)存儲通過第壹時間點-1學習生成的每層W和B的梯度值,

(7)在第壹歷元學習中找到每層W和B的梯度值,

1)求各層誤差反向傳播值δ;

2)求第p次各層W和B的梯度值;

3)求p = 1,2,…,p模式生成的W和B的梯度值的累加。

(8)如果epoch=1,則將epoch-1中學習的各層W和B的梯度值設置為epoch學習中生成的各層W和B的梯度值。

(9)找到每個層W和b的更新。

1)更新權重更新值δij;

2)求w和b的權重更新值;

3)在第壹歷元學習校正之後找到層W和B。

(10)使用修改的層W和B,從x計算每層的輸出y0,y1,y2和歷元學習誤差MSE。

(11)紀元=紀元+1,

如果epoch≤MAX_EPOCH,轉到(5);

否則,請轉到(12)。

(12)輸出處理

1)如果MSE < ε,

然後學習滿足目標誤差要求,輸出W1,b1,W2,b2。

2)如果MSE≥ε,

然後學習不滿足目標誤差要求,重新學習。

(13)結束

3.三層BP網絡(包括輸入層、隱含層和輸出層)的整體預測算法

首先用Train3lBP_RPROP()學習三層BP網絡(包括輸入層、隱層和輸出層)的權值w和偏差b,然後用三層BP網絡(包括輸入層、隱層和輸出層)進行預測。

函數:Simu3lBP()。

1)輸入參數:

p個待預測的輸入數據向量xp,p = 1,2,…,p;

三層BP網絡結構;

通過學習得到的每壹層的權重w和偏差b。

2)計算P個輸入數據向量XP的網絡輸出y2[S2][P](P = 1,2,...P),並輸出預測結果y2[S2][P]。

四、總體算法流程圖

BP網絡的整體算法流程圖見附圖2。

動詞 (verb的縮寫)數據流圖

BP網絡的數據流圖見附圖1。

不及物動詞例子

實例1 BP模型對中國銅化探異常數據的分類

1.中國銅化探異常數據的準備

基於全國銅地球化學數據的銅異常下限值為33.1,生成全國銅地球化學異常數據。

2.模型數據準備

根據中國銅礦異常地球化學數據,選取7大類33個礦點的地球化學數據作為模型數據。這七種類型分別是巖漿銅礦、斑巖銅礦、矽卡巖銅礦、海相火山銅礦、陸相火山銅礦、變質銅礦和海相沈積銅礦,並增加了壹個沒有銅異常的模型(表8-1)。

3.測試數據準備

國家地球化學數據用作測試數據集。

4.BP網絡結構

隱層數為2,輸入層到輸出層的向量維數分別為14,9,5,1。學習率設為0.9,系統誤差為1e-5。沒有動量項。

表8-1型號數據表

繼續的

5.計算結果圖表

如圖8-2和圖8-3所示。

圖8-2

圖by BP模型對中國銅礦類型分類示意圖

實例2:用BP模型對全國金礦數量和品位數據進行分類

1.模型數據準備

根據全國金礦儲量級別數據,選取了4大類34個礦床數據作為模型數據,分別是綠巖型金礦、與中酸性浸巖有關的熱液型金礦、微細浸染型金礦和火山熱液型金礦(表8-2)。

2.測試數據準備

以模型樣本點和部分金礦的金屬量、礦石量和品位數據作為測試數據集。

3.BP網絡結構

輸入層是三維的,隱藏層是1,隱藏層是三維的,輸出層是四維的。學習率設置為0.8,系統誤差為1e-4,叠代次數為5000次。

表8-2模型數據

4.計算結果

結果如表8-3和8-4所示。

表8-3培訓和學習結果

表8-4預測結果(部分)

繼續的