支持向量机及其应用_第1页
支持向量机及其应用_第2页
支持向量机及其应用_第3页
支持向量机及其应用_第4页
支持向量机及其应用_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、支持向量机算法研究及其应用指导老师:段华答 辩 人:李潇目 录问题描述结论与展望实现图实现过程SVM简介SVM简介 支持向量机(英语:Support Vector Machine,常简称为SVM)是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析。它是Corinna Cortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器。问题描述 SVM 支持向量机是一个类分类器,给定一些标记好的训

2、练样本,svm算法输出一个最优分隔超平面,假定给定几个分属两类的点,这些点可以通过直线分割,通过svm将其分为两类。实现过程 考虑如下问题: 假设给定一些分属于两类的2维点,这些点可以通过直线分割, 我们要找到一条最优的分割线。 距离样本太近的直线不是最优的。我们的目标是找到一条直线,离所有点的距离最远。 由此,SVM算法的实质是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的最小距离。这个最小距离用SVM术语来说叫做 间隔(margin) 。 概括一下,最优分割超平面 最大化训练数据的间隔知识准备知识准备-确定最优超平面确定最优超平面 实现过程 1 建立训练样本建立训练样

3、本 本例中的训练样本由分属于2个类别的2维点组成,其中一类包含一个样本点,另一类包含三个点 float labels4 = 1.0, -1.0, -1.0, -1.0; float trainingData42 = 501, 10, 255, 10, 501, 255, 10, 501 ; 函数 CvSVM:train 要求训练数据储存于float类型的 Mat 结构中, 因此我们定义了以下矩阵: Mat labelsMat(3, 1, CV_32FC1, labels);Mat trainingDataMat(3, 2, CV_32FC1, trainingData);实现过程2 2训练支持

4、向量机训练支持向量机 调用函数 CvSVM:train 来建立SVM模型 CvSVM SVM; SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params);实现过程 3 SVM区域分割区域分割 函数 CvSVM:predict 通过重建训练完毕的支持向量机来将输入的样本分类。 我们通过该函数给向量空间着色, 及将图像中的每个像素当作迪卡尔平面上的一点,每一点的着色取决于SVM对该点的分类类别:绿色表示标记为1的点,蓝色表示标记为-1的点。 Vec3b green(0,255,0), blue (255,0,0); for (int i

5、 = 0; i image.rows; +i) for (int j = 0; j image.cols; +j) Mat sampleMat = (Mat_(1,2) i,j); float response = SVM.predict(sampleMat); if (response = 1) image.at(j, i) = green; else if (response = -1) image.at(j, i) = blue; 实现过程 4 支持向量支持向量 这里用了几个函数来获取支持向量的信息。函数 CvSVM:get_support_vector_count 输出支持向量的数量,

6、函数 CvSVM:get_support_vector 根据输入支持向量的索引来获取指定位置的支持向量。 通过这一方法我们找到训练样本的支持向量并突出显示它们。 int c = SVM.get_support_vector_count(); for (int i = 0; i c; +i) const float* v = SVM.get_support_vector(i); circle( image, Point( (int) v0, (int) v1), 6, Scalar(255, 255, 255), thickness, lineType); 实现图 程序创建了一张图像,在其中显示了训练样本。 训练得到SVM,并将图像的每一个像素分类。 分类的结果将图像分为红绿蓝三部分,中间线就是最优分割超平面。 实现图 最后支持向量通过灰色边框加重显示结论与展望 本文利用SVM 解决二维空间上的问题,我们考虑迪卡尔平面内的点与线,而不是高维的向量与超平面。这一简化是为了让我们以更加直觉的方式建立起对SVM概念的理解,但是其基本的原理同样适用于更高维的样本分类情形。 支持向量机不仅有着统计学习理论的坚实理论基础,而且具有直观的几何解释和完美的数学形式。支持向量机主要讨论分类问题和回归问题,基于把回归问题转化为分类问题的研究工作。 支持向量机是借助于最优化方法解决数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论