1. 請(qǐng)說(shuō)一下SVM的原理/簡(jiǎn)要介紹SVM
SVM 是一種二分類模型。它的基本模型是在特征空間中尋找間隔最大化的分離超平面的線性分類器。
- 當(dāng)訓(xùn)練樣本線性可分時(shí),通過硬間隔最大化,學(xué)習(xí)一個(gè)線性分類器,即線性可分支持向量機(jī);
- 當(dāng)訓(xùn)練數(shù)據(jù)近似線性可分時(shí),引入松弛變量,通過軟間隔最大化,學(xué)習(xí)一個(gè)線性分類器,即線性支持向量機(jī);
- 當(dāng)訓(xùn)練數(shù)據(jù)線性不可分時(shí),通過使用核技巧及軟間隔最大化,學(xué)習(xí)非線性支持向量機(jī)。
以上各種情況下的數(shù)學(xué)推導(dǎo)應(yīng)當(dāng)掌握,硬間隔最大化(幾何間隔)、學(xué)習(xí)的對(duì)偶問題、軟間隔最大化(引入松弛變量)、非線性支持向量機(jī)(核技巧)。

2. SVM 為什么采用間隔最大化
- 當(dāng)訓(xùn)練數(shù)據(jù)線性可分時(shí),就會(huì)存在無(wú)數(shù)個(gè)分離超平面可以將訓(xùn)練數(shù)據(jù)正確的分開。
- 線性可分支持向量機(jī)利用間隔最大化求得最優(yōu)分離超平面,這時(shí),解是唯一的。
-
另一方面,此時(shí)的分隔超平面所產(chǎn)生的分類結(jié)果是最魯棒的,對(duì)未知實(shí)例的泛化能力最強(qiáng)。
間隔最大化
可以借此機(jī)會(huì)闡述一下幾何間隔以及函數(shù)間隔的關(guān)系。
3. 為什么要將求解 SVM 的原始問題轉(zhuǎn)換為其對(duì)偶問題
- 一是對(duì)偶問題往往更易求解,當(dāng)我們尋找約束存在時(shí)的最優(yōu)點(diǎn)的時(shí)候,約束的存在雖然減小了需要搜尋的范圍,但是卻使問題變得更加復(fù)雜。為了使問題變得易于處理,我們的方法是把目標(biāo)函數(shù)和約束全部融入一個(gè)新的函數(shù),即拉格朗日函數(shù),再通過這個(gè)函數(shù)來(lái)尋找最優(yōu)點(diǎn)。
- 二是可以自然引入核函數(shù),進(jìn)而推廣到非線性分類問題。
4. 為什么 SVM 要引入核函數(shù)
- 當(dāng)樣本在原始空間線性不可分時(shí),可將樣本從原始空間映射到一個(gè)更高維的特征空間,使得樣本在高維特征空間內(nèi)線性可分。
- 而引入這樣的映射后,所要求解的對(duì)偶問題的求解中,無(wú)需求解真正的映射函數(shù),而只需要知道其核函數(shù)。
- 核函數(shù)的定義:K(x,y)=<?(x),?(y)>,即在特征空間的內(nèi)積等于它們?cè)谠紭颖究臻g中通過核函數(shù) K 計(jì)算的結(jié)果。
- 一方面數(shù)據(jù)變成了高維空間中線性可分的數(shù)據(jù),
-
另一方面不需要求解具體的映射函數(shù),只需要給定具體的核函數(shù)即可,這樣使得求解的難度大大降低。
為什么引入核函數(shù)
特征映射
5. SVM 不同核函數(shù)之間的區(qū)別
一般選擇線性核和高斯核,也就是線性核與 RBF 核。
- 線性核:主要用于線性可分的情形,參數(shù)少,速度快,對(duì)于一般數(shù)據(jù),分類效果已經(jīng)很理想了。
- RBF 核:主要用于線性不可分的情形,參數(shù)多,分類結(jié)果非常依賴于參數(shù)。
- 如果 Feature 的數(shù)量很大,跟樣本數(shù)量差不多,這時(shí)候選用線性核的 SVM。
- 如果 Feature 的數(shù)量比較小,樣本數(shù)量一般,不算大也不算小,選用高斯核的 SVM。
其他的還有
-
Sigmoid 核 Sigmoid 核
-
Cosin 核 Cosin 核
-
Chi-squared 核 Chi-squared 核
6. 擴(kuò)展SVM到支持多個(gè)類別
兩種方法
OVR (one versus rest): 對(duì)于K個(gè)類別的情況, 訓(xùn)練
個(gè)SVM, 第
個(gè)SVM用于判讀任意條數(shù)據(jù)是屬于類別
還是屬于類別非
. 預(yù)測(cè)的時(shí)候, 具有最大值的
表示給定的數(shù)據(jù) x 屬于類別
.
OVO (one versus one), 對(duì)于
個(gè)類別的情況, 訓(xùn)練
個(gè)SVM, 每一個(gè)SVM只用于判讀任意條數(shù)據(jù)是屬于
中的特定兩個(gè)類別. 預(yù)測(cè)的時(shí)候, 使用
個(gè)SVM做
次預(yù)測(cè), 使用計(jì)票的方式?jīng)Q定數(shù)據(jù)被分類為哪個(gè)類別的次數(shù)最多, 就認(rèn)為數(shù)據(jù)
屬于此類別.

