感知機(percetron)

[+]

       感知機學習旨在求出將訓練數據集進行線性劃分的分類超平面,爲此,導入了基於誤分類的損失函數,然後利用梯度下降法對損失函數進行極小化,從而求出感知機模型。感知機模型是神經網絡和支持向量機的基礎。下面分別從感知機學習的模型、策略和算法三個方面來介紹。

1. 感知機模型

      感知機模型如下:

f(x)= sign(w*x+b)

      其中,x爲輸入向量,sign爲符號函數,括號裏面大於等於0,則其值爲1,括號裏面小於0,則其值爲-1。w爲權值向量,b爲偏置。求感知機模型即求模型參數w和b。感知機預測,即通過學習得到的感知機模型,對於新的輸入實例給出其對應的輸出類別1或者-1。

2. 感知機策略

      假設訓練數據集是線性可分的,感知機學習的目標就是求得一個能夠將訓練數據集中正負實例完全分開的分類超平面,爲了找到分類超平面,即確定感知機模型中的參數w和b,需要定義一個損失函數並通過將損失函數最小化來求w和b。

       這裏選擇的損失函數是誤分類點到分類超平面S的總距離。輸入空間中任一點x0到超平面S的距離爲:

其中,||w||爲w的L2範數。

        其次,對於誤分類點來說,當-y(wxi + b)>0時,yi=-1,當-yi(wxi + b)<0時,yi=+1。所以對誤分類點(xi, yi)滿足:

-y(wxi +b) > 0

所以誤分類點(xi, yi)到分類超平面S的距離是:

3. 感知機算法

       感知機學習問題轉化爲求解損失函數式(1)的最優化問題,最優化的方法是隨機梯度下降法。感知機學習算法是誤分類驅動的,具體採用隨機梯度下降法。首先,任意選取一個超平面w0,b0,然後用梯度下降法不斷極小化目標函數式(1)。極小化的過程不是一次使M中所有誤分類點的梯度下降,而是一次隨機選取一個誤分類點使其梯度下降。

       損失函數L(w,b)的梯度是對w和b求偏導,即:

其中,(0<<=1)是學習率,即學習的步長。綜上,感知機學習算法如下:

        這種算法的基本思想是:當一個實例點被誤分類,即位於分類超平面錯誤的一側時,則調整w和b,使分類超平面向該誤分類點的一側移動,以減少該誤分類點與超平面的距離,直到超平面越過該誤分類點使其被正確分類爲止。

       需要注意的是,這種感知機學習算法得到的模型參數不是唯一的,它會由於採用不同的參數初始值或選取不同的誤分類點,而導致解不同。爲了得到唯一的分類超平面,需要對分類超平面增加約束條件,線性支持向量機就是這個想法。另外,當訓練數據集線性不可分時,感知機學習算法不收斂,迭代結果會發生震盪。而對於線性可分的數據集,算法一定是收斂的,即經過有限次迭代,一定可以得到一個將數據集完全正確劃分的分類超平面及感知機模型。

       以上是感知機學習算法的原始形式,下面介紹感知機學習算法的對偶形式,對偶形式的基本想法是,將w和b表示爲實例xi和標記yi的線性組合形式,通過求解其係數而求得w和b。對誤分類點(xi, yi)通過


所以,感知機學習算法的對偶形式如下:



筆記來源於《統計學習方法》——李航著
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章