《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。
网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html
本篇博文设计课程七:最优间隔分类器问题
主要内容包括:
(1)最优间隔分类器(optimal margin classifier)
(2)原始/对偶优化问题(KKT)(primal/dual optimization problem)(3)SVM对偶(SVM dual)
(4)核方法(kernels)(下一篇博文具体分析)
最优间隔分类器
如果训练集是线性可分的, 就是说用超平面可以分隔正负样本. 我们要找到最大的几何间隔. 我们可以转化为下面的优化问题:
即,找到一个超平面,在将正负样本分开的同时,使超平面到正负样本间的距离尽可能大。
由于w和b可随意缩放,约束条件||w||=1,使得函数间隔等于几何间隔。但是这个约束本身是一个非凸性约束。(非凸性:是指系统有多个稳定的平衡态。)要求解的参数w在一个球体表面,如果想得到一个凸优化问题,必须保证如梯度下降算法这种局部最优值搜索算法不会找到局部最优值,而非凸性约束不能满足这个条件,所以需要改变优化问题。因此转化为更好的一个问题:
我们的目标变成要最大化,并且去掉了约束条件||w=1||,但是仍然是非凸性的.
因此,加上规模的限制,对训练集的函数间隔设置为1:
至此,我们得到最终的最优间隔分类器:
此时,我们的优化问题变为一个凸二次目标函数。
原始优化问题
拉格朗日二元性
考虑下式:
即最小化函数f(w),并满足约束条件hi(w)=0,可以将hi写成0向量,我们可以通过拉格朗日乘数法的方法解决:
1、创建拉格朗日算子:
即等于原始目标函数加限制函数的线性组合,其中参数β称为拉格朗日乘数。