感知器與梯度下降(一)

上一篇博客講述了感知器分類的學習過程,想看文章詳細請點擊 深度學習-感知器是怎麼學習分類的?這是基於離散型的感知器來分析的,就是說感知器的輸出結果是1或者0,表示分類的結果,藍色的分類代表1,紅色的分類代表0,輸出的結果只有0和1兩種,對於感知器的學習過程,wx+b>0 則輸出1,否則輸出0。

今天我們來說一說梯度下降,如果將學習模型的誤差函數比作是一座山,那麼剛開始時候誤差比較大,就好比人在山頂,想將誤差的值逐步降下來,就想這個人想從山頂下山到山腳下,降低誤差的學習過程就好像下山的過程。

那麼上圖中,人在山頂要下山,怎麼才能以最快的速度下山呢?就需要他環顧四周看下他周圍哪個方向下山的坡度最大,選擇下降高度最大的方向下山,下一步之後然後再看看這時候哪個方向的下山坡度最大,選擇坡度最大的方向再下一步,如此循環操作,直到到達山腳下位置,這個過程就是梯度下降的。

放到計算機學習的模型裏,比如一個分類的模型,最開始時候隨機生成了一條分隔線,此時的誤差肯定是比較大的,如何調整曲線的方向和位置,使得誤差值迅速變小,就可以採用上面梯度下降的思想,在數學的概念中,就是沿着誤差函數的導數的反方向進行調整是最快的調整方式,這時候就要求誤差函數是連續可導的,梯度下降不適合離散型和不可導的情況。

但是,之前的感知器都是離散型的,沒辦法使用梯度下降法,所以,對感知器引入了sigmoid函數(也叫s函數),其作用是將感知器wx+b 的值作爲Sigmoid 函數的輸入,然後得出相應的一個小數的值。公式如下:

函數曲線如下:

可以看出函數的取值在(0,1),當輸入爲 0時候,取值爲0.5

Sigmoid 函數出來的值是一個小數,代表的是一個概率

上面的兩個圖的對比就能看出其中的含義了,當wx+b=0 時候,Sigmoid 函數後是0.5,就是代表在這個wx+b=0的這條直線上的點是藍色點的概率是0.5,同樣,是紅色點的概率也是0.5

通過sigmoid函數,感知器的離散型變成了連續型

那麼如何判斷兩個模型的好壞呢?我們採用的是極大似然法

來比較一下上圖中左右兩個模型表現的好壞吧!

假設每個點的顏色值是獨立事件,那麼每個點都是對應顏色的概率是:

左:P(左) = 0.1*0.7*0.2*0.6 = 0.0084

右:P(右)=0.8*0.6*0.7*0.9 = 0.3024

 可以看出左邊的概率很小,右邊的概率要比左邊的大很多,右邊的模型要好很多,在模型學習的過程中,就是逐步往最優的模型靠近的過程,也就是讓概率達到最大值的過程,這就是極大似然率的概念。

由於概率的計算是小數乘積的形式,所以當點數非常多的時候計算的值會非常非常小,很不方便比較,於是採用自然對數和的形式來表示,由於概率的值在(0,1),所以他的對數都小於0,因此採用對數的相反數的和來表示,也就是交叉熵,交叉熵越小代表模型的誤差越小,模型表現越好,相反,交叉熵越大,模型表現越差。

右邊模型的交叉熵是1.2,比左邊的4.8小,因此右邊的模型表現比較好。概率和誤差函數之間肯定有一定的聯繫,這種聯繫叫做交叉熵 

誤差函數的公式如下:

 由上面的公式可以看出,誤差函數是關於權重w和b 的函數,我們要找到w`和b` 使得誤差變爲最小,這一過程稱爲最小化誤差函數,而最小化誤差函數的方法可以採用梯度下降法,下一篇我們來推導一下梯度下降法的公式,比較一下他和感知器的公式的區別和聯繫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章