一、支持向量机分类
二、线性可分支持向量机
训练数据集
T
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
,
y
n
)
T = {(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{n},y_{n})}
T=(x1,y1),(x2,y2),...,(xn,yn),二分类问题,数据线性可分,SVM思想是找出一个分割面
w
x
+
b
=
0
wx + b = 0
wx+b=0,将两个类别分开,使得两个类别的样本到分割面的最小距离最大,即分割面使得两个类别的间隔最大化。(下图的绿色线比红色线的分割效果好)
2.1 样本到分割面的距离
样本 ( x 0 , y 0 ) (x_{0},y_{0}) (x0,y0)( x 0 x_{0} x0是特征, y 0 y_{0} y0是标签)在直线 A x + B y + C = 0 Ax+By+C = 0 Ax+By+C=0的距离为 ∣ A x 0 + B y 0 + C ∣ ( A 2 + B 2 ) \frac{|Ax_{0}+By_{0}+C |} {\sqrt(A^{2}+B^{2})} (A2+B2)∣Ax0+By0+C∣。
2.1.2 函数间隔
数据集中任意一样本
(
x
i
,
y
i
)
(x_{i},y_{i})
(xi,yi)到分割面
w
x
i
+
b
=
0
wx_{i} + b = 0
wxi+b=0的函数间隔为
γ
i
=
y
i
(
w
x
i
+
b
)
\gamma_{i} = y_{i}(wx_{i} + b )
γi=yi(wxi+b).
当
w
,
b
w,b
w,b成比例放缩时,
γ
i
\gamma_{i}
γi的值也会成比例地变化,但是分割面没有改变,只是方程的形式变了。
为了便于优化,缩放
w
,
b
w,b
w,b使得
∣
w
x
i
+
b
∣
=
1
\left |wx_{i} + b \right| = 1
∣wxi+b∣=1,此时优化变几何间隔
γ
^
i
=
1
∣
∣
w
∣
∣
\hat \gamma_{i}=\frac{1}{\left ||w\right||}
γ^i=∣∣w∣∣1
2.2 优化目标
- 线性可分支持向量机是将所有的样本分类正确,即 y i ( w x i + b ) ≥ 1 ( i = 1 , 2 , . . . , n ) y_{i}(wx_{i} + b) \geq 1(i = 1,2,..., n) yi(wxi+b)≥1(i=1,2,...,n)
- 而且使得所有样本中到分割面的最小距离最大,即
max
w
1
∣
∣
w
∣
∣
\max_{w}\frac{1}{\left ||w\right||}
maxw∣∣w∣∣1.这可以等价于
min
w
1
2
∣
∣
w
∣
∣
2
\min_{w}\frac{1}{2}\left ||w\right||^{2}
minw21∣∣w∣∣2
这二者综合起来为:
min w 1 2 ∣ ∣ w ∣ ∣ 2 ( 2.2.1 ) \min_{w}\frac{1}{2}\left ||w\right||^{2} (2.2.1) wmin21∣∣w∣∣2(2.2.1)
s . t . y i ( w x i + b ) ≥ 1 ( i = 1 , 2 , . . . , n ) s.t. y_{i}(wx_{i} + b) \geq 1(i = 1,2,..., n) s.t.yi(wxi+b)≥1(i=1,2,...,n)
根据拉格朗日乘子法,优化目标可以转变为优化
min
w
,
b
max
λ
G
(
w
,
b
,
λ
)
(
2.2.2
)
\min_{w,b}\max_{\lambda} G(w,b,\lambda)(2.2.2)
w,bminλmaxG(w,b,λ)(2.2.2)
G
(
w
,
b
,
λ
)
=
1
2
∣
∣
w
∣
∣
2
+
Σ
i
λ
i
(
1
−
y
i
(
w
x
i
+
b
)
)
(
λ
i
≥
0
,
i
=
1
,
2
,
.
.
,
n
)
G(w,b,\lambda) = \frac{1}{2}\left ||w\right||^{2}+\Sigma _{i} \lambda_{i}(1-y_{i}(wx_{i} + b))(\lambda_{i} \geq 0,i=1,2,..,n)
G(w,b,λ)=21∣∣w∣∣2+Σiλi(1−yi(wxi+b))(λi≥0,i=1,2,..,n)
原始问题的对偶问题为
max
λ
min
w
,
b
G
(
w
,
b
,
λ
)
(
2.2.2
)
\max_{\lambda}\min_{w,b} G(w,b,\lambda)(2.2.2)
λmaxw,bminG(w,b,λ)(2.2.2)
2.3 等效优化目标求解
在最优值处,函数的偏导均为0,即:
∂
G
∂
w
=
0
(
2.3.1
)
\frac{\partial G}{\partial w} = 0 (2.3.1)
∂w∂G=0(2.3.1)
∂
G
∂
b
=
0
(
2.3.2
)
\frac{\partial G}{\partial b} = 0 (2.3.2)
∂b∂G=0(2.3.2)
将
G
(
x
)
G(x)
G(x)代如上面两式得
w
=
Σ
i
λ
i
y
i
x
i
(
2.3.3
)
w = \Sigma _{i} \lambda_{i}y_{i}x_{i}(2.3.3)
w=Σiλiyixi(2.3.3)
Σ
i
λ
i
y
i
=
0
(
λ
i
≥
0
,
i
=
1
,
2
,
.
.
,
n
)
(
2.3.4
)
\Sigma _{i} \lambda_{i}y_{i}=0 (\lambda_{i} \geq 0,i=1,2,..,n)(2.3.4)
Σiλiyi=0(λi≥0,i=1,2,..,n)(2.3.4)
将(2.3.3)~(2.3.4)
反代回
G
(
x
)
G(x)
G(x),对偶问题的求解变为:
max
λ
G
(
x
)
=
1
2
Σ
i
Σ
j
λ
i
λ
j
x
i
x
j
y
i
y
j
+
Σ
i
λ
i
(
1
−
y
i
(
Σ
j
λ
j
y
j
x
j
x
i
+
b
)
)
\max_{\lambda}G(x) = \frac{1}{2}\Sigma_{i}\Sigma_{j}\lambda_{i}\lambda_{j}x_{i}x_{j}y_{i}y_{j} +\Sigma _{i} \lambda_{i}(1-y_{i}( \Sigma _{j} \lambda_{j}y_{j}x_{j}x_{i}+b))
λmaxG(x)=21ΣiΣjλiλjxixjyiyj+Σiλi(1−yi(Σjλjyjxjxi+b))
max
λ
G
(
x
)
=
1
2
Σ
i
Σ
j
λ
i
λ
j
x
i
x
j
y
i
y
j
+
Σ
i
λ
i
(
1
−
y
i
(
Σ
j
λ
j
y
j
x
j
x
i
+
b
)
)
=
1
2
Σ
i
Σ
j
λ
i
λ
j
x
i
x
j
y
i
y
j
+
Σ
i
λ
i
−
Σ
i
y
i
Σ
j
λ
j
y
j
x
j
x
i
+
Σ
i
λ
i
y
i
b
=
−
1
2
Σ
i
Σ
j
λ
i
λ
j
x
i
x
j
y
i
y
j
+
Σ
i
λ
i
\begin{aligned} \max_{\lambda}G(x)&=\frac{1}{2}\Sigma_{i}\Sigma_{j}\lambda_{i}\lambda_{j}x_{i}x_{j}y_{i}y_{j}+\Sigma _{i} \lambda_{i}(1-y_{i}( \Sigma _{j} \lambda_{j}y_{j}x_{j}x_{i}+b))\\ &=\frac{1}{2}\Sigma_{i}\Sigma_{j}\lambda_{i}\lambda_{j}x_{i}x_{j}y_{i}y_{j}+\Sigma _{i} \lambda_{i}-\Sigma _{i}y_{i} \Sigma _{j} \lambda_{j}y_{j}x_{j}x_{i}+ \Sigma _{i} \lambda_{i}y_{i}b\\ &=-\frac{1}{2}\Sigma_{i}\Sigma_{j}\lambda_{i}\lambda_{j}x_{i}x_{j}y_{i}y_{j}+\Sigma _{i} \lambda_{i} \end{aligned}
λmaxG(x)=21ΣiΣjλiλjxixjyiyj+Σiλi(1−yi(Σjλjyjxjxi+b))=21ΣiΣjλiλjxixjyiyj+Σiλi−ΣiyiΣjλjyjxjxi+Σiλiyib=−21ΣiΣjλiλjxixjyiyj+Σiλi
s
.
t
.
λ
i
≥
0
,
i
=
1
,
2
,
.
.
,
n
s.t. \lambda_{i} \geq 0,i=1,2,..,n
s.t.λi≥0,i=1,2,..,n
假设
λ
∗
=
(
λ
1
∗
,
λ
2
∗
,
.
.
.
,
λ
n
∗
)
\lambda^{*} = (\lambda_{1}^{*},\lambda_{2}^{*},...,\lambda_{n}^{*})
λ∗=(λ1∗,λ2∗,...,λn∗)是对偶问题的解,由于优化目标
1
2
∣
∣
w
∣
∣
2
\frac{1}{2}\left ||w\right||^{2}
21∣∣w∣∣2是凸函数,满足KKT条件,所以
λ
∗
\lambda^{*}
λ∗也是原始问题的解,
w
∗
=
Σ
i
λ
i
∗
y
i
x
i
w^{*} = \Sigma _{i}\lambda_{i}^{*}y_{i}x_{i}
w∗=Σiλi∗yixi
b
∗
=
y
j
−
Σ
i
λ
i
∗
y
i
x
i
x
j
b^{*} =y_{j} - \Sigma _{i}\lambda_{i}^{*}y_{i}x_{i}x_{j}
b∗=yj−Σiλi∗yixixj
分割面
w
∗
x
+
b
∗
=
0
w^{*} x+b^{*}=0
w∗x+b∗=0
决策函数
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
f(x)=sign(w^{*} x+b^{*})
f(x)=sign(w∗x+b∗)
由
w
∗
,
b
∗
w^{*},b^{*}
w∗,b∗的表达式可以看出,
w
∗
,
b
∗
w^{*},b^{*}
w∗,b∗只与
λ
i
∗
>
0
\lambda_{i}^{*} \gt 0
λi∗>0对应的样本有关,其余的样本对其无影响。
λ
i
∗
>
0
\lambda_{i}^{*} \gt 0
λi∗>0对应的样本是支撑向量,这些样本满足
y
i
(
w
∗
x
i
+
b
∗
)
=
1
(
(
x
i
,
y
i
)
是
支
撑
向
量
)
y_{i}(w^{*} x_{i}+b^{*})=1((x_{i},y_{i})是支撑向量)
yi(w∗xi+b∗)=1((xi,yi)是支撑向量)
SVM:间隔最大化、拉格朗日公式、对偶问题、KKT条件
满足kkT条件可以转成对偶问题,对偶问题的解就是原问题的解(对偶问题容易求解,推广到非线性分类问题)
- 原始问题转成无约束化的拉格朗日函数
由于目标函数1/2||w||是凸函数,同时约束条件不等式是仿射的,根据凸优化理论,我们可以通过拉格朗日函数将我们的优化目标转化为无约束的优化函数 - 原始问题转成对偶问题
满足KKT条件 - 对偶问题求解
- 带入求处分割面
支撑向量,对应 α \alpha α>0对应的向量
α \alpha α求解,SMO算法