支持向量机基本概念
支持向量机的基本想法:
从几何角度,对于线性可分数据集,支持向量机就是找位于两类训练样本"正中间"(或者说找距离正负样本都最远)的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好(原因是这个超平面对训练样本局部扰动的"容忍性“最好。)。如下图,最粗的那条直线。
![](https://img.haomeiwen.com/i11709686/b6157fde3e944f7a.png)
n维超平面有几个特性:(超平面,其中w和x的维度相同)
超平面方程不唯一
法向量w和位移项b确定一个唯一超平面
法向量w垂直于超平面(缩放w,b时,若缩放倍数为负数会改变法向量方向)
法向量w指向的那一半空间为正空间,另一半为负空间
任意点x到超平面的距离公式为
几何间隔:
假设超平面(w,b)能将训练样本正确分类,即对于,若
,则有
若
,则有w^Tx+b<0,如下
![](https://img.haomeiwen.com/i11709686/d4c5c02abbc109ca.png)
如图6.2所示,距离超平面最近的这几个训练样本点使式(6.3)的等号成立,它们被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和为
被称为"间隔"
![](https://img.haomeiwen.com/i11709686/8798895c2c67a0eb.png)
那么到此,支持向量机的基本概念已经解说完毕。
支持向量机过程
支持向量机的模型策略就是:给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔γ达到最大的那个超平面,然后套上一个sign函数实现分类功能。那如何求w和b?
![](https://img.haomeiwen.com/i11709686/c774c305406d02b5.png)
以下是支持向量机的优化:
支持向量机的主问题:
欲找到具有"最大间隔" 的划分超平面,也就是要找到能满足式(6.3) 中约束的参数w 和b , 使得γ 最大,即
![](https://img.haomeiwen.com/i11709686/711b81c67f8b8f8c.png)
显然,为了最大化间隔,仅需最大化|,这等价于最小化
.于是,式(6.5)可重写为
![](https://img.haomeiwen.com/i11709686/57cdf9319bbe83fa.png)
这就是支持向量机(Support Vector Machine,简称SVM)的基本型.
支持向量机的拉格朗日函数和对偶函数:
备注:对偶函数是拉格朗日函数的最小值。而对偶函数实际上是求关于的最大值。
![](https://img.haomeiwen.com/i11709686/a52cff02981b0e4c.png)
![](https://img.haomeiwen.com/i11709686/6e559af73aec0407.png)
关于公式6.11,我们用SMO来解决。
软间隔
以上模型是解决线性可分的数据集,但实际中,更多解决线性不可分的数据集,因此我们允许向量机在一些样本犯点错。为此引入了”软间隔“概念。如下图.
![](https://img.haomeiwen.com/i11709686/a46efd0550cd0e2a.png)
从数学角度来说,软间隔就是允许部分样本(但要尽可能少〉不满足下式中的约束条件
![](https://img.haomeiwen.com/i11709686/24e66f9aeac4560d.png)
因此,可以将必须严格执行的约束条件转化为具有一定灵活性的“损失",合格的损失函数要求如下:
(1)当满足约束条件时,损失为0
(2)当不满足约束条件时,损失不为0,
(3)(可选)当不满足约束条件时,损失与其违反约束条件的程度成正比
只有满足以上要求,才能保证在最小化 (min)损失的过程中,保证不满足约束条件的样本尽可能的少。
于是,我们的优化目标写为:
![](https://img.haomeiwen.com/i11709686/415d64b8bf5051c9.png)
其中C>0是一个常数, 是“0/1损失函数”,下面的
![](https://img.haomeiwen.com/i11709686/899f2438e33af06a.png)
C用来调节损失的权重,显然当C→+oo时,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔,因此,本式子可以看作支持向量机的一般化形式。总之,C越大,表示第二项影响值越小,样本犯错很难,C越小,表示第二项影响值越大,更容易允许样本犯错。
然而非凸、非连续,数学性质不太好,使得式(6.29)不易直接求解.于是,人们通常用其他一些函数来代替
,称为“替代损失”(surrogate loss).替代损失函数一般具有较好的数学性质,如它们通常是凸的连续函数且是
的上界.图6.5给出了三种常用的替代损失函数:
![](https://img.haomeiwen.com/i11709686/c88e42fe3bff6f34.png)
![](https://img.haomeiwen.com/i11709686/c055d15316963b07.png)
若采用hinge损失,则式(6.29)变成
![](https://img.haomeiwen.com/i11709686/268b53494161f490.png)
引入松弛变量,上述优化问题便和下述优化问题等价。
,理解损失值
![](https://img.haomeiwen.com/i11709686/8ff3fc24b833aab9.png)
通过拉格朗日乘子法可得到式(6.35)的拉格朗日函数
![](https://img.haomeiwen.com/i11709686/8b26967159bcdf33.png)
其中是拉格朗日乘子.
![](https://img.haomeiwen.com/i11709686/88e630e669b64ad6.png)
![](https://img.haomeiwen.com/i11709686/3b2a36f70c00421a.png)
支持向量回归
对样本(x, y),传统回归模型通常直接基于模型输出f(x)与真实输出y之间的差别来计算损失,当且仅当f(x)与y 完全相同时,损失才为零.
与此不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)与y之间最多有的偏差,即仅当f(x)与y之间的差别绝对值大于
时才计算损失.如图6.6所示,这相当于以f(x)为中心,构建了一个宽度为2
的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.
![](https://img.haomeiwen.com/i11709686/4b867f307b29712a.png)
于是,SVR问题可形式化为
![](https://img.haomeiwen.com/i11709686/5fc2845dcde3bb76.png)
![](https://img.haomeiwen.com/i11709686/ef9c0dbc197114c6.png)
![](https://img.haomeiwen.com/i11709686/ccb1ed24282312fc.png)
![](https://img.haomeiwen.com/i11709686/c8c7fa171c5b921c.png)
![](https://img.haomeiwen.com/i11709686/cc9ba255d7dc8c4f.png)
![](https://img.haomeiwen.com/i11709686/6fc5a3ca91bce834.png)
![](https://img.haomeiwen.com/i11709686/b5294a2e3f0f79bb.png)
网友评论