赞
踩
支持向量机是一种二分类算法,通过在高维空间中构建超平面实现对样本的分类
线性可分SVM通过硬间隔最大化求出划分超平面,解决线性分类问题
线性SVM通过软间隔最大化求出划分超平面,解决线性分类问题
解决的问题:二分类问题
目标:通过间隔最大化策略,找一个超平面 ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ω∗⋅x+b∗=0 ,将特征空间划分为两部分 { + 1 , − 1 } \{+1,-1\} {+1,−1}
模型:定义在特征空间上的 间隔最大 的线性分类器
策略:间隔最大化 → \rightarrow → 凸二次化(加约束项)
算法:求解凸二次规划的最优化算法
支持向量机
{
S
V
C
(
支持向量分类机
)
{
线性支持向量机
{
线性可分:硬间隔最大化
近似线性可分:软间隔最大化
非线性支持向量机:核技巧
+
软间隔最大化
S
V
R
(
支持向量回归机
)
支持向量机
数据集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
,
x
i
∈
X
⊆
R
n
,
y
∈
{
+
1
,
−
1
}
,
i
=
1
,
2
,
⋯
,
N
D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in\mathcal{X}\subseteq R^n,y\in \{+1,-1\},i=1,2,\cdots,N
D={(x1,y1),(x2,y2),⋯,(xN,yN)},xi∈X⊆Rn,y∈{+1,−1},i=1,2,⋯,N
eg:SVM解决二分类问题的思路
线性可分的数据集可以简化为二维平面上的点集。
在直角坐标系中,如果有若干个点位于 x x x 轴下方,另外若干个点位于 x x x 轴上方,这两个点集共同构成了一个线性可分的训练数据集,而 x x x 轴就是将它们区别开的一维超平面,也就是直线。
假设 x x x 轴上方的点全部位于直线 y = 1 y=1 y=1 上及其上方, x x x 轴下方的点全部位于直线 y = − 2 y=-2 y=−2 上及其下方。则任何平行于 x x x 轴且在 ( − 2 , 1 ) (-2,1) (−2,1) 之间的直线都可以将这个训练集分开。但此时面临选择哪一条直线分类效果最好的问题。
直观上看 y = − 0.5 y=-0.5 y=−0.5 最好,这条分界线正好位于两个边界中间,与两个类别的间隔 可以同时达到最大。当训练集中的数据因为噪音干扰而移动时,这个最优划分超平面的划分精确度受到的影响最小,具有很强的泛化能力
在高维的特征空间上,划分超平面可以用简单的线性方程描述
ω
⋅
x
+
b
=
0
\omega\cdot x+b=0
ω⋅x+b=0
划分超平面将特征空间分为两部分
决策函数:
f
(
x
)
=
s
i
g
n
(
ω
⋅
x
+
b
)
f(x)=sign(\omega \cdot x+b)
f(x)=sign(ω⋅x+b)
硬间隔最大化策略 ——使距离超平面最近的两个点之间的间距最大
超平面
(
ω
,
b
)
(\omega,b)
(ω,b) 关于
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 的函数间隔
γ
i
=
y
i
(
ω
⋅
x
i
+
b
)
\gamma_i=y_i(\omega\cdot x_i+b)
γi=yi(ω⋅xi+b)
超平面关于数据集
D
D
D 的函数间隔
γ
^
=
min
x
i
∈
X
γ
i
^
=
min
x
i
∈
X
y
i
(
ω
⋅
+
b
)
\hat{\gamma}=\min\limits_{x_i\in \mathcal{X}}\hat{\gamma_i}=\min\limits_{x_i\in \mathcal{X}}y_i(\omega\cdot+b)
γ^=xi∈Xminγi^=xi∈Xminyi(ω⋅+b)
可用函数间隔表示分类的正确性和确信程度
给定超平面后,特征空间中的样本点
x
i
x_i
xi 到超平面的距离可以表示为
+
1
类到超平面的距离:
γ
i
=
ω
⋅
x
i
+
b
∥
ω
∥
2
−
1
类到超平面的距离:
γ
i
=
−
ω
⋅
x
i
+
b
∥
ω
∥
2
+1类到超平面的距离:\gamma_i=\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\\ -1类到超平面的距离:\gamma_i=-\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}
+1类到超平面的距离:γi=∥ω∥2ω⋅xi+b−1类到超平面的距离:γi=−∥ω∥2ω⋅xi+b
即点被正确分类时,到超平面几何距离
γ
i
=
y
i
(
ω
⋅
x
i
+
b
∥
ω
∥
2
)
\gamma_i=y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\right)
γi=yi(∥ω∥2ω⋅xi+b)
数据集
D
D
D 到超平面
(
ω
,
b
)
(\omega,b)
(ω,b) 的几何距离
γ
=
min
x
i
∈
X
ω
T
⋅
x
i
+
b
∥
ω
∥
2
=
min
x
i
∈
X
γ
^
i
∥
ω
∥
2
定理 :最大分离超平面存在且唯一
{
max
ω
,
b
γ
=
max
ω
,
b
min
x
i
∈
X
ω
⋅
x
i
+
b
∥
ω
∥
2
=
max
ω
,
b
min
x
i
∈
X
γ
^
i
∥
ω
∥
2
s
.
t
.
y
i
(
ω
⋅
x
i
+
b
∥
ω
∥
)
≥
γ
可通过等比例调整参数
ω
\omega
ω 和
b
b
b ,可以使每个样本到达最优划分超平面的函数距离都不小于
1
1
1
λ
i
(
ω
⋅
x
i
+
b
)
≥
1
,
y
i
=
+
1
λ
i
(
ω
⋅
x
i
+
b
)
≤
−
1
,
y
i
=
−
1
\lambda_i(\omega\cdot x_i+b)\ge 1,y_i=+1\\ \lambda_i(\omega\cdot x_i+b)\le -1,y_i=-1\\
λi(ω⋅xi+b)≥1,yi=+1λi(ω⋅xi+b)≤−1,yi=−1
设
λ
i
=
1
ω
x
i
+
b
\lambda_i=\frac{1}{\omega x_i+b}
λi=ωxi+b1 ,有
∣
γ
^
′
∣
=
∣
λ
γ
^
∣
≥
1
\vert \hat{\gamma}'\vert=\vert \lambda \hat{\gamma}\vert\ge 1\\
∣γ^′∣=∣λγ^∣≥1
问题变为
{
max
ω
,
b
γ
′
=
max
ω
,
b
min
x
i
∈
X
λ
y
i
(
ω
⋅
x
i
+
b
)
∥
λ
ω
∥
2
≥
max
ω
,
b
1
∥
ω
′
∥
2
s
.
t
.
λ
y
i
(
ω
⋅
x
i
+
b
)
∥
λ
ω
∥
2
=
y
i
(
ω
′
⋅
x
i
+
b
)
∥
ω
′
∥
2
≥
γ
′
⇒
{
max
ω
,
b
γ
=
max
ω
,
b
1
∥
ω
∥
2
s
.
t
.
y
i
(
ω
⋅
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
⋯
,
N
⟺
便于凸二次规划
{
min
ω
,
b
1
γ
=
min
ω
,
b
∥
ω
∥
2
2
2
s
.
t
.
y
i
(
ω
⋅
x
i
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
⋯
,
N
⟺
{
min
ω
,
b
∥
ω
∥
2
2
2
s
.
t
.
1
−
y
i
(
ω
⋅
x
i
+
b
)
≤
0
,
i
=
1
,
2
,
⋯
,
N
输入 :线性可分的数据集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
,
x
i
∈
X
⊆
R
n
,
y
i
∈
Y
=
{
+
1
,
−
1
}
,
i
=
1
,
2
,
⋯
,
N
输出 :最大分离超平面和决策函数
步骤
构造并求解最优化问题
{
min
ω
,
b
∥
ω
∥
2
2
2
s
.
t
.
1
−
y
i
(
ω
⋅
x
i
+
b
)
≤
0
,
i
=
1
,
2
,
⋯
,
N
凸二次规划可得最优解
ω
∗
,
b
∗
\omega^*,b^*
ω∗,b∗
可得分类超平面
ω
∗
⋅
x
+
b
∗
=
0
\omega^*\cdot x+b^*=0
ω∗⋅x+b∗=0
决策函数
f
(
x
)
=
s
i
g
n
(
ω
∗
⋅
x
+
b
∗
)
f(x)=sign(\omega^*\cdot x+b^*)
f(x)=sign(ω∗⋅x+b∗)
在特征空间中,距离划分超平面最近的样本点能让函数间隔取等号,这些样本点称为 支持向量 ,即有点
x
k
+
,
x
k
−
x_{k^+},x_{k^-}
xk+,xk−
ω
⋅
x
k
+
+
b
=
1
,
y
k
+
=
+
1
ω
⋅
x
k
−
+
b
=
−
1
,
y
k
−
=
−
1
\omega\cdot x_{k^+}+b= 1,y_{k^+}=+1\\ \omega\cdot x_{k^-}+b= -1,y_{k^-}=-1\\
ω⋅xk++b=1,yk+=+1ω⋅xk−+b=−1,yk−=−1
两个异类支持向量到超平面的距离之和为 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 。
因而对于线性可分的SVM任务就是:在满足上述不等式的条件下,寻找 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 的最大值,最大化 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 等效于最小化 1 2 ∥ ω ∥ 2 \frac{1}{2}\Vert \omega\Vert^2 21∥ω∥2
输入:
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
∈
X
∈
R
n
,
y
i
∈
Y
∈
{
+
1
,
−
1
}
,
i
=
1
,
⋯
,
N
D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\in \mathcal{X}\in R^n,y_i\in \mathcal{Y}\in \{+1,-1\},i=1,\cdots,N
D={(x1,y1),(x2,y2),⋯,(xN,yN)}∈X∈Rn,yi∈Y∈{+1,−1},i=1,⋯,N
输出:分离超平面和决策函数
由原始算法,可得 Lagrange 函数
L
(
ω
,
b
,
α
)
=
1
2
∥
ω
∥
2
2
+
∑
i
=
1
N
α
i
[
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
]
,
α
i
≥
0
L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2+\sum\limits_{i=1}^N\alpha_i[1-y_i(\omega_i\cdot x_i+b)],\alpha_i\ge 0
L(ω,b,α)=21∥ω∥22+i=1∑Nαi[1−yi(ωi⋅xi+b)],αi≥0
1
2
∥
ω
∥
2
2
\frac{1}{2}\Vert \omega\Vert_2^2
21∥ω∥22 为凸函数,约束范围为凸集,则有
局部最优解
=
全局最优解
局部最优解=全局最优解
局部最优解=全局最优解
最优解
∈
约束域
,
即
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
<
0
最优解
∉
约束域
,
即最优解在约束边界上,有
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
=
0
}
⇒
max
α
i
α
i
[
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
]
=
0
\left.
可知
max
α
L
(
ω
,
b
,
α
)
=
1
2
∥
ω
∥
2
2
\max\limits_{\alpha}L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2
αmaxL(ω,b,α)=21∥ω∥22 ,即
min
ω
1
2
∥
ω
∥
2
2
=
min
ω
max
α
L
(
ω
,
α
)
\min\limits_{\omega}\frac{1}{2}\Vert \omega\Vert_2^2=\min\limits_{\omega}\max\limits_{\alpha}L(\omega,\alpha)
ωmin21∥ω∥22=ωminαmaxL(ω,α)
又由于
min
ω
max
α
L
(
ω
,
b
,
α
)
\min\limits_{\omega}\max\limits_{\alpha}L(\omega,b,\alpha)
ωminαmaxL(ω,b,α) 与
max
α
min
ω
L
(
ω
,
b
,
α
)
\max\limits_{\alpha}\min\limits_{\omega}L(\omega,b,\alpha)
αmaxωminL(ω,b,α) 是对偶问题,有相同的最优解
最优解满足KKT条件
{
∂
L
∂
ω
=
0
∂
L
∂
b
=
0
∂
L
∂
α
i
=
0
α
i
≥
0
α
i
[
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
]
≤
0
⇒
{
ω
−
∑
i
=
1
N
α
i
y
i
x
i
=
0
−
∑
i
=
1
N
α
i
y
i
=
0
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
=
0
α
i
≥
0
α
i
[
1
−
y
i
(
ω
i
⋅
x
i
+
b
)
]
≤
0
即有
ω
∗
=
∑
i
=
1
N
α
i
y
i
x
i
\omega^*=\sum\limits_{i=1}^N\alpha_iy_ix_i
ω∗=i=1∑Nαiyixi ,代入
L
(
ω
,
b
,
α
)
L(\omega,b,\alpha)
L(ω,b,α)
min
ω
,
b
L
(
α
)
=
1
2
(
ω
∗
)
T
ω
∗
+
∑
i
=
1
N
α
i
−
∑
i
=
1
N
α
i
y
i
ω
∗
⋅
x
i
−
∑
i
=
1
N
α
i
y
i
b
=
1
2
∑
j
=
1
N
α
j
y
j
x
j
∑
i
=
1
N
α
i
y
i
x
i
+
∑
i
=
1
N
α
i
−
∑
i
=
1
N
α
i
y
i
∑
j
=
1
N
α
j
y
j
x
j
=
x
j
⋅
,
x
i
为向量点积,其余部分为标量
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
−
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
+
∑
i
=
1
N
α
i
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
对偶问题
{
max
α
L
(
α
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
s
.
t
.
α
i
≥
0
∑
i
=
1
N
α
i
y
i
=
0
求解对偶问题,可得
α
∗
=
(
α
1
∗
α
2
∗
⋮
α
N
∗
)
\alpha^*=\left(
由 α ∗ \alpha^* α∗ 可得 ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^*=\sum\limits_{i=1}^N\alpha^*_iy_ix_i ω∗=i=1∑Nαi∗yixi
间隔边界上的点,满足
y
(
ω
⋅
x
+
b
)
=
1
y
2
(
ω
⋅
x
+
b
)
=
y
⇒
ω
⋅
x
+
b
=
y
将
ω
∗
\omega^*
ω∗ 代入支持向量
ω
∗
x
j
+
b
∗
=
y
j
⇒
b
∗
=
y
j
−
ω
∗
x
j
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
(
x
i
⋅
x
j
)
{
ω
∗
x
+
b
∗
=
0
分类决策函数
f
(
x
)
=
s
i
g
n
(
ω
∗
x
+
b
)
⇒
{
∑
i
=
1
N
α
i
y
i
x
i
⋅
x
+
(
y
j
−
∑
i
=
1
N
α
i
∗
y
i
(
x
i
⋅
x
j
)
)
=
0
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
α
i
y
i
x
i
⋅
x
+
y
j
−
∑
i
=
1
N
α
i
∗
y
i
(
x
i
⋅
x
j
)
)
有样本 + 1 : x 1 = ( 3 , 3 ) , x 2 = ( 4 , 3 ) +1:x_1=(3,3),x_2=(4,3) +1:x1=(3,3),x2=(4,3) , − 1 : x 3 = ( 1 , 1 ) -1:x_3=(1,1) −1:x3=(1,1)
由对偶算法
{
min
α
(
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
−
∑
i
=
1
N
α
i
)
s
.
t
.
α
i
≥
0
∑
i
=
1
N
α
i
y
i
=
0
,
i
=
1
,
2
,
⋯
,
N
代入后有
{
min
α
L
(
α
)
=
1
2
(
18
α
1
2
+
25
α
2
2
+
2
α
3
2
+
42
α
1
α
2
−
12
α
1
α
3
−
14
α
2
α
3
)
−
(
α
1
+
α
2
+
α
3
)
s
.
t
.
α
1
+
α
2
−
α
3
=
0
α
i
≥
0
将
α
3
=
α
1
+
α
2
\alpha_3=\alpha_1+\alpha_2
α3=α1+α2 代入
(
1
)
(1)
(1)
S
(
α
1
,
α
2
)
=
4
α
1
2
+
13
2
α
2
2
+
10
α
1
α
2
−
2
α
1
−
2
α
2
S(\alpha_1,\alpha_2)=4\alpha_1^2+\frac{13}{2}\alpha_2^2+10\alpha_1\alpha_2-2\alpha_1-2\alpha_2
S(α1,α2)=4α12+213α22+10α1α2−2α1−2α2
令
∂
S
∂
α
1
=
0
\frac{\partial S}{\partial \alpha_1}=0
∂α1∂S=0 ,
∂
S
∂
α
2
=
0
\frac{\partial S}{\partial \alpha_2}=0
∂α2∂S=0 可得
(
α
1
,
α
2
)
T
=
(
3
2
,
−
1
)
T
(\alpha_1,\alpha_2)^T=(\frac{3}{2},-1)^T
(α1,α2)T=(23,−1)T ,但不满足约束条件
可知最优解在约束边界上
若
α
1
=
0
,令
∂
S
∂
α
2
=
0
⇒
α
2
=
2
13
⇒
S
(
0
,
2
13
)
=
−
2
13
α
2
=
0
,令
∂
S
∂
α
1
=
0
⇒
α
1
=
1
4
⇒
S
(
1
4
,
0
)
=
−
1
4
若\alpha_1=0,令 \frac{\partial S}{\partial \alpha_2}=0\Rightarrow \alpha_2=\frac{2}{13}\Rightarrow S(0,\frac{2}{13})=-\frac{2}{13}\\ \alpha_2=0,令\frac{\partial S}{\partial \alpha_1}=0\Rightarrow \alpha_1=\frac{1}{4}\Rightarrow S(\frac{1}{4},0)=-\frac{1}{4}
若α1=0,令∂α2∂S=0⇒α2=132⇒S(0,132)=−132α2=0,令∂α1∂S=0⇒α1=41⇒S(41,0)=−41
∴
\therefore
∴
S
(
α
1
,
α
2
)
S(\alpha_1,\alpha_2)
S(α1,α2) 在
(
1
4
,
0
)
T
(\frac{1}{4},0)^T
(41,0)T 上取最小,
α
3
=
α
1
+
α
2
=
1
4
\alpha_3=\alpha_1+\alpha_2=\frac{1}{4}
α3=α1+α2=41
由于
α
1
=
α
3
=
1
4
≠
0
\alpha_1=\alpha_3=\frac{1}{4}\neq 0
α1=α3=41=0 ,故
x
1
,
x
3
x_1,x_3
x1,x3 为支持向量
ω
∗
=
α
1
y
1
x
1
+
α
3
y
3
x
3
=
1
4
(
3
3
)
+
1
4
(
−
1
)
(
1
1
)
=
(
1
2
1
2
)
b
∗
=
y
3
−
∑
i
=
1
3
α
i
y
i
(
x
i
⋅
x
3
)
=
−
2
所以有分离超平面
1
2
x
(
1
)
+
1
2
x
(
2
)
−
2
=
0
\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2=0
21x(1)+21x(2)−2=0 ,决策函数
f
(
x
)
=
s
i
g
n
(
1
2
x
(
1
)
+
1
2
x
(
2
)
−
2
)
f(x)=sign(\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2)
f(x)=sign(21x(1)+21x(2)−2)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。