支持向量机松弛变量的理解

首先要清楚:
1,线性可分,即能找到超平面,对于硬间隔支持向量机
2,部分点不可分,总体近似可分,近似线性可分,对应软间隔支持向量机
3,线性不可分,需要用到核函数

软间隔支持向量机要加个松弛变量ξ。
我们都知道,硬间隔满足,yi * ( wi * x + b )≥1,这是函数间隔,是几何间隔的||w|| 倍。
由于一些点出现在两条线的间隔内部,函数间隔的约束条件不满足,所以引入松弛变量ξ,使yi * ( wi * x + b ) + ξ ≥1,即:yi * ( wi * x + b ) ≥1 - ξ。对于这些离群点有对应的松弛变量,其他的点是没有松弛变量ξ的。

再来另外一个解释:

1,函数距离与几何距离

你需要明白两个概念,函数距离(函数间隔)和几何距离(几何间隔),先看个图:
支持向量机松弛变量的理解
平行直线1与2之间的垂直距离d,就是几何距离,也就是我们平常计算的两条平行直线之间的距离。函数间隔,就是图中的d帽(暂时这么称呼):
支持向量机松弛变量的理解
它是两条平行直线在某一条轴线(例如x轴)上的距离。在二维平面,它是竖着的,如图中的蓝色线标注,也可以是横着的,图中未画出。
函数距离和几何距离之间有关系,在本例中为:
支持向量机松弛变量的理解
||w||是矩阵w的模
在本例中,函数距离(d帽)就是直线1减去直线2的距离,是1。把这个数带入函数距离(d帽),然后乘以2,就得到两条虚线间的间隔
支持向量机松弛变量的理解
看到了吗?这就是当初我们要最大化的那个式子。
还记得那个限制条件吗?
支持向量机松弛变量的理解
不等式右边的1 ,就是函数距离(d帽)。
也就是硬间隔支持向量机,它的数学模型为:
支持向量机松弛变量的理解

2,松弛变量是函数间隔

上面的一种情况是,我们找了两条直线,最大化他们的距离。但有时我们找的直线,它们中间有一些散落的点,这些点不满足那个限制条件。如下图所示:
支持向量机松弛变量的理解
不满足的样本,如图红色标注的4个点。
也就是由于这些特殊的点,限制条件不满足。这真是一只老鼠坏一锅汤!
怎么办呢?就该我们的主角上场了,对,就是松弛变量ξ。
为了方便叙述与理解,我只拿其中的一个点分析,下图中的红色点。
看图:
支持向量机松弛变量的理解
蓝色的线的长度就是引入的松弛变量ξ(ξ≥0)
由于d帽=1,相应的绿色的线的长度就是1-ξ
此时,红色的点到橙色的线(我们要确定的最终分割线),之间的函数距离为:
支持向量机松弛变量的理解
对于所有的样本点,都满足:
支持向量机松弛变量的理解
这就是引入松弛变量后的限制条件。
这就是软间隔支持向量机,它的数学模型为:
支持向量机松弛变量的理解
其中m是样本个数
到此,你已经明白了松弛变量的含义。
路过的大佬,有的地方理解的不对,给点指导。
本文原创,转载请注明出处。
下面是附加的svm详细介绍,敲公式太繁琐,还没更新完,。。。

附加SVM详细介绍

1,建立svm数学模型

支持向量机(support vector machine,SVM)是一种二分类的线性分类器,它的思想是找到一条直线或超平面,使得样本分布在其两侧。
二分类的思路,简单说就是确定一条直线,也就是确定参数w和b:
支持向量机松弛变量的理解
参数w和b知道后,再给一个样本x,带入到上面的公式,如果y≥+1,就判断为正类(+1),如果y≤-1,就判断为负类(-1)。

这条直线或超平面怎么找呢?

如图所示,我们要分开这两个类别,假设标签为{+1,-1}。要想更好的分开这两类数据,在数据上划出两条线,使这两类数据之间的间隔最大,对应图中的虚线。在两条虚线的中间画一条直线,对应图中橙色的线,就是我们需要找的分割线。
支持向量机松弛变量的理解
最大化两条虚线之间的距离,这两条虚线的距离=d*2
两条直线之间的距离公式支持向量机松弛变量的理解

所以,我们要最大化这个式子 支持向量机松弛变量的理解
也就等于最小化||W||,等价于最小化||W||^2,即:
最小化:支持向量机松弛变量的理解
这里多个1/2,因为对w求偏导时,可以把2抵消掉。由最大化转为最小化,以及中间一些细节的处理,就是数学抽象建模的过程。

另一方面,

我们要最小化这个式子,这个式子的表达是有限制条件的:
支持向量机松弛变量的理解
这两个限制条件的意思是:当样本是是-1类时,样本要在虚线的下方;当样本是是+1类时,样本要在虚线的上方。为了表述方便,我们把这两个公式综合成一个式子,即:
支持向量机松弛变量的理解
最后,我们抽象出来的数学模型为:
支持向量机松弛变量的理解
下面的工作就是解这个式子,来确定w,b。

2、svm模型的求解