Support Vector Machines

Vapnik等学者从20世纪70年代开始研究统计学理论(SLT),到20世纪90年代之前都还处于初级研究和理论准备阶段,最近10年才得到重视,其本身也趋向完善,并产生了支持向量机(SVMs),这一将理论付诸实现的有效的机器学习方法。SVMs算法在模式识别、回归估计等方面都有良好的应用,例如,时间序列预测、人脸识别、手写数字识别、语音识别以及网页分类等问题。通过诸多学者的研究证明,SVMs算法在精度上已经超过传统的统计学习算法或与之不相上下。就推广而言,SVMs具有较好的推广性,在统计意义上较少的支持向量对应很好的推广能力。

支持向量机的基本思想基于1909年Mercer核展开定理,通过非线性映射Φ,把样本空间映射到一个高维乃至无穷维的特征空间(Hilbert空间),使在特征空间中可以应用线性学习机的方法解决样本空间中的高度非线性分类和回归问题。支持向量机是建立在统计学习理论的VC维(Vapnik Chervonenks Dimension)理论和结构风险最小原理(Structural Risk Minimization Inductive Principle)基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(Generalization Ability),能较好地解决小样本、非线性、高维数和局部极小点等实际问题,已成为机器学习界的研究热点之一。

#######################

统计学习理论基本思想

#######################

1) 统计学习理论由贝尔实验室Vapnik于1992年首次提出。

2) 它是研究小样本下机器学习规律的理论。

3) 基于统计学习理论(SLT)。

3) 基本思想:折衷考虑经验风险和推广的置信界限,取得实际期望风险的最小化。

两大核心: VC维和结构风险最小化。

VC维的概念

1)描述函数复杂性的指标。
2)假如存在一个由h个样本的样本集能够被一个函数集中的函数按照所有可能的2h  种形式分为两类,则函数集能够把样本数为h的样本集打散(shattering)。函数集的vc维就是用这个函数集中的函数所能够打散的最大样本集数的样本数目。附图是3个样本被线性分类器打散的情况。
3)VC维是目前为止对函数集学习性能的最好描述指标。但遗憾的是目前尚没有通用的关于如何计算任意函数集的VC维的理论。目前大多数的软件只能给出VC维的结果范围。

结构风险最小化的思想

1) Vapnik证明,期望风险与经验风险之间的关系满足如下公式:

R(w)=Remp(w)+Φ(n/h)

其中n表示样本数,h为学习机器的VC维, Φ(n/h)称为置信区间。Φ(n/h)是随n/h增大而减小的函数。

从上面可以看出,学习机器的VC维h越大,Φ(n/h)越大经验风险和期望风险之间的偏差越大。这样即使在经验误差很小的情况下,其推广误差会越大。

2) 具体过程

将函数集构造为一个函数子集序列,使各个子集按照VC 维的大小(亦即φ的大小) 排列;在每个子集中寻找最小经验风险,在子集间折衷考虑经验风险和置信界限,取得实际风险的最小。

参数选择问题

支持向量机的一个优点就是它的参数很少,只包括核函数参数以及C的选择所以在使用支持向量机软件时,算法运算过程中需要人为设定这两类参数比如使用RBF核函数时,此时的SVM就有两个参数:RBF宽度gamma以及C.不同的参数选择得到的分类性能可能会显著不同。现在SVM的研究的一个重要方向就是构造更有效的核函数但是目前被认可的主要有三种:RBF核函数, 多项式核函数以及多层感知器核函数一般RBF核函数被应用的较多。

函数估计模型

没有什么比用一个概率模型描述或然的现实世界更加保险的了,没有什么比用一个函数来描述一个计算过程更加有效的了.因果永远是理性思维最拿手的.X与Y的发生分别服从各自的分布,但如果(y|x)的分布特殊到某种境界,人们就会有兴趣去想象Y与X的因果关系.我们简化现实模型,将两者的关系夸张到y是x的函数的程度.目的是确定这个函数,根据任意未知的x,给出尽量接近y的预测.候选函数的集合由我们事先给定,计算机需要做的是根据已知的一些(x,y)从函数集合中选择一个尽量使得预测性能最好.

风险最小化;经验风险最小化(ERM)

最保守的风险最小化评价一定是要在真实(x,y)的概率分布下对差异积分.而真实概率分布是难以获取的,因此根据类似大数定理的思维方式,能大胆地认为在样例足够多的时候,可以用经验风险最小化的评价方法.也就是在评价时以学习样例完全代替(x,y)的真实概率分布.

一致性;VC

问题是这两种评价的结果是否总是在样例无穷多的时候一致地逼近最优值呢.于是有了很多与一致性等价的命题.一个重要的概念是VC熵,反映了函数集在数目为l的样本上期望的多样性.它与l的比当l趋于无穷的时候如果收敛,等价于一个"一致双边收敛"的命题.

置信范围;VC

但无情的现实是样例数往往难以达到让我们认为它已经接近无穷多的程度,特别是在比如TC中还会遇到无处不在的Zipf定律.于是我们不得不估计样例数与两种评价结果差距的关系,这种差距叫做置信范围.由此又得到很多不等式.再引入函数集的VC维h.h刻画的是函数集肆意划分样例的能力,它也直接影响了置信范围.这种肆意划分的能力越小,说明置信范围可能越小.

结构风险最小化(SRM)

于是在l一定的时候,我们需要折中的就是选用的函数集的大小.将原有函数集表示成一个嵌套序列,使得他们的VC维h单调.首先选择风险上限(经验风险+置信范围)最低时对应的h和函数集子集,在从中选择经验风险最小的函数,这样的优化策略称为结构风险最小化.

支持向量机(SVM);支持向量

