支撑向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:
- 线性可分问题,如之前的感知机算法处理的问题
- 线性可分,只有一点点错误点,如感知机算法发展出来的 Pocket 算法处理的问题
- 非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习
这三种情况对于 SVM 分别有下面三种处理手段:
- hard-margin SVM
- soft-margin SVM
- kernel Method
SVM有三宝:间隔、对偶、核技巧
SVM 的求解中,大量用到了 Lagrange 乘子法,首先对这种方法进行介绍。
1 硬间隔SVM
SVM最早是为了解决二分类的问题,是一个判别模型,和排律概率没有关系
从上图可以,可以有很多条线将数据分开。从几何上看,就是从多个分割线上找到一条鲁棒性最好的。
1.1 模型定义
支持向量机也是一种硬分类模型,在之前的感知机模型中,我们在线性模型的基础上叠加了符号函数,在几何直观上,可以看到,如果两类分的很开的话,那么其实会存在无穷多条线可以将两类分开。在 SVM 中,我们引入最大化间隔这个概念,间隔指的是数据和直线的距离的最小值,因此最大化这个值反映了我们的模型倾向。
分割的超平面可以写为:
0
=
w
T
x
+
b
0=w^Tx+b
0=wTx+b
最大间隔分类器
m
a
x
m
a
r
g
i
n
(
w
,
b
)
max \quad margin(w,b)
maxmargin(w,b)
{
w
T
x
i
+
b
>
0
y
i
=
+
1
w
T
x
i
+
b
<
0
y
i
=
−
1
→
y
i
(
w
T
x
i
+
b
)
>
0
i
=
1
,
2
,
…
N
\left\{\begin{array}{l} w^{T} x_{i}+b>0 \quad y_{i}=+1 \\ w^{T} x_{i}+b<0 \quad y_{i}=-1 \end{array} \rightarrow y_{i}\left(w^{T} x_{i}+b\right)>0 \quad i=1,2, \dots N\right.
{wTxi+b>0yi=+1wTxi+b<0yi=−1→yi(wTxi+b)>0i=1,2,…N
w
T
x
i
+
b
w^{T} x_{i}+b
wTxi+b这个平面有很多个,因此点到平面的距离也就会有很多个,取最小的距离。
margin
(
w
,
b
)
=
min
w
,
b
,
x
i
distance
(
w
,
b
,
x
i
)
=
min
w
,
b
,
x
i
min
i
=
1
,
2..
N
1
∥
w
∥
∣
w
T
x
i
+
b
∣
\begin{aligned} \operatorname{margin}(w, b) &=\min _{w, b, x_{i}} \operatorname{distance}\left(w, b, x_{i}\right) \\ &=\min _{w, b, x_{i}} \min _{i=1,2 . . N} \frac{1}{\|w\|}\left|w^{T} x_{i}+b\right| \end{aligned}
margin(w,b)=w,b,ximindistance(w,b,xi)=w,b,ximini=1,2..Nmin∥w∥1∣∣wTxi+b∣∣
⇒
{
max
w
,
b
min
x
1
∣
w
∣
∣
w
T
x
i
+
b
∣
=
max
w
,
b
min
x
1
∥
w
∥
y
i
(
w
T
x
i
+
b
)
=
max
w
,
b
1
∥
w
∥
min
x
y
i
(
w
T
x
i
+
b
)
=
max
w
,
b
1
∥
w
∥
Y
s.t.
y
i
(
w
T
x
i
+
b
)
>
0
⇒
∃
γ
>
0
,
s.t.
min
y
i
(
w
T
x
i
+
b
)
=
γ
\Rightarrow\left\{\begin{array}{l} \max _{w,b} \min _{x} \frac{1}{|w|}\left|w^{T} x_{i}+b\right|=\max _{w, b} \min _{x} \frac{1}{\|w\|} y_{i}\left(w^{T} x_{i}+b\right)=\max _{w, b} \frac{1}{\|w\|} \min _{x} y_{i}\left(w^{T} x_{i}+b\right)=\max _{w, b} \frac{1}{\|w\|} Y \\ \text { s.t. } y_{i}\left(w^{T} x_{i}+b\right)>0 \Rightarrow \exists \gamma>0, \text { s.t. } \min y_{i}\left(w^{T} x_{i}+b\right)=\gamma \end{array}\right.
⇒{maxw,bminx∣w∣1∣∣wTxi+b∣∣=maxw,bminx∥w∥1yi(wTxi+b)=maxw,b∥w∥1minxyi(wTxi+b)=maxw,b∥w∥1Y s.t. yi(wTxi+b)>0⇒∃γ>0, s.t. minyi(wTxi+b)=γ
再此为了简化运算,令
γ
=
1
\gamma=1
γ=1
对
w
T
x
+
b
w^Tx+b
wTx+b等比例缩放,指向的都是同一个超平面,设定
γ
\gamma
γ值,只是限定
w
w
w的值。
⇒
{
max
w
,
b
1
∣
w
∣
s.t.
min
y
i
(
w
T
x
i
+
b
)
=
1
⇒
{
min
w
,
b
1
2
w
T
w
s.t.
y
i
(
w
T
x
i
+
b
)
≥
1
,
f
o
r
∀
i
=
1
,
2..
N
\Rightarrow\left\{\begin{array}{l} \max _{w, b} \frac{1}{|w|} \\ \text {s.t. } \min y_{i}\left(w^{T} x_{i}+b\right)=1 \end{array} \Rightarrow\left\{\begin{array}{l} \min _{w, b} \frac{1}{2} w^{T} w \\ \text {s.t.} y_{i}\left(w^{T} x_{i}+b\right) \geq 1, f o r \forall i=1,2 . . N \end{array}\right.\right.
⇒{maxw,b∣w∣1s.t. minyi(wTxi+b)=1⇒{minw,b21wTws.t.yi(wTxi+b)≥1,for∀i=1,2..N
这就是⼀个包含N个约束的凸优化问题,有很多求解这种问题的软件。
但是,如果样本数量或维度⾮常⾼,直接求解困难甚⾄不可解,于是需要对这个问题进⼀步处理。引入 Lagrange 函数。
1.1 模型求解:引出对偶问题
1.1.1 primal problem原问题
带
约
束
:
{
min
w
,
b
1
2
w
T
w
s.t.
y
i
(
w
T
x
i
+
b
)
≥
1
,
f
o
r
∀
i
=
1
,
2..
N
带约束:\left\{\begin{array}{l} \min _{w, b} \frac{1}{2} w^{T} w \\ \text {s.t.} y_{i}\left(w^{T} x_{i}+b\right) \geq 1, f o r \forall i=1,2 . . N\end{array}\right.
带约束:{minw,b21wTws.t.yi(wTxi+b)≥1,for∀i=1,2..N
拉格朗日函数:
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
λ
≥
0
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
\begin{array}{l} L(w, b, \lambda)=\frac{1}{2} w^{T} w+\sum_{i=1}^{N} \lambda_{i}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right) \\ \lambda \geq 0 \quad 1-y_{i}\left(w^{T} x_{i}+b\right) \leq 0 \end{array}
L(w,b,λ)=21wTw+∑i=1Nλi(1−yi(wTxi+b))λ≥01−yi(wTxi+b)≤0
转化为无约束问题:
无纳束:
{
min
w
,
b
max
λ
L
(
w
,
b
,
λ
)
s.t.
λ
≥
0
\text { 无纳束: }\left\{\begin{array}{l} \min _{w, b} \max _{\lambda} L(w, b, \lambda) \\ \text { s.t. } \lambda \geq 0 \end{array}\right.
无纳束: {minw,bmaxλL(w,b,λ) s.t. λ≥0
那么怎么证明有约束与无约束是等价的呢?下面将数据分为两部分,即
1
−
y
i
(
w
T
x
i
+
b
)
1-y_i(w^{T} x_{i}+b)
1−yi(wTxi+b)大于0和小于等于0两部分
下面分情况来看一下:
{
i
f
:
1
−
y
i
(
w
T
x
i
+
b
)
>
0
,
max
λ
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∞
=
∞
i
f
:
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
,
max
λ
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
0
=
1
2
w
T
w
,
min
w
,
b
max
λ
L
(
w
,
b
,
λ
)
=
min
w
,
b
1
2
w
T
w
\left\{\begin{array}{l} i f: 1-y_{i}\left(w^{T} x_{i}+b\right)>0, \max _{\lambda} L(w, b, \lambda)=\frac{1}{2} w^{T} w+\infty=\infty \\ i f: 1-y_{i}\left(w^{T} x_{i}+b\right) \leq 0, \max _{\lambda} L(w, b, \lambda)=\frac{1}{2} w^{T} w+0=\frac{1}{2} w^{T} w, \min _{w, b} \max _{\lambda} L(w, b, \lambda)=\min _{w, b} \frac{1}{2} w^{T} w \end{array}\right.
{if:1−yi(wTxi+b)>0,maxλL(w,b,λ)=21wTw+∞=∞if:1−yi(wTxi+b)≤0,maxλL(w,b,λ)=21wTw+0=21wTw,minw,bmaxλL(w,b,λ)=minw,b21wTw
⇒
min
w
,
b
max
λ
L
(
w
,
b
,
λ
)
=
min
w
,
b
(
∞
,
1
2
w
T
w
)
=
min
w
,
b
1
2
w
T
w
\begin{aligned} &\Rightarrow \min _{w, b} \max _{\lambda} L(w, b, \lambda)=\min _{w, b}\left(\infty, \frac{1}{2} w^{T} w\right)=\min _{w, b} \frac{1}{2} w^{T} w \end{aligned}
⇒w,bminλmaxL(w,b,λ)=w,bmin(∞,21wTw)=w,bmin21wTw
也就是说无约束问题虽然没有显式的考虑
y
i
(
w
T
x
i
+
b
)
≥
1
y_{i}\left(w^{T} x_{i}+b\right) \geq 1
yi(wTxi+b)≥1,但是模型自动将
1
−
y
i
(
w
T
x
i
+
b
)
>
0
1-y_{i}\left(w^{T} x_{i}+b\right)>0
1−yi(wTxi+b)>0的情况给过滤掉了,因此最优解必然出于
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
1-y_{i}\left(w^{T} x_{i}+b\right) \leq 0
1−yi(wTxi+b)≤0
1.1.2 dual problem 对偶问题
原问题: { min w , b max λ L ( w , b , λ ) s.t. λ ≥ 0 \text { 原问题: }\left\{\begin{array}{l} \min _{w, b} \max _{\lambda} L(w, b, \lambda) \\ \text { s.t. } \lambda \geq 0 \end{array}\right. 原问题: {minw,bmaxλL(w,b,λ) s.t. λ≥0
对偶问题: { max λ min w , b L ( w , b , λ ) s.t. λ ≥ 0 \text { 对偶问题: }\left\{\begin{array}{l} \max _{\lambda} \min _{w, b} L(w, b, \lambda) \\ \text { s.t. } \lambda \geq 0 \end{array}\right. 对偶问题: {maxλminw,bL(w,b,λ) s.t. λ≥0
- 若对偶关系: m i n m a x L ≥ m a x m i n L min \quad maxL≥max \quad minL minmaxL≥maxminL
- 强对偶关系: m i n m a x L = m a x m i n L min \quad maxL=max \quad minL minmaxL=maxminL
- 凸优化二次型问题,满足强对偶。
注意到
min
w
,
b
L
(
w
,
b
,
λ
)
\min _{w, b} L(w, b, \lambda)
minw,bL(w,b,λ)式子,对w和b是没有约束的,所以我们就直接通过求偏导,零其为0。
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
\begin{array}{l} L(w, b, \lambda)=\frac{1}{2} w^{T} w+\sum_{i=1}^{N} \lambda_{i}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right) \end{array}
L(w,b,λ)=21wTw+∑i=1Nλi(1−yi(wTxi+b))
∂
L
∂
b
=
∂
∂
b
[
∑
i
=
1
N
λ
i
−
∑
i
=
1
N
λ
i
y
i
(
w
T
x
i
+
b
)
]
=
∂
∂
b
[
−
∑
i
=
1
N
λ
i
y
i
b
]
=
−
∑
i
=
1
N
λ
i
y
i
=
0
\begin{aligned} \frac{\partial L}{\partial b} &=\frac{\partial}{\partial b}\left[\sum_{i=1}^{N} \lambda_{i}-\sum_{i=1}^{N} \lambda_{i} y_{i}\left(w^{T} x_{i}+b\right)\right] \\ &=\frac{\partial}{\partial b}\left[-\sum_{i=1}^{N} \lambda_{i} y_{i} b\right] \\ &=-\sum_{i=1}^{N} \lambda_{i} y_{i}=0 \end{aligned}
∂b∂L=∂b∂[i=1∑Nλi−i=1∑Nλiyi(wTxi+b)]=∂b∂[−i=1∑Nλiyib]=−i=1∑Nλiyi=0
将其带入
L
(
w
,
b
,
λ
)
L(w, b, \lambda)
L(w,b,λ)
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
−
∑
i
=
1
N
λ
i
y
i
w
T
x
i
−
∑
i
=
1
N
λ
i
y
i
b
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
−
∑
i
=
1
N
λ
i
y
i
w
T
x
i
\begin{aligned} L(w, b, \lambda)=& \frac{1}{2} w^{T} w+\sum_{i=1}^{N} \lambda_{i}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right) \\ =& \frac{1}{2} w^{T} w+\sum_{i=1}^{N} \lambda_{i}-\sum_{i=1}^{N} \lambda_{i} y_{i} w^{T} x_{i}-\sum_{i=1}^{N} \lambda_{i} y_{i} b \\ =&\frac{1}{2} w^{T} w+\sum_{i=1}^{N} \lambda_{i}-\sum_{i=1}^{N} \lambda_{i} y_{i} w^{T} x_{i} \end{aligned}
L(w,b,λ)===21wTw+i=1∑Nλi(1−yi(wTxi+b))21wTw+i=1∑Nλi−i=1∑NλiyiwTxi−i=1∑Nλiyib21wTw+i=1∑Nλi−i=1∑NλiyiwTxi
∂
L
∂
w
=
w
−
∑
i
=
1
N
λ
i
y
i
x
i
=
0
\begin{aligned} \frac{\partial L}{\partial w}=w-\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}=0 \end{aligned}
∂w∂L=w−i=1∑Nλiyixi=0
⇒
w
=
∑
i
=
1
N
λ
i
y
i
x
i
\Rightarrow w= \sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}
⇒w=i=1∑Nλiyixi
将其带入
L
(
w
,
b
,
λ
)
L(w, b, \lambda)
L(w,b,λ)
L
(
w
,
b
,
λ
)
=
1
2
(
∑
i
=
1
N
λ
i
y
i
x
i
)
T
(
∑
i
=
1
N
λ
i
y
i
x
i
)
−
∑
i
=
1
N
λ
i
y
i
(
∑
j
=
1
N
λ
j
y
j
x
j
)
T
x
i
+
∑
j
=
1
N
λ
i
=
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
−
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
j
T
x
i
+
∑
j
=
1
N
λ
i
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
+
∑
j
=
1
N
λ
i
\begin{aligned} L(w, b, \lambda) &=\frac{1}{2}\left(\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}\right)^{T}\left(\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}\right)-\sum_{i=1}^{N} \lambda_{i} y_{i}\left(\sum_{j=1}^{N} \lambda_{j} y_{j} x_{j}\right)^{T} x_{i}+\sum_{j=1}^{N} \lambda_{i} \\ &=\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{i}^{T} x_{j}-\sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{j}^{T} x_{i}+\sum_{j=1}^{N} \lambda_{i} \\ &=-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{i}^{T} x_{j}+\sum_{j=1}^{N} \lambda_{i} \end{aligned}
L(w,b,λ)=21(i=1∑Nλiyixi)T(i=1∑Nλiyixi)−i=1∑Nλiyi(j=1∑Nλjyjxj)Txi+j=1∑Nλi=21i=1∑Nj=1∑NλiλjyiyjxiTxj−i=1∑Nj=1∑NλiλjyiyjxjTxi+j=1∑Nλi=−21i=1∑Nj=1∑NλiλjyiyjxiTxj+j=1∑Nλi
对偶问题就变成
等价代换求
λ
的最大值:
{
max
λ
−
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
+
∑
j
=
1
N
λ
i
s
.
t
.
λ
i
≥
0
∑
i
=
1
N
λ
i
y
i
=
0
\text { 等价代换求$\lambda$的最大值: }\left\{\begin{array}{l} \max _{\lambda}-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{i}^{T} x_{j}+\sum_{j=1}^{N} \lambda_{i} \\ \\ s . t . \lambda_{i} \geq 0 \\ \\ \sum_{i=1}^{N} \lambda_{i} y_{i}=0 \end{array}\right.
等价代换求λ的最大值: ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧maxλ−21∑i=1N∑j=1NλiλjyiyjxiTxj+∑j=1Nλis.t.λi≥0∑i=1Nλiyi=0
1.1.3 KKT条件
对于任何一个优化问题,假如强对偶性成立,那么问题的最优解将满足 KKT 条件。
原问题与对偶问题一定是满足弱对偶关系的,因为这是凸二次规划问题,约束是线性的,目标函数是二次的,所以满足了强对偶关系。(需要证明,这里直接拿来用了)
KKT条件:
{
∂
L
∂
w
=
w
−
∑
i
=
1
N
λ
i
y
i
x
i
=
0
∂
f
∂
b
=
0
λ
i
(
1
−
y
i
(
w
⊤
x
i
+
b
)
)
=
0
(
s
l
a
c
k
n
e
s
s
c
o
m
p
l
e
m
e
n
t
a
r
y
)
λ
i
⩾
0
1
−
y
i
(
w
⊤
x
i
+
b
)
⩽
0
\left\{\begin{array}{l} \begin{array}{l} \frac{\partial \mathcal{L}}{\partial w}=w-\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}=0 \\ \\ \frac{\partial f}{\partial b}=0 \\ \\ \lambda_{i}\left(1-y_{i}\left(w^{\top} x_{i}+b\right)\right)=0 (slackness\ complementary)\\ \\ \lambda_{i} \geqslant 0 \\ \\ 1-y_{i}\left(w^{\top} x_{i}+b\right) \leqslant 0 \end{array} \end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∂w∂L=w−∑i=1Nλiyixi=0∂b∂f=0λi(1−yi(w⊤xi+b))=0(slackness complementary)λi⩾01−yi(w⊤xi+b)⩽0
因为对偶最优化问题的原问题与对偶问题满足强对偶性,因此
w
,
b
w,b
w,b的最优解就满足KKT条件。
根据这个条件就得到了对应的最佳参数:
w
^
=
∑
i
=
1
N
λ
i
y
i
x
i
(
∂
L
∂
w
=
0
)
\hat{w}=\sum\limits_{i=1}^N\lambda_iy_ix_i\ (\frac{\partial \mathcal{L}} {\partial w}=0)
w^=i=1∑Nλiyixi (∂w∂L=0) 其中至少有一个
λ
k
\lambda_k
λk大于0 (用反证法,若
λ
k
=
0
\lambda_k=0
λk=0,从KKT的第一个条件可得
w
=
0
w=0
w=0,但是
w
=
0
w=0
w=0并不是原始最优化问题的最优解,因此至少有一个
λ
k
\lambda_k
λk大于0),那么存在
λ
k
\lambda_k
λk对应的
(
x
k
,
y
k
)
(x_k,y_k)
(xk,yk)使得
1
−
y
k
(
w
T
x
k
+
b
)
=
0
1-y_{k}(w^{T} x_{k}+b)=0
1−yk(wTxk+b)=0,可得
b
^
=
y
k
−
w
T
x
k
=
y
k
−
∑
i
=
1
N
λ
i
y
i
x
i
T
x
k
\hat{b}=y_k-w^Tx_k=y_k-\sum\limits_{i=1}^N\lambda_iy_ix_i^Tx_k
b^=yk−wTxk=yk−i=1∑NλiyixiTxk 于是这个超平面的参数
w
w
w 就是数据点的线性组合,最终的参数值就是部分满足
y
i
(
w
T
x
i
+
b
)
=
1
y_i(w^Tx_i+b)=1
yi(wTxi+b)=1向量的线性组合(互补松弛条件给出),这些向量也叫支撑向量。对应的
λ
\lambda
λ是一个向量,只有对应的支持向量时不为0,其余时候均为0。
1.2 软间隔SVM
Hard-margin 的 SVM 只对可分数据可解,如果不可分的情况,我们的基本想法是在损失函数中加入错误分类的可能性。错误分类的个数可以写成:
loss
=
∑
i
=
1
N
I
{
y
i
(
w
T
x
i
+
b
)
<
1
}
\text {loss}=\sum_{i=1}^{N} \mathbb{I}\left\{y_{i}\left(w^{T} x_{i}+b\right)<1\right\}
loss=i=1∑NI{yi(wTxi+b)<1}这个函数不连续,可以将其改写为:
loss
=
∑
i
=
1
N
max
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
}
\text {loss}=\sum_{i=1}^{N} \max \left\{0,1-y_{i}\left(w^{T} x_{i}+b\right)\right\}
loss=i=1∑Nmax{0,1−yi(wTxi+b)} 求和符号中的式子又叫做 Hinge Function。
{
min
w
.
b
1
2
w
r
w
+
C
∑
i
=
1
N
m
a
x
{
0
,
1
−
y
i
(
w
⊤
x
i
+
b
)
}
s.t.
y
i
(
w
⊤
x
i
+
b
)
⩾
1
\left\{\begin{array}{l} \min _{w . b} \frac{1}{2} w^{r} w+C \sum_{i=1}^{N} m a x\left\{0,1-y_{i}\left(w^{\top} x_{i}+b\right)\right\} \\ \\ \text { s.t. } \quad y_{i}\left(w^{\top} x_{i}+b\right) \geqslant 1 \end{array}\right.
⎩⎨⎧minw.b21wrw+C∑i=1Nmax{0,1−yi(w⊤xi+b)} s.t. yi(w⊤xi+b)⩾1
这个式子中,常数
C
C
C 可以看作允许的错误水平,同时上式为了进一步消除
max
\max
max 符号,对数据集中的每一个观测,我们可以认为其大部分满足约束,但是其中部分违反约束,因此这部分约束变成
y
i
(
w
T
x
+
b
)
≥
1
−
ξ
i
y_i(w^Tx+b)\ge1-\xi_i
yi(wTx+b)≥1−ξi,其中
ξ
i
=
1
−
y
i
(
w
T
x
i
+
b
)
,
ξ
i
⩾
0
\xi_i=1-y_i(w^Tx_i+b) ,\xi_i \geqslant0
ξi=1−yi(wTxi+b),ξi⩾0,
{
min
w
.
b
1
2
w
r
w
+
C
∑
i
=
1
N
ξ
i
s.t.
y
i
(
w
⊤
x
i
+
b
)
⩾
1
−
ξ
i
ξ
i
⩾
0
\left\{\begin{array}{l} \min _{w . b} \frac{1}{2} w^{r} w+C \sum_{i=1}^{N} \xi_i \\ \\ \text { s.t. } \quad y_{i}\left(w^{\top} x_{i}+b\right) \geqslant 1-\xi_i \\ \\ \xi_i \geqslant 0 \end{array}\right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧minw.b21wrw+C∑i=1Nξi s.t. yi(w⊤xi+b)⩾1−ξiξi⩾0
上图中第一条虚线到
w
T
x
+
b
w^Tx+b
wTx+bd的距离时
1
−
ξ
i
1-\xi_i
1−ξi,两条虚线之间的距离就是
ξ
i
\xi_i
ξi
1.3 约束优化问题
1.3.1 弱对偶性证明
一般地,通用型约束优化问题(原问题)可以写成:
min
x
∈
R
p
f
(
x
)
s
.
t
.
m
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
M
n
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
N
\begin{aligned} &\min _{x \in \mathbb{R}^{\mathrm{p}}} f(x)\\ &s . t . m_{i}(x) \leq 0, i=1,2, \cdots, M\\ & n_{j}(x)=0, j=1,2, \cdots, N \end{aligned}
x∈Rpminf(x)s.t.mi(x)≤0,i=1,2,⋯,Mnj(x)=0,j=1,2,⋯,N 定义 Lagrange 函数:
L
(
x
,
λ
,
η
)
=
f
(
x
)
+
∑
i
=
1
M
λ
i
m
i
(
x
)
+
∑
i
=
1
N
η
i
n
i
(
x
)
L(x,\lambda,\eta)=f(x)+\sum\limits_{i=1}^M\lambda_im_i(x)+\sum\limits_{i=1}^N\eta_in_i(x)
L(x,λ,η)=f(x)+i=1∑Mλimi(x)+i=1∑Nηini(x) 那么原问题可以等价于无约束形式:
min
x
∈
R
p
max
λ
,
η
L
(
x
,
λ
,
η
)
s
.
t
.
λ
i
≥
0
\min_{x\in\mathbb{R}^p}\max_{\lambda,\eta}L(x,\lambda,\eta)\ s.t.\ \lambda_i\ge0
x∈Rpminλ,ηmaxL(x,λ,η) s.t. λi≥0 这是由于,当满足原问题的不等式约束的时候,
λ
i
=
0
\lambda_i=0
λi=0 才能取得最大值,直接等价于原问题,如果不满足原问题的不等式约束,那么最大值就为
+
∞
+\infin
+∞,由于需要取最小值,于是不会取到这个情况。所以无约束形式默认使得x满足有约束形式的约束。
这个问题的对偶形式:
max
λ
,
η
min
x
∈
R
p
L
(
x
,
λ
,
η
)
s
.
t
.
λ
i
≥
0
\max_{\lambda,\eta}\min_{x\in\mathbb{R}^p}L(x,\lambda,\eta)\ s.t.\ \lambda_i\ge0
λ,ηmaxx∈RpminL(x,λ,η) s.t. λi≥0 对偶问题是关于
λ
,
η
\lambda, \eta
λ,η 的最大化问题。
弱对偶性:对偶问题
≤
\le
≤原问题
max
λ
i
,
η
j
min
x
L
(
x
,
λ
i
,
η
j
)
≤
min
x
max
λ
i
,
η
j
L
(
x
,
λ
i
,
η
j
)
\max_{\lambda_i,\eta_j}\min_{x}L(x,\lambda_i,\eta_j)\le\min_{x}\max_{\lambda_i,\eta_j}L(x,\lambda_i,\eta_j)
λi,ηjmaxxminL(x,λi,ηj)≤xminλi,ηjmaxL(x,λi,ηj)
证明:显然有 min x L ≤ L ≤ max λ , η L \min\limits_{x}L\le L\le\max\limits_{\lambda,\eta}L xminL≤L≤λ,ηmaxL(函数肯定大于等于最小值,小于等于最大值)。现在记 min x L = A , max λ , η L = B \min\limits_{x}L=A,\max\limits_{\lambda,\eta}L=B xminL=A,λ,ηmaxL=B,那么就有 A ≤ B A\le B A≤B恒成立,那么A的最大值也会小于B的最小值,即 m a x A ≤ m i n B maxA \le minB maxA≤minB,于是显然有 max λ , η min x L ≤ min x max λ , η L \max\limits_{\lambda,\eta}\min\limits_{x}L\le \min\limits_{x}\max\limits_{\lambda,\eta}L λ,ηmaxxminL≤xminλ,ηmaxL
1.3.2 对偶关系的几何表达
如上图所示,原问题的最优解
p
∗
p^*
p∗的位置如上图,其中inf表示下确界,也就是取最小值点。
直线
t
+
λ
u
t+\lambda u
t+λu在平移过程中会有与t轴很多交点,要取最小值。所以
g
(
λ
)
g(\lambda)
g(λ)就是直线
t
+
λ
u
t+\lambda u
t+λu与区域G最小边的切线与t轴的相交值。那么
d
∗
=
m
a
x
g
(
λ
)
d^*=max g(\lambda)
d∗=maxg(λ)又怎么表示呢?因为此时
λ
\lambda
λ还没确定,最大的
d
∗
d*
d∗如下图:黄框的点
所以,从上图可以看出来
d
∗
≤
p
∗
d^* \le p^*
d∗≤p∗成立
上面是非凸情况,那么凸的情况,也必然成立。
凸优化+Slater条件可以得出强对偶关系,即 d ∗ = p ∗ d^* = p^* d∗=p∗,注意这里是充分条件,而不是充要条件。
1.3.3 对偶关系的Slater Condition的解释
对于一个凸优化问题,有如下定理:
如果凸优化问题满足某些条件如 Slater 条件,那么它和其对偶问题满足强对偶关系。记问题的定义域为: D = d o m f ( x ) ∩ d o m m i ( x ) ∩ d o m n j ( x ) \mathcal{D}=domf(x)\cap dom m_i(x)\cap domn_j(x) D=domf(x)∩dommi(x)∩domnj(x)。于是 Slater 条件为: ∃ x ^ ∈ R e l i n t D s . t . ∀ i = 1 , 2 , ⋯ , M , m i ( x ) < 0 \exist\hat{x}\in Relint\mathcal{D}\ s.t.\ \forall i=1,2,\cdots,M,m_i(x)\lt0 ∃x^∈RelintD s.t. ∀i=1,2,⋯,M,mi(x)<0 其中 Relint 表示相对内部(不包含边界的内部)。
仿射函数,即最高次数为1的多项式函数。常数项为零的仿射函数称为线性函数。
- 对于大多数凸优化问题,Slater 条件成立。
- 松弛 Slater 条件,如果 M 个不等式约束中,有 K 个函数为仿射函数,那么只要其余的函数满足 Slater 条件即可。
SVM是一个凸二次优化问题,约束满足松弛 Slater 条件,所以也就是强对偶关系。
Slater条件的几何意义,如下图,Slater条件就是要求数据落在
u
<
0
u< 0
u<0区域,甚至不可以
g
(
λ
)
g(\lambda)
g(λ)不可以与t轴相交,而SVM天然的满足这项条件。
1.3.3 对偶关系的KKT条件
上⾯介绍了原问题和对偶问题的对偶关系,但是实际还需要对参数进⾏求解,求解⽅法使⽤ KKT 条件进
⾏:
KKT 条件和强对偶关系是等价关系。KKT 条件对最优解的条件为:
.1. 可行域: m i ( x ∗ ) ≤ 0 n j ( x ∗ ) = 0 λ ∗ ≥ 0 m_i(x^*)\le 0\\ n_j(x^*)=0\\ \lambda^*\ge0 mi(x∗)≤0nj(x∗)=0λ∗≥0
.2. 互补松弛 λ i m ( x ∗ ) = 0 , ∀ m i \lambda^m_i(x^*)=0,\forall m_i λim(x∗)=0,∀mi,对偶问题的最佳值为 d ∗ d^* d∗,原问题为 p ∗ p^* p∗ d ∗ = max λ , η g ( λ , η ) = g ( λ ∗ , η ∗ ) = min x L ( x , λ ∗ , η ∗ ) ≤ L ( x ∗ , λ ∗ , η ∗ ) = f ( x ∗ ) + ∑ i = 1 M λ ∗ m i ( x ∗ ) ≤ f ( x ∗ ) = p ∗ \begin{aligned} d^{*} &=\max _{\lambda, \eta} g(\lambda, \eta)=g\left(\lambda^{*}, \eta^{*}\right) \\ &=\min _{x} L\left(x, \lambda^{*}, \eta^{*}\right) \\ & \leq L\left(x^{*}, \lambda^{*}, \eta^{*}\right) \\ &=f\left(x^{*}\right)+\sum_{i=1}^{M} \lambda^{*} m_{i}\left(x^{*}\right) \\ & \leq f\left(x^{*}\right)=p^{*} \end{aligned} d∗=λ,ηmaxg(λ,η)=g(λ∗,η∗)=xminL(x,λ∗,η∗)≤L(x∗,λ∗,η∗)=f(x∗)+i=1∑Mλ∗mi(x∗)≤f(x∗)=p∗为了满足相等,两个不等式必须成立,于是,对于第一个不等于号,需要有梯度为0条件,对于第二个不等于号需要满足互补松弛条件。
3. 梯度为0: ∂ L ( x , λ , η ) ∂ x ∣ x = x ∗ = 0 \frac{\partial L(x,\lambda^,\eta^)}{\partial x}|_{x=x^*}=0 ∂x∂L(x,λ,η)∣x=x∗=0