3.1 線性不可以分

轉自3.1 線性不可以分

  我們之前討論的情況都是建立在樣例線性可分的假設上,當樣例線性不可分時,我們可以嘗試使用核函數來將特徵映射到高維,這樣很可能就可分了。然而,映射後我們也不能100%保證可分。那怎麼辦呢,我們需要將模型進行調整,以保證在不可分的情況下,也能夠儘可能地找出分隔超平面。

  看下面兩張圖:

這裏寫圖片描述

  可以看到一個離羣點(可能是噪聲)可以造成超平面的移動,間隔縮小,可見以前的模型對噪聲非常敏感。再有甚者,如果離羣點在另外一個類中,那麼這時候就是線性不可分了。

  這時候我們應該允許一些點遊離並在在模型中違背限制條件(函數間隔大於1)。我們設計得到新的模型如下(也稱軟間隔):
          這裏寫圖片描述
  引入非負參數這裏寫圖片描述後(稱爲鬆弛變量),就允許某些樣本點的函數間隔小於1,即在最大間隔區間裏面,或者函數間隔是負數,即樣本點在對方的區域中。而放鬆限制條件後,我們需要重新調整目標函數,以對離羣點進行處罰,目標函數後面加上的這裏寫圖片描述就表示離羣點越多,目標函數值越大,而我們要求的是儘可能小的目標函數值。這裏的C是離羣點的權重,C越大表明離羣點對目標函數影響越大,也就是越不希望看到離羣點。我們看到,目標函數控制了離羣點的數目和程度,使大部分樣本點仍然遵守限制條件。

  模型修改後,拉格朗日公式也要修改如下:

     這裏寫圖片描述

  這裏的這裏寫圖片描述這裏寫圖片描述都是拉格朗日乘子,回想我們在拉格朗日對偶中提到的求法,先寫出拉格朗日公式(如上),然後將其看作是變量w和b的函數,分別對其求偏導,得到w和b的表達式。然後代入公式中,求帶入後公式的極大值。整個推導過程類似以前的模型,這裏只寫出最後結果如下:

         這裏寫圖片描述

  此時,我們發現沒有了參數這裏寫圖片描述,與之前模型唯一不同在於這裏寫圖片描述又多了這裏寫圖片描述的限制條件。需要提醒的是,b的求值公式也發生了改變,改變結果在SMO算法裏面介紹。先看看KKT條件的變化:

         這裏寫圖片描述

  第一個式子表明在兩條間隔線外的樣本點前面的係數爲0,離羣樣本點前面的係數爲C,而支持向量(也就是在超平面兩邊的最大間隔線上)的樣本點前面係數在(0,C)上。通過KKT條件可知,某些在最大間隔線上的樣本點也不是支持向量,相反也可能是離羣點。

10 座標上升法(Coordinate ascent)

  在最後討論這裏寫圖片描述的求解之前,我們先看看座標上升法的基本原理。假設要求解下面的優化問題:

              這裏寫圖片描述

  這裏W是這裏寫圖片描述向量的函數。之前我們在迴歸中提到過兩種求最優解的方法,一種是梯度下降法,另外一種是牛頓法。現在我們再講一種方法稱爲座標上升法(求解最小值問題時,稱作座標下降法,原理一樣)。

方法過程:

          這裏寫圖片描述

  最裏面語句的意思是固定除這裏寫圖片描述之外的所有這裏寫圖片描述,這時W可看作只是關於這裏寫圖片描述的函數,那麼直接對這裏寫圖片描述求導優化即可。這裏我們進行最大化求導的順序i是從1到m,可以通過更改優化順序來使W能夠更快地增加並收斂。如果W在內循環中能夠很快地達到最優,那麼座標上升法會是一個很高效的求極值方法。

  下面通過一張圖來展示:

             這裏寫圖片描述

  橢圓代表了二次函數的各個等高線,變量數爲2,起始座標是(2,-2)。圖中的直線式迭代優化的路徑,可以看到每一步都會向最優值前進一步,而且前進路線是平行於座標軸的,因爲每一步只優化一個變量。

3.2 核函數(Kernels)
  定義 3.1 (核或正定核)設是中的一個子集,稱定義在上的函數是核函數,如果存在一個從到Hilbert空間的映射

使得對任意的,都成立。其中表示Hilbert空間中的內積。

  考慮我們最初在“線性迴歸”中提出的問題,特徵是房子的面積x,這裏的x是實數,結果y是房子的價格。假設我們從樣本點的分佈中看到x和y符合3次曲線,那麼我們希望使用x的三次多項式來逼近這些樣本點。那麼首先需要將特徵x擴展到三維這裏寫圖片描述,然後尋找特徵和結果之間的模型。我們將這種特徵變換稱作特徵映射(feature mapping)。映射函數稱作這裏寫圖片描述,在這個例子中

               這裏寫圖片描述

  我們希望將得到的特徵映射後的特徵應用於SVM分類,而不是最初的特徵。這樣,我們需要將前面這裏寫圖片描述公式中的內積從這裏寫圖片描述,映射到這裏寫圖片描述

  至於爲什麼需要映射後的特徵而不是最初的特徵來參與計算,上面提到的(爲了更好地擬合)是其中一個原因,另外的一個重要原因是樣例可能存在線性不可分的情況,而將特徵映射到高維空間後,往往就可分了。(在《數據挖掘導論》Pang-Ning Tan等人著的《支持向量機》那一章有個很好的例子說明)

  將核函數形式化定義,如果原始特徵內積是這裏寫圖片描述,映射後爲這裏寫圖片描述,那麼定義核函數(Kernel)爲

             這裏寫圖片描述

  到這裏,我們可以得出結論,如果要實現該節開頭的效果,只需先計算這裏寫圖片描述,然後計算這裏寫圖片描述即可,然而這種計算方式是非常低效的。比如最初的特徵是n維的,我們將其映射到這裏寫圖片描述維,然後再計算,這樣需要這裏寫圖片描述的時間。那麼我們能不能想辦法減少計算時間呢?

  先看一個例子,假設x和z都是n維的,

這裏寫圖片描述

  展開後,得

    這裏寫圖片描述

  這個時候發現我們可以只計算原始特徵x和z內積的平方(時間複雜度是O(n)),就等價與計算映射後特徵的內積。也就是說我們不需要花這裏寫圖片描述時間了。

  現在看一下映射函數(n=3時),根據上面的公式,得到

            這裏寫圖片描述

  也就是說核函數這裏寫圖片描述只能在選擇這樣的這裏寫圖片描述作爲映射函數時才能夠等價於映射後特徵的內積。

  再看一個核函數

          這裏寫圖片描述

  對應的映射函數(n=3時)是

              這裏寫圖片描述
  更一般地,核函數這裏寫圖片描述對應的映射後特徵維度爲這裏寫圖片描述。(求解方法參見http://zhidao.baidu.com/question/16706714.html)。

  由於計算的是內積,我們可以想到IR中的餘弦相似度,如果x和z向量夾角越小,那麼核函數值越大,反之,越小。因此,核函數值是這裏寫圖片描述這裏寫圖片描述的相似度。

  再看另外一個核函數

           這裏寫圖片描述

  這時,如果x和z很相近(這裏寫圖片描述),那麼核函數值爲1,如果x和z相差很大(這裏寫圖片描述),那麼核函數值約等於0。由於這個函數類似於高斯分佈,因此稱爲高斯核函數,也叫做徑向基函數(Radial Basis Function 簡稱RBF)。它能夠把原始特徵映射到無窮維。

  既然高斯核函數能夠比較x和z的相似度,並映射到0到1,回想logistic迴歸,sigmoid函數可以,因此還有sigmoid核函數等等。

  下面有張圖說明在低維線性不可分時,映射到高維後就可分了,使用高斯核函數。

   這裏寫圖片描述

  來自Eric Xing的slides

  注意,使用核函數後,怎麼分類新來的樣本呢?線性的時候我們使用SVM學習出w和b,新來樣本x的話,我們使用這裏寫圖片描述來判斷,如果值大於等於1,那麼是正類,小於等於是負類。在兩者之間,認爲無法確定。如果使用了核函數後,這裏寫圖片描述就變成了這裏寫圖片描述,是否先要找到這裏寫圖片描述,然後再預測?答案肯定不是了,找這裏寫圖片描述很麻煩,回想我們之前說過的

         這裏寫圖片描述

  只需將這裏寫圖片描述替換成這裏寫圖片描述,然後值的判斷同上。

核函數有效性判定

  問題:給定一個函數K,我們能否使用K來替代計算這裏寫圖片描述,也就說,是否能夠找出一個這裏寫圖片描述,使得對於所有的x和z,都有這裏寫圖片描述

  比如給出了這裏寫圖片描述,是否能夠認爲K是一個有效的核函數。

  下面來解決這個問題,給定m個訓練樣本這裏寫圖片描述,每一個這裏寫圖片描述對應一個特徵向量。那麼,我們可以將任意兩個這裏寫圖片描述這裏寫圖片描述帶入K中,計算得到這裏寫圖片描述。I可以從1到m,j可以從1到m,這樣可以計算出m*m的核函數矩陣(Kernel Matrix)。爲了方便,我們將核函數矩陣和clip_image073[10]都使用K來表示。

  如果假設K是有效地核函數,那麼根據核函數定義

       這裏寫圖片描述

  可見,矩陣K應該是個對稱陣。讓我們得出一個更強的結論,首先使用符號這裏寫圖片描述來表示映射函數這裏寫圖片描述的第k維屬性值。那麼對於任意向量z,得

         這裏寫圖片描述

  最後一步和前面計算這裏寫圖片描述時類似。從這個公式我們可以看出,如果K是個有效的核函數(即這裏寫圖片描述這裏寫圖片描述等價),那麼,在訓練集上得到的核函數矩陣K應該是半正定的(這裏寫圖片描述

  這樣我們得到一個核函數的必要條件:

  K是有效的核函數 ==> 核函數矩陣K是對稱半正定的。

  可幸的是,這個條件也是充分的,由Mercer定理來表達。

Mercer定理:重點內容

  如果函數K是這裏寫圖片描述上的映射(也就是從兩個n維向量映射到實數域)。那麼如果K是一個有效核函數(也稱爲Mercer核函數),那麼當且僅當對於訓練樣例這裏寫圖片描述,其相應的核函數矩陣是對稱半正定的。

  Mercer定理表明爲了證明K是有效的核函數,那麼我們不用去尋找這裏寫圖片描述,而只需要在訓練集上求出各個這裏寫圖片描述,然後判斷矩陣K是否是半正定(使用左上角主子式大於等於零等方法)即可。

  許多其他的教科書在Mercer定理證明過程中使用了這裏寫圖片描述範數和再生希爾伯特空間等概念,但在特徵是n維的情況下,這裏給出的證明是等價的。

  核函數不僅僅用在SVM上,但凡在一個模型後算法中出現了這裏寫圖片描述,我們都可以常使用這裏寫圖片描述去替換,這可能能夠很好地改善我們的算法。

發佈了9 篇原創文章 · 獲贊 15 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章