支持向量机(SVM)号称可以在保证经验风险固定较小的前提下,尽量最小化置信范围.其方法是在一个特征空间(好像要是Hilbert空间)上,找出划分两个点集的最优超平面,即使得两个点集沿该平面间隙最大.刚好落在这个间隙边上的向量叫做支持向量.这样的最大化据说就可以和置信范围最小化等价.VC维在这样的过程中是如何发生微妙变化的我还不太清楚.在两个点集不能用超平面完全划分的时候也有与此相适应的算法.推导显示求这样一个超平面,等价于求一个约束二次规划问题.

核函数

还有一个令人庆幸的事实是如果只要求训练这样的超平面并对以后的数据做划分.SVM并不需要知道样例在特征空间中的向量表达或者甚至不需要知道特征空间的维数.它只需要知道任意两个样例映射到此空间后向量的内积.而这样的内积可以在样例(训练集或测试集中的)被映射成某个不可琢磨的特征空间中的向量之前被计算出来,完成这样计算的函数叫核函数.即使样例到特征空间的映射关系都不知道,只要该核函数满足伟大的Mercer定理,这样的特征空间就总能存在,SVM就能工作.

svm涉及的一些概念相关推荐

  1. opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及卷积填充模式

    具体参考我的另一篇文章: opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及Same(相同)填充与Vaild(有效)填充 这里是对这一篇文章的补充! 卷积-三种填充模式 橙色部分为imag ...

  2. 大数据分块_空间数据库基础理论 GIS空间数据处理分析涉及的基本概念

    <空间数据库>课程整理汇总,106篇课程,内容太长,学习中,把一些关键点,汇总记下笔记 地理空间 GIS中的地理空间(Geo-spatial)是指经过投影变换后,在笛卡尔坐标系中的地球表层 ...

  3. 空间数据库基础理论 GIS空间数据处理分析涉及的基本概念

    <空间数据库>课程整理汇总,106篇课程,内容太长,学习中,把一些关键点,汇总记下笔记 地理空间 GIS中的地理空间(Geo-spatial)是指经过投影变换后,在笛卡尔坐标系中的地球表层 ...

  4. opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及Same(相同)填充与Vaild(有效)填充

    滤波 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果. 卷积 卷积的概念: 卷积的原理与滤波类似.但是卷积却有着细小的差别. 卷积操作也是卷积核与图像对应位置的 ...

  5. 生成镶嵌数据集涉及的一些概念和工具

    目录 1.镶嵌数据集工具概览和粗略流程 2.镶嵌数据集初始化 3.镶嵌数据集图层 4.镶嵌数据集常规属性 5.镶嵌数据集影像属性 6 .镶嵌数据集镶嵌属性(叠加次序) 7.镶嵌数据集目录元数据属性 8 ...

  6. 程序员课外拓展013:桌面云涉及到的概念

    VMware简介 VMware (Virtual Machine ware)是"虚拟PC"软件公司,提供服务器.桌面等虚拟化解决方案 VMware三大虚拟化技术: 计算虚拟化 存储 ...

  7. 图像处理中涉及的灰度图、彩色图以及深度图概念

    图像处理中涉及最多的概念就是图像的类型,为了很好的理解图像的概念以及处理图片,我们就需要对常见的图像具有一定的概念. 我们首先介绍一下生活中常见的图像格式: 1.bmp格式:这是一种不常见的图像格式, ...

  8. 支持向量机(SVM)必备知识(KKT、slater、对偶)

    SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸优化问题.拉格朗日乘子法.对偶问题,slater条件.KKT条件还有复杂的SMO算法!相信有很多研 ...

  9. SVM的“三重境界”

    SVM--支持向量机,作为机器学习领域最为重量级的学习算法之一.保留个人总结认为其有"三重境界":硬,软,柔.硬,即最基本的硬间隔最大化:软,即软间隔最大化:柔,利用核函数实现对非 ...

最新文章

  1. ldconfig动态链接库管理以及修改ld.so.conf.d
  2. 电磁信号检测 | 本是同根生,相煎何太急
  3. 单片机课程设计电梯(c语言),单片机课程设计之电梯控制系统.docx
  4. 「后端小伙伴来学前端了」记录自己的踩坑第一天 | CSS:vertical-align 属性
  5. h5 bootstrap 小程序模板_青浦区社群小程序模板
  6. C语言嵌入式系统编程修炼之内存操作
  7. 6-6 归并排序(递归法) (10分)
  8. stm32实验报告心得体会_STM32实验报告
  9. mysql求数据库平均成绩视图_MySQL数据库视图
  10. is_file(): open_basedir restriction in effect.
  11. NTP时钟源(GPS时间源)介绍与分析
  12. 玛雅日历和2012年12月,whats的新政
  13. 医疗对话摘要论文阅读笔记
  14. docker虚拟化容器技术
  15. java删除word中批注_Java 添加、回复、删除Word批注
  16. wince 读写 ini 文件 操作 MFC
  17. PHP使用QQ邮箱发送邮件无需SMTP服务器
  18. b站弹幕姬python_Python 融合多方代码b站弹幕朗读姬代码
  19. Jenkins自动化部署阿里云K8s
  20. win7 加载 usb3.0驱动

热门文章

  1. 【Matlab】parfor并行运算如何显示进度条?
  2. [MATLAB学习笔记]matlab结构体A.B
  3. Coursera吴恩达《神经网络与深度学习》课程笔记(2)-- 神经网络基础之逻辑回归
  4. SVM熟练到精通3:核函数与非线性分类
  5. 减小Delphi的Exe文件大小
  6. 比较两个二维数组是否相等
  7. JS调用后台带参数的方法
  8. python函数—— .items()
  9. 汇编中断程序编写步骤
  10. Java获得随机数字