【ML】線性可分支持向量機

直觀理解Margins.

  • 在對數機率迴歸(Logistic Regression)中,給定輸入樣本 X X X 以及參數向量 θ θ θ,我們給出的預測爲 P ( Y = 1 ∣ X , θ ) = h θ ( X ) = S i g m o i d ( θ T X ) P(Y=1|X,θ)=h_θ(X)=Sigmoid(θ^TX) P(Y=1X,θ)=hθ(X)=Sigmoid(θTX). 根據 S i g m o i d Sigmoid Sigmoid 函數的特點,當 θ T X > 0 θ^TX>0 θTX>0 時,有 h θ ( X ) > 0.5 h_θ(X)>0.5 hθ(X)>0.5 ,所以最終 Y Y Y 的預測值會是二類中概率更大的 1 1 1。從另一個角度理解, θ T X θ^TX θTX 的值越大, Y Y Y 被預測爲 1 1 1 的概率就越大,所以我們在 θ T X > > 0 θ^TX>>0 θTX>>0 時就能夠很確信地將 Y Y Y 預測爲 1 1 1 ,相應地,當 θ T X < < 0 \theta^TX<<0 θTX<<0 時,我們也能夠很確信的將 Y Y Y 預測爲 0 0 0.
  • 假如現在我擁有了一個邏輯迴歸分類器,其訓練得到的參數爲 θ \theta θ,並且發現對於訓練集中所有被預測爲1的樣本,都有 θ T X > > 0 \theta^TX>>0 θTX>>0;對於所有被預測爲0的樣本,都有 θ T X < < 0 \theta^TX<<0 θTX<<0,那麼這個分類器不僅僅是一個正確(correct)的分類器,同時它還具有很高的置信度(confident),這是我們所希望的結果,該想法稍後會形式化定義爲函數間隔(Functional Margins)
  • 考慮將樣本以及分類邊界可視化,以下面這張圖爲例(二維平面易於理解,高維空間同樣存在類似情況的樣本點以及分類超平面):
    在這裏插入圖片描述
    圖中直線(以二維平面來說,更一般化的說法爲超平面)由等式 θ T X = 0 \theta^TX=0 θTX=0 所決定, ○ ○ 代表負樣本, × × × 代表正樣本,我們選取了三個樣本點A、B和C,可以從圖中看出,如果對於A和C做預測,那麼我們可以很確信地將A預測爲正類,決策邊界即使發生了一些細微調整,我們依舊能得到A是正例的預測;但對於C而言,由於它過於接近分類邊界,可能只需要對決策邊界做一些微小的調整,對於C的預測值就會從正類變爲負類。直觀來說,樣本點與分類超平面的距離越遠,我們對其分類的確信度就越高,因爲即使分類超平面可能有些不準確(比如由於樣本中存在噪聲干擾),這些距離該平面很遠的樣本點也能夠被分類正確;而樣本點如果和超平面過分接近,微小的超平面移動就將導致該樣本分類錯誤。與上面類似,我們希望得到一個距離所有樣本點都足夠遠的分類超平面,籍此來保證我們分類預測的確信度,這一想法稍後會形式化爲幾何間隔(Geometry Margins).

Functional & Geometry Margins.

  • 在支持向量機的分類任務中,我們以 1 / − 1 1/-1 1/1 來標記正負例,並且參數向量爲 ω , b \omega,b ω,b,只是記號,便於後續的處理(尤其是以 1 / − 1 1/-1 1/1 而非 1 / 0 1/0 1/0 作爲標記 ).
  • 函數間隔】對於給定的樣本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)),以及參數向量 ω , b \omega,b ω,b,其函數間隔定義如下:
    在這裏插入圖片描述
    對於這一定義下的函數間隔,我們希望其儘可能地大,這一符合上一部分中的想法。當標記 y i = 1 y^{i}=1 yi=1 時,如果要函數間隔儘可能大,那麼我們的預測值 ω ⋅ x i + b \omega·x^{i}+b ωxi+b 就會盡可能大,也就是說我們的模型會認爲 x i x^{i} xi 是一個確信度很高的正樣本;當標記 y i = − 1 y^{i}=-1 yi=1 時同理,預測值會是一個儘可能小的負值,也即樣本被認爲是一個確信度很高的負樣本。但這樣的定義存在一個問題,我們的分類超平面由方程 ω ⋅ X + b = 0 \omega·X+b=0 ωX+b=0 給出,如果我們成比例放大參數向量 ω , b \omega,b ω,b,那麼在分類超平面不發生變化的情況下,函數間隔卻會被擴大。或許我們可以在函數間隔定義的基礎之上,對於參數向量做歸一化限制,例如 ∣ ∣ ω ∣ ∣ 2 = 1 ||\omega||_2=1 ω2=1,並且將函數間隔定義中的參數向量都除以該第二範數的值,後續再說這一想法。函數間隔可調整這一特點,也爲後續優化問題的等價變形提供便利,但此時我們顯然不能將最大化函數間隔作爲我們尋找分類超平面的依據。
  • 幾何間隔】 未加歸一化的函數間隔過於自由,不適合作爲尋找分類超平面的依據。通過下圖,我們引出幾何間隔Geometry Margins
    在這裏插入圖片描述
    圖中 ω \omega ω 是分類超平面的法向量,該 ω \omega ω 和 超平面方程中 ω ⋅ X + b = 0 \omega·X+b=0 ωX+b=0 中的 ω \omega ω是 同一個向量(有疑惑的話建議重溫高等數學)。從樣本點集合中任取點A,它代表樣本 x i x^{i} xi ,定義其幾何間隔爲該點到分類超平面的距離,推導如下:
    在這裏插入圖片描述
    上述推導只考慮了正樣本(A是正樣本),負樣本推導過程類似,得到的幾何間隔相差一個符號,但由於 y i ∈ { 1 , − 1 } y^{i}∈\{1,-1\} yi{11},所以進行數學上的處理得到幾何間隔的閉合式:
    在這裏插入圖片描述
  • 形式上來看,幾何間隔正是加入了歸一化之後的函數間隔,當給定歸一化條件爲 ∣ ∣ ω ∣ ∣ 2 = 1 ||\omega||_2=1 ω2=1 時,幾何間隔等於函數間隔。可以看出,幾何間隔不會出現函數間隔那樣自由放大的問題,適合作爲一個尋找分類超平面的依據。

