支持向量机SVM01


支持向量机方法是建立在 统计学习理论VC 维理论结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)

大侠分小球

看了两篇SVM文章都提到了大侠分小球。

第一种情况小球都位于平面而且可以用一条明显的直线区分开红蓝两色小球。在这里SVM就是尽量试图把直线放在更佳的位置,让它两侧有更大的缝隙。

第二种情况,没有合适的直线可以直接区分红蓝小球,因此大侠一拍桌子把小球从二维平面变为三维,在空间中插入一张纸从而区分红蓝小球。而在原本的平面来看,小球就好像被一条曲线分开了。
在这里
球叫做 「data」
把直线叫做 「classifier」
最大间隙的技巧叫做 「optimization (最优化)」
几种划分方式叫做 「kernelling内核」
那张纸叫做 「hyperplane超平面」

三种内核效果kernelling比较

linear核(直线)

线性函数
其实就是画直线(一次方)

主要用于线性可分的情形。参数少,速度快,适用于一般数据

RBF核(曲线)

径向基函数 (Radial Basis Function 简称 RBF)
基于半径的函数
其实就是画曲线(二次方)

主要用于线性不可分的情形。参数多,分类结果非常依赖于参数的情况。

polynomial model

参数较多,在另外两种都不适用的时候选择
(多项式 n次方)(一般来说什么都画不好)

机器学习前提

统计机器学习和传统机器学习的比较

相比传统机器学习,统计机器学习能够精确的给出学习效果,能够解答需要的样本数等等一系列问题。

VC维

所谓VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。
SVM关注的是VC维,SVM解决问题的时候,和样本的维数是无关的,甚至样本是上万维的都可以,这使得SVM很适合用来解决文本分类的问题。

机器学习的本质

机器学习本质上就是一种对问题真实模型的逼近(我们选择一个我们认为比较好的近似模型,这个近似模型就叫做一个假设),但毫无疑问,真实模型一定是不知道的既然真实模型不知道,那么我们选择的假设与问题真实解之间究竟有多大差距,我们就没法得知。

风险

经验风险Remp(w)

预设的解决问题的模型与问题真实解之间的误差,就叫做风险(更严格的说,误差的累积叫做风险)。
我们选择了一个假设(分类器)之后,真实误差无从得知,但我们可以用某些可以掌握的量来逼近它。最直观的想法就是 使用分类器在样本数据上的分类的结果与真实结果(因为样本是已经标注过的数据,是准确的数据)之间的差值来表示。
这个差值叫做经验风险Remp(w)。
但仅关注于经验风险会发现机器学习的分类结果仅在样本集上可以达到良好的精度但在实际数据分类中产生的结果很糟糕。这是因为分类函数足够复杂(它的VC维很高),能够精确的记住每一个样本,但对样本之外的数据一律分类错误。
要避免这种错误就要使经验风险和实际风险一致,但实际上真实数据无穷无尽,无法使小的样本集和庞大的数据集风险一致。
因此提出了

泛化误差界

真实风险由两部分构成:经验风险和置信风险。
置信风险代表了我们在多大程度上可以信任分类器在未知文本上分类的结果。这部分没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值。

泛化误差界的公式为: R(w)≤Remp(w)+Ф(n/h)
公式中R(w)就是真实风险,Remp(w)就是经验风险,Ф(n/h)就是置信风险。
统计学习的目标从经验风险最小化变为了 寻求经验风险与置信风险的和最小,即结构风险最小
SVM正是这样一种努力最小化结构风险的算法。

SVM的其他特点:

小样本

并不是说样本的绝对数量少(实际上,对任何算法来说,更多的样本几乎总是能带来更好的效果),而是说与问题的复杂度比起来,SVM算法要求的样本数是相对比较少的。

非线性

是指SVM擅长应付样本数据线性不可分的情况,主要通过松弛变量(也有人叫惩罚变量)和核函数技术来实现,这一部分是SVM的精髓。
关于文本分类这个问题究竟是不是线性可分的,尚没有定论,因此不能简单的认为它是线性可分的而作简化处理,在水落石出之前,只好先当它是线性不可分的(反正线性可分也不过是线性不可分的一种特例而已,我们向来不怕方法过于通用)。

高维模式识别

指样本维数很高,例如文本的向量表示,如果没有经过另一系列文章(《文本分类入门》)中提到过的降维处理,出现几万维的情况很正常,其他算法基本就没有能力应付了,SVM却可以,主要是因为SVM 产生的分类器很简洁,用到的样本信息很少(仅仅用到那些称之为==“支持向量”==的样本,此为后话),使得即使样本维数很高,也不会给存储和计算带来大麻烦。
(相对照而言,kNN算法在分类时就要用到所有样本,样本数巨大,每个样本维数再一高,这日子就没法过了……)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值