5.2 感知机和多层网络
5.2 感知機和多層網絡
-
感知機(perception)由兩層神經元組成,如圖5.3所示,輸入層接受外界輸入信號后傳遞給輸出層,輸出層是M-P神經元,亦稱為“閾值邏輯單元“
-
感知機能夠容易的實現邏輯 AND OR NOT,注意到 y = f(求和wixi - 誰他i),假設f是圖5.2的階躍函數,有
- AND x1 ∩ x2 w1=w2=1 誰他=2,此時1*1+1*1-2 =0,此時y=1
- OR x1 或 x2 w1=w2=1 誰他=1 只要有一個1,那么結果就是大于等于0,此時 y=1
- NOT 非x1 w1 =-0.6,w2= 0,誰他 =-0.5,如果x1 =0,結果為0.5 y=1; 如果x1=1 ,結果為 -0.1 結果為0
-
更加一般的,給定訓練數據集,權重wi(i=1,2,3,n)以及閾值誰他可以通過學習得到,閾值誰他可以看作是一個固定輸入為 -1.0 的啞節點所對應連接權重w n+1,這樣權重和閾值的學習就可以統一為權重的學習。感知機學習規則非常的簡單,對于訓練樣例(x,y),當感知機輸入為y_hat,則感知機將這樣調整
- wi 👈 wi+▲wi
- ▲wi = 學習率(y - y_hat) xi
-
其中學習率范圍是0-1,從式子中可以看出來,如果感知機對訓練的樣本(x,y)預測正確,即y = y_hat,則感知機不會發生變化。否則將根據錯誤的程度進行權重的調整
-
需要注意的是,感知機只有輸出層神經元進行激活函數處理,即只擁有一層功能神經元,其學習能力非常有限。事實上,上述AND,OR,NOT問題都是線性可分問題。即存在一個線性超平面能夠將他們分開來,如下圖所示,感知機的學習過程一定會收斂,而求得適當的權向量 w = (w1,w2,wn+1),否則感知機學習過程將會發生震蕩,w難以穩定下倆,不能求得合適的解。例如感知機甚至不能解決OR NOT 這樣的非線性可分問題(非線性可分意味著使用線性超平面無法劃分)
- 要解決非線性可分問題,需要考慮使用多層功能神經元,例如圖5.5中這個簡單的兩層感知機就能解決 OR NOT問題。在圖5.5中,輸入層和輸出層之間的一層神經元,被稱作隱層或者是隱含層(hidden layer),隱含層和輸出層神經元都是擁有激活函數的功能神經元
- 更加一般的是,常見的神經網絡是如圖5.6所示的層級結構,每層神經元與下一層神經元互連,神經元之間不存在同層連接。也不存在跨層連接,這樣的神經網絡通常被稱為多層前饋神經網絡,其中輸入層神經元接受外界輸入,隱層與輸出層神經元對信號進行加工,最終結果由輸出層神經元輸出,換言之,輸出層神經元僅僅是接受輸入,不進行函數的處理,隱層和輸出層包含功能神經元。因此,圖5.6(a)通常被稱為兩層網絡,為避免企業,本書稱之為”單隱層網絡“,只需要包含隱層,即可稱之為多層網絡,神經元的學習過程,就是根據訓練數據來調整神經元之間的連接權以及每個功能神經元的閾值,換言之,神經網絡學習到的東西,蘊藏在連接權和閾值中。
總結
以上是生活随笔為你收集整理的5.2 感知机和多层网络的全部內容,希望文章能夠幫你解決所遇到的問題。