支持向量机
支持向量机是一种二类分类模型。他的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机还宝包括核技巧,使得它实质上是非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划问题,也等价于正则化的合页损失函数的最小化问题。
当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机,又称为硬间隔支持向量机。
当训练数据近似线性可分时,通过软间隔最大化,学习一个线性的分类器,即线性支持向量机,又称软间隔支持向量机。
当训练数据线性不可分时,通过核技巧及软间隔最大化,学习非线性支持向量机。
1 线性可分支持向量机与硬间隔最大化
1.1 线性可分支持向量机
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:
w
∗
x
+
b
∗
=
0
w^*x+b^*=0
w∗x+b∗=0
以及相应的分类决策函数
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
f(x)=sign(w^*x+b^*)
f(x)=sign(w∗x+b∗)
称为线性可分支持向量机。
1.2 函数间隔和几何间隔
函数间隔对于给定的训练数据集
T
T
T和超平面
(
w
,
b
)
(w,b)
(w,b),定义超平面
(
w
,
b
)
(w,b)
(w,b)关于样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的函数间隔为
γ
i
^
=
y
i
(
w
x
i
+
b
)
\widehat{\gamma_i}=y_i(wx_i+b)
γi
=yi(wxi+b)
定义超平面
(
w
,
b
)
(w,b)
(w,b)关于训练集
T
T
T的函数间隔为超平面
(
w
,
b
)
(w,b)
(w,b)关于
T
T
T中所有样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的函数间隔之最小值,即
γ
^
=
m
i
n
i
=
1
,
2
,
.
.
.
,
N
γ
i
^
\widehat{\gamma}=min_{i=1,2,...,N} \widehat{\gamma_i}
γ
=mini=1,2,...,Nγi
几何间隔对于给定的训练数据集
T
T
T和超平面
(
w
,
b
)
(w,b)
(w,b),定义超平面
(
w
,
b
)
(w,b)
(w,b)关于样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的函数间隔为
γ
i
=
y
i
(
w
∣
∣
w
∣
∣
x
i
+
b
∣
∣
w
∣
∣
)
{\gamma_i}=y_i(\frac{w}{||w||}x_i+\frac{b}{||w||})
γi=yi(∣∣w∣∣wxi+∣∣w∣∣b)
定义超平面
(
w
,
b
)
(w,b)
(w,b)关于训练集
T
T
T的函数间隔为超平面
(
w
,
b
)
(w,b)
(w,b)关于
T
T
T中所有样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的函数间隔之最小值,即
γ
=
m
i
n
i
=
1
,
2
,
.
.
.
,
N
γ
i
\gamma=min_{i=1,2,...,N} \quad \gamma_i
γ=mini=1,2,...,Nγi
1.3 间隔最大化
SVM的学习基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。而感知机是基于函数间隔的。
c如何求得一个几何间隔最大的分离超平面,可以表示为下面的约束最优化问题:
m
a
x
w
,
b
γ
max_{w,b} \quad \gamma
maxw,bγ
s
.
t
.
y
i
(
w
∣
∣
w
∣
∣
x
i
+
b
∣
∣
w
∣
∣
)
≥
γ
s.t. \quad y_i(\frac{w}{||w||}x_i+\frac{b}{||w||}) \geq \gamma
s.t.yi(∣∣w∣∣wxi+∣∣w∣∣b)≥γ
考虑到几何间隔和函数间隔关系式,问题可以改写为:
m
a
x
w
,
b
γ
^
∣
∣
w
∣
∣
max_{w,b} \quad \frac{\hat\gamma}{||w||}
maxw,b∣∣w∣∣γ^
s
.
t
.
y
i
(
w
x
i
+
b
)
≥
γ
^
s.t. \quad y_i(wx_i+b) \geq \hat\gamma
s.t.yi(wxi+b)≥γ^
等价于:
m
i
n
w
,
b
∣
∣
w
∣
∣
2
2
min_{w,b} \quad \frac{||w||^2}{2}
minw,b2∣∣w∣∣2
s
.
t
.
y
i
(
w
x
i
+
b
)
−
1
≥
0
s.t. \quad y_i(wx_i+b) -1 \geq 0
s.t.yi(wxi+b)−1≥0
1.4 学习的对偶算法
应用拉格朗日对偶性求解支持向量机的最优化原始问题。
构造拉格朗日函数:
L
(
w
,
b
,
α
)
=
∣
∣
w
∣
∣
2
2
−
∑
i
=
1
N
α
i
y
i
(
w
x
i
+
b
)
+
∑
i
=
1
N
α
i
L(w,b,\alpha)=\frac{||w||^2}{2} - \sum_{i=1}^N \alpha_iy_i(wx_i+b)+\sum_{i=1}^{N}\alpha_i
L(w,b,α)=2∣∣w∣∣2−i=1∑Nαiyi(wxi+b)+i=1∑Nαi
原始问题的对偶问题是极大极小问题:
m
a
x
α
m
i
n
w
,
b
L
(
w
,
b
,
α
)
max_{\alpha}min_{w,b}L(w,b,\alpha)
maxαminw,bL(w,b,α)
(1)求
m
i
n
w
,
b
L
(
w
,
b
,
α
)
min_{w,b}L(w,b,\alpha)
minw,bL(w,b,α),对
w
,
b
w,b
w,b求偏导并令其等于0,得到
w
=
∑
i
=
1
N
α
i
y
i
x
i
w=\sum_{i=1}^N \alpha_iy_ix_i
w=i=1∑Nαiyixi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N \alpha_iy_i=0
i=1∑Nαiyi=0
带入拉格朗日函数,可得:
m
i
n
w
,
b
L
(
w
,
b
,
α
)
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
x
j
+
∑
i
=
1
N
α
i
min_{w,b}L(w,b,\alpha)=-\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_jy_iy_jx_ix_j + \sum_{i=1}^N\alpha_i
minw,bL(w,b,α)=−21i=1∑Nj=1∑Nαiαjyiyjxixj+i=1∑Nαi
(2)求
m
i
n
w
.
b
L
(
w
,
b
,
α
)
min_{w.b}L(w,b,\alpha)
minw.bL(w,b,α)对
α
\alpha
α的极大,即是对偶问题
m
a
x
α
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
x
j
+
∑
i
=
1
N
α
i
max_{\alpha} \quad -\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_jy_iy_jx_ix_j + \sum_{i=1}^N\alpha_i
maxα−21i=1∑Nj=1∑Nαiαjyiyjxixj+i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
s.t.\quad \sum_{i=1}^N \alpha_iy_i=0
s.t.i=1∑Nαiyi=0
α
i
≥
0
,
i
=
1
,
2
,
3...
,
N
\alpha_i \geq 0, i = 1,2,3...,N
αi≥0,i=1,2,3...,N
线性可分支持向量机学习算法
(1)构造并求解约束最优化问题
m
a
x
α
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
x
j
+
∑
i
=
1
N
α
i
max_{\alpha} \quad -\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_jy_iy_jx_ix_j + \sum_{i=1}^N\alpha_i
maxα−21i=1∑Nj=1∑Nαiαjyiyjxixj+i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
s.t.\quad \sum_{i=1}^N \alpha_iy_i=0
s.t.i=1∑Nαiyi=0
α
i
≥
0
,
i
=
1
,
2
,
3...
,
N
\alpha_i \geq 0, i = 1,2,3...,N
αi≥0,i=1,2,3...,N
求得最优解
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
N
∗
)
T
\alpha^{*}=(\alpha_1^{*},\alpha_2^{*},...,\alpha_N^{*})^T
α∗=(α1∗,α2∗,...,αN∗)T
(2)计算
w
∗
=
∑
i
=
1
N
α
i
∗
y
i
x
i
w^*=\sum_{i=1}^N \alpha_i^*y_ix_i
w∗=i=1∑Nαi∗yixi
选择
α
∗
\alpha^*
α∗一个正分量
α
j
∗
>
0
\alpha_j^* > 0
αj∗>0,计算
b
∗
=
y
i
−
∑
i
=
1
N
α
i
∗
y
i
(
x
i
x
j
)
b^*=y_i-\sum_{i=1}^N \alpha_i^*y_i(x_ix_j)
b∗=yi−i=1∑Nαi∗yi(xixj)
(3)求得分离超平面
w
∗
x
+
b
∗
=
0
w^*x+b^*=0
w∗x+b∗=0
分类决策函数:
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
f(x)=sign(w^*x+b^*)
f(x)=sign(w∗x+b∗)
2 线性支持向量机与软间隔最大化
线性不可分意味着某些样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)不能满足函数间隔大于等于1的约束条件。为了解决这一问题,引进了一个松弛变量
ξ
i
≥
0
\xi_i \geq 0
ξi≥0,使得函数间隔加上松弛变量大于等于1,约束条件变为:
y
i
(
w
x
i
+
b
)
≥
1
−
ξ
i
y_i(wx_i+b) \geq 1- \xi_i
yi(wxi+b)≥1−ξi
那么线性不可分的线性支持向量机的原始问题就是:
m
i
n
w
,
b
,
ξ
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
N
ξ
i
min_{w,b,\xi}\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i
minw,b,ξ21∣∣w∣∣2+Ci=1∑Nξi
s
.
t
.
y
i
(
w
x
i
+
b
)
≥
1
−
ξ
i
s.t. \quad y_i(wx_i+b) \geq 1- \xi_i
s.t.yi(wxi+b)≥1−ξi
ξ
i
≥
0
\xi_i \geq 0
ξi≥0
原始问题的对偶问题是:
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
x
j
)
−
∑
i
=
1
N
α
i
min_{\alpha}\frac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j(x_i x_j) - \sum_{i=1}^N \alpha_i
minα21i=1∑Nj=1∑Nαiαjyiyj(xixj)−i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
s.t. \quad \sum_{i=1}^N \alpha_i y_i=0
s.t.i=1∑Nαiyi=0
0
≤
α
i
≤
C
0 \leq \alpha_i \leq C
0≤αi≤C
构造拉格朗日函数:
L
(
w
,
b
,
ξ
,
α
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
N
ξ
i
−
∑
j
=
1
N
α
i
(
y
i
(
w
x
i
+
b
)
−
1
+
ξ
i
)
−
∑
i
=
1
N
μ
i
ξ
i
L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i- \sum_{j=1}^N\alpha_i(y_i(wx_i+b)-1+\xi_i)-\sum_{i=1}^N\mu_i \xi_i
L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑Nξi−j=1∑Nαi(yi(wxi+b)−1+ξi)−i=1∑Nμiξi
其中,
α
i
≥
0
,
μ
i
≥
0
\alpha_i \geq 0,\mu_i \geq 0
αi≥0,μi≥0。
依次通过
L
(
w
,
b
,
ξ
,
α
,
μ
)
L(w,b,\xi,\alpha,\mu)
L(w,b,ξ,α,μ)对
w
,
b
,
ξ
w,b,\xi
w,b,ξ求偏导,并令其等于0,可得:
w
=
∑
i
=
1
N
α
i
y
i
x
i
w= \sum_{i=1}^N \alpha_iy_ix_i
w=i=1∑Nαiyixi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N \alpha_iy_i=0
i=1∑Nαiyi=0
C
−
α
i
−
μ
i
=
0
C-\alpha_i-\mu_i=0
C−αi−μi=0
带入得到:
m
a
x
α
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
x
j
)
+
∑
i
=
1
N
α
i
max_{\alpha} \quad -\frac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i x_j) + \sum_{i =1}^N \alpha_i
maxα−21i=1∑Nj=1∑Nαiαjyiyj(xixj)+i=1∑Nαi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N \alpha_iy_i=0
i=1∑Nαiyi=0
C
−
α
i
−
μ
i
=
0
C-\alpha_i-\mu_i=0
C−αi−μi=0
α
i
≥
0
,
μ
i
≥
0
\alpha_i \geq 0, \mu_i \geq 0
αi≥0,μi≥0
线性支持向量机学习算法
(1)选择惩罚参数
C
>
0
C > 0
C>0。构造并求解凸二次规划问题。
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
x
j
)
−
∑
i
=
1
N
α
i
min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i x_j) - \sum_{i =1}^N \alpha_i
minα21i=1∑Nj=1∑Nαiαjyiyj(xixj)−i=1∑Nαi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N \alpha_iy_i=0
i=1∑Nαiyi=0
0
≤
α
i
≤
C
0 \leq \alpha_i \leq C
0≤αi≤C
求得最优解
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
N
∗
)
T
\alpha^{*}=(\alpha_1^{*},\alpha_2^{*},...,\alpha_N^{*})^T
α∗=(α1∗,α2∗,...,αN∗)T。
(2)计算
w
∗
=
∑
i
=
1
N
α
∗
y
i
x
i
w^*=\sum_{i=1}^N\alpha^*y_ix_i
w∗=∑i=1Nα∗yixi,选择
α
∗
\alpha^*
α∗的一个分量
α
j
∗
\alpha_j^*
αj∗适合条件
0
<
α
j
∗
<
C
0 < \alpha_j^* < C
0<αj∗<C。计算
b
∗
=
y
j
−
∑
i
=
1
N
y
i
α
i
∗
(
x
i
x
j
)
b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_ix_j)
b∗=yj−i=1∑Nyiαi∗(xixj)
(3)求得分离超平面
w
∗
x
+
b
∗
=
0
w^*x+b^*=0
w∗x+b∗=0
分类决策函数:
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
f(x)=sign(w^*x+b^*)
f(x)=sign(w∗x+b∗)
2.2 合页损失函数
合页损失函数。下标
“
+
”
“+”
“+”表示取正值的函数。
[
z
]
+
=
{
z
,
z
>
0
0
,
z
≤
0
[z]_+= \begin{cases} z, & \text{z$ >$0} \\[5ex] 0, & \text{z$\leq$0} \end{cases}
[z]+=⎩
⎨
⎧z,0,z>0z≤0
对于线性支持向量机的合页损失函数:
L
(
y
(
w
x
+
b
)
)
=
[
1
−
y
(
w
x
+
b
)
]
+
L(y(wx+b))=[1-y(wx+b)]_+
L(y(wx+b))=[1−y(wx+b)]+
3.非线性支持向量机与核函数
如果能用特征空间中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。
用线性分类方法求解非线性变换分类问题分为两步:首先使用一个变换将原空间的数据映射到新空间;然后在新空间用线性分类学习方法从训练数据中学习分类模型。
3.1 核技巧
核函数 —设
X
X
X是输入空间,又设
H
H
H为特征空间,如果存在一个
X
X
X到
H
H
H的映射:
ϕ
(
x
)
=
X
→
H
\phi(x)=X \rightarrow H
ϕ(x)=X→H
使得对suoyou
x
,
z
∈
X
x,z \in X
x,z∈X ,函数
K
(
x
,
z
)
K(x,z)
K(x,z)满足条件
K
(
x
,
z
)
=
ϕ
(
x
)
ϕ
(
z
)
K(x,z)=\phi(x)\phi(z)
K(x,z)=ϕ(x)ϕ(z)
则
K
(
x
,
z
)
K(x,z)
K(x,z)称为核函数,
ϕ
(
x
)
\phi(x)
ϕ(x)为映射函数,公式右边为内积。
核技巧在SVM中的应用,SVM的对偶问题目标函数为:
W
(
α
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
W(\alpha)=\frac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i,x_j)-\sum_{i=1}^N \alpha_i
W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
同样,分类决策函数中的内积也用核函数带题,因为分类决策函数为:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
s
α
i
∗
y
i
ϕ
(
x
i
)
ϕ
(
x
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^{N_s}\alpha_i^*y_i \phi(x_i) \phi_(x) + b^* )
f(x)=sign(i=1∑Nsαi∗yiϕ(xi)ϕ(x)+b∗)
=
s
i
g
n
(
∑
i
=
1
N
s
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
)
=sign(\sum_{i=1}^{N_s}\alpha_i^*y_i K(x_i,x)+ b^* )
=sign(i=1∑Nsαi∗yiK(xi,x)+b∗)
3.2 正定核
K
(
x
,
z
)
K(x,z)
K(x,z)对应的Gram矩阵
K
=
[
K
(
x
i
,
x
j
)
]
m
∗
m
K=[K(x_i,x_j)]_{m*m}
K=[K(xi,xj)]m∗m
是一个半正定矩阵,则称
K
(
x
,
z
)
K(x,z)
K(x,z)是正定核。
3.3 常用核函数
1.多项式核函数
K
(
x
,
z
)
=
(
x
z
+
1
)
p
K(x,z)=(xz+1)^p
K(x,z)=(xz+1)p
2.高斯核函数
K
(
x
,
z
)
=
e
x
p
(
−
∣
∣
x
−
z
∣
∣
2
2
σ
2
)
K(x,z)=exp(-\frac{||x-z||^2}{2 \sigma^2})
K(x,z)=exp(−2σ2∣∣x−z∣∣2)
3.字符串核函数
[
ϕ
n
(
s
)
]
u
=
∑
i
:
s
(
i
)
=
u
λ
l
(
i
)
[\phi_n(s)]_u=\sum_{i:s(i)=u}\lambda^{l(i)}
[ϕn(s)]u=i:s(i)=u∑λl(i)
字符串核函数
k
n
(
s
,
t
)
k_n(s,t)
kn(s,t)为
k
n
(
s
,
t
)
=
∑
u
∈
∑
n
[
ϕ
n
(
s
)
]
u
[
ϕ
n
(
t
)
]
u
k_n(s,t)=\sum_{u \in\sum^n}[\phi_n(s)]_u[\phi_n(t)]_u
kn(s,t)=u∈∑n∑[ϕn(s)]u[ϕn(t)]u
=
∑
u
∈
∑
n
∑
(
i
,
j
)
:
s
(
i
)
=
t
(
j
)
=
u
λ
l
(
i
)
λ
l
(
j
)
=\sum_{u \in \sum^n}\sum_{(i,j):s(i)=t(j)=u} \lambda^{l(i)} \lambda^{l(j)}
=u∈∑n∑(i,j):s(i)=t(j)=u∑λl(i)λl(j)
非线性支持向量机
非线性支持向量机学习算法
(1)选取适当的核函数
K
(
x
,
z
)
K(x,z)
K(x,z)和适当的参数
C
C
C,
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
min_{\alpha} \quad \frac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i ,x_j) - \sum_{i =1}^N \alpha_i
minα21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^N \alpha_iy_i=0
i=1∑Nαiyi=0
0
≤
α
i
≤
C
0 \leq \alpha_i \leq C
0≤αi≤C
求得最优解
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
N
∗
)
T
\alpha^{*}=(\alpha_1^{*},\alpha_2^{*},...,\alpha_N^{*})^T
α∗=(α1∗,α2∗,...,αN∗)T。
(2)计算
w
∗
=
∑
i
=
1
N
α
∗
y
i
x
i
w^*=\sum_{i=1}^N\alpha^*y_ix_i
w∗=∑i=1Nα∗yixi,选择
α
∗
\alpha^*
α∗的一个分量
α
j
∗
\alpha_j^*
αj∗适合条件
0
<
α
j
∗
<
C
0 < \alpha_j^* < C
0<αj∗<C。计算
b
∗
=
y
j
−
∑
i
=
1
N
y
i
α
i
∗
K
(
x
i
,
x
j
)
b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*K(x_i,x_j)
b∗=yj−i=1∑Nyiαi∗K(xi,xj)
(4)构造分类决策函数:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
y
i
α
i
∗
K
(
x
,
x
i
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^Ny_i\alpha_i^*K(x,x_i)+b^*)
f(x)=sign(i=1∑Nyiαi∗K(x,xi)+b∗)
4.序列最小优化算法
SMO算法
输入:训练数据
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\left\{ (x_1,y_1), (x_2,y_2),..., (x_N,y_N)\right\}
T={(x1,y1),(x2,y2),...,(xN,yN)},其中
x
i
∈
R
n
,
y
i
∈
Y
=
{
+
1
,
−
1
}
x_i \in R^n,y_i \in Y=\left\{+1,-1\right\}
xi∈Rn,yi∈Y={+1,−1},精度为
ξ
\xi
ξ;
输出:近似解
α
^
\hat\alpha
α^。
(1)取初值
α
(
0
)
=
0
,
令
\alpha^{(0)}=0,令
α(0)=0,令k=0
;
;
;
(2)选取优化变量
α
1
k
,
α
2
k
\alpha_1^{k},\alpha_2^{k}
α1k,α2k,解析求解两个变量的最优化问题,求得最优解
α
1
k
+
1
,
α
2
k
+
1
\alpha_1^{k+1},\alpha_2^{k+1}
α1k+1,α2k+1,更新
α
\alpha
α为
α
(
k
+
1
)
\alpha^{(k+1)}
α(k+1)。
(3)若在精度
ξ
\xi
ξ范围内满足停机条件
∑
i
=
1
N
α
i
y
i
=
0
,
0
≤
α
i
≤
C
\sum_{i=1}^N \alpha_iy_i=0, 0\leq\alpha_i\leq C
i=1∑Nαiyi=0,0≤αi≤C
y
i
g
(
x
i
)
=
{
≥
1
,
{
x
i
∣
α
i
=
0
}
=
1
,
{
x
i
∣
0
<
α
i
<
C
}
≤
1
,
{
x
i
∣
α
i
=
C
}
y_ig(x_i)=\begin{cases} \geq 1, & \text{$\left\{x_i|\alpha_i=0\right\}$} \\[5ex] =1, & \text{$\left\{x_i|0<\alpha_i<C\right\}$}\\[5ex] \leq1, & \text{$\left\{x_i|\alpha_i=C\right\}$} \end{cases}
yig(xi)=⎩
⎨
⎧≥1,=1,≤1,{xi∣αi=0}{xi∣0<αi<C}{xi∣αi=C}
其中,
g
(
x
i
)
=
∑
j
=
1
N
α
j
y
j
K
(
x
j
,
x
i
)
+
b
g(x_i)=\sum_{j=1}^N \alpha_j y_jK(x_j,x_i)+b
g(xi)=∑j=1NαjyjK(xj,xi)+b,
则转(4),如不满足则令
k
=
k
+
1
k=k+1
k=k+1转(2)。
(4)取
α
^
=
α
(
k
+
1
)
\hat \alpha=\alpha^{(k+1)}
α^=α(k+1)