一、线性分类器
支持向量机是一种可以生成非线性分类器的学习型算法。首先介绍线性分类器,随后再推广到非线性分类。对于线性可分的数据,其线性分类包括两种直观理解,第一种为逻辑回归,若该算法的参数合适,那么其不仅需要保证分类结果正确,且要保证分类结果的确定性;第二种为线性分类线,若分类线的参数合适,其与两类样本的几何距离都足够远。
1.1 函数间隔与几何间隔
首先定义函数间隔与几何间隔。考虑超平面
(
w
,
b
)
(\bm{w}, \bm{b})
(w,b)和某个特定的训练样本
(
x
(
i
)
,
y
(
i
)
)
(\bm{x}^{(i)}, y^{(i)})
(x(i),y(i))相关的函数间隔形如
γ
^
(
i
)
=
y
(
i
)
(
w
x
(
i
)
+
b
)
\hat\gamma^{(i)} = y^{(i)}(\bm{w}\bm{x}^{(i)} + \bm{b})
γ^(i)=y(i)(wx(i)+b)参数
w
,
b
\bm{w}, \bm{b}
w,b定义了分类超平面。其中,
y
i
=
{
−
1
,
1
}
y_i = \{-1, 1\}
yi={−1,1}代表正样本与负样本,使不同类的样本取得相同方向的函数间隔,若
γ
(
i
)
>
0
\gamma^{(i)} > 0
γ(i)>0,则证明分类正确。
再定义超平面
(
w
,
b
)
(\bm{w}, \bm{b})
(w,b)与整个训练集合的函数间隔定义,形如
γ
^
=
m
i
n
γ
^
(
i
)
\hat\gamma = min \hat\gamma^{(i)}
γ^=minγ^(i)即集合样本中函数间隔的最坏情形。然而这存在一个问题,理论上,当
w
,
b
\bm{w}, \bm{b}
w,b增加时,函数间隔也随之增加,且这种增加是人为决定的。而为了单纯的最大化函数间隔为目标,增加一个正则化条件,即
∣
∣
w
∣
∣
=
1
||\bm{w}|| = 1
∣∣w∣∣=1。
再定义几何间隔,分类器的确定边界会由超平面
(
w
,
b
)
(\bm{w}, \bm{b})
(w,b)给出,并正确的对样本进行了分类,则几何间隔定义为训练样本
(
x
(
i
)
,
y
(
i
)
)
(\bm{x}^{(i)}, y^{(i)})
(x(i),y(i))和分类线之间的几何距离。
考虑超平面
w
T
x
+
b
=
0
\bm{w}^T\bm{x} + \bm{b} = 0
wTx+b=0,其单位法向量为
w
/
∣
∣
w
∣
∣
\bm{w} / ||\bm{w}||
w/∣∣w∣∣。样本
(
x
(
i
)
,
y
(
i
)
)
(\bm{x}^{(i)}, y^{(i)})
(x(i),y(i))到超平面的几何间隔为
γ
(
i
)
\gamma^{(i)}
γ(i)。则
x
(
i
)
\bm{x}^{(i)}
x(i)映射到分隔超平面的点为
x
(
i
)
−
γ
(
i
)
w
/
∣
∣
w
∣
∣
\bm{x}^{(i)} - \gamma^{(i)}\bm{w} / ||\bm{w}||
x(i)−γ(i)w/∣∣w∣∣表示该点到分隔超平面的距离为
γ
(
i
)
\gamma^{(i)}
γ(i),又因为其在分隔超平面上,故应该满足
w
T
(
x
(
i
)
−
γ
(
i
)
w
/
∣
∣
w
∣
∣
)
+
b
=
0
\bm{w}^T(\bm{x}^{(i)} - \gamma^{(i)}\bm{w} / ||\bm{w}||) + \bm{b} = 0
wT(x(i)−γ(i)w/∣∣w∣∣)+b=0展开得
w
T
x
(
i
)
+
b
=
γ
(
i
)
w
T
w
/
∣
∣
w
∣
∣
=
γ
(
i
)
∣
∣
w
∣
∣
\bm{w}^T\bm{x}^{(i)} + \bm{b} = \gamma^{(i)}\bm{w}^T\bm{w}/||\bm{w}|| = \gamma^{(i)}||\bm{w}||
wTx(i)+b=γ(i)wTw/∣∣w∣∣=γ(i)∣∣w∣∣即
γ
(
i
)
=
(
w
/
∣
∣
w
∣
∣
)
T
x
(
i
)
+
b
/
∣
∣
w
∣
∣
\gamma^{(i)} = (\bm{w}/||\bm{w}||)^T\bm{x}^{(i)} + \bm{b}/||\bm{w}||
γ(i)=(w/∣∣w∣∣)Tx(i)+b/∣∣w∣∣这便是样本
(
x
(
i
)
,
y
(
i
)
)
(\bm{x}^{(i)}, y^{(i)})
(x(i),y(i))到超平面的几何间隔。在正确分类的情况下,更一般的,可以认为几何间隔形如
γ
(
i
)
=
y
(
i
)
(
(
w
/
∣
∣
w
∣
∣
)
T
x
(
i
)
+
b
/
∣
∣
w
∣
∣
)
\gamma^{(i)} = y^{(i)}((\bm{w}/||\bm{w}||)^T\bm{x}^{(i)} + \bm{b}/||\bm{w}||)
γ(i)=y(i)((w/∣∣w∣∣)Tx(i)+b/∣∣w∣∣)故函数间隔与几何间隔的关系为
γ
(
i
)
=
γ
^
(
i
)
/
∣
∣
w
∣
∣
\gamma^{(i)} = \hat\gamma^{(i)} / ||\bm{w}||
γ(i)=γ^(i)/∣∣w∣∣同样的,超平面
(
w
,
b
)
(\bm{w}, \bm{b})
(w,b)与整个训练集合的几何间隔定义形如
γ
=
m
i
n
γ
(
i
)
\gamma = min \gamma^{(i)}
γ=minγ(i)
1.2 最优间隔分类器
最大间隔分类器是一种学习算法,可以认为是支持向量机的前身,其选择
w
\bm{w}
w与
b
\bm{b}
b使几何间隔最大化,形如
m
a
x
γ
s
.
t
.
y
(
i
)
(
(
w
/
∣
∣
w
∣
∣
)
T
x
(
i
)
+
b
/
∣
∣
w
∣
∣
)
≥
γ
\begin{aligned}max\ &\gamma \\ s.t.\ & y^{(i)}((\bm{w}/||\bm{w}||)^T\bm{x}^{(i)} + \bm{b}/||\bm{w}||) \ge \gamma \end{aligned}
max s.t. γy(i)((w/∣∣w∣∣)Tx(i)+b/∣∣w∣∣)≥γ其与逻辑回归的效果相似,但实际上,其可以通过推广使其支持无限维的特征空间,并得到非常有效的非线性分类器。
求解上述优化问题即可得到最优间隔分类器,然而该优化问题的约束是非凸的,因为
w
/
∣
∣
w
∣
∣
\bm{w}/||\bm{w}||
w/∣∣w∣∣位于一个超球面上。那么换言之,使用函数间隔来表示该问题,则有
m
a
x
γ
^
/
∣
∣
w
∣
∣
s
.
t
.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
γ
^
\begin{aligned}max\ &\hat\gamma /||\bm{w}|| \\ s.t.\ & y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) \ge \hat\gamma \end{aligned}
max s.t. γ^/∣∣w∣∣y(i)(wTx(i)+b)≥γ^该优化目标函数是非凸的。考虑一个放缩变换,使得
γ
^
=
1
\hat\gamma = 1
γ^=1,则上述优化问题形如
m
i
n
∣
∣
w
∣
∣
2
/
2
s
.
t
.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
1
\begin{aligned}min\ & ||\bm{w}||^2 / 2 \\ s.t.\ & y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) \ge 1 \end{aligned}
min s.t. ∣∣w∣∣2/2y(i)(wTx(i)+b)≥1该形式是一个凸优化问题。其的几何意义为在超空间内,去除若干半空间约束下的剩余空间内,寻找最小的超球面。
另一方面,可以从凸优化的对偶性考虑该问题。首先考虑拉格朗日乘子法,对于优化问题
m
i
n
f
(
w
)
s
.
t
.
g
i
(
w
)
≤
0
,
i
=
1
,
.
.
.
,
m
h
i
(
w
)
=
0
,
i
=
1
,
.
.
.
,
p
\begin{aligned}min\ &f(\bm{w}) \\ s.t.\ &g_i(\bm{w}) \le 0, i = 1, ..., m \\& h_i(\bm{w}) = 0, i = 1, ..., p \end{aligned}
min s.t. f(w)gi(w)≤0,i=1,...,mhi(w)=0,i=1,...,p其拉格朗日乘子法形如
L
(
w
,
α
,
β
)
=
f
(
w
)
+
∑
i
=
1
m
α
i
g
i
(
x
)
+
∑
i
=
1
p
β
i
h
i
(
x
)
L(\bm{w}, \bm\alpha, \bm\beta) = f(\bm{w}) + \sum_{i=1}^m\alpha_ig_i(\bm{x}) + \sum_{i = 1}^p\beta_ih_i(\bm{x})
L(w,α,β)=f(w)+i=1∑mαigi(x)+i=1∑pβihi(x)并定义
θ
p
(
w
)
=
m
a
x
α
,
β
,
α
i
>
0
L
(
w
,
α
,
β
)
\theta_p(\bm{w}) = max_{\bm\alpha, \bm\beta,\alpha_i>0} L(\bm{w}, \bm\alpha, \bm\beta)
θp(w)=maxα,β,αi>0L(w,α,β)考虑
θ
p
(
w
)
\theta_p(\bm{w})
θp(w)的意义,考虑
g
i
(
w
)
≥
0
g_i(\bm{w}) \ge 0
gi(w)≥0,则
m
a
x
L
max L
maxL由于
α
i
\alpha_i
αi可以取得任意大的值。同理,
h
i
(
w
)
≠
0
h_i(\bm{w}) \ne 0
hi(w)=0,则
m
a
x
L
max L
maxL同上。而在满足约束的情况下,最大化
L
L
L的手段就是令所有拉格朗日乘子为0,即
θ
p
(
w
)
=
f
(
w
)
\theta_p(\bm{w}) = f(\bm{w})
θp(w)=f(w)那么优化问题的最优值
p
∗
=
m
i
n
w
m
a
x
α
,
β
,
α
i
>
0
L
(
w
,
α
,
β
)
p^* = min_{\bm{w}}max_{\bm\alpha, \bm\beta,\alpha_i>0} L(\bm{w}, \bm\alpha, \bm\beta)
p∗=minwmaxα,β,αi>0L(w,α,β)那么考虑优化问题的对偶问题为
θ
D
(
α
,
β
)
=
m
i
n
w
L
(
w
,
α
,
β
)
d
∗
=
m
a
x
α
,
β
,
α
i
>
0
θ
D
(
α
,
β
)
\theta_D(\bm\alpha, \bm\beta) = min_{\bm{w}}L(\bm{w}, \bm\alpha, \bm\beta) \\ d^* = max_{\bm\alpha, \bm\beta,\alpha_i>0}\theta_D(\bm\alpha, \bm\beta)
θD(α,β)=minwL(w,α,β)d∗=maxα,β,αi>0θD(α,β)使得原问题与对偶问题有相同解的条件为
f
f
f为凸函数,
h
i
h_i
hi是仿射函数,
g
i
g_i
gi有解,即
∃
w
,
∀
i
,
g
i
(
w
)
<
0
\exists\bm{w}, \forall i, g_i(\bm{w})<0
∃w,∀i,gi(w)<0。在上述条件下,若
∃
w
∗
,
α
∗
,
β
∗
\exists \bm{w}^*, \bm\alpha^*, \bm\beta^*
∃w∗,α∗,β∗,使得
∂
L
/
∂
w
=
0
∂L/∂\bm{w} = 0
∂L/∂w=0则
p
∗
=
d
∗
=
L
(
w
∗
,
α
∗
,
β
∗
)
p^* = d^* = L(\bm{w}^*, \bm\alpha^*, \bm\beta^*)
p∗=d∗=L(w∗,α∗,β∗)上述条件称为KKT互补条件。KKT互补条件还蕴含其他的条件,此处不进行详细阐述。
回到最优间隔分类器问题,对偶性约束为
g
i
(
w
,
b
)
=
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
+
1
≤
0
g_i(\bm{w}, \bm{b}) = -y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) + 1 \le 0
gi(w,b)=−y(i)(wTx(i)+b)+1≤0对于某些样本,其满足该不等式约束的等式条件,即
y
(
i
)
(
w
T
x
(
i
)
+
b
)
=
1
y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) = 1
y(i)(wTx(i)+b)=1也就是说其与分隔线的函数距离为1,这样的样本称为支持向量【Support Vectors】。
KKT中有一条性
α
i
g
i
(
x
)
=
0
\alpha_ig_i(x) = 0
αigi(x)=0,对于一批样本,支持向量是少量的,即多数的
α
i
=
0
\alpha_i = 0
αi=0。换言之,
α
i
=
0
\alpha_i = 0
αi=0对应的不是支持向量。
最优间隔分类器的拉格朗日方程为
L
(
w
,
b
,
α
)
=
∣
∣
w
∣
∣
2
/
2
+
∑
i
=
1
m
α
i
(
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
+
1
)
L(\bm{w}, \bm{b}, \bm{\alpha}) = ||\bm{w}||^2/2 + \sum_{i = 1}^m\alpha_i(-y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) + 1)
L(w,b,α)=∣∣w∣∣2/2+i=1∑mαi(−y(i)(wTx(i)+b)+1)其对偶问题为
θ
D
(
α
)
=
m
i
n
w
,
b
L
(
w
,
b
,
α
)
\theta_D(\bm\alpha) = min_{\bm{w}, \bm{b}}L(\bm{w}, \bm{b}, \bm{\alpha})
θD(α)=minw,bL(w,b,α)为了求得最小值,求导得
▽
w
L
(
w
,
b
,
α
)
=
w
−
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
▽
b
L
(
w
,
b
,
α
)
=
∑
i
=
1
m
α
i
y
(
i
)
▽_{\bm{w}}L(\bm{w}, \bm{b}, \bm{\alpha}) = \bm{w} - \sum_{i = 1}^m\alpha_iy^{(i)}\bm{x}^{(i)} \\ ▽_{\bm{b}}L(\bm{w}, \bm{b}, \bm{\alpha}) = \sum_{i = 1}^m\alpha_iy^{(i)}
▽wL(w,b,α)=w−i=1∑mαiy(i)x(i)▽bL(w,b,α)=i=1∑mαiy(i)置0,得
w
=
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
∑
i
=
1
m
α
i
y
(
i
)
=
0
\bm{w} = \sum_{i = 1}^m\alpha_iy^{(i)}\bm{x}^{(i)} \\ \sum_{i = 1}^m\alpha_iy^{(i)} = 0
w=i=1∑mαiy(i)x(i)i=1∑mαiy(i)=0将
w
\bm{w}
w带入拉格朗日方程,得
L
=
∣
∣
w
∣
∣
2
/
2
+
∑
i
=
1
m
α
i
(
−
y
(
i
)
(
w
T
x
(
i
)
+
b
)
+
1
)
=
(
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
)
T
(
∑
i
=
1
m
α
i
y
(
i
)
x
(
i
)
)
/
2
−
∑
i
=
1
m
α
i
(
y
(
i
)
(
w
T
x
(
i
)
+
b
)
−
1
)
=
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
(
i
)
y
(
j
)
⟨
x
(
i
)
,
x
(
j
)
⟩
/
2
−
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
(
i
)
y
(
j
)
⟨
x
(
i
)
,
x
(
j
)
⟩
+
∑
j
=
1
m
α
i
=
∑
j
=
1
m
α
i
−
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
(
i
)
y
(
j
)
⟨
x
(
i
)
,
x
(
j
)
⟩
/
2
\begin{aligned}L& = ||\bm{w}||^2/2 + \sum_{i = 1}^m\alpha_i(-y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) + 1) \\ & = (\sum_{i = 1}^m\alpha_iy^{(i)}\bm{x}^{(i)})^T(\sum_{i = 1}^m\alpha_iy^{(i)}\bm{x}^{(i)})/2 - \sum_{i = 1}^m\alpha_i(y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) - 1) \\ & = \sum_{i = 1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}\lang\bm{x}^{(i)}, \bm{x}^{(j)}\rang/2 - \sum_{i = 1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}\lang\bm{x}^{(i)}, \bm{x}^{(j)}\rang + \sum_{j=1}^m\alpha_i\\ & = \sum_{j=1}^m\alpha_i - \sum_{i = 1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}\lang\bm{x}^{(i)}, \bm{x}^{(j)}\rang/2\end{aligned}
L=∣∣w∣∣2/2+i=1∑mαi(−y(i)(wTx(i)+b)+1)=(i=1∑mαiy(i)x(i))T(i=1∑mαiy(i)x(i))/2−i=1∑mαi(y(i)(wTx(i)+b)−1)=i=1∑mj=1∑mαiαjy(i)y(j)⟨x(i),x(j)⟩/2−i=1∑mj=1∑mαiαjy(i)y(j)⟨x(i),x(j)⟩+j=1∑mαi=j=1∑mαi−i=1∑mj=1∑mαiαjy(i)y(j)⟨x(i),x(j)⟩/2定义结果为
W
(
α
)
W(\bm\alpha)
W(α)。现在取得了
W
(
α
)
=
m
i
n
w
,
b
L
(
w
,
b
,
α
)
W(\bm\alpha) = min_{\bm{w}, \bm{b}}L(\bm{w}, \bm{b}, \bm{\alpha})
W(α)=minw,bL(w,b,α)则优化问题的对偶问题为
m
a
x
W
(
α
)
s
.
t
.
α
i
≥
0
∑
i
=
1
m
α
i
y
(
i
)
=
0
\begin{aligned}max\ &W(\bm\alpha) \\ s.t.\ &\alpha_i \ge 0 \\& \sum_{i = 1}^m\alpha_iy^{(i)} = 0 \end{aligned}
max s.t. W(α)αi≥0i=1∑mαiy(i)=0通过求解上述优化问题,可以得到最优参数
α
∗
\bm{\alpha}^*
α∗,那么
w
∗
=
∑
i
=
1
m
α
i
∗
y
(
i
)
x
(
i
)
\bm{w}^* = \sum_{i = 1}^m\alpha_i^*y^{(i)}\bm{x}^{(i)}
w∗=i=1∑mαi∗y(i)x(i)由此便确定了最优间隔面的方向,而
b
\bm{b}
b决定了间隔面的偏置,则其求解为
b
=
(
m
a
x
i
∣
y
(
i
)
=
−
1
w
T
x
(
i
)
+
m
i
n
i
∣
y
(
i
)
=
1
w
T
x
(
i
)
)
/
2
\bm{b} = (max_{i|y^{(i)} = -1}\ \bm{w}^T\bm{x}^{(i)} + min_{i|y^{(i)} = 1}\ \bm{w}^T\bm{x}^{(i)}) / 2
b=(maxi∣y(i)=−1 wTx(i)+mini∣y(i)=1 wTx(i))/2上述式的意义为通过最接近的两类样本寻找平均间隔面,自此便完成了最优间隔分类器。
二、支持向量机
2.1 核函数
在上述问题中,可以看出所有的参数都可以写成输入变量的内积形式,实际上,算法对数据的依赖仅仅局限于内积,甚至在算法流程中都无需显示的直接使用向量的值。
核函数是一种在低维情况下表征高维特征相似度的函数。对于样本
x
∈
R
x \in R
x∈R,在某些问题中,通常会将其映射为一些高维特征
x
=
ϕ
(
x
)
\bm{x} = \phi(x)
x=ϕ(x),如多项式分解。若想使用
ϕ
(
x
)
\phi(x)
ϕ(x),只需令原算法中的
⟨
x
(
i
)
,
x
(
j
)
⟩
\lang x^{(i)}, x^{(j)}\rang
⟨x(i),x(j)⟩替换为
⟨
ϕ
(
x
(
i
)
)
,
ϕ
(
x
(
j
)
)
⟩
\lang\phi(x^{(i)}), \phi(x^{(j)})\rang
⟨ϕ(x(i)),ϕ(x(j))⟩,即使用
ϕ
(
x
)
\phi(\bm{x})
ϕ(x)执行算法,而不是原始的一维输入特征。有些情况下,
ϕ
(
x
)
\phi(x)
ϕ(x)的维度将会非常高,此时计算内积是十分低效的。因此,定义核函数
K
(
x
(
i
)
,
x
(
j
)
)
=
⟨
ϕ
(
x
(
i
)
)
,
ϕ
(
x
(
j
)
)
⟩
K(x^{(i)}, x^{(j)}) = \lang\phi(x^{(i)}), \phi(x^{(j)})\rang
K(x(i),x(j))=⟨ϕ(x(i)),ϕ(x(j))⟩来解决上述问题。
考虑输入
x
,
z
∈
R
n
\bm{x}, \bm{z} \in \bm{R}^n
x,z∈Rn,那么
K
(
x
,
z
)
=
(
x
T
z
)
2
=
(
∑
i
=
1
n
x
i
z
i
)
(
∑
j
=
1
n
x
j
z
j
)
=
∑
i
=
1
n
∑
j
=
1
n
(
x
i
x
j
)
(
z
i
z
j
)
\begin{aligned} K(\bm{x}, \bm{z}) &= (\bm{x}^T\bm{z})^2 \\&= (\sum_{i=1}^nx_iz_i)(\sum_{j=1}^nx_jz_j) \\&= \sum_{i=1}^n\sum_{j=1}^n(x_ix_j)(z_iz_j) \end{aligned}
K(x,z)=(xTz)2=(i=1∑nxizi)(j=1∑nxjzj)=i=1∑nj=1∑n(xixj)(zizj)定义
ϕ
(
x
)
=
(
x
1
x
1
,
x
1
x
2
,
.
.
.
)
T
\phi(\bm{x}) = (x_1x_1, x_1x_2, ...)^T
ϕ(x)=(x1x1,x1x2,...)T,则
K
(
x
,
z
)
=
∑
i
=
1
n
∑
j
=
1
n
(
x
i
x
j
)
(
z
i
z
j
)
=
(
ϕ
(
x
)
)
T
(
ϕ
(
z
)
)
\begin{aligned} K(\bm{x}, \bm{z}) &= \sum_{i=1}^n\sum_{j=1}^n(x_ix_j)(z_iz_j) \\&= (\phi(\bm{x}))^T(\phi(\bm{z})) \end{aligned}
K(x,z)=i=1∑nj=1∑n(xixj)(zizj)=(ϕ(x))T(ϕ(z))此时,计算
ϕ
(
x
)
\phi(\bm{x})
ϕ(x)的时间复杂度
T
(
n
)
=
O
(
n
2
)
T(n) = O(n^2)
T(n)=O(n2),但是计算
K
K
K的值只需要
T
(
n
)
=
O
(
n
)
T(n) = O(n)
T(n)=O(n)。
考虑给定特征
x
\bm{x}
x,与其转化的特征向量
ϕ
(
x
)
\phi(\bm{x})
ϕ(x),那么核函数用于计算特征向量之间的内积。直观的来讲,两个特征向量越相似,其核函数越大。当对数据进行分类时,一个生成核的方法是当两个样本被认为相似时,令核函数较大,反之较小。
核函数需要一定的合法性,即核函数可以写成内积的形式,形如
K
(
x
(
i
)
,
x
(
j
)
)
=
⟨
ϕ
(
x
(
i
)
)
,
ϕ
(
x
(
j
)
)
⟩
K(x^{(i)}, x^{(j)}) = \lang\phi(x^{(i)}), \phi(x^{(j)})\rang
K(x(i),x(j))=⟨ϕ(x(i)),ϕ(x(j))⟩假设
K
K
K是一个核函数,给定点集
{
x
(
n
)
}
\{\bm{x}^{(n)}\}
{x(n)},定义核矩阵
K
∈
R
m
×
m
\bm{K} \in \bm{R}^{m×m}
K∈Rm×m,并取
K
i
j
=
K
(
x
(
i
)
,
x
(
j
)
)
\bm{K}_{ij} = K(\bm{x}^{(i)}, \bm{x}^{(j)})
Kij=K(x(i),x(j))那么对于任意向量
z
∈
R
m
\bm{z} \in \bm{R}^m
z∈Rm,考虑
z
T
K
z
=
∑
i
=
1
m
∑
j
=
1
m
z
i
k
i
j
z
j
=
∑
i
=
1
m
∑
j
=
1
m
z
i
ϕ
(
x
(
i
)
)
T
ϕ
(
x
(
j
)
)
z
j
=
∑
i
=
1
m
∑
j
=
1
m
∑
k
=
1
m
z
i
(
ϕ
(
x
(
i
)
)
k
ϕ
(
x
(
j
)
)
k
)
z
j
=
∑
k
=
1
m
(
∑
i
=
1
m
z
i
ϕ
(
x
(
j
)
)
k
)
2
≥
0
\begin{aligned} \bm{z}^T\bm{K}\bm{z} &= \sum_{i=1}^m\sum_{j=1}^mz_ik_{ij}z_j \\&=\sum_{i=1}^m\sum_{j=1}^mz_i\phi(\bm{x}^{(i)})^T\phi(\bm{x}^{(j)})z_j \\&=\sum_{i=1}^m\sum_{j=1}^m\sum_{k=1}^mz_i ( \phi(\bm{x}^{(i)})_k\phi(\bm{x}^{(j)})_k)z_j \\&=\sum_{k=1}^m(\sum_{i=1}^mz_i\phi(\bm{x}^{(j)})_k)^2 \\&\ge 0 \end{aligned}
zTKz=i=1∑mj=1∑mzikijzj=i=1∑mj=1∑mziϕ(x(i))Tϕ(x(j))zj=i=1∑mj=1∑mk=1∑mzi(ϕ(x(i))kϕ(x(j))k)zj=k=1∑m(i=1∑mziϕ(x(j))k)2≥0即核矩阵
K
\bm{K}
K是半正定矩阵,实际上,该命题的逆命题也成立,这就给出了测试
K
K
K是否合法的一种方法,给定核函数
K
(
x
,
z
)
K(\bm{x}, \bm{z})
K(x,z),那么若对于任一点集
∃
ϕ
,
K
(
x
,
z
)
=
ϕ
(
x
)
T
ϕ
(
z
)
\exists \phi, K(\bm{x}, \bm{z}) = \phi(\bm{x})^T\phi(\bm{z})
∃ϕ,K(x,z)=ϕ(x)Tϕ(z),核矩阵
K
\bm{K}
K是对称的半正定矩阵,则该核函数合法。
考虑高斯核
K
(
x
,
z
)
=
e
x
p
{
−
∣
∣
x
−
z
∣
∣
2
/
2
σ
2
}
K(\bm{x}, \bm{z}) = exp\{-||\bm{x} - \bm{z}||^2/2\sigma^2\}
K(x,z)=exp{−∣∣x−z∣∣2/2σ2},并将最优间隔分类器对偶形式中的
⟨
x
(
i
)
,
x
(
j
)
⟩
\lang\bm{x}^{(i)}, \bm{x}^{(j)}\rang
⟨x(i),x(j)⟩替换为
K
(
x
(
i
)
,
x
(
j
)
)
K(\bm{x}^{(i)}, \bm{x}^{(j)})
K(x(i),x(j)),从而将
x
\bm{x}
x隐式的替换成为度更高的特征向量,自此,核会将低维样本空间映射到高维的特征空间,这使得某些线性不可分的样本在高维空间中变得线性可分,这便是SVM输出非线性决策边界的过程。
2.2 L1正则化SVM
对于某些异常样本或非线性可分的样本,根据最大间隔分类器的原则可能使得决策边界并非有着良好的实际效果,使用L1正则化可以改善上述的两种形况。
SVM的原始问题形如
m
i
n
∣
∣
w
∣
∣
2
/
2
s
.
t
.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
1
\begin{aligned}min\ & ||\bm{w}||^2 / 2 \\ s.t.\ & y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) \ge 1 \end{aligned}
min s.t. ∣∣w∣∣2/2y(i)(wTx(i)+b)≥1而L1正则化的形式为
m
i
n
∣
∣
w
∣
∣
2
/
2
+
c
∑
ξ
i
s
.
t
.
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
\begin{aligned}min\ & ||\bm{w}||^2 / 2 + c\sum\xi_i\\ s.t.\ & y^{(i)}(\bm{w}^T\bm{x}^{(i)} + \bm{b}) \ge 1 - \xi_i \\& \xi_i \ge 0 \end{aligned}
min s.t. ∣∣w∣∣2/2+c∑ξiy(i)(wTx(i)+b)≥1−ξiξi≥0其中
ξ
i
\xi_i
ξi为惩罚项,其要求所有的样本都被分割且函数间隔不小于
1
−
ξ
i
1 - \xi_i
1−ξi,这使得允许一些样本进行错误分类。同SVM的推导,其对偶问题为
m
a
x
W
(
α
)
s
.
t
.
0
≤
α
i
≤
c
∑
i
=
1
m
α
i
y
(
i
)
=
0
\begin{aligned}max\ &W(\bm\alpha) \\ s.t.\ & 0\le \alpha_i \le c \\& \sum_{i = 1}^m\alpha_iy^{(i)} = 0 \end{aligned}
max s.t. W(α)0≤αi≤ci=1∑mαiy(i)=0
2.3 坐标上升法与序列最小优化算法
考虑这样的优化问题,形如
m
a
x
W
(
α
)
\begin{aligned}max\ &W(\bm\alpha) \end{aligned}
max W(α)其是一个无约束问题。使用坐标上生算法解决该问题,坐标上升算法是一种迭代算法,其对
α
\bm\alpha
α的每一分量分别取最大值,并保持其他分量固定,形如
α
i
=
a
r
g
m
a
x
α
i
W
\alpha_i = argmax_{ \alpha_i}W
αi=argmaxαiW再考虑有约束的优化问题,即SVM的优化问题
m
a
x
W
(
α
)
s
.
t
.
α
i
≥
0
∑
i
=
1
m
α
i
y
(
i
)
=
0
\begin{aligned}max\ &W(\bm\alpha) \\ s.t.\ &\alpha_i \ge 0 \\& \sum_{i = 1}^m\alpha_iy^{(i)} = 0 \end{aligned}
max s.t. W(α)αi≥0i=1∑mαiy(i)=0为了解决该问题,使用基于坐标上升算法的改良算法序列最小优化算法【Sequential Minimal Optimization,SMO】,其为了保证满足约束,选择一次改变两个
α
i
\alpha_i
αi,形如
α
i
,
α
j
=
a
r
g
m
a
x
α
i
,
α
j
W
\alpha_i, \alpha_j = argmax_{ \alpha_i, \alpha_j}W
αi,αj=argmaxαi,αjW如何在满足约束的条件下取得两个变量的最优值是关键步骤。考虑L1正则化的优化问题
m
a
x
W
(
α
)
s
.
t
.
0
≤
α
i
≤
c
∑
i
=
1
m
α
i
y
(
i
)
=
0
\begin{aligned}max\ &W(\bm\alpha) \\ s.t.\ & 0\le \alpha_i \le c \\& \sum_{i = 1}^m\alpha_iy^{(i)} = 0 \end{aligned}
max s.t. W(α)0≤αi≤ci=1∑mαiy(i)=0考虑优化变量为
α
1
,
α
2
\alpha_1, \alpha_2
α1,α2,则有
α
1
y
(
1
)
+
α
2
y
(
2
)
=
−
∑
i
=
3
m
α
i
y
(
i
)
\alpha_1y^{(1)} + \alpha_2y^{(2)} = -\sum_{i=3}^m\alpha_iy^{(i)}
α1y(1)+α2y(2)=−i=3∑mαiy(i)即
α
1
=
(
−
∑
i
=
3
m
α
i
y
(
i
)
−
α
2
y
(
2
)
)
/
y
(
1
)
\alpha_1 = (-\sum_{i=3}^m\alpha_iy^{(i)} - \alpha_2y^{(2)}) / y^{(1)}
α1=(−i=3∑mαiy(i)−α2y(2))/y(1)故
W
(
α
)
=
W
(
α
2
)
W(\bm\alpha) = W(\alpha_2)
W(α)=W(α2)其可以看作是一个标准的二次函数。再考虑
0
≤
α
i
≤
c
0\le \alpha_i \le c
0≤αi≤c那么对于二次函数的最优解,需要将其约束在
[
0
,
c
]
[0, c]
[0,c]内,并在确定
α
2
\alpha_2
α2的最优值后直接得出
α
1
\alpha_1
α1。