支持向量機和邏輯迴歸的異同

本節來自:http://www.cnblogs.com/zhizhan/p/5038747.html,有刪改。支持向量機模型並非嚴格意義上的判別式模型。php

相同點:
1,LR和SVM都是分類算法。
2,若是不考慮核函數,LR和SVM都是線性分類算法,也就是說他們的分類決策面都是線性的。
3,LR和SVM都是監督學習算法。html

不一樣點:算法

1,本質上是其loss function不一樣。
2,支持向量機只考慮局部的邊界線附近的點,而邏輯迴歸考慮全局(遠離的點對邊界線的肯定也起做用)。
線性SVM不直接依賴於數據分佈,分類平面不受一類點影響;LR則受全部數據點的影響,若是數據不一樣類別strongly unbalance,通常須要先對數據作balancing。
3,在解決非線性問題時,支持向量機採用核函數的機制,而LR一般不採用核函數的方法。
​這個問題理解起來很是簡單。分類模型的結果就是計算決策面,模型訓練的過程就是決策面的計算過程。經過上面的第二點不一樣點能夠了解,在計算決策面時,SVM算法裏只有少數幾個表明支持向量的樣本參與了計算,也就是隻有少數幾個樣本須要參與覈計算(即kernal machine解的係數是稀疏的)。然而,LR算法裏,每一個樣本點都必須參與決策面的計算過程,也就是說,假設咱們在LR裏也運用核函數的原理,那麼每一個樣本點都必須參與覈計算,這帶來的計算複雜度是至關高的。因此,在具體應用時,LR不多運用核函數機制。​
4,​線性SVM依賴數據表達的距離測度,因此須要對數據先作normalization,LR不受其影響。
5,SVM的損失函數就自帶正則!!!(損失函數中的1/2||w||^2項),這就是爲何SVM是結構風險最小化算法的緣由!!!而LR必須另外在損失函數上添加正則項!!!
 函數

本節來自http://www.iliuye.com/index.php/Wap/Index/article/id/190886,該博客裏有些寫的並不許確,具備參考價值。學習

在Andrew NG的課裏講到過:
1. 若是Feature的數量很大,跟樣本數量差很少,這時候選用LR或者是Linear Kernel的SVM
2. 若是Feature的數量比較小,樣本數量通常,不算大也不算小,選用SVM+Gaussian Kernel
3. 若是Feature的數量比較小,而樣本數量不少,須要手工添加一些feature變成第一種狀況orm

 

 

有問題歡迎討論.htm

相關文章
相關標籤/搜索