10.1 支持向量
10.1.1 线性可分
D 0 D_0 D0 和 D 1 D_1 D1 是 n n n 维欧式空间中的两个点集。如果存在 n n n 维向量 W W W 和实数 w 0 w_0 w0,使得所有属于 D 0 D_0 D0 的点 X i X_i Xi 都有 W ⋅ X i + w 0 > 0 W\cdot X_i+w_0>0 W⋅Xi+w0>0,而对于所有属于 D 1 D_1 D1 的点 X j X_j Xj 则有 W ⋅ X j + w 0 < 0 W\cdot X_j+w_0<0 W⋅Xj+w0<0,则我们称 D 0 D_0 D0 和 D 1 D_1 D1 线性可分。
X i , i = 1 , 2 , ⋅ ⋅ ⋅ , N X_i,i=1,2,···,N Xi,i=1,2,⋅⋅⋅,N 为样本, y i , i = 1 , 2 , ⋅ ⋅ ⋅ , N y_i,i=1,2,···,N yi,i=1,2,⋅⋅⋅,N 为标量,
X = ( x 1 , x 2 , ⋅ ⋅ ⋅ , x n ) T , W = ( w 1 , w 2 , ⋅ ⋅ ⋅ , w n ) T X=(x_1,x_2,···,x_n)^T,W=(w_1,w_2,···,w_n)^T X=(x1,x2,⋅⋅⋅,xn)T,W=(w1,w2,⋅⋅⋅,wn)T 表示权向量。
10.1.2 最大间隔超平面
将 D 0 D_0 D0 和 D 1 D_1 D1 完全正确地划分开的 W X + w 0 = 0 WX+w_0=0 WX+w0=0 就成了一个超平面。
最大间隔超平面:以最大间隔把两类样本分开的超平面。
10.1.3 支持向量
样本中距离超平面最近的一些点叫做支持向量。
10.2 线性判别函数和判别面
间隔的大小:
m
a
r
g
i
n
=
2
∗
d
=
2
∣
∣
W
∣
∣
margin=2*d=\frac{2}{||W||}
margin=2∗d=∣∣W∣∣2
即求:
min
1
2
∣
∣
W
∣
∣
2
s
.
t
.
y
i
(
W
⋅
X
+
w
0
)
≥
1
(
i
=
1
,
2
,
⋅
⋅
⋅
,
N
)
\min\frac{1}{2}{||W||}^2\\ s.t. y_i(W\cdot X+w_0)\ge 1(i=1,2,···,N)
min21∣∣W∣∣2s.t. yi(W⋅X+w0)≥1(i=1,2,⋅⋅⋅,N)
求解最优分类面:
建立拉格朗日函数:
Q
(
λ
)
=
∑
i
=
1
N
λ
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
X
i
⋅
X
j
Q(\lambda)=\sum\limits_{i=1}^{N}\lambda_i-\frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\lambda_i\lambda_jy_iy_jX_i\cdot X_j
Q(λ)=i=1∑Nλi−21i=1∑Nj=1∑NλiλjyiyjXi⋅Xj
寻找最大化目标函数
Q
(
λ
)
Q(\lambda)
Q(λ) 的拉格朗日乘子
λ
i
i
=
1
N
{\lambda_i}_{i=1}^{N}
λii=1N,满足约束条件:
( 1 ) ∑ i = 1 N λ i y i = 0 ( 2 ) λ i ≥ 0 , i = 1 , 2 , ⋅ ⋅ ⋅ , N (1)\sum\limits_{i=1}^{N}\lambda_iy_i=0 \\ (2)\lambda_i\ge 0,i=1,2,···,N (1)i=1∑Nλiyi=0(2)λi≥0,i=1,2,⋅⋅⋅,N
(1) ∑ i = 1 N λ i y i = 0 \sum\limits_{i=1}^{N}\lambda_iy_i=0 i=1∑Nλiyi=0
(2) λ i ≥ 0 , i = 1 , 2 , ⋅ ⋅ ⋅ , N \lambda_i\ge 0,i=1,2,···,N λi≥0,i=1,2,⋅⋅⋅,N
由对偶问题解得
λ
∗
=
(
λ
1
,
λ
2
,
⋅
⋅
⋅
,
λ
N
)
T
\lambda^*=(\lambda_1,\lambda_2,···,\lambda_N)^T
λ∗=(λ1,λ2,⋅⋅⋅,λN)T,然后依
K
K
T
KKT
KKT 条件就有
W
∗
=
∑
i
=
1
N
y
i
λ
i
∗
X
i
W^*=\sum\limits_{i=1}^{N}y_i{\lambda_i}^*X_i
W∗=i=1∑Nyiλi∗Xi
由于
λ
i
[
y
i
(
W
⋅
X
i
+
w
0
)
−
1
]
=
0
\lambda_i[y_i(W\cdot X_i+w_0)-1]=0
λi[yi(W⋅Xi+w0)−1]=0,所以可取
∀
j
∈
{
i
∣
λ
i
∗
>
0
}
\forall j\in\{i|{\lambda_i}^*> 0\}
∀j∈{i∣λi∗>0},得
w
0
∗
=
y
j
−
∑
i
=
1
N
y
i
λ
i
∗
X
i
⋅
X
j
{w_0}^*=y_j-\sum\limits_{i=1}^{N}y_i{\lambda_i}^*X_i\cdot X_j
w0∗=yj−i=1∑Nyiλi∗Xi⋅Xj
最后得到最优分类面:
W
∗
⋅
X
+
w
0
∗
=
0
W^*\cdot X+{w_0}^*=0
W∗⋅X+w0∗=0
10.3 线性不可分下的判别面
三种情况下:
(1)特征向量都落在带状之外且都能正确分类。满足 y i ( W ⋅ X i + w 0 ) ≥ 1 y_i(W\cdot X_i+w_0)\ge 1 yi(W⋅Xi+w0)≥1。
(2)有些向量落在带状内,但仍能正确分类。满足 0 ≤ y i ( W ⋅ X i + w 0 ) < 1 0\le y_i(W\cdot X_i+w_0)<1 0≤yi(W⋅Xi+w0)<1。
(3)有些向量被错误分类。满足 y i ( W ⋅ X i + w 0 ) < 1 y_i(W\cdot X_i+w_0)<1 yi(W⋅Xi+w0)<1。
此时,可以在条件项中增加一个松弛项 { ξ i } i = 1 N , ξ i > 0 \{\xi_i\}_{i=1}^{N},{\xi}_i>0 {ξi}i=1N,ξi>0,使之成为 y i ( W ⋅ X i + w 0 ) ≥ 1 − ξ i y_i(W\cdot X_i+w_0)\ge 1-{\xi}_i yi(W⋅Xi+w0)≥1−ξi。第一种情况对应 ξ i = 0 {\xi}_i=0 ξi=0,第二种情况对应 0 < ξ i ≤ 1 0<{\xi}_i\le 1 0<ξi≤1,第三种情况对应 ξ i > 1 {\xi}_i>1 ξi>1。
求解最优分类面:
建立拉格朗日函数:
max
λ
(
∑
i
=
1
N
λ
i
−
∑
i
,
j
λ
i
λ
j
y
i
y
j
X
i
⋅
X
j
)
\max_{\lambda}(\sum\limits_{i=1}^{N}\lambda_i-\sum\limits_{i,j}\lambda_i\lambda_jy_iy_jX_i\cdot X_j)
λmax(i=1∑Nλi−i,j∑λiλjyiyjXi⋅Xj)
满足
0
≤
λ
i
≤
C
,
i
=
1
,
2
,
⋅
⋅
⋅
,
N
∑
i
λ
i
y
i
=
0
0\le \lambda_i\le C,i=1,2,···,N\\ \sum\limits_{i}\lambda_iy_i=0
0≤λi≤C,i=1,2,⋅⋅⋅,Ni∑λiyi=0
根据
λ
\lambda
λ,求得
W
、
w
0
W、w_0
W、w0,得到最优分类面
W
=
∑
i
=
1
N
λ
i
y
i
X
i
λ
i
[
y
i
(
W
⋅
X
i
+
w
0
)
−
1
+
ξ
i
]
=
0
W=\sum\limits_{i=1}^{N}\lambda_iy_iX_i\\ \lambda_i[y_i(W\cdot X_i+w_0)-1+{\xi}_i]=0
W=i=1∑NλiyiXiλi[yi(W⋅Xi+w0)−1+ξi]=0
10.4 非线性可分下的判别函数
使用 φ : X ⟶ Y \varphi:X\longrightarrow Y φ:X⟶Y ,将所有样本映射到高维空间,那么分割超平面可以表示为: f ( x ) = W ⋅ φ ( x ) + w 0 f(x)=W\cdot \varphi(x)+w_0 f(x)=W⋅φ(x)+w0。
求解:
max
∑
i
λ
i
−
1
2
∑
i
,
j
λ
i
λ
j
y
i
y
j
K
(
X
i
,
X
j
)
0
≤
λ
i
≤
C
,
∑
i
λ
i
y
i
=
0
\max\sum\limits_{i}\lambda_i-\frac{1}{2}\sum\limits_{i,j}\lambda_i\lambda_jy_iy_jK(X_i,X_j)\\ 0\le \lambda_i\le C,\sum\limits_{i}\lambda_iy_i=0
maxi∑λi−21i,j∑λiλjyiyjK(Xi,Xj)0≤λi≤C,i∑λiyi=0
先求出
λ
i
\lambda_i
λi,进而求出
W
、
w
0
W、w_0
W、w0:
W
=
∑
i
=
1
N
λ
i
y
i
φ
(
X
i
)
w
0
=
y
j
−
∑
i
=
1
N
y
i
λ
i
∗
φ
(
X
i
)
⋅
φ
(
X
j
)
W=\sum\limits_{i=1}^{N}\lambda_iy_i\varphi(X_i)\\ w_0=y_j-\sum\limits_{i=1}^{N}y_i{\lambda_i}^*\varphi(X_i)\cdot \varphi(X_j)
W=i=1∑Nλiyiφ(Xi)w0=yj−i=1∑Nyiλi∗φ(Xi)⋅φ(Xj)
这里,
j
j
j 使得
λ
j
>
0
\lambda_j>0
λj>0。最优非线性分类面为:
g
(
X
)
=
W
⋅
φ
(
X
)
+
w
0
=
∑
i
=
1
N
λ
i
y
i
K
(
X
i
,
X
j
)
+
w
0
g(X)=W\cdot \varphi(X)+w_0=\sum\limits_{i=1}^{N}\lambda_iy_iK(X_i,X_j)+w_0
g(X)=W⋅φ(X)+w0=i=1∑NλiyiK(Xi,Xj)+w0
其中
K
(
X
,
X
j
)
K(X,X_j)
K(X,Xj) 为核函数。