神經網絡中w,b參數的作用(為何需要偏置b的解釋)


http://blog.csdn.net/xwd18280820053/article/details/70681750

可視圖講解神經元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,就還是上面的分類問題,假如我現在的樣本點是如下這種:

 

 

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

 

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM