1. 程式人生 > >第四講:感知機+SVM+LR(下)

第四講:感知機+SVM+LR(下)

主要內容

2. 支援向量機(下)

    2.3 軟間隔最大化

        2.3.1 線性支援向量機

        2.3.2 學習的對偶演算法

    2.4 序列最小最優化演算法

        2.4.1 SMO演算法及求解

    2.5 SVM的損失函式解釋

    2.6 核函式的簡要介紹

        2.6.1 核技巧與常見核函式

3. 邏輯斯蒂迴歸(上)

    3.1 模型

    3.2 決策邊界

    3.3 MLE和代價函式

    3.4 引數求解


2.支援向量機(下)

2.3 軟間隔最大化


上一講我們給大家介紹了支援向量機應對線性可分資料時的演算法,很顯然它對於線性不可分資料不在適用了,那麼這一講將會為大家介紹如何通過硬間隔過渡到軟間隔來應對線性不可分問題。怎麼才能將它擴充套件到線性不可分問題呢?這就需要修改硬間隔最大化中的一些約束條件了。

2.3.1 線性支援向量機



回顧上一講中的內容,我們知道對於線性可分的情況(上圖的左側),硬間隔最大化的結果是我們可以找到這樣一個最大間隔,它將正負樣本完美的區分開來,且這個間隔為,平分這個間隔的分介面是。它是一道樣本無法逾越的"紅線" ,距離這個分介面最近的樣本在上。並且對於所有樣本來說,都滿足約束


這樣的樣本都比較“乖巧”,但現實情況下總有一些比較“淘氣”的樣本它跨越了這條“紅線”(線性不可分),我們用來表示它跨越的程度(鬆弛變數)。


✓ 當時,,這個時候的樣本都比較“乖”,它離我們的分介面遠遠的,並且都被正確分類。因此討論這種情況沒有多大意義。


✓ 當

時,,有些樣本對“紅線”對岸的“世界”產生了一些想法,開始靠近最大間隔,並停留在了這個間隔的邊界上,這個時候,我們的最大間隔還是存在的並且保持不變。


✓ 當時,樣本朝著“紅線”更近了一步,它跨越了這個最大間隔的邊界!這個時候,資料依然是線性可分的,硬間隔最大化依然能夠解決目前的處境,只不過,因為這些“調皮”的樣本,我們的這個最大間隔比之前變的更窄了。


✓ 當時,,“倔強”的樣本終於到達了“紅線”,也能夠想象到,當時,我們的硬間隔最大化演算法不斷的縮小間隔,直到變成了一條線(紅線處)。這個時候,兩側樣本剛好在這個紅線處相遇。


✓ 當時,,樣本跨越了“紅線”,進入了對方的領域,這個時候資料就變得線性不可分了。


通過以上的分析,我們知道線性不可分意味著某些樣本點(xi,yi)不在滿足函式間隔大於等於1的約束條件。為了解決這個問題,可以對每個樣本點(xi,yi)引進一個鬆弛變數ξi≥0,使函式間隔加上鬆弛變數大於等於1。這樣約束條件變為


通過上面的約束,我們依然能夠找到最大間隔,只不過我們也允許SVM犯錯,使得一部分樣本進入到間隔內部,同時保證這樣的樣本最少,而對於絕大多數樣本來說被這個最大間隔完美的區分開了。


因此,可以和訓練資料集線性可分時一樣來考慮訓練資料集線性不可分的線性支援向量機學習問題。相應於硬間隔最大化,它稱為軟間隔最大化。


線性不可分的線性支援向量機的學習問題變成如下凸二次規劃問題:

其中最小化項比起硬間隔最大化多了,C稱為懲罰引數,最小化上式,一方面使得儘可能的小,即間隔儘量大,另一方面又想讓儘可能小,即間隔也不能太大了,對應於誤分類點儘量少。對於給定的線性不可分的訓練資料集,通過求解凸二次規劃問題,即軟間隔最大化得到的分離超平面為

以及相應的分類決策函式

稱為線性支援向量機



2.3.2 學習的對偶演算法 

 

同硬間隔最大化一樣,軟間隔最大化也有相應的對偶演算法,原始最優化問題的拉格朗日函式是


對偶問題是拉格朗日函式的極大極小問題。首先求該L函式對w,b,ξ 的極小,由


將上式帶入拉格朗日函式,得

再對


求α的極大,即得對偶問題:


通過對約束條件進行變換,最終對偶問題是:


是上述對偶問題的一個解,原始最優化問題的解為w*和b*。接下來求原始最優化問題的解。


原始問題是凸二次規劃問題,解滿足KKT條件,即得

再由

若存在α*的一個分量α*j,0<α*j<c,則:


那麼可求得

最終分類決策函式可寫為:


2.4 序列最小最優化演算法


好了,當目前為止,我們已經能夠很從容的面對資料了,無論它是線性可分還是不可分的情況。當來了一批資料之後,你按照上面的給出的演算法,首先列出它的最小化式,然後是各種需要滿足的條件,當資料量很小的時候,還不算麻煩,當資料量增大到一定量級之後,你發現情況開始不受控制,不等式越寫越多,就算是寫起程式來也相當繁瑣,這個時候就輪到序列最小最優化演算法(sequential minimal optimization,SMO)出場了。


  支援向量機的學習問題可以形式化為求解凸二次規劃問題。這樣的凸二次規劃問題具有全域性最優解,並且有許多最優化演算法可以用於這一問題的求解。當訓練樣本容量很大時,我們需要一些快速實現演算法來提高支援向量機的效率。

