第二章、 相關研究與理論
2.3 支援向量機 ( Support Vector Machine )
「今天天氣很好」這句話正確的斷詞應為第二句
「(今天) (天氣) (很好) 」
而其它句的斷詞結果都會造成語意上不正確,語法上也沒有代表意義。
2.3 支援向量機
(Support Vector Machine)支援向量機[7]是由 Vapnik 在 1995 年所提出來的,在近幾年被廣泛用於解決 各種分類的問題上,逐漸已成為機器學習(Machine Learning)領域中極為熱門的 一種方法。
本論文對支援向量機分類的理論作最初步的探討[8],而有關更詳細深入之 資訊可另行再參考有關支援向量機的相關著作。
2.3.1 原理介紹
有關支援向量機分類方法的基礎定義:
xi:vector,表示一筆資料中的各個屬性,xi∈Rn,i=1,...,l
yi:Label 為+1 或-1,表示分類的兩種類別,yi∈{ ± 1},i=1,...,l f:decision function,決定函數,f:Rn→{ ± 1}
支援向量機分類理論的判斷,就是在給予一筆資料xi時,判斷該筆資 料是屬於哪一個類別(+1 或-1)。而分類原理是,在已給定的訓練資料群中,
找出一個超平面(hyperplane),目的是將這些訓練資料區分開來,見圖表 1。
圖表 1 超平面示意圖
支援向量機的分類方法也就是藉由找到相對應的w 和 b,來把資料切成 兩半,得到所謂的預測模型。而測試資料時,只要根據決定函數f:x.w + b 的值來做分類,若 f 的值大於 0,則該筆資料屬於+1,反之若 f 的值小於 0,
則該筆資料歸屬於-1。
而這樣的w 和 b 的可能性組合,有上千種甚至更多,所以支援向量機的 問題在於如何找到一個最合適的超平面。而此問題,可藉由尋找一個擁有最 大區域的分離超平面,使得資料能有效的分開,而這種方法更可有效地降低 測試錯誤。而此時支援向量機就必須滿足下列限制條件:
xi.w + b ≥ +1 ∀ y∈{+1} (1) xi.w + b ≤ -1 ∀ y∈{-1} (2) 組合等式(1)與等式(2),可得到下式
yi(xi.w + b)-1 ≥ 0 ∀ i (3) 在等式(1)中,對於適當的w 與 b 使得xi⋅w+b=1成立,則位於此平面上的 點xi到原點的垂直距離為|1−b| ||w||2。同樣地在等式(2)中,對於適當的w 與 b 使得xi⋅w+b=−1成立,則位於此平面上的點xi到原點的垂直距離為
||2
||
| 1
|− −b w 。因為此兩平面互相平行,因此定義Margin 為此兩平面的距離為
||2
||
2 w 。
下圖表2 表示一個擁有最大區域的分離超平面的示意圖。
圖表 2 最佳超平面示意圖
當使Margin 最大時產生,亦當使 w 最小化時,即可得到最佳的超平22 面。此時該問題可轉化為解凸面最佳化的問題(Convex Optimization
Problem),即在線性不等式的條件(Linear Inequality Constraints)下,對二次 函數(Quadratic Function)求最小化,亦即得到下列式子
minimize 22
2 1 w
subject to yi(xi.w + b)-1 ≥ 0 ∀ i=1,...,l
而上述式子為二次函數求極值的問題,可藉由Lagrangian Theorem 來幫 助解決,得到下式:
Lagrangian:
∑ ∑
= =
i
將式子(4)代回原Lagrangian,可得到其對偶格式(Dual Form),且是一 個最大化的問題:
接下來再利用最佳化理論的Karush-Kuhn-Tucker(KKT)條件,而式(3) 的KKT 條件求出如下,
透過KKT 條件(8)可得知,若(6)中的不等式限制(Inequality
Constraints)不等於零時,則 Lagrange Multipliers αi必為零;若(6)中的不等 式限制為零時,則Lagrange Multipliers αi ≠0。而在求出的αi之中,αi ≠0 對應的那些資料稱為支持向量(Support Vector),會使得等式(3)成立。
在訓練的過程中w 已經可以求出,而要求出 b,要再利用αi ≠0的資料,
透過KKT 條件(8)即可以求出。當把 w 跟 b 求出後,就可以找到一個具有 最大分離區域的超平面。