您的位置:首页 > 其它

最优间隔分类器-SVM

2016-12-17 23:05 281 查看
http://blog.csdn.net/Andrewseu/article/details/46991541


本讲大纲:

1.最优间隔分类器(optimal margin classifier) 

2.原始/对偶优化问题(KKT)(primal/dual optimization problem) 

3.SVM对偶(SVM dual) 

4.核方法(kernels)(简要,下一讲详细)


1.最优间隔分类器

假设给我们的数据集是线性可分的(linearly separable). 就是说用超平面可以分隔正负样本. 我们要找到最大的几何间隔. 我们可以转化为下面的优化问题: 


 

由于||W|| = 1,这保证了函数间隔等于几何间隔,只要解决了上面的优化问题我们就解决了这个问题,但是||W||是一个不好的(非凸性)的限制,这不是我们能够直接用软件解决的优化问题. 因此转化为更好的一个问题: 



我们最大化

, 我们把限制||W||去掉了,但是

仍然是非凸性的.

前面有讨论过对w和b加上任意比例的限制不会改变什么. 因此,加上规模的限制,对训练集的函数间隔设置为1:

 

因此

,最优化问题变为: 


 

上面的优化问题变为一个凸二次目标函数(convex quadratic objective). 这给我们一个最优间隔分类器的解决方案. 这个优化问题可以用商用的二次编程代码解决.


2.原始/对偶优化问题

2.1 拉格朗日二元性(Lagrange duality) 

考虑下面形式的问题: 


 

我们可以用拉格朗日乘数法来解决这个问题.

定义Lagrangian为: 


 

这边

成为拉格朗日乘数(Lagrange multipliers). 另其偏导数为零. 


 

然后解出w和


2.2 原始优化问题(primal optimization problem) 


 

定义一般的拉格朗日算子(generalized Lagrangian): 


 


是拉格朗日乘数. 


 

下标”P”表示”prime”, 如果给定的w违反了原始限制(

),则 


 

如果w满足原始限制,那么

 因此: 



考虑最小化问题: 


 

可以看到回到了最初的原始问题. 定义目标的原始值为

.

一个略微不同的问题: 


 

下标”D”表示”dual”.

2.3 对偶优化问题(dual optimization problem) 


 

同样的,定义目标的对偶值为:


显然:

 

(函数最小值的最大值肯定小于等于最大值的最小值),在某些条件下,会有

,因此我们可以通过解决原始问题来解决对偶问题.

假设f和g是凸函数(黑塞矩阵为半正定的),h为仿射函数(affine,和线性是一样的,只不过是加了截距,

). 假设g是严格可行的,就是说对于所有的i存在

.

基于上面的假设,肯定存在

使得w*是原始问题的解而

是对偶问题的解.
而且



满足KKT条件(Karush-Kuhn-Tucker
condition),如下: 


 

如果

满足KKT条件,那么就是原始问题和对偶问题的解. 

等式(5)称为KKT对偶补充条件(KKT dual complementarity condition). 具体来说,就是如果

,那么

0.


3.SVM对偶

前面为了找到最优间隔分类器,提到以下的优化问题(原始优化): 


 

限制可以写为: 


 


 

(实线为超平面) 

最小的间隔是离决定边界最近的点,上图中有三个(一个负的两个正的),因此对于我们的优化问题只有三个a是不等于零的. (KKT对偶补充条件,只有

,函数边界才等于 1). 这三个点被称为支持向量(support vector). 支持向量的数量比训练样本数量小很多在以后会非常有用.

为优化问题构建Lagrangian,有: 


 

对w求偏导: 


 

推出: 


 

对b求偏导: 



根据上面的式子化简得到: 


 

最后一项为零,进一步得到: 



得到以下对偶优化问题: 


 

需要满足

d*和KKT条件来满足我们的优化问题. 因此我们可以通过解决原始问题来解决对偶问题. 原始w作为a的函数,已经有了

之后,
很容易得到截距b为: 


 

再得到: 


 

因此如果我们找到了a,为了预测,我们只需要计算x和数据集中点的内积(

). 并且我们知道除了支持向量a都是零,因此我们只需要计算x和支持向量的内积就可以进行预测了.


4.核方法

有时候训练样本的维数很高,甚至有可能得到的特征向量是无限维的. 通过计算不同方法的内积,利用内积来进行有效的预测.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