机器学习第六章:支持向量机
算法原理:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。
n维空间的超平面( w T x + b = 0 w^{T}x+b=0 wTx+b=0,其中 w , x ∈ R n w,x\in R^{n} w,x∈Rn)
- 超平面方程不唯一
- 法向量 w w w和位移项 b b b确定一个唯一超平面
- 法向量 w w w垂直于超平面(缩放 w , b w,b w,b时,若缩放倍数为负数会改变法向量方向)
- 法向量 w w w指向的那一半空间为正空间,另一半为负空间
- 任意一点到超平面的距离为: r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\dfrac{|w^{T}x+b|}{||w||} r=∣∣w∣∣∣wTx+b∣
几何间隔:对于给定的数据集X和超平面
w
T
x
+
b
=
0
w^{T}x+b=0
wTx+b=0,定义数据集X中任意一个样本点
(
x
i
,
y
i
)
,
y
i
=
{
−
1
,
1
}
,
i
=
1
,
2
,
.
.
.
,
m
(x_{i},y_{i}),y_{i}=\{-1,1\},i=1,2,...,m
(xi,yi),yi={−1,1},i=1,2,...,m,关于超平面的几何间隔为:
γ
i
=
y
i
(
w
T
x
i
+
b
)
∣
∣
w
∣
∣
\gamma_{i}=\dfrac{y_{i}(w^{T}x_{i}+b)}{||w||}
γi=∣∣w∣∣yi(wTxi+b)
正确分类时:
γ
i
>
0
\gamma_{i}>0
γi>0,几何间隔也就等价于点到超平面的距离;
没有正确分类时:
γ
i
<
0
\gamma_{i}<0
γi<0;
对于给定的数据集X和超平面 w T x + b = 0 w^{T}x+b=0 wTx+b=0,定义数据集X关于超平面的几何间隔为数据集X中所有样本点的几何间隔最小值 γ = m i n i = 1 , 2 , . . . , m γ i \gamma=min_{i=1,2,...,m}\gamma_{i} γ=mini=1,2,...,mγi
支持向量机
模型:给定线性可分的数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔
γ
\gamma
γ达到最大的那个超平面,然后套上一个sign函数实现分类功能:
y
=
s
i
g
n
(
w
T
x
+
b
)
=
{
1
,
w
T
x
+
b
>
0
−
1
,
w
T
x
+
b
<
0
y=sign(w^{T}x+b)={1,wTx+b>0−1,wTx+b<0
几何间隔最大的超平面一定就是那个距离正负样本都最远的超平面;
因为:
- 当超平面没有正确划分正负样本时,几何间隔最小的为误分类点,因此 γ < 0 \gamma<0 γ<0
- 当超平面正确划分超平面时, γ ≥ 0 \gamma\geq0 γ≥0,且越靠近* γ \gamma γ越大
策略:给定线性可分数据集X,设X中几何间隔最小的样本为(
x
m
i
n
,
y
m
i
n
x_{min},y_{min}
xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题:
max
γ
s
.
t
.
γ
i
≥
γ
,
i
=
1
,
2
,
.
.
.
,
m
\max\ \gamma\\ .\quad \gamma_{i}\geq\gamma,\ i=1,2,...,m\\
max γs.t.γi≥γ, i=1,2,...,m
max
w
,
b
y
m
i
n
(
w
T
x
m
i
n
+
b
)
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
+
b
)
∣
∣
w
∣
∣
≥
y
m
i
n
(
w
T
x
m
i
n
+
b
)
∣
∣
w
∣
∣
,
i
=
1
,
2
,
.
.
.
,
m
\max_{w,b}\quad \dfrac{y_{min(w^{T}x_{min}+b)}}{||w||}\\ .\quad \dfrac{y_{i}(w^{T}x+b)}{||w||}\geq\dfrac{y_{min}(w^{T}x_{min}+b)}{||w||},\ i=1,2,...,m\\
w,bmax∣∣w∣∣ymin(wTxmin+b)s.t.∣∣w∣∣yi(wTx+b)≥∣∣w∣∣ymin(wTxmin+b), i=1,2,...,m
max
w
,
b
y
m
i
n
(
w
T
x
m
i
n
+
b
)
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
+
b
)
≥
y
m
i
n
(
w
T
x
m
i
n
+
b
)
,
i
=
1
,
2
,
.
.
.
,
m
\max_{w,b}\quad \dfrac{y_{min(w^{T}x_{min}+b)}}{||w||}\\ .\quad y_{i}(w^{T}x+b)\geq y_{min}(w^{T}x_{min}+b),\ i=1,2,...,m\\
w,bmax∣∣w∣∣ymin(wTxmin+b)s.t.yi(wTx+b)≥ymin(wTxmin+b), i=1,2,...,m
假设该问题的最优解为(
w
∗
,
b
∗
w^{*},b^{*}
w∗,b∗),那么(
α
w
∗
,
α
b
∗
\alpha w^{*},\alpha b^{*}
αw∗,αb∗),
α
∈
R
+
\alpha \in R^{+}
α∈R+也是最优解,且超平面也不变;
所以还需要对
w
,
b
w,b
w,b做一定的限制才能使上述问题有可解的唯一解;
不妨令
y
m
i
n
(
w
T
x
m
i
n
+
b
)
=
1
y_{min}(w^{T}x_{min}+b)=1
ymin(wTxmin+b)=1,因此对于特定的
(
x
m
i
n
,
y
m
i
n
)
(x_{min},y_{min})
(xmin,ymin)来说,能使
y
m
i
n
(
w
T
x
m
i
n
+
b
)
=
1
y_{min}(w^{T}x_{min}+b)=1
ymin(wTxmin+b)=1的
α
\alpha
α有且仅有一个;
上述问题进一步转化为:
max
w
,
b
1
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2...
,
m
\max_{w,b}\quad \dfrac{1}{||w||}\\ .\quad y_{i}(w^{T}x_{i}+b)\geq 1,\ i=1,2...,m
w,bmax∣∣w∣∣1s.t.yi(wTxi+b)≥1, i=1,2...,m
为方便计算,再次转换为:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
,
i
=
1
,
2...
,
m
\min_{w,b}\quad \dfrac{1}{2}||w||^{2}\\ .\quad 1-y_{i}(w^{T}x_{i}+b)\leq 0,\ i=1,2...,m
w,bmin21∣∣w∣∣2s.t.1−yi(wTxi+b)≤0, i=1,2...,m
支持向量机通常采用拉格朗日对偶来求解。
定义上述函数的拉格朗日对偶函数
Γ
(
μ
,
λ
)
\Gamma(\mu,\lambda)
Γ(μ,λ)为
L
(
x
,
μ
,
λ
)
L(x,\mu,\lambda)
L(x,μ,λ)关于x的下确界,即:
Γ
(
μ
,
λ
)
=
inf
x
∈
D
(
f
(
x
)
+
∑
i
=
1
m
μ
i
g
i
(
x
)
)
+
∑
j
=
1
n
λ
j
h
j
(
x
)
\Gamma(\mu,\lambda)=\inf_{x\in D}(f(x)+\sum_{i=1}^m\mu_{i}g_{i}(x))+\sum_{j=1}^{n}\lambda_{j}h_{j}(x)
Γ(μ,λ)=x∈Dinf(f(x)+i=1∑mμigi(x))+j=1∑nλjhj(x)
对偶函数
Γ
(
μ
,
λ
)
\Gamma(\mu,\lambda)
Γ(μ,λ)具有的性质:
- 无论上述优化问题是否为凸优化问题,其对偶函数恒为以凹函数;
- 当 μ ≥ 0 \mu\geq 0 μ≥0时, Γ ( μ , λ ) \Gamma(\mu,\lambda) Γ(μ,λ)构成了上述优化问题最优值 p ∗ p^{*} p∗的下界,即 Γ ( μ , λ ) ≤ p ∗ \Gamma(\mu,\lambda)\leq p^{*} Γ(μ,λ)≤p∗
定义在满足
μ
≥
0
\mu\geq 0
μ≥0这个约束条件下求对偶函数最大值的优化问题为拉格朗日对偶问题
max
Γ
(
μ
,
λ
)
s
.
t
.
μ
≥
0
\max \quad \Gamma(\mu,\lambda)\\ .\quad \mu \geq0
maxΓ(μ,λ)s.t.μ≥0
设该优化问题的最优值为
d
∗
d^{*}
d∗,显然
d
∗
≤
p
∗
d^{*} \leq p^{*}
d∗≤p∗,此时称为“弱对偶性“成立;
若
d
∗
=
p
∗
d^{*} =p^{*}
d∗=p∗,则称为”强对偶性“成立;
主问题:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
,
i
=
1
,
2...
,
m
\min_{w,b}\quad \dfrac{1}{2}||w||^{2}\\ .\quad 1-y_{i}(w^{T}x_{i}+b)\leq 0,\ i=1,2...,m
w,bmin21∣∣w∣∣2s.t.1−yi(wTxi+b)≤0, i=1,2...,m
拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
−
∑
i
=
1
m
α
i
y
i
w
T
x
i
−
b
∑
i
=
1
m
α
i
y
i
L(w,b,\alpha)=\dfrac{1}{2}||w||^{2}+\sum_{i=1}^{m}\alpha_{i}(1-y_{i}(w^{T}x_{i}+b))\\ =\dfrac{1}{2}||w||^{2}+\sum_{i=1}^{m}\alpha_{i}-\sum_{i=1}^{m}\alpha_{i}y_{i}w^{T}x_{i}-b\sum_{i=1}^{m}\alpha_{i}y_{i}
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))=21∣∣w∣∣2+i=1∑mαi−i=1∑mαiyiwTxi−bi=1∑mαiyi
若将
w
,
b
w,b
w,b合并为
w
^
=
(
w
;
b
)
\widehat{w}=(w;b)
w
=(w;b),显然上式是关于
w
^
\widehat{w}
w
的凸函数,求一阶导令其等于0.然后带回即可得到最小值。
软间隔算法原理:
在现实任务中,线性不可分的情形才是最常见的,因此需要允许支持向量机犯错;
从数学角度,软间隔就是允许部分样本不满足下式的约束条件
min
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
,
i
=
1
,
2...
,
m
\min_{w,b}\quad \dfrac{1}{2}||w||^{2}\\ .\quad 1-y_{i}(w^{T}x_{i}+b)\leq 0,\ i=1,2...,m
w,bmin21∣∣w∣∣2s.t.1−yi(wTxi+b)≤0, i=1,2...,m
所以,可以将必须严格执行的约束条件转化为具有一定灵活性的损失;
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ℓ
0
/
1
(
y
i
(
w
T
x
i
+
b
)
−
1
)
\min_{w,b}\dfrac{1}{2}||w||^{2}+C\sum_{i=1}^{m}ℓ_{0/1}(y_{i}(w^{T}x_{i}+b)-1)
w,bmin21∣∣w∣∣2+Ci=1∑mℓ0/1(yi(wTxi+b)−1)
其中
ℓ
0
/
1
ℓ_{0/1}
ℓ0/1是“0/1损失函数”
ℓ
0
/
1
(
z
)
=
{
1
,
i
f
z
<
0
0
,
i
f
z
≥
0
ℓ_{0/1}(z)={1,if z<00,if z≥0
C
>
0
C>0
C>0是一个常数,用来调节损失的权重;
当
C
→
+
∞
C \rightarrow +\infty
C→+∞,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔;
由于
ℓ
0
/
1
ℓ_{0/1}
ℓ0/1非凸,非连续,数学性质不好,所以常用一些数学性质较好的“替代损失函数”来替代它,软间隔支持向量机通常采用hinge损失来替代它
h
i
n
g
e
损
失
:
ℓ
h
i
n
g
e
(
z
)
=
m
a
x
(
0
,
1
−
z
)
hinge损失:\quad ℓ_{hinge}(z)=max(0,1-z)
hinge损失:ℓhinge(z)=max(0,1−z)
替换上式可得
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
m
a
x
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
\min_{w,b}\dfrac{1}{2}||w||^{2}+C\sum_{i=1}^{m}max(0,1-y_{i}(w^{T}x_{i}+b))
w,bmin21∣∣w∣∣2+Ci=1∑mmax(0,1−yi(wTxi+b))
引入松弛变量
ξ
i
\xi_{i}
ξi,上述优化问题等价于
min
w
,
b
,
ξ
i
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
,
i
=
0
,
1
,
.
.
.
,
m
\min_{w,b,\xi_{i}} \quad \dfrac{1}{2}||w||^{2}+C\sum_{i=1}^{m}\xi_{i}\\ . \quad y_{i}(w^{T}x_{i}+b) \geq1-\xi_{i}\\ \xi_{i} \geq0,i=0,1,...,m
w,b,ξimin21∣∣w∣∣2+Ci=1∑mξis.t.yi(wTxi+b)≥1−ξiξi≥0,i=0,1,...,m
支持向量回归:
相比于线性回归用一条线来拟合训练样本,支持向量回归采用一个以
f
(
x
)
=
w
T
x
+
b
f(x)=w^{T}x+b
f(x)=wTx+b为中心,宽度为
2
ε
2\varepsilon
2ε的间隔带来拟合训练样本。
因此支持向量回归优化问题可写成:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ℓ
ε
(
f
(
x
i
)
−
y
i
)
\min_{w,b}\dfrac{1}{2}||w||^{2}+C\sum_{i=1}^{m}ℓ_{\varepsilon}(f(x_{i})-y_{i})
w,bmin21∣∣w∣∣2+Ci=1∑mℓε(f(xi)−yi)
其中
ℓ
ε
(
z
)
ℓ_{\varepsilon}(z)
ℓε(z)为
ε
\varepsilon
ε不敏感损失函数
ℓ
ε
(
z
)
=
{
0
,
i
f
∣
z
∣
≤
ε
∣
z
∣
−
ε
,
i
f
∣
z
∣
>
ε
ℓ_{\varepsilon}(z)={0,if |z|≤ε|z|−ε,if |z|>ε
同软间隔支持向量机,引入松弛变量
ξ
i
\xi_{i}
ξi,令
ℓ
ε
(
f
(
x
i
)
−
y
i
)
=
ξ
i
ℓ_{\varepsilon}(f(x_{i})-y_{i})=\xi_{i}
ℓε(f(xi)−yi)=ξi
当
∣
f
(
x
i
)
−
y
i
∣
≤
ε
⇒
ξ
i
=
0
|f(x_{i})-y_{i}|\leq \varepsilon \Rightarrow \xi_{i}=0
∣f(xi)−yi∣≤ε⇒ξi=0
当
∣
f
(
x
i
)
−
y
i
∣
>
ε
⇒
ξ
i
=
∣
f
(
x
i
)
−
y
i
∣
−
ε
|f(x_{i})-y_{i}|> \varepsilon \Rightarrow \xi_{i}=|f(x_{i})-y_{i}|-\varepsilon
∣f(xi)−yi∣>ε⇒ξi=∣f(xi)−yi∣−ε
所以
−
ε
−
ξ
i
≤
f
(
x
i
)
−
y
i
−
ε
≤
ε
+
ξ
i
-\varepsilon-\xi_{i}\leq f(x_{i})-y_{i}-\varepsilon \leq \varepsilon+\xi_{i}
−ε−ξi≤f(xi)−yi−ε≤ε+ξi
进而优化问题改写为
min
w
,
b
,
ξ
i
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
−
ε
−
ξ
i
≤
f
(
x
i
)
−
y
i
−
ε
≤
ε
+
ξ
i
ξ
i
≥
0
,
i
=
0
,
1
,
.
.
.
,
m
\min_{w,b,\xi_{i}} \quad \dfrac{1}{2}||w||^{2}+C\sum_{i=1}^{m}\xi_{i}\\ . \quad -\varepsilon-\xi_{i}\leq f(x_{i})-y_{i}-\varepsilon \leq \varepsilon+\xi_{i}\\ \xi_{i} \geq0,i=0,1,...,m
w,b,ξimin21∣∣w∣∣2+Ci=1∑mξis.t.−ε−ξi≤f(xi)−yi−ε≤ε+ξiξi≥0,i=0,1,...,m