第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)

四、序列最小最优化算法

如上篇所述,SMO算法的目的是求非线性支持向量机的对偶问题:

的解:

SMO算法是一种启发式算法基本思路为:假如解中所有变量都满足最优化问题的KKT条件,那么这时的解就是最优化问题的解,因为KKT条件是该最优化问题的充分必要条件。否则,选择两个变量(其中一个变量是违反KKT条件最严重的那一个,另一个变量由约束条件自动确定),固定其他变量(即把 \alpha^* 中的两个元素看做是变量,其他的看做是常量),针对这两个变量构建一个二次规划问题

(为什么一次优化两个变量而不是一个呢?很简单,如果选择一个变量,其他固定为常量,那么由于约束条件\sum_{i=1}^N\alpha_iy_i=0的存在,所以得到这个变量也只有一个取值,这样就没意义了。)

这个二次规划问题关于两个变量的解,肯定是向原始二次规划问题的解靠近的。SMO算法就是将原始问题不断分解为子问题并对子问题求解,进而达到求解原问题的目的。而且分解成子问题后有一个很大的好处,就是可以通过解析的方式来求解,大大提高整体计算的速度。

由于约束条件 \sum_{i=1}^N\alpha_iy_i=0 ,知,子问题的两个变量中只有一个是自由变量。例如,假设我们选择 \alpha_1,\alpha_2 作为两个变量,其他的 \alpha_3,\alpha_4,...,\alpha_N 固定为常量,那么由这个约束条件可知:

\alpha_1=-y_1\sum_{i=1}^N\alpha_iy_i

即,如果 \alpha_2 确定,那么 \alpha_1 也随之确定。所以子问题中同时更新两个变量。

整个SMO算法包括两个部分:求解两个变量二次规划的解析方法和选择变量的启发方法

我们分别来介绍:

1.两个变量二次规划的求解方法

不失一般性,假设两个变量\alpha_1,\alpha_2 ,其他元素 \alpha_3,\alpha_4,...,\alpha_N 是固定的常量。于是SMO的最优化问题的子问题可以写成:

\min_{\alpha_1,\alpha_2} \ \ \ \ \ \ \ \ \ W(\alpha_1,\alpha_2)=\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}^Ny_i\alpha_iK_{i1}+y_2\alpha_2\sum_{i=3}^Ny_i\alpha_iK_{i2}

s.t. \ \ \ \ \ \ \ \ \ \ \ \alpha_1y_1+\alpha_2y_2=-\sum_{i=3}^Ny_i\alpha_i=\varsigma (常数)

\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\le\alpha_i\le C,i=1,2

其中, K_{ij}=K(x_i,x_j),i,j=1,2,...,N\varsigma 是常数,仔细对比子问题的目标函数与原问题的目标函数,可以看到子问题中省去了不包含\alpha_1,\alpha_2 的常数项。

有了目标函数和约束条件,我们正式开始求解:首先分析约束条件然后在此约束条件之下来求极小

(1)分析约束条件

由于只有两个变量,所以约束条件可以用二维空间上的图形来表示,如下:

图1:https://blog.csdn.net/witnessai1/article/details/51475580?locationNum=8

别被这种图吓到了,这种图往往是那种一眼看上去很牛逼,研究清楚了其实也没啥,初中数学吧~我们细细道来~

由约束条件 0\le\alpha_i\le C,i=1,2 ,我们将解限制在了图中的正方形盒子里(书中将这个正方形盒子记为 [0,C]\times[0,C] );再根据约束条件 \alpha_1y_1+\alpha_2y_2=-\sum_{i=3}^Ny_i\alpha_i=\varsigma ,可知解得结果有两种情况一种是y_1=1,y_2=-1或y_1=-1,y_2=1 ,即y_1\ne y_2另一种是y_1=y_2=1或-1 ),这两种情况对应两种线族 \alpha_1-\alpha_2=k ,或 \alpha_1+\alpha_2=k ,都平行于正方形盒子的对角线。这使得两个变量的最优化问题成为实质上的单变量的最优化问题,我们不妨考虑为变量 \alpha_2 的最优化问题。(即先将目标函数表示为仅关于变量 \alpha_2 的函数,求最小值对应的 \alpha_2最优解,再根据约束条件求得 \alpha_1 的最优解)

图2 可行解α2的取值范围

如上图,假设问题的初始可行解\alpha_1^{old},\alpha_2^{old}最优解\alpha_1^{new},\alpha_2^{new} ,并且假设在沿着约束方向未经剪辑(没有正方形盒子约束)时 \alpha_2最优解\alpha_2^{new,unc}

由于 \alpha_2 需要满足不等式约束 0\le\alpha_i\le C,i=1,2 ,所以最优值 \alpha_2^{new}取值范围满足条件:L\le \alpha_2^{new}\le H ,其中,L和H是 \alpha_2^{new} 所在对角线段的端点的界。

y_1\ne y_2 (如图1左图所示),则有:

L=\max(0,\alpha_2^{old}-\alpha_1^{old})H=\min(C,C+\alpha_2^{old}-\alpha_1^{old})

y_1= y_2 (如图1右图所示),则有:

L=\max(0,\alpha_2^{old}+\alpha_1^{old}-C)H=\min(C,\alpha_2^{old}+\alpha_1^{old})

