支持向量机(Support Vector Machine,简称SVM)是一种经典的二分类模型,基本模型定义为特征空间中最大间隔的线性分类器,其学习的目标是使间隔最大化。
一、基于最大间隔的线性分类器
1、超平面( w T x + b = 0 w^Tx+b=0 wTx+b=0)
我们先拿二维平面举例,在下图的二维平面中有两类点,可以清楚的看到两类点被红色的直线划分,红色的直线就是二维空间中的超平面,即
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0。如果所给的数据是三维的,则三维空间的超平面就是一个面;如果所给的数据是N维的,则需要一个N-1维的超平面将所给数据进行划分。我们可以清楚的知道, 分布在超平面一侧的所有数据都属于某个类别,而分布在另一侧的所有数据则属于另一个类别。
R n R^n Rn | 超平面类型 |
---|---|
n=2 | 一条直线 |
n=3 | 一个面 |
n=N | N-1维超平面 |
超平面可以有多个,但为了使划分的超平面所产生的分类结果使最鲁棒的,对未见的示例泛化能力最强的,我们选择去寻找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面(鲁棒性是指其在面对数据扰动、噪声或其他干扰时仍能保持稳定和准确的能力)
如上图,我们可以看到有五条超平面,但红色的那条直线是最佳超平面,因为该划分超平面对训练数据样本局部扰动的“容忍性”最好, 鲁棒性高, 泛化能力最强。
2、支持向量
支持向量,就是距离分割超平面最近的几个点,如下图中圆圈标识的点,就是支持向量。
二、寻找最大间隔
1、超平面的性质
性质1,法向量和偏置项以任意相同的倍数放缩,新表达式描述的仍然是原来的超平面,假设放缩比例为 λ \lambda λ, λ ( w T x + b ) = 0 , λ ≠ 0 \lambda(w^Tx+b)=0,\lambda\neq0 λ(wTx+b)=0,λ=0,无论 λ \lambda λ取多少,都表示同一个超平面。
性质2,样本空间中的任意一个点,到超平面的距离表达式为
d
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
d=\frac{|w^Tx+b|}{||w||}
d=∣∣w∣∣∣wTx+b∣
性质3,假设超平面能够将训练样本正确分类,则对任意
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) (
(
x
i
,
y
i
)
∈
数据集
D
(x_i,y_i)\in 数据集D
(xi,yi)∈数据集D)若
y
i
=
1
y_i=1
yi=1,则
w
T
x
+
b
>
0
w^Tx+b>0
wTx+b>0;若
y
i
=
−
1
y_i=-1
yi=−1,则
w
T
x
+
b
<
0
w^Tx+b<0
wTx+b<0,其中我们将样本点在超平面上方记为正例,下方记为反例,用1和-1来标记。
即
{
w
T
+
b
>
0
,
y
i
=+1
w
T
+
b
<
0
,
y
i
=
−
1
\begin{cases} w^T+b>0, & \text { $y_i$=+1} \\ w^T+b<0, & \text{ $y_i$=$-1$} \end{cases}
{wT+b>0,wT+b<0, yi=+1 yi=−1
2、寻找最大间隔
对于线性可分的数据集
D
=
(
x
i
,
y
i
)
D={(x_i,y_i)}
D=(xi,yi),由性质3可知,分类正确的超平面
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0满足
y
i
(
w
T
x
i
+
b
)
>
0
y_i(w^Tx_i+b)>0
yi(wTxi+b)>0
在SVM中,上式被称为样本点到超平面的函数间隔,同时等价于
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i+b)\geq1
yi(wTxi+b)≥1
在数据集中众多的样本点中,距离超平面最近的这几个训练样本点使等号成立,即支持向量会使等号成立,那么两个异类支持向量到超平面的距离之和为
γ
=
2
∣
∣
w
∣
∣
\gamma = \frac{2}{||w||}
γ=∣∣w∣∣2
最大化间隔也就是寻找参数
w
w
w和
b
b
b , 使得
γ
\gamma
γ最大,即:
a
r
g
m
w
,
b
a
x
2
∣
∣
w
∣
∣
arg\underset{w,b}max \frac{2}{||w||}
argw,bmax∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
.
s.t. y_i(w^Tx+b)\geq1,i=1,2,...,m.
s.t.yi(wTx+b)≥1,i=1,2,...,m.
显然,我们可以转化为
a
r
g
m
w
,
b
i
n
1
2
∣
∣
w
∣
∣
2
arg\underset{w,b}min \frac{1}{2}||w||^2
argw,bmin21∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
.
s.t. y_i(w^Tx+b)\geq1,i=1,2,...,m.
s.t.yi(wTx+b)≥1,i=1,2,...,m.
上式就是求解最大间隔超平面的最终表达式。
三、利用拉格朗日乘子法转化为对偶问题求解
1、拉格朗日乘子法
假定一个目标函数 f(x),在满足约束条件g(x)=0的前提下,使得f(x)有最小值。该约束优化问题记为
m
i
n
f
(
x
)
min f(x)
minf(x)
s
.
t
.
g
(
x
)
=
0
s.t. g(x)=0
s.t.g(x)=0
可建立拉格朗日函数
L
(
x
,
μ
)
=
f
(
x
)
+
μ
g
(
x
)
L(x,\mu) = f(x)+\mu g(x)
L(x,μ)=f(x)+μg(x)
其中
μ
\mu
μ称为拉格朗日乘子。因此,可将原本的约束优化问题转换成等价的无约束优化问题:
m
i
n
L
(
x
,
μ
)
min L(x,\mu)
minL(x,μ)
方程分别对x,
μ
\mu
μ求偏导
{
∂
L
∂
x
=
∂
f
(
x
)
∂
x
+
μ
∂
g
(
x
)
=
∂
x
=
0
∂
L
∂
μ
=
g
(
x
)
=
0
\begin{cases} \frac{\partial L}{\partial x}=\frac{\partial f(x)}{\partial x}+\mu\frac{\partial g(x)=}{\partial x}=0 & \text {} \\ \frac{\partial L}{\partial \mu}= g(x)=0 & \text{ } \end{cases}
{∂x∂L=∂x∂f(x)+μ∂x∂g(x)==0∂μ∂L=g(x)=0
最后,联立方程求最后的解。
2、转化为对偶问题
设拉格朗日函数为
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
(
1
)
L(w,b,\alpha) = \frac{1}{2}||w||^2+\sum_{i=1}^m \alpha_i(1-y_i(w^Tx_i+b))(1)
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))(1)
令
L
(
w
,
b
,
α
)
L(w,b,\alpha)
L(w,b,α)对
w
w
w和
b
b
b求偏导且等于零可得
w
=
∑
i
=
1
m
α
i
y
i
x
i
(
2
)
w = \sum_{i=1}^m\alpha_iy_ix_i(2)
w=i=1∑mαiyixi(2)
0
=
∑
i
=
1
m
α
i
y
i
(
3
)
0 = \sum_{i=1}^m\alpha_iy_i(3)
0=i=1∑mαiyi(3)
将(2)式带入(1)式,消去
w
和
b
w和b
w和b
L
(
w
,
b
,
α
)
=
1
2
w
T
w
+
∑
i
=
1
m
α
i
−
∑
i
=
1
m
α
i
y
i
w
T
x
i
−
∑
i
=
1
m
α
i
y
i
b
L(w,b,\alpha) = \frac{1}{2}w^Tw+\sum_{i=1}^m \alpha_i-\sum_{i=1}^m\alpha_iy_iw^Tx_i-\sum_{i=1}^m\alpha_iy_ib
L(w,b,α)=21wTw+i=1∑mαi−i=1∑mαiyiwTxi−i=1∑mαiyib
=
∑
i
=
1
m
α
i
+
1
2
w
T
w
−
w
T
w
= \sum_{i=1}^m\alpha_i+\frac{1}{2}w^Tw-w^Tw
=i=1∑mαi+21wTw−wTw
=
∑
i
=
1
m
α
i
−
1
2
(
∑
i
=
1
m
α
i
y
1
x
i
)
T
(
∑
j
=
1
m
α
j
y
j
x
j
)
= \sum_{i=1}^m\alpha_i-\frac{1}{2}(\sum_{i=1}^m\alpha_iy_1x_i)^T(\sum_{j=1}^m\alpha_jy_jx_j)
=i=1∑mαi−21(i=1∑mαiy1xi)T(j=1∑mαjyjxj)
=
∑
i
=
1
m
α
i
−
1
2
(
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
)
= \sum_{i=1}^m\alpha_i-\frac{1}{2}(\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j)
=i=1∑mαi−21(i=1∑mj=1∑mαiαjyiyjxiTxj)
再考虑(3)式,就可以得到对偶问题
m
a
x
∑
i
=
1
m
α
i
−
1
2
(
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
)
max \sum_{i=1}^m\alpha_i-\frac{1}{2}(\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j)
maxi=1∑mαi−21(i=1∑mj=1∑mαiαjyiyjxiTxj)
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
s.t. \sum_{i=1}^m\alpha_iy_i=0,\alpha_i\geq0,i=1,2,...,m
s.t.i=1∑mαiyi=0,αi≥0,i=1,2,...,m
最后,解出
α
\alpha
α,求出
w
和
b
w和b
w和b,得到最后的模型
f
(
x
)
=
w
T
x
+
b
f(x) = w^Tx+b
f(x)=wTx+b
f
(
x
)
=
∑
i
=
1
m
α
i
y
i
x
i
T
x
+
b
f(x) = \sum_{i=1}^m\alpha_iy_ix_i^Tx+b
f(x)=i=1∑mαiyixiTx+b
解出的
α
\alpha
α是拉格朗日乘子,注意到有不等式约束,因此上述过程应满足KKT(Karush-Kuhn-Tucher)条件,即
{
α
i
≥
0
,
y
i
f
(
x
i
)
−
1
≥
0
,
α
i
(
y
i
f
(
x
i
)
−
1
)
=
0
\begin{cases} \alpha_i\geq0, & \text { } \\ y_if(x_i)-1\geq0, & \text{ } \\ \alpha_i(y_if(x_i)-1)=0\end{cases}
⎩
⎨
⎧αi≥0,yif(xi)−1≥0,αi(yif(xi)−1)=0
支持向量机解的一个重要性质: 训练完成后, 大部分的训练样本都不需保留, 最终模型仅与支持向量有关。
四、核函数
在前面的讨论中,我们假设样本是线性可分的,即存在一个划分的超平面将样本正确划分,然而在实际生活中,原始的样本空间可能并不存在一个能划分正确的超平面,例如“异或问题”,如下图左图所示。
对于这样的问题,一般的,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间中线性可分,如上图右图所示,将二位空间合理的映射到一个三维空间,就能找到一个合适的划分超平面。如果原始空间是有限维,南无那么一定存在一个高维特征空间使样本可分。
令
ϕ
(
x
)
\phi(x)
ϕ(x)表示将
x
x
x映射后的特征向量,那么,在特征空间中划分超平面的模型可以表示为
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
f(x)=w^T\phi(x)+b
f(x)=wTϕ(x)+b
其中
w
和
b
是模型参数。
w和b是模型参数。
w和b是模型参数。
那么目标函数就转化为
m
i
w
,
b
n
1
2
∣
∣
w
∣
∣
2
m\underset{w,b}in \;\; \frac{1}{2}||w||^2
mw,bin21∣∣w∣∣2
s
.
t
.
y
i
(
w
T
ϕ
(
x
)
+
b
)
≥
1
,
i
=
1
,
2
,
3
,
.
.
.
,
m
s.t. \;\; y_i(w^T\phi(x)+b) \geq1,i=1,2,3,...,m
s.t.yi(wTϕ(x)+b)≥1,i=1,2,3,...,m
其对偶问题就变为
m
a
α
x
∑
i
=
1
m
α
i
−
1
2
(
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
κ
(
x
i
,
x
j
)
)
m\underset{\alpha}ax \sum_{i=1}^m\alpha_i-\frac{1}{2}(\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\kappa(x_i,x_j))
mαaxi=1∑mαi−21(i=1∑mj=1∑mαiαjyiyjκ(xi,xj))
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
s.t. \sum_{i=1}^m\alpha_iy_i=0,\alpha_i\geq0,i=1,2,...,m
s.t.i=1∑mαiyi=0,αi≥0,i=1,2,...,m
其中 κ ( x i , x j ) = < ϕ ( x i ) , ϕ ( x j ) > = ϕ ( x i ) T ϕ ( x j ) \kappa(x_i,x_j)=<\phi(x_i),\phi(x_j)>=\phi(x_i)^T\phi(x_j) κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)。
求解得到
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
f(x) = w^T\phi(x)+b
f(x)=wTϕ(x)+b
f
(
x
)
=
∑
i
=
1
m
α
i
y
i
κ
(
x
,
x
i
)
+
b
f(x) = \sum_{i=1}^m\alpha_iy_i\kappa(x,x_i)+b
f(x)=i=1∑mαiyiκ(x,xi)+b
我们将
κ
(
⋅
)
\kappa(·)
κ(⋅)定义为核函数。若已知映射函数
ϕ
(
x
)
\phi(x)
ϕ(x)的具体形式,就可以写出对应的核函数,那么,在不知道映射函数的情况下,核函数是否存在呢?下面介绍一下核函数存在定理。
定理,令
χ
\chi
χ为输入空间,
κ
(
⋅
)
\kappa(·)
κ(⋅)是定义在
χ
∗
χ
\chi*\chi
χ∗χ上的对称函数,则
κ
(
⋅
)
\kappa(·)
κ(⋅)是核函数当且仅当对任意数据
D
=
x
i
,
x
2
,
.
.
.
.
,
x
m
D={x_i,x_2,....,x_m}
D=xi,x2,....,xm核矩阵
K
\Kappa
K是半正定的:
X = ( κ ( x 1 , x 1 ) ⋯ κ ( x 1 , x j ) ⋯ κ ( x 1 , x m ) κ ( x 2 , x 1 ) ⋯ κ ( x 2 , x j ) ⋯ κ ( x 2 , x m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x m , x 1 ) ⋯ κ ( x m , x j ) ⋯ κ ( x m , x m ) ) X = \begin{pmatrix} \kappa(x_1,x_1) & \cdots & \kappa(x_1,x_j) & \cdots & \kappa(x_1,x_m) \\ \kappa (x_2,x_1)& \cdots& \kappa(x_2,x_j) & \cdots & \kappa(x_2,x_m)\\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa(x_m,x_1) &\cdots& \kappa(x_m,x_j) & \cdots & \kappa(x_m,x_m) \\ \end{pmatrix} X= κ(x1,x1)κ(x2,x1)⋮κ(xm,x1)⋯⋯⋱⋯κ(x1,xj)κ(x2,xj)⋮κ(xm,xj)⋯⋯⋱⋯κ(x1,xm)κ(x2,xm)⋮κ(xm,xm)
Tips:【半正定矩阵定义】给定一个大小为 n ∗ n n*n n∗n的对称矩阵 A A A,若对任意长度为 n n n的向量 x x x,有 x T A x ≥ 0 x^TAx\geq0 xTAx≥0,则矩阵 A A A是一个半正定矩阵.
下面给出几种常见的核函数:
名称 | 表达式 | 参数 |
---|---|---|
线性核 | κ ( x i , x j ) = x i T x j \kappa(x_i,x_j)=x_i^Tx_j κ(xi,xj)=xiTxj | |
多项式核 | κ ( x i , x j ) = ( x i T x j ) d \kappa(x_i,x_j)=(x_i^Tx_j)^d κ(xi,xj)=(xiTxj)d | d ≥ 1 d\geq1 d≥1 |
高斯核 | κ ( x i , x j ) = e x p ( − \kappa(x_i,x_j)=exp(- \, κ(xi,xj)=exp(− ∣ ∣ x i − x j ∣ ∣ 2 2 σ 2 ) \frac{ \vert \vert x_i-x_j \vert \vert^2}{2\sigma^2}) 2σ2∣∣xi−xj∣∣2) | σ > 0 为高斯核的带宽 \sigma>0为高斯核的带宽 σ>0为高斯核的带宽 |
拉普拉斯核 | κ ( x i , x j ) = e x p ( − \kappa(x_i,x_j)=exp(- \, κ(xi,xj)=exp(− ∣ ∣ x i − x j ∣ ∣ σ ) \frac{ \vert \vert x_i-x_j \vert \vert}{\sigma}) σ∣∣xi−xj∣∣) | σ > 0 \sigma>0 σ>0 |
Sigmoid核 | κ ( x i , x j ) = t a n h ( β x i T x j + θ ) \kappa(x_i,x_j)=tanh(\beta x_i^Tx_j+\theta) κ(xi,xj)=tanh(βxiTxj+θ) | t a n h 为双曲正切函数, β > 0 , θ > 0 tanh为双曲正切函数,\beta>0,\theta>0 tanh为双曲正切函数,β>0,θ>0 |
此外核函数的线性组合和核函数的直积也是核函数。
五、软间隔和正则化
1、软间隔
在前面的讨论中,我们一直假定样本在样本空间或特征空间中是线性可分的,即存在一个超平面将不同类别的样本完全划分开来,然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。
缓解上述问题的一个办法是,允许支持向量机在一些样本上出错,为此引入软间隔的概念。
上图为软间隔的示意图,红色圈出的样本是部分不满足约束的样本。
硬间隔,就是保证所有的样本都必需划分正确;软间隔,就是允许某些样本不满足约束条件
y
i
(
w
T
x
+
b
)
y_i(w^Tx+b)
yi(wTx+b)。当然,在最大化间隔的同时,不满足约束的样本应该尽可能地少,于是优化目标可以写为
m
i
w
,
b
n
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ℓ
0
/
1
(
y
i
(
w
T
x
+
b
)
−
1
)
m\underset{w,b}in\;\; \frac{1}{2}||w||^2+C\sum_{i=1}^m\ell_{0/1}(y_i(w^Tx+b)-1)
mw,bin21∣∣w∣∣2+Ci=1∑mℓ0/1(yi(wTx+b)−1)
其中 C C C>0是一个常数,当 C C C为无穷大时,迫使所有样本都满足约束条件,则就变为硬间隔,当 C C C取有限值时,就允许某些样本可以不满足约束条件,此时就变为软间隔;其中 ℓ 0 / 1 是 0 / 1 损失函数 \ell_{0/1}是0/1损失函数 ℓ0/1是0/1损失函数,定义如下:
ℓ
0
/
1
(
z
)
=
{
1
,
z
<
0
0
,
otherwize
\ell_{0/1}(z) = \begin{cases} 1, & \text { $z<0$} \\ 0, & \text{ otherwize} \end{cases}
ℓ0/1(z)={1,0, z<0 otherwize
然而由于
ℓ
0
/
1
\ell_{0/1}
ℓ0/1为非凸,非连续,使上式目标函数不易求解,通常用如下的一些函数来替代
ℓ
0
/
1
\ell_{0/1}
ℓ0/1,下面给出了三种常用的替代损失函数:
h
i
n
g
e
损失:
ℓ
h
i
n
g
e
(
z
)
=
m
a
x
(
0
,
1
−
z
)
;
指数损失:
ℓ
e
x
p
(
z
)
=
e
x
p
(
−
z
)
对率损失:
ℓ
l
o
g
(
z
)
=
l
o
g
(
1
+
e
x
p
(
−
z
)
)
hinge损失:\ell_{hinge}(z) = max(0,1-z); \\ 指数损失:\ell_{exp}(z) = exp(-z) \\ 对率损失:\ell_{log}(z) = log(1+exp(-z))
hinge损失:ℓhinge(z)=max(0,1−z);指数损失:ℓexp(z)=exp(−z)对率损失:ℓlog(z)=log(1+exp(−z))
若采用
h
i
n
g
e
hinge
hinge损失,上式变为:
m
i
w
,
b
n
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
m
a
x
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
m\underset{w,b}in\;\; \frac{1}{2}||w||^2+C\sum_{i=1}^mmax(0,1-y_i(w^Tx_i+b))
mw,bin21∣∣w∣∣2+Ci=1∑mmax(0,1−yi(wTxi+b))
引入松弛变量
ξ
i
≥
0
\xi_i\geq0
ξi≥0,可将上式改写为
m
i
w
,
b
,
ξ
i
n
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
y
i
(
w
T
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
,
i
=
1
,
2
,
3
,
.
.
.
,
m
m\underset{w,b,\xi_i}in \; \frac{1}{2}||w||^2+C\sum_{i=1}^m\xi_i\\ s.t. \; y_i(w^T+b)\geq1-\xi_i \\ \xi_i\geq0,i=1,2,3,...,m
mw,b,ξiin21∣∣w∣∣2+Ci=1∑mξis.t.yi(wT+b)≥1−ξiξi≥0,i=1,2,3,...,m
上式就是常用的软间隔支持向量机。
推导如下:
令
m
a
x
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
=
ξ
i
max(0,1-y_i(w^Tx_i+b))=\xi_i
max(0,1−yi(wTxi+b))=ξi,
ξ
i
≥
0
,
而且当
1
−
y
i
(
w
T
x
i
+
b
)
>
0
时
\xi_i\geq0,而且当1-y_i(w^Tx_i+b)>0时
ξi≥0,而且当1−yi(wTxi+b)>0时
1
−
y
i
(
w
T
x
i
+
b
)
=
ξ
i
1-y_i(w^Tx_i+b)=\xi_i
1−yi(wTxi+b)=ξi
当
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
时
1-y_i(w^Tx_i+b)\leq0时
1−yi(wTxi+b)≤0时
0
=
ξ
i
0=\xi_i
0=ξi
综上所述
1
−
y
i
(
w
T
x
i
+
b
)
≤
ξ
i
⇒
y
i
(
w
T
+
b
)
≥
1
−
ξ
i
1-y_i(w^Tx_i+b)\leq\xi_i\Rightarrow y_i(w^T+b)\geq1-\xi_i
1−yi(wTxi+b)≤ξi⇒yi(wT+b)≥1−ξi
证毕。
加入松弛变量对分类器来说既有好处又有坏处:
好处:使得分类器具有一定的容错性,忽略落在隔离带中的点对分类面划分的影响,使分类面可以不用向这些点的方向移动,可以增大 1 / ∣ ∣ w ∣ ∣ ( 2 / ∣ ∣ w ∣ ∣ 是几何间隔 ) 1/||w||(2/||w||是几何间隔) 1/∣∣w∣∣(2/∣∣w∣∣是几何间隔)
坏处:对于落在“隔离带”中的样本点我们放弃了对他的精确分类
同样,类似于硬间隔支持向量机,转化为其对偶问题来求解,通过拉格朗日乘子法可得到拉格朗日函数:
L
(
w
,
b
,
α
,
ξ
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
+
∑
i
=
1
m
α
i
(
1
−
ξ
i
−
y
i
(
w
T
x
+
b
)
)
−
∑
i
=
1
m
μ
i
ξ
i
L(w,b,\alpha,\xi,\mu) = \frac{1}{2}||w||^2+C\sum_{i=1}^m\xi_i\\ \;\;\;+\sum_{i=1}^m\alpha_i(1-\xi_i-y_i(w^Tx+b))-\sum_{i=1}^m\mu_i\xi_i
L(w,b,α,ξ,μ)=21∣∣w∣∣2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wTx+b))−i=1∑mμiξi
其中
α
i
≥
0
,
μ
i
≥
0
\alpha_i\geq0,\mu_i\geq0
αi≥0,μi≥0是拉格朗日乘子。
令
L
(
w
,
b
,
α
,
ξ
,
μ
)
L(w,b,\alpha,\xi,\mu)
L(w,b,α,ξ,μ)对
w
,
b
,
ξ
i
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
w = \sum_{i=1}^m\alpha_iy_ix_i,\\ 0 = \sum_{i=1}^m\alpha_iy_i,\\ C = \mu_i+\alpha_i
w=i=1∑mαiyixi,0=i=1∑mαiyi,C=μi+αi
带入原式可得
m
a
α
x
∑
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
,
3
,
.
.
.
,
m
m\underset{\alpha}ax\;\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.\; \sum_{i=1}^m\alpha_iy_i=0\\ 0\leq \alpha_i\leq C,i=1,2,3,...,m
mαaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t.i=1∑mαiyi=00≤αi≤C,i=1,2,3,...,m
同样,对于软间隔支持向量机,要满足,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
\begin{cases} \alpha_i\geq0,\mu_i\geq0,\\ y_if(x_i)-1+\xi_i\geq0\\ \alpha_i(y_if(x_i)-1+\xi_i)=0 \\ \xi_i\geq0,\mu_i\xi_i=0\end{cases}
⎩
⎨
⎧αi≥0,μi≥0,yif(xi)−1+ξi≥0αi(yif(xi)−1+ξi)=0ξi≥0,μiξi=0
2、正则化
我们将
ℓ
0
/
1
\ell_{0/1}
ℓ0/1损失换成别的替代损失函数就会得到不同的学习模型,这些模型的性质与替代函数直接相关,但他们有一个共同的共性就是第一项用来描述划分超平面“间隔”的大小,第二项
∑
i
=
1
m
ℓ
(
f
(
x
1
)
,
y
i
)
\sum_{i=1}^m\ell(f(x_1),y_i)
∑i=1mℓ(f(x1),yi)用来表述训练集上的误差,写为一般形式为
m
i
n
f
Ω
(
f
)
+
C
∑
i
=
1
m
ℓ
(
f
(
x
i
)
,
y
i
)
mi\underset{f}n \;\; \Omega(f)+C\sum_{i=1}^m\ell(f(x_i),y_i)
mifnΩ(f)+Ci=1∑mℓ(f(xi),yi)
Ω
(
f
)
称为结构风险,用于描述模型的某些性质;
\Omega(f)称为结构风险,用于描述模型的某些性质;
Ω(f)称为结构风险,用于描述模型的某些性质;
第二项,
C
∑
i
=
1
m
ℓ
(
f
(
x
i
)
,
y
i
)
称为经验风险,用于描述模型与训练数据的契合性
第二项,C\sum_{i=1}^m\ell(f(x_i),y_i)称为经验风险,用于描述模型与训练数据的契合性
第二项,C∑i=1mℓ(f(xi),yi)称为经验风险,用于描述模型与训练数据的契合性
C
是对二者的折中
C是对二者的折中
C是对二者的折中。
从经验风险最小化的角度来看,
Ω
(
f
)
\Omega(f)
Ω(f)表述我们希望获得具有何种性质的模型;另一方面有利于削减假设空间,从而降低了最小化训练误差的过拟合风险,从这个角度上式称为正则化问题,
Ω
(
f
)
\Omega(f)
Ω(f)称为正则化项,C称为正则化常数。
常用的正则化项 L p L_p Lp范数
- L 2 范数 ∣ ∣ w ∣ ∣ 2 L_2范数||w||_2 L2范数∣∣w∣∣2—— ∑ i n ( w i ) 2 \sqrt{\sum_i^n(w_i)^2} ∑in(wi)2
- L 1 范数 ∣ ∣ w ∣ ∣ 1 L_1范数||w||_1 L1范数∣∣w∣∣1—— ∑ i n ∣ w i ∣ \sum_i^n|w_i| ∑in∣wi∣
- L 0 范数 ∣ ∣ w ∣ ∣ 0 L_0范数||w||_0 L0范数∣∣w∣∣0——向量中非零元素的个数
L 2 范数倾向于 w 的分量取值尽量均衡; L 0 和 L 1 范数倾向于 w 的分量尽量稀疏。 L_2范数倾向于w的分量取值尽量均衡;L_0和L_1范数倾向于w的分量尽量稀疏。 L2范数倾向于w的分量取值尽量均衡;L0和L1范数倾向于w的分量尽量稀疏。