第六章支持向量机
支持向量机:找距离正负样本都最远的超平面 ,其解唯一,且不偏不倚,泛化性能较感知机模型更好。
超平面 ( w T x + b = 0 , w , x ∈ R n ) (w^Tx+b=0,w,x\in \mathbb{R^n}) (wTx+b=0,w,x∈Rn)
- 方程不唯一
- 法向量w和位移项b确定唯一超平面
- w垂直于超平面
- w指向一半为正空间,另一半为负空间
- 任意点x到超平面距离公式 f = ∣ w T x + b ∣ ∥ w ∥ f=\frac{\left| w^Tx+b \right|}{\Vert w \Vert} f=∥w∥∣wTx+b∣
几何间隔
- 给定数据集和超平面,样本点为 ( x i , y i ) , y i ∈ (x_i,y_i),y_i\in (xi,yi),yi∈ {-1,1}
- γ i = y i ∣ w T x + b ∣ ∥ w ∥ \gamma_i=\frac{y_i\left| w^Tx+b \right|}{\Vert w \Vert} γi=∥w∥yi∣wTx+b∣,正确分类时 γ i > 0 \gamma_i>0 γi>0,几何间隔等价于点到超平面距离
- 定义数据集关于超平面的几何间隔: γ = m i n i = 1 , 2 , ⋅ ⋅ ⋅ , m γ i \gamma=\underset{i=1,2,···,m}{min}\gamma_i γ=i=1,2,⋅⋅⋅,mminγi
支持向量机
前提:线性可分数据集
X
X
X
模型:求得数据集关于超平面的几何间隔
γ
\gamma
γ达到最大(距离正负样本最远)的超平面,套上sign函数实现分类
y
=
s
i
g
n
(
w
T
x
+
b
)
=
{
1
,
w
T
x
+
b
>
0
0
,
w
T
x
+
b
<
0
y=sign(w^Tx+b)=\left\{ \begin{array}{c}1,w^Tx+b>0\\0,w^Tx+b<0\\ \end{array} \right.
y=sign(wTx+b)={1,wTx+b>00,wTx+b<0
寻求这样的一个超平面
- 求解 m a x γ = m a x γ m i n = m a x y m i n ∣ w T x m i n + b ∣ ∥ w ∥ max \gamma=max\gamma_{min}=max\frac{y_{min}\left| w^Tx_{min}+b \right|}{\Vert w \Vert} maxγ=maxγmin=max∥w∥ymin∣wTxmin+b∣
- 使得有唯一解,给出约束条件 y m i n ∣ w T x m i n + b ∣ = 1 y_{min}\left| w^Tx_{min}+b \right|=1 ymin wTxmin+b =1(任意取,不唯一)
- 恒等变换:支持向量机主问题 m i n w , b 1 2 ∥ w ∥ 2 s . t . 1 − y i ( w T x + b ) ≤ 0 , i = 1 , 2 ⋅ ⋅ ⋅ , m \underset{w,b}{min}\frac{1}{2}\Vert w \Vert^2~~~s.t.~~1-y_i(w^Tx+b )\le0,i=1,2···,m w,bmin21∥w∥2 s.t. 1−yi(wTx+b)≤0,i=1,2⋅⋅⋅,m
- 凸优化问题求解:拉格朗日对偶
- 凸优化问题:目标函数是凸函数( y 1 + y 2 2 > f ( x 1 + x 2 2 ) \frac{y_1+y_2}{2}>f\left(\frac{x_1+x_2}{2}\right) 2y1+y2>f(2x1+x2)),约束集合是凸集
- 一般约束优化问题:
m i n f ( x ) min~~f(x) min f(x) s . t . g i ( x ) ≤ 0 , h j ( x ) = 0 s.t. ~~g_i(x)\le0,h_j(x)=0 s.t. gi(x)≤0,hj(x)=0 - 拉格朗日函数
L ( x , μ , λ ) = f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 m λ j h j ( x ) L(x,\mu,\lambda)=f(x)+\sum^{m}_{i=1}\mu_ig_i(x)+\sum^{m}_{j=1}\lambda_jh_j(x) L(x,μ,λ)=f(x)+i=1∑mμigi(x)+j=1∑mλjhj(x) - 拉格朗日对偶函数
Γ
(
μ
,
λ
)
\Gamma(\mu,\lambda)
Γ(μ,λ)为
L
(
x
,
μ
,
λ
)
L(x,\mu,\lambda)
L(x,μ,λ)关于x的下确界
Γ ( μ , λ ) = i n f L ( x , μ , λ ) = i n f f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 m λ j h j ( x ) \Gamma(\mu,\lambda)=inf~L(x,\mu,\lambda)=inf~f(x)+\sum^{m}_{i=1}\mu_ig_i(x)+\sum^{m}_{j=1}\lambda_jh_j(x) Γ(μ,λ)=inf L(x,μ,λ)=inf f(x)+i=1∑mμigi(x)+j=1∑mλjhj(x)
对偶函数优越性质:
1.对偶函数恒为凹函数
2.当 μ < 0 \mu<0 μ<0时, Γ ( μ , λ ) ≤ f ( x ~ ) ≤ p ∗ \Gamma(\mu,\lambda) \le f(\tilde x)\le p^* Γ(μ,λ)≤f(x~)≤p∗ ∑ j = 1 m λ j h j ( x ) = 0 \sum^{m}_{j=1}\lambda_jh_j(x)=0 ∑j=1mλjhj(x)=0, ∑ i = 1 m μ i g i ( x ) ≤ 0 \sum^{m}_{i=1}\mu_ig_i(x)\le0 ∑i=1mμigi(x)≤0,
L ( x , μ , λ ) = f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 m λ j h j ( x ) < f ( x ) L(x,\mu,\lambda)=f(x)+\sum^{m}_{i=1}\mu_ig_i(x)+\sum^{m}_{j=1}\lambda_jh_j(x)<f(x) L(x,μ,λ)=f(x)+∑i=1mμigi(x)+∑j=1mλjhj(x)<f(x)
所以 Γ ( μ , λ ) = i n f L ( x , μ , λ ) ≤ L ( x ~ , μ , λ ) ≤ f ( x ~ ) ≤ p ∗ \Gamma(\mu,\lambda)=inf~L(x,\mu,\lambda)\le L(\tilde x,\mu,\lambda) \le f(\tilde x)\le p^* Γ(μ,λ)=inf L(x,μ,λ)≤L(x~,μ,λ)≤f(x~)≤p∗
所以我们要求解对偶问题:
m
a
x
Γ
(
μ
,
λ
)
max~~\Gamma(\mu,\lambda)
max Γ(μ,λ)
s
.
t
.
μ
≥
0
s.t.~~\mu\ge0
s.t. μ≥0
设最优解为
d
∗
,
d
∗
≤
p
∗
d^*,d^*\le p^*
d∗,d∗≤p∗(弱对偶性),当等号成立时为强对偶性
KKT条件
f
(
x
)
,
g
i
(
x
)
,
h
j
(
x
)
f(x),g_i(x),h_j(x)
f(x),gi(x),hj(x)一阶偏导连续,
x
∗
,
(
μ
∗
,
λ
∗
)
x^*,(\mu^*,\lambda^*)
x∗,(μ∗,λ∗)为主问题和对偶问题的最优解,强对偶性成立,有以下条件
{
∇
x
L
(
x
∗
,
μ
∗
,
λ
∗
)
=
∇
f
(
x
∗
)
+
∑
i
=
1
m
μ
i
∗
∇
g
i
(
x
∗
)
+
∑
j
=
1
n
λ
j
∗
∇
h
i
(
x
∗
)
=
0
h
i
(
x
∗
)
=
0
g
i
(
x
∗
)
⩽
0
μ
i
∗
⩾
0
μ
i
∗
g
i
(
x
∗
)
=
0
\left\{ \begin{array}{c} \nabla _xL\left( x^*,\mu ^*,\lambda ^* \right) =\nabla f\left( x^* \right) +\sum_{i=1}^m{\mu _{i}^{*}\nabla g_i\left( x^* \right)}+\sum_{j=1}^n{\lambda _{j}^{*}\nabla h_i\left( x^* \right) =0}\\ h_i\left( x^* \right) =0\\ g_i\left( x^* \right) \leqslant 0\\ \mu _{i}^{*}\geqslant 0\\ \mu _{i}^{*}g_i\left( x^* \right) =0\\ \end{array} \right.
⎩
⎨
⎧∇xL(x∗,μ∗,λ∗)=∇f(x∗)+∑i=1mμi∗∇gi(x∗)+∑j=1nλj∗∇hi(x∗)=0hi(x∗)=0gi(x∗)⩽0μi∗⩾0μi∗gi(x∗)=0
解答:
主问题:
m
i
n
w
,
b
1
2
∥
w
∥
2
s
.
t
.
1
−
y
i
(
w
T
x
+
b
)
≤
0
,
i
=
1
,
2
⋅
⋅
⋅
,
m
\underset{w,b}{min}\frac{1}{2}\Vert w \Vert^2~~~s.t.~~1-y_i(w^Tx+b )\le0,i=1,2···,m
w,bmin21∥w∥2 s.t. 1−yi(wTx+b)≤0,i=1,2⋅⋅⋅,m
拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∥
w
∥
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
+
b
)
)
L(w,b,\alpha)=\frac{1}{2}\Vert w \Vert^2+\sum^{m}_{i=1}\alpha_i(1-y_i(w^Tx+b ))
L(w,b,α)=21∥w∥2+i=1∑mαi(1−yi(wTx+b))
求解
L
(
w
,
b
,
α
)
L(w,b,\alpha)
L(w,b,α)关于
w
,
b
w,b
w,b的下确界
将
w
,
b
w,b
w,b合并成为
w
^
\hat w
w^,求其一阶导等于0得到最小值
对偶问题:
加多一个对于b的系数的约束
∑
i
=
1
m
α
i
y
i
=
0
\sum^{m}_{i=1}\alpha_iy_i=0
∑i=1mαiyi=0,对于对偶问题变成了求关于w的最小值的问题,与b无关了
但是同时还需要满足KKT的五个条件,其中等式约束没有用到,一阶导为0已经用过了。
采用拉格朗日对偶问题求解的原因:特征维数远高于数据量,转换成拉格朗日对偶问题,使得对偶问题和数据量成正比,解答更加高效解答。