支持向量機面試(筆記)

原文:機器學習面試題彙總(支持向量機相關),做了一些筆記。

1.SVM的原理是什麼?

2.SVM推導

3.簡述SVM軟間隔

4.如何使用SMO最優化方法求解SVM模型?

5.SMO算法中對於每次選中的α如何進行優化?

6.SMO算法中如何選擇每次優化的兩個α?

7.SMO算法優化的終止條件是什麼?

8.什麼是核函數,爲什麼SVM要引入核函數?

9.SVM常用的核函數有哪些,如何選擇核函數?

10.爲什麼要將求解SVM的原始問題轉換爲其對偶問題?

11.SVM爲什麼採用間隔最大化?

12.SVM對噪聲敏感的原因

13.爲什麼SVM對缺失某些特徵數據敏感?

14.SVM的優缺點

15.SVM爲什麼用在大數據有哪些缺陷?

16.如何防止SVM過擬合(提高泛化能力)?

17.SVM如何調節懲罰因子C?

18.如何處理SVM中樣本不平衡的問題?

19.支持向量機(SVM)中的支持向量是什麼意思?

20.SVM如何處理多分類問題?


1.原理

定義:二分類模型,在特徵空間中尋找間隔最大化的分離超平面的線性分類器。

1)當訓練樣本線性可分時,使用硬間隔最大化;
2)近似線性可分,使用軟間隔最大化(引入鬆弛變量);
3)線性不可分,使用核函數和軟間隔最大化。


2.推導

min xi只考慮與分類最相關的少數點(粗暴地分類),即支持向量;
在這個基礎上通過參數W、b儘量地把樣本分得更開(精細地分類),即max W,b。

3.軟間隔

近似線性可分(存在離羣點的情況),引入鬆弛變量。

4.如何使用SMO最優化方法求解SVM模型?

2.推導中提到用SMO方法求解α,每次選取兩個α,對其範圍進行約束。

5.SMO算法中對於每次選中的α如何進行優化?

6.SMO算法中如何選擇每次優化的兩個α?

7.SMO算法優化的終止條件是什麼?

不滿足kkt條件的時候

8.什麼是核函數,爲什麼SVM要引入核函數?

將樣本空間映射到高維,從而解決線性不可分的問題。

9.SVM常用核函數有哪些?

線性、多項式、高斯、sigmoid。

如何選擇:

  • 利用經驗、交叉驗證、混合核函數等方法。
  • 如果特徵數量大到和樣本差不多,則選用線性核;
  • 如果特徵數量小,樣本數量正常,則選用高斯核;

#?????重新查一下,SVM對核函數選擇敏感嗎,補充14

10. 爲什麼要將求解SVM的原始問題轉換爲其對偶問題?

原始問題是一個最優化問題,根據其約束條件難以求解,但是SVM滿足KKT條件,局部最優解就是全局最優解,因此可以轉換爲拉格朗日對偶問題,把目標函數和約束條件合成一個式子,方便求導求最優解。

11.爲什麼SVM採用函數間隔最大化?

  • 感知機採用誤分類最小策略,求得解不唯一,而SVM採用函數間隔最大化,這是一種最優化求解方法,加入約束條件,求得解唯一;
  • 分離超平面只考慮對分類最有幫助的少數點,泛化能力強。

12.SVM對噪聲敏感的原因?

SVM的目的是求出與支持向量(即距離分離超平面最近且滿足一定條件的幾個訓練樣本點)最大化距離的直線(從高維上來看是直線),以每個樣本爲圓心,到超平面的距離爲半徑做圓,可以近似地認爲圓內的點與該樣本屬於相同分類,如果支持向量中出現了噪聲,那麼這個噪聲所帶來的錯誤分類也將最大化。

13.爲什麼SVM對缺失數據敏感?

這裏的缺失指的是訓練樣本的某個屬性值未知。

  • 貝葉斯如果存在缺失數據,直接在訓練和預測同時省略這一項就行了,因爲是做加法。
  • 決策樹如果存在缺失數據,可以採用拋棄概率化缺失數據(根據該屬性所在的分佈去估計)、缺失數據單獨分支等方法。
  • SVM是線性模型,要與W點乘,如果缺失就沒辦法乘了,也沒有好的缺失值處理策略。

14.優點和缺點

優點:

  • 間隔最大化,通過最優化求解,結果唯一;
  • 只考慮支持向量(與分離超平面最近,也是對分類最有幫助的點),泛化性好;
  • 引入核函數將樣本空間映射到高維,解決線性不可分的情況。

缺點:

  • 大數據訓練困難,因爲是二次規劃問題(目標函數是變量的二次函數,約束條件是變量的線性不等式),涉及到m階矩陣的計算(樣本數目爲m),空間消耗巨大;
  • 本身不支持多分類;
  • 對缺失值、異常值敏感

15.SVM爲什麼不適合大數據?

二次規劃問題:目標函數是變量的二次函數,約束條件是變量的線性不等式。
涉及到m階矩陣的計算(樣本數目爲m),空間消耗巨大。

16.如何防止SVM過擬合?

決定SVM最優分離超平面的是支持向量,如果支持向量中剛好存在異常點,就容易過擬合。

解決辦法:軟間隔,引入鬆弛變量。

17.SVM如何調節懲罰因子C?

交叉驗證法。
在這裏插入圖片描述
對懲罰因子C的理解:C越大,鬆弛變量越接近於0,對於樣本的擬合能力更強。從風險的角度來看,C權衡了經驗風險(對樣本的擬合能力)和結構風險(對測試樣本的預測能力):爲使目標函數越小,C越大時,正則化項(ξ(i) )越小,說明結構風險越大,經驗風險越小,容易出現過擬合;反之,C越小,模型的複雜度越低,結構風險越小。

18.如何處理SVM中樣本不平衡的問題?

  1. 控制懲罰因子C,給數量少的類更大的懲罰因子,表明更重視這部分數據,增強擬合能力;
  2. 控制樣本:欠採樣(減少數量多的類)和過採樣(增加數量少的類)。

19.支持向量機(SVM)中的支持向量是什麼意思?

距離分類超平面最近的幾個訓練樣本點,SVM只考慮支持向量。

20.SVM如何處理多分類問題?

  1. 直接法:直接在目標函數上進行修改,將多個分類面的參數求解合併到一個最優化問題中,一次性實現多分類,計算複雜度較高,實現困難,只適合小型問題;
  2. 間接法一對多:類似於交叉驗證法,每次挑出一個類,剩下n-1個類合併爲一個類,重複n次,共n個分類器,取最好結果。
  3. 間接法一對一:枚舉的做法,每次挑2個類出來,一共是n*(n-1)/2個分類器,使用投票法取最終結果,代價太大。
  4. 層次法:首先將所有類別分成兩個子類,再將子類進一步劃分成兩個次級子類,循環, 直到不能劃分爲止。

其他參考資料
1.一文理解拉格朗日對偶和KKT條件
2.SVM 由淺入深的嘗試(三)SMO算法的一點理解

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