上接支持向量机(SVM)原理(一)
2.4 软间隔与正则化
现实中很难找到一个合适的核函数将训练样本在特征空间中线性可分,某些情况下的线性可分可能是因为过拟合造成的。要解决该问题就需要允许一定的差错,在此就提及到‘’软间隔‘’。以下图示例展开:
图中红圈出现了一些不满足约束的错误样本,按照支持向量机的模型,将样本完全分为两类,那样的划分为‘’硬间隔‘’,此处的‘’软间隔‘’部分样本不满足
y
i
(
w
T
x
+
b
)
⩾
1
(22)
\tag{22}y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b)\geqslant 1
yi(wTx+b)⩾1(22)
但是我们需要做到不满足约束条件的样本尽可能少,优化目标函数可写为
min
w
,
b
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ℓ
0
/
1
(
y
i
(
w
T
x
i
+
b
)
−
1
)
(23)
\tag{23}\min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \ell_{0 / 1}\left(y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)-1\right)
w,bmin21∥w∥2+Ci=1∑mℓ0/1(yi(wTxi+b)−1)(23)
其中
C
>
0
C>0
C>0 是一个常数,
ℓ
0
/
1
\ell_{0 / 1}
ℓ0/1 是 “
0
/
1
0 / 1
0/1 损失函数”
ℓ
0
/
1
(
z
)
=
{
1
,
if
z
<
0
0
,
otherwise
(24)
\tag{24}\ell_{0 / 1}(z)= \begin{cases}1, & \text { if } z<0 \\ 0, & \text { otherwise }\end{cases}
ℓ0/1(z)={1,0, if z<0 otherwise (24)
显然, 当
C
C
C 为无穷大时, 式(23)迫使所有样本均满足约束(22), 于是式(23)等价于(1); 当
C
C
C 取有阳值时, 式(23)允许一些样本不满足约束.
然而,
ℓ
0
/
1
\ell_{0 / 1}
ℓ0/1 非凸、非连续, 数学侏质不太好, 使得式(23)不易直接求解. 于是, 人们通常用其他一些函数来代替
ℓ
0
/
1
\ell_{0 / 1}
ℓ0/1, 称为 “替代损失” (surrogate loss). 替代损失函数一般具有较好的数学性质, 如它们通常是凸的连续函数且是
ℓ
0
/
1
\ell_{0 / 1}
ℓ0/1 的上界.三种常用的替代损失函数:
hinge 损失:
ℓ
hinge
(
z
)
=
max
(
0
,
1
−
z
)
\ell_{\text {hinge }}(z)=\max (0,1-z)
ℓhinge (z)=max(0,1−z);
指数损失(exponential loss):
ℓ
exp
(
z
)
=
exp
(
−
z
)
\ell_{\exp }(z)=\exp (-z)
ℓexp(z)=exp(−z);
对率损失(logistic loss):
ℓ
log
(
z
)
=
log
(
1
+
exp
(
−
z
)
)
\ell_{\log }(z)=\log (1+\exp (-z))
ℓlog(z)=log(1+exp(−z)).
若采用 hinge 损失, 则式 (23)变成
min
w
,
b
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
max
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
.
(25)
\tag{25}\min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \max \left(0,1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right) .
w,bmin21∥w∥2+Ci=1∑mmax(0,1−yi(wTxi+b)).(25)
引入 “松弛变量” (slack variables)
ξ
i
⩾
0
\xi_{i} \geqslant 0
ξi⩾0, 可将式(25)重写为
min
w
,
b
,
ξ
i
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ξ
i
(26)
\tag{26}\min _{\boldsymbol{w}, b, \xi_{i}} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \xi_{i}
w,b,ξimin21∥w∥2+Ci=1∑mξi(26)
s.t.
y
i
(
w
T
x
i
+
b
)
⩾
1
−
ξ
i
ξ
i
⩾
0
,
i
=
1
,
2
,
…
,
m
.
(27)
\begin{array}{ll}\tag{27} \text { s.t. } & y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1-\xi_{i} & \xi_{i} \geqslant 0, i=1,2, \ldots, m . \end{array}
s.t. yi(wTxi+b)⩾1−ξiξi⩾0,i=1,2,…,m.(27)
这就是常用的 “软间隔支持向量机” 。
显然,式(26)中每个样本都有一个对应的松弛变量, 用以表征该样本不满足约束式 (22), 通过拉格朗日乘子法可得到式(26)的程度通过拉格朗日乘子法可得到式(26)的拉格朗日函数
L
(
w
,
b
,
α
,
ξ
1
μ
)
=
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ξ
i
+
∑
i
=
1
m
α
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
−
∑
i
=
1
m
μ
i
ξ
i
(28)
\begin{aligned}\tag{28} L\left(\boldsymbol{w}, b, \boldsymbol{\alpha}_{,} \xi_{1} \boldsymbol{\mu}\right)=& \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \xi_{i} +\sum_{i=1}^{m} \alpha_{i}\left(1-\xi_{i}-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right)-\sum_{i=1}^{m} \mu_{i} \xi_{i} \end{aligned}
L(w,b,α,ξ1μ)=21∥w∥2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμiξi(28)
其中
α
i
⩾
0
,
μ
i
⩾
0
\alpha_{i} \geqslant 0, \mu_{i} \geqslant 0
αi⩾0,μi⩾0 是拉格朗日乘子.
令
L
(
w
,
b
,
α
,
ξ
,
μ
)
L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \boldsymbol{\xi}, \boldsymbol{\mu})
L(w,b,α,ξ,μ) 对
w
,
b
,
ξ
i
\boldsymbol{w}, b, \xi_{i}
w,b,ξi 的俏导为零可得
w
=
∑
i
=
1
m
α
i
y
i
x
i
,
0
=
∑
i
=
1
m
α
i
y
i
C
=
α
i
+
μ
i
(29)
\begin{aligned}\tag{29} &w=\sum_{i=1}^{m} \alpha_{i} y_{i} x_{i},\\ &0=\sum_{i=1}^{m} \alpha_{i} y_{i} \\ &C=\alpha_{i}+\mu_{i} \end{aligned}
w=i=1∑mαiyixi,0=i=1∑mαiyiC=αi+μi(29)
将式(29)代入式(28)即可得到式(26)的对偶问题
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
s.t.
∑
i
=
1
m
α
i
y
i
=
0
,
0
⩽
α
i
⩽
C
,
i
=
1
,
2
,
…
,
m
.
(30)
\begin{array}{ll}\tag{30} \max \limits_{\alpha} & \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} x_{i}^{\mathrm{T}} x_{j} \\ \text { s.t. } & \sum_{i=1}^{m} \alpha_{i} y_{i}=0, 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \ldots, m . \end{array}
αmax s.t. ∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjxiTxj∑i=1mαiyi=0,0⩽αi⩽C,i=1,2,…,m.(30)
同理可得, 对软间隔支持向量机, KKT 条件要求
{
α
i
⩾
0
,
μ
i
⩾
0
,
y
i
f
(
x
i
)
−
1
+
ξ
i
⩾
0
,
α
i
(
y
i
f
(
x
i
)
−
1
+
ξ
i
)
=
0
,
ξ
i
⩾
0
,
μ
i
ξ
i
=
0.
(31)
\left\{\begin{array}{l}\tag{31} \alpha_{i} \geqslant 0, \quad \mu_{i} \geqslant 0, \\ y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i} \geqslant 0, \\ \alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i}\right)=0, \\ \xi_{i} \geqslant 0, \mu_{i} \xi_{i}=0 . \end{array}\right.
⎩
⎨
⎧αi⩾0,μi⩾0,yif(xi)−1+ξi⩾0,αi(yif(xi)−1+ξi)=0,ξi⩾0,μiξi=0.(31)
于是, 对任意训练样本
(
x
i
,
y
i
)
\left(x_{i}, y_{i}\right)
(xi,yi), 总有
α
i
=
0
\alpha_{i}=0
αi=0 或
y
i
f
(
x
i
)
=
1
−
ξ
i
y_{i} f\left(x_{i}\right)=1-\xi_{i}
yif(xi)=1−ξi. 若
α
i
=
0
\alpha_{i}=0
αi=0, 则 该样本不会对
f
(
x
)
f(\boldsymbol{x})
f(x) 有任何影响; 若
α
i
>
0
\alpha_{i}>0
αi>0, 则必有
y
i
f
(
x
i
)
=
1
−
ξ
i
y_{i} f\left(\boldsymbol{x}_{i}\right)=1-\xi_{i}
yif(xi)=1−ξi, 即该样本 是支持向量: 由式 (6.39) 可知, 若
α
i
<
C
\alpha_{i}<C
αi<C, 则
μ
i
>
0
\mu_{i}>0
μi>0, 进而有
ξ
i
=
0
\xi_{i}=0
ξi=0, 即该样本 恰在最大间隔边界上; 若
α
i
=
C
\alpha_{i}=C
αi=C, 则有
μ
i
=
0
\mu_{i}=0
μi=0, 此时若
ξ
i
⩽
1
\xi_{i} \leqslant 1
ξi⩽1 则该样本落在最 大间隔内部, 若
ξ
i
>
1
\xi_{i}>1
ξi>1 则该样本被错误分类. 由此可看出, 软间隔支持向量机的最终模型仅与支持向量有关, 即通过采用 hinge 损失函数仍保持了稀疏性.
能否对式(23)使用其他的替代损失函数呢?
可以发现, 如果使用对率损失函数 ℓ log \ell_{\log } ℓlog 来替代式(23)中的 0 / 1 0 / 1 0/1 损失函数, 则几乎就得到了对率回归模型. 实际上, 支持向量机与对率回归的优化目标相近, 通常情形下它们的性能也相当. 对率回归的优势主要在于其输出具 有自然的概率意义, 即在给出预测标记的同时也给出了概率, 而支持向量机的 输出不具有概率意义, 欲得到概率输出需进行特殊处理.
我们还可以把式(23)中的
0
/
1
0 / 1
0/1 损失函数换成别的替代损失函数以得到 其他学习模型, 这些模型的性质与所用的替代函数直接相关, 但它们具有一 个共性: 优化目标中的第一项用来描述划分超平面的 “间隔” 大小, 另一项
∑
i
=
1
m
ℓ
(
f
(
x
i
)
,
y
i
)
\sum_{i=1}^{m} \ell\left(f\left(x_{i}\right), y_{i}\right)
∑i=1mℓ(f(xi),yi) 用来表述训练集上的误差, 可写为更一般的形式
min
f
Ω
(
f
)
+
C
∑
i
=
1
m
ℓ
(
f
(
x
i
)
,
y
i
)
(32)
\tag{32} \min _{f} \Omega(f)+C \sum_{i=1}^{m} \ell\left(f\left(x_{i}\right), y_{i}\right)
fminΩ(f)+Ci=1∑mℓ(f(xi),yi)(32)
其中
Ω
(
f
)
\Omega(f)
Ω(f) 称为 “结构风险” (structural risk), 用于描述模型
f
f
f 的某些性质; 第二项
∑
i
=
1
m
ℓ
(
f
(
x
i
)
,
y
i
)
\sum_{i=1}^{m} \ell\left(f\left(\boldsymbol{x}_{i}\right), y_{i}\right)
∑i=1mℓ(f(xi),yi) 称为 “经验风险”, 用于描述模型与训练 数据的契合程度;
C
C
C 用于对二者进行折中. 从经验风险最小化的角度来看,
Ω
(
f
)
\Omega(f)
Ω(f) 表述了我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型), 这为引入领域知识和用户意图提供了途径; 另一方面, 该信息有助于削减假设空间, 从而降低了最小化训练误差的过拟合风险. 从这个角度来说, 式 (32)称 为 “正则化” (regularization) 问题,
Ω
(
f
)
\Omega(f)
Ω(f) 称为正则化项,
C
C
C 则称为正则化常数.
L
p
\mathrm{L}_{p}
Lp 范数 (norm) 是常用的正则化项, 其中
L
2
\mathrm{L}_{2}
L2 范数
∥
w
∥
2
\|\boldsymbol{w}\|_{2}
∥w∥2 倾向于
w
\boldsymbol{w}
w 的分量取值 尽量均衡, 即非零分量个数尽量稠密, 而
L
0
\mathrm{L}_{0}
L0 范数
∥
w
∥
0
\|\boldsymbol{w}\|_{0}
∥w∥0 和
L
1
\mathrm{L}_{1}
L1 范数
∥
w
∥
1
\|\boldsymbol{w}\|_{1}
∥w∥1 则倾向 于
w
\boldsymbol{w}
w 的分量尽量稀疏, 即非零分量个数尽量少.
2.5 支持向量回归
给定训练样本
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots\right.
D={(x1,y1),(x2,y2),…,
(
x
m
,
y
m
)
}
,
y
i
∈
R
\left.\left(x_{m}, y_{m}\right)\right\}, y_{i} \in \mathbb{R}
(xm,ym)},yi∈R, 创建一个回归模型, 使得
f
(
x
)
f(x)
f(x) 与
y
y
y 尽可能接近,
w
\boldsymbol{w}
w 和
b
b
b 是待确定的模型参数.
对样本
(
x
,
y
)
(x, y)
(x,y), 传统回归模型通常直接基于模型输出
f
(
x
)
f(x)
f(x) 与真实输出
y
y
y 之 间的差别来计算损失, 当且仅当
f
(
x
)
f(x)
f(x) 与
y
y
y 完全相同时, 损失才为零. 与此不同, 支持向量回归(Support Vector Regression, 简称 SVR)假设我们能容忍
f
(
x
)
f(\boldsymbol{x})
f(x) 与
y
y
y 之间最多有
ϵ
\epsilon
ϵ 的偏差, 即仅当
f
(
x
)
f(x)
f(x) 与
y
y
y 之间的差别绝对值大于
ϵ
\epsilon
ϵ 时才计算损失. 这相当于以
f
(
x
)
f(x)
f(x) 为中心, 构建了一个宽度为
2
ϵ
2 \epsilon
2ϵ 的间隔带, 若训练样本落入此间隔带, 则认为是被预测正确的.红色显示出
ϵ
\epsilon
ϵ-何隙带, 落入其中的样本不计算损失.
于是, SVR 问题可形式化为
min
w
,
b
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ℓ
ϵ
(
f
(
x
i
)
−
y
i
)
(33)
\tag{33} \min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \ell_{\epsilon}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right)
w,bmin21∥w∥2+Ci=1∑mℓϵ(f(xi)−yi)(33)
其中
C
C
C 为正则化常数,
ℓ
ϵ
\ell_{\epsilon}
ℓϵ 是
ϵ
\epsilon
ϵ-不敏感损失函数.
ℓ
ϵ
(
z
)
=
{
0
,
if
∣
z
∣
⩽
ϵ
∣
z
∣
−
ϵ
,
otherwise
(34)
\tag{34} \ell_{\epsilon}(z)= \begin{cases}0, & \text { if }|z| \leqslant \epsilon \\ |z|-\epsilon, & \text { otherwise }\end{cases}
ℓϵ(z)={0,∣z∣−ϵ, if ∣z∣⩽ϵ otherwise (34)
引入松弛变量
ξ
i
\xi_{i}
ξi 和
ξ
^
i
\hat{\xi}_{i}
ξ^i, 可将式 (33)重写为
min
w
,
b
,
ξ
i
,
ξ
^
i
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
(
ξ
i
+
ξ
^
i
)
(35)
\tag{35} \min _{\boldsymbol{w}, b, \xi_{i}, \hat{\xi}_{i}} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m}\left(\xi_{i}+\hat{\xi}_{i}\right)
w,b,ξi,ξ^imin21∥w∥2+Ci=1∑m(ξi+ξ^i)(35)
s.t.
f
(
x
i
)
−
y
i
⩽
ϵ
+
ξ
i
y
i
−
f
(
x
i
)
⩽
ϵ
+
ξ
^
i
ξ
i
⩾
0
,
ξ
^
i
⩾
0
,
i
=
1
,
2
,
…
,
m
.
(36)
\begin{aligned}\tag{36} &\text{s.t. } f\left(x_{i}\right)-y_{i} \leqslant \epsilon+\xi_{i}\\ &y_{i}-f\left(\boldsymbol{x}_{i}\right) \leqslant \epsilon+\hat{\xi}_{i} \\ &\xi_{i} \geqslant 0, \hat{\xi}_{i} \geqslant 0, i=1,2, \ldots, m . \end{aligned}
s.t. f(xi)−yi⩽ϵ+ξiyi−f(xi)⩽ϵ+ξ^iξi⩾0,ξ^i⩾0,i=1,2,…,m.(36)
通过引入拉格朗日乘子
μ
i
⩾
0
,
μ
^
i
⩾
0
,
α
i
⩾
0
,
α
^
i
⩾
0
\mu_{i} \geqslant 0, \hat{\mu}_{i} \geqslant 0, \alpha_{i} \geqslant 0, \hat{\alpha}_{i} \geqslant 0
μi⩾0,μ^i⩾0,αi⩾0,α^i⩾0, 由拉 格朗日乘子法可得到拉格朗日函数
L
(
w
,
b
,
α
,
α
^
,
ξ
,
ξ
^
,
μ
,
μ
^
)
=
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
(
ξ
i
+
ξ
^
i
)
−
∑
i
=
1
m
μ
i
ξ
i
−
∑
i
=
1
m
μ
^
i
ξ
^
i
+
∑
i
=
1
m
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
)
+
∑
i
=
1
m
α
^
i
(
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
)
.
(37)
\begin{aligned}\tag{37} &L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \hat{\boldsymbol{\alpha}}, \boldsymbol{\xi}, \hat{\boldsymbol{\xi}}, \boldsymbol{\mu}, \hat{\boldsymbol{\mu}}) \\ &=\frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m}\left(\xi_{i}+\hat{\xi}_{i}\right)-\sum_{i=1}^{m} \mu_{i} \xi_{i}-\sum_{i=1}^{m} \hat{\mu}_{i} \hat{\xi}_{i} \\ &+\sum_{i=1}^{m} \alpha_{i}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)+\sum_{i=1}^{m} \hat{\alpha}_{i}\left(y_{i}-f\left(\boldsymbol{x}_{i}\right)-\epsilon-\hat{\xi}_{i}\right) . \end{aligned}
L(w,b,α,α^,ξ,ξ^,μ,μ^)=21∥w∥2+Ci=1∑m(ξi+ξ^i)−i=1∑mμiξi−i=1∑mμ^iξ^i+i=1∑mαi(f(xi)−yi−ϵ−ξi)+i=1∑mα^i(yi−f(xi)−ϵ−ξ^i).(37)
将
f
(
x
)
=
w
T
x
+
b
f(x)=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b
f(x)=wTx+b代入, 再令
L
(
w
,
b
,
α
,
α
^
,
ξ
,
ξ
^
,
μ
,
μ
^
)
L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \hat{\boldsymbol{\alpha}}, \boldsymbol{\xi}, \hat{\boldsymbol{\xi}}, \boldsymbol{\mu}, \hat{\boldsymbol{\mu}})
L(w,b,α,α^,ξ,ξ^,μ,μ^) 对
w
,
b
,
ξ
i
\boldsymbol{w}, b, \xi_{\mathrm{i}}
w,b,ξi 和
ξ
^
i
\hat{\xi}_{i}
ξ^i 的偏导为零可得
w
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
x
i
,
0
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
,
C
=
α
i
+
μ
i
,
C
=
α
^
i
+
μ
^
i
.
(38)
\begin{aligned}\tag{38} &w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}, \\ &0=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right), \\ &C=\alpha_{i}+\mu_{i}, \\ &C=\hat{\alpha}_{i}+\hat{\mu}_{i} . \end{aligned}
w=i=1∑m(α^i−αi)xi,0=i=1∑m(α^i−αi),C=αi+μi,C=α^i+μ^i.(38)
将式(38)代入式(37), 即可得到 SVR的对偶问题
max
α
,
α
^
∑
i
=
1
m
y
i
(
α
^
i
−
α
i
)
−
ϵ
(
α
^
i
+
α
i
)
−
1
2
∑
i
=
1
m
∑
j
=
1
m
(
α
^
i
−
α
i
)
(
α
^
j
−
α
j
)
x
i
T
x
j
s.t.
∑
i
=
1
m
(
α
^
i
−
α
i
)
=
0
,
0
⩽
α
i
,
α
^
i
⩽
C
.
(39)
\begin{array}{ll}\tag{39} \max \limits_{\alpha, \hat{\alpha}} & \sum_{i=1}^{m} y_{i}\left(\hat{\alpha}_{i}-\alpha_{i}\right)-\epsilon\left(\hat{\alpha}_{i}+\alpha_{i}\right) \\ & -\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right)\left(\hat{\alpha}_{j}-\alpha_{j}\right) x_{i}^{\mathrm{T}} \boldsymbol{x}_{j} \\ \text { s.t. } & \sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right)=0, 0 \leqslant \alpha_{i}, \hat{\alpha}_{i} \leqslant C . \end{array}
α,α^max s.t. ∑i=1myi(α^i−αi)−ϵ(α^i+αi)−21∑i=1m∑j=1m(α^i−αi)(α^j−αj)xiTxj∑i=1m(α^i−αi)=0,0⩽αi,α^i⩽C.(39)
上述过程中需满足 KKT 条件, 即要求
{
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
)
=
0
,
α
^
i
(
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
)
=
0
,
α
i
α
^
i
=
0
,
ξ
i
ξ
^
i
=
0
,
(
C
−
α
i
)
ξ
i
=
0
,
(
C
−
α
^
i
)
ξ
^
i
=
0.
(40)
\left\{\begin{array}{l}\tag{40} \alpha_{i}\left(f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)=0, \\ \hat{\alpha}_{i}\left(y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}\right)=0, \\ \alpha_{i} \hat{\alpha}_{i}=0, \xi_{i} \hat{\xi}_{i}=0, \\ \left(C-\alpha_{i}\right) \xi_{i}=0,\left(C-\hat{\alpha}_{i}\right) \hat{\xi}_{i}=0 . \end{array}\right.
⎩
⎨
⎧αi(f(xi)−yi−ϵ−ξi)=0,α^i(yi−f(xi)−ϵ−ξ^i)=0,αiα^i=0,ξiξ^i=0,(C−αi)ξi=0,(C−α^i)ξ^i=0.(40)
可以看出, 当且仅当
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
=
0
f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}=0
f(xi)−yi−ϵ−ξi=0 时
α
i
\alpha_{i}
αi 能取非零值, 当且仅当
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
=
0
y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}=0
yi−f(xi)−ϵ−ξ^i=0 时
α
^
i
\hat{\alpha}_{i}
α^i 能取非零值. 换言之, 仅当样本
(
x
i
,
y
i
)
\left(x_{i}, y_{i}\right)
(xi,yi) 不落入
ϵ
−
\epsilon-
ϵ− 间 隔带中, 相应的
α
i
\alpha_{i}
αi 和
α
^
i
\hat{\alpha}_{i}
α^i 才能取非零值. 此外, 约束
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
=
0
f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}=0
f(xi)−yi−ϵ−ξi=0 和
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
=
0
y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}=0
yi−f(xi)−ϵ−ξ^i=0 不能同时成立, 因此
α
i
\alpha_{i}
αi 和
α
^
i
\hat{\alpha}_{i}
α^i 中至少有一个为零.
将式
w
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
x
i
w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}
w=∑i=1m(α^i−αi)xi 代入
f
(
x
)
=
w
T
x
+
b
f(x)=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b
f(x)=wTx+b, 则 SVR 的解形如
f
(
x
)
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
x
i
T
x
+
b
.
(41)
\tag{41} f(x)=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}+b .
f(x)=i=1∑m(α^i−αi)xiTx+b.(41)
能使式 (41)中的
(
α
^
i
−
α
i
)
≠
0
\left(\hat{\alpha}_{i}-\alpha_{i}\right) \neq 0
(α^i−αi)=0 的样本即为 SVR 的支持向量, 它们必落在
ϵ
\epsilon
ϵ-间隔带之外. 显然, SVR 的支持向量仅是训练样本的一部分, 即基解仍具有稀疏性.
由 KKT 条件 (40) 可看出, 对每个样本
(
x
i
,
y
i
)
\left(x_{i}, y_{i}\right)
(xi,yi) 都有
(
C
−
α
i
)
ξ
i
=
0
\left(C-\alpha_{i}\right) \xi_{i}=0
(C−αi)ξi=0 且.
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
)
=
0
\alpha_{i}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)=0
αi(f(xi)−yi−ϵ−ξi)=0. 于是, 在得到
α
i
\alpha_{i}
αi 后, 若
0
<
α
i
<
C
0<\alpha_{i}<C
0<αi<C, 则必有
ξ
i
=
0
\xi_{i}=0
ξi=0, 进而有
b
=
y
i
+
ϵ
−
∑
i
=
1
m
(
α
^
i
−
α
i
)
x
i
T
x
.
(42)
\tag{42} b=y_{i}+\epsilon-\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}^{\mathrm{T}} x .
b=yi+ϵ−i=1∑m(α^i−αi)xiTx.(42)
因此, 在求解式(39)得到
α
i
\alpha_{i}
αi 后, 理论上来说, 可任意选取满足
0
<
α
i
<
C
0<\alpha_{i}<C
0<αi<C 的样本通过式 (42)求得
b
b
b. 实践中常采用一种更鲁桻的办法: 选取多个(或所有)㳾 足条件
0
<
α
i
<
C
0<\alpha_{i}<C
0<αi<C 的样本求解
b
b
b 后取平均值.
若考虑特征映射形式, 则相应的
w
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
x
i
w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}
w=∑i=1m(α^i−αi)xi将形如
w
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
ϕ
(
x
i
)
(43)
\tag{43} \boldsymbol{w}=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \phi\left(x_{i}\right)
w=i=1∑m(α^i−αi)ϕ(xi)(43)
将式(43)代入
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b
f(x)=wTϕ(x)+b, 则 SVR 可表示为
f
(
x
)
=
∑
i
=
1
m
(
α
^
i
−
α
i
)
κ
(
x
,
x
i
)
+
b
(44)
\tag{44} f(\boldsymbol{x})=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right)+b
f(x)=i=1∑m(α^i−αi)κ(x,xi)+b(44)
其中
κ
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\kappa\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\phi\left(\boldsymbol{x}_{i}\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_{j}\right)
κ(xi,xj)=ϕ(xi)Tϕ(xj) 为核函数.
2.6 核方法
给定训练样本 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … \left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots\right. {(x1,y1),(x2,y2),…, ( x m , y m ) } \left.\left(x_{m}, y_{m}\right)\right\} (xm,ym)}, 若不考虑偏移项 b b b, 则无论 SVM 还是 SVR, 学得的模型总能表示成核函数 κ ( x , x i ) \kappa\left(x, x_{i}\right) κ(x,xi) 的线性组合. 不仅如此, 事实上我们有下面这个称为 “表示定理” 。
表示定理:令
H
\mathbb{H}
H 为核函数
κ
\kappa
κ 对应的再生核希尔伯特空间,
∥
h
∥
H
\|h\|_{\mathbb{H}}
∥h∥H 表示
H
\mathbb{H}
H 空间中关于
h
h
h 的范数, 对于任意单调递增函数
Ω
:
[
0
,
∞
]
↦
R
\Omega:[0, \infty] \mapsto \mathbb{R}
Ω:[0,∞]↦R 和任意非 负损失函数
ℓ
:
R
m
↦
[
0
,
∞
]
\ell: \mathbb{R}^{m} \mapsto[0, \infty]
ℓ:Rm↦[0,∞], 优化问题
min
h
∈
H
F
(
h
)
=
Ω
(
∥
h
∥
H
)
+
ℓ
(
h
(
x
1
)
,
h
(
x
2
)
,
…
,
h
(
x
m
)
)
(45)
\tag{45} \min _{h \in \mathrm{H}} F(h)=\Omega\left(\|h\|_{\mathrm{H}}\right)+\ell\left(h\left(\boldsymbol{x}_{1}\right), h\left(\boldsymbol{x}_{2}\right), \ldots, h\left(\boldsymbol{x}_{m}\right)\right)
h∈HminF(h)=Ω(∥h∥H)+ℓ(h(x1),h(x2),…,h(xm))(45)
的解总可写为
h
∗
(
x
)
=
∑
i
=
1
m
α
i
κ
(
x
,
x
i
)
.
(46)
\tag{46} h^{*}(x)=\sum_{i=1}^{m} \alpha_{i} \kappa\left(x, x_{i}\right) .
h∗(x)=i=1∑mαiκ(x,xi).(46)
表示定理对损失函数没有限制, 对正则化项
Ω
\Omega
Ω 仅要求单调递增, 甚至不要求
Ω
\Omega
Ω 是凸函数, 意味着对于一般的损失函数和正则化项, 优化问题(45)的最优解
h
∗
(
x
)
h^{*}(\boldsymbol{x})
h∗(x) 都可表示为核函数
κ
(
x
,
x
i
)
\kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right)
κ(x,xi) 的线性组合; 这显示出核函数的巨大威力.
人们发展出一系列基于核函数的学习方法, 统称为 “核方法” (kernel methods). 最常见的, 是通过 “核化” (即引入核函数)来将线性学习器拓展为 非线性学习器. 下面我们以线性判别分析为例来演示如何通过核化来对其进 行非线性拓展, 从而得到 “核线性判别分析” (Kernelized Linear Discriminant Analysis, 简称 KLDA).
我们先假设可通过某种映射
ϕ
:
X
↦
F
\phi: \mathcal{X} \mapsto \mathbb{F}
ϕ:X↦F 将样本映射到一个特征空间
F
\mathbb{F}
F, 然 后在
F
\mathbb{F}
F 中执行线性判别分析, 以求得
h
(
x
)
=
w
T
ϕ
(
x
)
.
(47)
\tag{47} h(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x}) .
h(x)=wTϕ(x).(47)
KLDA 的学习目标是
max
w
J
(
w
)
=
w
T
S
b
ϕ
w
w
T
S
w
ϕ
w
(48)
\tag{48} \max _{w} J(\boldsymbol{w})=\frac{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b}^{\phi} \boldsymbol{w}}{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w}^{\phi} w}
wmaxJ(w)=wTSwϕwwTSbϕw(48)
其中
S
b
ϕ
\mathbf{S}_{b}^{\phi}
Sbϕ 和
S
w
ϕ
\mathbf{S}_{w}^{\phi}
Swϕ 分别为训练样本在特征空问
F
\mathrm{F}
F 中的类间散度矩阵和类内敝 度矩阵. 令
X
i
X_{i}
Xi 表示第
i
∈
{
0
,
1
}
i \in\{0,1\}
i∈{0,1} 类样本的集合, 其样本数为
m
i
m_{i}
mi; 总样本数
m
=
m
0
+
m
1
m=m_{0}+m_{1}
m=m0+m1. 第
i
i
i 类样本在特征空间
F
\mathbb{F}
F 中的均值为
μ
i
ϕ
=
1
m
i
∑
x
∈
X
i
ϕ
(
x
)
,
(49)
\tag{49} \boldsymbol{\mu}_{i}^{\phi}=\frac{1}{m_{i}} \sum_{x \in X_{i}} \phi(x),
μiϕ=mi1x∈Xi∑ϕ(x),(49)
两个散度矩阵分别为
S
b
ϕ
=
(
μ
1
ϕ
−
μ
0
ϕ
)
(
μ
1
ϕ
−
μ
0
ϕ
)
T
;
S
w
ϕ
=
∑
i
=
0
1
∑
x
∈
X
i
(
ϕ
(
x
)
−
μ
i
ϕ
)
(
ϕ
(
x
)
−
μ
i
ϕ
)
T
.
(50)
\begin{aligned}\tag{50} &\mathbf{S}_{b}^{\phi}=\left(\boldsymbol{\mu}_{1}^{\phi}-\boldsymbol{\mu}_{0}^{\phi}\right)\left(\boldsymbol{\mu}_{1}^{\phi}-\boldsymbol{\mu}_{0}^{\phi}\right)^{\mathrm{T}} ; \\ &\mathbf{S}_{w}^{\phi}=\sum_{i=0}^{1} \sum_{x \in X_{i}}\left(\phi(\boldsymbol{x})-\boldsymbol{\mu}_{i}^{\phi}\right)\left(\phi(\boldsymbol{x})-\boldsymbol{\mu}_{i}^{\phi}\right)^{\mathrm{T}} . \end{aligned}
Sbϕ=(μ1ϕ−μ0ϕ)(μ1ϕ−μ0ϕ)T;Swϕ=i=0∑1x∈Xi∑(ϕ(x)−μiϕ)(ϕ(x)−μiϕ)T.(50)
通常我们难以知道映射
ϕ
\phi
ϕ 的具体形式, 因此使用核函数
κ
(
x
,
x
i
)
=
\kappa\left(x, x_{i}\right)=
κ(x,xi)=
ϕ
(
x
i
)
T
ϕ
(
x
)
\phi\left(\boldsymbol{x}_{i}\right)^{\mathrm{T}} \phi(\boldsymbol{x})
ϕ(xi)Tϕ(x) 来隐式地表达这个映射和特征空间
F
F
F. 把
J
(
w
)
J(\boldsymbol{w})
J(w) 作为式 (45)中 的损失函数
ℓ
\ell
ℓ, 再令
Ω
≡
0
\Omega \equiv 0
Ω≡0, 由表示定理, 函数
h
(
x
)
h(x)
h(x) 可写为
h
(
x
)
=
∑
i
=
1
m
α
i
κ
(
x
,
x
i
)
,
(51)
\tag{51} h(\boldsymbol{x})=\sum_{i=1}^{m} \alpha_{i} \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right),
h(x)=i=1∑mαiκ(x,xi),(51)
于是由式(47)可得
w
=
∑
i
=
1
m
α
i
ϕ
(
x
i
)
.
(52)
\tag{52} \boldsymbol{w}=\sum_{i=1}^{m} \alpha_{i} \phi\left(\boldsymbol{x}_{i}\right) .
w=i=1∑mαiϕ(xi).(52)
令
K
∈
R
m
×
m
\mathbf{K} \in \mathbb{R}^{m \times m}
K∈Rm×m 为核函数
κ
\kappa
κ 所对应的核矩阵,
(
K
)
i
j
=
κ
(
x
i
,
x
j
)
(\mathbf{K})_{i j}=\kappa\left(x_{i}, x_{j}\right)
(K)ij=κ(xi,xj). 令
1
i
∈
\mathbf{1}_{i} \in
1i∈
{
1
,
0
}
m
×
1
\{1,0\}^{m \times 1}
{1,0}m×1 为第
i
i
i 类样本的指示向量, 即
1
i
1_{i}
1i 的第
j
j
j 个分量为 1 当且仅当
x
j
∈
X
i
x_{j} \in X_{i}
xj∈Xi, 否则
1
i
\mathbf{1}_{i}
1i 的第
j
j
j 个分量为 0 . 再令
μ
^
0
=
1
m
0
K
1
0
μ
^
1
=
1
m
1
K
1
1
M
=
(
μ
^
0
−
μ
^
1
)
(
μ
^
0
−
μ
^
1
)
T
N
=
K
K
T
−
∑
i
=
0
1
m
i
μ
^
i
μ
^
i
T
(53)
\begin{aligned}\tag{53} &\hat{\mu}_{0}=\frac{1}{m_{0}} \mathbf{K} \mathbf{1}_{0}\\ &\hat{\mu}_{1}=\frac{1}{m_{1}} \mathbf{K} \mathbf{1}_{1}\\ &\mathbf{M}=\left(\hat{\boldsymbol{\mu}}_{0}-\hat{\mu}_{1}\right)\left(\hat{\mu}_{0}-\hat{\mu}_{1}\right)^{\mathbf{T}}\\ &\mathbf{N}=\mathbf{K K}^{\mathrm{T}}-\sum_{i=0}^{1} m_{i} \hat{\boldsymbol{\mu}}_{i} \hat{\boldsymbol{\mu}}_{i}^{\mathrm{T}} \end{aligned}
μ^0=m01K10μ^1=m11K11M=(μ^0−μ^1)(μ^0−μ^1)TN=KKT−i=0∑1miμ^iμ^iT(53)
于是, 式(48)等价为
max
α
J
(
α
)
=
α
T
M
α
α
T
N
α
\max _{\alpha} J(\boldsymbol{\alpha})=\frac{\boldsymbol{\alpha}^{\mathrm{T}} \mathbf{M} \alpha}{\boldsymbol{\alpha}^{\mathrm{T}} \mathbf{N} \alpha}
αmaxJ(α)=αTNααTMα
显然, 使用线性判别分析求解方法即可得到
α
\boldsymbol{\alpha}
α, 进而可由式(51)得到投影 函数
h
(
x
)
h(\boldsymbol{x})
h(x).
原理部分结束,后续见python实现篇章