7. 支持向量機(jī)的優(yōu)勢(shì)
- 泛化性能比較好, 不容易過擬合
- 可以在較少的數(shù)據(jù)下取得好的性能
- 存在全局最優(yōu)解
- 存在高效實(shí)現(xiàn)的訓(xùn)練算法
- 可以使用kernel trick處理非線性的問題
8. 缺點(diǎn)
- 大規(guī)模訓(xùn)練樣本(m階矩陣計(jì)算) 速度慢
- 傳統(tǒng)的SVM不適合多分類
- 對(duì)缺失數(shù)據(jù)、參數(shù)、核函數(shù)敏感
9. 為什么SVM對(duì)缺失數(shù)據(jù)敏感
- 這里說(shuō)的缺失數(shù)據(jù)是指缺失某些特征數(shù)據(jù),向量數(shù)據(jù)不完整。
- 因?yàn)镾VM 沒有處理缺失值的策略。而 SVM 希望樣本在特征空間中線性可分,所以特征空間的好壞對(duì)SVM的性能很重要。缺失特征數(shù)據(jù)將影響訓(xùn)練結(jié)果的好壞
10. SVM推導(dǎo)
函數(shù)間隔—>幾何間隔—>幾何間隔最大化—>函數(shù)間隔最大化—>令r^=1—> max 變 min—->拉格朗日函數(shù)—->求解對(duì)偶問題的3個(gè)步驟
(1)線性可分 (2)線性近似可分 (3)線性不可分
SVM和LR的不同
1、樣本點(diǎn)對(duì)模型的作用不同。SVM中,只有關(guān)鍵的樣本點(diǎn)(支持向量)對(duì)模型結(jié)果有影響,而LR中,每一個(gè)樣本點(diǎn)都對(duì)模型有影響。
2、損失函數(shù)不同。SVM是hinge損失函數(shù),LR是log損失函數(shù)
3、理論基礎(chǔ)不同。SVM基于嚴(yán)格的數(shù)學(xué)推導(dǎo),LR基于統(tǒng)計(jì)。
4、輸出不同。LR可以對(duì)每個(gè)樣本點(diǎn)給出類別判斷的概率值,SVM無(wú)法做到。
5、可處理的特征空間維度不同。LR在特征空間維度很高時(shí),表現(xiàn)較差。SVM則可以通過對(duì)偶求解高效應(yīng)對(duì)這一挑戰(zhàn)。
6、防止過擬合能力不同。SVM模型中內(nèi)含了L2正則,可有效防止過擬合。LR要自己添加正則項(xiàng)。
7、處理非線性分類問題能力不同。SVM可通過核函數(shù)靈活地將非線性問題轉(zhuǎn)化為線性分類問題。LR如果要做到這一點(diǎn),需要自己手動(dòng)地進(jìn)行特征轉(zhuǎn)換。
8、處理分類問題能力不同。SVM只能處理二類分類問題,如果要處理多類別分類,需要進(jìn)行 one VS one 或one VS all建模。LR可以直接進(jìn)行多類別分類。
9、計(jì)算復(fù)雜度不同。對(duì)于海量數(shù)據(jù),SVM的效率較低,LR效率比較高。
10、對(duì)數(shù)據(jù)要求不同。SVM依賴于數(shù)據(jù)表達(dá)出的距離測(cè)度,所以需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,而LR不需要。
11、能力范圍不同。 SVM拓展后,可解決回歸問題,LR不能。
12、可解釋性不同。LR基于統(tǒng)計(jì),可解釋性比SVM好。
13、抗噪聲數(shù)據(jù)能力不同。SVM的損失函數(shù)基于距離測(cè)度,抗噪聲能力要強(qiáng)于LR。
參考:
https://cloud.tencent.com/developer/user/1478933
BAT面試題1:請(qǐng)簡(jiǎn)要介紹下SVM
機(jī)器學(xué)習(xí)面試篇:螞蟻金服電話面試二
數(shù)據(jù)挖掘面試題之SVM和LR的不同
SVM 高頻面試題
這樣一步一步推導(dǎo)支持向量機(jī),誰(shuí)還看不懂
機(jī)器學(xué)習(xí)崗位面試問題匯總 之 SVM