最優間隔分類器(Optimal Margin Classifier).

  • 基於前述幾何間隔的提出,我們發現最大化樣本點幾何間隔是一個由於尋找分類超平面的良好依據,符合這一想法的分類超平面自然滿足了Correct and Cofident,所以很自然地,我們有下述優化問題:
  • 給出優化問題之前,我們首先明確目前所討論的樣本點集合都是線性可分的(Linear Separable),也就是存在超平面能夠將兩類樣本點分開,至於非線性可分的樣本集合,例如分類邊界是圓等等的,後續在覈技巧Kernel中會詳述。
  • 優化問題】:
    在這裏插入圖片描述
    這一優化問題的弊端在於,約束條件 g ( ω ) = ∣ ∣ ω ∣ ∣ − 1 = 0 g(\omega)=||\omega||-1=0 g(ω)=ω1=0 g ( ω ) g(\omega) g(ω) 並不是一個連續可微的凸函數,所以導致整個優化問題不是一個凸優化問題,無法應用已有的凸優化問題求解算法。關於凸優化的有關知識,有興趣可以查看【留個空 以後補】。直白地說就是上面給出的這一優化問題,難解,所以我們需要稍加變形。
  • 基於函數間隔與幾何間隔相差一個歸一化條件的關係,我們將優化問題等價變形如下:
    在這裏插入圖片描述
    這一優化問題也存在其弊端,其 m a x max max 部分的目標函數不是一個凸函數,簡而言之,難解,所以繼續等價變形。考慮到函數間隔隨着參數向量的成比例縮放而變化,我們直接對函數間隔進行限制,也就是說固定函數間隔爲常數,一般來說是1,求得的參數向量可以通過成比例縮放來滿足這一限制,所以得到下面這一等價的優化問題:
    在這裏插入圖片描述
  • 最優間隔分類器的這一優化問題,是一個凸二次規劃問題(QP for Quadratic Programming),其目標函數 f ( ω ) = ∣ ∣ ω ∣ ∣ 2 f(\omega)=||\omega||^2 f(ω)=ω2 是一個二次函數,約束函數 g ( ω ) = 1 − y i ( ω ⋅ x i + b ) g(\omega)=1-y^{i}(\omega·x^{i}+b) g(ω)=1yi(ωxi+b) 是一個仿射函數。凸二次規劃問題有很成熟的解法,如果僅僅針對上述優化問題討論,我們已經可以到此爲止了。應用QP問題的解決算法,我們能夠求出最優間隔分類器的參數向量,並籍此進行後續的預測。

Moreover.

  • 但我們這裏討論的問題還停留在樣本集線性可分的情況下,如果樣本集不再線性可分,我們定義的函數間隔、幾何間隔都將失效,上述的優化問題自然也成了空中樓閣。一個很自然的想法是將非線性可分的樣本集映射到高維空間,使其在高維空間線性可分,這就是核技巧。爲了應用核技巧,我們需要將上述得到的優化問題轉換爲其對偶形式(Dual Form),這也只是一方面的原因,轉換爲對偶形式之後,我們也能夠得到對於上述優化問題的高效解法(優於通用的QP問題算法,尤其是訓練樣本容量較大時),其中著名的SMO算法由Platt於1998年提出,全稱爲Sequential Minimal Optimization.