10、LR和SVM的聯繫與區別

LR和SVM都可以處理分類問題,且一般都用於處理線性二分類問題(在改進的情況下可以處理多分類問題)

區別:
1、LR是參數模型,svm是非參數模型,linear和rbf則是針對數據線性可分和不可分的區別;
2、從目標函數來看,區別在於邏輯迴歸採用的是logistical loss,SVM採用的是hinge loss,這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關係較小的數據點的權重。 

3、SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重。
4、邏輯迴歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來說複雜一些,SVM轉化爲對偶問題後,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。 

5、logic 能做的 svm能做,但可能在準確率上有問題,svm能做的logic有的做不了。

 

相同點
①都是線性分類器。本質上都是求一個最佳分類超平面。
②都是監督學習算法。
③都是判別模型。判別模型不關心數據是怎麼生成的,它只關心信號之間的差別,然後用差別來簡單對給定的一個信號進行分類。常見的判別模型有:KNN、SVM、LR,常見的生成模型有:樸素貝葉斯,隱馬爾可夫模型。

 

不同點
1) 本質上是損失函數不同
LR的損失函數是交叉熵: 

SVM的目標函數: 

邏輯迴歸基於概率理論,假設樣本爲正樣本的概率可以用sigmoid函數(S型函數)來表示,然後通過極大似然估計的方法估計出參數的值。
支持向量機基於幾何間隔最大化原理,認爲存在最大幾何間隔的分類面爲最優分類面。

2) 兩個模型對數據和參數的敏感程度不同
SVM考慮分類邊界線附近的樣本(決定分類超平面的樣本)。在支持向量外添加或減少任何樣本點對分類決策面沒有任何影響;
LR受所有數據點的影響。直接依賴數據分佈,每個樣本點都會影響決策面的結果。如果訓練數據不同類別嚴重不平衡,則一般需要先對數據做平衡處理,讓不同類別的樣本儘量平衡。

3) SVM 基於距離分類,LR 基於概率分類。
SVM依賴數據表達的距離測度,所以需要對數據先做 normalization;LR不受其影響。

4) 在解決非線性問題時,支持向量機採用核函數的機制,而LR通常不採用核函數的方法。
SVM算法裏,只有少數幾個代表支持向量的樣本參與分類決策計算,也就是隻有少數幾個樣本需要參與核函數的計算。
LR算法裏,每個樣本點都必須參與分類決策的計算過程,也就是說,假設我們在LR裏也運用核函數的原理,那麼每個樣本點都必須參與覈計算,這帶來的計算複雜度是相當高的。尤其是數據量很大時,我們無法承受。所以,在具體應用時,LR很少運用核函數機制。

5) 在小規模數據集上,Linear SVM要略好於LR,但差別也不是特別大,而且Linear SVM的計算複雜度受數據量限制,對海量數據LR使用更加廣泛。

6) SVM的損失函數就自帶正則,而 LR 必須另外在損失函數之外添加正則項。 

紅框內就是L2正則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章