• 沒有找到結果。

第二章 相關研究

2.1 概述支撐向量機

本論文只對支撐向量機( Support Vector Machine, SVM )作一個概略性的敘 述,有興趣的讀者可以參考 [3][4]。SVM 是一個尋找兩個不同類別資料間的最 佳切割平面( Optimal Separating Hyperplane, OSH )或者是估測資料間的最佳迴 歸式( Regression )。本論文採用的是 SVM 在尋找最佳切割平面上的功能。SVM 之所以會被重視且看好的原因,是因為SVM 在求解時相當於在解一個 quadratic programming problem( QP problem ),而對於 QP 問題來說,已經有相當厚實的 數學理論基礎在支撐著它,只要其滿足一些特性就能夠確保所找到的解是全域最 佳解( global solution )而不是局部解( local solution ) [12]。基本上,SVM 可以分 成可分割( separable )與不可分割( non-separable )兩種類型,其又可以細分成線性 可分( linearly separable ),線性不可分( linearly non-separable ),非線性可分 ( non-linearly separable )和非線性不可分( non-linearly non-separable )四種狀

況。

(a) (b)

圖 2-1 (a) 兩類資料的切割平面但 margin 較小。(b) 較大 margin 的切割平面,也是這兩類資料的最佳 切割平面,因其具備最大的margin。

2.1.1 線性的支撐向量機( Linear Support Vector Machine )

以最簡單的線性可分的案例來說,給定一組資料集合{xi , yi},i = 1,…, n, xiRd, yi ∈ {-1, +1}, xi代表第 i 筆資料的特徵向量, yi表示其所屬的類別。我們希望 能夠找到一個能夠分開 "+1" 與 "-1" 這兩類資料的平面( hyperplane )。考慮這類 平面函數的家族:

b b

f(x)=wx+ =wTx+ (2.1) SVM 就是要從中找到合適的 w* 和 b* 使得 sgn(w*⋅xi + b*) = sgn(yi),而

*

) *

( b

f x =wx+ 就是SVM的最佳切割平面。所謂的最佳切割平面就是能夠完 全的區分資料且擁有最大margin 的平面,而margin 就是各類別中最靠近切割 平面的資料到切割平面的最短距離, 如圖 2-1。為了求得最大 margin 的切割平

面,我們必須解決以下的含有限制條件的最佳化問題( optimization problem with constraints ):

n 我們稱(2.2)式為最佳化問題的 primal form,而因為大部分時候 primal form 較難解,通常都被轉換到dual form 的型式,試圖能夠較簡單的來解此問題。

藉由引進Lagrange multipliers 來將 primal form 轉到 dual form,轉換方式 如下:

n

x λ 。根據 KKT complementarity con-ditions,最佳解 Λ* , w* , b* 必需滿足 需要知道支撐向量和其相對應的Lagrange multipliers 就可以知道我們的最佳 切割平面。換句話說,如果沒有了支撐向量,那麼這個平面也就會隨之瓦解。

但是並非所有的資料都可以被線性分割,所以上述的型式就沒辦法適用 不可分割的情況。針對這樣的問題,如果我們還是想要尋找一個適當的線性 切割平面,則勢必要容忍一些誤差的狀況發生,因此SVM 引進了一個新的變

slack variable,ξi。則尋找最大margin 變成了尋找最大的 margin 但是必

2.1.2 非線性的支撐向量機 ( Nonlinear Support Vector Machine )

為了節省從輸入空間轉換到特徵空間的運算量,SVM 定義了 kernel func-tion, K(xi, xj) = φ(xi)⋅φ(xj)。為了確保(2.14)式有解,且找到的解是全域最佳解 ( global optimal solution ),函數 F(Λ) 必須是 convex function [12]。因為 F(Λ) 是 quadratic function , 所 以 kernel 矩 陣 K(,) 必 須 半 正 定 ( positive semi-definite )或正定( positive definite ),因此 kernel function 必須滿足 Mer-cer’s condition [3][12],也就是

R 因為kernel function 可以表現出資料在特徵空間中的內積行為,不僅可以節省 轉換所需要的運算量,也可以不需要真的造出轉換函數。雖然 kernel function 有著這些優點,但是要真正找到一個合適且滿足Mercer’s condition

2-1 kernel functions

Classifier Type Kernel function Polynomial K(xi,x)=[g(xix)+b]p

Radial basis function (RBF) } exp{ 2 kernel 及 polynomial kernel 是較常被使用且有不錯表現能力的 kernel。

相關文件