支持向量机的介绍.docx
《支持向量机的介绍.docx》由会员分享,可在线阅读,更多相关《支持向量机的介绍.docx(17页珍藏版)》请在优知文库上搜索。
1、支持向量机(SVM)介绍目标本文档尝试解答如下问题:如何使用OPenCV函数CvSVMhrain训练一个SVM分类器,以及用CvSVIVkpredict测试训练结果。什么是支持向量机(SVM)?支持向量机(SVM)是一个类分类器,正式的定义是一个能够将不同类样本在样本空间分隔的超平面。换句话说,给定一些标记(Iabel)好的训练样本(谧督式学习),SVM算法输出一个最优化的分隔超平面。如何来界定一个超平面是不是最优的呢?考虑如下问题:假设给定一些分属于两类的2维点,这些点可以通过直线分割,我们要找到一条最优的分割线.Note在这个例如中,我们考虑卡迪尔平面内的点与线,而不是高维的向量与超平面。
2、这一简化是为了让我们以更加直觉的方式建立起对SVM概念的理解,但是其根本的原理同样适用于更高维的样本分类情形。在上面的图中,你可以直觉的观察到有多种可能的直线可以将样本分开。那是不是某条直线比其他的更加适宜呢?我们可以凭直觉来定义一条评价直线好坏的标准:距离样本太近的直线不是最优的,因为这样的直线对噪声敏感度高,泛化性较差。因此我们的目标是找到一条直线,离所有点的距离最远。由此,SVM算法的实质是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的最小距离。这个最小距离用SVM术语来说叫做间隔(margin)。概括一下,最优分割超平面最大化训练数据的间隔。如何计算最优超平面?下
3、面的公式定义了超平面的表达式:f(x)=o+位X,叫做权重向量,BO叫做偏置(bias)0Seealso关于超平面的更加详细的说明可以参考T.Hastie,R.Tibshirani和J.H.Friedman的书籍ElementsofStatisticalLearning,section4.5(SeperatingHyperplanes)o最优超平面可以有无数种表达方式,即通过任意的缩放B和%。习惯上我们使用以下方式来表达最优超平面o+=l式中X表示离超平面最近的那些点。这些点被称为支持向量*。该超平面也称为*canonical超平面.通过几何学的知识,我们知道点X到超平面(B,BO)的距离为:
4、孑*o+distance=Mp特别的,对于canonical超平面,表达式中的分子为1,因此支持向量到canonical超平面的距离是o+1distancesupportVeCtOrS=ipii=jjjj刚刚我们介绍了间隔(margin),这里表示为M,它的取值是最近距离的2倍:M=ll最后最大化M转化为在附加限制条件下最小化函数L(B)0限制条件隐含超平面将所有训练样本Xi正确分类的条件,minL()=-2subjecttoyi(xi+o)1i,式中Ui表示样本的类别标记。这是一个拉格朗日优化问题,可以通过拉格朗日乘数法得到最优超平面的权重向量B和偏置%。源码include#includei
5、nclude4usingnamespacecv;678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152intmain()/Dataforvisualrepresentationintwidth=512,height=512;Matimage=Mat:zeros(height,width,CV8UC3);/Setuptrainingdatafloatlabels4=1.0,-1.0,-1.0,-1.0;MatIabelsMat(3,1,CV_32FC1,labels);f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 支持 向量 介绍
