1. 程式人生 > >小川學習筆記--傳統神經網路

小川學習筆記--傳統神經網路

**

小川學習筆記–傳統神經網路

**

#本次筆記簡述

闊別近一個月之久,小川最近也在機器學習的道路行進了一步,雖然速度不算太快,但是至少還是有所感悟,各位看官們有沒有想念我呢。那麼,進入本次筆記的正題,近期小川學習了傳統神經網路和BP神經網路模型,對於神經網路有了個初步的接觸,所謂神經網路指的就是一個解決問題的演算法。

MP-模型

為了構建神經網路模型,我們需要首先思考大腦中的神經網路是怎樣進行的?每一個神經元都可以被認為是一個處理神經元/神經核,它含有許多輸入/樹突,並且有一個輸出/軸突,神經網路是大量神經元相互連線並通過電脈衝來交流的一個網路。
在這裡插入圖片描述
在生物神經網路中,每一個神經元與其他神經元相連,當它“興奮”時,就會向相連的神經元傳送化學物質,從而改變這些神經元內的電位;如果某神經元的電位超過了一個“閾值”,那麼他就會啟用,即“興奮”起來,向其他神經元傳送化學物質。
1.MP-模型


①下圖所示是一個“MP-神經元模型”:
MP-神經元模型
該模型將神經元簡化為了三個過程:輸入訊號線性加權,求和,非線性啟用(閾值法)。輸入可以類比為神經元的樹突,而輸出可以類比為神經元的軸突末梢,計算則可以類比為細胞核。

②如果將神經元圖中的所有變數用符號表示,可以寫出輸出的計算公式:
在這裡插入圖片描述
可見Z是在輸入和權值的線性加權疊加了一個函式g的值。這裡,已知的屬性稱之為特徵,未知的屬性稱之為目標。假設特徵與目標間確實是線性關係,並且我們已經得到表示這個關係的權值w1,w2,w3。那麼,我們就可以通過神經元模型預測新樣本的目標。

2.神經元啟用函式
理想中的啟用函式是階躍函式,它將輸入值對映為輸出值“0”或“1”,顯然“1”對應於神經興奮,“0”對應於神經抑制。然而,階躍函式具有不連續、不光滑等不太好的性質,因此實際常用sigmoid函式作為啟用函式。典型的sigmoid函式如下圖所示,他能把在較大範圍內變化的輸入值擠壓到(0,1)輸出值範圍內,因此有事也稱為“擠壓函式”。
在這裡插入圖片描述


3.感知機與多層神經網路
①感知機
感知機有兩層神經元組成,輸入吃呢個接受外界輸入訊號後傳遞給輸出層,輸出層是M-P神經元,亦稱“閾值邏輯單元”。
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
②多層神經網路
在這裡插入圖片描述
輸出公式可以改寫為:
g(W*a)=Z
這個公式就是神經網路從前一層計算後一層的矩陣計算。
在這裡插入圖片描述
兩層神經網路除了包含一個輸入吃呢個,一個輸出層意外,還增加了一箇中間層。此時,中間層和輸出層都是計算層。在右邊新加一個層次(只含有一個節點)。現在,我們的權值矩陣增加到了兩個,我們用上標來區分不同層次之間的變數。

在這裡插入圖片描述
在這裡插入圖片描述
神經元按照層來佈局,最左邊的層叫做輸入層,負責接收輸入資料;最右邊的層加輸出層,可以從這層獲取神經網路輸出資料。輸入層和輸出層之間叫做隱藏層,因為他們對於外部來說是不可兼得。同一層的神經元之間沒有連線,第N層的每個神經元和第N-1層的所有的所有神經元相連,第N-1層神經元的輸出就是第N層神經元的輸入,每一個連線都有一個權值。
在這裡插入圖片描述


3.誤差

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
4梯度下降
在這裡插入圖片描述
首先,我們隨便選擇一個點開始,比如左圖的點W0。每次迭代修改W為W1,W2,W3,經過數次迭代後最終到達函式最小值點。每次沿著梯度相反方向去修改的值,當然就能走到函式的最小值點附近。之所以是最小值附近而不是最小值那個點,是因為每次移動的步長都不會那麼恰到好處,有可能最後一次迭代走遠了越過了最小值那個點。步長的選擇是個難點,如果選小了,那麼就會迭代很多輪很多輪才能最小值附近;如果選擇大了,那可能就會越過最小值很遠,收斂不到一個好的點上。