1. 程式人生 > >最優間隔分類器

最優間隔分類器

需求 left info 也會 存在 以及 變量 很好 gin

最優間隔分類器

  1. 最優間隔分類器

對於一個給定的數據集,目前有一個很現實的需求就是要找到一個合適的決策邊界,使得樣本中的最小間隔(幾何間隔)最大,而且這樣的分類器能夠使得分割的訓練樣本集之間的間隔(gap)最大。現在,我們假設訓練集合線性可分,即可以找一條超平面把正樣本和負樣本分割開來。那麽我們如何找到一個超平面來最大化幾何間隔呢?我們得到了如下的優化問題:

maxγ,w,b γ

s.t. y(i)(wTx(i)+ b) ≥ γ, i = 1, . . . , m

||w|| = 1

也就是說,我們希望最大化γ,其中對於每一個樣本而言,每一個函數間隔值都不小於γ。其中,設定||w|| 固定為 1,能夠保證函數間隔等於幾何間隔,也能保證幾何間隔最小可達到γ。因此,解決這個優化問題後就可以得到該訓練集合的最大可能幾何間隔。

但是很難解決上面的優化問題,因為||w|| = 1是非凸優化,這就無法使用標準優化軟件去解決這個優化問題。因此,我們把這個優化問題轉化成相對簡單的問題,如下:

maxγ,w,b ?γ/||w||

s.t. y(i)

(wTx(i)+ b) ≥ ?γ, i = 1, . . . , m

這裏我們將要最大化?γ/||w||,約束條件是函數間隔最小達到。因為幾何間隔和函數間隔存在關系γ = ?γ/||w||,這將給我們想要的答案。此外,我們也擺脫了||w|| = 1的限制。但是依然存在的問題是我們要最優化的?γ/||w||仍然是一個非凸函數,也就是說我們仍然不能通過常規的優化軟件進行優化。

回想一下之前的討論,我們通過縮放wb的值並不影響最終的結果,這一點很關鍵。我們將通過介紹如何去縮放wb,使得訓練集合的函數間隔一定是1,即?γ = 1。因此wb乘以一個常數之後,得到的函數間隔也會相應的乘以該常數。這是一個比例約束,可以通過縮放

wb來滿足。把這一點加入我們上面的優化問題,可以得到最大化?γ/||w|| = 1 / ||w|| 與最小化||w||2 是一樣的效果(這裏已經沒有了 ||w|| = 1的限制)。因此,我們得到了如下的優化問題:

minγ,w,b ? * ||w||2

s.t. y(i)(wTx(i)+ b) ≥ 1, i = 1, . . . , m

我們現在已經把之前的問題轉化成一個相對容易解決的問題了。上面的優化是一個凸二次優化問題,而且是線性約束。該結果給出的是最優化間隔分類器。此外,該優化問題可以用商業二次規劃(quadratic programming,程序)程序來求解。

在解決這個優化問題之前,我們插入一段關於拉格朗日對偶(Lagrange duality)的介紹。這將使我們進入優化問題的對偶形式,這在後面提到的用核方法來優化最大間隔分類器中起到很重要的作用,能夠使該分類器在高維數據中更有效率的工作。此外,對偶形式能夠使我們比普通的QP代碼更有效率的解決上面的優化問題。

  1. 拉格朗日對偶

我們先把SVM和最大間隔分類放在一邊,這裏主要討論一下如何求解約束優化問題。考慮如下形式的問題:

minw f (w)

s.t. hi(w) = 0, i = 1, . . . , l.

在這裏我們將介紹拉格朗日乘子法(Lagrange multipliers)。在該方法中,我們定義拉格朗日算符(Lagrangian)如下:

L(w, β) = f (w) +

這裏的βi稱之為拉格朗日乘子(Lagrange multipliers)。求解該式的最優解,只需要使得L βi wi 的偏微分為0即可,如下:

之後只要求解出w β 即可。

在這部分,我們將把這個問題擴展到約束優化問題中,即找到約束優化中不等式來代替拉格朗日乘子法中的等式約束。這裏不再講解拉格朗日對偶理論和詳細的證明,但是仍將給出主要的方法和結果,以便我們能夠把該方法應用到最優間隔分類器的優化問題上。

考慮如下問題,我們稱之為原始優化問題(primal optimization problem)

minw f (w)

s.t. gi(w) ≤ 0, i = 1, . . . , k

hi(w) = 0, i = 1, . . . , l.

為了解決該問題,我們開始定義廣義拉格朗日(generalized Lagrangian)

L(w, α, β) = f (w) + +

這裏,αi βi都是拉格朗日乘子。考慮下式:

θP(w) = maxα,β : αi≥0 L(w, α, β)

這裏下標P表示原始的(primal)。現在我們賦一些值給w。如果w違反了原始限制(如對於某些igi(w) > 0 或者 hi(w) = 0),那麽我們將得到:

θP(w) = max f (w) + + = ∞

相反的,如果對於某個w,約束條件能夠很好的滿足,那麽θP(w) = f(w),因此有:

θP(w) =

因此,對於所有滿足原始約束條件的wθP取得相同的值作為我們問題的目標。如果不滿足約束條件,則θP結果為正無窮大。因此,考慮最小優化問題:

minw θP(w) = minw maxα,β : αi≥0 L(w, α, β)

我們可以看到這和原始優化問題是相同(具有相同的解)。為了後面的使用,我們定義最優目標值為p?= minw θP(w) ,稱之為原始問題解。