分析了约束条件之后,我们来求解两个变量二次规划。

(2)求约束条件下的极小

求解过程也可以分为两步:第一步,求沿着约束方向未经剪辑(即未考虑不等式 0\le\alpha_i\le C,i=1,2 的约束)时 \alpha_2 的最优解 \alpha_2^{new,unc}第二步,再求剪辑后 \alpha_2 的解 \alpha_2^{new,unc}

下面以定理的形式来表述这个结果:(这是一个很长的推导过程,目的是给出约束条件下两个变量二次规划的最优解,即 \alpha_1^{new},\alpha_2^{new} 。如果你现在精神状态不佳,就先休息一下吧~我希望能用100%的关注力来跟着思路推导一遍~只要你能实打实地冲过去,你会发现这个推导的理解也不过如此,非常简单~)

=================================================

为了叙述简单,记:

g(x)=\sum_{i=1}^N\alpha_iy_iK(x_i,x)+b (新的输入 x 的预测值)

令:

E_i=g(x_i)-y_i=(\sum_{j=1}^N\alpha_jy_jK(x_j,x_i)+b)-y_i,i=1,2 (表示对输入 x_i 的预测输出与真实输出的差, i=1,2

(上面定义的两个式子是为了方便后面定理证明那部分的~在后面如果遇到了,记得回来看看哈~)

【重要】定理: 最优化问题:

沿着约束方向未经剪辑时的解是:

\alpha_2^{new,unc}=\alpha_2^{old}+\frac{y_2(E_1-E_2)}{\eta} (先别被它吓住,后面有推导,很简单的~)

其中, \eta=K_{11}+K_{22}-2K_{12}=||\Phi(x_1)-\Phi(x_2)||^2

\Phi(x) 是输入空间到特征空间的映射

经剪辑后 \alpha_2 的解是

\alpha_2^{new} 求得 \alpha_1^{new}

\alpha_1^{new}=\alpha_1^{old}+y_1y_2(\alpha_2^{old}-\alpha_2^{new})

=====================================================

上面的这个定理,就求得了两个变量二次规划的最优解 \alpha_1^{new},\alpha_2^{new}

接着,我们来看看这个定理的证明过程(实打实地推导过程~打起精神来~~)

证明:首先引进一个记号

\nu_i=\sum_{j=3}^N\alpha_jy_jK(x_i,x_j)=g(x_i)-\sum_{j=1}^2\alpha_jy_jK(x_i,x_j)-b,i=1,2

(这个记号的引进是为了化简二次规划目标函数~回去再看看这个目标函数吧~~)

目标函数即可写成:

W(\alpha_1,\alpha_2)=\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\nu_1\alpha_1+y_2\nu_2\alpha_2

根据约束条件 \alpha_1y_1=\varsigma-\alpha_2y_2 以及 y_i^2=1 ,可将 \alpha_1 表示为

\alpha_1=(\varsigma-y_2\alpha_2)y_1

代入到目标函数,就得到了只含变量 \alpha_2 的目标函数:

W(\alpha_2)=\frac{1}{2}K_{11}(\varsigma-y_2\alpha_2)^2+\frac{1}{2}K_{22}\alpha_2^2+y_2K_{12}(\varsigma-y_2\alpha_2)\alpha_2-(\varsigma-y_2\alpha_2)y_1-\alpha_2+\nu_1(\varsigma-y_2\alpha_2)+y_2\nu_2\alpha_2

\alpha_2 求导数,有:

\frac{\partial W}{\partial\alpha_2}=K_{11}\alpha_2+K_{22}\alpha_2-2K_{12}\alpha_2-K_{11}\varsigma y_2+K_{12}\varsigma y_2+y_1y_2-1-\nu_1y_2+y_2\nu_2

令其为0,得到:

(K_{11}+K_{22}-2K_{12})\alpha_2=y_2(y_2-y_1+\varsigma K_{11}-\varsigma K_{12}+\nu_1-\nu_2)

=y_2[y_2-y_1+\varsigma K_{11}-\varsigma K_{12}+(g(x_1)-\sum_{j=1}^2y_j\alpha_jK_{1j}-b)-(g(x_2)-\sum_{j=1}^2y_j\alpha_jK_{2j}-b)]

\varsigma=\alpha_1^{old}y_1+\alpha_2^{old}y_2 代入,得到:

(K_{11}+K_{22}-2K_{12})\alpha_2^{new,unc}=y_2((K_{11}+K_{22}-2K_{12})\alpha_2^{old}y_2+y_2-y_1+g(x_1)-g(x_2))

    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =(K_{11}+K_{22}-2K_{12})\alpha_2^{old}+y_2(E_1-E_2)

\eta=K_{11}+K_{22}-2K_{12} 代入其中,得到:

\alpha_2^{new,unc}=\alpha_2^{old}+\frac{y_2(E_1-E_2)}{\eta}

到此,就得到了未经剪辑的最优解 \alpha_2^{new,unc} 了。要使其满足不等式约束必须将其限制在区间 [L,H] ,这样就得到了:

又根据不等式:

得到 \alpha_1^{new} 的表达式:

到此,就得到了两个变量二次规划目标函数的最优解  (\alpha_1^{new},\alpha_2^{new} )

编辑于 2019-08-19

文章被以下专栏收录