天天看點

百面機器學習—4.SVM模型基礎知識

文章目錄

    • 引言
    • 一、間隔與支援向量
      • 1.什麼是線性可分?
      • 2.什麼是超平面?什麼是最大間隔超平面?
      • 3.什麼是支撐向量?
      • 4.SVM最優化問題
    • 二、對偶問題
      • 1.限制條件下的目标函數如何求解最優化問題?
      • 2. 怎麼了解對偶問題?
      • 3.什麼是對偶問題?
      • 4.KKT限制條件
      • 5.求解硬間隔SVM最優化問題推導
    • 三、軟間隔
      • 1.軟間隔的提出是解決什麼問題的?
      • 2.軟間隔後線性SVM的最優化問題是什麼?
      • 3.求解軟間隔SVM最優化問題推導
    • 四、核函數
      • 1.線性不可分問題怎麼解決?
      • 2.什麼是非線性SVM?
      • 3.為什麼要有核函數?
      • 4. 有了核函數,如何求解非線性SVM問題?
      • 5.一些常用的核函數
    • 五、SMO算法在SVM中的應用

插眼:

  • 百面機器學習—1.特征工程
  • 百面機器學習—2. 特征工程與模型評估要點總結
  • 百面機器學習—3.邏輯回歸與決策樹要點總結
  • 百面機器學習—4.SVM模型基礎知識
  • 百面機器學習—5.SVM要點總結
  • 百面機器學習—6.PCA與LDA要點總結
  • 百面機器學習—7.K均值算法、EM算法與高斯混合模型要點總結
  • 百面機器學習—8.機率圖模型之HMM模型
  • 百面機器學習—9.前饋神經網絡面試問題總結
  • 百面機器學習—10.循環神經網絡面試問題總結
  • 百面機器學習—11.內建學習(GBDT、XGBoost)面試問題總結
  • 百面機器學習—12.優化算法

引言

  SVM有三寶:間隔、對偶、核技巧。下面就這三個方面進行講解。

一、間隔與支援向量

1.什麼是線性可分?

  一個超平面可以将兩類點完全分開

數學定義:

百面機器學習—4.SVM模型基礎知識

2.什麼是超平面?什麼是最大間隔超平面?

  将 D 0 D_0 D0​和 D 1 D_1 D1​ 完全正确地劃分開的平面,就是一個超平面。以最大幾何間隔把兩類樣本分開的超平面為最大間隔超平面,即最大化幾何間隔

幾何間隔:

百面機器學習—4.SVM模型基礎知識

最大化幾何間隔:

百面機器學習—4.SVM模型基礎知識

限制條件:每個訓練樣本點關于超平面 ( w , b ) (w,b) (w,b) 的幾何間隔至少是 γ γ γ

3.什麼是支撐向量?

  離超平面最近的點是支撐向量

4.SVM最優化問題

  SVM想要最優化的是各類樣本點到超平面的距離最遠(其實也就是找到最大間隔超平面)

百面機器學習—4.SVM模型基礎知識

二、對偶問題

1.限制條件下的目标函數如何求解最優化問題?

  上述得到了有限制的目标函數。對于這類型問題,可以使用拉格朗日乘子法進行求解,将原本有限制的優化問題,轉化為對拉格朗日函數的無限制優化問題,然後我們對轉化後的目标函數求解極值。

百面機器學習—4.SVM模型基礎知識

2. 怎麼了解對偶問題?

百面機器學習—4.SVM模型基礎知識

轉化後的式子與原來的拉格朗日函數想表達的是一樣的

3.什麼是對偶問題?

百面機器學習—4.SVM模型基礎知識

上述的拉格朗日函數具有強對偶關系,這個一般不會要求證明。

百面機器學習—4.SVM模型基礎知識

4.KKT限制條件

  以SVM為例,KKT條件為:

百面機器學習—4.SVM模型基礎知識

5.求解硬間隔SVM最優化問題推導

百面機器學習—4.SVM模型基礎知識
百面機器學習—4.SVM模型基礎知識
百面機器學習—4.SVM模型基礎知識

三、軟間隔

1.軟間隔的提出是解決什麼問題的?

  當訓練資料不是完全線性可分時,就需要通過軟間隔最大化來學習一個線性分類器

百面機器學習—4.SVM模型基礎知識
百面機器學習—4.SVM模型基礎知識

2.軟間隔後線性SVM的最優化問題是什麼?

百面機器學習—4.SVM模型基礎知識

3.求解軟間隔SVM最優化問題推導

百面機器學習—4.SVM模型基礎知識
百面機器學習—4.SVM模型基礎知識
百面機器學習—4.SVM模型基礎知識

四、核函數

1.線性不可分問題怎麼解決?

  當訓練資料線性不可分時,就需要通過核技巧與軟間隔最大化來學習非線性支援向量機。核技巧的基本思想:通過一個非線性變換将輸入空間對應于一個特征空間,使得在輸入空間的超曲面模型對應于特征空間的超平面模型。即将輸入空間的非線性分類問題轉化為特征空間的線性分類問題。比如将二維空間線性不可分樣本,

百面機器學習—4.SVM模型基礎知識

映射到高維空間,讓在高維空間中線性可分。

百面機器學習—4.SVM模型基礎知識

2.什麼是非線性SVM?

  對于在輸入空間中線性不可分的樣本,将其映射到更高次元的特征空間裡,再通過間隔最大化方式,學習得到非線性支援向量機。

百面機器學習—4.SVM模型基礎知識

3.為什麼要有核函數?

  對于非線性SVM來說,目标函數與之前主要不同的是 ϕ ( x i ) ⋅ ϕ ( x j ) \phi(x_i)·\phi(x_j) ϕ(xi​)⋅ϕ(xj​)。由于從低維空間映射到高維空間,然後進行點乘,可見這個映射不管是計算量還是存儲量都是非常巨大的。但是有了核函數,就不需要作這樣的映射,直接使用原樣本次元的點進行計算即可。

4. 有了核函數,如何求解非線性SVM問題?

  有了核函數之後,非線性問題重新轉變成了線性問題,和之前求解過程一樣,先根據對偶函數求解 λ \lambda λ,然後根據 λ \lambda λ求解w,再根據支撐向量( λ i > 0 \lambda_{i}>0 λi​>0)求解b即可。其實,核函數并不是隻有在非線性SVM中用到,隻要涉及到向量間的點乘,都可以用到核函數。

5.一些常用的核函數

百面機器學習—4.SVM模型基礎知識

五、SMO算法在SVM中的應用

可參考機器學習算法實踐-SVM中的SMO算法

如果對您有幫助,麻煩點贊關注,這真的對我很重要!!!如果需要互關,請評論或者私信!

百面機器學習—4.SVM模型基礎知識

繼續閱讀