文章目錄
-
- 引言
- 一、間隔與支援向量
-
- 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.什麼是線性可分?
一個超平面可以将兩類點完全分開
數學定義:
2.什麼是超平面?什麼是最大間隔超平面?
将 D 0 D_0 D0和 D 1 D_1 D1 完全正确地劃分開的平面,就是一個超平面。以最大幾何間隔把兩類樣本分開的超平面為最大間隔超平面,即最大化幾何間隔
幾何間隔:
最大化幾何間隔:
限制條件:每個訓練樣本點關于超平面 ( w , b ) (w,b) (w,b) 的幾何間隔至少是 γ γ γ
3.什麼是支撐向量?
離超平面最近的點是支撐向量
4.SVM最優化問題
SVM想要最優化的是各類樣本點到超平面的距離最遠(其實也就是找到最大間隔超平面)
二、對偶問題
1.限制條件下的目标函數如何求解最優化問題?
上述得到了有限制的目标函數。對于這類型問題,可以使用拉格朗日乘子法進行求解,将原本有限制的優化問題,轉化為對拉格朗日函數的無限制優化問題,然後我們對轉化後的目标函數求解極值。
2. 怎麼了解對偶問題?
轉化後的式子與原來的拉格朗日函數想表達的是一樣的
3.什麼是對偶問題?
上述的拉格朗日函數具有強對偶關系,這個一般不會要求證明。
4.KKT限制條件
以SVM為例,KKT條件為:
5.求解硬間隔SVM最優化問題推導
三、軟間隔
1.軟間隔的提出是解決什麼問題的?
當訓練資料不是完全線性可分時,就需要通過軟間隔最大化來學習一個線性分類器
2.軟間隔後線性SVM的最優化問題是什麼?
3.求解軟間隔SVM最優化問題推導
四、核函數
1.線性不可分問題怎麼解決?
當訓練資料線性不可分時,就需要通過核技巧與軟間隔最大化來學習非線性支援向量機。核技巧的基本思想:通過一個非線性變換将輸入空間對應于一個特征空間,使得在輸入空間的超曲面模型對應于特征空間的超平面模型。即将輸入空間的非線性分類問題轉化為特征空間的線性分類問題。比如将二維空間線性不可分樣本,
映射到高維空間,讓在高維空間中線性可分。
2.什麼是非線性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.一些常用的核函數
五、SMO算法在SVM中的應用
可參考機器學習算法實踐-SVM中的SMO算法
如果對您有幫助,麻煩點贊關注,這真的對我很重要!!!如果需要互關,請評論或者私信!