文章目录
- 线性可分SVM和硬间隔最大化
- 函数间隔和几何间隔
- 间隔最大化
- 支持向量
- 学习的对偶算法
- 线性SVM和软间隔最大化
- 支持向量
- 非线性SVM和核函数
- SMO算法
- 求解二次规划
- 选择变量
- 第一个变量
- 第二个变量
- 计算 b b b 和 E i E_i Ei
线性可分SVM和硬间隔最大化
函数间隔和几何间隔
用 y ( w x + b ) y(wx+b) y(wx+b) 表示分类的正确性和确信度
-
函数间隔
样本点的函数间隔
γ ^ i = y i ( w x i + b ) \hat\gamma_i=y_i(wx_i+b) γ^i=yi(wxi+b)
数据集的函数间隔:所有样本点的函数间隔最小值
γ ^ = min i = 1 , ⋯ , N γ ^ i \hat\gamma = \min_{i=1,\cdots, N}\hat\gamma_i γ^=i=1,⋯,Nminγ^i
-
几何间隔:只要成比例地改变 w, b ,函数间隔就会改变。因此规范化,样本点的几何间隔
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i = y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}) γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)
这刚好是点到直线的距离
数据集的几何间隔为
γ = min i = 1 , ⋯ , N γ i \gamma = \min_{i=1,\cdots, N}\gamma_i γ=i=1,⋯,Nminγi
可得函数间隔和几何间隔的关系
γ = γ ^ ∣ ∣ w ∣ ∣ \gamma =\frac{\hat\gamma}{||w||} γ=∣∣w∣∣γ^
间隔最大化
SVM学习的基本思想:求解能正确划分训练集并且几何间隔最大的分离超平面
原最优化问题
max w , b γ s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , ⋯ , N \max_{w, b}\quad \gamma \\ {\rm s.t.}\quad y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||})\geq \gamma,\quad i = 1,2,\cdots, N w,bmaxγs.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,⋯,N
改写为函数间隔的形式
max w , b γ ^ ∣ ∣ w ∣ ∣ s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯ , N \max_{w, b}\quad \frac{\hat\gamma}{||w||} \\ {\rm s.t.}\quad y_i({w}\cdot x_i+{b})\geq \hat\gamma,\quad i = 1,2,\cdots, N w,bmax∣∣w∣∣γ^s.t.yi(w⋅xi+b)≥γ^,i=1,2,⋯,N
而函数间隔的取值并不影响最优化问题的解,因此取 1 ,并转换成最小化凸函数的形式(凸优化问题,局部最优解就是全局最优解)
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯ , N \min_{w, b}\quad \frac{1}{2}||w||^2 \\ {\rm s.t.}\quad y_i({w}\cdot x_i+{b})-1\geq 0,\quad i = 1,2,\cdots, N w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0,i=1,2,⋯,N
支持向量
在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,也就是使约束条件等号成立的向量
y i ( w ⋅ x i + b ) − 1 = 0 y_i({w}\cdot x_i+{b})-1 = 0 yi(w⋅xi+b)−1=0
H1与H2之间的距离成为间隔,H1, H2称为间隔边界。决定分离超平面时,只有支持向量起作用。移动其他的样本点并不改变所求的解,因此SVM由很少的“重要的”训练样本决定。
学习的对偶算法
有关对偶问题和KKT条件的前导知识可见此篇
简单地说,
- 原始问题:先求关于算子的极大,再求关于参数的极小
- 对偶问题:先求关于参数的极小,再求关于算子的极大
线性可分SVM的拉格朗日函数
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w x i + b ) + ∑ i = 1 N α i L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N \alpha_i y_i(wx_i+b)+\sum_{i=1}^N \alpha_i L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(wxi+b)+i=1∑Nαi
对偶问题
max α min w , b L ( w , b , α ) \max_{\alpha}\min_{w,b} L(w,b,\alpha) αmaxw,bminL(w,b,α)
-
求 min w , b L ( w , b , α ) \min_{w,b} L(w,b,\alpha) minw,bL(w,b,α)
对 w , b w,b w,b 求偏导,得到约束
w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 w=\sum_{i=1}^N \alpha_i y_i x_i\\ \sum_{i=1}^N \alpha_i y_i=0 w=i=1∑Nαiyixii=1∑Nαiyi=0
代入原式即可。
-
求极大(线性可分SVM算法)
max α − 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 = 1 N α i y i = 0 α i ≥ 0 \max_{\alpha}\quad -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i\alpha_j y_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i \\ {\rm s.t.}\quad \begin{aligned} & \sum_{i=1}^N\alpha_iy_i=0 \\ & \alpha_i\geq 0 \end{aligned} αmax−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0
由于原始问题满足C.2的条件,原始问题可以转换为对偶问题
提炼一下,
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w x i + b ) + ∑ i = 1 N α i L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N \alpha_i y_i(wx_i+b)+\sum_{i=1}^N \alpha_i L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(wxi+b)+i=1∑Nαi
原始问题
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯ , N \min_{w, b}\quad \frac{1}{2}||w||^2 \\ {\rm s.t.}\quad y_i({w}\cdot x_i+{b})-1\geq 0,\quad i = 1,2,\cdots, N w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0,i=1,2,⋯,N
对偶问题
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 = 1 N α i y i = 0 α i ≥ 0 \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i\alpha_j y_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i \\ {\rm s.t.}\quad \begin{aligned} & \sum_{i=1}^N\alpha_iy_i=0 \\ & \alpha_i\geq 0 \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0
带入得到原始最优化问题的解
w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) w^*=\sum_{i=1}^N \alpha_i^* y_i x_i \\ b^*=y_j-\sum_{i=1}^N \alpha_i^*y_i(x_i\cdot x_j) w∗=i=1∑Nαi∗yixib∗=yj−i=1∑Nαi∗yi(xi⋅xj)
其中, j j j 满足 α j ∗ > 0 \alpha_j^*>0 αj∗>0 ,事实上也就是支持向量。
线性SVM和软间隔最大化
假设训练数据集不是线性可分的,通常情况是有一些特异点,去除了这些特异点之后数据集就线性可分了。引入一个松弛变量,使得函数间隔加上松弛变量大于等于1
y i ( w x i + b ) ≥ 1 − ξ i y_i(wx_i+b)\geq 1-\xi_i yi(wxi+b)≥1−ξi
改变目标函数
提炼一下,
1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i 21∣∣w∣∣2+Ci=1∑Nξi
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 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_{i=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−i=1∑Nαi(yi(wxi+b)−1+ξi)−i=1∑Nμiξi
原始问题
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯ , N ξ i ≥ 0 , i = 1 , 2 , ⋯ , N \min_{w, b}\quad \frac{1}{2}|| w||^2+C\sum_{i=1}^N\xi_i \\ {\rm s.t.}\quad \begin{aligned} & y_i({w}\cdot x_i+{b})\geq 1-\xi_i,\quad i = 1,2,\cdots, N \\ & \xi_i\geq 0, \quad i = 1,2,\cdots, N \end{aligned} w,bmin21∣∣w∣∣2+Ci=1∑Nξis.t.yi(w⋅xi+b)≥1−ξi,i=1,2,⋯,Nξi≥0,i=1,2,⋯,N
对偶问题
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 = 1 N α i y i = 0 0 ≤ α i ≤ C \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i\alpha_j y_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i \\ {\rm s.t.}\quad \begin{aligned} & \sum_{i=1}^N\alpha_iy_i=0 \\ & 0\leq\alpha_i\leq C \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C
线性SVM的对偶问题和线性可分SVM的对偶问题差不多,只在最后一条约束里有改动,这是在对参数求 min \min min 时 ξ i \xi_i ξi 那项带来的。
w , b w, b w,b 的计算过程和线性可分SVM的一样。
支持向量
在线性不可分的情况下,将对偶问题的解中对应 α i ∗ > 0 \alpha_i^*>0 αi∗>0 的样本点的实例作为支持向量
-
α i ∗ < C \alpha_i^*<C αi∗<C :由KKT条件,此时 ξ i = 0 \xi_i=0 ξi=0 ,支持向量恰好落在间隔边界上
( μ i ∗ = C − α i ∗ > 0 , μ i ∗ ξ i = 0 \mu_i^*=C-\alpha_i^*>0, \mu_i^*\xi_i=0 μi∗=C−αi∗>0,μi∗ξi=0)
-
α i ∗ = C \alpha_i^*=C αi∗=C :由KKT条件, ξ i > 0 \xi_i>0 ξi>0
- 0 < ξ i < 1 0<\xi_i<1 0<ξi<1 :支持向量落在间隔边界和超平面之间,分类正确
- ξ i = 1 \xi_i=1 ξi=1 :支持向量落在超平面上
- ξ i > 1 \xi_i>1 ξi>1 :支持向量落在误分类一侧
上述关系可由线性SVM的KKT条件得到,
非线性SVM和核函数
采取非线性变换,将非线性问题转化为线性问题
核函数的大义
ϕ ( x ) = X → H , K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) \phi(x)=\mathcal{X}\to\mathcal{H},\ K(x,z)=\phi(x)\cdot\phi(z) ϕ(x)=X→H, K(x,z)=ϕ(x)⋅ϕ(z)
- 对于给定的核 K K K ,特征空间 H \mathcal{H} H 和映射 ϕ \phi ϕ 的取法不唯一
因为特征向量 x x x 可能有很多维,可以修改线性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_iy_jK(x_i\cdot 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
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
)
b
∗
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
)
f(x)={\rm sign}(\sum_{i=1}^N \alpha_i^*y_iK(x_i, x)+b^*)\\ b^*=y_j-\sum_{i=1}^N \alpha_i^*y_iK(x_i, x)
f(x)=sign(i=1∑Nαi∗yiK(xi,x)+b∗)b∗=yj−i=1∑Nαi∗yiK(xi,x)
提炼一下,
min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , ⋯ , N \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i\alpha_j y_iy_jK(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i \\ {\rm s.t.}\quad \begin{aligned} & \sum_{i=1}^N\alpha_iy_i=0 \\ & 0\leq\alpha_i\leq C,\quad i = 1,2,\cdots, N \end{aligned} αmin21i=1∑Nj=1∑NαiαjyiyjK(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,⋯,N
- 常用的核函数
SMO算法
求解这个对偶问题
min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , ⋯ , N \min_{\alpha}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N \alpha_i\alpha_j y_iy_jK(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i \\ {\rm s.t.}\quad \begin{aligned} & \sum_{i=1}^N\alpha_iy_i=0 \\ & 0\leq\alpha_i\leq C,\quad i = 1,2,\cdots, N \end{aligned} αmin21i=1∑Nj=1∑NαiαjyiyjK(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,⋯,N
变量有 N N N 个,太多了。如果每个变量都满足KKT就好了,所以每次选取两个变量去让它们接近于满足KKT条件
求解二次规划
启发算法,一次选择两个变量,固定其他变量,求解二次规划子问题,这个二次规划问题关于这两个变量的解应该更接近原始二次规划问题的解。
选取一个违反KKT条件最严重的变量,另一个自动确定(因为在固定
n
−
2
n-2
n−2 个变量之后,也就固定了
y
1
α
1
+
y
2
α
2
y_1\alpha_1+y_2\alpha_2
y1α1+y2α2 的值,那么
α
1
\alpha_1
α1 确定时
α
2
\alpha_2
α2 也确定了)
从原始对偶问题中抽出和选出变量 α 1 , α 2 \alpha_1, \alpha_2 α1,α2 相关的部分,可以得到子问题
min α 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 ∑ i = 3 N α i y i K i 1 − y 2 α 2 ∑ i = 3 N α i y i K i 2 s . t . y 1 α 1 + y 2 α 2 = − ∑ i = 3 N α i y i = ς 0 ≤ α i ≤ C , i = 1 , 2 \min_{\alpha}\quad \frac{1}{2}K_{11}\alpha_{1}^2+\frac{1}{2}K_{22}\alpha_2^2+y_1y_2K_{12}\alpha_1\alpha_2-(\alpha_1+\alpha_2)+y_1\alpha_1\sum_{i=3}^N \alpha_i y_iK_{i1}-y_2\alpha_2\sum_{i=3}^N \alpha_i y_iK_{i2} \\ \begin{aligned} {\rm s.t.}\quad& y_1\alpha_1+y_2\alpha_2=-\sum_{i=3}^N\alpha_iy_i=\varsigma \\ & 0\leq\alpha_i\leq C,\quad i = 1,2 \end{aligned} αmin21K11α12+21K22α22+y1y2K12α1α2−(α1+α2)+y1α1i=3∑NαiyiKi1−y2α2i=3∑NαiyiKi2s.t.y1α1+y2α2=−i=3∑Nαiyi=ς0≤αi≤C,i=1,2
该二次规划问题又可以转换为单变量优化问题,因为
y
i
y_i
yi 的取值只能是
±
1
\pm1
±1 。
s
.
t
.
y
1
α
1
+
y
2
α
2
=
−
∑
i
=
3
N
α
i
y
i
=
ς
0
≤
α
i
≤
C
,
i
=
1
,
2
\begin{aligned} {\rm s.t.}\quad& y_1\alpha_1+y_2\alpha_2=-\sum_{i=3}^N\alpha_iy_i=\varsigma \\ & 0\leq\alpha_i\leq C,\quad i = 1,2 \end{aligned}
s.t.y1α1+y2α2=−i=3∑Nαiyi=ς0≤αi≤C,i=1,2
那么固定 α 1 n e w \alpha_1^{new} α1new ,限定 α 2 n e w \alpha_2^{new} α2new 的取值范围为 L ≤ α 2 n e w ≤ H L\leq\alpha_2^{new}\leq H L≤α2new≤H ,其中
-
y
1
≠
y
2
y_1\neq y_2
y1=y2
- α 2 o l d − α 1 o l d ≤ 0 \alpha_2^{old}-\alpha_1^{old}\leq0 α2old−α1old≤0: L = 0 , H = C + α 2 o l d − α 1 o l d L=0, H=C+\alpha_2^{old}-\alpha_1^{old} L=0,H=C+α2old−α1old
- α 2 o l d − α 1 o l d > 0 \alpha_2^{old}-\alpha_1^{old}>0 α2old−α1old>0: L = α 2 o l d − α 1 o l d , H = C L=\alpha_2^{old}-\alpha_1^{old}, H=C L=α2old−α1old,H=C
-
y
1
=
y
2
y_1=y_2
y1=y2
- α 1 o l d + α 2 o l d ≤ C \alpha_1^{old}+\alpha_2^{old}\leq C α1old+α2old≤C: L = 0 , H = α 1 o l d + α 2 o l d L=0, H=\alpha_1^{old}+\alpha_2^{old} L=0,H=α1old+α2old
- α 1 o l d + α 2 o l d > C \alpha_1^{old}+\alpha_2^{old}> C α1old+α2old>C: L = α 1 o l d + α 2 o l d − C , H = C L=\alpha_1^{old}+\alpha_2^{old}-C, H=C L=α1old+α2old−C,H=C
子问题沿着约束方向未经剪辑(指没考虑7.103,最后一行)的解是
α 2 n e w , u n c = α 2 o l d + y 2 ( E 1 − E 2 ) η η = K 11 + K 22 − 2 K 12 = ∣ ∣ ϕ ( x 1 ) − ϕ ( x 2 ) ∣ ∣ 2 (7.106) \alpha_2^{new, unc}=\alpha_2^{old}+\frac{y_2(E_1-E_2)}{\eta}\tag{7.106}\\ \eta=K_{11}+K_{22}-2K_{12}=||\phi(x_1)-\phi(x_2)||^2 α2new,unc=α2old+ηy2(E1−E2)η=K11+K22−2K12=∣∣ϕ(x1)−ϕ(x2)∣∣2(7.106)
可以根据此得到 α 1 n e w , α 2 n e w \alpha_1^{new}, \alpha_2^{new} α1new,α2new 。
如果 α 2 n e w , u n c \alpha_2^{new, unc} α2new,unc 夹在 L , H L, H L,H 的范围内,就直接那它作为 α 2 n e w \alpha_2^{new} α2new 的值,否则就按需取 L L L 或 H H H 。
根据 y 1 α 1 + y 2 α 2 = − ∑ i = 3 N α i y i = ς y_1\alpha_1+y_2\alpha_2=-\sum_{i=3}^N\alpha_iy_i=\varsigma y1α1+y2α2=−∑i=3Nαiyi=ς ,可以得到如下等式
y 1 α 1 o l d + y 2 α 2 o l d = y 1 α 1 n e w + y 2 α 2 n e w y_1\alpha_1^{old}+y_2\alpha_2^{old}=y_1\alpha_1^{new}+y_2\alpha_2^{new} y1α1old+y2α2old=y1α1new+y2α2new
由于 y 1 ⋅ y 1 = 1 y_1\cdot y_1=1 y1⋅y1=1 ,等式两边同乘 y 1 y_1 y1 , α 1 n e w = α 1 o l d + y 1 y 2 ( α 2 o l d − α 2 n e w ) \alpha_1^{new} = \alpha_1^{old}+y_1y_2(\alpha_2^{old}-\alpha_2^{new}) α1new=α1old+y1y2(α2old−α2new)
选择变量
第一个变量
外层循环,选择违反KKT条件最严重的样本点 α 1 \alpha_1 α1 。首先遍历间隔边界上( 0 < α i < C 0<\alpha_i<C 0<αi<C )的支持向量点,如果这些点都满足KKT条件,就遍历整个训练集。
由KKT条件( 线性SVM的KKT条件在支持向量小节的图片中有列出),可知 0 < α i < C 0<\alpha_i<C 0<αi<C 时 μ i > 0 \mu_i>0 μi>0 ,则松弛变量 ξ i = 0 \xi_i=0 ξi=0 ,所以 0 < α i < C 0<\alpha_i<C 0<αi<C 意味着该点在间隔边界上
KKT条件如下
α i = 0 ⇔ y i g ( x i ) ≥ 1 0 < α i < C ⇔ y i g ( x i ) = 1 α i = C ⇔ y i g ( x i ) ≤ 1 \begin{aligned} \alpha_i=0 &\Leftrightarrow y_ig(x_i)\geq 1 \\ 0<\alpha_i<C &\Leftrightarrow y_ig(x_i)= 1 \\ \alpha_i=C &\Leftrightarrow y_ig(x_i)\leq 1 \\ \end{aligned} αi=00<αi<Cαi=C⇔yig(xi)≥1⇔yig(xi)=1⇔yig(xi)≤1
由于 E i = g ( x i ) − y i E_i=g(x_i)-y_i Ei=g(xi)−yi ,上式可以改写为
α i = 0 ⇔ y i E i ≥ 0 0 < α i < C ⇔ y i E i = 0 α i = C ⇔ y i E i ≤ 0 \begin{aligned} \alpha_i=0 &\Leftrightarrow y_iE_i\geq 0 \\ 0<\alpha_i<C &\Leftrightarrow y_iE_i= 0 \\ \alpha_i=C &\Leftrightarrow y_iE_i\leq 0 \\ \end{aligned} αi=00<αi<Cαi=C⇔yiEi≥0⇔yiEi=0⇔yiEi≤0
违反KKT条件的检验应在 ε \varepsilon ε 范围内进行,
α i < C ⇔ y i E i ≥ 0 ⇔ y i E i < ϵ 则违反 K K T 条件 α i > 0 ⇔ y i E i ≤ 0 ⇔ y i E i > ϵ 则违反 K K T 条件 \begin{aligned} \alpha_i<C\Leftrightarrow y_iE_i\geq 0\Leftrightarrow y_iE_i<\epsilon则违反KKT条件\\ \alpha_i>0\Leftrightarrow y_iE_i\leq 0\Leftrightarrow y_iE_i>\epsilon则违反KKT条件 \end{aligned} αi<C⇔yiEi≥0⇔yiEi<ϵ则违反KKT条件αi>0⇔yiEi≤0⇔yiEi>ϵ则违反KKT条件
第二个变量
内层循环,选择能发生足够大变化的 α 2 \alpha_2 α2 。由(7.106)知 α 2 n e w \alpha_2^{new} α2new 依赖于 ∣ E 1 − E 2 ∣ |E_1-E_2| ∣E1−E2∣ ,
- 直观做法,由于 α 1 , E 1 \alpha_1, E_1 α1,E1 确定,直接选和 E 1 E_1 E1 相差最远的 E i E_i Ei 作为 E 2 E_2 E2
- 启发方法,如果变化不够大,就随机用间隔边界上的支持向量
- 还不行就从整个训练集里挑一个