邏輯回歸和SVM的區別是什麼?各適用於解決什麼問題?


邏輯回歸和支持向量機之間的區別也是面試經常會問的一道題,特地找了一些相關資料看了下。

我們先來看一下SVM 和正則化的邏輯回歸它們的損失函數

egin{align*} 	ext{SVM} :  frac{1}{n}sum_{i=1}^n(1-y_i[w_0+mathbf{x}_i^Tmathbf{w}_1])^+ + lambda lVert mathbf{w}_1 
Vert/2 	ag{1}\ 	ext{Logistic} :  frac{1}{n}sum_{i=1}^n overbrace{-log g(y_i[w_0+mathbf{x}_i^Tmathbf{w}_1])}^{-log P(y_i|mathbf{x},mathbf{W})} + lambda lVert mathbf{w}_1 
Vert/2 	ag{2}\ end{align*}

其中, g(z)=(1+exp(-z))^{-1}.

可以將兩者統一起來,

egin{align*} 	ext{Both}:  frac{1}{n}sum_{i=1}^n Loss(overbrace{y_i[w_0+mathbf{x}_i^Tmathbf{w}_1]}^{z}) + lambda lVert mathbf{w}_1 
Vert/2 	ag{3} end{align*}

也就是說,它們的區別就在於邏輯回歸採用的是 log loss(對數損失函數),svm採用的是hinge loss 
ightarrow E(z) = max(0,1-z)

- SVM 損失函數 : Loss(z) = (1-z)^+

- LR 損失函數: Loss(z) = log(1+exp(-z))

其實,這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關係較小的數據點的權重。SVM的處理方法是只考慮 support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯回歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重,兩者的根本目的都是一樣的。

svm考慮局部(支持向量),而logistic回歸考慮全局,就像大學裡的輔導員和教師間的區別[2]。

輔導員關心的是掛科邊緣的人,常常找他們談話,告誡他們一定得好好學習,不要浪費大好青春,掛科了會拿不到畢業證、學位證等等,相反,對於那些相對優秀或者良好的學生,他們卻很少去問,因為輔導員相信他們一定會按部就班的做好分內的事;而大學裡的教師卻不是這樣的,他們關心的是班裡的整體情況,大家是不是基本都理解了,平均分怎麼樣,至於某個人的分數是59還是61,他們倒不是很在意。

歡迎訪問我的博客: Logistic Regression and SVM
----------

[1]: Machine learning: lecture 7

[2]: SVM(一) 基本概念、模型建立


1,優化目標不同。LR的目標函數是logloss,SVM是最大化分類面間距。

2,對非線性問題的處理方式不同。LR主要靠特徵構造,必須組合交叉特徵,特徵離散化。SVM也可以這樣,還可以通過kernel。

3,處理的數據規模不同。LR一般用來處理大規模的學習問題。如十億級別的樣本,億級別的特徵。


如果從分界面的形狀出發,來看待這兩種學習模型,那麼結果會是下面這樣的。

邏輯回歸和軟間隔SVM(線性核)都是線性分類器,其分界面是超平面(w0 + w1*x1 +...+ wd*xd = 0),所以兩者適用於數據本質上是線性可分或近似線性可分的情形。軟間隔SVM(非線性核)是非線性分類器,其分界面是曲面,適用於數據非線性可分的情形。

註:作為SVM的原型——硬間隔SVM(線性核),剛開始只能解決數據線性可分的分類問題。因為引入了核函數,才使得分類器可以解決數據非線性可分的問題。同樣的,作為最最簡單的神經網路——邏輯回歸也只能解決線性分類問題。因為進行了函數的複合,同樣使得分類器可以解決數據非線性可分的問題。


1.損失函數不一樣,邏輯回歸的損失函數是log loss,svm的損失函數是hinge loss

2.損失函數的優化方法不一樣,邏輯回歸用剃度下降法優化,svm用smo方法進行優化

3.邏輯回歸側重於所有點,svm側重於超平面邊緣的點

4.svm的基本思想是在樣本點中找到一個最好的超平面


對計算機來說,歸根結底還是優化目標, 也就是損失函數的不同造成兩種模型的差異。 LR是logloss, SVM是hinge loss. 我一般將SVM的損失函數理解為最關鍵的點造成的損失。

其他的區別並沒有特別重要。


第一的答案已經解釋很清楚了。

SVM的理論性強,最nb的地方是核函數的引入,可以來逼近非線性目標函數。不過如果非線性的話,工業界GBDT用得更廣些。


推薦閱讀:

隱馬爾可夫模型--更加接近真相。
《NLP》第二章The Language Modeling Problem
Attention is All You Need | 每周一起讀

TAG:自然語言處理 |