这里写目录标题
1. 简介
支持向量机(support vector machine, svm)是一种二分类模型,它是定义在特征空间上的间隔最大的线性分类器,目的是寻找一个超平面对样本进行划分,其学习的策略是间隔最大化,可转换为求解一个凸二次规划问题,主要有以下三种类型:
- 训练样本线性可分:硬间隔最大化学习一个线性可分svm
- 训练样本近似线性可分:软间隔最大化学习一个线性可分svm
- 训练样本线性不可分:核函数+软间隔最大化学习非线性svm
2. 线性可分支持向量机
对于线性可分的数据集来说,存在无数个超平面可以对数据集进行二分,但几何间隔最大的超平面却是唯一的。
2.1 支持向量与间隔
在样本空间中,划分的超平面可通过一下线性方程来描述:
w
T
x
+
b
=
0
w^{T}x + b = 0
wTx+b=0
w
=
(
w
1
;
w
2
;
.
.
.
;
w
d
)
,
b
w = (w_1;w2;...;w_d), b
w=(w1;w2;...;wd),b为位移项,记该平面为
(
w
,
b
)
(w,b)
(w,b),那么样本空间中,任意点
x
x
x到超平面
(
w
,
b
)
(w,b)
(w,b)的距离为
r
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
r = \frac{|w^Tx + b|}{||w||}
r=∣∣w∣∣∣wTx+b∣
假设超平面
(
w
,
b
)
(w,b)
(w,b)n能将训练样本正确分类,即若
w
T
x
i
+
b
>
0
w^Tx_i+b>0
wTxi+b>0时,有
y
i
=
+
1
y_i = +1
yi=+1,若
w
T
x
i
+
b
<
0
w^Tx_i+b<0
wTxi+b<0,有
y
i
=
−
1
y_i = -1
yi=−1,
针对所有训练数据,svm希望
w
T
x
+
+
b
≥
1
w
T
x
−
+
b
≤
−
1
\begin{aligned} w^Tx_++b &\ge1\\ w^Tx_-+b &\le -1 \end{aligned}
wTx++bwTx−+b≥1≤−1
这里体现了最大分类间隔的思想, ± 1 \pm1 ±1是为了方便计算,无论间隔多少,都可以通过缩放将其转换为上式。[2]
2.2 目标函数
那么,为了找到具有最大间隔的划分超平面,需要解决满足以下两个关系的最优解,即
{
m
a
x
w
,
b
2
∣
∣
w
∣
∣
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
\begin{cases} \underset{w,b}{max}\frac{2}{||w||}\\ y_i(w^Tx_i+b) \ge 1, i = 1,2,...,m\\ \end{cases}
⎩⎨⎧w,bmax∣∣w∣∣2yi(wTxi+b)≥1,i=1,2,...,m
等价于
{
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
\begin{cases} \underset{w,b}{min}\frac{1}{2}||w||^2 \\ y_i(w^Tx_i+b) \ge 1, i = 1,2,...,m\\ \end{cases}
⎩⎨⎧w,bmin21∣∣w∣∣2yi(wTxi+b)≥1,i=1,2,...,m
2.3 对偶问题
我们希望通过求解
{
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
\begin{cases} \underset{w,b}{min}\frac{1}{2}||w||^2 \\ y_i(w^Tx_i+b) \ge 1, i = 1,2,...,m\\ \end{cases}
⎩⎨⎧w,bmin21∣∣w∣∣2yi(wTxi+b)≥1,i=1,2,...,m
得到最大间隔划分平面所对应的模型
f
(
x
)
=
w
T
x
+
b
f(x) = w^Tx+b
f(x)=wTx+b, 这是一个凸二次规划问题。
对上式使用拉格朗日乘子法可以将其转换为其对偶问题
拉格朗日函数对偶问题
主问题:
m i n x f ( x ) s . t . g i ( x ) ≤ 0 h j ( x ) = 0 \begin{aligned} \underset{x}{min} &f(x) \\ s.t. g_i(x) &\le 0 \\ h_j(x) &=0 \end{aligned} xmins.t.gi(x)hj(x)f(x)≤0=0
其拉格朗日函数为:
L ( x , α , β ) = f ( x ) + ∑ i = 1 m α i h i ( x ) + ∑ j = 1 n β j g j ( x ) L(x,\alpha,\beta) = f(x) + \sum_{i=1}^m\alpha_ih_i(x)+\sum_{j=1}^n\beta_jg_j(x) L(x,α,β)=f(x)+i=1∑mαihi(x)+j=1∑nβjgj(x)
其中, β j ≥ 0 \beta_j\ge0 βj≥0
主问题的等价问题:
m i n x m a x α ; β L ( x , α , β ) s . t . β j ≥ 0 \begin{aligned} \underset{x}{min} &\underset{\alpha;\beta}{max} L(x,\alpha,\beta)\\ &s.t.\beta_j \ge0 \end{aligned} xminα;βmaxL(x,α,β)s.t.βj≥0
证明:由于主问题满足等式约束,因此,拉格朗日函数的第二项为0,第三项的系数 β j ≥ 0 \beta_j\ge0 βj≥0,因此有 ∑ j = 1 n β j g j ( x ) ≤ 0 \sum_{j=1}^n\beta_jg_j(x) \le0 ∑j=1nβjgj(x)≤0, 对于拉格朗日函数而言,第三项为0时,拉格朗日函数取到最大值,即
f ( x ) = m a x α i ; β j ≥ 0 L ( x , α , β ) f(x) = \underset{\alpha_i;\beta_j \ge0}{max} L(x,\alpha,\beta) f(x)=αi;βj≥0maxL(x,α,β)
那么,得到主问题的对偶问题 m i n f ( x ) = m i n x m a x α i ; β j ≥ 0 L ( x , α , β ) min f(x) = \underset{x}{min} \underset{\alpha_i;\beta_j \ge0}{max} L(x,\alpha,\beta) minf(x)=xminαi;βj≥0maxL(x,α,β)
对偶问题:
m a x α ; β m i n x L ( x , α , β ) s . t . β j ≥ 0 \begin{aligned} \underset{\alpha;\beta}{max} &\underset{x}{min} L(x,\alpha,\beta) \\ &s.t.\beta_j \ge0 \end{aligned} α;βmaxxminL(x,α,β)s.t.βj≥0
对偶问题是原始问题的下界,即 m a x α ; β m i n x L ( x , α , β ) ≤ m i n x m a x α ; β L ( x , α , β ) \underset{\alpha;\beta}{max} \underset{x}{min} L(x,\alpha,\beta) \le \underset{x}{min} \underset{\alpha;\beta}{max} L(x,\alpha,\beta) α;βmaxxminL(x,α,β)≤xminα;βmaxL(x,α,β), 证明:
参考:从放弃到再入门之拉格朗日对偶问题推导
对偶函数与原始问题的形式非常类似,只是把min和max交换了一下
记原始问题的解为 p ∗ p^{*} p∗,对偶问题的解为 d ∗ d^{*} d∗,对偶问题和原始问题的最优解并不相等,如果 p ∗ ≤ d ∗ p^{*} \le d^{*} p∗≤d∗,则称满足弱对偶性,如果 p ∗ = d ∗ p^{*} =d^{*} p∗=d∗,称满足强对偶性。
强对偶是一个非常好的性质,在强对偶成立的情况下,可以通过求解对偶问题来得到原始问题的解。但需要满足KKT条件:
{ 1. ∇ L ( x , α , β ) = 0 , i = 1 , 2 , . . . , m 2. g i ( x ) ≤ 0 3. h j ( x ) = 0 4. β i ≥ 0 5. β i g i ( x ) = 0 \begin{cases} 1. \nabla L(x,\alpha,\beta) = 0,i = 1,2,...,m\\ 2. g_i(x) \le 0 \\ 3. h_j(x) =0 \\ 4. \beta_i \ge 0 \\ 5. \beta_ig_i(x) = 0 \\ \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧1.∇L(x,α,β)=0,i=1,2,...,m2.gi(x)≤03.hj(x)=04.βi≥05.βigi(x)=0
关于kkt条件,可以参考:真正理解拉格朗日乘子法和kkt条件
对于SVM而言,其拉格朗日函数可以写为:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
L(w,b,\alpha) = \frac{1}{2}||w||^2 + \sum_{i=1}^m\alpha_i(1 - y_i(w^Tx_i+b))
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))
令
L
(
w
,
b
,
α
)
L(w,b,\alpha)
L(w,b,α)对
w
w
w和
b
b
b求导为0,可得:
w
=
∑
i
=
1
m
α
i
y
i
x
i
0
=
∑
i
=
1
m
α
i
y
i
w = \sum_{i=1}^m \alpha_iy_ix_i \\ 0 = \sum_{i=1}^m \alpha_iy_i
w=i=1∑mαiyixi0=i=1∑mαiyi
带回拉格朗日函数,得到
m
i
n
w
,
b
L
(
w
,
b
,
α
)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
\underset{w,b}{min} L(w,b,\alpha) = \sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j x_i^Tx_j
w,bminL(w,b,α)=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
对偶问题为求
m
i
n
w
,
b
L
(
w
,
b
,
α
)
\underset{w,b}{min} L(w,b,\alpha)
w,bminL(w,b,α)的极大值,即
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
a
i
y
i
=
0
α
i
≥
0
\begin{aligned} \underset{\alpha}{max} &\sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j x_i^Tx_j \\ s.t. &\sum_{i=1}^m a_iy_i = 0 \\ & \alpha_i \ge 0 \end{aligned}
αmaxs.t.i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxji=1∑maiyi=0αi≥0
由于还存在不等式约束,因此还需要满足KKT条件:
{
α
i
≥
0
1
−
y
i
f
(
x
i
)
≤
0
α
i
(
1
−
y
i
f
(
x
i
)
)
=
0
\begin{cases} \alpha_i \ge 0 \\ 1 - y_if(x_i) \le 0 \\ \alpha_i(1 - y_if(x_i)) = 0 \end{cases}
⎩⎪⎨⎪⎧αi≥01−yif(xi)≤0αi(1−yif(xi))=0
得到的超平面方程为:
f
(
x
)
=
w
T
x
+
b
=
∑
i
=
1
m
α
i
y
i
x
i
T
x
i
+
b
f(x) = w^Tx+b=\sum_{i=1}^m\alpha_iy_ix_i^Tx_i+b
f(x)=wTx+b=i=1∑mαiyixiTxi+b
观察KKT条件,对于任意样本 ( x i , y i ) (x_i,y_i) (xi,yi),总有 α i = 0 \alpha_i = 0 αi=0或 y i f ( x i ) = 1 y_if(x_i) = 1 yif(xi)=1
- 若 α i = 0 \alpha_i = 0 αi=0, 该样本在超平面方程的求和项中为0,对f(x)无影响
- 若 α i > 0 \alpha_i > 0 αi>0,则 y i f ( x i ) = 1 y_if(x_i) = 1 yif(xi)=1,则该样本为支持向量
这里显示了支持向量的重要性质,大部分的训练样本都不需要保留最终的模型仅与支持向量有关
2.3 实例求解
3. 线性不可分支持向量机
在现实任务中,原始样本空间也许并不存在一个划分超平面能将样本正确分类,如下图:
对于这样的问题,SVM升维的方法,其主要基于:在低维空间中线性不可分的数据集,通过特征映射
Φ
\Phi
Φ映射到到高维的空间中,将会以更高的概率可以线性划分。
以上图的“异或”问题为例,空间中的四个样本点
x
1
=
[
0
0
]
∈
C
1
,
x
2
=
[
1
1
]
∈
C
1
x
3
=
[
1
0
]
∈
C
2
,
x
4
=
[
0
1
]
∈
C
2
x_1 = \begin{bmatrix} 0 \\ 0 \end{bmatrix} \in C_1, x_2 = \begin{bmatrix} 1\\ 1 \end{bmatrix} \in C_1 \\ x_3 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} \in C_2, x_4 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} \in C_2 \\
x1=[00]∈C1,x2=[11]∈C1x3=[10]∈C2,x4=[01]∈C2
定义变换
Φ
(
x
)
:
x
=
[
a
b
]
→
Φ
(
x
)
=
[
a
a
b
b
]
\Phi(x): x = \begin{bmatrix} a \\ b \end{bmatrix} \to \Phi(x) = \begin{bmatrix} a \\ ab \\b \end{bmatrix}
Φ(x):x=[ab]→Φ(x)=⎣⎡aabb⎦⎤
变换后,得到的4个点为(0,0,0),(1,1,1),(1,0,0),(0,0,1),点在空间中的位置如上面的右图,变换后,可以找到一个平面将两类样本进行正确划分。
由于特征空间的维度可能很高,甚至是无穷维,直接进行计算通常会有困难。我们可以不知道无限维映射
Φ
(
x
)
\Phi(x)
Φ(x)的显示表达式,我们只要知道一个核函数
κ
(
x
1
,
x
2
)
=
Φ
(
x
1
)
T
Φ
(
x
2
)
\kappa(x_1,x_2) = \Phi (x_1)^T \Phi (x_2)
κ(x1,x2)=Φ(x1)TΦ(x2)
即
Φ
(
x
1
)
\Phi(x_1)
Φ(x1)和
Φ
(
x
2
)
\Phi(x_2)
Φ(x2)的内积,那么核函数
κ
(
x
1
,
x
2
)
\kappa(x_1,x_2)
κ(x1,x2)将会得到一个常数
为了对核函数有一个更深入的理解,看李航的《统计学习方法》的这个例题:
要注意,核函数和映射没有关系,核函数只是用来计算映射到高维空间之后内积的结果。通常我们不知道高维映射
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅)的具体形式,那么合适的核函数是否一定存在呢。Scholkopf and Smola证明了以下定理:
常用的核函数:
RBF的推导可以参考:透彻形象理解核函数
对于svm,优化函数变为:
{
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
y
i
(
w
T
Φ
(
x
i
+
b
)
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
m
\begin{cases} \underset{w,b}{min}\frac{1}{2}||w||^2 \\ y_i(w^T\Phi(x_i+b)) \ge 1, i = 1,2,...,m\\ \end{cases}
⎩⎨⎧w,bmin21∣∣w∣∣2yi(wTΦ(xi+b))≥1,i=1,2,...,m
对偶问题变为:
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
a
i
y
i
=
0
α
i
≥
0
\begin{aligned} \underset{\alpha}{max} &\sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \Phi(x_i)^T\Phi(x_j) \\ s.t. &\sum_{i=1}^m a_iy_i = 0 \\ & \alpha_i \ge 0 \end{aligned}
αmaxs.t.i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjΦ(xi)TΦ(xj)i=1∑maiyi=0αi≥0
对偶问题等价于
m
a
x
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
κ
(
x
1
,
x
2
)
s
.
t
.
∑
i
=
1
m
a
i
y
i
=
0
α
i
≥
0
\begin{aligned} \underset{\alpha}{max} &\sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \kappa(x_1,x_2) \\ s.t. &\sum_{i=1}^m a_iy_i = 0 \\ & \alpha_i \ge 0 \end{aligned}
αmaxs.t.i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjκ(x1,x2)i=1∑maiyi=0αi≥0
对应的超平面为
f
(
x
)
=
w
T
x
+
b
=
∑
i
=
1
m
α
i
y
i
Φ
(
x
i
)
T
Φ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
κ
(
x
i
,
x
)
+
b
\begin{aligned} f(x) &= w^Tx+b \\ &=\sum_{i=1}^m\alpha_iy_i\Phi(x_i)^T\Phi(x)+b \\ &= \sum_{i=1}^m\alpha_iy_i\kappa(x_i,x)+b \end{aligned}
f(x)=wTx+b=i=1∑mαiyiΦ(xi)TΦ(x)+b=i=1∑mαiyiκ(xi,x)+b
4. 软间隔支持向量机与松弛变量
4.1 目标函数
以上的讨论是基于存在一个超平面能将原始空间或升维后的特征空间准确划分成两类,但将训练样本精确分类并不是一件十全十美的事情,因为这样的模型可能鲁棒性并不高,可能还有会过拟合的风险,因此,我们引入“软间隔”和“松弛向量”的概念,允许出现一定的误差,来避免上述情况。
如上图,正负样本并没有被两条虚线完全分开,从数学上来说,存在部分样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)满足
y
i
(
w
T
x
i
+
b
)
≤
1
y_i(w^Tx_i+b) \le 1
yi(wTxi+b)≤1, 将原来的条件放宽,降低模型的过拟合风险。
我们引入松弛变量
ξ
i
\xi_i
ξi,使得上述关系变为
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
y_i(w^Tx_i+b) \ge 1 - \xi_i
yi(wTxi+b)≥1−ξi
我们也不希望
ξ
i
\xi_i
ξi过大,因此我们需要解决的优化问题变为
{
m
i
n
w
,
b
,
ξ
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
ξ
i
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
i
=
1
,
2
,
.
.
.
,
m
ξ
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
\begin{cases} \underset{w,b,\xi}{min}\frac{1}{2}||w||^2 + C\sum_{i=1}^n\xi_i\\ y_i(w^Tx_i+b) \ge 1 - \xi_i, i = 1,2,...,m\\ \xi_i \ge 0,i = 1,2,...,m \end{cases}
⎩⎪⎪⎨⎪⎪⎧w,b,ξmin21∣∣w∣∣2+C∑i=1nξiyi(wTxi+b)≥1−ξi,i=1,2,...,mξi≥0,i=1,2,...,m
对应求解
m
i
n
w
,
b
,
ξ
m
a
x
α
,
μ
L
(
w
,
a
,
b
,
ξ
,
μ
)
\underset{w,b,\xi}{min} \underset{\alpha,\mu}{max} L(w,a,b,\xi,\mu)
w,b,ξminα,μmaxL(w,a,b,ξ,μ)
在满足KKT的条件下求解其对偶问题
m
a
x
α
,
μ
m
i
n
w
,
b
,
ξ
L
(
w
,
a
,
b
,
ξ
,
μ
)
\underset{\alpha,\mu}{max} \underset{w,b,\xi}{min} L(w,a,b,\xi,\mu)
α,μmaxw,b,ξminL(w,a,b,ξ,μ)
其中,拉格朗日函数
L
(
w
,
a
,
b
,
ξ
,
μ
)
=
∣
∣
w
∣
∣
2
2
+
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,a,b,\xi,\mu) = \frac{||w||^2}{2} + C\sum_{i=1}^n\xi_i +\sum_{i=1}^n\alpha_i(1-\xi_i-y_i(w^Tx_i+b)) + \sum_{i=1}^n\mu_i\xi_i
L(w,a,b,ξ,μ)=2∣∣w∣∣2+Ci=1∑nξi+i=1∑nαi(1−ξi−yi(wTxi+b))+i=1∑nμiξi
KKT条件为:
{
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
≤
0
−
ξ
i
≤
0
α
i
(
1
−
ξ
i
−
y
i
(
w
T
x
i
+
b
)
)
=
0
α
i
≥
0
μ
i
≥
0
\begin{cases} 1 - \xi_i - y_i(w^Tx_i+b) \le 0 \\ - \xi_i \le 0\\ \alpha_i(1-\xi_i-y_i(w^Tx_i+b)) = 0 \\ \alpha_i \ge 0 \\ \mu_i \ge 0 \end{cases}
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧1−ξi−yi(wTxi+b)≤0−ξi≤0αi(1−ξi−yi(wTxi+b))=0αi≥0μi≥0
4.2 目标求解
为求
m
i
n
w
,
b
,
ξ
L
(
w
,
a
,
b
,
ξ
,
μ
)
\underset{w,b,\xi}{min} L(w,a,b,\xi,\mu)
w,b,ξminL(w,a,b,ξ,μ),对拉格朗日函数求梯度,并令其为0,得到
∂
L
∂
w
=
w
−
∑
i
=
1
n
α
i
y
i
x
i
=
0
⟹
w
=
∑
i
=
1
n
α
i
y
i
x
i
∂
L
∂
b
=
−
∑
i
=
1
n
α
i
y
i
=
0
⟹
∑
i
=
1
n
α
i
y
i
=
0
∂
L
∂
ξ
i
=
C
−
α
i
−
μ
i
=
0
⟹
C
=
α
i
+
μ
i
\begin{aligned} \frac{\partial L}{\partial w} &= w - \sum_{i=1}^n\alpha_iy_ix_i = 0 \implies w = \sum_{i=1}^n\alpha_iy_ix_i \\ \frac{\partial L}{\partial b} &= - \sum_{i=1}^n\alpha_iy_i= 0 \implies \sum_{i=1}^n\alpha_iy_i= 0 \\ \frac{\partial L}{\partial \xi_i} &= C - \alpha_i - \mu_i =0 \implies C = \alpha_i +\mu_i \end{aligned}
∂w∂L∂b∂L∂ξi∂L=w−i=1∑nαiyixi=0⟹w=i=1∑nαiyixi=−i=1∑nαiyi=0⟹i=1∑nαiyi=0=C−αi−μi=0⟹C=αi+μi
拉格朗日函数的最小值和硬间隔时一样
m
i
n
w
,
b
,
ξ
L
(
w
,
α
,
b
,
ξ
,
μ
)
=
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
\underset{w,b,\xi}{min} L(w,\alpha,b,\xi,\mu) = \sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j x_i^Tx_j
w,b,ξminL(w,α,b,ξ,μ)=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
所以对偶问题为
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
a
i
y
i
=
0
0
≤
α
i
≤
C
\begin{aligned} \underset{\alpha,\mu}{max} & \sum_{i=1}^m \alpha_i - \frac12 \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j x_i^Tx_j\\ s.t. &\sum_{i=1}^m a_iy_i = 0 \\ &0 \le \alpha_i \le C \end{aligned}
α,μmaxs.t.i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxji=1∑maiyi=00≤αi≤C
因为
α
i
≥
0
\alpha_i \ge 0
αi≥0并且
C
=
α
i
+
μ
i
C=\alpha_i+\mu_i
C=αi+μi,此时再去用二次规划的方法求解。
5. 总结
5.1 优缺点
在集成学习和神经网络表现出其优势以前,svm在分类算法中几乎占据着统治地位,现在也是经典的分类算法,主要有以下优缺点:
- 优点
- svm将原始空间映射到更高维空间,利用核函数简化计算,灵活有效解决了非线性可分数据的分类问题
- 分类思想简单,模型可解释性强,分类效果好,泛化能力强
- 仅依赖于少数支持向量,无需依赖所有样本数据
- 无局部极小值问题
- 缺点
- 由于svm部分参数的求解与样本量有关,在处理大规模数据没有优势
- 对核函数的选择没有通用的方法,有时候不一能选取到合适的核函数
- 常规SVM只能解决二分类问题
- 对缺失值和参数选择敏感
5.1 与其他分类算法的对比
[1]周志华的西瓜书
[2] 学习SVM(二) 如何理解支持向量机的最大分类间隔
[3] 拉格朗日对偶问题
[4]拉格朗日乘子法 - KKT条件 - 对偶问题
[5] 机器学习算法整理(七)支持向量机以及SMO算法实现
[6]软间隔SVM与核函数
[7]支持向量机总结