支持向量机是一种二分类算法,通过在高维空间中构建超平面实现对样本的分类
文章目录
- 5.1 SVM概述
- 5.1.1 分类
- 5.2 线性可分SVM
- 5.2.1 线性可分SVM基本思想
- 5.2.2 策略
- 函数间隔
- 几何间隔
- 硬间隔最大化
- 5.2.3 原始算法
- 支持向量
- 5.2.4 对偶形式
- 算法
- 1. 构造并求解对偶问题
- 2. 计算参数
- 3. 求得分离超平面
- 优点
- 例题
5. 支持向量机(非线性SVM)
线性可分SVM通过硬间隔最大化求出划分超平面,解决线性分类问题
线性SVM通过软间隔最大化求出划分超平面,解决线性分类问题
5.1 SVM概述
解决的问题:二分类问题
目标:通过间隔最大化策略,找一个超平面 ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ω∗⋅x+b∗=0 ,将特征空间划分为两部分 { + 1 , − 1 } \{+1,-1\} {+1,−1}
模型:定义在特征空间上的 间隔最大 的线性分类器
- 间隔最大是与感知机有区别的地方
- 通过核技巧,使SVM成为非线性分类器/回归器
策略:间隔最大化 → \rightarrow → 凸二次化(加约束项)
- 正则化的合页损失函数最小化
算法:求解凸二次规划的最优化算法
5.1.1 分类
支持向量机 { S V C ( 支持向量分类机 ) { 线性支持向量机 { 线性可分:硬间隔最大化 近似线性可分:软间隔最大化 非线性支持向量机:核技巧 + 软间隔最大化 S V R ( 支持向量回归机 ) 支持向量机\begin{cases} SVC(支持向量分类机)\begin{cases} 线性支持向量机\begin{cases} 线性可分:硬间隔最大化\\ 近似线性可分:软间隔最大化 \end{cases}\\ 非线性支持向量机:核技巧+软间隔最大化 \end{cases}\\ SVR(支持向量回归机) \end{cases} 支持向量机⎩ ⎨ ⎧SVC(支持向量分类机)⎩ ⎨ ⎧线性支持向量机{线性可分:硬间隔最大化近似线性可分:软间隔最大化非线性支持向量机:核技巧+软间隔最大化SVR(支持向量回归机)
数据集
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
5.2 线性可分SVM
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 最好,这条分界线正好位于两个边界中间,与两个类别的间隔 可以同时达到最大。当训练集中的数据因为噪音干扰而移动时,这个最优划分超平面的划分精确度受到的影响最小,具有很强的泛化能力
5.2.1 线性可分SVM基本思想
在高维的特征空间上,划分超平面可以用简单的线性方程描述
ω
⋅
x
+
b
=
0
\omega\cdot x+b=0
ω⋅x+b=0
- n n n 维向量 ω \omega ω 为法向量,决定了超平面的方向
- b b b 为截距,决定了超平面与高维空间中原点的距离
划分超平面将特征空间分为两部分
- 法向量所指一侧——正例, y = + 1 y=+1 y=+1
- 法向量反方向恻——负例, y = − 1 y=-1 y=−1
决策函数:
f
(
x
)
=
s
i
g
n
(
ω
⋅
x
+
b
)
f(x)=sign(\omega \cdot x+b)
f(x)=sign(ω⋅x+b)
5.2.2 策略
硬间隔最大化策略 ——使距离超平面最近的两个点之间的间距最大
函数间隔
超平面
(
ω
,
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)
- 符号:是否分类正确
- 大小:确信程度—— ∣ ω ⋅ x i + b ∣ \vert \omega\cdot x_i+b\vert ∣ω⋅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
\begin{aligned} \gamma&=\min\limits_{x_i\in \mathcal{X}}\frac{\omega^T\cdot x_i+b}{\Vert \omega\Vert_2}\\ &=\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2} \end{aligned}
γ=xi∈Xmin∥ω∥2ωT⋅xi+b=xi∈Xmin∥ω∥2γ^i
硬间隔最大化
定理 :最大分离超平面存在且唯一
{
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
∥
ω
∥
)
≥
γ
\begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2}\\ s.t.\quad y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert}\right)\ge \gamma \end{cases}
⎩
⎨
⎧ω,bmaxγ=ω,bmaxxi∈Xmin∥ω∥2ω⋅xi+b=ω,bmaxxi∈Xmin∥ω∥2γ^is.t.yi(∥ω∥ω⋅xi+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
\begin{aligned} &\begin{cases} \max\limits_{\omega,b}\gamma'=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}\ge \max\limits_{\omega,b}\frac{1}{\Vert \omega'\Vert_2}\\ s.t.\quad \frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}=\frac{y_i(\omega'\cdot x_i+b)}{\Vert \omega'\Vert_2}\ge \gamma' \end{cases}\\ \Rightarrow &\begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\frac{1}{\Vert \omega\Vert_2}\\ s.t.\quad y_i(\omega\cdot x_i+b)\ge 1,i=1,2,\cdots,N \end{cases}\\ \overset{便于凸二次规划}{\iff} &\begin{cases} \min\limits_{\omega,b}\frac{1}{\gamma}=\min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad y_i(\omega\cdot x_i+b)-1\ge 0,i=1,2,\cdots,N \end{cases}\\ \iff&\begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} \end{aligned}
⇒⟺便于凸二次规划⟺⎩
⎨
⎧ω,bmaxγ′=ω,bmaxxi∈Xmin∥λω∥2λyi(ω⋅xi+b)≥ω,bmax∥ω′∥21s.t.∥λω∥2λyi(ω⋅xi+b)=∥ω′∥2yi(ω′⋅xi+b)≥γ′⎩
⎨
⎧ω,bmaxγ=ω,bmax∥ω∥21s.t.yi(ω⋅xi+b)≥1,i=1,2,⋯,N⎩
⎨
⎧ω,bminγ1=ω,bmin2∥ω∥22s.t.yi(ω⋅xi+b)−1≥0,i=1,2,⋯,N⎩
⎨
⎧ω,bmin2∥ω∥22s.t.1−yi(ω⋅xi+b)≤0,i=1,2,⋯,N
5.2.3 原始算法
输入 :线性可分的数据集
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
\begin{aligned} D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in \mathcal{X}\subseteq R^n,y_i\in \mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N \end{aligned}
D={(x1,y1),(x2,y2),⋯,(xN,yN)},xi∈X⊆Rn,yi∈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 \begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} ⎩ ⎨ ⎧ω,bmin2∥ω∥22s.t.1−yi(ω⋅xi+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
- H 1 , H 2 H_1,H_2 H1,H2 为分类间隔边界; S S S 为分离超平面
两个异类支持向量到超平面的距离之和为 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
5.2.4 对偶形式
输入:
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
输出:分离超平面和决策函数
算法
1. 构造并求解对偶问题
由原始算法,可得 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. \begin{aligned} 最优解\in 约束域,即1-y_i(\omega_i\cdot x_i+b)<0\\ 最优解\notin 约束域,即最优解在约束边界上,有1-y_i(\omega_i\cdot x_i+b)=0 \end{aligned} \right\}\Rightarrow \max\limits_{\alpha_i}\alpha_i[1-y_i(\omega_i\cdot x_i+b)]=0
最优解∈约束域,即1−yi(ωi⋅xi+b)<0最优解∈/约束域,即最优解在约束边界上,有1−yi(ωi⋅xi+b)=0}⇒αimaxαi[1−yi(ωi⋅xi+b)]=0
可知
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
\begin{cases} \frac{\partial L}{\partial \omega}=0\\ \frac{\partial L}{\partial b}=0\\ \frac{\partial L}{\partial \alpha_i}=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases}\Rightarrow \begin{cases} \omega-\sum\limits_{i=1}^N\alpha_iy_ix_i=0\\ -\sum\limits_{i=1}^N\alpha_iy_i=0\\ 1-y_i(\omega_i\cdot x_i+b)=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases}
⎩
⎨
⎧∂ω∂L=0∂b∂L=0∂αi∂L=0αi≥0αi[1−yi(ωi⋅xi+b)]≤0⇒⎩
⎨
⎧ω−i=1∑Nαiyixi=0−i=1∑Nαiyi=01−yi(ωi⋅xi+b)=0αi≥0αi[1−yi(ωi⋅xi+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
\begin{aligned} \min\limits_{\omega,b}L(\alpha)&=\frac{1}{2}(\omega^*)^T\omega^*+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\omega^*\cdot x_i-\sum\limits_{i=1}^N\alpha_iy_i b\\ &=\frac{1}{2}\sum\limits_{j=1}^N\alpha_jy_jx_j\sum\limits_{i=1}^N\alpha_iy_ix_i+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\sum\limits_{j=1}^N\alpha_jy_jx_j\\ &\xlongequal{x_j\cdot,x_i为向量点积,其余部分为标量}\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum\limits_{i=1}^N\alpha_i\\ &=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j \end{aligned}
ω,bminL(α)=21(ω∗)Tω∗+i=1∑Nαi−i=1∑Nαiyiω∗⋅xi−i=1∑Nαiyib=21j=1∑Nαjyjxji=1∑Nαiyixi+i=1∑Nαi−i=1∑Nαiyij=1∑Nαjyjxjxj⋅,xi为向量点积,其余部分为标量21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nj=1∑Nαiαjyiyjxi⋅xj+i=1∑Nαi=i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj
对偶问题
{
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
\begin{cases} \max\limits_{\alpha}L(\alpha)=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j\\ s.t. \quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0\\ \end{cases}
⎩
⎨
⎧αmaxL(α)=i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyjxi⋅xjs.t.αi≥0i=1∑Nαiyi=0
求解对偶问题,可得
α
∗
=
(
α
1
∗
α
2
∗
⋮
α
N
∗
)
\alpha^*=\left(\begin{aligned}\alpha_1^*\\\alpha_2^*\\\vdots\\\alpha_N^*\end{aligned}\right)
α∗=
α1∗α2∗⋮αN∗
2. 计算参数
由 α ∗ \alpha^* α∗ 可得 ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^*=\sum\limits_{i=1}^N\alpha^*_iy_ix_i ω∗=i=1∑Nαi∗yixi
- 结论:对于支持向量,有 α j ∗ > 0 \alpha_j^*>0 αj∗>0 ,其余点 α ∗ = 0 \alpha^*=0 α∗=0
间隔边界上的点,满足
y
(
ω
⋅
x
+
b
)
=
1
y
2
(
ω
⋅
x
+
b
)
=
y
⇒
ω
⋅
x
+
b
=
y
\begin{aligned} &y(\omega\cdot x+b)=1\\ &y^2(\omega\cdot x+b)=y\\ \Rightarrow &\omega\cdot x+b=y \end{aligned}
⇒y(ω⋅x+b)=1y2(ω⋅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
)
\begin{aligned} &\omega^*x_j+b^*=y_j\\ \Rightarrow&b^*=y_j-\omega^*x_j=y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j) \end{aligned}
⇒ω∗xj+b∗=yjb∗=yj−ω∗xj=yj−i=1∑Nαi∗yi(xi⋅xj)
3. 求得分离超平面
{ ω ∗ 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 ) ) \begin{cases} \omega^* x+b^*=0\\ 分类决策函数 f(x)=sign(\omega^* x+b) \end{cases}\Rightarrow\begin{cases} \sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+\left(y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right)=0\\ f(x)=sign\left(\sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right) \end{cases} {ω∗x+b∗=0分类决策函数f(x)=sign(ω∗x+b)⇒⎩ ⎨ ⎧i=1∑Nαiyixi⋅x+(yj−i=1∑Nαi∗yi(xi⋅xj))=0f(x)=sign(i=1∑Nαiyixi⋅x+yj−i=1∑Nαi∗yi(xi⋅xj))
优点
- 对偶问题易于求解
- 引入核函数,推广到非线性分类问题
例题
有样本 + 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
\begin{cases} \min\limits_{\alpha}\left(\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\alpha_i\right)\\ s.t.\quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0,i=1,2,\cdots,N \end{cases}
⎩
⎨
⎧αmin(21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nαi)s.t.αi≥0i=1∑Nαiyi=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
\begin{cases} \begin{equation}\tag{1} \min\limits_{\alpha}L(\alpha)=\frac{1}{2}(18\alpha_1^2+25\alpha_2^2+2\alpha_3^2+42\alpha_1\alpha_2-12\alpha_1\alpha_3-14\alpha_2\alpha_3)-(\alpha_1+\alpha_2+\alpha_3) \end{equation} \\ s.t.\quad \alpha_1+\alpha_2-\alpha_3=0 \\ \qquad \alpha_i\ge 0 \end{cases}
⎩
⎨
⎧αminL(α)=21(18α12+25α22+2α32+42α1α2−12α1α3−14α2α3)−(α1+α2+α3)(1)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
\begin{aligned} \omega^*&=\alpha_1y_1x_1+\alpha_3y_3x_3\\ &=\frac{1}{4}\left(\begin{aligned} 3\\3 \end{aligned}\right)+\frac{1}{4}(-1)\left(\begin{aligned} 1\\1 \end{aligned}\right)=\left(\begin{aligned} \frac{1}{2}\\\frac{1}{2} \end{aligned}\right)\\ b^*&=y_3-\sum\limits_{i=1}^3\alpha_iy_i(x_i\cdot x_3)=-2 \end{aligned}
ω∗b∗=α1y1x1+α3y3x3=41(33)+41(−1)(11)=
2121
=y3−i=1∑3αiyi(xi⋅x3)=−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)