Andrew Ng机器学习课程笔记(八)之监督学习之Support Vector Machine(3)

Preface

主要内容:
在前面两篇SVM博客中我们所考虑的都是样本数据可以继续线性划分的情况,在这里我们将介绍非线性划分。
L1 Norm Soft Margin SVM(软间隔SVM)
Coordinate Ascent(坐标上升法)
Sequential Minimal Optimization(序列最小优化算法, SMO)

L1 Norm Soft Margin SVM

在下图中分别展示了两种情况:

  1. 一个离群点(或噪声)可以造成超平面的移动,这可以看出离群点(或噪声)对于超平面的划分造成了不好的影响。
  2. 一个离群点(或噪声)在另外一个类中,这时我们就无法进行线性划分。

这里写图片描述
这里写图片描述

这时我们的原始问题就可以定义为:
这里写图片描述
其中加入离群点(或噪声)的影响因素 C ξ i
引入非负参数 ξ i (松弛变量),就允许某些样本点的函数间隔小于 1,即在最大间隔区间里面,或者函数间隔是负数,即样本点在对方的区域中。
C 控制参数 ξ i 权重大小, C 越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。
按照以前的办法,我们首先够造拉格朗日算子:
这里写图片描述
接着我们构造这个原始优化问题的对偶问题:
这里写图片描述
继而通过KKT条件,我们得到下述用于求解优化问题最优解的 α 的收敛条件:
这里写图片描述

Coordinate Ascent

定义无约束优化问题为:
这里写图片描述
现在使用坐标
这里写图片描述
对于这个算法的解释为:
最内层循环语句表示的意思是,求除了 α i 之外所有参数都固定的 W ( α 1 , . . . , α i 1 , α ^ i , α i + 1 , . . . , α m ) 的最大值。
这里我们进行最大化求导的顺序 i 是从 1 到 m,可以通过更改优化顺序来使 W 能够更快地增加并收敛。如果 W 在内循环中能够很快地达到最优,那么坐 标上升法会是一个很高效的求极值方法。
在下图中,我们可以清楚的看出坐标上升法的结果:
这里写图片描述
椭圆代表了二次函数的各个等高线,变量数为 2,起始坐标是(2,-2)。图中的直线式迭代优化的路径,可以看到每一步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因为每一步只优化一个变量。先保持 α 2 不变,变化 α 1 使得函数值最大,记录此时的 α 1 ,再保持 α 1 ,变化 α 2 函数值最大,记录此时的 α 2 最后得到收敛点——最大值。

Sequential Minimal Optimization

我们回到解决原始优化问题的对偶问题上来:
这里写图片描述
这里我们将使用改变的坐标上升法来解决问题:
按照坐标上升的思路,我们首先固定除 α 1 以外的所有参数,然后在 α 1 上求最大值。但是只是固定一个 α i 参数,将不能使得还满足约束条件 。所以这里我们使用Sequential Minimal Optimization(序列最小优化算法, SMO)算法来解决问题。即我们固定两个 α i , α j 以外的所有参数,然后此基础上上求最大值,即下图所示:
这里写图片描述

接下来我们通过选择 α 1 , α 2 来具体探索SMO算法。
首先我们知道对偶优化问题的约束条件 i = 1 m α i y ( i ) = 0
所以有:
(1) α 1 y ( 1 ) + α 2 y ( 2 ) = i = 3 m α i y ( i ) = ζ
其次对于 0 α i C 方形约束条件,我们可以得到:
这里写图片描述
所以有:
(2) α 1 = ζ α 2 y ( 2 ) y ( 1 )
所以有:
(2) W ( α 1 , α 2 , . . . , α m ) = W ( ζ α 2 y ( 2 ) y ( 1 ) , α 2 , . . . , α m )
由于固定两个 α 1 , α 2 以外的所有参数,所以有得到一个二次函数:
(3) W ( α 1 , α 2 , . . . , α m ) = a α 2 2 + b α 2 + c
从我们十分容易的得到二次函数的最值。

最后我们需要考虑 0 α i C 方形约束条件,
当二次函数的最值的在方形约束条件规定的区域内时,我们无需进行任何工作;
当二次函数的最值的不在方形约束条件规定的区域内时,我们需进行裁剪,使其落在区域内;
总之,二次函数的最值一定在方形约束条件规定的区域内的 α 1 = ζ α 2 y ( 2 ) y ( 1 ) 线段上。

猜你喜欢

转载自blog.csdn.net/danerer/article/details/79953724