感知機是支持向量機SVM和神經網絡的基礎算法
f = sign(wx+b)網絡
這樣看起來好像是LR是差很少的,LR是用的sigmoid函數,PLA是用的sign符號函數,二者都是線性分類器,主要的差異在於策略不一樣,即損失函數不一樣。函數
LR是用的均方偏差,PLA是用的誤分類點到分離超平面的總距離。學習
感知機模型:spa
f = sign(wx+b)基礎
幾何解釋:神經網絡
wx+b = 0是一個超平面s,w是s的法向量,b是超平面的截距。方法
理想狀況下,s把正負類分開。co
感知機學習策略:參數
損失函數的選取是:誤分類點到超平面s的總距離
空間中一個點x0到s的距離:
|wx0+b|/||w||
誤分類點到s的距離:
-y0*(wx0+b)/||w||
不考慮係數||w||,那麼損失函數是:
L(w,b) = -Σyi(wxi+b),其中(xi,yi)是誤分類點
PLA的算法也就是解損失函數的最小值的方法是隨機梯度降低法
損失函數L的梯度:
gradwL = -Σyixi
gradbL = -Σyi
1.選取初始參數w,b
2.從誤分類點中隨機選取一組:(xi,yi)
3.更新w = w + ηyixi
b = b + ηyi
4.再挑選誤分類點,再更新,直到沒有誤分類點