支持向量机(SVM)(五)--软间隔

上一节讲线性SVM时,文末提到在线性可分的情况下,找到一个支持向量,可求得b

但是当出现下图实例时,无法找到一条线将实例分为两类,所谓线性不可分问题。

针对这种情况SVM提出了软间隔(soft margin),相对于硬间隔来说,简单将线性SVM看做硬间隔。

回顾硬间隔时优化目标:

min $\frac{1}{2}\left \| w_{2} \right \|_{2}^{2}$

$s.t y_{i}(w\cdot x_{i}+b)≥1$

在软间隔中,我们给每个样本点的函数距离减去了一个松弛变量( slack variable):

$y_{i}(w\cdot x_{i}+b)≥1-\xi $

且$\xi≥0$



Tips:

如何理解软间隔的几何含义?

原本我们希望有所的点到超平面的几何距离≥1,最后简化为函数距离。(这里不懂回顾线性SVM

那么在超平面一侧的样本到超平面的函数距离最小为1,当减去$\xi$时,表明允许部分样本跨越支持向量,向着另一侧出发。

$\xi$还可以理解为离群点在另一侧时,该点到支持向量的函数距离。这样就引入了线性不可分问题。

文末有详细的讨论过程。



但是这个松弛变量的加入是有代价的,我们在优化目标中加入了惩罚项(这里惩罚项可以看做是正则化)

min $\frac{1}{2}\left \| w_{2} \right \|_{2}^{2}+C\sum \xi _{i}$

$s.t y_{i}(w\cdot x_{i}+b)≥1-\xi$

$\xi≥0$

这里C>0,C越大表示我们对误分类惩罚越大,C可以根据样本点中重要程度调整。

 优化目标函数:

$L(w,b,\xi ,\alpha ,\mu )=\frac{1}{2}\left \| w \right \|_{2}^{2}+C\sum \xi _{i}-\sum \alpha _{i}\left [ y_{i}(w\cdot x_{i}+b)-1+\xi _{i} \right ]-\sum\mu _{i} \xi _{i}$

其中$\mu _{i}>0, \alpha _{i}>0$.(此处为什么大于零不懂去看KKT条件

优化目标变成:

和线性SVM一样,对$w,b,\xi $求偏导

$\frac{\partial L}{\partial w}=0\Rightarrow w = \sum a_{i}y_{i}x_{i}$

$\frac{\partial L}{\partial b}=0\Rightarrow b = \sum a_{i}y_{i}$

$\frac{\partial L}{\partial \xi }=0\Rightarrow C-\alpha _{i}-\mu _{i}\Rightarrow C=\alpha _{i}+\mu _{i}$

带入L中,推导过程如下图(又是不知羞耻的盗图QAQ):

发现一件神奇的事情,这里最后的化解结果和线性SVM一模一样,当然总得有不一样的地方,就是约束条件

现在的优化目标如下:

$\underset{a}{max}=-\frac{1}{2}\sum \sum a_{i}a_{j}y_{i}y_{j}x_{i}\cdot x_{j}+\sum a_{i}$

        $s.t \sum a_{i}y_{i}=0       (1)$

          $C=\alpha _{i}+\mu _{i}    (2)$

           $\mu _{i}>0, \alpha _{i}>0 (3)$

由约束条件2和3可以得到$0\leqslant \alpha _{i}\leqslant C$

最后的优化目标成为:

$\underset{a}{max}=\frac{1}{2}\sum \sum a_{i}a_{j}y_{i}y_{j}x_{i}\cdot x_{j}-\sum a_{i}$

        $s.t \sum a_{i}y_{i}=0$

        $0\leqslant \alpha _{i}\leqslant C$

与线性SVM相比仅仅多了一个约束条件$0\leqslant \alpha _{i}\leqslant C$,然后根据SMO算法得到$\alpha _{i}$,最后求w,b。

对松弛变量的简单理解:

在$L(w,b,\xi ,\alpha ,\mu )=\frac{1}{2}\left \| w \right \|_{2}^{2}+C\sum \xi _{i}-\sum \alpha _{i}\left [ y_{i}(w\cdot x_{i}+b)-1+\xi _{i} \right ]-\sum\mu _{i} \xi _{i}$中,

根据软间隔最大化时KKT条件的对偶互补条件

(下图与文中Tips中的图不一样的地方是这里用的是离群点的几何距离)

参考:

http://www.cnblogs.com/pinard/p/6100722.html

https://www.bilibili.com/video/av23933161/?p=26

原文地址:https://www.cnblogs.com/super-yb/p/10850314.html

时间: 2024-10-30 09:17:53

支持向量机(SVM)(五)--软间隔的相关文章

2. 支持向量机(SVM)软间隔

1. 前言 在前一篇1. 支持向量机(SVM)原理中,我们对线性可分SVM的模型和损失函数优化做了总结.但是大家有没发现,之前的文章介绍的支持向量机会无法处理一些情况,比如在有0,1两类,在0类的中间出现了几个1类的异常点,这样的话要之前最原始的SVM绝对分离两个类基本是不可能的了.本文对支持向量机做一个推广,允许超平面能够错分一些点,来达到能分离异常点. 2. SVM异常点问题 有时候本来数据的确是可分的,也就是说可以用线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分,

支持向量机(SVM)的推导(线性SVM、软间隔SVM、Kernel Trick)

线性可分支持向量机 给定线性可分的训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习到的分离超平面为 \[w^{\ast }x+b^{\ast }=0\] 以及相应的决策函数 \[f\left( x\right) =sign\left(w^{\ast }x+b^{\ast } \right)\] 称为线性可分支持向量机 如上图所示,o和x分别代表正例和反例,此时的训练集是线性可分的,这时有许多直线能将两类数据正确划分,线性可分的SVM对应着能将两类数据正确划分且间隔最大的直线. 函数

支持向量机原理(二) 线性支持向量机的软间隔最大化模型

? ? ? ? ? ?支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五)线性支持回归 在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结.最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结

【机器学习基础】软间隔支持向量机

引言 在上一小节中,我们介绍了核支持向量机.于是,不管是简单的问题还是复杂的问题,我们都可以做得到. 然而,像高斯核的方法太复杂了,可能造成过拟合的问题.导致过拟合的现象的原因有可能是你选择特征转换太强大了,导致无法用最大间隔的方法控制模型的复杂度,还有一个原因是,如果坚持将所有的数据都做到正确分类,这样有可能将噪声也考虑到模型的构建之中,这样就会将噪声拟合进你的结果中去了. 软间隔支持向量机 第一步:容忍错误的发生 这是硬间隔支持向量机(hard-margin SVM)的基本定义,其中要求所有

支持向量机SVM

SVM(Support Vector Machine)有监督的机器学习方法,可以做分类也可以做回归.有好几个模型,SVM基本,SVM对偶型,软间隔SVM,核方法,前两个有理论价值,后两个有实践价值.下图来自龙老师整理课件. 基本概念 线性SVM,线性可分的分类问题场景下的SVM.硬间隔. 线性不可分SVM,很难找到超平面进行分类场景下的SVM.软间隔. 非线性SVM,核函数(应用最广的一种技巧,核函数的选择十分重要). SVR(支持向量回归).可以做回归. SVC,用SVM进行分类. 一.硬间隔

线性可分支持向量机与软间隔最大化--SVM

线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最大化或者等价的求出相应的凸二次规划问题得到的分离超平面 以及决策函数: 但是,上述的解决方法对于下面的数据却不是很友好, 例如,下图中黄色的点不满足间隔大于等于1的条件 这样的数据集不是线性可分的, 但是去除少量的异常点之后,剩下的点都是线性可分的, 因此, 我们称这样的数据集是近似线性可分的. 对

支持向量机(SVM)(五)-- SMO算法详解

一.我们先回顾下SVM问题. A.线性可分问题 1.SVM基本原理: SVM使用一种非线性映射,把原训练            数据映射到较高的维.在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开. 2.问题的提出: 3.如何选取最优的划分直线f(x)呢? 4.求解:凸二次规划 建立拉格朗日函数: 求偏导数: B.线性不可分问题 1.核函数 如下图:横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类. 设: g(x)转化为f(y)=<a,y> g(x)=

模式识别之svm()---支持向量机svm 简介1995

转自:http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html 作者:Jasper 出自:http://www.blogjava.net/zhenandaci/ (一)SVM的八股简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10].支持向量机方法是

支持向量机原理(五)线性支持回归

支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五)线性支持回归 在前四篇里面我们讲到了SVM的线性分类和非线性分类,以及在分类时用到的算法.这些都关注与SVM的分类问题.实际上SVM也可以用于回归模型,本篇就对如何将SVM用于回归模型做一个总结.重点关注SVM分类和SVM回归的相同点与不同点. 1. SVM回归模型的损失函数度量 回顾下我们前面SV