支持向量机(support vector machine, SVM)是一种二分类模型。
支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。
- 当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器;
- 当训练数据近似可分时,通过软间隔最大化,也学习一个线性的分类器;
- 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
数据
假设输入空间与特征空间为两个不同的空间,输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间,通过某个映射
Φ
\Phi
Φ可将输入空间映射到特征空间。
给定输入空间上的训练数据集
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)}
其中,
x
i
∈
X
=
R
n
,
y
i
∈
Y
=
{
+
1
,
−
1
}
,
i
=
1
,
2
,
.
.
.
,
n
x_i\in\mathcal{X}=\mathbb{R}^n,y_i\in\mathcal{Y}=\{+1,-1\},i=1,2,...,n
xi∈X=Rn,yi∈Y={+1,−1},i=1,2,...,n,
x
i
x_i
xi属于输入空间,也称实例,
y
i
y_i
yi为
x
i
x_i
xi的类标记,当
y
i
=
+
1
y_i=+1
yi=+1时,称
x
i
x_i
xi为正例,当
y
i
=
−
1
y_i=-1
yi=−1时,称
x
i
x_i
xi为负例,
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)称为样本点。
1. 线性可分支持向量机与硬间隔最大化
训练数据集T线性可分。特征空间即为输入空间。
线性可分支持向量机: 给定线性可分训练集,通过间隔最大化或等价求解相应的凸二次规划问题学习得到的分离超平面为
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0
以及相应的分类决策函数
f
(
x
)
=
s
i
g
n
(
w
T
x
+
b
)
f(x)=sign(w^Tx+b)
f(x)=sign(wTx+b)
称为线性可分支持向量机。
这里, w T x w^Tx wTx也可写成欧式空间内积的形式 < w , x > <w,x> <w,x>。
学习超平面参数 ( w , b ) (w,b) (w,b)
一般地,当训练数据集线性可分时,存在无穷个超平面可将两类数据正确分开。
一个点距离分离超平面的远近可以表示可以表示分类预测的确信程度:据超平面越远,就比较确信预测是正确的;距离超平面越近,预测值的正确性就不那么确信。基于此,支持向量机的策略是:找到一个超平面,使得离该超平面最近的数据点能够最远。
几何间隔
点距离超平面的距离通过几何间隔衡量:对于给定的训练集
T
T
T和超平面
(
w
,
b
)
(w,b)
(w,b),定义超平面
(
w
,
b
)
(w,b)
(w,b)关于样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的几何间隔 为
γ
i
=
1
∣
∣
w
∣
∣
[
y
i
(
w
T
x
i
+
b
)
]
\gamma_i=\frac{1}{||w||}[y_i(w^Tx_i+b)]
γi=∣∣w∣∣1[yi(wTxi+b)]
定义超平面
(
w
,
b
)
(w,b)
(w,b)关于训练数据
T
T
T的几何间隔为超平面
(
w
,
b
)
(w,b)
(w,b)关于
T
T
T中所有样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的几何间隔之最小值:
γ
=
min
i
γ
i
\gamma=\min_{i}\gamma_i
γ=iminγi
相应地,定义函数间隔:
γ i ^ = y i ( w T x i + b ) , γ ^ = min i γ ^ i \hat{\gamma_i}=y_i(w^Tx_i+b),\quad \hat{\gamma}=\min_i\hat{\gamma}_i γi^=yi(wTxi+b),γ^=iminγ^i
- γ i = γ i ^ ∣ ∣ w ∣ ∣ , γ = γ ^ ∣ ∣ w ∣ ∣ \gamma_i=\frac{\hat{\gamma_i}}{||w||},\quad \gamma=\frac{\hat{\gamma}}{||w||} γi=∣∣w∣∣γi^,γ=∣∣w∣∣γ^
- 如果超平面参数 ( w , b ) (w,b) (w,b)成比例的改变(超平面不变),函数间隔也按比例改变,而几何间隔不变。
关于几何间隔的说明
y i ( w T x i + b ) = ∣ w T x i + b ∣ y_i(w^Tx_i+b)=|w^Tx_i+b| yi(wTxi+b)=∣wTxi+b∣{ 1 ∣ ∣ w ∣ ∣ ( w T x i + b ) < 0 ⇒ y i = − 1 1 ∣ ∣ w ∣ ∣ ( w T x i + b ) > 0 ⇒ y i = + 1 \begin{cases} \frac{1}{||w||}(w^Tx_i+b)<0\Rightarrow y_i=-1\\ \frac{1}{||w||}(w^Tx_i+b)>0\Rightarrow y_i=+1 \end{cases} {∣∣w∣∣1(wTxi+b)<0⇒yi=−1∣∣w∣∣1(wTxi+b)>0⇒yi=+1
间隔最大化
这里间隔最大化又称硬间隔最大化。
间隔最大化是指最大化超平面与数据集的几何间隔,直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类,也就是说,不仅将正负例点分开,而且对最难分的实例点(离超平面最近)也有足够大的确信度将它们分开。
间隔最大化的数学表述:
max
w
,
b
γ
s
.
t
.
1
∣
∣
w
∣
∣
[
y
i
(
w
T
x
i
+
b
)
]
≥
γ
,
i
=
1
,
2
,
.
.
.
,
n
\begin{aligned} &\max_{w,b}\quad\gamma \\ &s.t.\quad\frac{1}{||w||} [y_i(w^Tx_i+b)]\geq \gamma,\quad i=1,2,...,n \end{aligned}
w,bmaxγs.t.∣∣w∣∣1[yi(wTxi+b)]≥γ,i=1,2,...,n
约束条件将
(
w
,
b
)
(w,b)
(w,b)与
γ
\gamma
γ联系起来,并指明
γ
\gamma
γ是最小间隔。
该约束优化问题等价于:
max
w
,
b
γ
^
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
γ
^
,
i
=
1
,
2
,
.
.
.
,
n
\begin{aligned} &\max_{w,b}\quad\frac{\hat{\gamma}}{||w||} \\ &s.t.\quad y_i(w^Tx_i+b)\geq \hat{\gamma},\quad i=1,2,...,n \end{aligned}
w,bmax∣∣w∣∣γ^s.t.yi(wTxi+b)≥γ^,i=1,2,...,n
假设将
(
w
,
b
)
(w,b)
(w,b)按比例放缩为
(
λ
w
,
λ
b
)
(\lambda w,\lambda b)
(λw,λb),这时,超平面没有变,函数间隔为
λ
γ
^
\lambda \hat{\gamma}
λγ^,因此,
γ
^
\hat{\gamma}
γ^的值对优化问题最优解没有影响,不妨取
γ
^
=
1
\hat{\gamma}=1
γ^=1,则有等价约束问题:
max
w
,
b
1
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
n
\begin{aligned} &\max_{w,b}\quad\frac{1}{||w||} \\ &s.t.\quad y_i(w^Tx_i+b)\geq 1,\quad i=1,2,...,n \end{aligned}
w,bmax∣∣w∣∣1s.t.yi(wTxi+b)≥1,i=1,2,...,n
转化为极小化问题:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
n
\begin{aligned} &\min_{w,b}\quad\frac{1}{2}||w||^2 \\ &s.t.\quad y_i(w^Tx_i+b)\geq 1,\quad i=1,2,...,n \end{aligned}
w,bmin21∣∣w∣∣2s.t.yi(wTxi+b)≥1,i=1,2,...,n
这是一个凸二次规划问题(目标函数、不等式约束函数是连续可微凸函数,等式约束函数是仿射函数)。
可以证明,线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
SVM求解
定义拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
n
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
)
L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^n\alpha_i(y_i(w^Tx_i+b)-1)
L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)
其中
α
=
(
α
1
,
.
.
.
,
α
n
)
T
\alpha=(\alpha_1,...,\alpha_n)^T
α=(α1,...,αn)T为拉格朗日乘子,
α
i
≥
0
,
i
=
1
,
.
.
.
,
n
\alpha_i\geq0,i=1,...,n
αi≥0,i=1,...,n。
原始问题等价于
min
w
,
b
max
α
L
(
w
,
b
,
α
)
\min_{w,b}\max_{\alpha}L(w,b,\alpha)
w,bminαmaxL(w,b,α)
根据拉格朗日对偶性,原始问题的对偶问题是
max
α
min
w
,
b
L
(
w
,
b
,
α
)
\max_{\alpha}\min_{w,b}L(w,b,\alpha)
αmaxw,bminL(w,b,α)
由于凸二次规划问题满足强对偶性,即
min
w
,
b
max
α
L
(
w
,
b
,
α
)
=
max
α
min
w
,
b
L
(
w
,
b
,
α
)
\min_{w,b}\max_{\alpha}L(w,b,\alpha)=\max_{\alpha}\min_{w,b}L(w,b,\alpha)
w,bminαmaxL(w,b,α)=αmaxw,bminL(w,b,α)
因此可通过求解更简单的对偶问题求解原始问题。
1.求解
min
w
,
b
L
(
w
,
b
,
α
)
\min_{w,b}L(w,b,\alpha)
minw,bL(w,b,α)
最优解满足一阶最优性条件:
{
∇
w
L
(
w
,
b
,
α
)
=
w
−
∑
i
=
1
n
α
i
y
i
x
i
=
0
⇒
w
=
∑
i
=
1
n
α
i
y
i
x
i
∇
b
L
(
w
,
b
,
α
)
=
−
∑
i
=
1
n
α
i
y
i
=
0
⇒
∑
i
=
1
n
α
i
y
i
=
0
\begin{cases} \nabla_w L(w,b,\alpha)=w-\sum_{i=1}^n\alpha_iy_ix_i=0\Rightarrow w=\sum_{i=1}^n\alpha_iy_ix_i\\ \nabla_b L(w,b,\alpha)=-\sum_{i=1}^n\alpha_iy_i=0\Rightarrow \sum_{i=1}^n\alpha_iy_i=0 \end{cases}
{∇wL(w,b,α)=w−∑i=1nαiyixi=0⇒w=∑i=1nαiyixi∇bL(w,b,α)=−∑i=1nαiyi=0⇒∑i=1nαiyi=0
带入拉格朗日函数,可得
min
w
,
b
L
(
w
,
b
,
α
)
=
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
n
α
i
\min_{w,b}L(w,b,\alpha)=-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^n\alpha_i
w,bminL(w,b,α)=−21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)+i=1∑nαi
2.对
min
w
,
b
L
(
w
,
b
,
α
)
\min_{w,b}L(w,b,\alpha)
minw,bL(w,b,α)求
α
\alpha
α的极大
即求解
max
α
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\max_{\alpha} \quad -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0,i=1,...,n \end{aligned}
αmax−21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)+i=1∑nαis.t.i=1∑nαiyi=0,αi≥0,i=1,...,n
转化为求解极小化问题
min
α
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0,i=1,...,n \end{aligned}
αmin21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)−i=1∑nαis.t.i=1∑nαiyi=0,αi≥0,i=1,...,n
设
α
∗
=
(
α
1
∗
,
.
.
.
,
α
n
∗
)
T
\alpha^*=(\alpha_1^*,...,\alpha_n^*)^T
α∗=(α1∗,...,αn∗)T为该极小化问题的最优解,则可以证明,存在下标
j
j
j,使得
α
j
∗
>
0
\alpha_j^*>0
αj∗>0,并可按下式求得原始最优化问题的解
w
∗
,
b
∗
w^*,b^*
w∗,b∗
w
∗
=
∑
i
=
1
n
α
i
∗
y
i
x
i
w^*=\sum_{i=1}^n\alpha^*_iy_ix_i
w∗=i=1∑nαi∗yixi
b ∗ = y j − ∑ i = 1 n α i ∗ y i ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^n\alpha_i^*y_i(x_i\cdot x_j) b∗=yj−i=1∑nαi∗yi(xi⋅xj)
可写分类决策函数:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
n
α
i
∗
y
i
(
x
i
⋅
x
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^n\alpha^*_iy_i(x_i\cdot x)+b^*)
f(x)=sign(i=1∑nαi∗yi(xi⋅x)+b∗)
支持向量与间隔边界
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,也就是说,支持向量是使约束条件等号成立的点,即
y
i
(
w
T
x
i
+
b
)
−
1
=
0
y_i(w^Tx_i+b)-1=0
yi(wTxi+b)−1=0
对
y
i
=
+
1
y_i=+1
yi=+1的正例点,支持向量在超平面
H
1
:
w
T
x
i
+
b
=
1
H_1:w^Tx_i+b=1
H1:wTxi+b=1上;
对
y
i
=
−
1
y_i=-1
yi=−1的负例点,支持向量在超平面
H
2
:
w
T
x
i
+
b
=
−
1
H_2:w^Tx_i+b=-1
H2:wTxi+b=−1上。
H
1
H_1
H1和
H
2
H_2
H2平行,它们之间的距离称为间隔(margin),
H
1
H_1
H1和
H
2
H_2
H2称为间隔边界。
数理角度
称数据集中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的实例为支持向量(support vector)。
由原始问题KKT条件(强对偶性等价于KKT条件)中互补松弛条件知,
α i ∗ ( y i ( w ∗ T x i + b ∗ ) − 1 ) = 0 , i = 1 , . . . , n \alpha_i^*(y_i(w^{*T}x_i+b^*)-1)=0,\quad i=1,...,n αi∗(yi(w∗Txi+b∗)−1)=0,i=1,...,n
对 α i ∗ > 0 \alpha_i^*>0 αi∗>0的实例,有 y i ( w ∗ T x i + b ∗ ) − 1 = 0 y_i(w^{*T}x_i+b^*)-1=0 yi(w∗Txi+b∗)−1=0 或
w ∗ T x i + b ∗ = ± 1 w^{*T}x_i+b^*=\pm1 w∗Txi+b∗=±1 说明支持向量一定在间隔边界上。
2. 线性支持向量机与软间隔最大化
训练数据集T线性可分。特征空间即为输入空间。
线性不可分意味着样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)不能满足函数间隔大于等于1的约束。为解决这个问题,对每个样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)引进一个松弛变量
ξ
i
≥
0
\xi_i\geq0
ξi≥0,使函数加上松弛变量大于等于1,这样,约束条件变为
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
y_i(w^Tx_i+b)\geq1-\xi_i
yi(wTxi+b)≥1−ξi
同时,对每个松弛变量
ξ
i
\xi_i
ξi,支付一个代价
ξ
i
\xi_i
ξi,目标函数变成
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
ξ
i
\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i
21∣∣w∣∣2+Ci=1∑nξi
其中,
C
>
0
C>0
C>0为惩罚参数:
C
C
C值大对误分类的惩罚增大,
C
C
C值小对误分类的惩罚减小。
线性不可分的线性支持向量机的学习问题变为(原始问题):
min
w
,
b
,
ξ
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
ξ
i
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
i
=
1
,
2
,
.
.
.
,
n
ξ
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
n
\begin{aligned} &\min_{w,b,\xi}\quad\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i \\ &s.t.\quad y_i(w^Tx_i+b)\geq 1-\xi_i ,\quad i=1,2,...,n\\ &\quad\quad \xi_i\geq0,\quad i=1,2,...,n \end{aligned}
w,b,ξmin21∣∣w∣∣2+Ci=1∑nξis.t.yi(wTxi+b)≥1−ξi,i=1,2,...,nξi≥0,i=1,2,...,n
这是一个凸二次规划问题,因而关于
(
w
,
b
,
ξ
)
(w,b,\xi)
(w,b,ξ)的解是存在的。可以证明
w
w
w的解是唯一的,但
b
b
b的解不唯一,存在于一个区间。
设原始问题的解是
w
∗
,
b
∗
w^*,b^*
w∗,b∗,于是可以得到分离超平面
w
∗
T
x
+
b
∗
=
0
w^{*T}x+b^*=0
w∗Tx+b∗=0及分类决策函数
f
(
x
)
=
s
i
g
n
(
w
∗
T
x
+
b
∗
)
f(x)=sign(w^{*T}x+b^*)
f(x)=sign(w∗Tx+b∗)
求解SVM
定义拉格朗日函数:
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
ξ
i
−
∑
i
=
1
n
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
+
ξ
i
)
−
∑
i
=
1
n
μ
i
ξ
i
L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\alpha_i(y_i(w^Tx_i+b)-1+\xi_i)-\sum_{i=1}^n\mu_i\xi_i
L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑nξi−i=1∑nαi(yi(wTxi+b)−1+ξi)−i=1∑nμiξi
其中
α
=
(
α
1
,
.
.
.
,
α
n
)
T
,
μ
=
(
μ
1
,
.
.
.
,
μ
n
)
T
\alpha=(\alpha_1,...,\alpha_n)^T,\mu=(\mu_1,...,\mu_n)^T
α=(α1,...,αn)T,μ=(μ1,...,μn)T为拉格朗日乘子
α
i
≥
0
,
μ
i
≥
0
,
i
=
1
,
.
.
.
,
n
\alpha_i\geq0,\mu_i\geq0, i=1,...,n
αi≥0,μi≥0,i=1,...,n。
原始问题等价于
min
w
,
b
,
ξ
max
α
,
μ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\min_{w,b,\xi}\max_{\alpha,\mu}L(w,b,\xi,\alpha,\mu)
w,b,ξminα,μmaxL(w,b,ξ,α,μ)
根据拉格朗日对偶性,原始问题的对偶问题是
max
α
,
μ
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\max_{\alpha,\mu}\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)
α,μmaxw,b,ξminL(w,b,ξ,α,μ)
由于凸二次规划问题满足强对偶性,即
min
w
,
b
,
ξ
max
α
,
μ
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
max
α
,
μ
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\min_{w,b,\xi}\max_{\alpha,\mu}L(w,b,\xi,\alpha,\mu)=\max_{\alpha,\mu}\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)
w,b,ξminα,μmaxL(w,b,ξ,α,μ)=α,μmaxw,b,ξminL(w,b,ξ,α,μ)
因此可通过求解更简单的对偶问题求解原始问题。
1.求解
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)
minw,b,ξL(w,b,ξ,α,μ)
最优解满足一阶最优性条件:
{
∇
w
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
w
−
∑
i
=
1
n
α
i
y
i
x
i
=
0
⇒
w
=
∑
i
=
1
n
α
i
y
i
x
i
∇
b
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
−
∑
i
=
1
n
α
i
y
i
=
0
⇒
∑
i
=
1
n
α
i
y
i
=
0
∇
ξ
i
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
C
−
α
i
−
μ
i
=
0
⇒
C
−
α
i
−
μ
i
=
0
\begin{cases} \nabla_w L(w,b,\xi,\alpha,\mu)=w-\sum_{i=1}^n\alpha_iy_ix_i=0\Rightarrow w=\sum_{i=1}^n\alpha_iy_ix_i\\ \nabla_b L(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^n\alpha_iy_i=0\Rightarrow \sum_{i=1}^n\alpha_iy_i=0\\ \nabla_{\xi_i}L(w,b,\xi,\alpha,\mu)=C-\alpha_i-\mu_i=0\Rightarrow C-\alpha_i-\mu_i=0 \end{cases}
⎩⎪⎨⎪⎧∇wL(w,b,ξ,α,μ)=w−∑i=1nαiyixi=0⇒w=∑i=1nαiyixi∇bL(w,b,ξ,α,μ)=−∑i=1nαiyi=0⇒∑i=1nαiyi=0∇ξiL(w,b,ξ,α,μ)=C−αi−μi=0⇒C−αi−μi=0
带入拉格朗日函数,可得
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
n
α
i
\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^n\alpha_i
w,b,ξminL(w,b,ξ,α,μ)=−21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)+i=1∑nαi
2.对
min
w
,
b
,
ξ
L
(
w
,
b
,
ξ
,
α
,
μ
)
\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)
minw,b,ξL(w,b,ξ,α,μ)求
α
\alpha
α的极大
即求解
max
α
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
C
−
α
i
−
μ
i
=
0
,
μ
i
≥
0
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\max_{\alpha} \quad -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0\\ &\quad\quad\quad C-\alpha_i-\mu_i=0,\mu_i\geq0, i=1,...,n \end{aligned}
αmax−21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)+i=1∑nαis.t.i=1∑nαiyi=0,αi≥0C−αi−μi=0,μi≥0,i=1,...,n
转化为求解极小化问题
min
α
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
0
≤
α
i
≤
C
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0\\ &\quad\quad\quad 0\leq\alpha_i\leq C, i=1,...,n \end{aligned}
αmin21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)−i=1∑nαis.t.i=1∑nαiyi=0,αi≥00≤αi≤C,i=1,...,n
设
α
∗
=
(
α
1
∗
,
.
.
.
,
α
n
∗
)
T
\alpha^*=(\alpha_1^*,...,\alpha_n^*)^T
α∗=(α1∗,...,αn∗)T为该极小化问题的最优解,若存在
α
∗
\alpha^*
α∗的一个分量使得
α
j
∗
,
0
<
α
j
∗
<
C
\alpha_j^*,0< \alpha_j^*<C
αj∗,0<αj∗<C,则原始最优化问题的解
w
∗
,
b
∗
w^*,b^*
w∗,b∗可按下式求得
w
∗
=
∑
i
=
1
n
α
i
∗
y
i
x
i
w^*=\sum_{i=1}^n\alpha^*_iy_ix_i
w∗=i=1∑nαi∗yixi
b ∗ = y j − ∑ i = 1 n α i ∗ y i ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^n\alpha_i^*y_i(x_i\cdot x_j) b∗=yj−i=1∑nαi∗yi(xi⋅xj)
支持向量
支持向量、分离超平面、间隔边界的定义同线性可分支持向量机时的定义,即,称 α ∗ = ( α 1 ∗ , . . . , α n ∗ ) T \alpha^*=(\alpha_1^*,...,\alpha_n^*)^T α∗=(α1∗,...,αn∗)T中对应于 α i ∗ > 0 \alpha^*_i>0 αi∗>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的实例为支持向量(软间隔支持向量),分离超平面 w T x i + b = 0 w^Tx_i+b=0 wTxi+b=0,间隔边界 H 1 : w T x i + b = 1 H_1:w^Tx_i+b=1 H1:wTxi+b=1、 H 2 : w T x i + b = − 1 H_2:w^Tx_i+b=-1 H2:wTxi+b=−1。
![](https://img-blog.csdnimg.cn/20200320230018872.png)
原始问题的KKT互补松弛条件:
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
+
ξ
i
)
=
0
\alpha_i(y_i(w^Tx_i+b)-1+\xi_i)=0
αi(yi(wTxi+b)−1+ξi)=0
μ i ξ i = ( C − α i ) ξ i = 0 \mu_i\xi_i=(C-\alpha_i)\xi_i=0 μiξi=(C−αi)ξi=0
根据第一个式子,当
α
i
∗
>
0
\alpha^*_i>0
αi∗>0时,对应的样本点满足
y
i
(
w
T
x
i
+
b
)
−
1
+
ξ
i
=
0
y_i(w^Tx_i+b)-1+\xi_i=0
yi(wTxi+b)−1+ξi=0
所以有,
- 对 y i = + 1 y_i=+1 yi=+1的正例点,支持向量在超平面 w T x i + b = 1 − ξ i w^Tx_i+b=1-\xi_i wTxi+b=1−ξi上;
- 对 y i = − 1 y_i=-1 yi=−1的负例点,支持向量在超平面 w T x i + b = − 1 + ξ i w^Tx_i+b=-1+\xi_i wTxi+b=−1+ξi上。
再结合第二个式子,
- 若 α i ∗ < C \alpha_i^*<C αi∗<C,则 ξ i = 0 \xi_i=0 ξi=0,支持向量恰好在间隔边界上;
- 若 α i ∗ = C , 0 < ξ i < 1 \alpha_i^*=C, 0<\xi_i<1 αi∗=C,0<ξi<1,则分类正确,支持向量在间隔边界与分离超平面之间;
- 若 α i ∗ = C , ξ i = 1 \alpha_i^*=C, \xi_i=1 αi∗=C,ξi=1,则支持向量在分离超平面上;
- 若 α i ∗ = C , ξ i > 1 \alpha_i^*=C, \xi_i>1 αi∗=C,ξi>1,则支持向量在分离超平面误分一侧。
总结来说,软间隔的支持向量或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在分离超平面误分一侧。
3. 非线性支持向量机与核函数
训练数据集线性不可分。输入空间不同于特征空间。
非线性支持向量机: 从非线性分类训练集,通过核函数与软间隔最大化,学习得到的分类决策函数
f ( x ) = s i g n ( ∑ i = 1 n α i ∗ y i K ( x , x i ) + b ∗ ) f(x)=sign(\sum_{i=1}^n\alpha_i^*y_iK(x,x_i)+b^*) f(x)=sign(i=1∑nαi∗yiK(x,xi)+b∗)
称为非线性支持向量, K ( x , z ) K(x,z) K(x,z)是正定核函数。
如果能用输入空间(
R
n
\mathbb{R}^n
Rn)中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。
非线性问题往往不好直接求解,通常进行一个非线性变换
z
=
ϕ
(
x
)
z=\phi(x)
z=ϕ(x),将非线性可分数据集
{
(
x
i
,
y
i
)
}
\{(x_i,y_i)\}
{(xi,yi)}变换为线性可分数据集
{
(
ϕ
(
x
i
)
,
y
i
)
}
\{(\phi(x_i),y_i)\}
{(ϕ(xi),yi)},然后通过求解变换后的线性问题求解原来的非线性问题,而在求解过程中,只涉及内积运算
<
Φ
(
x
i
)
,
Φ
(
x
j
)
>
<\Phi(x_i),\Phi(x_j)>
<Φ(xi),Φ(xj)>,利用核函数
K
(
x
,
y
)
=
<
Φ
(
x
)
,
Φ
(
y
)
>
K(x,y)=<\Phi(x),\Phi(y)>
K(x,y)=<Φ(x),Φ(y)>的性质可简化。
具体地,现在需要求解分离超平面
w
T
ϕ
(
x
)
+
b
=
0
w^T\phi(x)+b=0
wTϕ(x)+b=0
由线性可分支持向量机的结果,硬间隔最大化需要求解如下优化问题,
min
α
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_jK(x_i, x_j)-\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0,i=1,...,n \end{aligned}
αmin21i=1∑nj=1∑nαiαjyiyjK(xi,xj)−i=1∑nαis.t.i=1∑nαiyi=0,αi≥0,i=1,...,n
原始问题为:
min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 , . . . , n \begin{aligned} &\min_{w,b,\xi}\quad\frac{1}{2}||w||^2 \\ &s.t.\quad y_i(w^T\phi(x_i)+b)\geq 1,\quad i=1,2,...,n\\ \end{aligned} w,b,ξmin21∣∣w∣∣2s.t.yi(wTϕ(xi)+b)≥1,i=1,2,...,n
软间隔最大化需要求解如下优化问题,
min
α
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
n
α
i
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
0
≤
α
i
≤
C
,
i
=
1
,
.
.
.
,
n
\begin{aligned} &\min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_jK(x_i, x_j)-\sum_{i=1}^n\alpha_i\\ &s.t. \quad \quad\sum_{i=1}^n\alpha_iy_i=0,\quad \alpha_i\geq0\\ &\quad\quad\quad 0\leq\alpha_i\leq C, i=1,...,n \end{aligned}
αmin21i=1∑nj=1∑nαiαjyiyjK(xi,xj)−i=1∑nαis.t.i=1∑nαiyi=0,αi≥00≤αi≤C,i=1,...,n
原始问题为:
min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , n ξ i ≥ 0 , i = 1 , 2 , . . . , n \begin{aligned} &\min_{w,b,\xi}\quad\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i \\ &s.t.\quad y_i(w^T\phi(x_i)+b)\geq 1-\xi_i ,\quad i=1,2,...,n\\ &\quad\quad \xi_i\geq0,\quad i=1,2,...,n \end{aligned} w,b,ξmin21∣∣w∣∣2+Ci=1∑nξis.t.yi(wTϕ(xi)+b)≥1−ξi,i=1,2,...,nξi≥0,i=1,2,...,n
设
α
∗
=
(
α
1
∗
,
.
.
.
,
α
n
∗
)
T
\alpha^*=(\alpha_1^*,...,\alpha_n^*)^T
α∗=(α1∗,...,αn∗)T为极小化问题的最优解,则存在下标
j
j
j,使得
α
j
∗
>
0
\alpha_j^*>0
αj∗>0,并可按下式求得原始最优化问题的解
w
∗
,
b
∗
w^*,b^*
w∗,b∗
w
∗
=
∑
i
=
1
n
α
i
∗
y
i
ϕ
(
x
i
)
w^*=\sum_{i=1}^n\alpha^*_iy_i\phi(x_i)
w∗=i=1∑nαi∗yiϕ(xi)
b ∗ = y j − ∑ i = 1 n α i ∗ y i K ( x i , x j ) b^*=y_j-\sum_{i=1}^n\alpha_i^*y_iK(x_i, x_j) b∗=yj−i=1∑nαi∗yiK(xi,xj)
可写分类决策函数:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
n
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^n\alpha^*_iy_iK(x_i, x)+b^*)
f(x)=sign(i=1∑nαi∗yiK(xi,x)+b∗)
类似地,分离超平面
w
∗
T
x
+
b
∗
=
∑
i
=
1
n
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
=
0
w^{*T}x+b^*=\sum_{i=1}^n\alpha^*_iy_iK(x_i, x)+b^*=0
w∗Tx+b∗=i=1∑nαi∗yiK(xi,x)+b∗=0
间隔平面
∑
i
=
1
n
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
=
1
,
∑
i
=
1
n
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
=
−
1
\sum_{i=1}^n\alpha^*_iy_iK(x_i, x)+b^*=1,\quad \sum_{i=1}^n\alpha^*_iy_iK(x_i, x)+b^*=-1
i=1∑nαi∗yiK(xi,x)+b∗=1,i=1∑nαi∗yiK(xi,x)+b∗=−1
记
g
(
x
)
=
w
∗
T
x
+
b
∗
=
∑
i
=
1
n
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
g(x)=w^{*T}x+b^*=\sum_{i=1}^n\alpha^*_iy_iK(x_i, x)+b^*
g(x)=w∗Tx+b∗=i=1∑nαi∗yiK(xi,x)+b∗
则硬间隔最大化的KKT条件,
- 约束可行: y i g ( x i ) ≥ 1 y_ig(x_i)\geq1 yig(xi)≥1
- 互补松弛: α i ∗ ( y i ( w ∗ T ϕ ( x i ) + b ∗ ) − 1 ) = 0 ⟹ α i ∗ ( y i g ( x i ) − 1 ) = 0 , i = 1 , . . . , n \alpha_i^*(y_i(w^{*T}\phi(x_i)+b^*)-1)=0\Longrightarrow\alpha_i^*(y_ig(x_i)-1)=0,\quad i=1,...,n αi∗(yi(w∗Tϕ(xi)+b∗)−1)=0⟹αi∗(yig(xi)−1)=0,i=1,...,n
当 α ∗ > 0 \alpha^*>0 α∗>0时, y i g ( x i ) = 1 y_ig(x_i)=1 yig(xi)=1,支持向量在间隔边界上。
软间隔最大化的KKT条件,
- 约束可行: y i g ( x i ) ≥ 1 − ξ i y_ig(x_i)\geq1-\xi_i yig(xi)≥1−ξi
- 互补松弛: α i ∗ ( y i g ( x i ) − 1 + ξ i ) = 0 , μ i ∗ ξ i = ( C − α i ∗ ) ξ i = 0 \alpha^*_i(y_ig(x_i)-1+\xi_i)=0,\quad\mu_i^*\xi_i=(C-\alpha^*_i)\xi_i=0 αi∗(yig(xi)−1+ξi)=0,μi∗ξi=(C−αi∗)ξi=0
进一步可推知,
- 0 < α ∗ < C ⟹ ξ i = 0 ⟹ y i g ( x i ) = 1 0<\alpha^*<C\Longrightarrow \xi_i=0\Longrightarrow y_ig(x_i)=1 0<α∗<C⟹ξi=0⟹yig(xi)=1
- α ∗ = 0 ⟹ ξ i = 0 ⟹ y i g ( x i ) ≥ 1 \alpha^*=0\Longrightarrow \xi_i=0\Longrightarrow y_ig(x_i)\geq1 α∗=0⟹ξi=0⟹yig(xi)≥1
- α ∗ = C ⟹ y i g ( x i ) = 1 − ξ i \alpha^*=C\Longrightarrow y_ig(x_i)=1-\xi_i α∗=C⟹yig(xi)=1−ξi,而 ξ i ≥ 0 \xi_i\geq0 ξi≥0,故 α ∗ = C ⟹ y i g ( x i ) ≤ 1 \alpha^*=C\Longrightarrow y_ig(x_i)\leq1 α∗=C⟹yig(xi)≤1
上面的条件在SMO算法中有重要应用。
参考:
统计学习方法—李航