线性支持向量机 (3)

摘要:
线性可分问题的支持向量机学习方法不适用于线性不可分训练数据,因为此时无法建立上述方法中的不等式约束,因此需要最大化硬区间以最大化软区间。根据上式得到的解w,b,我们可以得到分离超平面wx+b=0和分类决策函数f=sign。我们称这种具有线性不可分割训练样本的模型线性支持向量机,简称线性支持向量机器。当线性不可分时,对应于对偶问题解的样本点的实例xi称为支持向量。

线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能都成立,因此这时候需要将硬间隔最大化,使其变成软间隔最大化。

假定给定特征空间上的训练数据集:T={(x1,y1),(x2,y2),...(xn,yn)},xi为第i个特征向量,yi为xi的类标记,一般情况下,线性不可分的数据主要在于存在部分特异点,除去这些点后剩下的大部分样本点组成的集合是线性可分的。线性不可分意味着样本点(xi,yi)不能满足函数间隔大于等于1的约束条件,为了解决这个问题,可以对样本点(xi,yi)引进松弛变量ξi≥0,使得函数间隔加上松弛变量ξi大于等于1,这样约束条件则变为:

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

同时,对于每个松弛变量ξi,支付一个代价ξi,目标由原来的线性支持向量机 (3)第2张变成线性支持向量机 (3)第3张,这里C>0称为惩罚函数,一般由实际问题的情况来变动C的值,当C值增大的时候对误分类的惩罚增大,C值小的时候对误分类的惩罚减小,最小化目标函数包含两层含义:使线性支持向量机 (3)第2张尽量小即使间隔尽量大,同时使误分类点的个数尽量小,C是作为调和二者的系数。

线性不可分的线性支持向量机的学习问题转变为如下凸二次规划问题:

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

上述问题是一个凸二次规划问题,因而关于(w,b,ξ)的解是存在的,可以证明w的解是唯一的,但b的解可能不唯一,而是存在于一个区间。

由上式得到的解w,b,可以得到分离超平面wx+b=0及分类决策函数 f(x)=sign(wx+b)  ,称这样的模型为训练样本线性不可分时的线性支持向量机,简称线性支持向量机。

 原始问题的对偶问题是:

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

原始最优化问题的拉格朗日函数是:(拉格朗日乘法用于解决等式约束,对于包含等式约束和不等式约束条件则转为KKT条件下的最优求解)

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

对偶问题是拉格朗日函数的极大极小问题,首先求L(w,b,ξ,a,u)对w,b,ξ极小,由

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

将上述等式代入原式可得:

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

再对线性支持向量机 (3)第10张求a的极大,即得对偶问题:

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

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

 其中上式中最后3条的约束条件可以转换成:0≤ai≤C

再对目标函数求极大转换为求极小,从而得到对偶问题:

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

通过求解对偶问题而得到原始问题的解,进而确定分离超平面和决策函数。

线性支持向量机 (3)第14张是以上对偶问题的一个解,若存在a*的一个分量aj*,存在线性支持向量机 (3)第15张,则原问题的解w*,b*可按下式求得:

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

 线性支持向量机学习算法如下:

输入:训练数据集T={(x1,y1),(x2,y2),...(xn,yn)},其中线性支持向量机 (3)第17张,

输出:分离超平面和分离决策函数

(1)选择惩罚函数C>0,构造并求解凸二次规划问题

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

求得最优解线性支持向量机 (3)第19张

(2)计算线性支持向量机 (3)第20张,选择a*的一个分量aj*适合条件0<aj*<C,计算

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

(3)求得分离超平面w*x+b*=0

       分类决策函数:  f(x)=sign(w*x+b*)

在上述的步骤(2)中,对任一适合条件0<aj*<C的aj*,按照b*的求解方法都可求出b*,从理论上原始问题对b的解可能不唯一。

在线性不可分的情况下,将对偶问题的解线性支持向量机 (3)第14张中对应于线性支持向量机 (3)第23张的样本点(xi,yi)的实例xi称为支持向量。

不同的线性支持向量机 (3)第24张和ξi对应的支持向量分类情况:

软间隔的支持向量xi有如下几种分布情况,在间隔边界上、在间隔边界与分离超平面之间、在分离超平面误分类一侧。若线性支持向量机 (3)第25张,则ξi=0,支持向量xi刚好落在间隔边界上;若线性支持向量机 (3)第26张,0<ξi<1,则分类正确,xi在间隔边界与分离超平面之间;若线性支持向量机 (3)第26张,ξi=1,则xi在分离超平面上,若线性支持向量机 (3)第26张,ξi>1,则xi位于分离超平面误分类一侧。

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

上篇mayavi安装学会使用Web Service下(客户端访问)/(服务器端访问)下篇

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

相关文章

SVM支持向量机

SVM有如下主要几个特点:(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度...

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

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

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

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法。通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解。在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题。 图1. 卤素灯图像 大致原理: 一、准备阶段:...

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...

线性支持向量机(1)

支持向量机的学习策略就是间隔最大化,形式转化为求解凸二次规划问题。该算法就是求解凸二次规划的最优化算法。 当训练数据线性可分时候,通过硬间隔最大化,学习线性分类器,称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,学习线性分类器,称为软间隔最大化;当数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。 给定特定空间的训练数...

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

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