神經網路4 BP神經網路

2021-09-07 20:36:45 字數 2400 閱讀 5400

上一次我們講了m-p模型,它實際上就是對單個神經元的一種建模,還不足以模擬人腦神經系統的功能。由這些人工神經元構建出來的網路,才能夠具有學習、聯想、記憶和模式識別的能力。bp網路就是一種簡單的人工神經網路。我們的第二話就從bp神經網路開始漫談吧。

「時勢造英雄」,乙個偉大的人物的登場總是建立在歷史的需求之下,所以我們剖析乙個人,得先看看他的出身時代。同樣的道理,在講bp網路的特性和用途之前,我們需要先了解一下它的**和誕生原因,以便理解它的重要性。

在2023年,美國心理學家frank rosenblatt提出一種具有單層計算單元的神經網路,稱為感知器(perceptron)。它其實就是基於m-p模型的結構。我們可以看看它的拓撲結構圖。

這個結構非常簡單,如果你還記得前面所講的m-p神經元的結構的話,這個圖其實就是輸入輸出兩層神經元之間的簡單連線(如果忘了可以看看第一話的模型示意圖)。

由第一話的(2)中我們知道輸入層各節點的輸入加權和

net′j=∑i=1nωijxi

netj′=∑i=1nωijxi

我們一般採用符號函式來當作單層感知器的傳遞函式,即輸出

oj=sgn(net′j−tj)=sgn(∑i=0nωijxi)=sgn(wtjx)

oj=sgn(netj′−tj)=sgn(∑i=0nωijxi)=sgn(wjtx)

公式(2)可以進一步表達為:

oj=2=12∑κ=1ℓ2

e=12∑κ=1ℓ2=12∑κ=1ℓ2

由上式可以看出,網路輸入誤差是各層權值ωjκ

ωjκ、υij

υij的函式,因此調整權值可改變誤差 e

e。 顯然,調整權值的原則是使誤差不斷減小,因此應使權值與誤差的梯度下降成正比,即

δωjκ=−η∂e∂ωjκj=0,1,2,…,m;κ=1,2,…,ℓ

δωjκ=−η∂e∂ωjκj=0,1,2,…,m;κ=1,2,…,ℓ

δυij=−η∂e∂υiji=0,1,2,…,n;j=1,2,…,m

δυij=−η∂e∂υiji=0,1,2,…,n;j=1,2,…,m

對於一般多層感知器,設共有 h

h 個隱層,按前向順序各隱層節點數分別記為 m1,m2,…,mh

m1,m2,…,mh,各隱層輸出分別記為 y1,y2,…,yh

y1,y2,…,yh,各層權值矩陣分別記為 w1,w2,…,wh,wh+1

w1,w2,…,wh,wh+1,則各層權值調整公式為

輸出層δωh+1jκ=ηδh+1κyhj=η(dκ−oκ)oκ(1−oκ)yκjj=0,1,2,…,mh;κ=1,2,…,ℓ

δωjκh+1=ηδκh+1yjh=η(dκ−oκ)oκ(1−oκ)yjκj=0,1,2,…,mh;κ=1,2,…,ℓ

第 hh 隱層

δωhij=ηδhjyhi−1=η(∑lκ=1δoκωh+1jκyκj(1−ykjappa)yhi−1i=0,1,2,…,m(h−1);j=1,2,…,mh

按以上規律逐層類推,則第一隱層權值調整公式

δω1pq=ηδ1qχp=η(∑m2r=1δ2rω2qr)y1q(1−y1q)χpp=0,1,2,…,n;j=1,2,…,m1

δωpq1=ηδq1χp=η(∑r=1m2δr2ωqr2)yq1(1−yq1)χpp=0,1,2,…,n;j=1,2,…,m1

容易看出,bp學習演算法中,各層權值調整公式形式上都是一樣的,均由3個因素決定,即:

其中輸入層誤差訊號與網路的期望輸出與實際輸出之差有關,直接反應了輸出誤差,而各隱層的誤差訊號與前面各層的誤差訊號有關,是從輸出層開始逐層反傳過來的。

可以看出bp演算法屬於δ

δ學習規則類,這類演算法常被稱為誤差的梯度下降演算法。δ

δ學習規則可以看成是widrow-hoff(lms)學習規則的一般化(generalize)情況。lms學習規則與神經元採用的變換函式無關,因而不需要對變換函式求導,δ

δ學習規則則沒有這個性質,要求變換函式可導。這就是為什麼我們前面採用sigmoid函式的原因。

綜上所述,bp三要素如圖13所示。

由於bp網路具有出色的非線性對映能力、泛化能力和容錯能力,因此bp網路成了至今為止應用最廣泛的人工神經網路。圖14是matlab下用bp網路做線性擬合的結果,效果很好。

BP神經網路

基本bp神經網路演算法包括 訊號的前向傳播 誤差的反向傳播 也即計算實際輸出時按照輸入到輸出的方向進行,權值閾值調整則相反。bp是一種多層前饋神經網路,由輸入層 隱含層和輸出層組成。層與層之間有兩種訊號在流動 一種是從輸入流向輸出的工作訊號,是輸入和權值的函式 另一種是輸入流向輸出的訊號,即誤差。隱...

BP神經網路

x 為輸入向量,y為隱藏層的神經元,z 為輸出層,d為目標真實值,本文預設 z 不經過sigmod處理。x y的權重為 w,y z的權重為 v yj ix iwij 1 oyi f y j 2 其中激勵函式f x 1 1 e x f x f x 1 f x 3 z k j f yj vjk 此時系統...

BP神經網路

bp是back propagation bp神經網路主要的演算法在於誤差反向傳播error backpropagation 有三層 輸入層 input 隱含層 hidden 輸出層 output 輸入層 n個神經元 隱含層 p個神經元 輸出層 q個神經元 輸入向量 x x1,x2,x n 隱含層輸入...