文章目录
支持向量机
支持向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:
- 线性可分问题,如之前的感知机算法处理的问题
- 线性可分,只有一点点错误点,如感知机算法发展出来的 Pocket 算法处理的问题
- 非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习
这三种情况对于 SVM 分别有下面三种处理手段:
- hard-margin SVM
- soft-margin SVM
- kernel Method
约束优化问题
SVM 的求解中,大量用到了 Lagrange 乘子法。
对于一般约束优化问题可以表示为以下形式:
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^p}}f(x)\\ &s.t.\ m_i(x)\le0,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,⋯,M nj(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
\begin{aligned} &\min_{x\in\mathbb{R}^p}\max_{\lambda,\eta}L(x,\lambda,\eta)\\ &s.t.\ \lambda_i\ge0 \end{aligned}
x∈Rpminλ,ηmaxL(x,λ,η)s.t. λi≥0
这是由于当满足原问题的不等式约束的时候, λ i = 0 \lambda_i=0 λi=0 才能取得最大值,直接等价于原问题,如果不满足原问题的不等式约束,那么最大值就为 + ∞ +\infin +∞,由于需要取最小值,所以不会取到这个情况。
这个问题的对偶形式:
max
λ
,
η
min
x
∈
R
p
L
(
x
,
λ
,
η
)
s
.
t
.
λ
i
≥
0
\begin{aligned} &\max_{\lambda,\eta}\min_{x\in\mathbb{R}^p}L(x,\lambda,\eta)\\ &s.t.\ \lambda_i\ge0 \end{aligned}
λ,ηmaxx∈RpminL(x,λ,η)s.t. λi≥0
对偶问题是关于 λ , η \lambda, \eta λ,η 的最大化问题。
由于: 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,于是显然有 max λ , η min x L ≤ L \max\limits_{\lambda,\eta}\min\limits_{x}L\le L λ,ηmaxxminL≤L,且 min x max λ , η L ≥ L \min\limits_{x}\max\limits_{\lambda,\eta}L\ge L xminλ,ηmaxL≥L。
对偶问题可分为两种情况:
- 强对偶:可以取等于号
- 弱对偶:不可以取等于号
对于一个凸优化问题,有如下定理:
如果凸优化问题满足某些条件如 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 条件成立。
2、松弛 Slater 条件,如果
M
M
M 个不等式约束中,有
K
K
K 个函数为仿射函数,那么只要其余的函数满足 Slater 条件即可。
了解原问题和对偶问题的对偶关系,还需要对参数进行求解,需要用到 KKT 条件,KKT 条件和强对偶关系是等价关系,KKT 条件对最优解的条件为:
1、可行域:
m
i
(
x
∗
)
≤
0
n
j
(
x
∗
)
=
0
λ
∗
≥
0
\begin{aligned} m_i(x^*)\le0\\ n_j(x^*)=0\\ \lambda^*\ge0 \end{aligned}
mi(x∗)≤0nj(x∗)=0λ∗≥02、互补松弛
λ
∗
m
i
(
x
∗
)
=
0
,
∀
m
i
\lambda^*m_i(x^*)=0,\ \forall m_i
λ∗mi(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(\lambda^*,\eta^*)\\ &=\min_{x}L(x,\lambda^*,\eta^*)\\ &\le L(x^*,\lambda^*,\eta^*)\\ &=f(x^*)+\sum\limits_{i=1}^M\lambda^*m_i(x^*)\\ &\le f(x^*)=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
Kernel Method
核方法可以应用在很多问题上,在分类问题中,对于严格不可分问题,引入一个特征转换函数将原来的不可分的数据集变为可分的数据集,然后再来应用已有的模型。往往将低维空间的数据集变为高维空间的数据集后,数据会变得可分(数据变得更为稀疏):
应用在 SVM 中时,观察下面的 SVM 对偶问题:
{
max
λ
−
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
+
∑
i
=
1
N
λ
i
,
s
.
t
.
λ
i
≥
0
\left\{\begin{aligned} & \max_{\lambda}-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i,\\ &s.t.\ \lambda_i\ge0 \end{aligned}\right.
⎩⎪⎪⎨⎪⎪⎧λmax−21i=1∑Nj=1∑NλiλjyiyjxiTxj+i=1∑Nλi,s.t. λi≥0
在求解的时候需要求得内积,于是不可分数据在通过特征变换后,需要求得变换后的内积。常常很难求得变换函数的内积。于是直接引入内积的变换函数(合并特征转换和计算内积两个步骤):
∀
x
,
x
′
∈
X
,
∃
ϕ
∈
H
:
x
⟹
z
s
.
t
.
k
(
x
,
x
′
)
=
ϕ
(
x
)
T
ϕ
(
x
)
\forall x,x'\in\mathcal{X},\exist\phi\in\mathcal{H}:x{\color{blue}\Longrightarrow} z\ s.t.\ k(x,x')=\phi(x)^T\phi(x)
∀x,x′∈X,∃ϕ∈H:x⟹z s.t. k(x,x′)=ϕ(x)Tϕ(x)
称 k ( x , x ′ ) k(x,x') k(x,x′) 为一个正定核函数,其中 H \mathcal{H} H 是 Hilbert 空间(完备的线性内积空间),如果去掉内积这个条件可以称为简单的核函数。
证明:
k
(
x
,
x
′
)
=
exp
(
−
(
x
−
x
′
)
2
2
σ
2
)
k(x,x')=\exp(-\frac{(x-x')^2}{2\sigma^2})
k(x,x′)=exp(−2σ2(x−x′)2) 是一个核函数。
exp
(
−
(
x
−
x
′
)
2
2
σ
2
)
=
exp
(
−
x
2
2
σ
2
)
exp
(
x
x
′
σ
2
)
exp
(
−
x
′
2
2
σ
2
)
=
exp
(
−
x
2
2
σ
2
)
∑
n
=
0
+
∞
x
n
x
′
n
σ
2
n
n
!
exp
(
−
x
′
2
2
σ
2
)
=
exp
(
−
x
2
2
σ
2
)
φ
(
x
)
φ
(
x
′
)
exp
(
−
x
′
2
2
σ
2
)
=
ϕ
(
x
)
ϕ
(
x
′
)
\begin{aligned} \exp(-\frac{(x-x')^2}{2\sigma^2})&=\exp(-\frac{x^2}{2\sigma^2})\exp(\frac{xx'}{\sigma^2})\exp(-\frac{x'^2}{2\sigma^2})\\ &=\exp(-\frac{x^2}{2\sigma^2})\sum\limits_{n=0}^{+\infin}\frac{x^nx'^n}{\sigma^{2n}n!}\exp(-\frac{x'^2}{2\sigma^2})\\ &=\exp(-\frac{x^2}{2\sigma^2})\varphi(x)\varphi(x')\exp(-\frac{x'^2}{2\sigma^2})\\ &=\phi(x)\phi(x') \end{aligned}
exp(−2σ2(x−x′)2)=exp(−2σ2x2)exp(σ2xx′)exp(−2σ2x′2)=exp(−2σ2x2)n=0∑+∞σ2nn!xnx′nexp(−2σ2x′2)=exp(−2σ2x2)φ(x)φ(x′)exp(−2σ2x′2)=ϕ(x)ϕ(x′)
核函数满足一下条件为正定核函数:
- 对称性
- 正定性
证明:
对称性
⇔
\Leftrightarrow
⇔
k
(
x
,
z
)
=
k
(
z
,
x
)
k(x,z)=k(z,x)
k(x,z)=k(z,x),显然满足内积的定义
正定性
⇔
\Leftrightarrow
⇔
∀
N
,
x
1
,
x
2
,
⋯
,
x
N
∈
X
\forall N,x_1,x_2,\cdots,x_N\in\mathcal{X}
∀N,x1,x2,⋯,xN∈X,对应的 Gram Matrix
K
=
[
k
(
x
i
,
x
j
)
]
K=[k(x_i,x_j)]
K=[k(xi,xj)] 是半正定的。
要证:
k
(
x
,
z
)
=
ϕ
(
x
)
T
ϕ
(
z
)
⇔
K
k(x,z)=\phi(x)^T\phi(z)\Leftrightarrow K
k(x,z)=ϕ(x)Tϕ(z)⇔K 半正定+对称性。
1、
⇒
\Rightarrow
⇒:首先,对称性是显然的,对于正定性:
K
=
(
k
(
x
1
,
x
2
)
⋯
k
(
x
1
,
x
N
)
⋮
⋮
⋮
k
(
x
N
,
x
1
)
⋯
k
(
x
N
,
x
N
)
)
\begin{aligned} K=\begin{pmatrix}k(x_1,x_2)&\cdots&k(x_1,x_N)\\\vdots&\vdots&\vdots\\ k(x_N,x_1)&\cdots&k(x_N,x_N)\end{pmatrix} \end{aligned}
K=⎝⎜⎛k(x1,x2)⋮k(xN,x1)⋯⋮⋯k(x1,xN)⋮k(xN,xN)⎠⎟⎞ 任意取
α
∈
R
N
\alpha\in\mathbb{R}^N
α∈RN,即需要证明
α
T
K
α
≥
0
\alpha^TK\alpha\ge0
αTKα≥0:
α
T
K
α
=
∑
i
,
j
α
i
α
j
K
i
j
=
∑
i
,
j
α
i
ϕ
T
(
x
i
)
ϕ
(
x
j
)
α
j
=
∑
i
α
i
ϕ
T
(
x
i
)
∑
j
α
j
ϕ
(
x
j
)
\alpha^TK\alpha=\sum\limits_{i,j}\alpha_i\alpha_jK_{ij}=\sum\limits_{i,j}\alpha_i\phi^T(x_i)\phi(x_j)\alpha_j=\sum\limits_{i}\alpha_i\phi^T(x_i)\sum\limits_{j}\alpha_j\phi(x_j)
αTKα=i,j∑αiαjKij=i,j∑αiϕT(xi)ϕ(xj)αj=i∑αiϕT(xi)j∑αjϕ(xj) 这个式子就是内积的形式,Hilbert 空间满足线性性,正定性得证。
2、
⇐
\Leftarrow
⇐:对于
K
K
K 进行分解,对于对称矩阵
K
=
V
Λ
V
T
K=V\Lambda V^T
K=VΛVT,那么令
ϕ
(
x
i
)
=
λ
i
V
i
\phi(x_i)=\sqrt{\lambda_i}V_i
ϕ(xi)=λiVi,其中
V
i
V_i
Vi是特征向量,于是就构造了
k
(
x
,
z
)
=
λ
i
λ
j
V
i
T
V
j
k(x,z)=\sqrt{\lambda_i\lambda_j}V_i^TV_j
k(x,z)=λiλjViTVj
Hard-margin SVM
支持向量机也是一种硬分类模型,如果两类数据线性可分,其实存在无穷条线可将两类分开。SVM就是要找到最好的那条,直观上两边数据和划分边界越远越安全,所以SVM用间隔作为评价指标,间隔最大的边界也就是最好的那条边界。
分割的超平面可以写为: 0 = w T x + b 0=w^Tx+b 0=wTx+b
那么最大化间隔可表示为以下形式(1、先找到离划分边界最近的点(支持向量),2、然后通过优化参数
w
w
w 和
b
b
b 来最大化支持向量与划分边界的距离):
{
a
r
g
m
a
x
w
,
b
[
min
i
∣
w
T
x
i
+
b
∣
∣
∣
w
∣
∣
]
s
.
t
.
y
i
(
w
T
x
i
+
b
)
>
0
⟹
{
a
r
g
m
a
x
w
,
b
1
∣
∣
w
∣
∣
[
min
i
y
i
(
w
T
x
i
+
b
)
]
s
.
t
.
y
i
(
w
T
x
i
+
b
)
>
0
\begin{aligned} & \left\{\begin{aligned} &\mathop{argmax}\limits_{w,b}[\min_i\frac{|w^Tx_i+b|}{||w||}]\\ &s.t.\ y_i(w^Tx_i+b)>0 \end{aligned}\right.\\ \Longrightarrow &\left\{\begin{aligned} &\mathop{argmax}\limits_{w,b}\frac{1}{||w||}[\min_i {y_i(w^Tx_i+b)}]\\ &s.t.\ y_i(w^Tx_i+b)>0 \end{aligned}\right. \end{aligned}
⟹⎩⎪⎨⎪⎧w,bargmax[imin∣∣w∣∣∣wTxi+b∣]s.t. yi(wTxi+b)>0⎩⎪⎨⎪⎧w,bargmax∣∣w∣∣1[iminyi(wTxi+b)]s.t. yi(wTxi+b)>0
同比例缩放超平面的系数不会改变该平面,因此可以固定约束
min
y
i
(
w
T
x
i
+
b
)
=
1
>
0
\min y_i(w^Tx_i+b)=1>0
minyi(wTxi+b)=1>0,化简后的式子可以表示为:
{
a
r
g
m
i
n
w
,
b
1
2
w
T
w
s
.
t
.
min
i
y
i
(
w
T
x
i
+
b
)
=
1
⟹
{
a
r
g
m
i
n
w
,
b
1
2
w
T
w
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
⋯
,
N
\begin{aligned} &\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw\\ &s.t.\ \min_iy_i(w^Tx_i+b)=1 \end{aligned}\right.\\ \Longrightarrow &\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw\\ &s.t.\ y_i(w^Tx_i+b)\ge1,\ i=1,2,\cdots,N \end{aligned}\right. \end{aligned}
⟹⎩⎪⎨⎪⎧w,bargmin21wTws.t. iminyi(wTxi+b)=1⎩⎪⎨⎪⎧w,bargmin21wTws.t. yi(wTxi+b)≥1, i=1,2,⋯,N
这就是一个包含 N N N 个约束的凸优化问题,有很多求解这种问题的软件。
但是,如果样本数量或维度非常高,直接求解困难甚至不可解,于是需要对这个问题进一步处理。引入 Lagrange 函数:
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
⏟
≤
0
\begin{aligned} &L(w,b,\lambda)=\frac{1}{2}w^Tw+\underbrace{\sum\limits_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b))}_{\color{blue}\leq\ 0} \end{aligned}
L(w,b,λ)=21wTw+≤ 0
i=1∑Nλi(1−yi(wTxi+b))
由上式可知:
min
L
(
w
,
b
,
α
)
≤
min
1
2
w
T
w
\min L(w, b, \alpha) \le \min \frac{1}{2}w^Tw
minL(w,b,α)≤min21wTw,需要最大化
L
(
w
,
b
,
α
)
L(w, b, \alpha)
L(w,b,α)来接近原问题,而原问题是要最小化
1
2
w
T
w
\frac{1}{2}w^Tw
21wTw,因此,对原问题的优化可表达为以下形式:
{
a
r
g
m
i
n
w
,
b
max
λ
i
L
(
w
,
b
,
λ
i
)
s
.
t
.
λ
i
≥
0
\left\{ \begin{aligned} &\mathop{argmin}\limits_{w,b}\max\limits_{\lambda_i}L(w,b,\lambda_i)\\ &s.t.\ \lambda_i\ge0 \end{aligned} \right.
⎩⎨⎧w,bargminλimaxL(w,b,λi)s.t. λi≥0
交换最小和最大值的符号得到对偶问题:
{
max
λ
i
min
w
,
b
L
(
w
,
b
,
λ
i
)
s
.
t
.
λ
i
≥
0
\left\{ \begin{aligned} &\max_{\lambda_i}\min_{w,b}L(w,b,\lambda_i)\\ & s.t.\ \lambda_i\ge0 \end{aligned} \right.
⎩⎨⎧λimaxw,bminL(w,b,λi)s.t. λi≥0
由于不等式约束是仿射函数,对偶问题和原问题等价:
1、令
b
\color{blue}\boxed b
b 和
w
\color{blue}\boxed w
w 的偏导数为零得到:
-
b \color{blue}b b: ∂ ∂ b L = 0 ⇒ ∑ i = 1 N λ i y i = 0 \frac{\partial}{\partial b}L=0\Rightarrow\sum\limits_{i=1}^N\lambda_iy_i=0 ∂b∂L=0⇒i=1∑Nλiyi=0
-
w \color{blue}w w:首先将 b b b 代入: L ( w , b , λ i ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y i w T x i − y i b ) = 1 2 w T w + ∑ i = 1 N λ i − ∑ i = 1 N λ i y i w T x i L(w,b,\lambda_i)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i(1-y_iw^Tx_i-y_ib)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i-\sum\limits_{i=1}^N\lambda_iy_iw^Tx_i L(w,b,λi)=21wTw+i=1∑Nλi(1−yiwTxi−yib)=21wTw+i=1∑Nλi−i=1∑NλiyiwTxi 所以: ∂ ∂ w L = 0 ⇒ w = ∑ i = 1 N λ i y i x i \frac{\partial}{\partial w}L=0\Rightarrow w=\sum\limits_{i=1}^N\lambda_iy_ix_i ∂w∂L=0⇒w=i=1∑Nλiyixi
-
将上面两个参数代入: L ( w , b , λ i ) = − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ i = 1 N λ i {\color{blue} L(w,b,\lambda_i)}=-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i L(w,b,λi)=−21i=1∑Nj=1∑NλiλjyiyjxiTxj+i=1∑Nλi
因此,对偶问题就是: { max λ − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ i = 1 N λ i , s . t . λ i ≥ 0 \color{blue} \left\{\begin{aligned} & \max_{\lambda}-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum\limits_{i=1}^N\lambda_i,\\ &s.t.\ \lambda_i\ge0 \end{aligned} \right. ⎩⎪⎪⎨⎪⎪⎧λmax−21i=1∑Nj=1∑NλiλjyiyjxiTxj+i=1∑Nλi,s.t. λi≥0
2、由 KKT 条件得到超平面的参数::
原问题和对偶问题满足强对偶关系的充要条件为其满足 KKT 条件:
∂
L
∂
w
=
0
,
∂
L
∂
b
=
0
λ
k
(
1
−
y
k
(
w
T
x
k
+
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
T
x
i
+
b
)
≤
0
\begin{aligned} &\frac{\partial L}{\partial w}=0,\frac{\partial L}{\partial b}=0 \\ &\lambda_k(1-y_k(w^Tx_k+b))=0\quad(slackness\ complementary)\\ &\lambda_i\ge0\\ &1-y_i(w^Tx_i+b)\le0 \end{aligned}
∂w∂L=0,∂b∂L=0λk(1−yk(wTxk+b))=0(slackness complementary)λi≥01−yi(wTxi+b)≤0
根据KTT条件得到对应最佳参数
w
^
{\color{blue}\boxed{\hat{w}}}
w^和
b
^
{\color{blue}\boxed{\hat{b}}}
b^:
w
^
=
∑
i
=
1
N
λ
i
y
i
x
i
b
^
=
y
k
−
w
T
x
k
=
y
k
−
∑
i
=
1
N
λ
i
y
i
x
i
T
x
k
,
∃
k
,
1
−
y
k
(
w
T
x
k
+
b
)
=
0
\begin{aligned} &{\color{blue}\hat{w}}=\sum\limits_{i=1}^N\lambda_iy_ix_i\\ &{\color{blue}\hat{b}}=y_k-w^Tx_k=y_k-\sum\limits_{i=1}^N\lambda_iy_ix_i^Tx_k,\quad\exist k,1-y_k(w^Tx_k+b)=0 \end{aligned}
w^=i=1∑Nλiyixib^=yk−wTxk=yk−i=1∑NλiyixiTxk,∃k,1−yk(wTxk+b)=0
最终的参数就是满足 λ > 0 , y i ( w T x i + b ) = 1 \lambda\gt 0,\ y_i(w^Tx_i+b)=1 λ>0, yi(wTxi+b)=1 的向量的线性组合( slackness complementary \color{green}\text{slackness complementary} slackness complementary),这些向量也叫支持向量Support Vecter。
最终得到决策平面: f ( x ) = s i g n ( w ^ x + b ^ ) f(x)=sign({\color{blue}\hat{w}}x+{\color{blue}\hat{b}}) f(x)=sign(w^x+b^)
Soft-margin SVM
针对不完全线性可分的数据,在损失函数中加入错误分类的可能性(类似正则项)。错误分类的个数可以写成:
e
r
r
o
r
=
∑
i
=
1
N
I
{
y
i
(
w
T
x
i
+
b
)
<
1
}
error=\sum\limits_{i=1}^N\mathbb{I}\{y_i(w^Tx_i+b)\lt1\}
error=i=1∑NI{yi(wTxi+b)<1} 这个函数不连续,可以将其改写为:
e
r
r
o
r
=
∑
i
=
1
N
max
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
}
error=\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}
error=i=1∑Nmax{0,1−yi(wTxi+b)}
求和符号中的式子又叫做 Hinge Function。
将 error 加入 Hard-margin SVM 中,于是:
{
a
r
g
m
i
n
w
,
b
1
2
w
T
w
+
C
∑
i
=
1
N
max
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
}
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
⋯
,
N
\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}\\ &s.t.\ y_i(w^Tx_i+b)\ge1,\ i=1,2,\cdots,N \end{aligned}\right.
⎩⎪⎪⎨⎪⎪⎧w,bargmin21wTw+Ci=1∑Nmax{0,1−yi(wTxi+b)}s.t. yi(wTxi+b)≥1, i=1,2,⋯,N
式中常数
C
C
C 可以看作允许的错误水平,
C
C
C 越大表示错误的允许程度越低。为了让问题易于求解,用error值的大小
ξ
i
\xi_i
ξi 代替是否有error(用犯错误程度代替犯错误数量),则有:
{
a
r
g
m
i
n
w
,
b
1
2
w
T
w
+
C
∑
i
=
1
N
ξ
i
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
ξ
i
≥
0
,
i
=
1
,
2
,
⋯
,
N
\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i\\ & s.t.\ y_i(w^Tx_i+b)\ge1-\xi_i,\quad\xi_i\ge0,\ i=1,2,\cdots,N \end{aligned}\right.
⎩⎪⎪⎨⎪⎪⎧w,bargmin21wTw+Ci=1∑Nξis.t. yi(wTxi+b)≥1−ξi,ξi≥0, i=1,2,⋯,N
上式中 ξ i \xi_i ξi 可以理解为松弛变量,允许有错误的分类(间隔小于1),但不能无限容忍犯错,所以还需要对松弛变量进行约束(最小化)。
Dual Problem
构造拉格朗日函数。因为引入了
ξ
i
\xi_i
ξi ,原始问题有两类条件,所以包含了两个拉格朗日因子
λ
i
\lambda_i
λi和
β
i
\beta_i
βi:
L
(
w
,
b
,
λ
i
,
β
i
)
=
1
2
w
T
w
+
C
∑
i
=
1
N
ξ
i
+
∑
i
=
1
N
λ
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
+
∑
i
=
1
N
β
i
(
−
ξ
i
)
L(w,b,\lambda_i,\beta_i)=\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\lambda_i(1-\xi_i -y_i(w^Tx_i+b)) + \sum\limits_{i=1}^N\beta_i(-\xi_i)
L(w,b,λi,βi)=21wTw+Ci=1∑Nξi+i=1∑Nλi(1−ξi−yi(wTxi+b))+i=1∑Nβi(−ξi)
将Soft-Margin SVM问题转换为如下形式:
max
λ
i
≥
0
,
β
i
≥
0
min
b
,
w
,
ξ
i
1
2
w
T
w
+
C
∑
i
=
1
N
ξ
i
+
∑
i
=
1
N
λ
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
+
∑
i
=
1
N
β
i
(
−
ξ
i
)
\max\limits_{\lambda_i\geq0,\ \beta_i\geq0}\min\limits_{b,w,\xi_i}\ \frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\lambda_i(1-\xi_i -y_i(w^Tx_i+b)) + \sum\limits_{i=1}^N\beta_i(-\xi_i)
λi≥0, βi≥0maxb,w,ξimin 21wTw+Ci=1∑Nξi+i=1∑Nλi(1−ξi−yi(wTxi+b))+i=1∑Nβi(−ξi)
上式括号里面的是对拉格朗日函数
L
(
w
,
b
,
λ
i
,
β
i
)
L(w,b,\lambda_i,\beta_i)
L(w,b,λi,βi)计算最小值。那么根据梯度下降算法思想:最小值位置满足梯度为零。
1、令
ξ
i
\color{blue}\boxed{\xi_i}
ξi 偏微分等于0:
∂
L
∂
ξ
i
=
0
=
C
−
λ
i
−
β
i
⇒
β
i
=
C
−
λ
i
\frac {\partial L}{\partial \xi_i}=0=C-\lambda_i-\beta_i\\ \color{blue}\Rightarrow \beta_i=C-\lambda_i
∂ξi∂L=0=C−λi−βi⇒βi=C−λi
因为有
β
i
≥
0
β_i≥0
βi≥0,所以
0
≤
λ
i
≤
C
\color{blue}0≤\lambda_i≤C
0≤λi≤C。将
β
i
=
C
−
λ
i
\beta_i=C-\lambda_i
βi=C−λi带入原问题中,参数
β
i
β_i
βi 和
ξ
i
\xi_i
ξi 都被消去:
max
0
≤
λ
i
≤
C
,
β
i
=
C
−
λ
i
min
b
,
w
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
\max\limits_{0≤\lambda_i≤C,\ \beta_i=C-\lambda_i}\min\limits_{b,w}\ \frac{1}{2}w^Tw+\sum\limits_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b))
0≤λi≤C, βi=C−λimaxb,wmin 21wTw+i=1∑Nλi(1−yi(wTxi+b))
2、令
b
\color{blue}\boxed b
b 和
w
\color{blue}\boxed w
w 的偏导数为零得到:
∂
∂
b
L
=
0
⇒
∑
i
=
1
N
λ
i
y
i
=
0
∂
∂
w
L
=
0
⇒
w
=
∑
i
=
1
N
λ
i
y
i
x
i
\begin{aligned} &\frac{\partial}{\partial b}L=0\Rightarrow\color{blue}\sum^N_{i=1}\lambda_i y_i=0\\ &\frac{\partial}{\partial w}L=0\Rightarrow {\color{blue}w}=\sum^N_{i=1}\lambda_iy_ix_i \end{aligned}
∂b∂L=0⇒i=1∑Nλiyi=0∂w∂L=0⇒w=i=1∑Nλiyixi
最终标准的Soft-Margin SVM的Dual形式:
min
λ
i
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
T
x
j
−
∑
i
=
1
N
λ
i
subject to
∑
i
=
1
N
y
i
λ
i
=
0
0
≤
λ
i
≤
C
,
for
i
=
1
,
2
,
…
,
N
implicitly
w
=
∑
n
=
1
N
λ
i
y
i
x
i
β
i
=
C
−
λ
i
,
for
i
=
1
,
2
,
…
,
N
\begin{aligned} &{\min _{\lambda_i}}\qquad\qquad {\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} {x}_{i}^{T} {x}_{j}-\sum_{i=1}^{N}\lambda_i} \\ &{\text { subject to }}\quad{\sum_{i=1}^{N} y_{i}\lambda_i=0} \\ & \qquad\qquad\qquad{0 \leq \lambda_i \leq C, \text { for } i=1,2, \ldots, N} \\ &{\text { implicitly }}\quad {{w}=\sum_{n=1}^{N} \lambda_i y_{i} {x}_{i}} \\ &\qquad\qquad\qquad{\beta_{i}=C-\lambda_i, \text { for } i=1,2, \ldots, N} \end{aligned}
λimin21i=1∑Nj=1∑NαiαjyiyjxiTxj−i=1∑Nλi subject to i=1∑Nyiλi=00≤λi≤C, for i=1,2,…,N implicitly w=n=1∑Nλiyixiβi=C−λi, for i=1,2,…,N
Hard-Margin SVM | Soft-Margin SVM |
---|---|
complementary slackness : λ i ( 1 − y i ( w T x i + b ) ) = 0 S V ( λ i > 0 ) ⇒ b = y s − w T x s \begin{aligned}\\&\lambda_i(1-y_i(w^Tx_i+b))=0\\ \\&SV\ ({\color{blue}\lambda_i}>0)\\&\quad\Rightarrow b = y_s-w^Tx_s \\ \\ \\ \end{aligned} λi(1−yi(wTxi+b))=0SV (λi>0)⇒b=ys−wTxs | complementary slackness: λ i ( 1 − ξ i − y i ( w T x i + b ) ) = 0 ( C − λ i ) ξ i = 0 S V ( λ i > 0 ) ⇒ b = y s − y s ξ s − w T x s f r e e ( λ i < C ) ⇒ ξ s = 0 \begin{aligned}&\lambda_i(1-\xi_i-y_i(w^Tx_i+b))=0\\&\qquad\qquad\qquad\ (C-\lambda_i)\xi_i=0\\&SV\ ({\color{blue}\lambda_i}>0)\\&\quad\Rightarrow b = y_s-y_s\xi_s-w^Tx_s\\&free\ ({\color{blue}\lambda_i}<C)\\&\quad\Rightarrow \xi_s=0\end{aligned} λi(1−ξi−yi(wTxi+b))=0 (C−λi)ξi=0SV (λi>0)⇒b=ys−ysξs−wTxsfree (λi<C)⇒ξs=0 |
3、如何根据 λ i \lambda_i λi 的值计算 b \color{blue}\boxed b b
Hard-Margin SVM Dual:一个complementary slackness条件 λ i ( 1 − y i ( w T x i + b ) ) = 0 \lambda_i(1-y_i(w^Tx_i+b))=0 λi(1−yi(wTxi+b))=0,找到SV,即 λ s > 0 \lambda_s>0 λs>0的点,即可计算得到: b = y s − w T x s b=y_s−w^Tx_s b=ys−wTxs
Soft-Margin SVM Dual:相应的complementary slackness条件有两个(因为两个拉格朗日因子
λ
i
\lambda_i
λi 和
β
i
β_i
βi):
{
λ
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
=
0
β
i
(
−
ξ
i
)
=
(
C
−
λ
i
)
ξ
i
=
0
\left\{\begin{aligned} &\lambda_i(1-\xi_i-y_i(w^Tx_i+b))=0\\ &\beta_i(-\xi_i)=(C-\lambda_i)\xi_i=0 \end{aligned}\right.
{λi(1−ξi−yi(wTxi+b))=0βi(−ξi)=(C−λi)ξi=0
找到SV,即
λ
s
>
0
\lambda_s>0
λs>0 的点,由于
ξ
i
\xi_i
ξi的存在,还不能直接计算出
b
b
b 的值,再根据第二个complementary slackness条件,如果令
C
−
λ
i
≠
0
C−\lambda_i\neq0
C−λi=0,即
λ
i
≠
C
\lambda_i≠C
λi=C,则一定有
ξ
i
=
0
\xi_i=0
ξi=0,代入到第一个complementary slackness条件中:
S
V
(
λ
i
>
0
)
⇒
b
=
y
s
−
y
s
ξ
s
−
w
T
x
s
f
r
e
e
(
λ
i
<
C
)
⇒
ξ
s
=
0
\begin{aligned} &SV\ ({\color{blue}\lambda_i}>0)\\ &\quad\Rightarrow b = y_s-y_s\xi_s-w^Tx_s\\ &free\ ({\color{blue}\lambda_i}<C)\\ &\quad\Rightarrow \xi_s=0 \end{aligned}
SV (λi>0)⇒b=ys−ysξs−wTxsfree (λi<C)⇒ξs=0
即可计算得到
b
=
y
s
−
w
T
x
s
b=y_s−w^Tx_s
b=ys−wTxs,把
0
<
λ
i
<
C
\color{blue}0<\lambda_i<C
0<λi<C 的点称为 free SV。引入核函数后,
b
\color{blue}\boxed b
b 的表达式为:
b
=
y
s
−
∑
S
V
λ
i
y
i
K
(
x
n
,
x
s
)
{\color{blue}b}=y_s-\sum_{SV}\lambda_iy_iK(x_n,x_s)
b=ys−SV∑λiyiK(xn,xs)
Soft-Margin SVM的一些补充
上面求解 b b b 假设 λ s < C \color{blue}\lambda_s<C λs<C,如果没有free SV,所有 λ s \lambda_s λs大于零的点都满足 λ s = C \lambda_s=C λs=C怎么办?
- 一般情况下,至少存在一组SV使 λ s < C \lambda_s<C λs<C 的概率较大。如果没有 free SV,那么 b b b 通常会由许多不等式条件限制取值范围,只要能找到满足KKT条件的任意一个 b b b 值即可。
λ i \lambda_i λi 不同取值的物理意义(已知 0 ≤ λ i ≤ C 0≤\lambda_i≤C 0≤λi≤C 满足两个complementary slackness条件):
- 若 λ i = 0 \lambda_i=0 λi=0,得 ξ i = 0 ξ_i=0 ξi=0, ξ i = 0 ξ_i=0 ξi=0表示该点没有犯错, λ i = 0 \lambda_i=0 λi=0 表示该点不是SV。所以对应的点在margin之外(或者在margin上),且均分类正确。
- 若 0 < λ i < C 0<\lambda_i<C 0<λi<C,得 ξ i = 0 ξ_i=0 ξi=0,且 y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi(wTxi+b)=1。 ξ i = 0 ξ_i=0 ξi=0表示该点没有犯错, y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi(wTxi+b)=1表示该点在margin上。这些点即 free SV,确定了 b b b 的值。
- 若 λ i = C \lambda_i=C λi=C,不能确定 ξ i = 0 ξ_i=0 ξi=0 是否为零,且得到 1 − y i ( w T x i + b ) = ξ i 1-y_i(w^Tx_i+b)=\xi_i 1−yi(wTxi+b)=ξi,这个式表示该点偏离margin的程度, ξ i \xi_i ξi 越大,偏离margin的程度越大。只有当 ξ i = 0 ξ_i=0 ξi=0 时,该点落在margin上。所以这种情况对应的点在margin之内负方向(或者在margin上),有分类正确也有分类错误的。这些点称为bounded SV。
所以,在Soft-Margin SVM Dual中,根据 λ i \lambda_i λi 的取值,可推断数据点在空间的分布情况。
SMO算法
N
N
N 个变量组成的向量
α
\alpha
α 难以对目标函数直接进行优化求解。SMO算法采用启发式方法,每次只优化两个变量,其他变量作为常数,如:条件
∑
i
=
1
N
α
i
y
i
=
0
\sum\limits_{i=1}^{N}\alpha_iy_i = 0
i=1∑Nαiyi=0,将参数
α
3
,
α
4
,
.
.
.
,
α
N
\alpha_3, \alpha_4, ..., \alpha_N
α3,α4,...,αN 固定,那么
α
1
,
α
2
\alpha_1, \alpha_2
α1,α2 的线性关系即可确定。定义
K
i
j
=
ϕ
(
x
i
)
⋅
ϕ
(
x
j
)
K_{ij} = \phi(x_i) \cdot \phi(x_j)
Kij=ϕ(xi)⋅ϕ(xj) ,由于
α
3
,
α
4
,
.
.
.
,
α
m
\alpha_3, \alpha_4, ..., \alpha_m
α3,α4,...,αm 为常量,目标优化函数可表示为:
min
α
1
,
α
2
1
2
K
11
α
1
2
+
1
2
K
22
α
2
2
+
y
1
y
2
K
12
α
1
α
2
−
(
α
1
+
α
2
)
+
y
1
α
1
∑
i
=
3
m
y
i
α
i
K
i
1
+
y
2
α
2
∑
i
=
3
m
y
i
α
i
K
i
2
s
.
t
.
α
1
y
1
+
α
2
y
2
=
−
∑
i
=
3
m
y
i
α
i
=
ς
0
≤
α
i
≤
C
i
=
1
,
2
\begin{aligned} &\;\min\limits_{\alpha_1, \alpha_2}\ \frac{1}{2}K_{11}\alpha_1^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_1y_2K_{12}\alpha_1 \alpha_2 -(\alpha_1 + \alpha_2) +y_1\alpha_1\sum\limits_{i=3}^{m}y_i\alpha_iK_{i1} + y_2\alpha_2\sum\limits_{i=3}^{m}y_i\alpha_iK_{i2}\\ &\quad s.t. \;\;\alpha_1y_1 + \alpha_2y_2 = -\sum\limits_{i=3}^{m}y_i\alpha_i = \varsigma \\ &\qquad\quad 0 \leq \alpha_i \leq C \;\; i =1,2 \end{aligned}
α1,α2min 21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)+y1α1i=3∑myiαiKi1+y2α2i=3∑myiαiKi2s.t.α1y1+α2y2=−i=3∑myiαi=ς0≤αi≤Ci=1,2
优化变量选择
SMO算法需要选择合适的两个变量做迭代,其余的变量做常量来进行优化,那么如何选择这两个变量?
-
SMO算法称选择第一个变量为外层循环,该变量需要选择训练集中违反KKT条件最严重的样本点: α i ∗ = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{*} = 0 \Rightarrow y_ig(x_i) \geq 1 αi∗=0⇒yig(xi)≥1 0 < α i ∗ < C ⇒ y i g ( x i ) = 1 0 \lt \alpha_{i}^{*} \lt C \Rightarrow y_ig(x_i) =1 0<αi∗<C⇒yig(xi)=1 α i ∗ = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{*}= C \Rightarrow y_ig(x_i) \leq 1 αi∗=C⇒yig(xi)≤1 一般来说,首先选择违反 0 < α i ∗ < C ⇒ y i g ( x i ) = 1 0 \lt \alpha_{i}^{*} \lt C \Rightarrow y_ig(x_i) =1 0<αi∗<C⇒yig(xi)=1 这个条件的点。如果这些支持向量都满足KKT条件,再选择违反 α i ∗ = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{*} = 0 \Rightarrow y_ig(x_i) \geq 1 αi∗=0⇒yig(xi)≥1 和 α i ∗ = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{*}= C \Rightarrow y_ig(x_i) \leq 1 αi∗=C⇒yig(xi)≤1 的点。
-
SMO算法称选择第二一个变量为内层循环,假设在外层循环已经找到 α 1 \alpha_1 α1 , 第二个变量 α 2 \alpha_2 α2 的选择标准是让 ∣ E 1 − E 2 ∣ |E1-E2| ∣E1−E2∣ 有足够大的变化。由于 α 1 \alpha_1 α1 确定也就确定了 E 1 E_1 E1,所以要想 ∣ E 1 − E 2 ∣ |E1-E2| ∣E1−E2∣ 最大,只需要在 E 1 E_1 E1 为正时,选择最小的 E i E_i Ei 作为 E 2 E_2 E2, 在 E 1 E_1 E1 为负时,选择最大的 E i E_i Ei 作为 E 2 E_2 E2,可以将所有的 E i E_i Ei 保存下来加快迭代。
如果内存循环找到的点不能让目标函数有足够的下降, 可以采用遍历支持向量点来做 α 2 \alpha_2 α2,直到目标函数有足够的下降, 如果所有的支持向量做 α 2 \alpha_2 α2都不能让目标函数有足够的下降,可以跳出循环,重新选择 α 1 \alpha_1 α1
优化变量 α 1 , α 2 \alpha_1,\alpha_2 α1,α2
根据上面的约束条件
{
α
1
y
1
+
α
2
y
2
=
ς
0
≤
α
i
≤
C
i
=
1
,
2
y
1
,
y
2
∈
{
−
1
,
1
}
\left\{\begin{aligned} &\alpha_1y_1 + \alpha_2y_2 = \varsigma\;\;\\ &0 \leq \alpha_i \leq C \;\; i =1,2\\ &y_1,y_2\in\{-1,1\} \end{aligned}\right.
⎩⎪⎨⎪⎧α1y1+α2y2=ς0≤αi≤Ci=1,2y1,y2∈{−1,1}
从几何角度看, α 1 , α 2 \alpha_1, \alpha_2 α1,α2的值限制在 [ C , C ] [C,C] [C,C] 的矩形框内, y 1 , y 2 ∈ { − 1 , 1 } y_1,y_2\in\{-1,1\} y1,y2∈{−1,1} 又使得两者关系 α 1 , α 2 \alpha_1, \alpha_2 α1,α2两者关系限制在斜率为 1 或 -1 的直线段上。
了解 α 1 , α 2 \alpha_1, \alpha_2 α1,α2 的线性关系,可用其中一个变量表示另一个变量,方便针对某一个变量优化求解,进而得到另一变量的值。
假设先针对 α 2 \alpha_2 α2 进行优化求解,由于采用启发式迭代法,令上一轮迭代得到的解为 α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old,根据 α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old 得到的未约束 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc,本轮迭代完成后(约束后)的解为 α 1 n e w , α 2 n e w \alpha_1^{new}, \alpha_2^{new} α1new,α2new
求解
α
2
n
e
w
\alpha_2^{new}
α2new先要确定其取值范围,假定其上下界分别为
L
L
L 和
H
H
H:
L
≤
α
2
n
e
w
≤
H
L \leq \alpha_2^{new} \leq H
L≤α2new≤H
对于
L
L
L 和
H
H
H,当
y
1
≠
y
2
y_1\neq y_2
y1=y2 时有:
L
=
max
{
0
,
α
2
o
l
d
−
α
1
o
l
d
}
H
=
min
{
C
,
C
+
α
2
o
l
d
−
α
1
o
l
d
}
L = \max\left\{0, \alpha_2^{old}-\alpha_1^{old}\right\} \;\;\;H = \min\left\{C, C+\alpha_2^{old}-\alpha_1^{old}\right\}
L=max{0,α2old−α1old}H=min{C,C+α2old−α1old}
当
y
1
=
y
2
y_1= y_2
y1=y2 时有:
L
=
max
{
0
,
α
2
o
l
d
+
α
1
o
l
d
−
C
}
H
=
min
{
C
,
α
2
o
l
d
+
α
1
o
l
d
}
L = \max\left\{0, \alpha_2^{old}+\alpha_1^{old}-C\right\}\;\;\; H = \min\left\{C, \alpha_2^{old}+\alpha_1^{old}\right\}
L=max{0,α2old+α1old−C}H=min{C,α2old+α1old}
将
α
2
n
e
w
,
u
n
c
\alpha_2^{new,unc}
α2new,unc 进行限定以确定该轮迭代最终的
α
2
n
e
w
\alpha_2^{new}
α2new :
α
2
n
e
w
=
{
H
α
2
n
e
w
,
u
n
c
>
H
α
2
n
e
w
,
u
n
c
L
≤
α
2
n
e
w
,
u
n
c
≤
H
L
α
2
n
e
w
,
u
n
c
<
L
\alpha_2^{new}=\begin{cases}H& { \alpha_2^{new,unc} \gt H}\\\alpha_2^{new,unc}& {L \leq \alpha_2^{new,unc} \leq H}\\L& {\alpha_2^{new,unc} \lt L}\end{cases}
α2new=⎩⎪⎨⎪⎧Hα2new,uncLα2new,unc>HL≤α2new,unc≤Hα2new,unc<L
α 1 o l d , α 2 o l d \alpha_1^{old}, \alpha_2^{old} α1old,α2old 是上轮迭代的结果,相当于已知常数,因此 H H H 和 L L L 已知,需要求解 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc,只需将目标函数对 α 2 \alpha_2 α2求偏导即可
为方便表示,令:
E
i
=
g
(
x
i
)
−
y
i
=
∑
j
=
1
N
α
j
∗
y
j
K
(
x
i
,
x
j
)
+
b
−
y
i
v
i
=
∑
j
=
3
N
y
j
α
j
K
(
x
i
,
x
j
)
=
g
(
x
i
)
−
∑
j
=
1
2
y
j
α
j
K
(
x
i
,
x
j
)
−
b
其中:
g
(
x
)
=
w
∗
⋅
ϕ
(
x
)
+
b
=
∑
j
=
1
N
α
j
∗
y
j
K
(
x
,
x
j
)
+
b
∗
\begin{aligned} &E_i = g(x_i)-y_i = \sum\limits_{j=1}^{N}\alpha_j^{*}y_jK(x_i, x_j)+ b - y_i\\ &v_i = \sum\limits_{j=3}^{N}y_j\alpha_jK(x_i,x_j) = g(x_i) - \sum\limits_{j=1}^{2}y_j\alpha_jK(x_i,x_j) -b \\ \text{其中:}&g(x) = w^{*} \cdot \phi(x) + b =\sum\limits_{j=1}^{N}\alpha_j^{*}y_jK(x, x_j)+ b^{*} \end{aligned}
其中:Ei=g(xi)−yi=j=1∑Nαj∗yjK(xi,xj)+b−yivi=j=3∑NyjαjK(xi,xj)=g(xi)−j=1∑2yjαjK(xi,xj)−bg(x)=w∗⋅ϕ(x)+b=j=1∑Nαj∗yjK(x,xj)+b∗
则目标函数可表示为:
W ( α 1 , α 2 ) = 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 v 1 + y 2 α 2 v 2 W(\alpha_1,\alpha_2) = \frac{1}{2}K_{11}\alpha_1^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_1y_2K_{12}\alpha_1 \alpha_2 -(\alpha_1 + \alpha_2) +y_1\alpha_1v_1 + y_2\alpha_2v_2 W(α1,α2)=21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)+y1α1v1+y2α2v2
由于 α 1 y 1 + α 2 y 2 = ς \alpha_1y_1 + \alpha_2y_2 = \varsigma α1y1+α2y2=ς(常数 ς \varsigma ς后面可消去), y i 2 = 1 y_i^2 = 1 yi2=1(取值1和-1),等式(前者)两边乘以 y 1 y_1 y1, α 1 \alpha_1 α1可用 α 2 \alpha_2 α2表示:
α 1 = y 1 ( ς − α 2 y 2 ) \alpha_1 = y_1(\varsigma - \alpha_2y_2) α1=y1(ς−α2y2)
将上式代入目标函数消除
α
1
\alpha_1
α1 ,得到仅仅包含位置参数
α
2
\alpha_2
α2 的式子:
W
(
α
2
)
=
1
2
K
11
(
ς
−
α
2
y
2
)
2
+
1
2
K
22
α
2
2
+
y
2
K
12
(
ς
−
α
2
y
2
)
α
2
−
(
ς
−
α
2
y
2
)
y
1
−
α
2
+
(
ς
−
α
2
y
2
)
v
1
+
y
2
α
2
v
2
W(\alpha_2) = \frac{1}{2}K_{11}(\varsigma - \alpha_2y_2)^2 + \frac{1}{2}K_{22}\alpha_2^2 +y_2K_{12}(\varsigma - \alpha_2y_2) \alpha_2 - (\varsigma - \alpha_2y_2)y_1 - \alpha_2 +(\varsigma - \alpha_2y_2)v_1 + y_2\alpha_2v_2
W(α2)=21K11(ς−α2y2)2+21K22α22+y2K12(ς−α2y2)α2−(ς−α2y2)y1−α2+(ς−α2y2)v1+y2α2v2
通过求偏导数来得到
α
2
n
e
w
,
u
n
c
\alpha_2^{new,unc}
α2new,unc:
∂
W
∂
α
2
=
K
11
α
2
+
K
22
α
2
−
2
K
12
α
2
−
K
11
ς
y
2
+
K
12
ς
y
2
+
y
1
y
2
−
1
−
v
1
y
2
+
y
2
v
2
=
0
\frac{\partial W}{\partial \alpha_2} = K_{11}\alpha_2 + K_{22}\alpha_2 -2K_{12}\alpha_2 - K_{11}\varsigma y_2 + K_{12}\varsigma y_2 +y_1y_2 -1 -v_1y_2 +y_2v_2 = 0
∂α2∂W=K11α2+K22α2−2K12α2−K11ςy2+K12ςy2+y1y2−1−v1y2+y2v2=0
整理上式有:
(
K
11
+
K
22
−
2
K
12
)
α
2
=
y
2
(
y
2
−
y
1
+
ς
K
11
−
ς
K
12
+
v
1
−
v
2
)
(K_{11} +K_{22}-2K_{12})\alpha_2 = y_2(y_2-y_1 + \varsigma K_{11} - \varsigma K_{12} + v_1 - v_2)
(K11+K22−2K12)α2=y2(y2−y1+ςK11−ςK12+v1−v2)
= y 2 ( y 2 − y 1 + ς K 11 − ς K 12 + ( g ( x 1 ) − ∑ j = 1 2 y j α j K 1 j − b ) − ( g ( x 2 ) − ∑ j = 1 2 y j α j K 2 j − b ) ) = y_2(y_2-y_1 + \varsigma K_{11} - \varsigma K_{12} + (g(x_1) - \sum\limits_{j=1}^{2}y_j\alpha_jK_{1j} -b ) -(g(x_2) - \sum\limits_{j=1}^{2}y_j\alpha_jK_{2j} -b)) =y2(y2−y1+ςK11−ςK12+(g(x1)−j=1∑2yjαjK1j−b)−(g(x2)−j=1∑2yjαjK2j−b))
将 ς = α 1 y 1 + α 2 y 2 \varsigma = \alpha_1y_1 + \alpha_2y_2 ς=α1y1+α2y2 带入上式,:
( K 11 + K 22 − 2 K 12 ) α 2 n e w , u n c = y 2 ( ( K 11 + K 22 − 2 K 12 ) α 2 o l d y 2 + y 2 − y 1 + g ( x 1 ) − g ( x 2 ) ) (K_{11} +K_{22}-2K_{12})\alpha_2^{new,unc} = y_2((K_{11} +K_{22}-2K_{12})\alpha_2^{old}y_2 +y_2-y_1 +g(x_1) - g(x_2)) (K11+K22−2K12)α2new,unc=y2((K11+K22−2K12)α2oldy2+y2−y1+g(x1)−g(x2))
= ( K 11 + K 22 − 2 K 12 ) α 2 o l d + y 2 ( E 1 − E 2 ) \;\;\;\; = (K_{11} +K_{22}-2K_{12}) \alpha_2^{old} + y_2(E_1-E_2) =(K11+K22−2K12)α2old+y2(E1−E2)
得到 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc 为: α 2 n e w , u n c = α 2 o l d + y 2 ( E 1 − E 2 ) K 11 + K 22 − 2 K 12 \alpha_2^{new,unc} = \alpha_2^{old} + \frac{y_2(E_1-E_2)}{K_{11} +K_{22}-2K_{12}} α2new,unc=α2old+K11+K22−2K12y2(E1−E2)
根据约束条件可由 α 2 n e w , u n c \alpha_2^{new,unc} α2new,unc 得到本轮最终的 α 2 n e w \alpha_2^{new} α2new ,再利用 α 2 n e w \alpha_2^{new} α2new和 α 1 n e w \alpha_1^{new} α1new的线性关系,得到 α 1 n e w \alpha_1^{new} α1new。
计算 b b b 和差值 E i E_i Ei
在每次完成两个变量的优化之后,需要重新计算阈值
b
b
b。当
0
<
α
1
n
e
w
<
C
0 \lt \alpha_{1}^{new} \lt C
0<α1new<C时:
y
1
−
∑
i
=
1
m
α
i
y
i
K
i
1
−
b
1
=
0
y_1 - \sum\limits_{i=1}^{m}\alpha_iy_iK_{i1} -b_1 = 0
y1−i=1∑mαiyiKi1−b1=0
则 b 1 n e w b_1^{new} b1new 为: b 1 n e w = y 1 − ∑ i = 3 m α i y i K i 1 − α 1 n e w y 1 K 11 − α 2 n e w y 2 K 21 b_1^{new} = y_1 - \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1} - \alpha_{1}^{new}y_1K_{11} - \alpha_{2}^{new}y_2K_{21} b1new=y1−i=3∑mαiyiKi1−α1newy1K11−α2newy2K21
又因为 E 1 E_1 E1 为: E 1 = g ( x 1 ) − y 1 = ∑ i = 3 m α i y i K i 1 + α 1 o l d y 1 K 11 + α 2 o l d y 2 K 21 + b o l d − y 1 E_1 = g(x_1) - y_1 = \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1} + \alpha_{1}^{old}y_1K_{11} + \alpha_{2}^{old}y_2K_{21} + b^{old} -y_1 E1=g(x1)−y1=i=3∑mαiyiKi1+α1oldy1K11+α2oldy2K21+bold−y1
上两式都有
y
1
−
∑
i
=
3
m
α
i
y
i
K
i
1
y_1 - \sum\limits_{i=3}^{m}\alpha_iy_iK_{i1}
y1−i=3∑mαiyiKi1 项,因此可用
E
1
E_1
E1 表示
b
1
n
e
w
b_1^{new}
b1new :
b
1
n
e
w
=
−
E
1
−
y
1
K
11
(
α
1
n
e
w
−
α
1
o
l
d
)
−
y
2
K
21
(
α
2
n
e
w
−
α
2
o
l
d
)
+
b
o
l
d
b_1^{new} = -E_1 -y_1K_{11}(\alpha_{1}^{new} - \alpha_{1}^{old}) -y_2K_{21}(\alpha_{2}^{new} - \alpha_{2}^{old}) + b^{old}
b1new=−E1−y1K11(α1new−α1old)−y2K21(α2new−α2old)+bold
同样的,若 0 < α 2 n e w < C 0 \lt \alpha_{2}^{new} \lt C 0<α2new<C 则有:
b 2 n e w = − E 2 − y 1 K 12 ( α 1 n e w − α 1 o l d ) − y 2 K 22 ( α 2 n e w − α 2 o l d ) + b o l d b_2^{new} = -E_2 -y_1K_{12}(\alpha_{1}^{new} - \alpha_{1}^{old}) -y_2K_{22}(\alpha_{2}^{new} - \alpha_{2}^{old}) + b^{old} b2new=−E2−y1K12(α1new−α1old)−y2K22(α2new−α2old)+bold
最终 b n e w b^{new} bnew 为:
b n e w = b 1 n e w + b 2 n e w 2 b^{new} = \frac{b_1^{new} + b_2^{new}}{2} bnew=2b1new+b2new
由
b
n
e
w
b^{new}
bnew 更新
E
i
E_i
Ei:
E
i
=
∑
S
y
j
α
j
K
(
x
i
,
x
j
)
+
b
n
e
w
−
y
i
E_i = \sum\limits_{S}y_j\alpha_jK(x_i,x_j) + b^{new} -y_i
Ei=S∑yjαjK(xi,xj)+bnew−yi
其中,S是所有支持向量 x j x_j xj的集合。
SMO算法流程
输入: N N N个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) , {(x_1,y_1), (x_2,y_2), ..., (x_N,y_N),} (x1,y1),(x2,y2),...,(xN,yN), ,其中 x x x 为 p p p 维特征向量。 y ∈ { − 1 , 1 } y\in \{-1,1\} y∈{−1,1},设定精度 e
- 取初值 α 0 = 0 , k = 0 \alpha^{0} = 0, k =0 α0=0,k=0
- 按条件选择 α 1 k , α 2 k \alpha_1^k,\alpha_2^k α1k,α2k,求出: α 2 n e w , u n c = α 2 k + y 2 ( E 1 − E 2 ) K 11 + K 22 − 2 K 12 \alpha_2^{new,unc} = \alpha_2^{k} + \frac{y_2(E_1-E_2)}{K_{11} +K_{22}-2K_{12}} α2new,unc=α2k+K11+K22−2K12y2(E1−E2)
- 根据以下限制条件 得到
α
2
k
+
1
\alpha_2^{k+1}
α2k+1
α 2 k + 1 = { H L ≤ α 2 n e w , u n c > H α 2 n e w , u n c L ≤ α 2 n e w , u n c ≤ H L α 2 n e w , u n c < L \alpha_2^{k+1}=\begin{cases}H& {L \leq \alpha_2^{new,unc} \gt H}\\\alpha_2^{new,unc}& {L \leq \alpha_2^{new,unc} \leq H}\\L& {\alpha_2^{new,unc} \lt L}\end{cases} α2k+1=⎩⎪⎨⎪⎧Hα2new,uncLL≤α2new,unc>HL≤α2new,unc≤Hα2new,unc<L - 根据 α 2 k + 1 \alpha_2^{k+1} α2k+1 和 α 1 k + 1 \alpha_1^{k+1} α1k+1 的线性关系推出 α 1 k + 1 \alpha_1^{k+1} α1k+1
- 计算 b k + 1 b^{k+1} bk+1 和 E i E_i Ei
- 在精度 e 范围内检查是否满足如下终止条件,满足则结束,返回 α k + 1 \alpha^{k+1} αk+1,否则转到步骤 2: ∑ i = 1 m α i y i = 0 \sum\limits_{i=1}^{m}\alpha_iy_i = 0 i=1∑mαiyi=0 0 ≤ α i ≤ C , i = 1 , 2... m 0 \leq \alpha_i \leq C, i =1,2...m 0≤αi≤C,i=1,2...m α i k + 1 = 0 ⇒ y i g ( x i ) ≥ 1 \alpha_{i}^{k+1} = 0 \Rightarrow y_ig(x_i) \geq 1 αik+1=0⇒yig(xi)≥1 0 < α i k + 1 < C ⇒ y i g ( x i ) = 1 0 \lt\alpha_{i}^{k+1} \lt C \Rightarrow y_ig(x_i) = 1 0<αik+1<C⇒yig(xi)=1 α i k + 1 = C ⇒ y i g ( x i ) ≤ 1 \alpha_{i}^{k+1}= C \Rightarrow y_ig(x_i) \leq 1 αik+1=C⇒yig(xi)≤1
Kernel Logistic Regression
Soft-Margin SVM as Regularized Model
将 Soft-Margin SVM 犯错和没犯错的情况整合到一个表达式:
{
a
r
g
m
i
n
w
,
b
1
2
w
T
w
+
C
∑
i
=
1
N
max
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
}
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
i
=
1
,
2
,
⋯
,
N
\left\{\begin{aligned} &\mathop{argmin}\limits_{w,b}\frac{1}{2}w^Tw+C\sum\limits_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}\\ &s.t.\ y_i(w^Tx_i+b)\ge1-\xi_i,\ i=1,2,\cdots,N \end{aligned}\right.
⎩⎪⎪⎨⎪⎪⎧w,bargmin21wTw+Ci=1∑Nmax{0,1−yi(wTxi+b)}s.t. yi(wTxi+b)≥1−ξi, i=1,2,⋯,N
令 l i e a r s c o r e s = w T x i + b \mathop{liear\ score}\ s = w^Tx_i + b liear score s=wTxi+b,则二元分类、SVM和 Logistic Regression的 err 可表示为:
e r r err err | y s − e r r ys-err ys−err | err 间的关系 |
---|---|---|
e r r 0 / 1 ( s , y ) = [ y s ≤ 0 ] e r r S V M ( s , y ) = max { 0 , 1 − y s } e r r s c e = log 2 ( 1 + exp ( − y s ) ) \begin{aligned}&err_{0/1}(s,y)=[ys\leq 0]\\&err_{SVM}(s,y)=\max\{0,1-ys\}\\&err_{sce}=\log_2(1+\exp(-ys))\end{aligned} err0/1(s,y)=[ys≤0]errSVM(s,y)=max{0,1−ys}errsce=log2(1+exp(−ys)) | ![]() | e r r s v m {err}_{svm} errsvm为 e r r 0 / 1 err_{0/1} err0/1上界,可代替 e r r 0 / 1 err_{0/1} err0/1解决二元线性分类问题,而 e r r s c e err_{sce} errsce和 e r r s v m {err}_{svm} errsvm相近,可将SVM看作L2-regularized logistic regression |
PLA | Soft-Margin SVM | Logistic Regression | |
---|---|---|---|
优点 | 优点是简单快速 | 和 Logistic Regression 一样,便于优化;而且分类线比较“粗壮”一些 | 是凸函数便于最优化求解;有regularization可以避免过拟合 |
缺点 | 只对线性可分的情况有用,线性不可分的情况需要用到pocket算法 | 当 y s ys ys很小(负值)时,上界变得过于宽松 | y s ys ys很小(负值)时,上界变得更宽松,不利于最优化求解 |
SVM for Soft Binary Classification
如何将SVM的结果应用在Soft Binary Classification中,得到是正类的概率值?
- 方法一:先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),然后直接代入到logistic regression中,得到 g ( x ) = θ ( w s v m T x + b s v m ) g(x)=\theta(w_{svm}^Tx+b_{svm}) g(x)=θ(wsvmTx+bsvm)。直接使用了SVM和logistic regression的相似性,但没有用到logistic regression好的性质和方法
- 方法二:先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),把 ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm)作为logistic regression的初始值,进行迭代训练修正(速度比较快),把修正后的 ( b , w ) (b,w) (b,w)带入到 g ( x ) = θ ( w T x + b ) g(x)=\theta(w^Tx+b) g(x)=θ(wTx+b)中,但并没有体现出比直接用logistic regression有优势
- 方法三 :先得到SVM的解: ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm),增加放缩因子 A A A 和平移因子 B B B 构造一个融合SVM和logistic regression优势的模型: g ( x ) = θ ( A ⋅ ( w s v m T x + b s v m ) + B ) g(x)=\theta(A\cdot(w_{svm}^Tx+b_{svm})+B) g(x)=θ(A⋅(wsvmTx+bsvm)+B)如果 ( b s v m , w s v m ) (b_{svm},w_{svm}) (bsvm,wsvm)较为合理,一般满足 A > 0 A>0 A>0且 B ≈ 0 B\approx0 B≈0
根据方法三可得到新的 logistic regression 问题:
min
A
,
B
1
N
∑
i
=
1
N
log
(
1
+
exp
(
A
⋅
(
w
s
v
m
T
x
+
b
s
v
m
)
+
B
)
)
\color{blue}\min\limits_{A,B}\ \frac1N\sum^N\limits_{i=1}\log\left(1+\exp(A\cdot(w_{svm}^Tx+b_{svm})+B)\right)
A,Bmin N1i=1∑Nlog(1+exp(A⋅(wsvmTx+bsvm)+B))
Kernel Logistic Regression
logistic regression怎么用kernel转化为QP问题来解决?
如果 w w w 可以表示为 z z z 的线性组合,即 w ∗ = ∑ n = 1 N β n z n w_*=\sum_{n=1}^N\beta_nz_n w∗=∑n=1Nβnzn的形式,那么 w ∗ T z = ∑ n = 1 N β n z n T z = ∑ n = 1 N β n K ( x n , x ) w_*^Tz=\sum_{n=1}^N\beta_nz_n^Tz=\sum_{n=1}^N\beta_nK(x_n,x) w∗Tz=∑n=1NβnznTz=∑n=1NβnK(xn,x),其中包含了 z z z的内积
对于L2-regularized linear model,如果它的最小化问题形式为如下的话,
min
w
λ
N
w
T
w
+
1
N
∑
n
=
1
N
e
r
r
(
y
n
,
w
T
z
n
)
\min\limits_w\ \frac\lambda Nw^Tw + \frac1N\sum^N\limits_{n=1}err(y_n,w^Tz_n)
wmin NλwTw+N1n=1∑Nerr(yn,wTzn)
那么最优解可表示为: w ∗ = ∑ n = 1 N β n z n \color{blue}w_*=\sum_{n=1}^N\beta_nz_n w∗=∑n=1Nβnzn
- 证明:任何L2-regularized linear model都可用kernel解决,假设最优解
w
∗
=
w
∣
∣
+
w
⊥
w_*=w_{||}+w_{\bot}
w∗=w∣∣+w⊥
求解L2-regularized logistic regression最小化问题:
min
w
λ
N
w
T
w
+
1
N
∑
n
=
1
N
log
(
1
+
exp
(
−
y
n
w
T
z
n
)
)
\min\limits_{w}\ \frac\lambda N w^Tw + \frac1N\sum^N_{n=1}\log\left(1+\exp(-y_nw^Tz_n)\right)
wmin NλwTw+N1n=1∑Nlog(1+exp(−ynwTzn))
将 w ∗ = ∑ n = 1 N β n z n w_*=\sum_{n=1}^N\beta_nz_n w∗=∑n=1Nβnzn代入到L2-regularized logistic regression最小化问题中:
min β λ N ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) + 1 N ∑ n = 1 N log ( 1 + exp ( − y n ∑ m = 1 N β m K ( x m , x n ) ) ) \min\limits_{\beta}\ \frac\lambda N \sum^N_{n=1}\sum^N_{m=1}\beta_n\beta_mK(x_n,x_m) + \frac1N\sum^N_{n=1}\log\left(1+\exp\left(-y_n\sum^N_{m=1}\beta_mK(x_m,x_n)\right)\right) βmin Nλn=1∑Nm=1∑NβnβmK(xn,xm)+N1n=1∑Nlog(1+exp(−ynm=1∑NβmK(xm,xn)))
- ∑ m = 1 N β m K ( x m , x n ) \sum_{m=1}^N\beta_mK(x_m,x_n) ∑m=1NβmK(xm,xn)可以看成是变量 β \beta β和 K ( x m , x n ) K(x_m,x_n) K(xm,xn)的内积。
- ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) \sum_{n=1}^N\sum_{m=1}^N\beta_n\beta_mK(x_n,x_m) ∑n=1N∑m=1NβnβmK(xn,xm)可以看成是关于 β \beta β的正则化项 β T K β \beta^TK\beta βTKβ。
所以,KLR是 β \beta β 的线性组合,其中包含了kernel内积项和kernel regularizer,这与SVM形式相似。
Support Vector Regression
Kernel Ridge Regression
如何将kernel技巧引入到岭回归(ridge regression)中去,得到与之对应的analytic solution?
Kernel Ridge Regression问题可表示为:
min
w
λ
N
w
T
w
+
1
N
∑
n
=
1
N
(
y
n
−
w
T
z
n
)
2
\min\limits_w\ \frac\lambda Nw^Tw + \frac1N\sum^N\limits_{n=1}(y_n-w^Tz_n)^2
wmin NλwTw+N1n=1∑N(yn−wTzn)2
因为最佳解
w
∗
\color{blue}{w_∗}
w∗ 必然是
z
z
z 的线性组合,把
w
∗
=
∑
n
=
1
N
β
n
z
n
\color{blue}w_∗=\sum^N_{n=1}\beta_nz_n
w∗=∑n=1Nβnzn 代入到ridge regression中,将
z
z
z的内积用 kernel 替换,将求
w
∗
w_∗
w∗ 问题转化为求
β
n
\color{blue}\boxed{\beta_n}
βn 问题:
min
β
λ
N
∑
n
=
1
N
∑
m
=
1
N
β
n
β
m
K
(
x
n
,
x
m
)
+
1
N
∑
n
=
1
N
(
y
n
−
∑
m
=
1
N
β
m
K
(
x
m
,
x
n
)
)
2
\min\limits_{\beta}\ \frac\lambda N \sum^N_{n=1}\sum^N_{m=1}\beta_n\beta_mK(x_n,x_m) + \frac1N\sum^N_{n=1} \left(y_n - \sum^N_{m=1}\beta_mK(x_m,x_n)\right)^2
βmin Nλn=1∑Nm=1∑NβnβmK(xn,xm)+N1n=1∑N(yn−m=1∑NβmK(xm,xn))2
其中第一项可以看成是 β n \beta_n βn的正则项,而第二项可以看成是 β n \beta_n βn的error function,将其表示为矩阵形式
E a u g ( β ) = λ N β T K β + 1 N ( β T K T K β − 2 β T K T y + y T y ) ∇ E a u g ( β ) = 2 N ( λ K T I β + K T K β − K T y ) = 2 N K T ( ( λ I + K ) β − y ) \begin{aligned} E_{\mathrm{aug}}(\beta) &=\frac{\lambda}{N} \beta^{T} \mathrm{K} \beta+\frac{1}{N}\left(\beta^{T} \mathrm{K}^{T} \mathrm{K} \beta-2 \beta^{T} \mathrm{K}^{T} \mathbf{y}+\mathbf{y}^{T} \mathbf{y}\right) \\ \nabla E_{\mathrm{aug}}(\beta) &=\frac{2}{N}\left(\lambda \mathrm{K}^{T} \mathrm{I} \beta+\mathrm{K}^{T} \mathrm{K} \beta-\mathrm{K}^{T} \mathbf{y}\right)=\frac{2}{N} \mathrm{K}^{T}((\lambda \mathrm{I}+\mathrm{K}) \beta-\mathbf{y}) \end{aligned} Eaug(β)∇Eaug(β)=NλβTKβ+N1(βTKTKβ−2βTKTy+yTy)=N2(λKTIβ+KTKβ−KTy)=N2KT((λI+K)β−y)
令
∇
E
a
u
g
(
β
)
\nabla E_{aug}(\beta)
∇Eaug(β)等于零,
(
λ
I
+
K
)
(\lambda I+K)
(λI+K)的逆矩阵存在,则可得到
β
\color{blue}\boxed{\beta}
β一种解析解为:
β
=
(
λ
I
+
K
)
−
1
y
\color{blue}\beta=(\lambda I+K)^{-1}y
β=(λI+K)−1y
K K K满足Mercer’s condition,是半正定的,且 λ > 0 λ>0 λ>0,所以 ( λ I + K ) (\lambda I+K) (λI+K)一定可逆。由于核函数 K K K表征的是 z z z空间的内积,除非两向量互相垂直,一般情况下 K K K不等于零。 ( λ I + K ) (\lambda I+K) (λI+K)是dense matrix, β \beta β 的解大部分都是非零值。
linear ridge regression | kernel ridge regression |
---|---|
![]() | ![]() |
只能拟合直线,训练复杂度 O ( d 3 + d 2 N ) O(d^3+d^2N) O(d3+d2N),预测复杂度 O ( d ) O(d) O(d),如果 N N N比 d d d大很多,模型相对更有效率 | 非线性模型更加灵活,训练复杂度 O ( N 3 ) O(N^3) O(N3),预测复杂度 O ( N ) O(N) O(N),均只与 N N N有关,当 N N N很大时,计算量也变大 |
kernel ridge regression应用在classification就叫做 least-squares SVM(LSSVM)
soft-margin Gaussian SVM | Gaussian LSSVM |
---|---|
![]() | ![]() |
Support Vector较少 ,因为soft-margin Gaussian SVM中的 α n α_n αn大部分是等于零, α n > 0 α_n>0 αn>0的点只占少数 | 基本上每个点都是Support Vector ,因为 β \beta β的解大部分都是非零值,所以对应的每个点基本上都是SV |
SV太多带来的问题:
- β \beta β非零值较多使得做预测的矩 g ( x ) = ∑ n = 1 N β n K ( x n , x ) g(x)=\sum^N_{n=1}\beta_nK(x_n,x) g(x)=∑n=1NβnK(xn,x)计算量也比较大,这方面soft-margin Gaussian SVM更有优势
Support Vector Regression(SVR)
如何让L2-regularized tube regression和soft-margin SVM一样得到 s p a r s e β \color{blue}sparse\ \boxed\beta sparse β
引入tube regression,并将其与squared error对比:
e r r ( y , s ) = max ( 0 , ∥ s − y ∥ − ϵ ) err(y,s) = \max(0,\|s-y\|-\epsilon) err(y,s)=max(0,∥s−y∥−ϵ) | e r r ( y , s ) = ( s − y ) 2 err(y,s) =(s-y)^2 err(y,s)=(s−y)2 | e r r ( y , s ) err(y,s) err(y,s)与 s s s的关系曲线 |
---|---|---|
![]() | ![]() | ![]() |
tube regression:在分类线上下分别划定一个区域(中立区),如果数据点分布在这个区域内,则不算分类错误,只有误分在中立区域之外的地方才算error | L2 regression \qquad\qquad\qquad\qquad\qquad\qquad | 在 ∥ s − y ∥ \|s-y\| ∥s−y∥较大区,squared error增长幅度比tube error大。error增长越快表示越容易受noise影响,不利于优化求解。从这个方面来看,tube regression的error function要优 |
1、L2-Regularized Tube Regression 问题:
min
w
λ
N
w
T
w
+
1
N
∑
n
=
1
N
max
(
0
,
∣
w
T
z
n
−
y
∣
−
ϵ
)
\min _{{w}} \quad \frac{\lambda}{N} {w}^{T} {w}+\frac{1}{N} \sum_{n=1}^{N} \max \left(0,\left| {w}^{T} \mathbf{z}_{n}-y\right|-\epsilon\right)
wminNλwTw+N1n=1∑Nmax(0,∣∣wTzn−y∣∣−ϵ)
可以把这个问题转换为带条件的QP问题,仿照dual SVM的推导方法,引入kernel,得到KKT条件,从而保证解 β \beta β 是 sparse 的。
2、把L2-Regularized Tube Regression写成类似SVM的形式:
min
w
,
b
1
2
w
T
w
+
C
∑
n
=
1
N
max
(
0
,
∣
w
T
z
n
+
b
−
y
n
∣
−
ϵ
)
\min _{{w,b}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} \max \left(0,\left| {w}^{T} \mathbf{z}_{n} + b-y_n\right|-\epsilon\right)
w,bmin21wTw+Cn=1∑Nmax(0,∣∣wTzn+b−yn∣∣−ϵ)
λ \lambda λ越大对应 C C C越小, λ \lambda λ越小对应 C C C越大,上式将 w 0 w_0 w0 即 b b b 单独提出来。
3、有了Standard Support Vector Regression的初始形式,还需要转化成标准的QP问题:
min w , b , ξ 1 2 w T w + C ∑ n = 1 N ξ n s . t . ∣ w T z n + b − y n ∣ ≤ ϵ + ξ n ξ n ≥ 0 ⟹ min w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . − ϵ − ξ n ∨ ≤ y n − w T z n − b ≤ ϵ + ξ n ∧ ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{aligned} \begin{aligned} &\min _{{w,b,\xi}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} \xi_n\\ &s.t.\ |w^T\mathbf{z}_{n} + b - y_n|\leq\epsilon + \xi_n\\ &\qquad\xi_n\geq0 \end{aligned} {\color{blue}\Longrightarrow} \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad-\epsilon - \xi_n^\vee\leq y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \end{aligned} w,b,ξmin21wTw+Cn=1∑Nξns.t. ∣wTzn+b−yn∣≤ϵ+ξnξn≥0⟹w,b,ξn∨,ξn∧min21wTw+Cn=1∑N(ξn∨+ξn∧)s.t.−ϵ−ξn∨≤yn−wTzn−b≤ϵ+ξn∧ ξn∨≥0,ξn∧≥0
右边即标准的QP问题
- ξ n ∨ \color{blue}\xi_n^\vee ξn∨和 ξ n ∧ \color{blue}\xi_n^\wedge ξn∧分别表示upper tube violations和lower tube violations。这种形式叫做Support Vector Regression(SVR) primal。
- C \color{blue} C C:表示的是regularization和tube violation之间的权衡。large C倾向于tube violation,small C则倾向于regularization。
- ϵ \color{blue}\epsilon ϵ:表征了tube的区域宽度,即对错误点的容忍程度。 ϵ \epsilon ϵ越大,则表示对错误的容忍度越大
4、接下来将推导SVR的Dual形式
min w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . y n − w T z n − b ≤ ϵ + ξ n ∧ − ϵ − ξ n ∨ ≤ y n − w T z n − b ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 ⟹ min w , b , ξ n ∨ , ξ n ∧ 1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) s . t . y n − w T z n − b ≤ ϵ + ξ n ∧ w T z n + b − y n ≤ ϵ + ξ n ∨ ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{aligned} \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ -\epsilon - \xi_n^\vee\leq y_n-w^T\mathbf{z}_{n} - b \\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \Longrightarrow \begin{aligned} &\min _{{w,b,\xi_n^\vee,\xi_n^\wedge}} \quad \frac{1}{2} {w}^{T} {w} + C \sum_{n=1}^{N} (\xi_n^\vee+\xi_n^\wedge)\\ &\qquad s.t.\quad y_n-w^T\mathbf{z}_{n} - b \leq\epsilon + \xi_n^\wedge\\ &\qquad\qquad\ \ w^T\mathbf{z}_{n} + b-y_n \leq\epsilon + \xi_n^\vee\\ &\qquad\qquad\ \ \xi_n^\vee\geq0,\xi_n^\wedge\geq0 \end{aligned} \end{aligned} w,b,ξn∨,ξn∧min21wTw+Cn=1∑N(ξn∨+ξn∧)s.t.yn−wTzn−b≤ϵ+ξn∧ −ϵ−ξn∨≤yn−wTzn−b ξn∨≥0,ξn∧≥0⟹w,b,ξn∨,ξn∧min21wTw+Cn=1∑N(ξn∨+ξn∧)s.t.yn−wTzn−b≤ϵ+ξn∧ wTzn+b−yn≤ϵ+ξn∨ ξn∨≥0,ξn∧≥0
⟹ c o m p l e m e n t a r y s l a c k n e s s : { α n ∧ ( ϵ + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ϵ + ξ n ∨ + y n − w T z n − b ) = 0 {\color{blue}\Longrightarrow complementary\ slackness:} \left\{\begin{aligned} \alpha_n^\wedge(\epsilon + \xi_n^\wedge - y_n + w^T\mathbf{z}_{n} + b) = 0\\ \alpha_n^\vee(\epsilon + \xi_n^\vee+y_n-w^T\mathbf{z}_{n} - b) = 0\end{aligned}\right. ⟹complementary slackness:{αn∧(ϵ+ξn∧−yn+wTzn+b)=0αn∨(ϵ+ξn∨+yn−wTzn−b)=0
拉格朗日因子 α n ∨ \alpha_n^\vee αn∨ 和 α n ∧ \alpha_n^\wedge αn∧ 与 ξ n ∨ \xi_n^\vee ξn∨ 和 ξ n ∧ \xi_n^\wedge ξn∧ 不等式分别对应。由上式可看出,分布在tube中心区域内的点满足 ∣ w T z n + b − y n ∣ < ϵ |w^Tz_n+b−y_n|<\epsilon ∣wTzn+b−yn∣<ϵ,此时忽略错误, ξ n ∨ \xi_n^\vee ξn∨和 ξ n ∧ \xi_n^\wedge ξn∧都等于零,则括号项均不为零,必然得到 α n ∨ = 0 \alpha_n^\vee=0 αn∨=0和 α n ∧ = 0 \alpha_n^\wedge=0 αn∧=0,即 β n = α n ∧ − α n ∨ = 0 \beta_n=\alpha_n^{\wedge}-\alpha_n^{\vee}=0 βn=αn∧−αn∨=0,而分布在tube之外的点, β n ≠ 0 \beta_n\neq0 βn=0,所以 β n \color{blue}\beta_n βn 是相对 s p a r s e \color{blue}sparse sparse 的。
5、构造拉格朗日函数啊:
L
(
w
,
b
,
α
∨
,
α
∧
,
ξ
n
∨
,
ξ
n
∧
,
μ
∨
,
μ
∧
)
=
1
2
w
T
w
+
C
∑
n
=
1
N
(
ξ
n
∨
+
ξ
n
∧
)
+
∑
n
=
1
N
α
n
∨
(
−
ϵ
−
ξ
n
∨
−
y
n
+
w
T
z
n
+
b
)
+
∑
n
=
1
N
α
n
∧
(
y
n
−
w
T
z
n
−
b
−
ϵ
−
ξ
n
∧
)
+
∑
n
=
1
N
μ
n
∨
(
−
ξ
n
∨
)
+
∑
n
=
1
N
μ
n
∧
(
−
ξ
n
∧
)
\begin{aligned} &L(w,b,\alpha^{\lor}, \alpha^{\land}, \xi_n^{\lor}, \xi_n^{\land}, \mu^{\lor}, \mu^{\land}) \\ &=\frac{1}{2}{w}^{T} {w} + C\sum\limits_{n=1}^{N}(\xi_n^{\lor}+ \xi_n^{\land}) + \sum\limits_{n=1}^{N}\alpha_n^{\lor}(-\epsilon - \xi_n^{\lor} -y_n + w^T \mathbf{z}_{n} + b) \\ &\ \ \ \ +\sum\limits_{n=1}^{N}\alpha_n^{\land}(y_n - w^T\mathbf{z}_{n} - b -\epsilon - \xi_n^{\land}) +\sum\limits_{n=1}^{N}\mu_n^{\lor}(- \xi_n^{\lor}) +\sum\limits_{n=1}^{N}\mu_n^{\land}(- \xi_n^{\land}) \end{aligned}
L(w,b,α∨,α∧,ξn∨,ξn∧,μ∨,μ∧)=21wTw+Cn=1∑N(ξn∨+ξn∧)+n=1∑Nαn∨(−ϵ−ξn∨−yn+wTzn+b) +n=1∑Nαn∧(yn−wTzn−b−ϵ−ξn∧)+n=1∑Nμn∨(−ξn∨)+n=1∑Nμn∧(−ξn∧)
6、令相关参数偏微分为零得到相应的KKT条件:
- w \color{blue}w w: ∂ ∂ w L = 0 ⇒ w = ∑ n = 1 N ( α n ∧ − α n ∨ ) z n \frac{\partial}{\partial w}L=0\Rightarrow w =\sum\limits_{n=1}^N(\alpha_n^\wedge-\alpha_n^\vee)\mathbf{z}_{n} ∂w∂L=0⇒w=n=1∑N(αn∧−αn∨)zn
- b \color{blue}b b: ∂ ∂ b L = 0 ⇒ ∑ n = 1 N ( α n ∧ − α n ∨ ) = 0 \frac{\partial}{\partial b}L=0\Rightarrow\sum\limits_{n=1}^N(\alpha_n^\wedge-\alpha_n^\vee)=0 ∂b∂L=0⇒n=1∑N(αn∧−αn∨)=0
- ξ n ∨ \color{blue}\xi_n^{\lor} ξn∨: ∂ ∂ ξ n ∨ L = 0 ⇒ C − α n ∨ − μ n ∨ = 0 \frac{\partial }{\partial \xi_n^{\lor}}L = 0 \;\Rightarrow C-\alpha_n^{\lor}-\mu_n^{\lor} = 0 ∂ξn∨∂L=0⇒C−αn∨−μn∨=0
- ξ n ∧ \color{blue}\xi_n^{\land} ξn∧: ∂ ∂ ξ n ∧ L = 0 ⇒ C − α n ∧ − μ n ∧ = 0 \frac{\partial }{\partial \xi_n^{\land}} L= 0 \;\Rightarrow C-\alpha_n^{\land}-\mu_n^{\land} = 0 ∂ξn∧∂L=0⇒C−αn∧−μn∧=0
7、得到最终的SVR dual 形式:
min
α
n
∨
,
α
n
∧
1
2
∑
n
=
1
N
∑
m
=
1
N
(
α
n
∧
−
α
n
∨
)
(
α
m
∧
−
α
m
∨
)
K
n
m
+
∑
n
=
1
N
(
(
ϵ
−
y
n
)
α
n
∧
+
(
ϵ
+
y
n
)
α
n
∨
)
s
.
t
.
∑
i
=
1
N
(
α
i
∧
−
α
i
∨
)
=
0
0
<
α
n
∨
<
C
(
n
=
1
,
2
,
.
.
.
N
)
0
<
α
n
∧
<
C
(
n
=
1
,
2
,
.
.
.
N
)
\begin{aligned} &\min_{\alpha_n^{\lor}, \alpha_n^{\land}} \quad\frac{1}{2}\sum\limits_{n=1}^{N}\sum\limits_{m=1}^{N}(\alpha_n^{\land} - \alpha_n^{\lor})(\alpha_m^{\land} - \alpha_m^{\lor})K_{nm} +\sum\limits_{n=1}^{N}\left((\epsilon-y_n)\alpha_n^{\land}+ (\epsilon+y_n)\alpha_n^{\lor}\right) \\ &\quad s.t. \quad \sum\limits_{i=1}^{N}(\alpha_i^{\land} - \alpha_i^{\lor}) = 0\\ &\qquad\qquad 0 < \alpha_n^{\lor} < C \; (n =1,2,...N)\\ &\qquad\qquad 0 < \alpha_n^{\land} < C \; (n =1,2,...N) \end{aligned}
αn∨,αn∧min21n=1∑Nm=1∑N(αn∧−αn∨)(αm∧−αm∨)Knm+n=1∑N((ϵ−yn)αn∧+(ϵ+yn)αn∨)s.t.i=1∑N(αi∧−αi∨)=00<αn∨<C(n=1,2,...N)0<αn∧<C(n=1,2,...N)
参考文献
【1】支撑向量机
【2】机器学习技法笔记
【3】A tutorial on support vector regression
【4】机器学习算法实践-SVM中的SMO算法
【5】支持向量机原理之线性SVM
【6】支持向量机实战之非线性SVM
【7】支持向量机原理(一) 线性支持向量机
【8】持向量机原理(二) 线性支持向量机的软间隔最大化模型
【9】支持向量机原理(三)线性不可分支持向量机与核函数
【10】支持向量机原理(四)SMO算法原理
【11】支持向量机原理(五)线性支持回归
【12】机器学习算法实践-支持向量机(SVM)算法原理
【13】机器学习算法实践-SVM核函数和软间隔
【14】机器学习算法实践-Platt SMO和遗传算法优化SVM
【15】真正理解拉格朗日乘子法和 KKT 条件
【16】支持向量机:Duality