支持向量机(四)

转载 2016年05月31日 17:48:17

9 规则化和不可分情况处理(Regularization and the non-separable case)

我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。

看下面两张图:

clip_image001

可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感。再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。

这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)。我们设计得到新的模型如下(也称软间隔):

clip_image002

引入非负参数clip_image004后(称为松弛变量),就允许某些样本点的函数间隔小于1,即在最大间隔区间里面,或者函数间隔是负数,即样本点在对方的区域中。而放松限制条件后,我们需要重新调整目标函数,以对离群点进行处罚,目标函数后面加上的clip_image006就表示离群点越多,目标函数值越大,而我们要求的是尽可能小的目标函数值。这里的C是离群点的权重,C越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。我们看到,目标函数控制了离群点的数目和程度,使大部分样本点仍然遵守限制条件。

模型修改后,拉格朗日公式也要修改如下:

clip_image008

这里的clip_image010clip_image012都是拉格朗日乘子,回想我们在拉格朗日对偶中提到的求法,先写出拉格朗日公式(如上),然后将其看作是变量w和b的函数,分别对其求偏导,得到w和b的表达式。然后代入公式中,求带入后公式的极大值。整个推导过程类似以前的模型,这里只写出最后结果如下:

clip_image013

此时,我们发现没有了参数clip_image004[1],与之前模型唯一不同在于clip_image010[1]又多了clip_image015的限制条件。需要提醒的是,b的求值公式也发生了改变,改变结果在SMO算法里面介绍。先看看KKT条件的变化:

clip_image016

第一个式子表明在两条间隔线外的样本点前面的系数为0,离群样本点前面的系数为C,而支持向量(也就是在超平面两边的最大间隔线上)的样本点前面系数在(0,C)上。通过KKT条件可知,某些在最大间隔线上的样本点也不是支持向量,相反也可能是离群点。

10 坐标上升法(Coordinate ascent)

在最后讨论clip_image018的求解之前,我们先看看坐标上升法的基本原理。假设要求解下面的优化问题:

clip_image019

这里W是clip_image021向量的函数。之前我们在回归中提到过两种求最优解的方法,一种是梯度下降法,另外一种是牛顿法。现在我们再讲一种方法称为坐标上升法(求解最小值问题时,称作坐标下降法,原理一样)。

方法过程:

clip_image022

最里面语句的意思是固定除clip_image010[2]之外的所有clip_image024,这时W可看作只是关于clip_image010[3]的函数,那么直接对clip_image010[4]求导优化即可。这里我们进行最大化求导的顺序i是从1到m,可以通过更改优化顺序来使W能够更快地增加并收敛。如果W在内循环中能够很快地达到最优,那么坐标上升法会是一个很高效的求极值方法。

下面通过一张图来展示:

clip_image025

椭圆代表了二次函数的各个等高线,变量数为2,起始坐标是(2,-2)。图中的直线式迭代优化的路径,可以看到每一步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因为每一步只优化一个变量。

Ref: http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988415.html

相关文章推荐

机器学习算法与Python实践之(四)支持向量机(SVM)实现

zouxy09@qq.com http://blog.csdn.net/zouxy09          机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为...

统计学习方法笔记四---支持向量机

支持向量机(support vector machines, SVM) 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的**间...

SVM支持向量机原理(四)SMO算法原理

转自http://www.cnblogs.com/pinard/p/6111471.html 在SVM的前三篇里,我们优化的目标函数最终都是一个关于α α向量的函数。而怎么极小化这个函数...

理解支持向量机(四)LibSVM工具包的使用

LibSVM是一款简单易用的支持向量机工具包,包含了C和Java的开发源码。大家可以访问其官网进行了解和下载相关文件。 这里以其官网的第一个数据集a1a 为例,练习使用多项式核和径向基核来对数据集进...

支持向量机 SVM 讲义(四)

【转自】 http://www.cnblogs.com/jerrylead 9 规则化和不可分情况处理(Regularization and the non-separable case) ...

支持向量机(四)SMO算法

11 SMO优化算法(Sequential minimal optimization) 传送门:http://www.cnblogs.com/jerrylead/archive/2011/03/...

机器学习算法与Python实践之(四)支持向量机(SVM)实现

机器学习算法与Python实践之(四)支持向量机(SVM)实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          机器学习算法与Pyth...

机器学习--学习笔记(四)--支持向量机

1.    决策 式①是SVM的决策边界函数。其中,m为样本数,n为特征数,是y=1时对的线性近似,其形状如图①。是y=0对的线性近似,其形状如图②。     图①     ...

支持向量机SVM(四)

9 规则化和不可分情况处理(Regularization and the non-separable case) 我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝...

支持向量机(四)

9 规则化和不可分情况处理(Regularization and the non-separable case) 我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)