此前我們介紹了乙個最優化分類演算法 – logistic 回歸。
logistic 回歸數學公式推導
本文中,我們再來介紹另乙個最優化分類演算法 – svm。
svm 是 support vector machines 的縮寫,一般稱為「支援向量機」或「支援向量機」。
我們有下圖這些點,如何將紅點和藍點分開呢?
下面兩圖中的線都可以做到讓區分兩類點的目的:
圖中 a 和 b 兩條線都實現了紅藍點分類的目的,a 和 b 就稱為「決策面」,顯而易見,因為資料是二維的,所以決策面是一維的線,如果資料是三維的,那麼決策面將會是乙個二維的平面,也就是說,決策面總是資料維度數 - 1 維的,因此也叫「分隔超平面」。
那麼上圖中的 a 和 b 究竟哪個分類方法的效果更好呢?
目前的情況來看,分類器a和b都可以做到完全劃分,其效果是相同的,但假設我們再新增乙個點,這個點是否仍然可以被 a、b 正確分類呢?
a 順利完成了對新點的劃分,而 b 決策面則劃分錯誤,這是為什麼呢?
因為我們假定新的點仍然在原來類別的範圍附近,那麼,很容易理解,決策面離原有資料越遠,則劃分準確性越高。
注意觀察你會發現,上圖中在決策面的左右各有一條虛線,這兩條虛線分別與兩側最近的樣本點相交,且平行於決策面,虛線與決策面的距離就是「分類間隔」,顯然每乙個可能把資料集正確分開的方向都有乙個最優決策面,而不同方向的最優決策面的分類間隔通常是不同的,那個具有「最大間隔」的決策面就是svm要尋找的最優解。
而這個真正的最優解對應的兩側虛線所穿過的樣本點,就是svm中的支援樣本點,稱為」支援向量」。
既然我們知道了 svm 的原理,svm 的優點就非常明顯了:
錯誤率低
計算開銷不大
結果容易理解
視覺化對引數調節和核函式敏感
原始分類器只能處理二分類問題
這樣,我們推導出了 n 維座標系內決策面方程,我們稱之為「超平面方程」。
根據本文開頭的描述可知,分類效果最好的超平面是分類間隔 2d 最大的超平面,我們已經成功將問題推導為求解當 d 取最大值時 ω 的取值。
求解 d 取最大值時 ω 的取值存在以下兩個約束條件:
如何判斷超平面是否將樣本點正確分類
如何在眾多樣本點中選取支援向量上的點
我們成功將求解 d 的最大值問題推導為求解 ||ω|| 最小值問題。
我們將 svm 優化問題轉化為了乙個有不等式約束的優化問題,這類方法通常使用 kkt 條件求解。
通常使用的方法是費馬引理,即求取函式f(x)的導數,然後令其為零,可以求得候選最優值,再在候選最優值集合中取值驗證從而得到最優解。
這類問題通常使用拉格朗日乘子法,把等式約束h(x)用乙個係數與f(x)寫為乙個式子,稱為拉格朗日函式,而係數則被稱為拉格朗日乘子。
通過拉格朗日函式對各個變數求導,令其為零,可以求得候選值集合,然後驗證求得最優值。
這類問題的求解通常使用 kkt 條件。
把所有的等式、不等式約束與f(x)寫為乙個式子,也叫拉格朗日函式。
通過一些條件,可以求出最優值的必要條件,這個條件稱為kkt條件。
《機器學習實戰》。
SVM推導簡述
1.函式間隔和幾何間隔 點距離分離平面的遠近可以代表分類 的確信度,在超平面w x b 0 確定的情況下,w x b 表示點x距離超平面的遠近,由於w,b 可以成比例改變,超平面不變,所以需要對分離平面法向量進行約束,因此定義函式間隔和幾何間隔分別為 i yi w x i b i y i w xi ...
SVM 簡要推導過程
svm 是一塊很大的內容,網上有寫得非常精彩的部落格。這篇部落格目的不是詳細闡述每乙個理論和細節,而在於在不丟失重要推導步驟的條件下從巨集觀上把握 svm 的思路。svm 支援向量機 的主要思想是找到幾何間隔最大的超平面對資料進行正確劃分,與一般的線性分類器相比,這樣的超平面理論上對未知的新例項具有...
SVM 簡要推導過程
svm 是一塊很大的內容,網上有寫得非常精彩的部落格。這篇部落格目的不是詳細闡述每乙個理論和細節,而在於在不丟失重要推導步驟的條件下從巨集觀上把握 svm 的思路。svm 支援向量機 的主要思想是找到幾何間隔最大的超平面對資料進行正確劃分,與一般的線性分類器相比,這樣的超平面理論上對未知的新例項具有...