感知器(perceptron) 是一種用於線性可分資料集的二類分類器演算法。這種演算法的侷限性很大:
只能將資料分為 2 類
資料必須是線性可分的
雖然有這些侷限,但是感知器是 ann 和 svm 的基礎,理解了感知器的原理,對學習ann 和 svm 會有幫助,所以還是值得花些時間的。
感知器可以表示為 f:
rn→ 的對映函式。其中
f 的形式如下: f(
x)=s
ign(
w.x+
b)其中,w
和 b 都是
n 維向量,是感知器的模型引數。感知器的訓練過程其實就是求解w和
b 的過程。正確的
w 和
b 所構成的超平面 w.
x+b=
0 恰好將兩類資料點分割在這個平面的兩側。誤分類的點(x
i,yi
) ,則 xi
距離超平面的距離為: 1|
|w||
|w⋅x
i+b|
,其中 ||
w|| 為
w 的 l2
範數。由於 |yi
|=1 ,因此上式恰好等於 −y
i(w⋅
xi+b
)||w
||定義損失函式為所有誤分類資料點到超平面的距離之和。 l0
(w,b
)=−1
||w|
|∑xi
∈myi
(w⋅x
i+b)
如果沒有誤分類點,則 l(
w,b)
=0。感知器的訓練演算法就是求取使得 l(
w,b)
=0的
w 和
b 。
大多數教科書上給出的感知機 si
gn(w
⋅x+b
) 學習的損失函式定義為: l(
w,b)
=−∑x
i∈my
i(w⋅
xi+b
) 可以看到這個定義去掉了分母的 ||
w|| 。當 ||
w||≠
0 時,l0
(w,b
)=0 和 l(
w,b)
=0是等價的。而感知器的訓練演算法可以保證最終求得的
w 滿足條件 ||
w|| 。所以這樣定義損失函式倒也沒有問題。
1.感知機學習演算法的原始形式:
訓練集: t=
,xi∈
rn,y
i∈,求引數 w,
b ,使得
minw,b
l(w,
b)=minw,
b⎡⎣−
∑xi∈
myi(
w⋅xi
+b)⎤
⎦ - 假設誤分類點集合 m 是固定的,則損失函式 l(
w,b)
的梯度由: ∇w
l(w,
b)=−
∑xi∈
myix
i∇bl
(w,b
)=−∑
xi∈m
yi
這兩個梯度給出的是損失函式增長的方向。後面使用時需用反方向。可以證明,如果資料是線性可分的,那麼這種演算法是收斂的。也就是說經過有限步迭代,會求出能夠正確分類的 w,
b 。
除了原始演算法外,感知器還有所謂的對偶形式。這裡就不多介紹了。需要進一步了解的可以參考李航寫的《統計學習方法》一書。
學習筆記 感知器 單層感知器舉例
在人體神經網路中,神經細胞是有著基本處理訊號功能的基本單元,單層感知器就是人工神經網路中模擬人體神經細胞的基本單元。單層感知器 單層感知器是最簡單的神經網路,它包含輸入層和輸出層,訊號先經過線性組合器處理然後再經過啟用函式,最後輸出結果。1 輸入節點 input 輸入節點是訊號的輸入端,感知器可以有...
機器學習 感知器
x x1,x 2,x3 xd y i 1d wixi bi 這裡求和出的結果就是用這些特徵計算出來的總分,如果我們假定y threshold時,最終結果為1。否則y h x s ign i 1d w ixi th resh old 這個公式稱為perceptron hypothesis。1 可以對上...
機器學習 簡單感知器
簡單感知器由乙個線性組合器和硬限幅器 即sgn函式,判斷是正數返回1,負數返回 1 組成,線性組合器有m個輸入,m個輸入權值,乙個偏置,影象表述如下 用數學方法表述就是y wixi b,i 1,2,3 m,如果sgn y 1,則分為第一類,否則分為第二類。感知器一般只做出兩類判別。上述表示式可以簡寫...