閒談:感知器學習算法(The perceptron learning algorithm)

這一節我們簡單地介紹歷史上的著名算法——感知器算法,這在後面的學習理論中也會有所提及。設想我們改變邏輯迴歸算法,“迫使”它只能輸出-1或1抑或其他定值。在這種情況下,之前的邏輯函數g 就會變成閾值函數sign

sign(z)={11if z0if z<0

如果我們令假設爲hθ(x)=g(θTx) ,將其帶入之前的迭代法中:

θj:=θj+α(y(i)hθ(x(i)))x(i)j.

至此我們就得出了感知器學習算法。在19世紀60年代,感知器被認爲是大腦中神經元工作的初步模型。需要注意的是雖然感知器模型和我們之前的算法形式上很相似,但它實際上和線性迴歸等算法是完全不同類型的算法。尤其你很難像線性迴歸一樣給感知器概率論上的有效闡述或極大似然估計的推導。

感知器模型的另一種闡述

數據集的線性可分性

給定一個數據集

T={(x1,y1),(x2,y2),...,(xN,yN)}

其中,xiXRn,yiY={+1,1},i=1,2,...,N ,如果存在某個超平面S
wx+b=0

能夠將數據集的正實例點和負實例點完全正確地劃分到超平面的兩側,則稱數據集T爲線性可分數據集。

感知機學習策略

假設數據集是線性可分的,感知機學習的目標是求得一個能夠將訓練集正負實例點完全分開的超平面。爲了找出這樣的超平面,即確定感知機的模型參數wb ,需要定義一個損失函數(成本函數)並將損失函數極小化。

損失函數的一個自然選擇是誤分類點的個數。但這樣的損失函數不是參數wb 的連續可到函數,不易優化。損失函數的另一個選擇是誤分類點到超平面的距離,這時感知機所採用的。
首先寫出空間Rn 中任一點x0 到超平面S的距離:

1w|wx0+b|

這裏wwL2 範數。對於誤分類點則有:
yi(wxi+b)>0

所以誤分類點到超平面的距離是
1xyi(wxi+b)

那麼所有誤分類點到超平面的距離爲
1xxiMyi(wxi+b)

不考慮1x ,就得到感知機學習的損失函數。感知機sign(wx+b) 學習的損失函數定義爲

L(w,b)=xiMyi(wxi+b)

使用隨機梯度下降法優化模型,則有:

wL(w,b)bL(w,b)=xiMyixi=xiMyi

沒碰到一個誤分類點(xi,yi) ,對w,b 進行更新:

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