单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)...

四、序列最小最优化算法

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

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第1张图片

的解:

7fbf47969342369ebf722f7bd6f2c2d6.png

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

中的两个元素看做是变量,其他的看做是常量),
针对这两个变量构建一个二次规划问题

(为什么一次优化两个变量而不是一个呢?很简单,如果选择一个变量,其他固定为常量,那么由于约束条件

的存在,所以得到这个变量也只有一个取值,这样就没意义了。)

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

由于约束条件

,知,子问题的两个变量中
只有一个是自由变量。例如,假设我们选择
作为两个变量,其他的
固定为常量,那么由这个约束条件可知:

即,如果

确定,那么
也随之确定。所以子问题中
同时更新两个变量。

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

我们分别来介绍:

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

不失一般性,假设两个变量

,其他元素
是固定的
常量。于是 SMO的最优化问题的子问题可以写成:

(常数)

其中,

是常数,仔细
对比子问题的目标函数与原问题的目标函数,可以看到子问题中 省去了不包含
的常数项。

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

(1)分析约束条件

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

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第2张图片
图1:https://blog.csdn.net/witnessai1/article/details/51475580?locationNum=8

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

由约束条件

,我们将解限制在了图中的
正方形盒子里(书中将这个正方形盒子记为
);再根据约束条件
,可知解得结果
有两种情况一种是
,即
另一种是
),这两种情况对应两种
线族
,或
,都平行于正方形盒子的
对角线。这使得两个变量的最优化问题成为实质上的 单变量的最优化问题,我们不妨考虑为变量
的最优化问题。(即先将目标函数表示为仅关于变量
的函数,求最小值对应的
最优解,再根据 约束条件求得
的最优解)

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第3张图片
图2 可行解α2的取值范围

如上图,假设问题的初始可行解

最优解
,并且假设在沿着约束方向
未经剪辑(没有正方形盒子约束)时
最优解

由于

需要满足
不等式约束
,所以最优值
取值范围满足条件:
,其中,L和H是
所在对角线段的端点的界。

(如图1左图所示),则有:

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

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

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

求解过程也可以分为两步:第一步,求沿着约束方向未经剪辑(即未考虑不等式

的约束)时
的最优解
第二步,再求 剪辑后
的解

下面以定理的形式来表述这个结果:(这是一个很长的推导过程,目的是给出约束条件下两个变量二次规划的最优解,即

。如果你现在精神状态不佳,就先休息一下吧~我希望能用100%的关注力来跟着思路推导一遍~只要你能实打实地冲过去,你会发现这个推导的理解也不过如此,非常简单~)

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

为了叙述简单,记:

(新的输入
的预测值)

令:

(表示对输入
的预测输出与真实输出的差,

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

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

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第4张图片

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

(先别被它吓住,后面有推导,很简单的~)

其中,

是输入空间到特征空间的
映射

经剪辑后

的解是

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第5张图片

求得

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

上面的这个定理,就求得了两个变量二次规划的最优解

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

证明:首先引进一个记号

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

目标函数即可写成:

根据约束条件

以及
,可将
表示为

代入到目标函数,就得到了只含变量

的目标函数:

求导数,有:

令其为0,得到:

代入,得到:

代入其中,得到:

到此,就得到了未经剪辑的最优解

了。要使其满足不等式约束必须将其
限制在区间
,这样就得到了:

单纯形法只有两个约束条件_第七章 支持向量机(第4节 序列最小最优化算法 第1小节 两个变量二次规划的求解方法)..._第6张图片

又根据不等式:

f932f50e7a966cb40673d239e05e8cc2.png

得到

的表达式:

2bbbec281620ef6c31277b5af51fe571.png

到此,就得到了两个变量二次规划目标函数的最优解

你可能感兴趣的:(单纯形法只有两个约束条件)