1.原始问题
对于线性可分的
d
d
d维训练样本集合
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
m
,
y
m
)
}
D=\{(\pmb{x_1}, y_1), (\pmb{x_2}, y_2), ..., (\pmb{x_m}, y_m)\}
D={(x1x1x1,y1),(x2x2x2,y2),...,(xmxmxm,ym)},
y
i
∈
{
−
1.
+
1
}
y_i \in\{-1.+1\}
yi∈{−1.+1},求该超平面的方程。
规定样本点不得落在超平面边界上,则由极限的定义,必然存在两个平行的、亦可划分训练集的超平面:
w
T
x
+
b
+
1
=
0
\pmb{w}^T\pmb{x}+b+1=0
wwwTxxx+b+1=0
w
T
x
+
b
−
1
=
0
\pmb{w}^T\pmb{x}+b-1=0
wwwTxxx+b−1=0不妨设证样本在上,负样本在下。则超平面:
w
T
x
+
b
=
0
\pmb{w}^T\pmb{x}+b=0
wwwTxxx+b=0是一个解,输出参数(
w
,
b
\pmb{w},b
www,b)。
为了得到一个合理的解,我们要求前面两个超平面的距离(”margin“)尽可能远,这个距离在参考高中的”点到直线距离公式“,即:
max
w
,
b
2
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
+
b
)
≥
1
,
i
=
1
,
2
,
3
,
.
.
.
,
m
\max_{w,b}{\dfrac{2}{||\pmb{w}||}}\ \ \ \ s.t.\ y_i(\pmb{w}^T\pmb{x}+b)\geq1,\ \ \ i=1,2,3,...,m
w,bmax∣∣www∣∣2 s.t. yi(wwwTxxx+b)≥1, i=1,2,3,...,m
等价于
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
,
i
=
1
,
2
,
3
,
.
.
.
,
m
\min_{w,b}{\dfrac{1}{2}||\pmb{w}||^2}\ \ \ \ s.t.\ 1-y_i(\pmb{w}^T\pmb{x}_i+b)\leq0,\ \ \ i=1,2,3,...,m
w,bmin21∣∣www∣∣2 s.t. 1−yi(wwwTxxxi+b)≤0, i=1,2,3,...,m
需要注意的是,虽然这里的优化目标函数与b无关,但是
w
和
b
\pmb{w}和b
www和b同为自变量。可看作目标函数中b的系数为0。
2.对偶问题
写出上式的拉格朗日函数
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
L(\pmb{w},b,\pmb{\alpha})=\dfrac{1}{2}||\pmb{w}||^2+\sum_{i=1}^{m}\alpha_i(1-y_i(\pmb{w}^T\pmb{x}_i+b))
L(www,b,ααα)=21∣∣www∣∣2+i=1∑mαi(1−yi(wwwTxxxi+b))其中
α
i
≥
0
\alpha_i\geq0
αi≥0。
对
(
d
+
1
)
(d+1)
(d+1)个自变量分别求偏导,并令为0:
∂
L
∂
b
=
∑
i
=
1
m
−
α
i
y
i
=
0
\dfrac{\partial L}{\partial b}=\sum_{i=1}^{m}-\alpha_iy_i=0
∂b∂L=i=1∑m−αiyi=0
∂
L
∂
w
j
=
w
j
−
∑
i
=
1
m
α
i
y
i
x
i
j
=
0
\dfrac{\partial L}{\partial w_j}=w_j-\sum_{i=1}^{m}\alpha_iy_ix_{ij}=0
∂wj∂L=wj−i=1∑mαiyixij=0
把偏导数的结果带回原拉格朗日函数,消去
w
\pmb{w}
www和
b
b
b:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
=
∑
i
=
1
m
α
i
+
1
2
∣
∣
w
∣
∣
2
−
w
T
∑
i
=
1
m
α
i
y
i
x
i
=
∑
i
=
1
m
α
i
−
1
2
∣
∣
w
∣
∣
2
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
\begin{array}{} L(\pmb{w},b,\pmb{\alpha})&&=\dfrac{1}{2}||\pmb{w}||^2+\sum_{i=1}^{m}\alpha_i(1-y_i(\pmb{w}^T\pmb{x}_i+b))\\ &&=\sum_{i=1}^{m}\alpha_i+\dfrac{1}{2}||\pmb{w}||^2-\pmb{w}^T\sum_{i=1}^{m}\alpha_iy_i\pmb{x}_i\\ &&=\sum_{i=1}^{m}\alpha_i-\dfrac{1}{2}||\pmb{w}||^2\\ &&=\sum_{i=1}^{m}\alpha_i-\dfrac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j\pmb{x}_i^T\pmb{x}_j \end{array}
L(www,b,ααα)=21∣∣www∣∣2+∑i=1mαi(1−yi(wwwTxxxi+b))=∑i=1mαi+21∣∣www∣∣2−wwwT∑i=1mαiyixxxi=∑i=1mαi−21∣∣www∣∣2=∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjxxxiTxxxj
得到原问题的对偶问题:优化
max
α
L
(
α
)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
,
\max_{\pmb{\alpha}}{L(\pmb{\alpha})}=\sum_{i=1}^{m}\alpha_i-\dfrac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j\pmb{x}_i^T\pmb{x}_j,
αααmaxL(ααα)=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxxxiTxxxj,
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
,
α
i
≥
0
\begin{array}{} s.t.\sum_{i=1}^{m}\alpha_iy_i&=0,\\ \alpha_i&\geq0\\ \end{array}
s.t.∑i=1mαiyiαi=0,≥0
该优化满足KKT条件:
{
α
i
≥
0
1
−
y
i
f
(
x
i
)
≤
0
α
i
(
1
−
y
i
f
(
x
i
)
)
=
0
\left\{ \begin{array}{rcl} \alpha_i\geq0\\ 1-y_if(\pmb{x}_i)\leq0\\ \alpha_i(1-y_if(\pmb{x}_i))=0\\ \end{array} \right.
⎩⎨⎧αi≥01−yif(xxxi)≤0αi(1−yif(xxxi))=0
对于该式的形象解释参见 https://zhuanlan.zhihu.com/p/24638007
对于最原始的线性可分问题的解释到此为止。下面讨论数据线性不可分的情形。主要包括两条线——核函数映射到高维空间使得数据线性可分,或借助软间隔使得线性不可分的效应影响到最小。
3.最大化软间隔
西瓜书的思路是对于一个线性不可分的数据集,先想办法用线性可分的办法来处理,所以先介绍了核方法。但是对于一个线性不可分数据集,我们最直观的想法是“如何忽略个别点的影响,学得一个大体上可以接受的线性分类器”。所以这里先介绍最大化软间隔的方法。
在这里,我们允许某些样本不满足约束
y
i
(
w
T
x
+
b
)
≥
1
\ y_i(\pmb{w}^T\pmb{x}+b)\geq1
yi(wwwTxxx+b)≥1。西瓜书先引入loss并选取hinge loss,最后泛化为松弛变量。而此文直接引入松弛变量
ξ
i
≥
0
\xi_i\geq0
ξi≥0,则原约束放松,改写为
y
i
(
w
T
x
+
b
)
≥
1
−
ξ
i
,
i
=
1
,
2
,
3
,
.
.
.
,
m
y_i(\pmb{w}^T\pmb{x}+b)\geq1-\xi_i,\ \ \ i=1,2,3,...,m
yi(wwwTxxx+b)≥1−ξi, i=1,2,3,...,m,同时改写优化的目标函数,原问题转化为:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
−
ξ
i
≤
0
,
−
ξ
i
≤
0
,
i
=
1
,
2
,
3
,
.
.
.
,
m
\begin{array}{rcl} \min_{w,b}{\dfrac{1}{2}||\pmb{w}||^2}+C\sum_{i=1}^{m}\xi_i\\ s.t.\ 1-y_i(\pmb{w}^T\pmb{x}_i+b)-\xi_i\leq0,\\ -\xi_i\leq0,&i=1,2,3,...,m\\ \end{array}
minw,b21∣∣www∣∣2+C∑i=1mξis.t. 1−yi(wwwTxxxi+b)−ξi≤0,−ξi≤0,i=1,2,3,...,m
其中
C
C
C为选定的常数。
注:此时若
ξ
i
<
1
\xi_i<1
ξi<1,则该样本仍可被分类正确,只是距离分类边界足够近而不够鲁棒。若
ξ
i
>
1
\xi_i>1
ξi>1,则意味着允许错误样本的出现。如果
ξ
i
=
+
∞
\xi_i=+\infty
ξi=+∞,则意味着没有约束,任意的超平面均符合条件。
目标函数的拉格朗日函数为:
L
(
w
,
b
,
α
,
ξ
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
−
ξ
i
)
+
∑
i
=
1
m
−
μ
i
ξ
i
L(\pmb{w},b,\pmb{\alpha},\pmb{\xi},\pmb{\mu})=\dfrac{1}{2}||\pmb{w}||^2+C\sum_{i=1}^{m}\xi_i+\sum_{i=1}^{m}\alpha_i(1-y_i(\pmb{w}^T\pmb{x}_i+b)-\xi_i)+\sum_{i=1}^{m}-\mu_i\xi_i
L(www,b,ααα,ξξξ,μμμ)=21∣∣www∣∣2+Ci=1∑mξi+i=1∑mαi(1−yi(wwwTxxxi+b)−ξi)+i=1∑m−μiξi
对上述(d+m+1)个自变量求偏导,并令为0:
∂
L
∂
b
=
∑
i
=
1
m
−
α
i
y
i
=
0
\dfrac{\partial L}{\partial b}=\sum_{i=1}^{m}-\alpha_iy_i=0
∂b∂L=i=1∑m−αiyi=0
∂
L
∂
w
j
=
w
j
−
∑
i
=
1
m
α
i
y
i
x
i
j
=
0
\dfrac{\partial L}{\partial w_j}=w_j-\sum_{i=1}^{m}\alpha_iy_ix_{ij}=0
∂wj∂L=wj−i=1∑mαiyixij=0
∂
L
∂
ξ
i
=
C
−
α
i
−
μ
i
=
0
\dfrac{\partial L}{\partial \xi_i}=C-\alpha_i-\mu_i=0
∂ξi∂L=C−αi−μi=0
其中
i
i
i表示样本下标,
j
j
j表示维度下标。
化简结果带回原目标函数,得到相同的对偶问题目标函数:
max
α
,
α
L
(
α
,
μ
)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
,
\max_{\pmb{\alpha},\pmb{\alpha}}{L(\pmb{\alpha},\pmb{\mu})}=\sum_{i=1}^{m}\alpha_i-\dfrac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j\pmb{x}_i^T\pmb{x}_j,
ααα,αααmaxL(ααα,μμμ)=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxxxiTxxxj,
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
,
C
≥
α
i
≥
0
\begin{array}{} s.t.\sum_{i=1}^{m}\alpha_iy_i=0,\\ C\geq\alpha_i\geq0\\ \end{array}
s.t.∑i=1mαiyi=0,C≥αi≥0
满足KKT条件:
{
α
i
≥
0
,
μ
i
≥
0
1
−
y
i
f
(
x
i
)
−
ξ
i
≤
0
−
ξ
i
≤
0
α
i
(
1
−
y
i
f
(
x
i
)
−
ξ
i
)
=
0
−
μ
i
ξ
i
=
0
\left\{ \begin{array}{rcl} \alpha_i\geq0,\mu_i\geq0\\ 1-y_if(\pmb{x}_i)-\xi_i\leq0\\ -\xi_i\leq0\\ \alpha_i(1-y_if(\pmb{x}_i)-\xi_i)=0\\ -\mu_i\xi_i=0 \end{array} \right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧αi≥0,μi≥01−yif(xxxi)−ξi≤0−ξi≤0αi(1−yif(xxxi)−ξi)=0−μiξi=0
可以看到除了对偶变量的约束之外,以上两个优化问题的形式是极其相似的,也都能用SMO算法进行求解。
观察KKT条件:
{
ξ
i
≥
1
−
y
i
f
(
x
i
)
ξ
i
≥
0
\left\{ \begin{array}{rcl} \xi_i\geq1-y_if(\pmb{x}_i)\\ \xi_i\geq0\\ \end{array} \right.
{ξi≥1−yif(xxxi)ξi≥0
hinge loss出现了!!!:
l
h
i
n
g
e
(
z
)
=
m
a
x
(
0
,
1
−
z
)
l_{hinge}(z)=max(0,1-z)
lhinge(z)=max(0,1−z)
4.核方法
待续