一、线性可分支持向量机
1.1 支持向量机学习目标
支持向量机的输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间。支持向量机的学习是在特征空间上进行的。
对于一个有两个类别的数据集( y i ∈ { + 1 , − 1 } y_i\in\{+1,-1\} yi∈{+1,−1}),假设训练数据集是线性可分的,学习的目标是在特征空间中找到一分离超平面能将实例分到不同类。当数据集线性可分时,有无数个分离超平面可将数据正确分开,支持向量机利用间隔最大化求解最优分离超平面,因此解是唯一的。通过间隔最大化或等价地来解相应的凸二次规划问题学习得到的分离超平面为 w T x + b = 0 w^Tx+b=0 wTx+b=0,分类决策函数: f ( x ) = s i g n ( w T x + b ) f(x)=sign(w^Tx+b) f(x)=sign(wTx+b)。
使用间隔最大化策略的原因:对训练集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开,对未知新实例有很好的分类预测能力。
1.2 函数间隔和几何间隔
一个点距离分离超平面的远近可以表示分类预测的确信程度,超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0确定的情况下, ∣ w T x + b ∣ |w^Tx+b| ∣wTx+b∣能够相对地表示点 x x x距离超平面的远近。因为,点到线 w T x + b = 0 w^Tx+b=0 wTx+b=0的距离公式为 ∣ w T x + b ∣ w 2 \frac{|w^Tx+b|}{\sqrt{w^{2}}} w2∣wTx+b∣,当w为定值式,距离大小只与分子有关。
函数间隔:对某一点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi),函数间隔为 γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_{i}=y_{i}\left(w \cdot x_{i}+b\right) γ^i=yi(w⋅xi+b),对训练集T的函数间隔为 γ ^ = min i = 1 , 2 , . . . , m γ ^ i \hat{\gamma}=\min _{i=1,2,... ,m} \hat{\gamma}_{i} γ^=mini=1,2,...,mγ^i。
几何间隔:对某一点 ( x i , y i ) \left(x_{i}, y_{i}\right) (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),对训练集T的几何间隔为 γ = min i = 1 , 2 , . . . , m γ i {\gamma}=\min _{i=1,2,... ,m} {\gamma}_{i} γ=mini=1,2,...,mγi。
函数间隔和几何间隔的关系: γ i = γ ^ i ∣ ∣ w ∣ ∣ \gamma_i=\frac{\hat{\gamma}_{i}}{|| w||} γi=∣∣w∣∣γ^i, γ = γ ^ ∣ ∣ w ∣ ∣ \gamma_=\frac{\hat{\gamma}_{}}{|| w||} γ=∣∣w∣∣γ^。
引入几何间隔的原因:选择分离超平面时,若成比例地改变w和b,超平面本身并没有改变,但函数间隔却成比例变化。因此,对w进行规范化约束,令 ∣ ∣ w ∥ = 1 ||w\|=1 ∣∣w∥=1,使得间隔能够确定下来,此时几何间隔表达式变为函数间隔。
当某点被正确分类时,函数间隔表达式就是点到直线距离公式的分子部分,几何间隔就是点到直线公式,使用距离公式来确定间隔距离,保证了欧式空间的距离的标准化,确定不会因为w,b的成倍缩放影响距离度量。
1.3 线性可分SVM的基本型
最大化几何间隔可转换为下面约束最优化问题:
max w , b γ \max _{w, b} \gamma w,bmaxγ,(此处为几何间隔)
s . t . y i ( w ∥ w ∥ x i + b ∥ w ∥ ) ≥ γ , i = 1 , 2 , . . . , m s.t.y_i(\frac{w}{\|w\|}x_i+\frac{b}{\|w\|})\geq \gamma,i=1,2, ...,m s.t.yi(∥w∥wxi+∥w∥b)≥γ,i=1,2,...,m
最大化几何间隔$\gamma , 约 束 条 件 表 示 的 是 超 平 面 关 于 每 个 训 练 集 样 本 的 几 何 间 隔 至 少 是 ,约束条件表示的是超平面关于每个训练集样本的几何间隔至少是 ,约束条件表示的是超平面关于每个训练集样本的几何间隔至少是\gamma $。
改写:
max w , b γ ^ ∣ ∣ w ∣ ∣ \max _{w, b} \frac{\hat\gamma}{||w||} w,bmax∣∣w∣∣γ^,(此处为函数间隔)
s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , . . . , m s.t.y_{i}\left(w \cdot x_{i}+b\right)\geq \hat\gamma,i=1,2, ...,m s.t.yi(w⋅xi+b)≥γ^,i=1,2,...,m
可取 γ ^ = 1 \hat\gamma=1 γ^=1,将 γ ^ = 1 \hat\gamma=1 γ^=1带入上面的最优化问题中,并且不影响问题的解。
可取 γ ^ = 1 \hat\gamma=1 γ^=1并且不影响解的原因:从约束条件看:将 γ ^ \hat\gamma γ^按比例放缩到1,同时也将 w , b w,b w,b按相同的比例进行放缩,放缩因子是 1 ∣ γ ^ ∣ \frac{1}{|\hat\gamma|} ∣γ^∣1,此时约束条件 s . t . y i ( w ⋅ x i + b ) ≥ γ ^ ⇒ y i ( w ∣ γ ^ ∣ x i + b ∣ γ ^ ∣ ) s.t.y_{i}\left(w \cdot x_{i}+b\right)\geq \hat\gamma\Rightarrow y_{i}(\frac{w}{|\hat \gamma|}x_i+\frac{b}{|\hat \gamma|}) s.t.yi(w⋅xi+b)≥γ^⇒yi(∣γ^∣wxi+∣γ^∣b),因为等式的关系同时放缩,所以等式约束左右相消,对等式约束没有任何的影响,即 w , b w,b w,b的缩放和 γ ^ \hat\gamma γ^的缩放没有影响,原来能满足约束条件的点仍能满足约束。从目标函数看: γ ^ \hat\gamma γ^进行缩放为1,缩放因子为 1 ∣ γ ^ ∣ \frac{1}{|\hat\gamma|} ∣γ^∣1,但同时 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣也会同时乘上缩放因子 1 ∣ γ ^ ∣ \frac{1}{|\hat\gamma|} ∣γ^∣1(因为等式 γ ^ = ∣ w T x + b ∣ \hat \gamma=|w^Tx+b| γ^=∣wTx+b∣的原因),所以目标函数也不会受到影响。两者都没有影响,所以最终不会影响问题解。
转换优化问题为最小优化,得到线性可分支持向量机的基本型:
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 \min _{w, b} \frac{1}{2} ||w||^2 w,bmin21∣∣w∣∣2
s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , . . . , m s.t.y_{i}\left(w \cdot x_{i}+b\right)-1\geq0,i=1,2, ...,m s.t.yi(w⋅xi+b)−1≥0,i=1,2,...,m
这是一个凸二次规划问题,接下来要转换凸二次规划问题为其对偶问题求解。
凸最优化问题(约束最优化)形式: min w f ( w ) , s . t . : g i ( w ) ≤ 0 , i = 1 , 2 , . . , k ; h i ( w ) = 0 , i = 1 , 2 , . . . , l \min _{w} f(w),s.t.:g_i(w)\leq0,i=1,2,..,k;h_i(w)=0,i=1,2,...,l minwf(w),s.t.:gi(w)≤0,i=1,2,..,k;hi(w)=0,i=1,2,...,l,要求: f ( w ) 和 g i ( w ) f(w)和g_i(w) f(w)和gi(w)都是 R n R^n Rn上连续可微的凸函数, h i ( w ) h_i(w) hi(w)是 R n R^n Rn上的仿射函数(仿射函数: f ( x ) = a x + b , a ∈ R n , b ∈ R , x ∈ R n f(x)=ax+b,a\in R^n,b\in R,x \in R^n f(x)=ax+b,a∈Rn,b∈R,x∈Rn)。
凸优化问题能细化为凸二次规划问题的条件:目标函数 f ( w ) f(w) f(w)为二次函数,约束函数 g i ( w ) g_i(w) gi(w)是仿射函数。
1.4 支持向量和决策边界
求解上述问题后,得到参数 w ∗ w^* w∗和 b ∗ b^* b∗,可得分离超平面(决策边界): 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∗)。
支持向量:线性可分情况下,训练数据集中与分离超平面距离最近的实例称为支持向量。支持向量是使约束条件等号成立的点,即满足 y i ( w ⋅ x i + b ) − 1 = 0 y_{i}\left(w \cdot x_{i}+b\right)-1=0 yi(w⋅xi+b)−1=0的点,在决定分离超平面时,只有支持向量起作用,其他实例点不起作用。
1.5 拉格朗日对偶性(转换对偶问题的理论基础)
原始问题:设 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数,考虑约束最优化问题:
min x ∈ R n f ( x ) \min _{x\in R^n} f(x) x∈Rnminf(x)
s . t . c i ( x ) ≤ 0 , i = 1 , 2 , . . , k ; h j ( x ) = 0 , j = 1 , 2 , . . . , l s.t.c_i(x)\leq0,i=1,2,..,k;h_j(x)=0,j=1,2,...,l s.t.ci(x)≤0,i=1,2,..,k;hj(x)=0,j=1,2,...,l
可得广义拉格朗日函数:
L ( x , α , β ) = f ( x ) + ∑ i = 1 K α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x, \alpha, \beta)=f(x)+\sum_{i=1}^{K} \alpha_ic_{i}(x)+{\sum_{j=1}^{l} \beta_ j h_ j(x)} L(x,α,β)=f(x)+i=1∑Kαici(x)+j=1∑lβjhj(x),其中 α i , β j \alpha_{i}, \beta_{j} αi,βj是拉格朗日乘子, α i , β j \alpha_{i}, \beta_{j} αi,βj的个数和其对应约束条件个数相等,且 α i ≥ 0 \alpha_{i}\geq 0 αi≥0(不等式约束条件的拉格朗日乘子要求大于等于0)。
则,原始问题中 f ( x ) f(x) f(x)可以等价转化为: θ p ( x ) = max α , β : α i ≥ 0 L ( x , α , β ) \theta _p(x)=\max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta) θp(x)=maxα,β:αi≥0L(x,α,β)。
可以等价转化的原因:当某个x违反约束时( c i ( x ) > 0 c_i(x)>0 ci(x)>0或 h j ( x ) ≠ 0 h_j(x)\neq 0 hj(x)=0), θ p ( x ) = max α , β : α i ≥ 0 L ( x , α , β ) = + ∞ \theta _p(x)=\max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta)=+\infty θp(x)=maxα,β:αi≥0L(x,α,β)=+∞。因为若某个 x i x_i xi使 c i ( x ) > 0 c_i(x)>0 ci(x)>0,则可 α i → + ∞ \alpha_i \rightarrow +\infty αi→+∞,若某个 x j x_j xj使得 h j ( x ) ≠ 0 h_j(x) \neq0 hj(x)=0,则可令 β j \beta_j βj使得 β j h j ( x ) → + ∞ \beta_jh_j(x)\rightarrow+\infty βjhj(x)→+∞。此时 θ p ( x ) = { f ( x ) , 满 足 约 束 + ∞ , 不 满 足 约 束 \theta _p(x)=\left\{\begin{array}{l}{f(x),满足约束} \\ {+\infty,不满足约束}\end{array}\right. θp(x)={f(x),满足约束+∞,不满足约束,满足约束时,为了使得 L ( x , α , β ) L(x,\alpha,\beta) L(x,α,β)最大, α i \alpha_i αi和 β i \beta_i βi均为0。
接着带入 f ( x ) f(x) f(x),考虑极小化问题,$\min _{x} \theta_p(x)=\min _{x}\max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta) , 此 时 此 式 称 为 极 小 极 大 问 题 , 令 其 最 优 解 为 ,此时此式称为极小极大问题,令其最优解为 ,此时此式称为极小极大问题,令其最优解为p^*$。
此时,上式和原始问题有相同的解,因为若想使 θ p ( x ) \theta_p(x) θp(x)最小,x就不能违反约束,否则此时 θ p ( x ) = + ∞ \theta_p(x)=+\infty θp(x)=+∞,肯定不是使 θ p ( x ) \theta_p(x) θp(x)最小的x值,间接性排除了不满足约束的x取值。
对偶问题:定义 θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha, \beta)=\min _{x^{}} L(x, \alpha, \beta) θD(α,β)=minxL(x,α,β),再考虑极大化 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β),即: max α , β : α i ≥ 0 θ D ( α , β ) = max α , β : α i ≥ 0 min x L ( x , α , β ) \max _{\alpha, \beta : \alpha_{i} \geq 0} \theta_{D}(\alpha, \beta)=\max _{\alpha, \beta : \alpha_{i} \geq 0} \min _{x^{}} L(x, \alpha, \beta) maxα,β:αi≥0θD(α,β)=maxα,β:αi≥0minxL(x,α,β),此时称为极大极小问题(交换了min和max的顺序),令其最优解为 d ∗ d^* d∗,这就是原始问题的对偶问题形式。
原始问题和对偶问题的关系
定理1:若原始问题和对偶问题都有最优解,则: d ∗ = max α , β : α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β : α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max _{\alpha, \beta : \alpha_{i} \geq 0} \min _{x^{}} L(x, \alpha, \beta) \leq\min _{x}\max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta) =p^* d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗。
证明:因为 θ D ( α , β ) = min x L ( x , α , β ) ≤ L ( x , α , β ) ≤ max α , β : α i ≥ 0 L ( x , α , β ) = θ p ( x ) \theta_D(\alpha, \beta)=\min _{x^{}} L(x, \alpha, \beta)\leq L(x, \alpha,\beta)\leq \max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta)=\theta_p(x) θD(α,β)=minxL(x,α,β)≤L(x,α,β)≤maxα,β:αi≥0L(x,α,β)=θp(x),可得: θ D ( α , β ) ≤ θ p ( x ) \theta_D(\alpha, \beta)\leq\theta_p(x) θD(α,β)≤θp(x),等号成立时,便是 α , β \alpha,\beta α,β刚好取得使L( max α , β : α i ≥ 0 θ D ( α , β ) \max _{\alpha, \beta : \alpha_{i} \geq 0} \theta_{D}(\alpha, \beta) maxα,β:αi≥0θD(α,β))取到最大且恰好x取值使得L( min x θ p ( x ) \min _{x} \theta_p(x) minxθp(x))最小。不论 x , α , β x,\alpha,\beta x,α,β取任何值,因为 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β)是沿着x参数方向取最小值,而 θ p ( x ) \theta_p(x) θp(x)是沿着 α , β \alpha,\beta α,β方向取最大值,优化方向不同,所以 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β)均小于等于 θ p ( x ) \theta_p(x) θp(x)。由于原始问题和对偶问题均有最优解,可得: max α , β : α i ≥ 0 θ D ( α , β ) ≤ min x θ p ( x ) \max _{\alpha, \beta : \alpha_{i} \geq 0} \theta_{D}(\alpha, \beta) \leq \min _{x} \theta_p(x) maxα,β:αi≥0θD(α,β)≤minxθp(x),即: d ∗ = max α , β : α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β : α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max _{\alpha, \beta : \alpha_{i} \geq 0} \min _{x^{}} L(x, \alpha, \beta) \leq\min _{x}\max _{\alpha, \beta:\alpha_i \geq0}L(x, \alpha, \beta) =p^* d∗=maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)=p∗。
定理2:假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数,不等式约束
c
i
(
x
)
c_i(x)
ci(x)是严格可行的,即存在x,对所有
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗,使
x
∗
x^*
x∗是原始问题的解,
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗是对偶问题的解,并且
p
∗
=
d
∗
=
L
(
x
∗
,
α
∗
,
β
∗
)
p^*=d^*=L(x^*, \alpha^*,\beta^*)
p∗=d∗=L(x∗,α∗,β∗)。
结论说明,不论先根据x最小化,再根据
α
,
β
\alpha,\beta
α,β最大化目标拉格朗日函数,还是先根据
α
,
β
\alpha,\beta
α,β最大化再根据x最小化目标拉格朗日函数,最终结果是一样的,虽然使其达到最终结果的是两种方式,但结果值一样。
定理3:函数 f ( x ) f(x) f(x)和 c i ( x ) c_i(x) ci(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数,且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的, x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗分别是原始问题和对偶问题的解的充要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗满足KKT条件:
∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{x} L\left(x^{*}, \alpha^{*}, \beta^{*}\right)=0 ∇xL(x∗,α∗,β∗)=0
∇ α L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{\alpha} L\left(x^{*}, \alpha^{*}, \beta^{*}\right)=0 ∇αL(x∗,α∗,β∗)=0
∇ β L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{\beta} L\left(x^{*}, \alpha^{*}, \beta^{*}\right)=0 ∇βL(x∗,α∗,β∗)=0
c i ( x ∗ ) ≤ 0 , i = 1 , 2 , . . . , k c_i(x^*)\leq0,i=1,2,...,k ci(x∗)≤0,i=1,2,...,k
h j ( x ∗ ) = 0 , j = 1 , 2 , . . . , l h_j(x^*)=0, j=1,2,...,l hj(x∗)=0,j=1,2,...,l
α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , . . . , k \alpha ^* _i c_i(x^*)=0,i=1,2,...,k αi∗ci(x∗)=0,i=1,2,...,k
α i ∗ ≥ 0 , i = 1 , 2 , . . . , k \alpha ^* _i \geq0,i=1,2,...,k αi∗≥0,i=1,2,...,k
前三条是对x和拉格朗日乘子的偏导数为0的条件,第四五条是原始约束条件,第六条是原始条件的衍生条件(KKT的对偶互补条件,即:若$\alpha ^* _i >0,c _i(x^*)=0 $),第七条是拉格朗日乘子条件。
1.6 原始问题的对偶问题
通过求解对偶问题得到原始问题的最优解
构造拉格朗日函数: L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 m α i y i ( w i x + b ) + ∑ i = 1 m α i L(w,b,\alpha)=\frac {1}{2}||w||^2-\sum_{i=1}^{m}\alpha_{i} y_{i}(w^x_i+b)+\sum_{i=1}^{m}\alpha_i L(w,b,α)=21∣∣w∣∣2−∑i=1mαiyi(wix+b)+∑i=1mαi。
原始问题: min w , b max α L ( w , b , α ) \min _{w,b} \max_\alpha L(w, b, \alpha) minw,bmaxαL(w,b,α),
对偶问题: max α min w , b L ( w , b , α ) \max_\alpha \min _{w,b} L(w, b, \alpha) maxαminw,bL(w,b,α)。
Step1:求解 min w , b L ( w , b , α ) \min _{w,b} L(w, b, \alpha) minw,bL(w,b,α)
∇ w L ( w , b , α ) = w − ∑ i = 1 m α i y i x i = 0 \nabla_{w} L(w, b, \alpha)=w-\sum_{i=1}^{m} \alpha_i y_ix_{i}=0 ∇wL(w,b,α)=w−∑i=1mαiyixi=0
∇ b L ( w , b , α ) = ∑ i = 1 m α i y i = 0 \nabla_{b} L(w, b, \alpha)=\sum_{i=1}^{m} \alpha_i y_i=0 ∇bL(w,b,α)=∑i=1mαiyi=0(成为Step2中的约束条件)
可得: w = ∑ i = 1 m α i y i x i w={\sum}_{i=1}^{m} \alpha_{i} y_{i} x_{i} w=∑i=1mαiyixi和 ∑ i = 1 m α i y i = 0 \sum_{i=1}^{m} \alpha_i y_i=0 ∑i=1mαiyi=0。
将结果带入 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)中,即得:
L ( w , b , α ) = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i x j ) − ∑ i = 1 m α i y i ( ( ∑ j = 1 m α j y j x j ) x i + b ) + ∑ i = 1 m α i L(w, b, \alpha)=\frac{1}{2}\sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_ix_j)-\sum_{i=1}^{m}\alpha_iy_i((\sum_{j=1}^{m}\alpha_jy_jx_j)x_i+b)+\sum_{i=1}^m\alpha_i L(w,b,α)=21∑i=1m∑j=1mαiαjyiyj(xixj)−∑i=1mαiyi((∑j=1mαjyjxj)xi+b)+∑i=1mαi
= − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i x j ) + ∑ i = 1 m α i =-\frac{1}{2}\sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_ix_j)+\sum_{i=1}^m\alpha_i =−21∑i=1m∑j=1mαiαjyiyj(xixj)+∑i=1mαi
即: min w , b L ( w , b , α ) = − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i x j ) + ∑ i = 1 m α i \min _{w, b} L(w, b, \alpha)=-\frac{1}{2}\sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_ix_j)+\sum_{i=1}^m\alpha_i minw,bL(w,b,α)=−21∑i=1m∑j=1mαiαjyiyj(xixj)+∑i=1mαi。
Step2:求 min w , b L ( w , b , α ) \min _{w, b} L(w, b, \alpha) minw,bL(w,b,α)对 α \alpha α的极大
max α − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i x j ) + ∑ i = 1 m α i \max _{\alpha}-\frac{1}{2}\sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_ix_j)+\sum_{i=1}^m\alpha_i maxα−21∑i=1m∑j=1mαiαjyiyj(xixj)+∑i=1mαi,
s . t . ∑ i = 1 m α i y i = 0 , α i ≥ 0 s.t.\sum_{i=1}^m \alpha_iy_i=0,\alpha_i\geq0 s.t.∑i=1mαiyi=0,αi≥0
可得原始问题的对偶问题形式:
min α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i x j ) + ∑ i = 1 m α i \min _{\alpha}\frac{1}{2}\sum_{i=1}^{m} \sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_ix_j)+\sum_{i=1}^m\alpha_i minα21∑i=1m∑j=1mαiαjyiyj(xixj)+∑i=1mαi,
s . t . ∑ i = 1 m α i y i = 0 , α i ≥ 0 s.t.\sum_{i=1}^m \alpha_iy_i=0,\alpha_i\geq0 s.t.∑i=1mαiyi=0,αi≥0
1.7 决策边界仅由支持向量决定的证明
定理:设 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α m ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_m^*)^T α∗=(α1∗,α2∗,...,αm∗)T是对偶问题的解,则存在下标j使得 α j > 0 \alpha_j>0 αj>0,并且 w ∗ = ∑ i = 1 m α i ∗ y i x i w^*=\sum_{i=1}^m\alpha_{i}^* y_{i} x_{i} w∗=∑i=1mαi∗yixi, b = y j − ∑ i = 1 m α i ∗ y i ( x i x j ) b=y_j-\sum_{i=1}^m\alpha_{i}^* y_{i} (x_{i}x_j) b=yj−∑i=1mαi∗yi(xixj)。
证明:因为原问题满足了拉格朗日对偶性定理2,从而定理3的KKT条件成立可得:
∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 m α i ∗ y i x i = 0 \nabla_{w} L(w^*, b^*, \alpha^*)=w^*-\sum_{i=1}^{m} \alpha_i^* y_ix_{i}=0 ∇wL(w∗,b∗,α∗)=w∗−∑i=1mαi∗yixi=0
∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 m α i ∗ y i = 0 \nabla_{b} L(w^*, b^*, \alpha^*)=-\sum_{i=1}^{m} \alpha_i^* y_i=0 ∇bL(w∗,b∗,α∗)=−∑i=1mαi∗yi=0
α i ∗ ( y i ( w ∗ x i + b ∗ ) − 1 ) ≥ 0 , i = 1 , 2 , . . . , m \alpha_{i}^*(y_i(w^*x_i+b^*)-1)\geq0,i=1,2,...,m αi∗(yi(w∗xi+b∗)−1)≥0,i=1,2,...,m
y i ( w ∗ x i + b ∗ ) − 1 ≥ 0 , i = 1 , 2 , . . . , m y_i(w^*x_i+b^*)-1\geq0,i=1,2,...,m yi(w∗xi+b∗)−1≥0,i=1,2,...,m
α i ∗ ≥ 0 , i = 1 , 2 , . . . , m \alpha^*_i\geq0,i=1,2,...,m αi∗≥0,i=1,2,...,m
由1式可得: w ∗ = ∑ i = 1 m α i ∗ y i x i w^*=\sum_{i=1}^{m} \alpha_i^* y_ix_{i} w∗=∑i=1mαi∗yixi,即 w ∗ w^* w∗只和 α i ∗ > 0 \alpha_i^*>0 αi∗>0的点有关,并且至少有一个 α j > 0 \alpha_j>0 αj>0,因为若 α i \alpha_i αi全为0,此时 w ∗ w^* w∗为0,带入4式中得 y i ∗ b ≥ 1 y_i*b\geq1 yi∗b≥1,因为b为一常数, y i y_i yi取值有 ± 1 \pm1 ±1,则 ± b ≥ 1 \pm b\geq1 ±b≥1肯定不满足。对满足 α j > 0 \alpha_j>0 αj>0的点有 y j ( w ∗ x j + b ) − 1 = 0 y_j(w^*x_j+b)-1=0 yj(w∗xj+b)−1=0,即可得 b = y j − ∑ i = 1 m α i ∗ y i ( x i x j ) b=y_j-\sum_{i=1}^m\alpha_{i}^* y_{i} (x_{i}x_j) b=yj−∑i=1mαi∗yi(xixj)。证毕。
此时分离超平面为 ∑ i = 1 m α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \sum_{i=1}^m\alpha_{i}^* y_{i} (x \cdot x_{i})+b^*=0 ∑i=1mαi∗yi(x⋅xi)+b∗=0,分类决策函数为: f ( x ) = s i g n ( ∑ i = 1 m α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=sign(\sum_{i=1}^m\alpha_{i}^* y_{i} (x \cdot x_{i})+b^*) f(x)=sign(∑i=1mαi∗yi(x⋅xi)+b∗)。
至此,分类函数是一个仅和 α \alpha α有关的优化问题,求解就是求解 α ∗ \alpha^* α∗。
对 α i ∗ ≥ 0 \alpha^*_i\geq0 αi∗≥0的点 x i x_i xi有 y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 y_i(w^* \cdot x_i+b^*)-1=0 yi(w∗⋅xi+b∗)−1=0,即 w ∗ ⋅ x i + b ∗ = ± 1 w^* \cdot x_i+b^*=\pm 1 w∗⋅xi+b∗=±1,所以 x i x_i xi一定在决策边界上,称这些在决策边界上 α i ∗ ≥ 0 \alpha^*_i\geq0 αi∗≥0的点为支持向量。
因为 w ∗ , b ∗ w^*,b^* w∗,b∗只依赖于训练数据中 α i ∗ ≥ 0 \alpha^*_i\geq0 αi∗≥0的样本点,数据中对应于 α i ∗ ≥ 0 \alpha^*_i\geq0 αi∗≥0的实例点为支持向量,所以决策边界仅由支持向量决定。
1.8 线性可分支持向量机分离超平面存在唯一性证明
定理:线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
证明:
-
证明存在性。因为训练集线性可分,所以原始问题一定存在可行解,又由于目标函数有下界,所以最优化问题必有解(原始问题目标函数有下界0,所以必不为负无穷,最小化必有解),由于数据集 y ∈ { 1 , − 1 } y \in \{1, -1\} y∈{1,−1},所以 ( w , b ) = ( 0 , b ) (w, b)=(0,b) (w,b)=(0,b)不是最优解,故 w ∗ ≠ 0 w^* \neq 0 w∗=0,因此分离超平面一定存在。
-
证明唯一性。
-
首先证明 w ∗ w^* w∗唯一性。假设原始问题存在两个最优解 ( w 1 ∗ , b 1 ∗ ) (w^*_1,b_1^*) (w1∗,b1∗)和 ( w 2 ∗ , b 2 ∗ ) (w^*_2,b_2^*) (w2∗,b2∗),显然 ∣ ∣ w 1 ∗ ∣ ∣ = ∣ ∣ w 2 ∗ ∣ ∣ = C ||w_1^*||=||w_2^*||=C ∣∣w1∗∣∣=∣∣w2∗∣∣=C,令 w = w 1 ∗ + w 2 ∗ 2 , b = b 1 ∗ + b 2 ∗ 2 w=\frac{w_{1}^*+w_{2}^{*}}{2},b=\frac{b_{1}^*+b_{2}^{*}}{2} w=2w1∗+w2∗,b=2b1∗+b2∗,因为 y i ( w 1 ∗ x i + b 1 ∗ ) − 1 ≥ 0 , y i ( w 2 ∗ x i + b 2 ∗ ) − 1 ≥ 0 y_i(w^*_1x_i+b_1^*)-1\geq0,y_i(w^*_2x_i+b_2^*)-1\geq0 yi(w1∗xi+b1∗)−1≥0,yi(w2∗xi+b2∗)−1≥0,两式各乘上 1 2 \frac{1}{2} 21相加即满足约束条件,故得 ( w , b ) (w,b) (w,b)是原始问题的可行解。从而有 C ≤ ∣ ∣ w ∣ ∣ ≤ 1 2 ∣ ∣ w 1 ∗ ∣ ∣ + 1 2 ∣ ∣ w 2 ∗ ∣ ∣ = C C\leq||w||\leq \frac{1}{2}||w^*_1||+\frac{1}{2}||w^*_2||=C C≤∣∣w∣∣≤21∣∣w1∗∣∣+21∣∣w2∗∣∣=C,即 ∣ ∣ w ∣ ∣ = 1 2 ∣ ∣ w 1 ∗ ∣ ∣ + 1 2 ∣ ∣ w 2 ∗ ∣ ∣ ||w||= \frac{1}{2}||w^*_1||+\frac{1}{2}||w^*_2|| ∣∣w∣∣=21∣∣w1∗∣∣+21∣∣w2∗∣∣,从而有 w 1 ∗ = λ w 2 ∗ , ∣ λ ∣ = 1 w^*_1=\lambda w^*_2,|\lambda|=1 w1∗=λw2∗,∣λ∣=1,若 λ = − 1 , w = 0 \lambda=-1,w=0 λ=−1,w=0,此时不为可行解,故 λ = 1 , w 1 ∗ = w 2 ∗ \lambda=1,w^*_1=w^*_2 λ=1,w1∗=w2∗。
-
证明 b ∗ b^* b∗的唯一性。假设两个最优解 ( w ∗ , b 1 ∗ ) (w^*,b_1^*) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b_2^*) (w∗,b2∗)。设 x 1 ′ , x 2 ′ x_{1}^{\prime},x_{2}^{\prime} x1′,x2′是集合 { x i ∣ y i = + 1 } \{x_i|y_i=+1\} {xi∣yi=+1}中分别对应于 ( w ∗ , b 1 ∗ ) (w^*,b^*_1) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b^*_2) (w∗,b2∗)中使约束条件等号成立的点(即分隔边界点), x 1 ′ ′ , x 2 ′ ′ x_{1}^{\prime\prime},x_{2}^{\prime\prime} x1′′,x2′′是集合 { x i ∣ y i = − 1 } \{x_i|y_i=-1\} {xi∣yi=−1}中分别对应于 ( w ∗ , b 1 ∗ ) (w^*,b^*_1) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b^*_2) (w∗,b2∗)使约束条件等号成立的点。
由 { w ∗ ⋅ x 1 ′ + b 1 ∗ = 1 w ∗ ⋅ x 1 ′ ′ + b 1 ∗ = − 1 w ∗ ⋅ x 2 ′ + b 2 ∗ = 1 w ∗ ⋅ x 2 ′ ′ + b 2 ∗ = − 1 \left\{\begin{matrix} w^* \cdot x^{\prime}_1+b_1^*=1\\ w^* \cdot x^{\prime\prime}_1+b_1^*=-1\\ w^* \cdot x^{\prime}_2+b_2^*=1\\ w^* \cdot x^{\prime\prime}_2+b_2^*=-1 \end{matrix}\right. ⎩⎪⎪⎨⎪⎪⎧w∗⋅x1′+b1∗=1w∗⋅x1′′+b1∗=−1w∗⋅x2′+b2∗=1w∗⋅x2′′+b2∗=−1
联立可得: b 1 ∗ = − 1 2 ( w ∗ ⋅ x 1 ′ + w ∗ ⋅ x 1 ′ ′ ) , b 2 ∗ = − 1 2 ( w ∗ ⋅ x 2 ′ + w ∗ ⋅ x 2 ′ ′ ) b_{1}^{*}=-\frac{1}{2}\left(w^{*} \cdot x_{1}^{\prime}+w^* \cdot x^{\prime \prime}_1\right),b_{2}^{*}=-\frac{1}{2}\left(w^{*} \cdot x_{2}^{\prime}+w^* \cdot x^{\prime \prime}_2\right) b1∗=−21(w∗⋅x1′+w∗⋅x1′′),b2∗=−21(w∗⋅x2′+w∗⋅x2′′)。
即 b 1 ∗ − b 2 ∗ = − 1 2 [ w ∗ ( x 1 ′ − x 2 ′ ) + w ∗ ( x 1 ′ ′ − x 2 ′ ′ ) ] b_1^*-b_2^*=-\frac{1}{2}[w^*(x_1^\prime-x_2^\prime) + w^*(x_1^{\prime\prime}-x_2^{\prime\prime}) ] b1∗−b2∗=−21[w∗(x1′−x2′)+w∗(x1′′−x2′′)]。
又因为对于 w x ′ + b wx^{\prime}+b wx′+b来说,任何的x均要满足 w x ′ + b ≥ 1 wx^{\prime}+b\geq1 wx′+b≥1,所以可得:
{ w ∗ ⋅ x 2 ′ + b 1 ∗ ≥ 1 = w ∗ ⋅ x 1 ′ + b 1 w ∗ ⋅ x 1 ′ + b 2 ∗ ≥ 1 = w ∗ ⋅ x 2 ′ + b 2 \left\{\begin{matrix} w^* \cdot x^\prime _2 + b_1^* \geq 1 = w^* \cdot x^\prime _1 + b_1\\ w^* \cdot x^\prime _1 + b_2^* \geq 1 = w^* \cdot x^\prime _2 + b_2 \end{matrix}\right. {w∗⋅x2′+b1∗≥1=w∗⋅x1′+b1w∗⋅x1′+b2∗≥1=w∗⋅x2′+b2
所以有: 0 ≤ w ∗ ⋅ ( x 1 ′ − x 2 ′ ) ≤ 0 , 0 ≤ w ∗ ⋅ ( x 1 ′ ′ − x 2 ′ ′ ) ≤ 0 0\leq w^{*} \cdot\left(x_{1}^{\prime}-x_{2}^{\prime}\right)\leq0,0\leq w^{*} \cdot\left(x_{1}^{\prime\prime}-x_{2}^{\prime\prime}\right)\leq0 0≤w∗⋅(x1′−x2′)≤0,0≤w∗⋅(x1′′−x2′′)≤0,即 w ∗ ⋅ ( x 1 ′ − x 2 ′ ) = 0 , w ∗ ⋅ ( x 1 ′ ′ − x 2 ′ ′ ) = 0 w^{*} \cdot\left(x_{1}^{\prime}-x_{2}^{\prime}\right)=0,w^{*} \cdot\left(x_{1}^{\prime\prime}-x_{2}^{\prime\prime}\right)=0 w∗⋅(x1′−x2′)=0,w∗⋅(x1′′−x2′′)=0。带入上面 b 1 ∗ − b 2 ∗ b_1^*-b_2^* b1∗−b2∗表达式可得: b 1 ∗ − b 2 ∗ = 0 b_1^*-b_2^*=0 b1∗−b2∗=0,即 b 1 ∗ = b 2 ∗ b_1^*=b_2^* b1∗=b2∗,唯一性证毕。
-
二、软间隔线性支持向量机
训练数据集往往是线性不可分,即在样本中出现嗓音或特异点。修改硬间隔最大化,使其成为软间隔最大化。
2.1 线性不可分问题
线性不可分意味着某些样本点 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))不能满足函数间隔大于等于1的约束条件,对每个样本点 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))引入一个松弛变量 ξ i ≥ 0 \xi _i\geq0 ξi≥0,使函数间隔加上松驰变量大于等于1。约束条件变为: y i ( w ⋅ x ( i ) + b ) ≥ 1 − ξ i y_i(w \cdot x^{(i)}+b)\geq1-\xi _i yi(w⋅x(i)+b)≥1−ξi。
同时对每个松弛变量 ξ i \xi_i ξi支付一个代价,从而目标函数由 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2变为了 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \frac{1}{2}||w||^2 + C\sum_{i=1}^m \xi_i 21∣∣w∣∣2+C∑i=1mξi,其中 C C C称为惩罚系数。
松弛变量 ξ i \xi_i ξi的含义:当点距离分割超平面距离大于 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1时(正确分类),此时为0即可,此时也使得代价函数 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \frac{1}{2}||w||^2 + C\sum_{i=1}^m \xi_i 21∣∣w∣∣2+C∑i=1mξi最小。当点距离超平面距离小于 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1或错误分类时,引入一定的惩罚。(C是调和使间隔尽量大同时使误分类点的个数尽量小的系数)。
2.2 软间隔支持向量机原始问题
原始问题可描述为:
min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \begin{array}{l}{\text { min }} \\ {w, b, \xi}\end{array}\frac{1}{2}||w||^2 + C\sum_{i=1}^m \xi_i min w,b,ξ21∣∣w∣∣2+Ci=1∑mξi
s . t . y ( i ) ( w ⋅ x ( i ) + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , m ; ξ i ≥ 0 , i = 1 , 2 , . . . , m s.t.y^{(i)}(w \cdot x^{(i)}+b)\geq1-\xi _i,i=1,2,...,m;\xi_i\geq0,i=1,2,...,m s.t.y(i)(w⋅x(i)+b)≥1−ξi,i=1,2,...,m;ξi≥0,i=1,2,...,m
原始问题是一个凸二次规划问题
w的解是唯一的,但b的解不唯一,b的解存在于一个区间。
分离超平面: w ∗ ⋅ x + b = 0 w^* \cdot x+b=0 w∗⋅x+b=0
分类决策函数: f ( x ) = s i g n ( w ∗ ⋅ x + b = 0 ) f(x)=sign(w^* \cdot x+b=0) f(x)=sign(w∗⋅x+b=0)
2.3 软间隔支持向量机对偶问题
原始问题的拉格朗日函数是:
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i − ∑ i = 1 m ( y ( i ) ( w ⋅ x ( i ) + b ) − 1 + ξ i ) − ∑ i = 1 m μ i ξ i L(w, b, \xi, \alpha, \mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^m\xi_i-\sum_{i=1}^m(y^{(i)}(w \cdot x^{(i)}+b)-1+\xi_i)-\sum_{i=1}^m\mu_i\xi_i L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑mξi−i=1∑m(y(i)(w⋅x(i)+b)−1+ξi)−i=1∑mμiξi
s . t . α i ≥ 0 , μ i ≥ 0 s.t.\alpha_i\geq0,\mu_i\geq0 s.t.αi≥0,μi≥0
对偶问题是拉格朗日函数的极大极小问题。
首先求 L ( w , b , ξ , α , μ ) L(w, b, \xi, \alpha, \mu) L(w,b,ξ,α,μ)对 w , b , ξ w, b, \xi w,b,ξ的极小,由:
∇ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 m α i y ( i ) x ( i ) = 0 \nabla_{w} L(w, b, \xi, \alpha, \mu)=w-\sum_{i=1}^m\alpha_iy^{(i)}x^{(i)}=0 ∇wL(w,b,ξ,α,μ)=w−i=1∑mαiy(i)x(i)=0
∇ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 m α i y ( i ) = 0 \nabla_{b} L(w, b, \xi, \alpha, \mu)=-\sum_{i=1}^m\alpha_iy^{(i)}=0 ∇bL(w,b,ξ,α,μ)=−i=1∑mαiy(i)=0
∇ ξ L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 \nabla_{\xi} L(w, b, \xi, \alpha, \mu)=C-\alpha_i-\mu_i=0 ∇ξL(w,b,ξ,α,μ)=C−αi−μi=0
可得:
w = ∑ i = 1 m α i y ( i ) x ( i ) w=\sum_{i=1}^m\alpha_iy^{(i)}x^{(i)} w=i=1∑mαiy(i)x(i)
∑ i = 1 m α i y ( i ) = 0 \sum_{i=1}^m\alpha_iy^{(i)}=0 i=1∑mαiy(i)=0
C − α i − μ i = 0 C-\alpha_i-\mu_i=0 C−αi−μi=0
将结果带入拉格朗日函数,可得:
min w , b , ξ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) x ( i ) x ( j ) + ∑ i = 1 m α i \begin{array}{l}{\text { min }} \\ {w, b, \xi}\end{array}L(w, b, \xi, \alpha, \mu)=-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}x^{(i)}x^{(j)}+\sum_{i=1}^m\alpha_i min w,b,ξL(w,b,ξ,α,μ)=−21i=1∑mj=1∑mαiαjy(i)y(j)x(i)x(j)+i=1∑mαi。
再对 min w , b , ξ L ( w , b , ξ , α , μ ) \begin{array}{l}{\text { min }} \\ {w, b, \xi}\end{array}L(w, b, \xi, \alpha, \mu) min w,b,ξL(w,b,ξ,α,μ)求 α \alpha α的极大,即得对偶问题:
m a x α − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) x ( i ) x ( j ) + ∑ i = 1 m α i \underset{\alpha}{max}-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}x^{(i)}x^{(j)}+\sum_{i=1}^m\alpha_i αmax−21i=1∑mj=1∑mαiαjy(i)y(j)x(i)x(j)+i=1∑mαi
s . t . ∑ i = 1 m α i y ( i ) = 0 ; C − α i − μ i = 0 ; α i ≥ 0 ; μ i ≥ 0 , i = 1 , 2 , . . . , m s.t.\sum_{i=1}^m\alpha_iy^{(i)}=0;C-\alpha_i-\mu_i=0;\alpha_i\geq0;\mu_i \geq0,i=1,2,...,m s.t.i=1∑mαiy(i)=0;C−αi−μi=0;αi≥0;μi≥0,i=1,2,...,m
2.4 对偶问题求解方式
结论:设 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α m ∗ ) \alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_m) α∗=(α1∗,α2∗,...,αm∗)是对偶问题的一个解,若存在 α ∗ \alpha^* α∗的一个分量 α j ∗ \alpha^*_j αj∗满足 0 < α j ∗ < C 0<\alpha^*_j<C 0<αj∗<C,则 α ∗ , b ∗ \alpha^*,b^* α∗,b∗可由下式计算:
w ∗ = ∑ i = 1 m α i ∗ y ( i ) x ( i ) w^*=\sum_{i=1}^m\alpha^*_iy^{(i)}x^{(i)} w∗=i=1∑mαi∗y(i)x(i)
b ∗ = y ( j ) − ∑ i = 1 m y ( i ) α i ∗ ( x ( i ) ⋅ x ( j ) ) b^*=y^{(j)}-\sum_{i=1}^my^{(i)}\alpha^*_i(x^{(i)} \cdot x^{(j)}) b∗=y(j)−i=1∑my(i)αi∗(x(i)⋅x(j))
证明:因为原始问题是凸二次规划问题,解满足KKT条件:
∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 m α i ∗ y ( i ) x ( i ) = 0 ⇒ w ∗ = ∑ i = 1 m α i ∗ y ( i ) x ( i ) \nabla_{w} L(w^*, b^*, \xi^*, \alpha^*, \mu^*)=w^*-\sum_{i=1}^m\alpha_i^*y^{(i)}x^{(i)}=0 \Rightarrow w^*=\sum_{i=1}^m\alpha_i^*y^{(i)}x^{(i)} ∇wL(w∗,b∗,ξ∗,α∗,μ∗)=w∗−i=1∑mαi∗y(i)x(i)=0⇒w∗=i=1∑mαi∗y(i)x(i)
∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 m α i ∗ y ( i ) = 0 \nabla_{b} L(w^*, b^*, \xi^*, \alpha^*, \mu^*)=-\sum_{i=1}^m\alpha_i^*y^{(i)}=0 ∇bL(w∗,b∗,ξ∗,α∗,μ∗)=−i=1∑mαi∗y(i)=0
∇ ξ L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α ∗ − μ ∗ = 0 \nabla_{\xi} L(w^*, b^*, \xi^*, \alpha^*, \mu^*)=C-\alpha^*-\mu^*=0 ∇ξL(w∗,b∗,ξ∗,α∗,μ∗)=C−α∗−μ∗=0
α i ∗ ( y ( i ) ( w ⋅ x ( i ) + b ) − 1 + ξ i ∗ ) = 0 \alpha_i^{*}(y^{(i)}(w \cdot x^{(i)}+b)-1+\xi_i^*)=0 αi∗(y(i)(w⋅x(i)+b)−1+ξi∗)=0
μ i ∗ ξ i ∗ = 0 \mu_i^*\xi^*_i=0 μi∗ξi∗=0
y ( i ) ( w ⋅ x ( i ) + b ) − 1 + ξ i ∗ ≥ 0 y^{(i)}(w \cdot x^{(i)}+b)-1+\xi_i^* \geq0 y(i)(w⋅x(i)+b)−1+ξi∗≥0
ξ i ∗ ≥ 0 \xi_i^*\geq0 ξi∗≥0
α i ∗ ≥ 0 \alpha_i^*\geq0 αi∗≥0
μ i ∗ ≥ 0 \mu_i^*\geq0 μi∗≥0
若存在 α j ∗ \alpha^*_j αj∗满足 0 < α j ∗ < C 0<\alpha^*_j<C 0<αj∗<C,则由4式可得 y ( i ) ( w ⋅ x ( i ) + b ) − 1 + ξ i ∗ = 0 y^{(i)}(w \cdot x^{(i)}+b)-1+\xi_i^*=0 y(i)(w⋅x(i)+b)−1+ξi∗=0。又因为 C = α ∗ + μ ∗ , 0 < α j ∗ < C C=\alpha^*+\mu^*,0<\alpha^*_j<C C=α∗+μ∗,0<αj∗<C可得: μ ∗ ≠ 0 \mu^* \neq 0 μ∗=0,由 μ i ∗ ξ i ∗ = 0 \mu_i^*\xi^*_i=0 μi∗ξi∗=0得: ξ i ∗ = 0 \xi^*_i=0 ξi∗=0,带入6式,可得: y ( i ) ( w ⋅ x ( i ) + b ) − 1 = 0 y^{(i)}(w \cdot x^{(i)}+b)-1=0 y(i)(w⋅x(i)+b)−1=0。
可得 b ∗ = y ( i ) − w ∗ x ( i ) b^*=y^{(i)}-w^*x^{(i)} b∗=y(i)−w∗x(i),由式1可得 w ∗ = ∑ i = 1 m α i ∗ y ( i ) x ( i ) w^*=\sum_{i=1}^m\alpha_i^*y^{(i)}x^{(i)} w∗=∑i=1mαi∗y(i)x(i),带入到 b ∗ b^* b∗中,可得 b ∗ = y ( j ) − ∑ i = 1 m y ( i ) α i ∗ ( x ( i ) x ( j ) ) b^*=y^{(j)}-\sum_{i=1}^m y^{(i)}\alpha^*_i(x^{(i)}x^{(j)}) b∗=y(j)−∑i=1my(i)αi∗(x(i)x(j))。注意:代入时,两者i并非是相一致。
对任一适合条件 0 < α j ∗ < C 0<\alpha^*_j<C 0<αj∗<C的 α j ∗ \alpha^*_j αj∗,按上式均可求出一个 b ∗ b^* b∗,因此原始问题对b的解不唯一,实际计算时取在所有符合条件样本点上求得b求平均值。
2.5 α \alpha α的大小对应样本点的位置
根据KKT条件中 α i ∗ ( y ( i ) ( w ⋅ x ( i ) + b ) − 1 + ξ i ∗ ) = 0 \alpha_i^{*}(y^{(i)}(w \cdot x^{(i)}+b)-1+\xi_i^*)=0 αi∗(y(i)(w⋅x(i)+b)−1+ξi∗)=0可得:
若 α i ∗ > 0 \alpha^*_i>0 αi∗>0的样本点 ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i))称为支持向量。
若 α i ∗ < C \alpha^*_i<C αi∗<C,则可得 ξ i = 0 \xi_i=0 ξi=0,支持向量恰好落在间隔边界上。
若 α i ∗ = C , 0 < ξ i < 1 \alpha^*_i=C,0<\xi_i<1 αi∗=C,0<ξi<1,则分类正确,样本点落在间隔边界与分类超平面之间。
若 α i ∗ = C , ξ i = 1 \alpha^*_i=C,\xi_i=1 αi∗=C,ξi=1,样本点在超平面上。
α i ∗ = C , ξ i > 1 \alpha^*_i=C,\xi_i>1 αi∗=C,ξi>1,样本点在分离超平面误分的一侧。
2.6 合页损失函数以及等价证明
软间隔线性支持向量机学习策略为软间隔最大化,学习策略为凸二次规划。这种问题可以使用另一种解释,即最小化以下目标函数:
∑ i = 1 m [ 1 − y ( i ) ( w ⋅ x ( i ) + b ) ] + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^m[1-y^{(i)}(w \cdot x^{(i)} + b)] + \lambda ||w||^2 i=1∑m[1−y(i)(w⋅x(i)+b)]+λ∣∣w∣∣2
前半部分的经验损失代表样本点被正确分类时,且函数间隔 y ( i ) ( w ⋅ x ( i ) + b ) ≥ 1 y^{(i)}(w \cdot x^{(i)} + b)\geq1 y(i)(w⋅x(i)+b)≥1时,损失是0,否则损失是 1 − y ( i ) ( w ⋅ x ( i ) + b ) 1-y^{(i)}(w \cdot x^{(i)} + b) 1−y(i)(w⋅x(i)+b)。后半部分是正则化项。
合页损失函数: L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w \cdot x+b))=[1-y(w \cdot x+b)]_+ L(y(w⋅x+b))=[1−y(w⋅x+b)]+,其中 [ z ] + = [z]_+= [z]+=。
则线性软间隔支持向量机原始优化问题:
min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \begin{array}{l}{\text { min }} \\ {w, b, \xi}\end{array}\frac{1}{2}||w||^2 + C\sum_{i=1}^m \xi_i min w,b,ξ21∣∣w∣∣2+Ci=1∑mξi
s . t . y ( i ) ( w ⋅ x ( i ) + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , m ; ξ i ≥ 0 , i = 1 , 2 , . . . , m s.t.y^{(i)}(w \cdot x^{(i)}+b)\geq1-\xi _i,i=1,2,...,m;\xi_i\geq0,i=1,2,...,m s.t.y(i)(w⋅x(i)+b)≥1−ξi,i=1,2,...,m;ξi≥0,i=1,2,...,m
可转换为最小化带正则化项的合页损失: m i n w , b ∑ i = 1 m [ 1 − y ( i ) ( w ⋅ x ( i ) + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \underset{w,b}{min}\sum_{i=1}^m[1-y^{(i)}(w \cdot x^{(i)}+b)]_++\lambda||w||^2 w,bmin∑i=1m[1−y(i)(w⋅x(i)+b)]++λ∣∣w∣∣2。
证明:
令 [ 1 − y ( i ) ( w ⋅ x ( i ) + b ) ] + = ξ i [1-y^{(i)}(w \cdot x^{(i)}+b)]_+=\xi_i [1−y(i)(w⋅x(i)+b)]+=ξi,则 ξ i ≥ 0 \xi_i \geq0 ξi≥0,满足约束条件2。
由 ξ i = [ 1 − y ( i ) ( w ⋅ x ( i ) + b ) ] + \xi_i=[1-y^{(i)}(w \cdot x^{(i)}+b)]_+ ξi=[1−y(i)(w⋅x(i)+b)]+可推得,当 1 − y ( i ) ( w ⋅ x ( i ) + b ) > 0 1-y^{(i)}(w \cdot x^{(i)}+b)>0 1−y(i)(w⋅x(i)+b)>0时,有 y ( i ) ( w ⋅ x ( i ) + b ) = 1 − ξ i y^{(i)}(w \cdot x^{(i)}+b)=1-\xi_i y(i)(w⋅x(i)+b)=1−ξi;当 1 − y ( i ) ( w ⋅ x ( i ) + b ) ≤ 0 1-y^{(i)}(w \cdot x^{(i)}+b)\leq0 1−y(i)(w⋅x(i)+b)≤0时,有 y ( i ) ( w ⋅ x ( i ) + b ) ≥ 1 − ξ i y^{(i)}(w \cdot x^{(i)}+b)\geq1-\xi_i y(i)(w⋅x(i)+b)≥1−ξi,则满足约束条件1。
故损失函数此时可写为: m i n w , b ∑ i = 1 m ξ i + λ ∣ ∣ w ∣ ∣ 2 \underset{w,b}{min}\sum_{i=1}^m\xi_i+ \lambda||w||^2 w,bmin∑i=1mξi+λ∣∣w∣∣2,取 λ = 1 2 C \lambda= \frac{1}{2C} λ=2C1,则 m i n w , b 1 C ( 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i ) \underset{w,b}{min} \frac{1}{C}(\frac{1}{2}||w||^2+C\sum_{i=1}^m\xi_i) w,bminC1(21∣∣w∣∣2+C∑i=1mξi)与原式等价。
相比之下,合页损失函数不仅要求分类正确,而且确信度足够高时损失才是0。
三、非线性支持向量机
3.1 非线性可分问题
如果能用
R
n
R^n
Rn中一个超曲面将正负例正确分开,则称这个问题是非线性可分问题。
求解思路:进行一个非线性变换,将非线性问题变换为线性问题。
3.2 核函数
设
X
X
X是输入空间(欧氏空间
R
n
R^n
Rn的子集或离散集合)。
设
H
H
H是特征空间(希尔伯特空间)。
存在一个
X
X
X到
H
H
H映射:
ϕ
(
x
)
:
X
→
H
\phi(x):X \rightarrow H
ϕ(x):X→H,使得对所有
x
,
z
∈
X
x,z \in X
x,z∈X,
k
(
x
,
z
)
=
ϕ
(
x
)
⋅
ϕ
(
z
)
k(x, z)=\phi(x) \cdot \phi(z)
k(x,z)=ϕ(x)⋅ϕ(z)。
其中,
k
(
x
,
z
)
k(x,z)
k(x,z)为核出数,
ϕ
(
x
)
\phi(x)
ϕ(x)为映射函数,
ϕ
(
x
)
⋅
ϕ
(
z
)
\phi(x) \cdot \phi(z)
ϕ(x)⋅ϕ(z)为
ϕ
(
x
)
\phi(x)
ϕ(x)和
ϕ
(
z
)
\phi(z)
ϕ(z)的内积。
在支持向量机中直接使用核函数替换映射的原因:
无论是目标函数还是决策函数都只涉及输入实例与实例之间的内积。直接计算 k ( x , z ) k(x, z) k(x,z)比较容易,而通过 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( z ) \phi(z) ϕ(z)计算 k ( x , z ) k(x, z) k(x,z)不容易,因为 ϕ \phi ϕ是输入空间 X X X到特征空间 H H H的映射,特征空间一般是高维的,甚至是无穷维的。并且,在给定核函数 k ( x , z ) k(x, z) k(x,z),特征空间 H H H和映射空间 X X X中的映射$\phi 取 法 并 不 唯 一 。 核 函 数 化 后 , 对 偶 问 题 的 目 标 函 数 : 取法并不唯一。 核函数化后,对偶问题的目标函数: 取法并不唯一。核函数化后,对偶问题的目标函数:W(\alpha)=\frac{1}{2} \sum_{i=1}{m}\sum_{j=1}{m}\alpha_i\alpha_jy{(i)}y{(j)}k(x{(i)},x{(j)})-\sum_{i=1}^m \alpha_i , 分 类 决 策 函 数 : , 分类决策函数: ,分类决策函数:f(x)=\operatorname{sign}(\sum_{i=1}^{m_s} \alpha{*}_iy{(i)}k(x^{i} \cdot x) + b^*)$。
核技巧:核函数 k ( x , z ) k(x, z) k(x,z)给定的情况下,利用解线性分类问题的方法求解非线性分类问题的支持向量机学习是隐式地在特征空间进行的,不需要显式地定义特征空间和映射函数。
3.3 常用核函数
3.3.1 线性核
k ( x , z ) = x T ⋅ z k(x, z)=x^T \cdot z k(x,z)=xT⋅z
3.3.2 多项式核
k ( x , z ) = ( x T ⋅ z + 1 ) p k(x, z)=(x^T \cdot z + 1)^p k(x,z)=(xT⋅z+1)p
当 p = 1 p=1 p=1时,多项式核退化为线性核。
3.3.3 高斯核(RBF核)
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)
对应的SVM是高斯径向基分类器, σ \sigma σ为高斯核的带宽( σ > 0 \sigma >0 σ>0)。
3.3.4 拉普拉斯核
k ( x , z ) = e x p ( − ∣ ∣ x − z ∣ ∣ σ ) , ( σ > 0 ) k(x,z)=exp(-\frac{||x-z||}{\sigma}),(\sigma > 0) k(x,z)=exp(−σ∣∣x−z∣∣),(σ>0)
3.3.5 Sigmoid核
k ( x , z ) = t a n h ( β x T ⋅ z + θ ) , ( β > 0 , θ < 0 ) k(x,z)=tanh(\beta x^T \cdot z + \theta),(\beta > 0, \theta< 0) k(x,z)=tanh(βxT⋅z+θ),(β>0,θ<0)
t a n h tanh tanh为双曲正切函数。
3.3.6 线性组合
k 1 , k 2 k_1,k_2 k1,k2为核函数, γ 1 , γ 2 > 0 \gamma_1, \gamma_2 >0 γ1,γ2>0,则 γ 1 k 1 + γ 2 k 2 \gamma_1 k_1+\gamma_2k_2 γ1k1+γ2k2也是核函数。
3.3.7 直积
k 1 ⊗ k 2 ( x , z ) = k 1 ( x , z ) k 2 ( x , z ) k_1\otimes k_2(x,z)=k_1(x,z)k_2(x,z) k1⊗k2(x,z)=k1(x,z)k2(x,z)
3.3.8 函数化
k ( x , z ) = g ( x ) k 1 ( x , z ) g ( z ) k(x,z)=g(x)k_1(x,z)g(z) k(x,z)=g(x)k1(x,z)g(z)
3.4 核函数是正定核函数的证明
正定核的充要条件:设 k : X × X → R k:X \times X \rightarrow R k:X×X→R是对称函数,则 k ( x , z ) k(x,z) k(x,z)为正定核函数的充要条件是对任意$x^{(i)} \in X,i=1,2,…,m,k(x,z) 对 应 的 G r a m 矩 阵 : 对应的Gram矩阵: 对应的Gram矩阵:K=[k(x{(i)},x{(j)})]_{m \times n}$是半正定矩阵。
证明:
1.必要性。
由于 k ( x , z ) k(x,z) k(x,z)是 X × X X\times X X×X的正定核,所以存在从 X X X到 H H H的映射$ \phi : : :k(x, z)=\phi(x) \cdot \phi(z)$。
对任意 x ( 1 ) , x ( 2 ) , . . . , x ( m ) x^{(1)},x^{(2)},...,x^{(m)} x(1),x(2),...,x(m),构造 k ( x , z ) k(x,z) k(x,z)关于 x ( 1 ) , x ( 2 ) , . . . , x ( m ) x^{(1)},x^{(2)},...,x^{(m)} x(1),x(2),...,x(m)的Gram矩阵:
[ k i j ] m × m = [ k ( x ( i ) , x ( j ) ) ] m × n [k_{ij}]_{m \times m}=[k(x^{(i)}, x^{(j)})]_{m \times n} [kij]m×m=[k(x(i),x(j))]m×n。
对任意的 c 1 , c 2 , . . . , c m ∈ R c_{1}, c_{2},..., c_m \in R c1,c2,...,cm∈R,有: ∑ i , j = 1 m c i c j k ( x ( i ) , x ( j ) ) = ∑ i , j = 1 m c i c j ( ϕ ( x ( i ) ⋅ x ( j ) ) ) = ( ∑ i c i ϕ ( x ( i ) ) ) ( ∑ j c j ϕ ( x ( j ) ) ) = ∣ ∣ ∑ i c i ϕ ( x ( i ) ) ∣ ∣ 2 \sum_{i,j=1}^mc_ic_jk(x^{(i)}, x^{(j)})=\sum_{i,j=1}^mc_ic_j(\phi(x^{(i)} \cdot x^{(j)}))=(\sum_ic_i\phi(x^{(i)}))(\sum_jc_j\phi(x^{(j)}))=||\sum_ic_i\phi(x^{(i)})||^2 ∑i,j=1mcicjk(x(i),x(j))=∑i,j=1mcicj(ϕ(x(i)⋅x(j)))=(∑iciϕ(x(i)))(∑jcjϕ(x(j)))=∣∣∑iciϕ(x(i))∣∣2。
表明 k ( x , z ) k(x,z) k(x,z)关于 x ( 1 ) , x ( 2 ) , . . . , x ( m ) x^{(1)},x^{(2)},...,x^{(m)} x(1),x(2),...,x(m)的Gram矩阵半正定。
2.充分性
构造从 X X X到 H H H的映射: ϕ ( x ) : X → H \phi(x):X \rightarrow H ϕ(x):X→H,由核的可再生性可得: k ( ⋅ , x ) ⋅ f = f ( x ) k(\cdot ,x)\cdot f=f(x) k(⋅,x)⋅f=f(x),并且 k ( ⋅ , x ) ⋅ k ( ⋅ , z ) = k ( x , z ) k(\cdot, x) \cdot k(\cdot , z)=k(x,z) k(⋅,x)⋅k(⋅,z)=k(x,z),即 k ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) k(x,z)=\phi(x) \cdot \phi(z) k(x,z)=ϕ(x)⋅ϕ(z),表明 k ( x , z ) k(x,z) k(x,z)是 X × X X \times X X×X上的核函数。
对于一个具体函数 k ( x , z ) k(x,z) k(x,z)检验其是否为正定核要求对有限输入集验证对应Gram矩阵是否为半正定,不易计算,实际中往往应有已有的核函数。
半正定矩阵的性质:1. 行列式非负;2.两个半正定矩阵之和为半正定;3.非负实数与其数乘矩阵仍为半正定。
矩阵 A A A为半正定的充要条件: A A A的主子式非负;特征值均非负; A = C − 1 C A=C^{-1}C A=C−1C( C C C为n阶实对称矩阵); A = B − 1 B A=B^{-1}B A=B−1B( B B B为秩为r的 r × n r \times n r×n实矩阵)。
3.5 根据核函数构造一个希尔伯特空间过程
核函数 k ( x , z ) k(x,z) k(x,z)关于 x ( 1 ) , x ( 2 ) , . . . , x ( m ) x^{(1)},x^{(2)},...,x^{(m)} x(1),x(2),...,x(m)的Gram矩阵是半正定的。
Step1:定义映射,构成向量空间 S S S。
向量空间(线性空间):关注的是向量的位置,对于一个线性空间,知道基(相当于三维空间坐标系),便可确定空间中元素的位置,向量空间只定义了加法和数乘运算。
对于映射: ϕ : x → k ( ⋅ , x ) \phi:x \rightarrow k(\cdot,x) ϕ:x→k(⋅,x),对任意 x ( i ) ∈ X , α i ∈ R , i = 1 , 2 , . . . , m x^{(i)} \in X, \alpha_i \in R,i=1,2,...,m x(i)∈X,αi∈R,i=1,2,...,m,定义线性组合:
f ( ⋅ ) = ∑ i = 1 m α i k ( ⋅ , x i ) f(\cdot)=\sum_{i=1}^m \alpha_ik(\cdot, x_i) f(⋅)=i=1∑mαik(⋅,xi)
集合 S S S中元素为线性组合, S S S对加法和数乘运算是封闭的(封闭是指运算结果还在此空间中),所以 S S S构成一个向量空间。
Step2:在 S S S上定义内积,使其成为内积空间。
在向量空间上定义范数,可得向量长度,向量空间变为赋范线性空间。在赋范线性空间定义内积,可得向量夹角,此时称为内积空间。
在 S S S上定义一个运算 ∗ * ∗:对任意的 f , g ∈ S f, g \in S f,g∈S, f ( ⋅ ) = ∑ i = 1 m α i k ( ⋅ , x i ) f(\cdot )=\sum_{i=1}^m \alpha_i k(\cdot, x_i) f(⋅)=∑i=1mαik(⋅,xi), g ( ⋅ ) = ∑ j = 1 l β j k ( ⋅ , z j ) g(\cdot)=\sum_{j=1}^l \beta_jk(\cdot,z_j) g(⋅)=∑j=1lβjk(⋅,zj),定义运算 ∗ * ∗为 f ∗ g = ∑ i = 1 m ∑ j = 1 l α i β j k ( x i , z j ) f*g=\sum_{i=1}^m\sum_{j=1}^l\alpha_i \beta_j k(x_i, z_j) f∗g=∑i=1m∑j=1lαiβjk(xi,zj)。
若要证明 ∗ * ∗是空间 S S S的内积,需证明:
- ( c f ) ∗ g = c ( f ∗ g ) , c ∈ R (cf)*g = c(f*g),c\in R (cf)∗g=c(f∗g),c∈R
- ( f + g ) ∗ h = f ∗ h + g ∗ h (f+g)*h=f*h+g*h (f+g)∗h=f∗h+g∗h
- f ∗ g = g ∗ f f*g=g*f f∗g=g∗f
- f ∗ f ≥ 0 , f ∗ f = 0 ⇔ f = 0 f*f \geq0, f*f=0 \Leftrightarrow f=0 f∗f≥0,f∗f=0⇔f=0
其中1-3由定义运算式及 k ( x , z ) k(x,z) k(x,z)定义式可得。
证明4:
f ∗ f = ∑ i , j = 1 m α i α j k ( x i , x j ) f*f=\sum_{i,j=1}^m \alpha_i\alpha_jk(x_i,x_j) f∗f=∑i,j=1mαiαjk(xi,xj),由Gram矩阵的半正定性可知,上式右端非负,即 f ∗ f ≥ 0 f*f \geq 0 f∗f≥0。
证: f ∗ f = 0 ⇔ f = 0 f*f=0 \Leftrightarrow f=0 f∗f=0⇔f=0。
显然由 f = 0 ⇒ f ∗ f = 0 f=0 \Rightarrow f*f=0 f=0⇒f∗f=0。
先证: ∣ f ∗ g ∣ 2 ≤ ( f ∗ f ) ( g ∗ g ) |f*g|^2 \leq(f*f)(g*g) ∣f∗g∣2≤(f∗f)(g∗g)。
设 f , g ∈ S , λ ∈ R f,g \in S, \lambda \in R f,g∈S,λ∈R,则 f + λ g ∈ S f+\lambda g \in S f+λg∈S
则由 f ∗ f ≥ 0 f*f \geq 0 f∗f≥0可得: ( f + λ g ) ∗ ( f + λ g ) ≥ 0 (f+\lambda g)*(f+\lambda g) \geq 0 (f+λg)∗(f+λg)≥0,即 f ∗ f + 2 λ ( f ∗ g ) + λ 2 ( g ∗ g ) ≥ 0 f * f+2 \lambda(f * g)+\lambda^{2}(g * g) \geq 0 f∗f+2λ(f∗g)+λ2(g∗g)≥0。
左侧是 λ \lambda λ的二次三项式,非负。代表等于0时只有一个根或者无根,所以判别式应该小于等于0,即: ( f ∗ g ) 2 − ( f ∗ f ) ( g ∗ g ) ≤ 0 , ( b 2 − 4 a c ≤ 0 ) (f * g)^{2}-(f * f)(g * g) \leq 0,(b^2-4ac \le0) (f∗g)2−(f∗f)(g∗g)≤0,(b2−4ac≤0)。于是证得: ∣ f ∗ g ∣ 2 ⩽ ( f ∗ f ) ( g ∗ g ) | f * g |^{2} \leqslant(f * f )( g * g) ∣f∗g∣2⩽(f∗f)(g∗g)。
若 f ( ⋅ ) = ∑ i = 1 m α i k ( ⋅ , x i ) f( \cdot)=\sum_{i=1}^{m} \alpha_{i} k( \cdot ,x_{i} ) f(⋅)=∑i=1mαik(⋅,xi),对任意的 x ∈ X x \in X x∈X有: k ( ⋅ , x ) ∗ f = ∑ i = 1 m α i k ( x , x i ) k(\cdot, x) * f=\sum_{i=1}^{m} \alpha_{i} k\left(x, x_{i}\right) k(⋅,x)∗f=∑i=1mαik(x,xi)。
于是, ∣ f ( x ) ∣ 2 = ∣ k ( ⋅ , x ) ∗ f ∣ 2 |f(x)|^{2}=\left|k(\cdot , x )* f|^{2}\right. ∣f(x)∣2=∣∣k(⋅,x)∗f∣2,于是由上面证得 ∣ f ∗ g ∣ 2 ⩽ ( f ∗ f ) ( g ∗ g ) | f * g |^{2} \leqslant(f * f )( g * g) ∣f∗g∣2⩽(f∗f)(g∗g)可得 ∣ k ( ⋅ , x ) ∗ f ∣ 2 ≤ ( k ( ⋅ , x ) ∗ k ( ⋅ , x ) ) ( f ∗ f ) = k ( x , x ) ( f ∗ f ) |k(\cdot , x )* f|^{2} \leq(k(\cdot , x )*k(\cdot , x ))(f*f)=k(x,x)(f*f) ∣k(⋅,x)∗f∣2≤(k(⋅,x)∗k(⋅,x))(f∗f)=k(x,x)(f∗f)。
由上面的 ∣ f ( x ) ∣ 2 = ∣ k ( ⋅ , x ) ∗ f ∣ 2 |f(x)|^{2}=\left|k(\cdot , x )* f|^{2}\right. ∣f(x)∣2=∣∣k(⋅,x)∗f∣2可得: ∣ f ( x ) ∣ 2 ≤ k ( x , x ) ( f ∗ f ) |f(x)|^{2} \leq k(x, x)(f*f) ∣f(x)∣2≤k(x,x)(f∗f),此式表明, f ∗ f = 0 f*f=0 f∗f=0时,对任意x,有 ∣ f ( x ) ∣ = 0 |f(x)|=0 ∣f(x)∣=0。即证得,若 f ∗ f = 0 f*f=0 f∗f=0,则 f = 0 f=0 f=0。
至此,证明了 ∗ * ∗为向量空间 S S S的内积。将 ∗ * ∗用 ⋅ \cdot ⋅表示,即 f ⋅ g = ∑ i = 1 m ∑ j = 1 l α i β j k ( x i , z j ) f \cdot g=\sum_{i=1}^m\sum_{j=1}^l \alpha_i \beta_jk(x_i, z_j) f⋅g=∑i=1m∑j=1lαiβjk(xi,zj)。
Step3:将内积空间完备化为希尔伯特空间。
由上述定义内积可得范数 ∣ ∣ f ∣ ∣ = f ⋅ f ||f||=\sqrt{f \cdot f} ∣∣f∣∣=f⋅f,因此 S S S是一个赋范空间,可研究收敛性(极限)。
当赋范向量空间完备时,就为希尔伯特(Hilbert)空间。其上的所有柯西序列(元素随着序数(有次序)增加愈发靠近)等价于收敛序列。由于核 k k k具有再生性,即 k ( ⋅ , x ) ⋅ f = f ( x ) k(\cdot,x)\cdot f=f(x) k(⋅,x)⋅f=f(x)及 k ( ⋅ , x ) ⋅ k ( ⋅ , z ) = k ( x , z ) k(\cdot, x) \cdot k(\cdot,z)=k(x,z) k(⋅,x)⋅k(⋅,z)=k(x,z),于是这一希尔伯特空间称为可再生核希尔伯特空间。
欧式空间定义:定义了内积的有限维实线性空间。
四、序列最小优化(SMO)算法
4.1 算法思想
SMO算法解决上述未解决的凸二次规划的对偶问题:
min α 1 2 ∑ i = 1 m ∑ j = 1 m α ( i ) α ( j ) y ( i ) y ( j ) k ( x ( i ) , x ( j ) ) − ∑ i = 1 m α i , \min _{\alpha} \frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha^{(i)} \alpha^{(j)} y^{(i)} y^{(j)}k(x^{(i)}, x^{(j)})-\sum_{i=1}^{m}\alpha_i, αmin21i=1∑mj=1∑mα(i)α(j)y(i)y(j)k(x(i),x(j))−i=1∑mαi,
s . t . ∑ i = 1 m α i y ( i ) = 0 ; 0 ≤ α i ≤ C , i = 1 , 2 , . . . , m . s.t.\sum_{i=1}^{m}\alpha_iy^{(i)}=0;0 \leq \alpha_i \leq C,i=1,2,...,m. s.t.i=1∑mαiy(i)=0;0≤αi≤C,i=1,2,...,m.
其中的变量是拉格朗日乘子 α i \alpha_i αi,每个对应一个样本。
基本思想:如果解的所有变量都满足此最优化问题的KKT条件,这最优化问题的解便可得到(因为KKT条件是最优问题的充要条件,拉格朗日定理3)。否则,选择两个变量,固定具他变量,针对这两个变量构建一个二次规划问题。
此时,子问题有两个变量,一个是违反KKT条件最严重的那一个,另一个由约束条件: α 1 = − y ( 1 ) ∑ i = 2 m α i \alpha_1 =-y^{(1)}\sum_{i=2}^m\alpha_i α1=−y(1)∑i=2mαi自动确定,因此只有一个是自由变量。
SMO算法包括求解两个变量二次规划的解析方法和选择变量的启发式方法
4.2 两变量解析方法
假设选定 α 1 , α 2 \alpha_1,\alpha_2 α1,α2,其余变量固定。此时SMO子问题为:
min α 1 , α 2 W ( α 1 , α 2 ) = 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 m y ( i ) α i k i 1 + y ( 2 ) α 2 ∑ i = 3 m y ( i ) α i k i 2 \min _{\alpha_{1}, \alpha_{2}} W\left(\alpha_{1}, \alpha_{2}\right)=\frac{1}{2} k_{11} \alpha_{1}^{2}+\frac{1}{2} k_{22} \alpha_{2}^{2}+y^{(1)} y^{(2)} k_{12} \alpha_{1} \alpha_{2}-\left(\alpha_{1}+\alpha_{2}\right)+y^{(1)} \alpha_1 \sum_{i=3}^my^{(i)}\alpha_ik_{i1}+y^{(2)} \alpha_2 \sum_{i=3}^my^{(i)}\alpha_ik_{i2} α1,α2minW(α1,α2)=21k11α12+21k22α22+y(1)y(2)k12α1α2−(α1+α2)+y(1)α1i=3∑my(i)αiki1+y(2)α2i=3∑my(i)αiki2
s . t . α 1 y ( 1 ) + α 2 y ( 2 ) = − ∑ i = 3 m y ( i ) α i = S , 0 ≤ α i ≤ C s.t. \alpha_1y^{(1)} + \alpha_2y^{(2)}=-\sum_{i=3}^my^{(i)}\alpha_i=S,0\leq\alpha_i\leq C s.t.α1y(1)+α2y(2)=−i=3∑my(i)αi=S,0≤αi≤C,S为一常数。
此式是由对偶问题式拆开得到,第一项是 i = 1 , j = 1 i=1, j=1 i=1,j=1时拆出,第二项是 i = 2 , j = 2 i=2,j=2 i=2,j=2时拆出,第三项是 i = 1 , j = 2 i=1,j=2 i=1,j=2和 i = 2 , j = 1 i=2,j=1 i=2,j=1两项拆出后合并结果,第四项是对偶问题第二项中除去常数后结果,第五项是 i = 1 , j ≠ 2 i=1,j\neq2 i=1,j=2和 i ≠ 2 , j = 1 i\neq2,j=1 i=2,j=1拆出后合并的结果,第六项是 i = 2 , j ≠ 1 i=2,j\neq1 i=2,j=1和 i ≠ 1 , j = 2 i \neq 1, j=2 i=1,j=2拆除后合并的结果。
先对约束条件进行分析:
α 1 y ( 1 ) + α 2 y ( 2 ) = − ∑ i = 3 m y ( i ) α i = S , 0 ≤ α i ≤ C \alpha_1y^{(1)} + \alpha_2y^{(2)}=-\sum_{i=3}^my^{(i)}\alpha_i=S,0\leq\alpha_i\leq C α1y(1)+α2y(2)=−i=3∑my(i)αi=S,0≤αi≤C
约束条件可以使用二维空间中图形来表示:
假设问题的可行解为 α 1 o l d , α 2 o l d \alpha_1^{old},\alpha_2^{old} α1old,α2old,最优解为 α 1 n e w , α 2 n e w \alpha_1^{new},\alpha_2^{new} α1new,α2new,并且假设在沿着约束方向(即在给定的k直线上)未经剪辑(不考虑边界[0,C]限制) α 2 \alpha_2 α2的最优解为 α 2 n e w , u n c \alpha_2^{new, unc} α2new,unc。
α 2 n e w \alpha_2^{new} α2new需满足 0 ≤ α 2 ≤ C 0 \leq \alpha_2 \leq C 0≤α2≤C,所以 α 2 n e w \alpha_2^{new} α2new的取值范围是 L ≤ α 2 n e w ≤ H L \leq \alpha_2^{new} \leq H L≤α2new≤H,其中 L , H L,H L,H是 α 2 n e w \alpha_2^{new} α2new在对角线段(即给定k直线上)端点的上下界。
- 当 y ( 1 ) ≠ y ( 2 ) y^{(1)} \neq y^{(2)} y(1)=y(2)时, L = m a x ( 0 , − k ) = m a x ( 0 , α 2 o l d − α 1 o l d ) , H = m i n ( C , C − k ) = m i n ( C , C + α 2 o l d − α 1 o l d ) L=max(0, -k)=max(0, \alpha_2^{old}-\alpha_1^{old}),H=min(C,C-k)=min(C,C+\alpha_2^{old}-\alpha_1^{old}) L=max(0,−k)=max(0,α2old−α1old),H=min(C,C−k)=min(C,C+α2old−α1old)
- 当 y ( 1 ) = y ( 2 ) y^{(1)} = y^{(2)} y(1)=y(2)时, L = m a x ( 0 , k − C ) = m a x ( α 2 o l d + α 1 o l d − C ) , H = m i n ( C , k ) = m i n ( C , α 2 o l d + α 1 o l d ) L=max(0,k-C)=max(\alpha_2^{old}+\alpha_1^{old}-C),H=min(C,k)=min(C, \alpha_2^{old}+\alpha_1^{old}) L=max(0,k−C)=max(α2old+α1old−C),H=min(C,k)=min(C,α2old+α1old)
解释:观察图,
-
当 y ( 1 ) ≠ y ( 2 ) y^{(1)} \neq y^{(2)} y(1)=y(2)时, α 1 − α 2 = k \alpha_1 - \alpha_2=k α1−α2=k
- 当 k < 0 k<0 k<0时, α 2 \alpha_2 α2取值范围: ( − k , C ) ⇔ ( α 2 o l d − α 1 o l d , C ) (-k,C) \Leftrightarrow(\alpha_2^{old}-\alpha_1^{old},C) (−k,C)⇔(α2old−α1old,C),此时 L L L取 − k -k −k, H H H取 C C C
- 当 k ≥ 0 k \geq0 k≥0时, α 2 \alpha_2 α2取值范围: ( 0 , C − k ) ⇔ ( 0 , C + α 2 o l d − α 1 o l d ) (0,C-k) \Leftrightarrow (0,C+\alpha_2^{old}-\alpha_1^{old}) (0,C−k)⇔(0,C+α2old−α1old),此时 L L L取 0 0 0, H H H取 C − k C-k C−k
-
当 y ( 1 ) = y ( 2 ) y^{(1)} = y^{(2)} y(1)=y(2)时, α 1 + α 2 = k \alpha_1 + \alpha_2=k α1+α2=k
- 当 0 < k < C 0<k< C 0<k<C时, α 2 \alpha_2 α2取值范围: ( 0 , k ) ⇔ ( 0 , α 1 o l d + α 2 o l d ) (0,k) \Leftrightarrow (0, \alpha_1^{old}+ \alpha_2^{old}) (0,k)⇔(0,α1old+α2old),此时 L L L取 0 0 0, H H H取 k k k
- 当 C ≤ k < 2 C C\leq k < 2C C≤k<2C时, α 2 \alpha_2 α2取值范围: ( k − C , C ) ⇔ ( α 1 o l d + α 2 o l d − C , C ) (k-C,C) \Leftrightarrow(\alpha_1^{old}+\alpha_2^{old}-C,C) (k−C,C)⇔(α1old+α2old−C,C),此时 L L L取 K − C K-C K−C, H H H取 C C C
即通过 L , H L,H L,H的表达,将 k k k的多种情况进行合并。
令 g ( x ) = ∑ i = 1 m α i y ( i ) k ( x ( i ) , x ) + b g(x)=\sum_{i=1}^m \alpha_i y^{(i)}k(x^{(i)},x)+b g(x)=∑i=1mαiy(i)k(x(i),x)+b(决策函数sign内部部分),令 E i = g ( x ( i ) ) − y ( i ) = ( ∑ j = 1 m α j y ( j ) k ( x ( j ) , x ( i ) ) + b ) − y ( i ) , i = 1 , 2 E_i=g(x^{(i)})-y^{(i)}=(\sum_{j=1}^m \alpha_jy^{(j)}k(x^{(j)}, x^{(i)})+b)-y^{(i)},i=1,2 Ei=g(x(i))−y(i)=(∑j=1mαjy(j)k(x(j),x(i))+b)−y(i),i=1,2,令 i = 1 , 2 i=1,2 i=1,2的原因:一个 α i \alpha_i αi对应着一个 ( α i , y ( i ) ) (\alpha_i, y^{(i)}) (αi,y(i)),因为和其他的变量无关,所以其余的 E i , i ≥ 3 E_i,i\geq3 Ei,i≥3对优化 α 1 , α 2 \alpha_1,\alpha_2 α1,α2时是常量,即优化 α 1 , α 2 \alpha_1,\alpha_2 α1,α2前后 E i , i ≥ 3 E_i,i\geq3 Ei,i≥3并未改变,所以不予考虑。
记 V i = ∑ j = 3 m α j y ( j ) k ( x ( i ) , x ( j ) ) = g ( x ( i ) − ∑ i = i 2 α j y ( j ) k ( x ( i ) , x ( j ) ) − b ) , i = 1 , 2 V_i=\sum_{j=3}^m \alpha_jy^{(j)}k(x^{(i)}, x^{(j)})=g(x^{(i)}-\sum_{i=i}^2 \alpha_jy^{(j)}k(x^{(i)}, x^{(j)})-b),i=1,2 Vi=∑j=3mαjy(j)k(x(i),x(j))=g(x(i)−∑i=i2αjy(j)k(x(i),x(j))−b),i=1,2,目标函数此时带入后变为:
W ( α 1 , α 2 ) = 1 2 k 11 α 1 2 + 1 2 k 22 α 2 2 + y ( 1 ) y ( 2 ) k 12 α 1 α 2 − ( α 1 + α 2 ) + y ( 1 ) V 1 α 1 + y ( 2 ) V 2 α 2 W\left(\alpha_{1}, \alpha_{2}\right)=\frac{1}{2} k_{11} \alpha_{1}^{2}+\frac{1}{2} k_{22} \alpha_{2}^{2}+y^{(1)}y^{(2)}k_{12}\alpha_1\alpha_2-(\alpha_1+\alpha_2)+y^{(1)}V_1\alpha_1+y^{(2)}V_2\alpha_2 W(α1,α2)=21k11α12+21k22α22+y(1)y(2)k12α1α2−(α1+α2)+y(1)V1α1+y(2)V2α2
由 α 1 y ( 1 ) = S − α 2 y ( 2 ) \alpha_{1} y^{(1)}=S-\alpha_{2} y^{(2)} α1y(1)=S−α2y(2)及 y ( i ) y^{(i)} y(i)的平方为1可得 α 1 = ( S − y ( 2 ) α 2 ) y ( 1 ) \alpha_1=(S-y^{(2)}\alpha_2)y^{(1)} α1=(S−y(2)α2)y(1),将其带入,并对 α 2 \alpha_2 α2求偏导:
∂ W ∂ α 2 = k 11 α 2 + k 22 α 2 − k 11 S y ( 2 ) + k 12 S y ( 2 ) + y ( 1 ) y ( 2 ) − 1 − V 1 y ( 2 ) + V 2 y ( 2 ) = 0 \frac{\partial W}{\partial \alpha_{2}}=k_{11} \alpha_{2}+k_{22} \alpha_{2}-k_{11} S y^{(2)}+k_{12} S y^{(2)}+y^{(1)}y^{(2)}-1-V_1y^{(2)}+V_2y^{(2)}=0 ∂α2∂W=k11α2+k22α2−k11Sy(2)+k12Sy(2)+y(1)y(2)−1−V1y(2)+V2y(2)=0可得:
α 2 n e w , u n c = α 2 o l d + y ( 2 ) ( E 1 − E 2 ) η \alpha_2^{new, unc}=\alpha_2^{old} + \frac{y^{(2)}(E_1-E_2)}{\eta} α2new,unc=α2old+ηy(2)(E1−E2)。
则最优化问题沿着约束方向未经剪辑的解为 α 2 n e w , u n c = α 2 o l d + y ( 2 ) ( E 1 − E 2 ) η \alpha_2^{new, unc}=\alpha_2^{old} + \frac{y^{(2)}(E_1-E_2)}{\eta} α2new,unc=α2old+ηy(2)(E1−E2),其中 η = k 11 + k 22 − 2 k 12 = ∣ ∣ ϕ ( x ( 1 ) ) − ϕ ( x ( 2 ) ) ∣ ∣ 2 \eta=k_{11}+k_{22}-2 k_{12}=||\phi(x^{(1)})-\phi(x^{(2)})||^2 η=k11+k22−2k12=∣∣ϕ(x(1))−ϕ(x(2))∣∣2, ϕ \phi ϕ为映射。
α 2 \alpha_2 α2的解为: α 2 n e w = { H , α 2 n e w , u n c > H α 2 n e w , u n c , L ≤ α 2 n e w , u n c ≤ H L , α 2 n e w , u n c < L \alpha_{2}^{n e w}=\left\{\begin{array}{l}{H,\alpha_2^{new, unc}}>H \\ {\alpha_{2}^{n e w, u n c},L \leq \alpha_2^{new, unc} \leq H } \\ {L,\alpha_2^{new, unc}<L}\end{array}\right. α2new=⎩⎨⎧H,α2new,unc>Hα2new,unc,L≤α2new,unc≤HL,α2new,unc<L。
由 { α 1 n e w y ( 1 ) + α 2 n e w y ( 2 ) = S α 1 o l d y ( 1 ) + α 2 o l d y ( 2 ) = S \left\{\begin{array}{l}{\alpha_{1}^{new}y^{(1)}+\alpha_2^{new}y^{(2)}=S} \\ {\alpha_{1}^{old}y^{(1)}+\alpha_2^{old}y^{(2)}=S}\end{array}\right. {α1newy(1)+α2newy(2)=Sα1oldy(1)+α2oldy(2)=S对应可得 α 1 n e w = α 1 old + y ( 1 ) y ( 2 ) ( α 2 old − α 2 new ) \alpha_1^{new}=\alpha_{1}^{\text { old }}+y^{(1)} y^{(2)}\left(\alpha_{2}^{\text { old }}-\alpha_{2}^{\text { new }}\right) α1new=α1 old +y(1)y(2)(α2 old −α2 new )。
4.3 变量的选择方法
选择两个变量优化,其中至少一个是违反KKT条件的。
4.3.1 选择第一个变量 α 1 \alpha_1 α1(外层循环)
选取原则:选取违反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 \left\{\begin{array}{l}{\alpha_ i=0 \Leftrightarrow y^{(i)}g(x^{(i)}) \geq1} \\ {0<\alpha_{i}<C} \Leftrightarrow y^{(i)}g(x^{(i)})=1 \\ {\alpha_{i}=c \Leftrightarrow y^{(i)}g(x^{(i)}) \leq 1}\end{array}\right. ⎩⎨⎧αi=0⇔y(i)g(x(i))≥10<αi<C⇔y(i)g(x(i))=1αi=c⇔y(i)g(x(i))≤1,检验是在一定精度$\varepsilon $范围内进行的。
外层循环首选遍历所有满足条件 0 < α i < C 0<\alpha_i<C 0<αi<C的样本点,即支持向量点。检验它们是否满足KKT条件。若都满足,则遍历整个训练集,检验它们是否满足KKT条件。
4.3.2 选取第二个变量$\alpha_2 $(内层循环)
选取原则:希望 α 2 \alpha_2 α2有足够大的变化。
由上述可知, α 2 n e w \alpha_2^{new} α2new依赖 ∣ E 1 − E 2 ∣ |E_1-E_2| ∣E1−E2∣,简化做法是选择 α 2 \alpha_2 α2使对应的 E 1 − E 2 E_1-E_2 E1−E2最大。
因为 α 1 \alpha_1 α1已定, E 1 E_1 E1便已定,且当 E 1 ≥ 0 E_1 \geq0 E1≥0时,选取最小的 E i E_i Ei, E 1 < 0 E_1<0 E1<0时选取最大的 E i E_i Ei,为了节省计算时间,一般将 E i E_i Ei值存在于一个列表中。
当 α 2 \alpha_2 α2不能使目标函数有足够的下降时的解决方法:
Step1:遍历间隔边界上的支持向量点,依次作为 α 2 \alpha_2 α2试用,直到有足够的下降。
Step2:Step1不合适时,遍历训练集。
Step3:Step2不合适时,放弃当前 α 1 \alpha_1 α1,从外层循环重新寻找 α 1 \alpha_1 α1。
4.3.3 b b b和差值 E E E的计算
每次完成 α 1 \alpha_1 α1和 α 2 \alpha_2 α2的优化后,需要重新计算 b b b。
当 0 < α 1 n e w < C 0<\alpha_1^{new}<C 0<α1new<C时,由KKT知: ∑ i = 1 m α i y ( i ) k i 1 + b = y ( 1 ) \sum_{i=1}^m \alpha_iy^{(i)}k_{i1}+b=y^{(1)} ∑i=1mαiy(i)ki1+b=y(1),于是可得:
b 1 n e w = y ( 1 ) − ∑ i = 3 m α i y ( i ) k i 1 − α 1 n e w y ( 1 ) k 11 − α 2 n e w y ( 2 ) k 21 b_1^{new}=y^{(1)}-\sum_{i=3}^{m} \alpha_{i} y^{(i)} k_{i1}-\alpha_1^{new}y^{(1)}k_{11}-\alpha_2^{new}y^{(2)}k_{21} b1new=y(1)−∑i=3mαiy(i)ki1−α1newy(1)k11−α2newy(2)k21。
由 E 1 = ∑ i = 3 m α i y ( i ) k i 1 − α 1 n e w y ( 1 ) k 11 − α 2 n e w y ( 2 ) k 21 E_{1}=\sum_{i=3}^{m} \alpha_{i}y^{(i)}k_{i1}-\alpha_1^{new}y^{(1)}k_{11}-\alpha_2^{new}y^{(2)}k_{21} E1=∑i=3mαiy(i)ki1−α1newy(1)k11−α2newy(2)k21得:
b 1 n e w = − E 1 − y ( 1 ) k 11 ( α 1 n e w − α 1 o l d ) − y ( 2 ) k 21 ( α 2 n e w − α 2 o l d ) + b o l d b^{new}_1=-E_{1}-y^{(1)} k_{11}(\alpha_1^{new}-\alpha_1^{old})-y^{(2)}k_{21}(\alpha_2^{new}-\alpha_2^{old})+b^{old} b1new=−E1−y(1)k11(α1new−α1old)−y(2)k21(α2new−α2old)+bold
同样的,若 0 < α 2 new < C 0<\alpha_{2}^{\text { new }}<C 0<α2 new <C,
b 2 n e w = − E 2 − y ( 1 ) k 12 ( α 1 n e w − α 1 o l d ) − y ( 2 ) k 22 ( α 2 n e w − α 2 o l d ) + b o l d b^{new}_2=-E_{2}-y^{(1)} k_{12}(\alpha_1^{new}-\alpha_1^{old})-y^{(2)}k_{22}(\alpha_2^{new}-\alpha_2^{old})+b^{old} b2new=−E2−y(1)k12(α1new−α1old)−y(2)k22(α2new−α2old)+bold
若 α 1 n e w , α 2 n e w \alpha_1^{new},\alpha_2^{new} α1new,α2new都满足 0 < α i n e w < C 0<\alpha_i^{new}<C 0<αinew<C,则 b 1 n e w = b 2 n e w b^{new}_1=b^{new}_2 b1new=b2new。
若 α 1 n e w \alpha_1^{new} α1new或 α 2 n e w \alpha_2^{new} α2new是 0 0 0或者 C C C,则 b 1 n e w , b 2 n e w b^{new}_1,b^{new}_2 b1new,b2new以及它们之间的数都是符合KKT条件的值,因为当 α i = 0 \alpha_i=0 αi=0时, μ = C , ξ = 0 , y ( i ) ( w ∗ ⋅ x ( i ) + b ) − 1 \mu=C, \xi=0,y^{(i)}(w^* \cdot x^{(i)}+b)-1 μ=C,ξ=0,y(i)(w∗⋅x(i)+b)−1可以不为0, b b b就可变化;当 α i = C \alpha_i=C αi=C时, μ = 0 \mu = 0 μ=0, ξ \xi ξ可变动,从而 y ( i ) b ∗ + ξ y^{(i)}b^*+\xi y(i)b∗+ξ可变化。此时选择两者中点作为 b n e w b^{new} bnew。
每次完成两个变量优化后,还必须更新对应的 E i E_i Ei值,保存在列表中。 E i n e w = ∑ S y ( j ) α j k ( x ( i ) , x ( j ) ) + b n e w − y ( i ) E_i^{new}=\sum_S y^{(j)} \alpha_jk(x^{(i)},x^{(j)}) + b^{new}-y^{(i)} Einew=∑Sy(j)αjk(x(i),x(j))+bnew−y(i),其中 S S S是所有支持变量 x ( j ) x^{(j)} x(j)的集合(决策函数只与支持向量有关)。
五、支持向量机的损失函数
5.1 0/1损失函数
l 0 / 1 ( z ) = { 1 , if z < 0 0 , otherwise l_{0/1}(z)=\left\{\begin{array}{l}{1, \text { if }z<0} \\ {0, \text {otherwise }}\end{array}\right. l0/1(z)={1, if z<00,otherwise
5.2 Hinge损失函数
l h i n g e ( z ) = m a x ( 0 , 1 − z ) l_{hinge}(z)=max(0, 1-z) lhinge(z)=max(0,1−z)
5.3 指数损失函数
l e x p ( z ) = e x p ( − z ) l_{exp}(z)=exp(-z) lexp(z)=exp(−z)
5.4 对率损失函数
l l o g ( z ) = l o g ( 1 + e x p ( − z ) ) l_{log}(z)=log(1+exp(-z)) llog(z)=log(1+exp(−z))
当使用对率损失函数时,就几乎得到了逻辑回归模型。
六、支持向量机和逻辑回归比较
相同点:
- 都是线性分类器,本质上都是求一个最佳分类超平面
- 都是监督学习算法
- 都是判别模型
- 通常情况下性能相当
不同点:
-
本质上的损失函数不同:
LR是交叉熵损失函数: J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}[\sum_{i=1}^m y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)}))] J(θ)=−m1[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))],SVM是合页损失函数: L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 m α i ( y ( i ) ( w T ⋅ x ( i ) + b ) − 1 ) L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^m \alpha_i(y^{(i)}(w^T \cdot x^{(i)} + b) -1 ) L(w,b,α)=21∣∣w∣∣2−∑i=1mαi(y(i)(wT⋅x(i)+b)−1)。LR是基于概率论原理,假设正样本的概率可以用Sigmoid函数表示,然后通过极大似然估计的方法估计出参数的值。SVM基于几何间隔最大化原理,认为存在最大几何间隔的分类超平面为最优分类面。
-
对数据和参数的敏感程度不同:
SVM只与支持向量有关,在其外添加或减少样本点对分类决策面没有影响,因此SVM对异常值不敏感,而LR敏感。SVM抗噪能力强。LR受所有数据点的影响,直接依赖数据分布,每个样本点都会影响决策面结果。如果类别不平衡,一般需要做平衡处理。
-
SVM基于数据表达的距离测度,必须先进行标准化。LR不必须。进行标准化也对梯度下降有一定好处。
-
解决非线性问题时,SVM采用核函数,而LR通常不采用。SVM可灵活转换为线性问题,LR需手动特征转换。SVM只有少数几个支持向量样本参与决策运算,LR中每个样本点都需要参与核计算,计算代价高( 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2正则化项)。
-
小规模数据上,SVM优于LR。SVM计算复杂度受数据量限制,对海量数据LR使用更加广泛。
-
SVM自带正则,LR则需要添加。
-
LR输出具有自然的概率意义,SVM输出不具概率意义,需进行特殊处理才能概率输出。
-
LR能直接用于多分类任务,SVM需推广。
-
理论基础不同,SVM基于严格数学推导,LR基于统计。
-
可处理特征维度不同,LR在特征维度很高时,表现较差。SVM可通过对偶求解高效来解决。
-
能力范围不同,SVM扩展后,可解决回归问题,LR不能。
七、支持向量机过拟合策略
- 选择的核函数过强,更换核函数。
- 要求的间隔过大,修改C系数大小,控制两者比例(C过大过于强调函数间隔,抑或正则化系数过小)。
八、支持向量机优缺点
SVM优点:
- 对线性不可分数据,可通过核函数映射到高维特征空间实现线性可分
- SVM学习问题可表示为凸优化问题,可利用有效算法发现目标函数的全局最小值。而其他分类算法(如人工神经网络等)都采用一种基于贪心学习的策略来搜索假没空间,一般只能获得局部最优解。
- 小集群分类效果好。
- 结果由少数支持向量决定,使得具有较好的鲁棒性。体现在:增、删非支持向量对模型没有影响。支持向量样本集具有一定的鲁棒性。在某些应用中,SVM对核选取不敏感。
SVM缺点:
- 仅限于二分类,多分类效果不好
- 仅限于小集群样本,观测样本太多时,效率较低
- 寻找合适的核函数相对困难
九、支持向量机处理多分类问题
- 直接法。直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题一次性实现多分类。但计算复杂度比较高,实现起来较困难,只适用于小型问题中。
- 间接法。组合多个2分类器来实现多分类器的构造,如one vs one,one vs all。
十、支持向量机进行概率输出
输出概率定义式为: P r ( x ) ≈ P A , B ( f ) = 1 1 + e x p ( A f + B ) , w h e r e f = f ( x ) P_r(x)\approx P_{A,B}(f)=\frac{1}{1+exp(Af+B)},wheref=f(x) Pr(x)≈PA,B(f)=1+exp(Af+B)1,wheref=f(x),是将SVM的输出结果进行后处理,转换成后验概率。式子是采用一个Sigmoid函数将SVM输出映射到 [ 0 , 1 ] [0,1] [0,1]之间。其中,有两个参数 A , B A,B A,B来调整映射值大小, A A A称作尺度参数, B B B称作位置参数。
定义一个新的训练集合 ( f i , t i ) (f_i, t_i) (fi,ti),其中 f i = 1 1 + e x p ( △ f i + B ) , t i = y ( i ) + 1 2 f_i=\frac{1}{1+exp(\bigtriangleup f_i+B)},t_i=\frac{y^{(i)}+1}{2} fi=1+exp(△fi+B)1,ti=2y(i)+1, y ( i ) y^{(i)} y(i)为样本所属的类别,取值为 { − 1 , 1 } \{-1, 1\} {−1,1}, t i t_i ti为目标概率。来极小化训练集上的负对数损失函数(交叉熵损失函数): m i n − ∑ i [ t i l o g ( p i ) + ( 1 − t i ) l o g ( 1 − p i ) ] min-\sum_i[t_ilog(p_i)+(1-t_i)log(1-p_i)] min−∑i[tilog(pi)+(1−ti)log(1−pi)],其中 p i p_i pi即 f i f_i fi。
由于Sigmoid函数的稀疏性(Sigmoid(-5)=0.0067,Sigmoid(5)=0.9933),而 t i t_i ti取值范围为 [ 0 , 1 ] [0,1] [0,1],要完全拟合目标值,就要求Sigmoid的输入向实数轴两端靠拢。而Sigmoid函数对数轴两端的值变化不敏感,难以区分,所以要对 t i t_i ti进行平滑处理: t i = { N + + 1 N + + 2 , i f : y ( i ) = + 1 1 N + + 2 , i f : y ( i ) = − 1 t_i=\left\{\begin{matrix} \frac{N^+ +1}{N^+ + 2},if: y^{(i)}=+1\\ \frac{1}{N^+ + 2},if: y^{(i)}=-1 \end{matrix}\right. ti={N++2N++1,if:y(i)=+1N++21,if:y(i)=−1。
十一、支持向量机时间、空间复杂度
SVM的空间消耗主要是存储训练样本和核矩阵。
SVM的时间计算复杂度介于 O ( N S V 3 + L ∗ N S V 2 + d ∗ L ∗ N S V ) O(NSV^3+L*NSV^2+d*L*NSV) O(NSV3+L∗NSV2+d∗L∗NSV)和 O ( d ∗ L 2 ) O(d*L^2) O(d∗L2)之间,其中 N S V NSV NSV为支持向量个数, L L L为训练样本个数, d d d为样本维度。
十二、支持向量回归(SVR)
12.1 支持向量回归思想
支持向量回归假设能容忍 f ( x ) f(x) f(x)和 y y y之间最多有$\epsilon 的 偏 差 , 即 仅 当 的偏差,即仅当 的偏差,即仅当f(x) 与 与 与y 之 间 的 差 别 绝 对 值 大 于 之间的差别绝对值大于 之间的差别绝对值大于\epsilon 时 才 计 算 损 失 , 这 相 当 于 以 时才计算损失,这相当于以 时才计算损失,这相当于以f(x)$为中心,构建了一个宽度为$2\epsilon $宽度的间隔带,若训练样本落入此间隔带,则被认为是预测正确。
SVR问题可形式化为: m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l ϵ ( f ( x ) − y ( i ) ) , ( f ( x ) = w T x + b ) \underset{w,b}{min} \frac{1}{2}||w||^2+C \sum_{i=1}^m l_\epsilon(f(x)-y^{(i)}),(f(x)=w^Tx+b) w,bmin21∣∣w∣∣2+C∑i=1mlϵ(f(x)−y(i)),(f(x)=wTx+b),其中 C C C为正则化常数, l ϵ l_\epsilon lϵ为 ϵ − \epsilon- ϵ−不敏感损失函数, l ϵ ( z ) = { 0 , i f : ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ , o t h e r w i s e l_\epsilon(z)=\left\{\begin{array}{l}{0,if :|z| \leq \epsilon } \\ {|z|-\epsilon,otherwise}\end{array}\right. lϵ(z)={0,if:∣z∣≤ϵ∣z∣−ϵ,otherwise。
12.2 支持向量回归推导
在SVR问题形式化基础上,引入松弛变量 ε i \varepsilon _i εi和$\hat\varepsilon_i $,两者代表松弛程度不同。可得SVR的原始问题:
min w , b , ε , ε ^ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ε i + ε ^ i ) \underset{\text w,b,\varepsilon,\hat \varepsilon}{\min }\frac{1}{2}||w||^2 + C\sum_{i=1}^m(\varepsilon_i+\hat \varepsilon_i) w,b,ε,ε^min21∣∣w∣∣2+Ci=1∑m(εi+ε^i)
s . t . f ( x ( i ) ) − y ( i ) ≤ ϵ + ε i ; y ( i ) − f ( x ( i ) ) ≤ ϵ + ε ^ i ; ε i , ε ^ i ≥ 0 , i = 1 , 2 , . . . , m s.t.f(x^{(i)})-y^{(i)} \leq \epsilon + \varepsilon _i;y^{(i)}-f(x^{(i)}) \leq \epsilon + \hat\varepsilon _i;\varepsilon _i, \hat\varepsilon _i \geq0,i=1,2,...,m s.t.f(x(i))−y(i)≤ϵ+εi;y(i)−f(x(i))≤ϵ+ε^i;εi,ε^i≥0,i=1,2,...,m
引入拉格朗日函数:
L ( w , b , α , α ^ , ε , ε ^ , μ , μ ^ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ε i + ε ^ i ) − ∑ i = 1 m μ ^ i ε ^ i − ∑ i = 1 m μ i ε i + ∑ i = 1 m α i ( f ( x ( i ) ) − y ( i ) − ϵ − ε i ) + ∑ i = 1 m α ^ i ( f ( x ( i ) ) − y ( i ) − ϵ − ε ^ i ) L(w, b, \alpha, \hat{\alpha}, \varepsilon, \hat\varepsilon , \mu ,\hat{\mu})=\frac{1}{2} ||w||^{2}+C \sum_{i=1}^m(\varepsilon _i+ \hat \varepsilon _i)-\sum_{i=1}^m\hat\mu_i\hat\varepsilon _i-\sum_{i=1}^m\mu_i\varepsilon _i+\sum_{i=1}^m\alpha_i(f(x^{(i)})-y^{(i)}-\epsilon-\varepsilon _i)+\sum_{i=1}^m \hat \alpha_i(f(x^{(i)})-y^{(i)}-\epsilon-\hat\varepsilon _i) L(w,b,α,α^,ε,ε^,μ,μ^)=21∣∣w∣∣2+Ci=1∑m(εi+ε^i)−i=1∑mμ^iε^i−i=1∑mμiεi+i=1∑mαi(f(x(i))−y(i)−ϵ−εi)+i=1∑mα^i(f(x(i))−y(i)−ϵ−ε^i)
原始极小极大问题:
min w , b , ε , ε ^ max μ , μ ^ , α , α ^ L ( w , b , α , α ^ , ε , ε ^ , μ , μ ^ ) \underset{\text w,b,\varepsilon,\hat \varepsilon}{\min }\underset{ \mu ,\hat\mu,\alpha,\hat\alpha}{\max}L(w, b, \alpha, \hat{\alpha}, \varepsilon, \hat\varepsilon , \mu ,\hat{\mu}) w,b,ε,ε^minμ,μ^,α,α^maxL(w,b,α,α^,ε,ε^,μ,μ^)
对偶极大极小问题:
max μ , μ ^ , α , α ^ min w , b , ε , ε ^ L ( w , b , α , α ^ , ε , ε ^ , μ , μ ^ ) \underset{ \mu ,\hat\mu,\alpha,\hat\alpha}{\max }\underset{\text w,b,\varepsilon,\hat \varepsilon}{\min }L(w, b, \alpha, \hat{\alpha}, \varepsilon, \hat\varepsilon , \mu ,\hat{\mu}) μ,μ^,α,α^maxw,b,ε,ε^minL(w,b,α,α^,ε,ε^,μ,μ^)
令 L L L对 w , b , ε , ε ^ w,b,\varepsilon,\hat \varepsilon w,b,ε,ε^求偏导等于零可得:
{ W = ∑ i = 1 m ( α ^ i − α i ) x ( i ) 0 = ∑ i = 1 m ( α ^ i − α i ) C = α i + μ i C = α ^ i + μ ^ i \left\{\begin{array}{l}{W=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x^{(i)}} \\ {0=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right)} \\ {C=\alpha_{i}+\mu_{i}} \\ {C=\hat{\alpha}_{i}+\hat{\mu}_{i}}\end{array}\right. ⎩⎪⎪⎨⎪⎪⎧W=∑i=1m(α^i−αi)x(i)0=∑i=1m(α^i−αi)C=αi+μiC=α^i+μ^i
带入原式中,可得对偶问题:
max α , α ^ ∑ i = 1 m y ( i ) ( α ^ i − α i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) ( x ( i ) ) T x ( j ) \underset{ \alpha, \hat{\alpha}}{\max } \sum_{i=1}^my^{(i)}\left(\hat{\alpha}_{i}-\alpha_{i}\right)-\epsilon\left(\hat{\alpha}_{i}+\alpha_{i}\right)-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m(\hat{\alpha}_{i}-\alpha_{i})(\hat{\alpha}_{j}-\alpha_{j})(x^{(i)})^Tx^{(j)} α,α^maxi=1∑my(i)(α^i−αi)−ϵ(α^i+αi)−21i=1∑mj=1∑m(α^i−αi)(α^j−αj)(x(i))Tx(j)
s . t . ∑ i = 1 m ( α ^ i − α i ) = 0 , α i ≥ 0 , α ^ i ≥ 0 s.t. \sum_{i=1}^m(\hat{\alpha}_{i}-\alpha_{i})=0,\alpha_{i} \geq0, \hat\alpha_{i}\geq0 s.t.i=1∑m(α^i−αi)=0,αi≥0,α^i≥0
上述过程需满足KKT条件,即:
{ α i ( f ( x ( i ) ) − y ( i ) − ϵ − ε ) = 0 α ^ i ( y ( i ) − f ( x ( i ) ) − ϵ − ε ^ ) = 0 ( C − α i ) ε i = 0 ( C − α ^ i ) ε ^ i = 0 \left\{\begin{array}{l}{\alpha_i(f(x^{(i)})-y^{(i)}-\epsilon-\varepsilon)=0} \\ {\hat\alpha_i(y^{(i)}-f(x^{(i)})-\epsilon-\hat\varepsilon)=0} \\ {(C-\alpha_{i})\varepsilon_i=0} \\ {(C-\hat\alpha_{i})\hat\varepsilon_i=0}\end{array}\right. ⎩⎪⎪⎨⎪⎪⎧αi(f(x(i))−y(i)−ϵ−ε)=0α^i(y(i)−f(x(i))−ϵ−ε^)=0(C−αi)εi=0(C−α^i)ε^i=0
可得,当且仅当 f ( x ( i ) ) − y ( i ) − ϵ − ε = 0 f(x^{(i)})-y^{(i)}-\epsilon-\varepsilon=0 f(x(i))−y(i)−ϵ−ε=0时, α i \alpha_i αi才能取非零值, α ^ i \hat\alpha_i α^i同理。换言之,当且仅当样本 ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i))不落入 ϵ \epsilon ϵ间隔带中,相应的 α i \alpha_i αi或 α ^ i \hat\alpha_i α^i才能取非零值(因为 ϵ + ε i ≥ ϵ \epsilon+\varepsilon_{i} \geq \epsilon ϵ+εi≥ϵ)。
而且约束 f ( x ( i ) ) − y ( i ) − ϵ − ε = 0 f(x^{(i)})-y^{(i)}-\epsilon-\varepsilon=0 f(x(i))−y(i)−ϵ−ε=0和 y ( i ) − f ( x ( i ) ) − ϵ − ε ^ = 0 y^{(i)}-f(x^{(i)})-\epsilon-\hat\varepsilon=0 y(i)−f(x(i))−ϵ−ε^=0不能同时成立,因此 α i , α ^ i \alpha_i, \hat \alpha_i αi,α^i中至少一个为0。因为 α i , α ^ i \alpha_i, \hat \alpha_i αi,α^i中至少一个为0,可得 ε i , ε ^ i \varepsilon_i, \hat\varepsilon_i εi,ε^i中也至少一个为0(因为由 C ε i = 0 C \varepsilon_{i}=0 Cεi=0或 C ε ^ i = 0 C \hat\varepsilon_{i}=0 Cε^i=0和 C > 0 C>0 C>0可得约束 α i α ^ i = 0 , ε i ε ^ i = 0 \alpha_i \hat \alpha_i=0,\varepsilon_i \hat\varepsilon_i=0 αiα^i=0,εiε^i=0)。
将 w w w代入,可得SVR解形如: f ( x ) = ∑ i = 1 m ( α ^ i − α i ) ( x ( i ) ) T x + b f(x)=\sum_{i=1}^m(\hat\alpha_i-\alpha_i)(x^{(i)})^Tx+b f(x)=∑i=1m(α^i−αi)(x(i))Tx+b。
能使 ( α ^ i − α i ) ≠ 0 (\hat\alpha_i-\alpha_i) \neq 0 (α^i−αi)=0的样本即为支持向量,因为落在 ϵ − \epsilon- ϵ−间隔带之内的样本都满足 α i = 0 \alpha_i=0 αi=0且 α ^ i = 0 \hat\alpha_i=0 α^i=0,所以支持向量必落在 ϵ \epsilon ϵ间隔带上或之外。
显然,SVR支持向量仅是训练样本的一部分,其解仍具稀疏性。由KKT条件,若 0 < α i < C 0<\alpha_i<C 0<αi<C,则 ε i = 0 \varepsilon_i =0 εi=0且 f ( x ( i ) ) − y ( i ) − ϵ − ε = 0 f(x^{(i)})-y^{(i)}-\epsilon-\varepsilon=0 f(x(i))−y(i)−ϵ−ε=0,则可得: b = y ( i ) + ϵ − ∑ i = 1 m ( α ^ j − α j ) ( x ( j ) ) T x ( i ) b=y^{(i)}+\epsilon-\sum_{i=1}^m(\hat\alpha_j-\alpha_j)(x^{(j)})^Tx^{(i)} b=y(i)+ϵ−∑i=1m(α^j−αj)(x(j))Tx(i),其中 x ( i ) x^{(i)} x(i)为任意选取 0 < α i < C 0<\alpha_i<C 0<αi<C对应样本。若要使得 b b b结果更鲁棒,选取多个(或全部)满足条件 0 < α i < C 0<\alpha_i<C 0<αi<C的样本求解 b b b后求平均值。
当考虑特征映射时, f ( x ) = ∑ i = 1 m ( α ^ i − α j ) k ( x , x ( i ) ) + b f(x)=\sum_{i=1}^m(\hat\alpha_i-\alpha_j)k(x,x^{(i)})+b f(x)=∑i=1m(α^i−αj)k(x,x(i))+b,其中 w = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x ( i ) ) w=\sum_{i=1}^m(\hat\alpha_i-\alpha_i) \phi(x^{(i)}) w=∑i=1m(α^i−αi)ϕ(x(i))。
十三、关于支持向量机的几个结论和证明
13.1 在空间上线性可分的两类点,分别向SVM分类的超平面上做投影,这些点在超平面上的投影是线性不可分的
法一:反证法。
假没存在一个SVM分类起平面使所有支持向量在超平面上的投影依然线性可分,如图所示(黑线为分类超平面):
依据SVM最大间隔定义原理,可得图中AB两点连线的中垂线所组成的避平面(红线)是较于原超平面(黑线)更优的解,这与之前黑线为超平面最优解相矛盾。考虑最优解对应红线,两组点经过投影后,并不是线性可分的。此时,虽然假设是仅有支持向量,但SVM分类结果仅依赖于支持向量,因此与仅使用支持向量的分类结果一致。因此证得线性不可分。
法二:凸优化理论中的超平面分离定理(SHT定理)。
SHT定理:对于不相交的两个凸集,存在一个超平面,将两个凸集分离。对于二维情况,两个凸集间距离最短两点连线的中垂线就是一个将它们分离的超平面。
先对线性可分的这两组点求各自的凸包(所有包含集合X的凸集的交集称为X的凸包)。SVM求得超平面就是两个凸包上距离最短两点连线的中垂线(面),凸包上的点要么在两个样本点连线上,要么是样本点。
两个凸包距离最短的两个点的三种情况:
从几何上分析可知,无论哪种情况两类点的投影均是线性不可分的。
13.2 一个使用高斯核( k ( x , z ) = e − ∣ ∣ x − z ∣ ∣ 2 / r 2 k(x, z)=e^{-||x-z||^2/r^2} k(x,z)=e−∣∣x−z∣∣2/r2)训练的SVM中,若给定训练集中不存在两个点在同一个位置,则存在一组参数SVM { α 1 , … , α m , b } \left\{\alpha_{1}, \ldots, \alpha_{m}, b\right\} {α1,…,αm,b}以及参数 r r r使得SVM训练误差为0
SVM的预测公式: f ( x ) = ∑ i = 1 m α i y ( i ) k ( x ( i ) , x ) + b f(x)=\sum_{i=1}^m \alpha_iy^{(i)}k(x^{(i)},x)+b f(x)=∑i=1mαiy(i)k(x(i),x)+b,由于不存在两个点在同一位置,因此对于任意的 i ≠ j i \neq j i=j有$||x{(i)}-x{(j)}|| \geq \varepsilon , 则 可 以 对 任 意 的 ,则可以对任意的 ,则可以对任意的i , 固 定 ,固定 ,固定\alpha_i=1 以 及 以及 以及b=0 ( 此 时 不 考 虑 满 足 约 束 条 件 ) , 只 保 留 (此时不考虑满足约束条件),只保留 (此时不考虑满足约束条件),只保留r , 有 : ,有: ,有:f(x)=\sum_{i=1}^m\alpha_i y{(i)}k(x{(i)},x)+b=\sum_{i=1}my{(i)}k(x^{(i)}, x)=\sum_{i=1}my{(i)}e{-||x-x{(i)}||2/r2}$。
将任意 x ( j ) x^{(j)} x(j)代入式中,有: f ( x ( j ) ) = ∑ i = 1 m y ( i ) e − ∣ ∣ x ( j ) − x ( i ) ∣ ∣ 2 / r 2 f(x^{(j)})=\sum_{i=1}^my^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/r^2} f(x(j))=∑i=1my(i)e−∣∣x(j)−x(i)∣∣2/r2,即 f ( x j ) − y ( j ) = ∑ i = 1 , i ≠ j m y ( i ) e − ∣ ∣ x ( j ) − x ( i ) ∣ ∣ 2 / r 2 ⇒ ∣ ∣ f ( x j ) − y ( j ) ∣ ∣ ≤ ∑ i = 1 , i ≠ j m e − ∣ ∣ x ( j ) − x ( i ) ∣ ∣ 2 / r 2 f(x^{j})-y^{(j)}=\sum_{i=1,i \neq j}^my^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/r^2} \Rightarrow||f(x^{j})-y^{(j)}|| \leq\sum_{i=1,i \neq j}^me^{-||x^{(j)}-x^{(i)}||^2/r^2} f(xj)−y(j)=∑i=1,i=jmy(i)e−∣∣x(j)−x(i)∣∣2/r2⇒∣∣f(xj)−y(j)∣∣≤∑i=1,i=jme−∣∣x(j)−x(i)∣∣2/r2(相当于对于 y ( i ) y^{(i)} y(i)全取了 + 1 +1 +1,全取正值,则当且仅当真实分布中 y ( i ) y^{(i)} y(i)全为 + 1 +1 +1或 − 1 -1 −1时等号成立)。
又$||x{(i)}-x{(j)}|| \geq \varepsilon , 取 ,取 ,取r=\varepsilon / \sqrt{\log m} , 代 入 可 得 : ,代入可得: ,代入可得:||f(x{j})-y{(j)}|| \leq\sum_{i=1,i \neq j}me{-||x{(j)}-x{(i)}||2/r2} \leq||\sum_{i=1,i \neq j}me{-logm}||=\frac{m-1}{m}<1$。
此式说明,对于任意的 x ( j ) x^{(j)} x(j),预测结果 f ( x ( j ) ) f(x^{(j)} ) f(x(j))与真实标签 y ( i ) y^{(i)} y(i)的距离小于1。因此,当样本 y ( j ) = + 1 y^{(j)}=+1 y(j)=+1时,预测结果 f ( x ( j ) ) > 0 f(x^{(j)})>0 f(x(j))>0,样本预测为正例;当样本 y ( j ) = − 1 y^{(j)}=-1 y(j)=−1时,预测结果 f ( x ( j ) ) < 0 f(x^{(j)})<0 f(x(j))<0,样本预测为负例,即所有样本都被正确预测,训练误差为0。
上述证明找到了一组参数满足训练误差为0,但是在不考虑约束条件下进行的,此时证明在实际训练一个不加松弛变量SVM时,也能得到一个SVM保证训练误差为0。
现已证得: y ( j ) f ( x ( j ) ) ≥ 1 y^{(j)}f(x^{(j)}) \geq1 y(j)f(x(j))≥1,仍然固定 b = 0 b=0 b=0,此时SVM预测公式 f ( x ) = ∑ i = 1 m α i y ( i ) k ( x ( i ) , x ) f(x)=\sum_{i=1}^m \alpha_iy^{(i)}k(x^{(i)},x) f(x)=∑i=1mαiy(i)k(x(i),x),将 y ( j ) f ( x ( j ) ) y^{(j)}f(x^{(j)}) y(j)f(x(j))展开,有 y ( j ) f ( x ( j ) ) = y ( j ) ∑ i = 1 m α i y ( i ) k ( x ( i ) , x ( j ) ) = α j y ( j ) y ( j ) k ( x ( j ) , x ( j ) ) + ∑ i = 1 , i ≠ j m α i y ( i ) y ( j ) k ( x ( i ) , x ( j ) ) = α j + ∑ i = 1 , i ≠ j m α i y ( i ) y ( j ) k ( x ( i ) , x ( j ) ) y^{(j)}f(x^{(j)})=y^{(j)}\sum_{i=1}^m \alpha_iy^{(i)}k(x^{(i)},x^{(j)})=\alpha_jy^{(j)}y^{(j)}k(x^{(j)},x^{(j)})+\sum_{i=1,i \neq j}^m\alpha_iy^{(i)}y^{(j)}k(x^{(i)},x^{(j)})=\alpha_j+\sum_{i=1,i \neq j}^m\alpha_iy^{(i)}y^{(j)}k(x^{(i)},x^{(j)}) y(j)f(x(j))=y(j)∑i=1mαiy(i)k(x(i),x(j))=αjy(j)y(j)k(x(j),x(j))+∑i=1,i=jmαiy(i)y(j)k(x(i),x(j))=αj+∑i=1,i=jmαiy(i)y(j)k(x(i),x(j))
可把每个 α j \alpha_j αj都取一个很大值,同时取一个非常小的 r r r,使得核映射项 k ( x ( i ) , x ( j ) ) k(x^{(i)},x^{(j)}) k(x(i),x(j))非常小,从而 α j \alpha_j αj占据主导地位,保证了任意 j j j均有 y ( j ) f ( x ( j ) ) > 1 y^{(j)}f(x^{(j)})>1 y(j)f(x(j))>1,满足SVM条件,同时误差为0。
考虑加入松弛变量的情况:
由于此时优化目标改变,不再是训练误差最小,此时目标函数包含两项: C ∑ i = 1 m ε i C\sum_{i=1}^m\varepsilon _i C∑i=1mεi和 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2,因此不一定能得到训练误差为0的SVM模型。