Svm
Svm
基
基
本
本
知
知
识
识
与
与
原
原
理
理
SVM
SVM
入
入
门
门
(
(
一
一
)
)
SVM
SVM
的
的
八
八
股
股
简
简
介
介
支持向量机(Support Vector Machine)是Vapnik等于
1995年首先提出的,它在解决小样本、非线性及高维模式识
别中表现出许多特有的优势,并能够推广应用到函数拟合等
其他机器学习问题中。
支持向量机方法是建立在统计学习理论的VC 维理论和结
构风险最小原理基础上的,根据有限的样本信息在模型的复
杂性(即对特定训练样本的学习精度)和学习能力(即无错
误地识别任意样本的能力)之间寻求最佳折衷,以期获得最
好的推广能力 。
所谓VC维是对函数类的一种度量,可以简单的理解为问
题的复杂程度,VC维越高,一个问题就越复杂。结构风险最
小听上去文绉绉,其实说的也无非是下面这回事。
机器学习本质上就是一种对问题真实模型的逼近,但毫无
疑问,真实模型一定是不知道的。那么我们选择的假设与问题
真实解之间究竟有多大差距,我们就没法得知。这个与问题真
实解之间的误差,就叫做风险。我们选择了一个假设后,真实
误差无从得知, 但我们可以用某些可以掌握的量来逼近它。
最直观的想法就是使用分类器在样本数据上的分类的结果与真
实结果(因为样本是已经标注过的数据,是准确的数据)之间
的差值来表示。这个差值叫做经验风险Remp(w)。以前的机
器学习方法都把经验风险最小化作为努力的目标,但后来发现
很多分类函数能够在样本集上轻易达到100%的正确率,在真
实分类时却一塌糊涂(即所谓的推广能力差,或泛化能力差)
。
此时的情况便是选择了一个足够复杂的分类函数,能够精
确的记住每一个样本,但对样本之外的数据一律分类错误。
统计学习引入了泛化误差界的概念,就是指真实风险应该
由两部分内容刻画,一是经验风险,代表了分类器在给定样本
上的误差;二是置信风险,代表了我们在多大程度上可以信任
分类器在未知样本上分类的结果。很显然,第二部分是没有办
法精确计算的,因此只能给出一个估计的区间,也使得整个误
差只能计算上界,而无法计算准确的值。
置信风险与两个量有关,一是样本数量,显然给定的样本
数量越大,我们的学习结果越有可能正确,此时置信风险越小
;二是分类函数的VC维,显然VC维越大,推广能力越差,置
信风险会变大。
R(w)≤R
emp
(w)+Ф(h/n)统计学习的目标从经验风险最小化变为
了寻求经验风险与置信风险的和最小,即结构风险最小。
SVM入门(二)线性分类器Part 1
C1和C2是要区分的两个类别,中间
的直线就是一个分类函数,它可以将
两类样本完全分开。一般的,如果一
个线性函数能够将样本完全正确的分
开,就称这些数据是线性可分的,否
则称为非线性可分的。
什么叫线性函数呢?在一维空间里就是一个点,在二维空间
里就是一条直线,三维空间里就是一个平面,可以如此想象
下去,如果不关注空间的维数,这种线性函数还有一个统一
的名称——超平面(Hyper Plane)!
实际上,一个线性函数是一个实值函数,而我们的分类问题
需要离散的输出值,这时候只需要简单的在实值函数的基础
上附加一个阈值即可,通过分类函数执行时得到的值大于还
是小于这个阈值来确定类别归属。