1. 程式人生 > >Spark機器學習系列之13: 支援向量機SVM

Spark機器學習系列之13: 支援向量機SVM

CSVM基本公式推導過程

下面摘抄一小部分內容(不考慮推導細節的話,基本上能理解C-SVM方法推導的整個流程).

這裡寫圖片描述
我們用一個超平面劃分圖中對圖中的兩類資料進行分類,超平面寫成f(x)=wTx+b=0,線上性可分的情況下,我們能找到一些支援向量,滿足|wTx+b|=1

如何理解這一點呢?如果我們找到一個wb來表達超平面f(x)=wTx+b=0,那麼通過縮放,相當於找到了無數個λwλb,λ0,都可以等價的來表達這個超平面,比如說f(x)=3x1+4x22x3+6=0f(x)=1.5x1+2x2x3+3=0表示一模一樣的超平面,也就是說我們通過縮放(w,b),總能使得裡超平面兩側最近的距離相等的這些支援向量(support vectors)滿足|

f(xi)|=|wTxi+b|=1,以達到簡化問題的目的。

對一個數據點進行分類,當超平面離資料點的“間隔”越大,分類的確信度(confidence)也越大。所以,為了使得分類的確信度儘量高,需要讓所選擇的超平面能夠最大化這個“間隔”值。這個間隔如下圖中的Gap2所示。
這裡寫圖片描述

從解析幾何的角度可以證明xi點離超平面方程wTx+b=0的距離為:

γ=|wTxi+b|||w||=|f(xi)|||w||
由於支援向量滿足|wTxi+b|=1,因此Gap2=1||w||
定義函式
yi=1f(x)>0,
yi=1f(x)<0,

需要求解的目標函式及約束條件為:

max1|
|w||
s.t.yi(wTxi+b)1i=1,2...n
等價於下面的凸二次規劃問題:
min12||w||2s.t.yi(wTxi+b)1i=1,2...n

拉格朗日函式為:

L(w,b,α)=12||w||2i=1nαi(yi(wTxi+b)1)