ISLR讀書筆記十六:最大邊際分類器(maximal margin classifier)
最大邊際分類器
前言
本篇和接下來的兩篇將介紹一種重要的分類方法:支援向量機(support vector machines)。本篇主要講的是最大邊際分類器(maximal margin classifier),是支援向量機的基礎。接下來兩篇將分別介紹支援向量分類器(support vector classifier)、支援向量機(support vector machines)。
超平面
超平面(hyperplane)指的是
p
p
p 維空間的
p
−
1
p-1
p−1 維線性子空間,比如二維空間的超平面是一條直線,三維空間的超平面是一個平面。
β 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+β
β 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
+
β
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,…,βpmaximizeMsubjectto∑j=1pβj2=1yi(β0+β1xi1+β2xi2+…+βpxip)≥M∀i=1,…,n.
約束條件中,等式約束是為了讓不等式約束的左邊,等於該點到超平面的距離,不等式約束是為了確保是分離超平面。
以上的情況是針對線性可分的情況,即是存在分離超平面的前提下討論的,但更多的情況是,分離超平面根本不存在,比如下圖
這個時候該怎麼處理呢?且看下集:支援向量分類器。