感知器、logistic與svm 區別與聯絡

totoroer發表於2018-03-28

轉載自:這位博主

 

從感知器談起

對於典型的二分類問題,線性分類器的目的就是找一個超平面把正負兩類分開。對於這個超平面,我們可以用下面的式子來表示, 

ωTx+b=0ωTx+b=0


感知器是最簡單的一種線性分類器。用f(x)表示分類函式,感知器可以如下來表示。 

 

f(x)=sign(ωTx+b)f(x)=sign(ωTx+b)


感知器相當於一個階躍函式,如下圖所示,在0處有一個突變。 

 

損失函式是分類器優化的目標函式,可以用來衡量分類錯誤的程度,損失函式值越小,代表分類器效能越好。感知器的損失函式為誤分類點的函式間隔之和,函式間隔可以理解為樣本與分類超平面的距離。誤分類點距離分類超平面越遠,則損失函式值越大。只有誤分類的點會影響損失函式的值。 

L=−y(wTx+b)L=−y(wTx+b)

 


從感知器到logistic迴歸

感知器模型簡單直觀,但問題在於這個模型不夠光滑,比如如果對於一個新的樣本點我們計算出ω^T x+b=0.001,只比0大了一點點就會被分為正樣本。同時這個點在0處有一個階躍,導致這一點不連續,在數學上處理起來不方便。 
那有沒有辦法讓 ωTx+bωTx+b 到y的對映變得更加光滑呢,人們發現logistic函式有著這樣的特性,輸入範圍是−∞→+∞,而值域光滑地分佈於0和1之間。於是就有了logistic迴歸,正樣本點分類的超平面距離越遠,ωTx+bωTx+b 越大,而logistic函式值則越接近於1。負樣本點分類的超平面距離越遠,ωTx+bωTx+b 越小,而logistic函式值則越接近於0。 
這裡寫圖片描述

Logistic迴歸的損失函式為logistic損失函式,當分類錯誤時,函式間隔越大,則損失函式值越大。當分類正確時,樣本點距離超平面越遠,則損失函式值越小。所有的樣本點分佈情況都會影響損失函式最後的值。 

log(1+exp(−y(wTx+b)))log⁡(1+exp(−y(wTx+b)))

 


從感知器到SVM

在感知器分類選分類超平面時,我們可以選擇很多個平面作為超平面,而選擇哪個超平面最好呢,我們可以選擇距離正樣本和負樣本最遠的超平面作為分類超平面,基於這種想法人們提出了SVM演算法。SVM的損失函式為合頁函式,當分類錯誤時,函式間隔越大,則損失函式值越大。當分類正確且樣本點距離超平面一定距離以上,則損失函式值為0。誤分類的點和與分類超平面距離較近的點會影響損失函式的值。 

[1−y(wTx+b)]+[1−y(wTx+b)]+

 


感知器、logistic與SVM

三者都是線性分類器,而logistic和svm是由感知器發展改善而來的。區別在於三者的損失函式不同,後兩者的損失函式的目的都是增加對分類影響較大的資料點的權重,SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性對映,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的資料點的權重。下圖中紅色的曲線代表logistic迴歸的損失函式,綠色的線代表svm的損失函式。 
這裡寫圖片描述

 

相關文章