LR和SVM可能是面試中問到的非樹模型中很常見的一個問題了,主要的是推公式以及說明求解過程如SVM。筆者在面美團的時候就要求推了LR和SVM,過程不難,平時每天推一遍,你就會發現面試的時候最讓人覺得愉快的就說推公式了,然后推完之后就是問一下與之有關的亂七八糟的問題了。
聯系:
1、LR和SVM都可以處理分類問題,且一般都用于處理線性二分類問題(在改進的情況下可以處理多分類問題)
2、兩個方法都可以增加不同的正則化項,如l1、l2等等。所以在很多實驗中,兩種算法的結果是很接近的。
3、LR和SVM都可以用來做非線性分類,只要加核函數就好。
4、LR和SVM都是線性模型,當然這里我們不要考慮核函數。
5、都屬于判別模型。
區別:
1、LR是參數模型,SVM是非參數模型。
2、從目標函數來看,區別在于邏輯回歸采用的是logistical loss,SVM采用的是hinge loss,這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關系較小的數據點的權重。
3、邏輯回歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來說復雜一些,SVM轉化為對偶問題后,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。
4、SVM不直接依賴數據分布,而LR則依賴,因為SVM只與支持向量那幾個點有關系,而LR和所有點都有關系。
5、SVM依賴penalty系數,實驗中需要做CV。
6、SVM本身是結構風險最小化模型,而LR是經驗風險最小化模型。
另外怎么選模型:
在Andrew NG的課里講到過:
1. 如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM
2. 如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel
3. 如果Feature的數量比較小,而樣本數量很多,需要手工添加一些feature變成第一種情況
還有的解釋的比較詳細的,可以看引用,差不多能回答出來幾點就好了,具體的因為模型不一樣,能說出來一大推其他的不同點。