SVM支持向量机三(软间隔处理规则化和不可分情况)
2013-12-02 14:05
483 查看
SVM支持向量机三(软间隔处理规则化和不可分情况)
前两章我们讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。
本章我们将讲到:
1.如何添加松弛变量和软间隔技术
2.违背KKT条件的点条件
--------------------------------------------------------------------------
1.如何添加松弛变量和软间隔技术
首先我们先看下面的游离点的情况:图一(左),图二(右)
对于上述情况,我们如果仍然希望图二中还是虚线的情况下(因为这种情况虽然目前分的很好,但是考虑到未来最理想的情况仍然是虚线最好),那我们应该怎么办呢?
可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感。再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)。我们设计得到新的模型如下(也称软间隔):
这个时候原始问题就会进一步发生变化变为:Soft margin 情况!!!
这个时候啊,我们在用图来表示就更容易清楚了!!!
以下为推导的情况:
下面重点来了,刚才还没讲透彻呢
[b] 2.违背KKT条件的点条件
[/b]
根据这个公式,
违背了KKT条件的点判断条件(ζi完全可以忽略的,因为它正常都是>0,这个值可以由C来控制):
1. alphas[i] == 0 and [yi *(wT *
xi+b) -1
] < 0
2. alphas[i] == C and
[yi *(wT * xi+b)
-1
] > 0
3. alphas[i] > 0 and alphas[i]<C and
[yi *(wT * xi+b)
-1
]
!= 0
这3个很有用,我们编程的时候要优先选择这些不符合KKT条件的点进行更新,就是要先if判断,在更新!!!还有C越大就越能容忍离群点的,超平面就越理想。
SVM支持向量机四(SMO算法)
可以参考我另一篇文章:SVM支持向量机四(SMO算法)
前两章我们讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。
本章我们将讲到:
1.如何添加松弛变量和软间隔技术
2.违背KKT条件的点条件
--------------------------------------------------------------------------
1.如何添加松弛变量和软间隔技术
首先我们先看下面的游离点的情况:图一(左),图二(右)
对于上述情况,我们如果仍然希望图二中还是虚线的情况下(因为这种情况虽然目前分的很好,但是考虑到未来最理想的情况仍然是虚线最好),那我们应该怎么办呢?
可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感。再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)。我们设计得到新的模型如下(也称软间隔):
这个时候原始问题就会进一步发生变化变为:Soft margin 情况!!!
这个时候啊,我们在用图来表示就更容易清楚了!!!
以下为推导的情况:
下面重点来了,刚才还没讲透彻呢
[b] 2.违背KKT条件的点条件
[/b]
根据这个公式,
违背了KKT条件的点判断条件(ζi完全可以忽略的,因为它正常都是>0,这个值可以由C来控制):
1. alphas[i] == 0 and [yi *(wT *
xi+b) -1
] < 0
2. alphas[i] == C and
[yi *(wT * xi+b)
-1
] > 0
3. alphas[i] > 0 and alphas[i]<C and
[yi *(wT * xi+b)
-1
]
!= 0
这3个很有用,我们编程的时候要优先选择这些不符合KKT条件的点进行更新,就是要先if判断,在更新!!!还有C越大就越能容忍离群点的,超平面就越理想。
SVM支持向量机四(SMO算法)
可以参考我另一篇文章:SVM支持向量机四(SMO算法)
相关文章推荐
- SVM-6-规则化和不可分情况处理
- 软间隔正规化处理线性不可分情况(Regularization and non-separable case)
- 支持向量机SVM之处理线性不可分数据
- OpenCV支持向量机SVM对线性不可分数据的处理
- OpenCV之ml 模块. 机器学习:支持向量机(SVM)介绍 支持向量机对线性不可分数据的处理
- SVM原理介绍与Python实现(四):利用规则化(regularization)处理不可分情况
- SVM边学边总结系列——线性不可分情况
- 机器学习(九):CS229ML课程笔记(5)——支持向量机(SVM),最优间隔分类,拉格朗日对偶性,坐标上升法,SMO
- SVM(三),支持向量机,线性不可分和核函数
- OpenCv学习笔记--支持向量机SVM线性可分情况下的OpenCv实现的超详细注释(2)
- SVM(三),支持向量机,线性不可分和核函数
- 支持向量机SVM(一):支持向量机SVM的推倒:从logistic回归,到函数间隔,集合间隔,到寻找最优间隔分类器。
- 【OpenCV2.4】SVM处理线性不可分的例子
- 关于前端两table之间间隔未消除的情况处理
- SVM 支持向量机(1) 硬间隔最大化
- 支持向量机(SVM)关键点攻略(最大间隔,对偶问题)
- SVM(三),支持向量机,线性不可分和核函数
- OpenCV 2.x + SVM线性不可分处理
- 林轩田--机器学习技法--SVM笔记4--软间隔支持向量机(Soft-Margin Support Vector Machine)
- SVM(三)支持向量机,线性不可分和核函数