誤差反向傳播神經網絡模型簡稱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預測結果(部分)
繼續的