1. 程式人生 > >機器學習——SVM演算法原理(1)

機器學習——SVM演算法原理(1)

(1)線性可分支援向量機與硬間隔最大化

考慮一個二分類問題,假設輸入空間與特徵空間為兩個不同的空間,輸入空間為歐式空間或離散集合,特徵空間為歐式空間或希伯特空間。線性支援向量機假設這兩個空間的元素一一對應,並將輸入空間的輸入對映為特徵空間中的特徵向量,而非線性支援向量機利用一個從輸入空間到特徵空間的非線性對映將輸入對映為特徵向量。 假設給定一個特徵空間上的訓練資料集 T={(x1,y1),(x2,y2),...,(xn,yn)} (訓練資料集中,xi是特徵向量,yi表示xi屬於的類標記,取+1和-1,並且我們還假設訓練資料集是線性可分的) 學習目標: 在特徵空間中找到一個分離超平面:w·x+b=0 ,把特徵空間分為兩個部分,一部分是+1類,另一部分是-1類。 學習策略:
在感知機訓練中對於相同的學習目標,我們採用誤分類最小的策略,因此有無窮多解,但線上性可分支援向量機中,採用間隔最大為目標求得最優的分離超平面。 模型表示: 對於給定的訓練資料集,最優的分離超平面為:  w*·x+b*=0 分類決策函式: f(x) = sign(w*·x + b*) 模型表示:

1.間隔與間隔最大化

1.1函式間隔定義:

對於給定的訓練資料集T和超平面(w,b),定義超平面關於樣本點(xi,yi)的函式間隔為: 1) 定義超平面關於訓練資料集的函式間隔為:超平面關於樣本集T的所有樣本點(xi,yi)的函式間隔之最小值,即: (2)

1.2幾何間隔定義:

由於成比例的改變w和b會使函式間隔增大,而超平面不變,所以我們通過規範化w:令||w||=1,使得間隔確定,這時的間隔為幾何間隔:
(3)
同樣,我們定義超平面關於訓練資料集的幾何間隔為:超平面關於樣本集T的所有樣本點(xi,yi)的幾何間隔之最小值,即: (4)

1.3函式間隔與幾何間隔的關係:

由上述推導可知,兩者的關係為: (5)

2.間隔最大化:

支援向量機學習的基本思想就是找到幾何間隔最大的超平面把訓練資料資料正確劃分。對於線性可分資料,線性可分分離超平面有無窮多個,但幾何間隔最大的分離超平面是唯一的,這裡的間隔最大化又稱為:硬間隔最大化

2.1最大間隔分離超平面模型:

求解幾何間隔最大的分離超平面,可以表示為下面的約束優化問題: 6) (上述優化問題的目標函式是:尋找關於訓練資料最大的幾何間隔;約束條件:所有訓練資料的幾何間隔都不小於γ) 根據上面(5)的間隔關係,我們得到:
7) 由上述(7)的約束優化問題我們可以看出,的取值不會影響優化問題的求解,因此我們取= 1,並且可以知道最大化和最大化是等價的,因此,我們就得到了線性可分支援向量機學習的最優化問題: 8) 這是一個凸二次規劃問題,我們可以採用拉格朗日對偶問題進行求解。

2.2.線性可分支援向量機學習演算法——最大間隔法


3.線性可分支援向量機的優化問題求解

3.1拉格朗日對偶性



3.2對偶演算法求解線性可分支援向量機的最優化問題

我們利用原優化問題的對偶形式求解,首先構建原優化問題的拉格朗日函式: (9)
(其中,α=(α1,α2,α3,...αN)T 為拉格朗日乘子向量) 根據拉格朗日對偶性,原始問題的對偶問題是一個極大極小問題: 10) 針對(10)的優化問題,我們採用先求L(w,b,α)對w,b的極小,再求α的極大。
(10)
上式(10)即為線性可分支援向量機優化問題的對偶形式,假設存在(10)式優化問題的解為:α*,那麼根據拉格朗日對偶性定理,可以得到原問題的最優解為:

3.3線性可分支援向量機對偶學習演算法



4.總結

線性可分支援向量機演算法通過計算最大間隔找到最優的劃分線性可分資料的超平面。在超平面(w,b)的求解上,首先介紹了直接求解最大間隔(通過求解超平面係數向量w,b)的演算法,然後介紹了該優化問題的對偶問題(通過拉格朗日函式對偶性),把求解兩個向量變數(w,b)的優化問題簡化為求解一個拉格朗日乘子向量(α)。