1、神經網路BP模型
一、BP模型概述
誤差逆傳播(Error Back-Propagation)神經網路模型簡稱為BP(Back-Propagation)網路模型。
Pall Werbas博士於1974年在他的博士論文中提出了誤差逆傳播學習演算法。完整提出並被廣泛接受誤差逆傳播學習演算法的是以Rumelhart和McCelland為首的科學家小組。他們在1986年出版「Parallel Distributed Processing,Explorations in the Microstructure of Cognition」(《並行分布信息處理》)一書中,對誤差逆傳播學習演算法進行了詳盡的分析與介紹,並對這一演算法的潛在能力進行了深入探討。
BP網路是一種具有3層或3層以上的階層型神經網路。上、下層之間各神經元實現全連接,即下層的每一個神經元與上層的每一個神經元都實現權連接,而每一層各神經元之間無連接。網路按有教師示教的方式進行學習,當一對學習模式提供給網路後,神經元的激活值從輸入層經各隱含層向輸出層傳播,在輸出層的各神經元獲得網路的輸入響應。在這之後,按減小期望輸出與實際輸出的誤差的方向,從輸入層經各隱含層逐層修正各連接權,最後回到輸入層,故得名「誤差逆傳播學習演算法」。隨著這種誤差逆傳播修正的不斷進行,網路對輸入模式響應的正確率也不斷提高。
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,…,S1;
神經元激活函數f1[S1];
權值矩陣W1[S1][S0];
偏差向量b1[S1]。
輸出層神經元節點數S2=M,k=1,2,…,S2;
神經元激活函數f2[S2];
權值矩陣W2[S2][S1];
偏差向量b2[S2]。
學習參數
目標誤差ϵ;
初始權更新值Δ0;
最大權更新值Δmax;
權更新值增大倍數η+;
權更新值減小倍數η-。
2.誤差函數定義
對第p個輸入模式的誤差的計算公式為
中國礦產資源評價新技術與評價新模型
y2kp為BP網的計算輸出。
3.BP網路學習公式推導
BP網路學習公式推導的指導思想是,對網路的權值W、偏差b修正,使誤差函數沿負梯度方向下降,直到網路輸出誤差精度達到目標精度要求,學習結束。
各層輸出計算公式
輸入層
y0i=xi,i=1,2,…,S0;
隱含層
中國礦產資源評價新技術與評價新模型
y1j=f1(z1j),
j=1,2,…,S1;
輸出層
中國礦產資源評價新技術與評價新模型
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 在他們的論文「A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm」中,提出Resilient Backpropagation演算法——彈性BP演算法(RPROP)。這種方法試圖消除梯度的大小對權步的有害影響,因此,只有梯度的符號被認為表示權更新的方向。
權改變的大小僅僅由權專門的「更新值」
確定
中國礦產資源評價新技術與評價新模型
其中
表示在模式集的所有模式(批學習)上求和的梯度信息,(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.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)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9))輸出W1[S1][S0],b1[S1]。
情形2:隱含層激活函數f( )都是S型函數
1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];
2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
情形3:隱含層激活函數f( )為其他函數的情形
1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];
2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
(4)輸出層的權值W2,偏差b2初始化
1)產生[-1,1]之間均勻分布的S2×S1維隨機數矩陣W2[S2][S1];
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)進入學習循環
epoch=1
(5)判斷每次學習誤差是否達到目標誤差要求
如果MSE<ϵ,
則,跳出epoch循環,
轉到(12)。
(6)保存第epoch-1次學習產生的各層W,b的梯度值
,
(7)求第epoch次學習各層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)求第epoch次學習修正後的各層W,b。
(10)用修正後各層W、b,由X求第epoch次學習各層輸出y0,y1,y2及第epoch次學習誤差MSE
(11)epoch=epoch+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(p=1,2,…,P)的網路輸出 y2[S2][P],輸出預測結果y2[S2][P]。
四、總體演算法流程圖
BP網路總體演算法流程圖見附圖2。
五、數據流圖
BP網數據流圖見附圖1。
六、實例
實例一 全國銅礦化探異常數據BP 模型分類
1.全國銅礦化探異常數據准備
在全國銅礦化探數據上用穩健統計學方法選取銅異常下限值33.1,生成全國銅礦化探異常數據。
2.模型數據准備
根據全國銅礦化探異常數據,選取7類33個礦點的化探數據作為模型數據。這7類分別是岩漿岩型銅礦、斑岩型銅礦、矽卡岩型、海相火山型銅礦、陸相火山型銅礦、受變質型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。
3.測試數據准備
全國化探數據作為測試數據集。
4.BP網路結構
隱層數2,輸入層到輸出層向量維數分別為14,9、5、1。學習率設置為0.9,系統誤差1e-5。沒有動量項。
表8-1 模型數據表
續表
5.計算結果圖
如圖8-2、圖8-3。
圖8-2
圖8-3 全國銅礦礦床類型BP模型分類示意圖
實例二 全國金礦礦石量品位數據BP 模型分類
1.模型數據准備
根據全國金礦儲量品位數據,選取4類34個礦床數據作為模型數據,這4類分別是綠岩型金礦、與中酸性浸入岩有關的熱液型金礦、微細浸染型型金礦、火山熱液型金礦(表8-2)。
2.測試數據准備
模型樣本點和部分金礦點金屬量、礦石量、品位數據作為測試數據集。
3.BP網路結構
輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學習率設置為0.8,系統誤差1e-4,迭代次數5000。
表8-2 模型數據
4.計算結果
結果見表8-3、8-4。
表8-3 訓練學習結果
表8-4 預測結果(部分)
續表
2、神經網路模型
你自行搭建的神經網路模型,權值和閾值仍然是要通過訓練得到的。初始化後,將BP演算法加到這個模型上,不斷調整權值。可以先用神經網路工具箱訓練好一個網路,再將權值和閾值導出。
net.IW{1,1}=W1;注意要反過來,如果是導出的話。
3、有哪些深度神經網路模型?
卷積神經元(Convolutional cells)和前饋神經元非常相似,除了它們只跟前一神經細胞層的部分神經元有連接。因為它們不是和某些神經元隨機連接的,而是與特定范圍內的神經元相連接,通常用來保存空間信息。這讓它們對於那些擁有大量局部信息,比如圖像數據、語音數據(但多數情況下是圖像數據),會非常實用。
解卷積神經元恰好相反:它們是通過跟下一神經細胞層的連接來解碼空間信息。這兩種神經元都有很多副本,它們都是獨立訓練的;每個副本都有自己的權重,但連接方式卻完全相同。可以認為,這些副本是被放在了具備相同結構的不同的神經網路中。這兩種神經元本質上都是一般意義上的神經元,但是,它們的使用方式卻不同。
池化神經元和插值神經元(Pooling and interpolating cells)經常和卷積神經元結合起來使用。它們不是真正意義上的神經元,只能進行一些簡單的操作。
池化神經元接受到來自其它神經元的輸出過後,決定哪些值可以通過,哪些值不能通過。在圖像領域,可以理解成是把一個圖像縮小了(在查看圖片的時候,一般軟體都有一個放大、縮小的功能;這里的圖像縮小,就相當於軟體上的縮小圖像;也就是說我們能看到圖像的內容更加少了;在這個池化的過程當中,圖像的大小也會相應地減少)。這樣,你就再也不能看到所有的像素了,池化函數會知道什麼像素該保留,什麼像素該舍棄。
插值神經元恰好是相反的操作:它們獲取一些信息,然後映射出更多的信息。額外的信息都是按照某種方式製造出來的,這就好像在一張小解析度的圖片上面進行放大。插值神經元不僅僅是池化神經元的反向操作,而且,它們也是很常見,因為它們運行非常快,同時,實現起來也很簡單。池化神經元和插值神經元之間的關系,就像卷積神經元和解卷積神經元之間的關系。
均值神經元和標准方差神經元(Mean and standard deviation cells)(作為概率神經元它們總是成對地出現)是一類用來描述數據概率分布的神經元。均值就是所有值的平均值,而標准方差描述的是這些數據偏離(兩個方向)均值有多遠。比如:一個用於圖像處理的概率神經元可以包含一些信息,比如:在某個特定的像素裡面有多少紅色。舉個例來說,均值可能是0.5,同時標准方差是0.2。當要從這些概率神經元取樣的時候,你可以把這些值輸入到一個高斯隨機數生成器,這樣就會生成一些分布在0.4和0.6之間的值;值離0.5越遠,對應生成的概率也就越小。它們一般和前一神經元層或者下一神經元層是全連接,而且,它們沒有偏差(bias)。
循環神經元(Recurrent cells )不僅僅在神經細胞層之間有連接,而且在時間軸上也有相應的連接。每一個神經元內部都會保存它先前的值。它們跟一般的神經元一樣更新,但是,具有額外的權重:與當前神經元之前值之間的權重,還有大多數情況下,與同一神經細胞層各個神經元之間的權重。當前值和存儲的先前值之間權重的工作機制,與非永久性存儲器(比如RAM)的工作機制很相似,繼承了兩個性質:
第一,維持一個特定的狀態;
第二:如果不對其持續進行更新(輸入),這個狀態就會消失。
由於先前的值是通過激活函數得到的,而在每一次的更新時,都會把這個值和其它權重一起輸入到激活函數,因此,信息會不斷地流失。實際上,信息的保存率非常的低,以至於僅僅四次或者五次迭代更新過後,幾乎之前所有的信息都會流失掉。
4、神經網路Kohonen模型
一、Kohonen模型概述
1981年芬蘭赫爾辛基大學Kohonen教授提出了一個比較完整的,分類性能較好的自組織特徵影射(Self-Organizing Feature Map)人工神經網路(簡稱SOM網路)方案。這種網路也稱為Kohonen特徵影射網路。
這種網路模擬大腦神經系統自組織特徵影射功能,它是一種競爭式學習網路,在學習中能無監督地進行自組織學習。
二、Hohonen模型原理
1.概述
SOM網路由輸入層和競爭層組成。輸入層神經元數為N,競爭層由M=R×C神經元組成,構成一個二維平面陣列或一個一維陣列(R=1)。輸入層和競爭層之間實現全互連接。
SOM網路的基本思想是網路競爭層各神經元競爭對輸入模式的響應機會,最後僅有一個神經元成為競爭的勝者,並對那些與獲勝神經元有關的各連接權朝著更有利於它競爭的方向調整,這一獲勝神經元就表示對輸入模式的分類。
SOM演算法是一種無教師示教的聚類方法,它能將任意輸入模式在輸出層映射成一維或二維離散圖形,並保持其拓撲結構不變。即在無教師的情況下,通過對輸入模式的自組織學習,在競爭層將分類結果表示出來。此外,網路通過對輸入模式的反復學習,可以使連接權矢量空間分布密度與輸入模式的概率分布趨於一致,即連接權矢量空間分布能反映輸入模式的統計特徵。
2.網路權值初始化
因為網路輸入很可能出現在中間區,因此,如果競爭層的初始權值選擇在輸入空間的中間區,則其學習效果會更加有效。
3.鄰域距離矩陣
SOM網路中的神經元可以按任何方式排列,這種排列可以用表示同一層神經元間的Manhattan距離的鄰域距離矩陣D來描述,而兩神經元的Manhattan距離是指神經元坐標相減後的矢量中,其元素絕對值之和。
4.Kohonen競爭學習規則
設SOM網路的輸入模式為Xp=(
,
,…,
),p=1,2.…,P。競爭層神經元的輸出值為Yj(j=1,2,…,M),競爭層神經元j與輸入層神經元之間的連接權矢量為
Wj=(wj1,wj2,…,wjN),j=1,2,…,M。
Kohonen網路自組織學習過程包括兩個部分:一是選擇最佳匹配神經元,二是權矢量自適應變化的更新過程。
確定輸入模式Xp與連接權矢量Wj的最佳匹配的評價函數是兩個矢量的歐氏距離最小,即
,j=1,2,…,M,]]
g,確定獲勝神經元g。
dg=mjin(dj),j=1,2,…,M。
求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的輸出。
中國礦產資源評價新技術與評價新模型
dgm為鄰域距離矩陣D的元素,為競爭層中獲勝神經元g與競爭層中其它神經元的距離。
求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的權值修正值。
中國礦產資源評價新技術與評價新模型
式中:i=1,2,…,N;
lr為學習速率;
t為學習循環次數。
Δwjt(t+1)的其餘元素賦值為0。
進行連接權的調整
wji(t+1)=wji(t)+Δwji(t+1)。
5.權值學習中學習速率及鄰域距離的更新
(1)SOM網路的學習過程分為兩個階段
第一階段為粗學習與粗調整階段。在這一階段內,連接權矢量朝著輸入模式的方向進行調整,神經元的權值按照期望的方向在適應神經元位置的輸入空間建立次序,大致確定輸入模式在競爭層中所對應的影射位置。一旦各輸入模式在競爭層有了相對的影射位置後,則轉入精學習與細調整階段,即第二階段。在這一階段內,網路學習集中在對較小的范圍內的連接權進行調整,神經元的權值按照期望的方向在輸入空間伸展,直到保留到他們在粗調整階段所建立的拓撲次序。
學習速率應隨著學習的進行不斷減小。
(2)鄰域的作用與更新
在SOM網路中,腦神經細胞接受外界信息的刺激產生興奮與抑制的變化規律是通過鄰域的作用來體現的鄰域規定了與獲勝神經元g連接的權向量Wg進行同樣調整的其他神經元的范圍。在學習的最初階段,鄰域的范圍較大,隨著學習的深入進行,鄰域的范圍逐漸縮小。
(3)學習速率及鄰域距離的更新
在粗調整階段,
學習參數初始化
最大學習循環次數 MAX_STEP1=1000,
粗調整階段學習速率初值 LR1=1.4,
細調整階段學習速率初值 LR2=0.02,
最大鄰域距離 MAX_ND1=Dmax,
Dmax為鄰域距離矩陣D的最大元素值。
粗調階段
學習循環次數step≤MAX_STEP1,
學習速率lr從LR1調整到LR2,
鄰域距離nd 從MAX_ND1調整到1,
求更新系數r,
r=1-step/MAX_STEP1,
鄰域距離nd更新,
nd=1.00001+(MAX_ND1-1)×r。
學習速率lr更新,
lr=LR2+(LR1-LR2)×r。
在細調整階段,
學習參數初始化,
最大學習循環次數 MAX_STEP2=2000,
學習速率初值 LR2=0.02,
最大鄰域距離 MAX_ND2=1。
細調階段
MAX_STEP1<step≤MAX_STEP1+MAX_STEP2,
學習速率lr慢慢從LR2減少,
鄰域距離nd設為1,
鄰域距離nd更新,
nd=MAX_ND2+0.00001。
學習速率lr更新,
lr=LR2×(MAX_STEP1/step)。
6.網路的回想——預測
SOM網路經學習後按照下式進行回想:
中國礦產資源評價新技術與評價新模型
Yj=0,j=1,2,…,M,(j≠g)。
將需要分類的輸入模式提供給網路的輸入層,按照上述方法尋找出競爭層中連接權矢量與輸入模式最接近的神經元,此時神經元有最大的激活值1,而其它神經元被抑制而取0值。這時神經元的狀態即表示對輸入模式的分類。
三、總體演算法
1.SOM權值學習總體演算法
(1)輸入參數X[N][P]。
(2)構造權值矩陣W[M][N]。
1)由X[N][P]求Xmid[N],
2)由Xmid[N]構造權值W[M][N]。
(3)構造競爭層。
1)求競爭層神經元數M,
2)求鄰域距離矩陣D[M][M],
3)求矩陣D[M][M]元素的最大值Dmax。
(4)學習參數初始化。
(5)學習權值W[M][N]。
1)學習參數學習速率lr,鄰域距離nd更新,分兩階段:
(i)粗調階段更新;
(ii)細調階段更新。
2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。
(i)求X[N][p]與W[m][N]的歐氏距離dm;
(ii)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。
3)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其在鄰域距離nd內的神經元的輸出Y[m][p]。
4)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其
在鄰域距離nd內的神經元的權值修正值ΔW[m][N],
從而得到輸入模式X[N][p]產生的權值修正值ΔW[M][N]。
5)權值修正W[M][N]=W[M][N]+ΔW[M][N]。
6)學習結束條件:
(i)學習循環到MAX_STEP次;
(ii)學習速率lr達到用戶指定的LR_MIN;
(iii)學習時間time達到用戶指定的TIME_LIM。
(6)輸出。
1)學習得到的權值矩陣W[M][N];
2)鄰域距離矩陣D[M][M]。
(7)結束。
2.SOM預測總體演算法
(1)輸入需分類數據X[N][P],鄰域距離矩陣D[M][M]。
(2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。
1)求X[N][p]與W[m][N]的歐氏距離dm;
2)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。
(3)求獲勝神經元win[p]在競爭層排列的行列位置。
(4)輸出與輸入數據適應的獲勝神經元win[p]在競爭層排列的行列位置,作為分類結果。
(5)結束。
四、總體演算法流程圖
Kohonen總體演算法流程圖見附圖4。
五、數據流圖
Kohonen數據流圖見附圖4。
六、無模式識別總體演算法
假定有N個樣品,每個樣品測量M個變數,則有原始數據矩陣:
X=(xij)N×M,i=1,2,…,N,j=1,2,…,M。
(1)原始數據預處理
X=(xij)N×M處理為Z=(zij)N×M,
分3種處理方法:
1)襯度;
2)標准化;
3)歸一化。
程序默認用歸一化處理。
(2)構造Kohonen網
競爭層與輸入層之間的神經元的連接權值構成矩陣WQ×M。
WQ×M初始化。
(3)進入Kohonen網學習分類循環,用epoch記錄循環次數,epoch=1。
(4)在每個epoch循環中,對每個樣品n(n=1,2,…,N)進行分類。從1個樣品n=1開始。
(5)首先計算輸入層的樣品n的輸入數據znm(m=1,2,…,M)與競爭層Q個神經元對應權值wqm的距離。
(6)尋找輸入層的樣品n與競爭層Q個神經元的最小距離,距離最小的神經元Win[n]為獲勝神經元,將樣品n歸入獲勝神經元Win[n]所代表的類型中,從而實現對樣品n的分類。
(7)對樣品集中的每一個樣品進行分類:
n=n+1。
(如果n≤N,轉到5。否則,轉到8。)
(8)求分類後各神經元所對應的樣品的變數的重心,用對應的樣品的變數的中位數作為重心,用對應的樣品的變數的重心來更新各神經元的連接權值。
(9)epoch=epoch+1;
一次學習分類循環結束。
(10)如果滿足下列兩個條件之一,分類循環結束,轉到11;
否則,分類循環繼續進行,轉到4。
1)全部樣品都固定在某個神經元上,不再改變了;
2)學習分類循環達到最大迭代次數。
(11)輸出:
1)N個樣品共分成多少類,每類多少樣品,記錄每類的樣品編號;
2)如果某類中樣品個數超過1個,則輸出某類的樣品原始數據的每個變數的均值、最小值、最大值和均方差;
3)如果某類中樣品個數為1個,則輸出某類的樣品原始數據的各變數值;
4)輸出原始數據每個變數(j=1,2,…,M)的均值,最小值,最大值和均方差。
(12)結束。
七、無模式識別總體演算法流程圖
Kohonen無模式總體演算法流程圖見附圖5。
5、神經網路模型需要多少條數據
輸入指標是什麼意思。輸入維數嗎?數據一是這些數據有意義是一類的,或者說是有內部規律。數量上多一點好一點。訓練樣本個預測樣本2比1左右就好。學習過程要注意的是你的學習速率,這影響最優解的尋找。
6、神經網路挖掘模型與logistic回歸挖掘模型的不同點有哪些?
邏輯回歸有點像線性回歸,但是它是當因變數不是數字時使用。比如說因變數是布爾變數(如是/否響應),這時候就需要邏輯回歸。它稱為回歸,但實際上是是根據回歸進行分類,它將因變數分類為兩個類中的任何一個。
網頁鏈接
如上所述,邏輯回歸用於預測二進制輸出。例如,如果信用卡公司打算建立一個模型來決定是否向客戶發放信用卡,它將模擬客戶是否需要這張或者能夠承擔這張信用卡 。
它給出了事件發生概率的對數,以記錄未發生事件的概率。最後,它根據任一類的較高概率對變數進行分類。
而神經網路(Neutral Network)是通過數學演算法來模仿人腦思維的,它是數據挖掘中機器學習的典型代表。神經網路是人腦的抽象計算模型,我們知道人腦中有數以百億個神經元(人腦處理信息的微單元),這些神經元之間相互連接,是的人的大腦產生精密的邏輯思維。而數據挖掘中的「神經網路」也是由大量並行分布的人工神經元(微處理單元)組成的,它有通過調整連接強度從經驗知識中進行學習的能力,並可以將這些知識進行應用。
神經網路就像是一個愛學習的孩子,您教她的知識她是不會忘記而且會學以致用的。我們把學習集(Learning Set)中的每個輸入加到神經網路中,並告訴神經網路輸出應該是什麼分類。在全部學習集都運行完成之後,神經網路就根據這些例子總結出她自己的想法,到底她是怎麼歸納的就是一個黑盒了。之後我們就可以把測試集(Testing Set)中的測試例子用神經網路來分別作測試,如果測試通過(比如80%或90%的正確率),那麼神經網路就構建成功了。我們之後就可以用這個神經網路來判斷事務的分類了。
具體來說,」神經網路「是一組互相連接的輸入/輸出單元,其中每個連接都會與一個券種相關聯。在學習階段,通過調整這些連接的權重,就能夠預測輸入觀測值的正確類標號。因此可以理解為人工神經網路是由大量神經網路元通過豐富完善的連接、抽樣、簡化和模擬而形成的一種信息處理系統。
7、神經網路模型的數學模型
從神經元的特性和功能可以知道,神經元是一個多輸入單輸出的信息處理單元,而且,它對信息的處理是非線性的。根據神經元的特性和功能,可以把神經元抽象為一個簡單的數學模型。工程上用的人工神經元模型如圖1-4所示。
圖1-4 神經元的數學模型
在圖1-4中,X1,X2,……,Xn是神經元的輸入,即是來自前級n個神經元的軸突的信息A,Σ是i神經元的閾值;Wi1,Wi2……,Win分別是i神經元對X1,X2,……,Xn的權系數,也即突觸的傳遞效率;Yi是i神經元的輸出;f[·]是激發函數,它決定i神經元受到輸人X1,X2,……,Xn的共同刺激達到閥值時以何種方式輸出。
從圖1-4的神經元模型,可以得到神經元的數學模型表達式:
(1-1)
圖1-5.典型激發函數
對於激發函數f[·]有多種形式,其中最常見的有階躍型、線性型和S型三種形式,這三種形式如圖1—5所示。
為了表達方便;令:
(1-2)
則式(1-1)可寫成下式:
Yi=F[Ui] ; (1-3)
顯然,對於階躍型激發涵數有:
(1-4)
對於線性型激發函數,有:
f(Ui)=Ku; (1-5)
對於S型激發函數,有:
(1-6)
對於階躍型激發函數,它的輸出是電位脈沖,故而這種激發函數的神經元稱離散輸出模型。
對於線性激發函數,它的輸出是隨輸入的激發總量成正比的;故這種神經元稱線性連續型模型。
對於用s型激發函數,它的輸出是非線性的;故這種神經元稱非線性連續型模型。
上面所敘述的是最廣泛應用而且人們最熟悉的神經元數學模型;也是歷史最長的神經元模型。近若干年來,隨著神經網路理論的發展,出現了不少新穎的神經元數學模型,這些模型包括邏輯神經元模型,模糊神經元模型等,並且漸漸也受到人們的關注和重視。 能對商品價格、股票價格和企業的可信度等進行短期預測
另外,在數據挖掘、電力系統、交通、軍事、礦業、農業和氣象等方面亦有應用。
8、求預測一組數據的bp神經網路模型的matlab代碼
用matlab求預測一組數據的bp神經網路模型,可以分
1、給定已經數據,作為一個原始序列;
2、設定自回歸階數,一般2~3,太高不一定好;
3、設定預測某一時間段
4、設定預測步數
5、用BP自定義函數進行預測
6、根據預測值,用plot函數繪制預測數據走勢圖
其主要實現代碼如下:
clc
% x為原始序列(行向量)
x=[208.72 205.69 231.5 242.78 235.64 218.41];
%x=[101.4 101.4 101.9 102.4 101.9 102.9];
%x=[140 137 112 125 213 437.43];
t=1:length(x);
% 自回歸階數
lag=3;
%預測某一時間段
t1=t(end)+1:t(end)+5;
%預測步數為fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
A=[t1' P'];
disp('預測值')
disp(A)
% 畫出預測圖
figure(1),plot(t,iinput,'bo-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神經網路預測某地鐵線路客流量')
xlabel('月號'),ylabel('客流量(百萬)');
運行結果:
9、如下圖的神經網路模型圖是通過什麼軟體畫的?
可以用viznet