2.4.1 SMO演算法及求解


SMO演算法要解如下凸二次規劃的對偶問題:


SMO演算法是一種啟發式演算法,其基本思路是:如果所有變數的解都滿足此最優化問題的KKT條件,那麼這個最優化問題的解就得到了。整個SMO演算法包括兩個部分:求解兩個變數二次規劃的解析方法和選擇變數的啟發式方法。下面給出SMO演算法的具體步驟:

  (1)取初值,令k=0;

  (2)選取優化變數 解析求解兩個變數的最優化問題,求得最優解,更新

  (3)若在精度範圍內滿足停機條件

其中,

則轉(3);否則令k=k+1,轉(2);

  (4)

2.5 SVM的損失函式解釋


經過之前的介紹,相信大家已經對SVM有所體會了,但瞭解的還是比較表面,通過感官直覺我們知道要想取得比較好的分類效果,只需要間隔最大化就好了,但作為一種演算法,若是能夠從損失函式的角度來描述這種間隔最大化的優化策略,那麼理解的也許會更加深入。


那麼SVM的損失函式長什麼樣呢?大概就是下面這樣:


然而,線性支援向量機原始最優化問題是:

你可能會有疑問,這兩者等價嗎?事實上它是等價的。


首先我們令:

其中下標“+”表示以下取正值的函式。例如:



也就是說,當樣本點被正確分類且函式間隔大於1時,損失為0,否則損失是,用圖形來表示:


因為形似“合頁”,因此也稱為合頁損失(或鉸鏈損失,hinge loss)。之前我們在介紹感知機的時候,有這樣一個對比:


這有什麼區別嗎?我們把它倆的損失函式都畫出來:

其中綠線表示SVM的損失函式,紫線表示感知機的損失函式,當大於0的時候,感知機的loss直接就為0了,也就是說,它只需要分對就行了,“做事”比較粗糙,而對於SVM來說,大於0,損失依然存在,直到大於等於1,它才對分類結果比較滿意,loss才降為0,換句話來說,SVM“做事”比較嚴謹。


ok,介紹完合頁損失,我們接著從上面的SVM損失來說:

接著變形:

時,上述兩者等價。從這兒也可以看出SVM是建立在結構風險最小化的基礎上的。

2.6 核函式的簡要介紹


  設是輸入空間(歐式空間的子集或離散集合),又設為特徵空間(希爾伯特空間),如果存在一個從的對映

使得對所有的x,z,函式K(x,z)滿足條件

則稱K(x,z)為核函式,為對映函式,式中為內積.

下面通過一個簡單的例子來說明核函式和對映函式的關係。


圖示如下:

或者這種亦或的情況,將二維資料對映到三維:


2.6.1 核技巧與常見核函式  


在來回頭看看非線性支援向量機的對偶問題:


其中計算的是資料矩陣的第i維與第j維的內積,這其實是比較低維的輸入空間,如果將它通過核技巧,將它對映到高維,變得線性可分,再依靠SVM線上性可分問題上強大的分類能力,問題似乎變得簡單起來了。

常見的核函式有:


當然,核函式也不是萬能鑰匙,並不是說你用了核函式之後,資料就一定線性可分了,這就要看看哪個更符合自己的資料分佈特性。


1.多項式核函式(polynomial kernel function)

對應的支援向量機是一個p次多項式分類器。在此情形下,分類決策函式成為

2.高斯核函式(Gaussian kernel function)

對應的支援向量機是高斯徑向基函式分類器。在此情形下,分類決策函式成為

3.字串核函式

核函式不僅可以定義在歐式空間上,還可以定義在離散資料的集合上。比如,字串核是定義在字串集合上的核函式。字串核函式在文字分類,資訊檢索,生物資訊學等方面都有應用。

3.邏輯斯蒂迴歸(上)

3.1 模型

  邏輯斯蒂迴歸是統計學習中的經典分類方法。最大熵是概率模型學習的一個準則,將其推廣到分類問題得到最大熵模型。邏輯斯蒂迴歸模式與最大熵模型都屬於對數線性模型。

   邏輯斯蒂分佈的定義:設X是連續隨機變數,X服從邏輯斯蒂分佈是指X具有下列分佈函式和密度函式:

式中,為位置引數,為形狀引數。

   邏輯斯蒂分佈的密度函式f(x)和分佈函式F(x)的圖形如下圖。

分佈函式屬於邏輯斯蒂函式,其圖形是一條S形曲線。該曲線以點

為中心對稱,即滿足

曲線在中心附近增長速度較快,在兩端增長速度較慢。形狀引數的值越小,曲線在中心附近增長得越快。

二項邏輯斯蒂迴歸模型是一種分類模型,由條件概率分佈

P(Y|X)表示,形式為引數化的邏輯斯蒂分佈。這裡的隨機變數X取值為實數,隨機變數Y取值為1或0。通過監督學習的方法來估計模型引數。條件概率分佈:


將線性函式w*x轉換為概率:

這時,線性函式的值越接近正無窮,概率值就越接近1;線性函式的值越接近負無窮,概率值就越接近0。


3.2 決策邊界

  模型:

決策規則:

      決策邊界:


3.3 MLE和代價函式

策略:


3.4 引數求解

演算法:


雖然我們給出了邏輯斯蒂迴歸的梯度下降演算法,但是其實這是有一些隱含條件需要我們去證明的,這是一個凸優化問題嗎?很顯然是的,不然也不會直接給出它的演算法了,那麼下一講,我們將證明這個結論,並且將開啟「整合學習」這個新的旅程。感謝閱讀!