6.支持向量机(SVM)
- 对于线性可分来说,使用线性函数的超平面
- 在高维特征空间中——核函数
- 用最优化理论的学习算法——拉格朗日训练
- 实现了从统计学习理论派生的学习偏差——泛化支持向量机是从Vapnik和Chervonenkis的统计学习理论派生的分类器
6.1 间隔与支持向量
-
超平面方程
w T x + b = 0 \bf{w}\rm{^T}\bf{x}\rm{+b=0} wTx+b=0
w = ( w 1 w 2 . . . w d ) w=\begin{pmatrix} w_1 \\ w_2 \\...\\w_d \end{pmatrix} w= w1w2...wd -
支持向量
- 训练数据离超平面最近的向量
-
最优分类超平面
- 一个超平面,如果它能将训练样本没有错误地分开,并且两类训练样本中离超平面最近的样本与超平面之间的距离是最大的
-
分类间隔
- 两类样本中离分类面最近的样本到分类面的距离
-
间隔
- 距离分类超平面最近的上下两面的距离
-
将训练样本分开的超平面可能有很多,哪一个更好呢?——SVM所要讨论的问题
- “正中间”的:鲁棒性最好,泛化能力最强
最大间隔:寻找参数
w
和
b
\bf{w}\rm{和b}
w和b
使得
γ
\gamma
γ
最大
a
r
g
max
w
,
b
2
∣
∣
w
∣
∣
s
.
t
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2...
,
m
arg\,\,\max_{\bf{w}\rm{,b}}\frac{2}{||\bf{w}||}\\ s.t\quad y_i(\bf{w}\rm{^T}\bf{x}\rm{_i+b})\geq1,i=1,2...,m
argw,bmax∣∣w∣∣2s.tyi(wTxi+b)≥1,i=1,2...,m
为了最大化间隔
仅需
1
∣
∣
w
∣
∣
最大化
,
也就是
∣
∣
w
∣
∣
最小化
仅需\frac{1}{||\bf{w}||}最大化,也就是||\bf{w}||\rm{最小化}
仅需∣∣w∣∣1最大化,也就是∣∣w∣∣最小化
可以等价于最小化
∣
∣
w
∣
∣
2
||\bf{w}||^2
∣∣w∣∣2
即:
a
r
g
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2...
,
m
arg\,\,\min_{\bf{w}\rm{,b}}\frac{1}{2}||\bf{w}||^2\quad\quad\quad s.t\quad y_i(\bf{w}\rm{^T}\bf{x}\rm{_i+b})\geq1,i=1,2...,m
argw,bmin21∣∣w∣∣2s.tyi(wTxi+b)≥1,i=1,2...,m
这是一个凸二次规划问题,需要用到拉格朗日对偶法,假定这里已经求出最优解
w
∗
和
b
∗
w^*和b^*
w∗和b∗
由此可以得到分类超平面
w
∗
T
x
+
b
∗
=
0
\bf{w^*}\rm{^T}\bf{x}\rm{+b^*=0}
w∗Tx+b∗=0
分类决策函数
f
(
x
)
=
s
i
g
n
(
w
∗
T
x
+
b
∗
)
f(x)=sign(\bf{w^*}\rm{^T}\bf{x}\rm{+b^*})
f(x)=sign(w∗Tx+b∗)
- 例子,已知一组训练数据集
正例点 : x 1 = ( 3 , 3 ) T , x 2 = ( 4 , 3 ) T 负例点 : x 3 = ( 1 , 1 ) T 正例点:x_1=(3,3)^T,x_2=(4,3)^T\\ 负例点:x_3=(1,1)^T 正例点:x1=(3,3)T,x2=(4,3)T负例点:x3=(1,1)T
6.2 对偶问题
-
第一步:引入拉格朗日乘子
α i ≥ 0 \alpha_i\geq0 αi≥0
得到拉格朗日函数
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)) -
第二步:对w和b求偏导
-
第三步,代回
-
最终可得到
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 , α i ≥ 0 , i = 1 , 2... , m \max_\alpha\quad \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.\quad \sum_{i=1}^m\alpha_iy_i=0,\alpha_i\geq0,i=1,2...,m αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t.i=1∑mαiyi=0,αi≥0,i=1,2...,m -
最终模型
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b f(x)=w^Tx+b=\sum_{i=1}^m\alpha_iy_ix_i^Tx+b f(x)=wTx+b=i=1∑mαiyixiTx+b -
KKT条件
{ α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = 0 \begin{cases} \alpha_i\geq0;\\ y_if(x_i)-1\geq0;\\ \alpha_i(y_if(x_i)-1)=0 \end{cases} ⎩ ⎨ ⎧αi≥0;yif(xi)−1≥0;αi(yif(xi)−1)=0
即
α i = 0 或 y i f ( x i ) = 1 \alpha_i=0或y_if(x_i)=1 αi=0或yif(xi)=1 -
求解方法(SMO)
-
基本思路:不断执行如下两个步骤直至收敛
-
第一步:选取一对需更新的变量
α i 和 α j \alpha_i和\alpha_j αi和αj -
第二步:固定
α i 和 α j \alpha_i和\alpha_j αi和αj
以外的参数,求解对偶问题更新
α i 和 α j \alpha_i和\alpha_j αi和αj
-
-
仅考虑
α
i
和
α
j
\alpha_i和\alpha_j
αi和αj
时,对偶问题的约束
0
=
∑
i
=
1
m
α
i
y
i
0=\sum_{i=1}^m\alpha_iy_i
0=i=1∑mαiyi
变为
α
i
y
i
+
α
j
y
j
=
c
,
α
i
≥
0
,
α
j
≥
0
\alpha_iy_i+\alpha_jy_j=c,\alpha_i\geq0,\alpha_j\geq0
αiyi+αjyj=c,αi≥0,αj≥0
用
α
i
\alpha_i
αi
表示
α
j
\alpha_j
αj
代入对偶问题
max
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
\max_{\alpha}\quad \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−21i=1∑mj=1∑mαiαjyiyjxiTxj
对任意支持向量
(
x
s
,
y
s
)
(x_s,y_s)
(xs,ys)
有
y
s
f
(
x
s
)
=
1
y_sf(x_s)=1
ysf(xs)=1
由此可解出b
为提高鲁棒性,通常使用支持向量求解的平均值
6.3 核函数
若不存在一个能正确划分两类样本的超平面,
就需要将样本从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分
如果原始空间是有限维
(
属性数有限
)
,那么一定存在一个高维特征空间使样本线性可分
\color{red}{如果原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分 }
如果原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分
设样本x映射后的向量为
ϕ
(
x
)
\phi(x)
ϕ(x)
划分超平面为
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
f(x)=w^T\phi(x)+b
f(x)=wTϕ(x)+b
-
原始问题
a r g min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t y i ( w T x i + b ) ≥ 1 , i = 1 , 2... , m arg\,\,\min_{\bf{w}\rm{,b}}\frac{1}{2}||\bf{w}||^2\\ s.t\quad y_i(\bf{w}\rm{^T}\bf{x}\rm{_i+b})\geq1,i=1,2...,m argw,bmin21∣∣w∣∣2s.tyi(wTxi+b)≥1,i=1,2...,m -
对偶问题
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 , α i ≥ 0 , i = 1 , 2... , m \max_\alpha\quad \sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\phi(x_i)^T\phi(x_j)\\ s.t.\quad \sum_{i=1}^m\alpha_iy_i=0,\alpha_i\geq0,i=1,2...,m αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjϕ(xi)Tϕ(xj)s.t.i=1∑mαiyi=0,αi≥0,i=1,2...,m -
预测
f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T x + b f(x)=w^T\phi(x)+b=\sum_{i=1}^m\alpha_iy_i\phi(x_i)^Tx+b f(x)=wTϕ(x)+b=i=1∑mαiyiϕ(xi)Tx+b -
基本思路:涉及核函数
κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa(x_i,x_j)=\phi(x_i)^T\phi(x_j) κ(xi,xj)=ϕ(xi)Tϕ(xj)
绕过显式考虑特征映射、以及计算高维内积的困难
- Mercer定理:若一个对称函数所对应的核矩阵半正定,则它就能作为核函数来使用
- 任何一个核函数,都隐式地定义了一个RKHS(再生核希尔伯特空间)
- “核函数选择”成为决定支持向量机性能的关键。
6.4 软间隔与正则化
-
软间隔
- 允许某些样本不满足约束
KaTeX parse error: Undefined control sequence: \mit at position 12: y_i(\bf{w}\̲m̲i̲t̲{^T}\bf{x}\rm{_…
- 允许某些样本不满足约束
-
硬间隔
- 所有样本都必须划分正确
-
优化目标可写为
6.5 支持向量回归
- 基本思路:允许模型输出于实际输出间存在
2 ϵ 2\epsilon 2ϵ
落入
2
ϵ
2\epsilon
2ϵ
间隔带的样本不计算损失
-
原始问题
-
对偶问题
-
预测
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x + b f(x)=\sum_{i=1}^m(\hat \alpha_i-\alpha_i)x_i^Tx+b f(x)=i=1∑m(α^i−αi)xiTx+b
6.6 核方法
令
H
\mathbb{H}
H
为核函数k对应的再生核希尔伯特空间
∣
∣
h
∣
∣
H
||h||_{\mathbb{H}}
∣∣h∣∣H
表示空间中h的范数,对于任意单调递增函数
Ω
:
[
0
,
∞
]
−
>
R
\Omega:[0,\infty]->\mathbb{R}
Ω:[0,∞]−>R
和任意非负损失函数l
R
m
−
>
[
0
,
∞
]
\mathbb{R}^m->[0,\infty]
Rm−>[0,∞]