1 间隔与支持向量
分类学习最基本想法是基于训练集在样本你空间中找到一个划分超平面。
在样本空间中,划分超平面可以通过如下线性方程来描述:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0
其中
w
=
(
w
1
,
w
2
,
.
.
.
.
w
d
)
w=(w_1,w_2,....w_d)
w=(w1,w2,....wd)为法向量,b为位移项。
样本空间中任意点x道超平面
(
w
,
b
)
(w,b)
(w,b)的距离可以写为
r
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
r=\frac{|w^Tx+b|}{||w||}
r=∣∣w∣∣∣wTx+b∣.
距离超平面最佳的几个训练点使
w
T
x
i
+
b
=
+
(
−
1
)
w^Tx_i+b=+(-1)
wTxi+b=+(−1)成立,这几个训练点就称为支持向量,两个异类支持向量道超平面的距离之和为:
γ
=
2
∣
∣
w
∣
∣
\gamma=\frac{2}{||w||}
γ=∣∣w∣∣2
这个距离被称为间隔。
找到具有最大间隔的划分超平面,就是找到约束下的参数w和b,使得
γ
\gamma
γ最大,即
m
a
x
2
∣
∣
w
∣
∣
max\frac{2}{||w||}
max∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
s.t. y_i(w^Tx_i+b)\ge1
s.t.yi(wTxi+b)≥1
也可以写为
m
i
n
∣
∣
w
∣
∣
2
2
min\frac{||w||^2}{2}
min2∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
s.t. y_i(w^Tx_i+b)\ge1
s.t.yi(wTxi+b)≥1
2 对偶问题
可以使用拉格朗日乘子发得到对偶问题
该问题的拉格朗日函数可以写为:
令L(w,b,a)对w和b的偏导为零得到
回带到L(w,b,a)中消去w和b,得到对偶问题
解出a后,求出w和b得到最终模型
注意,上述过程需要满足KKT条件,即
对于如何求解对偶问题,这是一个二次规划问题,可使用通用的二次规划算法来求解;然而,该问题的规模正比于训练样本数,这会在实际任务中造成很大的开销。因此,提出了SMO算法
基本思路先固定
a
i
a_i
ai之外的所有参数,然后求
a
i
a_i
ai上的极值。
步骤如下:
1.选取一对需要更新的变量
a
i
和
a
j
a_i和a_j
ai和aj。
2.固定
a
i
和
a
j
a_i和a_j
ai和aj以外的参数,求解获得更新后的
a
i
和
a
j
a_i和a_j
ai和aj。
以上步骤不断执行直到收敛。
3 核函数
由于在现实任务中,原始样本空间内可能并不存在一个能正确划分两类样本的超平面。
对于这个问题,可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
令
ϕ
(
x
)
\phi(x)
ϕ(x)表示将x映射后的特征向量,则模型表示为:
求解涉及到计算
ϕ
(
x
i
)
T
ϕ
(
x
i
)
\phi(x_i)^T\phi(x_i)
ϕ(xi)Tϕ(xi),由于特征空间维数可能很高,直接计算
ϕ
(
x
i
)
T
ϕ
(
x
i
)
\phi(x_i)^T\phi(x_i)
ϕ(xi)Tϕ(xi)会很困难,可以设想这样一个函数
κ
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
T
ϕ
(
x
i
)
\kappa (x_i,x_j)=\phi(x_i)^T\phi(x_i)
κ(xi,xj)=ϕ(xi)Tϕ(xi),
有了这样的函数,就不必直接去计算高位甚至无穷维特征空间中的内积,最后求解得到:
κ
(
.
,
.
)
\kappa(.,.)
κ(.,.)就是核函数,现实中通常不知道
ϕ
(
.
)
\phi(.)
ϕ(.)的形式,所有相应核函数也不知道了。
如果函数符合下列定理,则可以作为核函数
定理:令
χ
\chi
χ为输入空间
κ
(
⋅
,
⋅
)
κ(·,·)
κ(⋅,⋅)是定义在
χ
∗
χ
\chi *\chi
χ∗χ上的对称函数,则
κ
κ
κ是核函数当且仅当对于任意数据
D
=
x
1
,
x
2
,
…
.
.
,
x
m
D={x_1,x_2,…..,x_m}
D=x1,x2,…..,xm,“核矩阵”(kernel matrix)K 总是半正定的。
只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射φ.换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”的特征空间。
常用核函数如下:
4 软间隔与正则化
硬间隔:所有样本都必须划分正确。
软间隔:允许某些样本不满足约束,
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i+b)\ge1
yi(wTxi+b)≥1。
优化目标写为:
其中C>0是一个常数,
l
0
/
1
l_{0/1}
l0/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):
ℓ
l
o
g
(
z
)
=
log
(
1
+
exp
(
−
z
)
)
\ell log (z)=\log (1+\exp (-z))
ℓlog(z)=log(1+exp(−z))
软硬间隔下的对偶问题唯一的差别就在于对偶变量的约束不同,软间隔是
0
≤
a
i
≤
C
0\le a_i\le C
0≤ai≤C,硬间隔是
0
≤
a
i
0\le a_i
0≤ai。软间隔支持向量机的最终模型仅与支持向量有关,即通过采用 hinge 损失函数仍保持了稀疏性。
5 支持向量回归
给定训练样本D,希望学得一个形如
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b的回归模型,使得
f
(
x
)
f(x)
f(x)与y尽可能接近。
支持向量回归(SVR)假设能容忍
f
(
x
)
与
y
f(x)与y
f(x)与y之间最多有
ϵ
\epsilon
ϵ的偏差,即仅当
f
(
x
)
与
y
f(x)与y
f(x)与y之间的差别绝对值大于
ϵ
\epsilon
ϵ才计算损失。
SVR问题形式化为
引入松弛变量后得到SVR的对偶问题
上述过程满足KKT条件,要求
SVR最终可表示为:
6 核方法
若不考虑偏移项b,SVM和SVR学得的模型总能表示为核函数的线性组合。
表示定理:令H为核函数
k
k
k对应的再生核希尔伯特空间,
∣
∣
h
∣
∣
H
||h||_H
∣∣h∣∣H表示H空间中关于h的范数,对于任意单调递增函数
Ω
:
[
0
,
+
∞
]
⟼
R
和任意非损失函数
l
:
R
m
⟼
[
0
,
+
∞
]
,优化问题
\Omega:[0,+\infty]\longmapsto R和任意非损失函数l:R^m\longmapsto [0,+\infty],优化问题
Ω:[0,+∞]⟼R和任意非损失函数l:Rm⟼[0,+∞],优化问题
的解可写为
该定理对损失函数没有限制,对正则化
Ω
\Omega
Ω仅要求单调递增。
核方法中最常见的是通过核化来将线性学习器拓展为非线性学习器。
核线性判别分析(KLDA)的学习目标是