1. 程式人生 > 實用技巧 >ISLR讀書筆記十六:最大邊際分類器(maximal margin classifier)

ISLR讀書筆記十六:最大邊際分類器(maximal margin classifier)

最大邊際分類器

前言

本篇和接下來的兩篇將介紹一種重要的分類方法:支援向量機(support vector machines)。本篇主要講的是最大邊際分類器(maximal margin classifier),是支援向量機的基礎。接下來兩篇將分別介紹支援向量分類器(support vector classifier)、支援向量機(support vector machines)。

超平面

超平面(hyperplane)指的是 p p p 維空間的 p − 1 p-1 p1 維線性子空間,比如二維空間的超平面是一條直線,三維空間的超平面是一個平面。

一般的,可以用下式表示 p p p 維空間的超平面:
β 0 + β 1 X 1 + β 2 X 2 + … + β p X p = 0 \beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}=0 β0+β1X1+β2X2++βpXp=0
超平面將 p p p 維空間劃分成了
β 0 + β 1 X 1 + β 2 X 2 + … + β p X p > 0 \beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}>0 β0+β
1
X1+
β2X2++βpXp>0

β 0 + β 1 X 1 + β 2 X 2 + … + β p X p < 0 \beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\ldots+\beta_{p} X_{p}<0 β0+β1X1+β2X2++βpXp<0
兩個半空間。

分離超平面

對於二分類問題,可以利用分離超平面(separating hyperplane)來進行分類。分離超平面有如下性質
β 0 + β 1 x i 1 + β 2 x i 2 + … + β p x i p > 0 if y i = 1 \beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}>0 \text { if } y_{i}=1

β0+β1xi1+β2xi2++βpxip>0ifyi=1
β 0 + β 1 x i 1 + β 2 x i 2 + … + β p x i p < 0 if y i = − 1 \beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}<0 \text { if } y_{i}=-1 β0+β1xi1+β2xi2++βpxip<0ifyi=1
所以,由上兩式可以得到,分離超平面有如下性質
y i ⋅ ( β 0 + β 1 x i 1 + β 2 x i 2 + … + β p x i p ) > 0 y_i\cdot(\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p})>0 yi(β0+β1xi1+β2xi2++βpxip)>0
對於測試資料 x ∗ x^* x,可以用 f ( x ∗ ) = β 0 + β 1 x 1 ∗ + β 2 x 2 ∗ + … + β p x p ∗ f(x^*)=\beta_{0}+\beta_{1} x^*_{1}+\beta_{2} x^*_{2}+\ldots+\beta_{p} x^*_{p} f(x)=β0+β1x1+β2x2++βpxp 的符號來進行分類。如果 f ( x ∗ ) > 0 f(x^*)>0 f(x)>0,那麼將其分配給類 1,否則分配給類 -1。

最大邊際超平面

由上圖可以看出,分離超平面可能有很多個,那麼要如何進行選擇呢?一個自然的想法是選擇最大邊際超平面(maximal margin hyperplane),即使得邊際儘可能地大,更具體地說,是使得每點到分離超平面的距離的最小值(稱作邊際(margin)),儘可能地大。從直觀上看,最大邊際超平面,代表插入兩個類之間的最大空檔正當中的一塊板。

這個最大空擋上的點,稱作是支援向量(support vector),因為它們支援(support)起了這個最大邊際超平面,只有當這些點發生改動的時候,最大邊際超平面才會改動,也就是說,其餘的點,不影響最大邊際超平面,最大邊際超平面只與這一部分支援向量有關。

最大邊際超平面是如下優化問題的解:
maximize ⁡ β 0 , β 1 , … , β p M subjectto ∑ j = 1 p β j 2 = 1 y i ( β 0 + β 1 x i 1 + β 2 x i 2 + … + β p x i p ) ≥ M ∀ i = 1 , … , n . \begin{array}{l} \underset{\beta_{0}, \beta_{1}, \ldots, \beta_{p}}{\operatorname{maximize}} M \\ \text { subject to } \sum_{j=1}^{p} \beta_{j}^{2}=1 \\ y_{i}\left(\beta_{0}+\beta_{1} x_{i 1}+\beta_{2} x_{i 2}+\ldots+\beta_{p} x_{i p}\right) \geq M \forall i=1, \ldots, n . \end{array} β0,β1,,βpmaximizeMsubjecttoj=1pβj2=1yi(β0+β1xi1+β2xi2++βpxip)Mi=1,,n.
約束條件中,等式約束是為了讓不等式約束的左邊,等於該點到超平面的距離,不等式約束是為了確保是分離超平面。

以上的情況是針對線性可分的情況,即是存在分離超平面的前提下討論的,但更多的情況是,分離超平面根本不存在,比如下圖

這個時候該怎麼處理呢?且看下集:支援向量分類器。