支持向量机SVM(二):基于软间隔最大化的线性SVM

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34072381/article/details/83993444


前言

由上节,线性可分SVM的学习模型为
min ω , b 1 2 ω 2 s.t. 1 y i ( ω x i + b ) 0 \begin{aligned} \min_{\bm\omega, b} &\quad\frac{1}{2}||\bm\omega||^2\\ \text{s.t.} &\quad 1-y_i(\bm\omega\cdot\bm x_i + b) \leq 0 \end{aligned}

对于不可分数据集(少量数据不可分),由于约束条件不再成立,不能使用以上线性可分SVM的模型。为此,引入松弛变量 ξ i 0 \xi_i\geq 0 ,使得函数间隔加上松弛变量后的不小于1,从而建立起线性不可分数据集的学习模型。

本节主要介绍线性不可分数据集的模型建立、求解,以及等价形式。


基于软间隔最大化的线性SVM

模型描述

数据集 T = { ( x 1 , y 1 ) ,   , ( x N , y N ) } T=\{(\bm x_1,y_1), \cdots, (\bm x_N, y_N)\} x i X = R n \bm x_i \in \mathcal{X}=\R^n y i Y = { + 1 , 1 } y_i \in \mathcal{Y}=\{+1, -1\} x i \bm x_i 为实例特征向量, y i y_i 为实例类别, T T 线性不可分。通常情况下,数据集中有少部分特异点,去除特异点的数据集线性可分。

模型建立

软间隔与正则化

软间隔指允许某些样本不满足函数间隔大于等于1的约束;正则化指在最大化间隔的同时,使不满足约束的样本尽可能少,记为
min ω , b 1 2 ω 2 + C i = 1 N 0 / 1 ( y i ( ω x i + b ) 1 ) \min\limits_{\bm\omega, b}\quad\frac{1}{2}||\bm\omega||^2+C\sum\limits_{i=1}^N\ell_{0/1}(y_i(\bm\omega\cdot\bm x_i + b) - 1)

式中 0 / 1 \ell_{0/1} 0/1损失函数,即当样本分类正确,函数值为0;当样本分类错误,函数值为1。 C C 为大于0的乘法参数,即当 C C 趋于无穷时,迫使所有样本均满足约束;取有限值时,允许一些样本不满足约束。

函数 0 / 1 \ell_{0/1} 非连续可导,不利用优化求解。常用的替代损失函数有合页损失指数损失以及对率损失,即
hinge ( z ) = max ( 0 , 1 z ) , exp ( z ) = e x p ( z ) , log ( z ) = log ( 1 + exp ( z ) ) \ell_\text{hinge}(z)=\max(0,1-z), \quad\ell_\text{exp}(z)=exp(-z),\quad\ell_\text{log}(z)=\log(1+\exp(-z))

图1 三种常见的替代损失函数:合页损失、指数损失、对率损失

