1. 程式人生 > >2-感知機學習演算法

2-感知機學習演算法

感知機(perceptron)是一個線性二分類模型,其目的是尋找一個超平面將正負示例劃分開,屬於判別模型,也是神經網路與SVM的基礎。

感知機模型

假設輸入空間為χRn,輸出空間為Υ{+1,1}。輸入xχ表示例項的特徵向量,輸出yΥ表示例項的類別。則下面的函式

f(x)=sign(wx+b)
稱為感知機,其中sign為符號函式,w為權值向量(weight vector),b為偏置(bias)。
wx+b=0,則所有的x形成一個空間χ上的超平面,將空間χ分為兩個部分,對於滿足
wx+b0
的例項感知機輸出+1,反之則輸出1

感知機學習策略

考察空間χ中任意一點x0,其到超平面wx+b=0的距離為1

1w|wx0+b|
由於w為常數,因此取損失函式為
L(w,b)=xiMyi(wxi+b)
其中M為誤分類點集合

學習演算法

由於

wL(w,b)=xiMyixibL(w,b)=xiMyi
因此從誤分類點中任取一點(xi
,yi)
得到感知機SGD的迭代公式
ww+ηyixibb+ηyi

演算法收斂性

給定線性可分資料集T,則

  1. 存在滿足條件w^opt=1的超平面