- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
支持向量机
商柳 2013.1.17
支持向量机Support Vector Machine
Vladimir Vapnik和Corinna Cortes于1995年首先提出
支持向量:简单来说,就是支持或支撑平面上把两类类别划分开来的超平面的向量点
机(machine,机器):算法。在机器学习领域,常把一些算法看做是一个机器,如分类机(也叫做分类器),而支持向量机本身便是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。
在解决小样本、非线性及高维模式识别中表现出许多特有的优势
线性分类
y=1
y=-1
函数间隔与几何间隔
函数间隔(Functional Margin)
定义函数间隔为:
定义超平面(w,b)关于训练数据集T的函数间隔为:超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔最小值
问题:当w和b成倍增加时…
函数间隔与几何间隔
几何间隔(Geometrical Margin)
对法向量w加些约束条件,使其表面上看起来规范化
点到超平面的距离
最大间隔分类器
目标函数
SVM 通过使用最大间
隔分类器来设计决策
最优分类超平面
支撑两个超平面的点
叫做支持向量support
vector
优化问题求解
使用通用的QP优化包来求解
通过拉格朗日对偶变换到对偶变量进行求解
更加高效简单的求解方法
可以很自然地引入核函数,进而推广到非线性分类问题
优化问题求解
问题满足KKT条件,所以d*=p*
得到关于a的优化问题:
SMO算法
优化问题求解
这里的形式的有趣之处在于,对于新点 x 的预测,只需要计算它与训练数据点的内积即可(这里 ⟨⋅,⋅⟩ 表示向量内积)
所有非 Supporting Vector 所对应的系数 α 都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据即可。
核函数
前面介绍了SVM处理线性可分的情况
对于非线性情况:
选择一个核函数 κ(⋅,⋅) ,通过将数据映射到高维空间,来解决在原始空间中线性不可分的问题
核函数
假设原始的数据是非线性的,我们通过一个映射 ϕ(⋅) 将其映射到一个高维空间中,数据变得线性可分了
维数呈爆炸性增长,出现计算问题
其实只关心在高维空间中内积的值
核函数:接受两个低维空间里的向量,能够计算出经过某个变换后在高维空间里的向量内积值
松弛变量
映射到高维空间之后还是线性不可分
不是数据本身的非线性结构,outliers
SVM允许一些点到分类平面的距离不满足原先的要求(软间隔)
其中 被称为松弛变量
目标函数变为
其中 C 是一个参数,用于
控制目标函数中两项(“寻
找 margin 最大的超平面”和
“保证数据点偏差量最小”)
之间的权重
松弛变量
需要求解的优化问题变为
总结一下
支持向量机就是使用了核函数的软间隔线性分类法
SMO优化算法
由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法
特别针对线性SVM和数据稀疏时性能更优
《Sequential Minimal Optimization A Fast Algorithm for Training Support Vector Machines》
对偶函数的优化问题:
SMO的主要步骤:
文档评论(0)