若采用合页损失 hinge ( y i ( ω x i + b ) \ell_\text{hinge}(y_i(\bm\omega\cdot\bm x_i + b) ,即函数间隔大于1时无损失、小于1时有损失,得软间隔优化问题
min ω , b 1 2 ω 2 + C i = 1 N max ( 0 , 1 y i ( ω x i + b ) ) \min\limits_{\bm\omega, b}\quad\frac{1}{2}||\bm\omega||^2+C\sum\limits_{i=1}^N\max(0, 1-y_i(\bm\omega\cdot\bm x_i+b))

引入松弛变量 ξ i = max ( 0 , 1 y i ( ω x i + b ) ) \xi_i=\max(0, 1-y_i(\bm\omega\cdot\bm x_i+b)) ,则当 ξ i > 0 \xi_i\gt0 ξ i = 1 y i ( ω x i + b ) \xi_i = 1 - y_i(\bm\omega\cdot\bm x_i+b) ;当 ξ i = 0 \xi_i=0 y i ( ω x i + b ) 1 y_i(\bm\omega\cdot\bm x_i+b)\geq1 。因此, y i ( ω x i + b ) 1 ξ i y_i(\bm\omega \cdot \bm x_i + b) \geq 1-\xi_i 始终成立,得软间隔优化问题
min ω , b 1 2 ω 2 + C i = 1 N ξ i s.t. y i ( ω x i + b ) 1 ξ i ξ i 0 \begin{aligned} \min_{\bm\omega, b} &\quad\frac{1}{2}||\bm\omega||^2 + C\sum\limits_{i=1}^N\xi_i\\ \text{s.t.} &\quad y_i(\bm\omega \cdot \bm x_i + b) \geq 1-\xi_i \\ &\quad \xi_i \geq 0 \end{aligned}

解约束方程得 ( ω , b ) (\bm\omega^*,b^*) ,求得分离超平面 ω x + b = 0 \bm\omega^*\cdot\bm x+b^*=\bm0 ,决策函数 f ( x ) = sign ( ω x + b ) f(\bm x)=\text{sign}(\bm\omega^*\cdot \bm x+b^*)

逻辑回归与线性SVM

若使用对率几率损失替代0/1损失,则软间隔优化问题
min ω , b 1 2 ω 2 + C i = 1 N log ( 1 + exp ( 1 y i ( ω x i + b ) ) ) \min\limits_{\bm\omega, b}\quad\frac{1}{2}||\bm\omega||^2+C\sum\limits_{i=1}^N\log(1+\exp(1-y_i(\bm\omega\cdot\bm x_i+b)))

可见上述软间隔SVM与逻辑回归(使用L2正则化)优化目标相近,通常性能也基本一致。对率回归的输出具有自然的概率意义,而SVM不做处理时,输出不具有概率意义。此外对率回归能直接用于多分类,SVM需加以推广。由于合页损失函数有平坦的零区域,使得支持向量机的解具有稀疏性,具有支持向量的概念,计算开销较小

更一般的损失替代形式为
min f Ω ( f ) + C i = 1 m ( f ( x i ) , y i ) \min_{f}\quad \Omega(f)+C\sum_{i=1}^m\ell(f(\bm x_i), y_i)

式中,第一项为结构风险,第二项为经验风险

学习的对偶算法

极值问题求解与对偶理论详见:https://blog.csdn.net/sinat_34072381/article/details/83685964

引入拉格朗日辅助函数
L ( ω , b , ξ , α , μ ) = 1 2 ω 2 + C i = 1 N ξ i i = 1 N α i ( y i ( ω x i + b ) 1 + ξ i ) i = 1 N μ i ξ i L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu)=\frac{1}{2}||\bm\omega||^2 + C\sum\limits_{i=1}^N\xi_i-\displaystyle\sum\limits_{i=1}^N\alpha_i(y_i(\bm\omega\cdot \bm x_i + b)-1+\xi_i)-\sum_{i=1}^N\mu_i\xi_i

由拉格朗日对偶理论,以及原始问题的凸规划性,得原始问题的对偶问题(满足特定条件)
max α , μ min ω , b , ξ L ( ω , b , ξ , α , μ ) , s.t. α 0 ;   μ 0 \max\limits_{\bm\alpha,\bm\mu}\min\limits_{\bm\omega,b,\bm\xi}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu), \qquad \text{s.t.}\quad\bm\alpha\geq\bm0;\ \bm\mu\geq\bm0

对偶算法求步骤:
(I) 固定 α , μ \bm\alpha,\bm\mu ,通过 min ω , b , ξ L ( ω , b , ξ , α , μ ) \min\limits_{\bm\omega,b,\bm\xi}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu) ω , b , ξ \bm\omega,b,\bm\xi
L ( ω , b , ξ , α , μ ) L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu) 分别求 ω , b , ξ i \bm\omega,b,\xi_i 的偏导,并令其为0,得
w L ( ω , b , ξ , α , μ ) = ω i = 1 N α i y i x i = 0 b L ( ω , b , ξ , α , μ ) = i = 1 N α i y i = 0 ξ i L ( ω , b , ξ , α , μ ) = C α i μ i = 0 \begin{aligned} &\nabla_{\bm w}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu)=\bm\omega-\sum\limits_{i=1}^N\alpha_iy_i\bm x_i=\bm0\\ &\nabla_bL(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu)=-\sum\limits_{i=1}^N\alpha_iy_i=0\\ &\nabla_{\xi_i} L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu)=C-\alpha_i-\mu_i=0 \end{aligned}

ω = i = 1 N α i y i x i \bm\omega = \displaystyle\sum\limits_{i=1}^N\alpha_iy_i\bm x_i i = 1 N α i y i = 0 \displaystyle\sum\limits_{i=1}^N\alpha_iy_i=0 ,带入对偶方程得
min ω , b , ξ L ( ω , b , ξ , α , μ ) = 1 2 i = 1 N j = 1 N α i α j y i y j ( x i x j ) + i = 1 N α i \min\limits_{\bm\omega,b,\bm\xi}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu)=-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j(\bm x_i \cdot \bm x_j) + \sum_{i=1}^N \alpha_i

(II)再求 min ω , b , ξ L ( ω , b , ξ , α , μ ) \min\limits_{\bm\omega,b,\bm\xi}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu) α \bm\alpha 的极大,等价于求 min ω , b , ξ L ( ω , b , ξ , α , μ ) -\min\limits_{\bm\omega,b,\bm\xi}L(\bm\omega,b,\bm\xi,\bm\alpha,\bm\mu) α \bm\alpha 的极小
根据步骤 I I 的结果,对偶问题转化为
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 C α i μ i = 0 α i 0 μ i 0 , i = 1 , 2 ,   , N \begin{aligned} \min\limits_{\bm\alpha}&\quad \frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j(\bm x_i \cdot \bm x_j) - \sum_{i=1}^N \alpha_i \\ \text{s.t,}&\quad\sum\limits_{i=1}^N\alpha_iy_i=0\\ &\quad C-\alpha_i-\mu_i=0\\ &\quad\alpha_i\geq0\\ &\quad\mu_i\geq0,\quad i=1,2,\cdots,N \end{aligned}