現在我們考慮一個稍微不同的問題,定義θD(α, β) = minw L(w, α, β),這裏的下標D表示對偶(dual)。註意這裏與θP不同,θP是針對α, β的最優化函數,而θD是針對w的最優化函數。現在,我們可以得到對偶優化問題:

maxα,β:αi ≥0 θD(α, β) = maxα,β:αi ≥0 minw L(w, α, β)

這恰好和原始問題一樣,只是我們改變了最大化和最小化的順序。我們定義該對偶問題的最優化值為d?= maxα,β : αi ≥0 θD(w)。那麽原始問題和該對偶問題有什麽聯系呢?很容易看出:d?= maxα,β:αi ≥0 minw L(w, α, β) ≤ minw maxα,β:αi≥0 L(w, α, β) = p?

當然,在某些情況下,存在d?= p? 。因此,我們可以通過解決對偶問題替換原始問題。我們來看看能夠替代的情況有哪些。

假設fg是凸函數,而且hi是仿射(Affine,類似於線性,但是允許截距項的存在)函數。此外,我們認為gi是可行的,即對於所有的i,存在w使得gi(w)<0 。針對該假設,一定存在w?, α?, β?使得w?為原始問題的解, α?, β?是對偶問題的解,而且p?= d?= L(w?, α?, β?)。此外,w?, α?, β?還滿足KKT條件(Karush-Kuhn-Tucker),如下所示。

技術分享圖片

此外,如果存在w?, α?, β?滿足KKT條件,那麽這也是原始問題和對偶問題的解。對於條件中α?igi(w?) = 0, i=1, ... ,k,稱之為KKT對偶互補條件(dual complementarity condition)。特別的,這裏暗含著如果α?i>0,那麽gi(w?) =0。之後,這在SVM中的支持向量(support vectors)起到關鍵作用。此外,KKT對偶互補條件也將在我們SMO的收斂測試中用到。

  1. 最優間隔分類器

之前我們討論了如下優化問題(即原始優化問題)來求得最優間隔分類器。

minγ,w,b ? * ||w||2

s.t. y(i)(wTx(i)+ b) ≥ 1, i = 1, . . . , m

我們可以把約束條件表示成如下形式:

gi(w) = ?y(i)(wTx(i)+ b) + 1 ≤ 0

針對每一個樣本,我們都存在該約束條件。根據KKT對偶互補條件αigi(w) = 0,我們知道僅對於訓練集合中函數間隔恰好等於1的樣本,才存在線性約束前面的系數αi > 0,也就是說這些約束式gi(w) = 0。對於其他不在線上的點(gi(w)<0),極值不會在他們所在的範圍內取得,αi = 0

看下面的圖:實線是最大間隔超平面,假設×號的是正例,圓圈的是負例。在虛線上的點就是函數間隔是1的點,那麽他們前面的系數αi > 0,其他點都是αi = 0。這三個點稱作支持向量。一般而言,支持向量數量相對於整個訓練集合而言是非常少的,之後我們會發現這是非常有用的。

技術分享圖片

之後,得到了我們優化問題的拉格朗日形式,如下:

技術分享圖片

註意到這裏只有αiβi ,因為原問題中沒有等式約束,只有不等式約束。接下來我們需要尋找該問題的對偶式。首先,對於給定的αiL(w, b, α)僅受wb影響,我們需要最小化L(w, b, α),只需要讓Lwb的偏微分為0。對w求偏微分如下:技術分享圖片

由此得到w = ,之後對b求偏微分得到:

技術分享圖片

我們把得到的w值帶回到構造的拉格朗日函數中,化簡如下:

技術分享圖片

由於 = 0,因此最終得到:

技術分享圖片

這裏我們把向量內積 (x(i))Tx(j) 表示為<(x(i)), x(j)>。此時的拉格朗日函數只包涵了變量αi,求解出αi之後即可以得到wb。根據對偶問題的求解,我們得到了如下的最大化問題:

技術分享圖片

這裏我們需要考慮p? = d? 的條件,即KKT條件。因為目標函數和線性約束都是凸函數,而這裏不存在等式約束h,存在w使得對於所有的i,使得gi(w) <= 0,因此存在w* a*使得w*是原問題的解, a*是對偶問題的解。這裏求解的aia*如果求解出了ai,根據w = 即可以求解出w(也就是w*,原問題的解)。同樣根據下式得到b

技術分享圖片

求解得到b,即距離超平面最近的正的函數間隔要等於距離超平面最近的負的函數距離。關於上面的對偶問題如何求解,在下一講中我們將采用SMO算法來闡明。

此外,我們額外考慮一下w的求解公式。假設我們已經通過訓練集合得到了模型的各個參數,現在要預測一個新的輸入x,我們需要計算wT+b ,如果得到的值大於0,那麽y=1。這裏我們把w = 考慮進去,得到如下結果,

技術分享圖片

由此可以看出,與之前計算wT+b不同,這裏只要計算新的樣本和訓練樣本的內積即可。當然,從前面的KKT條件中知道,只有支持向量的ai > 0,其他情況ai = 0,其他情況下ai=0。因此,我們只需要進算新的樣本和支持向量的內積就可以。

通過優化問題的對偶形式,我們更深入的看到了需要優化問題的結構,並且找到了能夠適合於特征向量內積的算法。在下一講,我們會討論核方法在高維數據中使用以及求解支持向量機的算法。

最優間隔分類器