SVM和感知机的区别(转载+自己笔记)
感知機和SVM的區別:
1、相同點
都是屬于監督學習的一種分類器(決策函數)。
2、不同點
感知機追求最大程度正確劃分,最小化錯誤,效果類似紫線,很容易造成過擬合。支持向量機追求大致正確分類的同時,一定程度上避免過擬合,效果類似下圖中的黑線。
感知機使用的學習策略是梯度下降法,感知機的目標是:
minw,bL(w,b)=?∑xi∈M?yi?(w?xi+b)min_{w,b}L(w,b)=-\sum_{x_i∈M}·y_i·(w·x_i+b)minw,b?L(w,b)=?∑xi?∈M??yi??(w?xi?+b)
所謂的梯度下降就是讓下面兩個式子的絕對值的數值不斷降低,降低為接近0為止,其實就是在模仿求導的效果,因為下面兩個式子接近0的時候,也就是求導為0的時候。
▽w(w,b)=?∑xi∈Myi?xi\triangledown_w(w,b)=-\sum_{x_i∈M}y_i·x_i▽w?(w,b)=?∑xi?∈M?yi??xi?
▽b(w,b)=?∑xi∈Myi\triangledown_b(w,b)=-\sum_{x_i∈M}y_i▽b?(w,b)=?∑xi?∈M?yi?
而SVM采用的是由不等式約束條件構造拉格朗日函數,然后求偏導令其為0,根據一大堆的ai參數(一直迭代到滿足kkt
條件為止,kkt條件是用來滿足不等式約束下的拉格朗日乘子法的泛化),來最終求得w和b。
這里特別說明下一般我們的拉格朗日函數是符合凸函數的,因此對于凸函數一定存在極值點,也是唯一的最優解。而一般的非凸函數,只好采用梯度下降法一步一步的求得極值點,如果非凸函數還是采用求導令為0,可能找不到極值點!因為鞍點也是導數為0,但卻不是極值點的特例,如y = x^3函數。導數為0是函數極值點的必要條件。
本文來自 老司機的詩和遠方 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/touch_dream/article/details/63748923?utm_source=copy
總結
以上是生活随笔為你收集整理的SVM和感知机的区别(转载+自己笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习实战的P264中代码对应的公式推
- 下一篇: 李航第一章课后习题答案