线性支持向量机(1)

摘要:
通过求解约束优化问题w,b,我们可以得到最大分离超平面和分类决策函数,即线性可分离支持向量机模型。

支持向量机的学习策略就是间隔最大化,形式转化为求解凸二次规划问题。该算法就是求解凸二次规划的最优化算法。

当训练数据线性可分时候,通过硬间隔最大化,学习线性分类器,称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,学习线性分类器,称为软间隔最大化;当数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

给定特定空间的训练数据集:T={(x1,y1),(x2,y2),...(xn,yn)}

yi为-1,+1的二分类,xi表示第i个特征向量 ,yi为xi的类标记,(xi,yi)为样本点。

学习的目标是从特征空间找到一个分离超平面,能将实例划分到不同的类。一般来说,当数据可分的时候,能将两类数据分离开来的超平面有无数个,对应于方程wx+b=0,线性可分支持向量机利用间隔最大化求最优分离超平面,这时解是唯一的。

定义:给定线性可分训练数据集,通过间隔最大化或等价求解相应的凸二次规划问题学习得到的分离超平面为:

线性支持向量机(1)第1张

及相应的分类决策函数表示为:

线性支持向量机(1)第2张

称为线性可分支持向量机。

一般来说,点距离分离超平面的远近可以表示分类预测的确信程度,在超平面wx+b=0确定的情况下,|wx+b|能够相对表示点x距离超平面的远近,wx+b的符号与y是否一致可用于表示是否分类正确,故用y(wx+b)来表示分类的正确性和确信度,这就是函数间隔。

对于给定数据集T和超平面(w,b),定义超平面(w,b)关于样本点(xi,yi)的函数间隔为:

r=yi(wxi+b)

定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔最小值,即

r'=min(yi(wxi+b))

对于超平面wx+b=0,由于等比例的改变w和b值,对超平面并未产生影响;然而对应的函数间隔会有相应等比例的变化,因此需要对超平面的法向量加以约束(如规范化),则这时间隔是确定的,且函数间隔变成几何间隔。

对给定超平面(w,b)及其法向量w,点A表示实例xi,类别标记yi=+1,点A与超平面(w,b)的距离可表示为:

线性支持向量机(1)第3张

||w||表示为w的L2范数。以上为点A在超平面正侧的情况,其在负侧的情况yi=-1,其表示为上式结果加负号。这时满足w,b的缩放对结果不产生影响;

以二维空间为例,几何间隔就是点到直线的距离,三维以上是点到超平面距离。

注:在点到直线的过程中,以学习的点(xi,yi)到直线ax+by+c=0为例,点到线的距离为:

线性支持向量机(1)第4张

在二维空间中,ri的距离等价于后式的d(x,y),以上和几何间隔在维度为2的时候的表达形式有相同之处。

这时点xi到超平面(w,b)的距离是:

线性支持向量机(1)第5张

超平面(w,b)关于样本点(xi,yi)的几何距离一般就是实例点到超平面的带符号距离,当样本点被正确分类的时候就是实例点到超平面的距离。

因此函数间隔和几何间隔有如下关系:

线性支持向量机(1)第6张

上式的分母表示函数距离(函数间隔),等式左边表示几何距离(几何间隔)。

如果||w||=1,那么函数间隔和几何间隔相等。如果超平面参数w和b成比例的改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。

间隔最大化:

支持向量机学习的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。这里间隔最大化也称为硬间隔最大化,该问题可以表示为下面的约束最优化问题:

线性支持向量机(1)第7张

也即超平面到每个样本点的几何间隔至少是r,且求得最大化的r

上式可以通过调整转为如下表达式:

线性支持向量机(1)第8张

线性支持向量机(1)第9张=1代入上式最优化问题,由于最大化线性支持向量机(1)第10张等价于最小化线性支持向量机(1)第11张,因此线性可分支持向量机最优化问题可以表示为如下:

线性支持向量机(1)第12张

上式中将线性支持向量机(1)第9张转为1的原因在于其取值的变化可以等价于w,b的缩放,同时该表达式中w,b的缩放因为||w||的引入已不对几何间隔产生影响,因此该式子的求解等价于之前2个式子的求解。这是一个凸二次规划问题。

凸二次规划问题指约束最优化问题:

线性支持向量机(1)第14张

其中,目标函数f(x)和gi(w)都是Rn上的连续可微的凸函数约束函数hi(w)是Rn上的仿射函数

当目标函数f(w)是二次函数且约束函数gi(w)是仿射函数时,上述凸最优化问题成为凸二次规划问题。

通过求解约束最优化问题w,b,可以得到最大间隔分离超平面及分类决策函数,即线性可分支持向量机模型。

最大间隔法算法:

输入:线性可分数据集T={(x1,y1),(x2,y2),...(xn,yn)},yi分别取0和1

输出:最大间隔分离超平面和分类决策函数

(1) 构造并求解约束最优化问题

线性支持向量机(1)第15张

求解最优化的w和b

(2) 得到分类超平面:wx+b=0和分类决策函数: f(x)=sign(wx+b)

 在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,支持向量是使约束条件式等号成立的点,即

yi(wxi+b)-1=0

对于yi=+1的正例点,支持向量机在超平面

wx+b=1

对yi=-1的负例点,支持向量在超平面:

wx+b=-1

免责声明:文章转载自《线性支持向量机(1)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇laravel框架中使用QueryList插件采集数据消息队列 RabbitMQ下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sklearn 之 单类支持向量机(One-Class SVM)

这里先列出 sklearn 官方给出的使用高斯核(RBF kernel) one class svm 实现二维数据的异常检测: #!/usr/bin/python # -*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.font...

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

上一节讲线性SVM时,文末提到在线性可分的情况下,找到一个支持向量,可求得b 但是当出现下图实例时,一些异常点导致的线性不可分 针对这种情况SVM提出了软间隔(soft margin),相对于硬间隔来说,简单将线性SVM看做硬间隔。 回顾硬间隔时优化目标: min $frac{1}{2}left | w_{2} ight |_{2}^{2}$   $s....

Halcon学习笔记之支持向量机(一)

例程:class_overlap_svm.hdev 说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类。使用二维数据的原因是因为它可以很容易地联想成为区域和图像。本例程中使用了三个互相重叠的类(由二维平面三个不同颜色的像素点集组成)。三类不同颜色的像素点作为样本,将那些样本代入支持向量机进行训练。选取像素在二维平面的坐标作为特征向量,使...

超详细SVM(支持向量机)知识点

原地址:https://zhuanlan.zhihu.com/p/76946313 一. 简单概括一下SVM: SVM 是一种二类分类模型。它的基本思想是在特征空间中寻找间隔最大的分离超平面使数据得到高效的二分类,具体来讲,有三种情况(不加核函数的话就是个线性模型,加了之后才会升级为一个非线性模型): 当训练样本线性可分时,通过硬间隔最大化,学习一个线性...

线性支持向量机 (3)

线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能都成立,因此这时候需要将硬间隔最大化,使其变成软间隔最大化。 假定给定特征空间上的训练数据集:T={(x1,y1),(x2,y2),...(xn,yn)},xi为第i个特征向量,yi为xi的类标记,一般情况下,线性不可分的数据主要在于存在部分特异点,除去这...

spark算法实现——svm支持向量机

svm是一种分类算法,一般先分为两类,再向多类推广一生二,二生三,三生。。。 大致可分为: 线性可分支持向量机 硬间隔最大化hard margin maximization 硬间隔支持向量机 线性支持向量机 软间隔最大化soft margin maximization 软间隔支持向量机 非线性支持向量机 核函数kernel function...