消去 μ i \mu_i
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 , i = 1 , 2 ,   , N \begin{aligned} \min\limits_{\bm\alpha}&\quad \frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j(\bm x_i \cdot \bm x_j) - \sum_{i=1}^N \alpha_i \\ \text{s.t,}&\quad\sum\limits_{i=1}^N\alpha_iy_i=0\\ &\quad0\leq\alpha_i\leq C,\quad i=1,2,\cdots,N\\ \end{aligned}

求解约束方程得到拉格朗日乘子最优解(SMO算法后续文章介绍), α = ( α 1 , α 2 ,   , α N ) T \bm\alpha^*=(\alpha_1^*,\alpha_2^*, \cdots,\alpha_N^*)^T ,且 α 0 \bm\alpha^*\neq\bm0

(III) 求 ω \bm\omega^* b \bm b^* ,以及模型决策函数。
若存在 α \bm\alpha^* 的分量 α j \alpha_j^* ,满足 0 < α j < C 0\lt\alpha_j^*\lt C ,则对偶问题(原始问题)的解为
ω = i = 1 N α i y i x i b = y j i = 1 N α i y i ( x i x j ) \bm\omega^* = \sum\limits_{i=1}^N\alpha_i^*y_i\bm x_i \qquad b^*=y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x_i\cdot \bm x_j)

现实任务中,采用鲁棒性的做法求解 b b 值,即 b = 1 S s S ( y s i S α i y i x i x s ) b=\dfrac{1}{|\mathcal S|}\displaystyle\sum\limits_{s\in\mathcal S}(y_s-\sum\limits_{i\in\mathcal S}\alpha_iy_i\bm x_i\cdot\bm x_s) ,其中 S \mathcal S 为支持向量集合。

为什么线性SVM的 b b 值不唯一?

易验证所求解 ω , b \bm\omega^*,b^* 满足KKT条件
{ ω L ( ω , b , ξ , α , μ ) = ω i = 1 N α i y i x i = 0 b L ( ω , b , ξ , α , μ ) = i = 1 N α i y i = 0 ξ L ( ω , b , ξ , α , μ ) = C α μ = 0 α i ( y i ( ω x i + b ) 1 + ξ i ) = 0 μ ξ = 0 y i ( ω x i + b ) 1 + ξ i 0 ξ , α , μ 0 , i = 1 , 2 ,   , N \begin{cases} \nabla_{\bm\omega}L(\bm\omega^*,b^*,\bm\xi^*,\bm\alpha^*,\bm\mu^*)=\bm\omega^*-\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i\bm x_i = \bm0\\ \nabla_{b}L(\bm\omega^*,b^*,\bm\xi^*,\bm\alpha^*,\bm\mu^*)=-\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i=0\\ \nabla_{\bm\xi}L(\bm\omega^*,b^*,\bm\xi^*,\bm\alpha^*,\bm\mu^*)=\bm C-\bm\alpha^*-\bm\mu^*=\bm0\\ \\ \alpha_i^*(y_i(\bm\omega^*\cdot\bm x_i+b^*)-1+\xi_i^*)=0\\ \\ \bm\mu^*\cdot\bm\xi^*=\bm0\\ \\ y_i(\bm\omega^*\cdot\bm x_i+b^*)-1+\xi_i^*\geq0\\ \\ \bm\xi^*,\bm\alpha^*,\bm\mu*\geq\bm0,\qquad i=1,2,\cdots,N \end{cases}

因此,分离超平面 i = 1 N α i y i ( x x i ) + b = 0 \displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x \cdot \bm x_i)+b^*=0 ,分类决策函数 f ( x ) = sign ( i = 1 N α i y i ( x x i ) + b ) f(\bm x)=\text{sign}\left(\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x \cdot \bm x_i)+b^*\right)

支持向量

线性可分SVM中, α i > 0 \alpha_i^*\gt0 的点称为支持向量,即
y i ( ω x i + b ) 1 + ξ i = 0 y_i(\bm\omega\cdot\bm x_i + b) - 1+\xi_i = 0

其中 ξ i \xi_i 与拉格朗日乘子 α i \alpha_i 有密切关系,且根据约束条件可知, 0 α i C 0\leq\alpha_i^*\leq C

图2 软间隔的支持向量

(I) α i = 0 \alpha_i^*=0
ξ i = 0 \xi_i^*=0 ,样本分类正确,且位于间隔边界之外。

(II) 0 < α i < C 0\lt\alpha_i^*\lt C
ξ i = 0 \xi_i^*=0 ,样本分类正确,且位于间隔边界上。

(III) α i = C \alpha_i^*=C
0 < ξ i < 1 0\lt\xi_i^*\lt 1 ,样本分类正确,且样本位于超平面与间隔边界之间;当 ξ i = 1 \xi_i^*=1 ,样本位于超平面上;当 ξ i > 1 \xi_i^*\gt1 ,样本分类错误。

猜你喜欢

转载自blog.csdn.net/sinat_34072381/article/details/83993444
今日推荐