1. 程式人生 > >SVM和感知機的區別(轉載+自己筆記)

SVM和感知機的區別(轉載+自己筆記)

感知機和SVM的區別: 1、相同點 都是屬於監督學習的一種分類器(決策函式)。 2、不同點

感知機追求最大程度正確劃分,最小化錯誤,效果類似紫線,很容易造成過擬合。支援向量機追求大致正確分類的同時,一定程度上避免過擬合,效果類似下圖中的黑線。

感知機使用的學習策略是梯度下降法,感知機的目標是: minwbL(w,b)=xiMyi(wxi+b)min_{w,b}L(w,b)=-\sum_{x_i∈M}·y_i·(w·x_i+b) 所謂的梯度下降就是讓下面兩個式子的絕對值的數值不斷降低,降低為接近0為止,其實就是在模仿求導的效果,因為下面兩個式子接近0的時候,也就是求導為0的時候。

w(w,b)=xiMyixi\triangledown_w(w,b)=-\sum_{x_i∈M}y_i·x_i b(w,b)=xiMyi\triangledown_b(w,b)=-\sum_{x_i∈M}y_i 而SVM採用的是由不等式約束條件構造拉格朗日函式,然後求偏導令其為0,根據一大堆的ai引數(一直迭代到滿足kkt 條件為止,kkt條件是用來滿足不等式約束下的拉格朗日乘子法的泛化),來最終求得w和b。

這裡特別說明下一般我們的拉格朗日函式是符合凸函式的,因此對於凸函式一定存在極值點,也是唯一的最優解。而一般的非凸函式,只好採用梯度下降法一步一步的求得極值點,如果非凸函式還是採用求導令為0,可能找不到極值點!因為鞍點也是導數為0,但卻不是極值點的特例,如y = x^3函式。導數為0是函式極值點的必要條件。

---------------------