第6章 支持向量机支持向量机 是一类按监督学习方式对数据进行 二元分类 的广义线性分类器,它的目的是寻找一个 超平面 来对样本进行分割,分割的原则是 间隔最大化 ,最终转化为一个 凸二次规划 问题来求解 。
优点:
1.有严格的数学理论支持,可解释性强
2.能找出对任务至关重要的关键样本(即支持向量)
3.采用核技巧后,可以处理非线性分类/回归任务
4.最终决策函数只由少数的支持向量所确定,计算的复杂度取决于支持向量的数目,而不是样本空间的维数,在某种意义上避免了“维数灾难”
缺点:
1.训练时间长
2.当采用核技巧时,如果需要存储核矩阵,空间复杂度大
3.模型预测时,支持向量数目较大,预测计算复杂度高
本文重点对基于硬间隔的线性可分支持向量机、基于核函数的非线性支持向量机、基于软间隔的线性支持向量机这三类进行介绍 。
给定训练样本集D={(,),(,),...,(,)},{-1,+1},分类学习基于训练集D在样本空间中找到一个划分超平面将不同类别的样本分开,但能将训练样本分开的划分超平面有很多,而我们要努力找到位于两类训练样本“ 正中间 ”的划分超平面(如图中的粗线),它对训练样本局部扰动的“容忍”性最好,即它产生的分类效果是 最鲁棒 的,对未见示例的 泛化能力最强。
在样本空间中,划分超平面可通过线性方程来描述:
样本空间任意点x到超平面(w,b)的距离为
假设超平面(w,b)能将训练样本正确分类,则 约束 条件为:
使式子等号成立的训练样本点被称为“ 支持向量 ”(如图带圈圈的标记) 。
两个异类支持向量到超平面的距离之和( 间隔 )为:
“ 最大间隔 ”的划分超平面条件:满足式(6.3)中对参数w和b,使得最大,即:
可改写为(支持向量机 SVM的基本型 ):
对 凸二次规划 问题使用 拉格朗日乘子法 可得到对偶问题,具体是对每条约束 添加拉格朗日乘子0, 从而得出拉格朗日函数后,令对w和b的偏导为零,将得出的式子带入拉格朗日函数后可得到原式对应的 对偶问题 ,用 SMO算法 对对偶问题求解后,即可得到最大间隔划分超平面所对应的模型(上述过程需满足 KKT条件 ) 。
在线性可分的假设下,希望得到的最大间隔划分超平面所对应的 模型 为:
由KKT条件,对任意训练样本(,),总有= 0或= 0。
若= 0,则该样本将不会在式(6.12)的求和中出现,也就不会对模型有任何影响;
若0 ,则必有= 0,所对应的样本点位于最大间隔边界上,是一个支持向量 。
这显示出支持向量机的一个重要性质: 训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关 。
在现实任务中,原始样本空间内也许并不存在一个能正确划分为两类样本的超平面 。这时,可 将样本从原始空间映射到一个更高维的特征空间 ,使得样本 在这个特征空间内线性可分。
那么,在特征空间中划分超平面所对应的 模型 表示为:
类似式(6.6),有原始 目标函数 :
用拉格朗日乘子法得到其对偶问题为:
为避开计算困难,可以通过设想一个 核函数 :
核函数的作用 :核函数可以用 原始样本空间上的点内积 的方式,经过运算转化为高维空间点内积,而不必完全由高维空间上的点进行内积计算,这样达到了降低运算复杂度的作用 。即从先升维度再算内积变成了 先算内积再升维度。
在低纬空间(原始样本空间)中对于内积的运算则被定义为“ 核函数 ”,在原始样本空间经过核函数计算的内积会等于高维空间的内积 。
由此,原始目标函数经过改写求解出特征空间中划分超平面所对应的模型:
几种常用的核函数:
核函数的引入一方面减少了计算量,另一方面减少了存储数据的内存使用量 。
在现实任务中往往难确定合适的核函数使得训练样本在特征空间中线性可分,即使恰好找到了也很难断定这个 貌似线性可分 的结果不是由于过拟合所造成的 。为缓解这一问题是 允许支持向量机在一些样本上出错。
软间隔 :数据样本不是实际的线性可分,而是 近似线性可分 ,即 允许某些样本不满足约束 :
由此,原始目标函数中增加了一个 损失函数 可写为:
三种常用的替代损失函数:
若采用hinge损失,则目标函数变成:
为度量这个间隔软到何种程度,引入“松弛变量”(即用以表示该样本不满足约束的程度),将上式改写得到“ 软间隔支持向量机 ”:
秒懂生活扩展阅读
- 荣耀v20支持几倍变焦
- 减少雾霾的措施
- oppor8107支持联通4g
- 微信扫码支付需网络支持吗
- 12306买票支持京东白条吗
- 私有云怎么搭建
- 小米mix2s支持速充吗
- 软件技术支持主要的工作是什么
- 华为下拉搜索怎么关闭
- 周易预测生辰八字 周易预测