1. 程式人生 > >神經網路中引數權重w,偏置b的作用(為何需要偏置b的解釋)

神經網路中引數權重w,偏置b的作用(為何需要偏置b的解釋)


可檢視講解神經元w,b引數的作用

在我們接觸神經網路過程中,很容易看到就是這樣一個式子,g(wx+b),其中w,x均為向量.比如下圖所示:



加入啟用函式為g(x),我們就可以用公式g(w1x1+w2x2+b)(注:1,2均為下標,公眾號很難打,下面所有的公式均是)來表示神經元的輸出。

其中b為神經元的偏置.那麼w,b這些引數的作用有沒有最直觀的感受呢?以及我當時學習的時候問師兄的,每個神經元為什麼要加上偏置b,不加又有什麼後果呢?

下面通過二維視覺化圖來直觀說明一下它們的作用:

加入我們啟用函式用的是sigmoid函式,它的影象如下:



我們很容易看到sigmoid函式的作用是將輸入對映到一個(0,1)的輸出範圍

現在我們還是有一個簡單的任務,需要將下面三角形和圓形進行分類:



利用上面神經元訓練可以得到一個直線,去線性分開這些資料點.方程如下:

w1x1+w2x2+b=0,我們就可以得到下面這條類似的直線去線性分割好倆種不同型別的資料點.



那麼這條邊界找到了.而這個邊界是w1x1+w2x2+b=0的方程,而w1x1+w2x2+b是作為啟用函式sigmoid的輸入處理.

啟用函式將這個輸入對映到(0,1)的範圍內.那麼可以增加一個維度來表示啟用函式的輸出.

我們認為g(x)>0.5就為正類(這裡指圓形),g(x)<0.5就為負類,這裡指三角形類.得到的三維圖如下:第三維z可以看成是一種類別!(比如圓形就是+1、三角形就是-1)



圖來自:Hugo Larochelle課程ppt

那麼就可以真正的視覺化說明一下w.b等引數的作用在圖中是怎麼體現的~

我們從上圖很容易得到,當我們將這個三維圖進行投影的時候,就是我們上個用直線分割好倆類的平面圖,三維圖中的那個分割平面投影下來就是方程w1x1+w2x2+b=0.

右邊輸出為1的部分就是說w1x1+w2x2+b>0,導致啟用函式輸出>0.5,從而分為正類( 圓形類),左邊輸出為-1的部分就是說w1x1+w2x2+b<0,導致啟用函式輸出<0.5,從而分為負類( 三角形類

1  w引數的作用

其中w引數的作用,我們可以得到,是決定那個分割平面的方向所在.分割

平面的投影就是直線w1x1+w2x2+b=0

我們解釋如下,在二個輸入中,可以得到w=[w1,w2],令方程w1x1+w2x2+b=0,那麼該直線的斜率就是-w1/w2。隨著w1,w2的變動,直線的方向也在改變,那麼分割平面的方向也在改變~

2  b引數的作用

其中b引數的作用,是決定豎直平面沿著垂直於直線方向移動的距離,當b>0的時候,直線往左邊移動,當b<0的時候,直線往右邊移動.

我們通過例子解釋如下:首先我們可以肯定是直線方向不變,因為我們沒有動斜率的任何引數,只是改變b,要說明的就是為什麼當b>0的時候,直線往左邊移動,當b<0的時候,直線往右邊移動.

假設我們有直線方程x1+x2-3=0,畫出這個影象如下:


此時我們將b減小到0,影象變為如下:


我們從上面影象中很容易得到結論:

當b>0的時候,直線往左邊移動,當b<0的時候,直線往右邊移動.

有了b引數視覺化作用之後,我們很容易解決我一開始的問題.每個神經元為什麼要加上偏置b,不加又有什麼後果呢?下面通過二維視覺化圖來直觀說明一下它們的作用:

3  每個神經元為什麼要加上偏置

我先不說為什麼一定要加入偏置b,就還是上面的分類問題,假如我現在的樣本點是如下這種:



此時我們希望得到的線性方程分割線是下面這種,能夠正確的將倆類進行分開:



到這個時候,我想我們已經明白了,如果沒有偏置的話,我們所有的分割線都是經過原點的,但是現實問題並不會那麼如我們所願.都是能夠是經過原點線性可分的。

原文來源:作者:憶臻

可檢視講解神經元w,b引數的作用

        </div>