SVM原理及在人脸识别中的应用.docx
- 文档编号:486638
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:9
- 大小:64.31KB
SVM原理及在人脸识别中的应用.docx
《SVM原理及在人脸识别中的应用.docx》由会员分享,可在线阅读,更多相关《SVM原理及在人脸识别中的应用.docx(9页珍藏版)》请在冰豆网上搜索。
SVM原理及在人脸识别中的应用
关于SVM及其应用的相关原理
一、支持向量机介绍
下面我简单介绍下何为小样本、非线性及高维模式识别
小样本,并不是说样本的绝对数量少,实际上,对任何算法来说,更多的样本几乎总是能带来更好的效果,而是说与问题的复杂度比起来,SVM算法要求的样本数是相对比较少的。
非线性,是指SVM擅长应付样本数据线性不可分的情况
高维模式识别是指样本维数很高,例如样本出现几万维,不用降维处理,其他算法基本就没有能力应付了,SVM却可以,主要是因为SVM产生的分类器很简洁,用到的样本信息很少,使得即使样本维数很高,也不会给存储和计算带来大麻烦。
何为机器学习之后会介绍。
支持向量机方法:
下面我简单介绍下何为VC维理论和结构风险最小原理以期推广能力
所谓VC维是对函数类的一种度量,我们就简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。
(1)PPT下一页
在讲解结构风险最小原理,先介绍下风险,风险就是与真实解的误差。
我举个例子来说,我们不知道宇宙是如何诞生,就是不知道宇宙的真实模型,如果知道真实的宇宙模型,我们直接用真实模型就可以了。
既然不知道,我们就根据一些现象假设认为宇宙诞生于150亿年前的一场大爆炸,这个假设能够描述很多我们观察到的现象,但它与真实的宇宙模型之间还相差多少?
谁也说不清,因为我们压根就不知道真实的宇宙模型到底是什么。
这个差距我们就认为是风险
经验风险就是分类器在给定样本上的误差,就是我们选择一个假设之后,真实误差无从得知,但我们可以用某些可以掌握的量来逼近它。
就是使用分类器在样本数据上的分类的结果与真实结果之间的差值来表示。
这个差值叫做经验风险。
置信风险是分类器在未知文本上分类的结果的误差。
代表了我们在多大程度上可以信任分类器在未知文本上分类的结果。
很显然,没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值。
结构风险就是经验风险与置信风险之和
(2)PPT下一页
下面介绍下机器学习和推广能力
机器学习就是对一种对问题真实模型的逼近。
机器学习分为传统机器学习和统计机器学习。
传统机器学习方法是把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上轻易达到100%的正确率,然而用分类函数对未知样本分类时却一塌糊涂。
经验风险最小化原则适用的大前提是经验风险要确实能够逼近真实风险才行,但实际上能逼近么?
答案是不能,因为样本数相对于现实世界要分类的文本数来说简直九牛一毛,经验风险最小化原则只在这占很小比例的样本上做到没有误差,当然不能保证在更大比例的真实文本上也没有误差。
所以传统的机器学习基本上属于摸着石头过河,用传统的机器学习方法构造分类系统完全成了一种技巧,一个人做的结果可能很好,另一个人差不多的方法做出来却很差,缺乏指导和原则。
统计统计机器学习目标是从经验风险最小化变为了寻求经验风险与置信风险的和最小
而推广能力就是,用已知样本得到的一个分类器,在其他未知样本分类时候也能获得很好的正确率。
(3)PPT下一页——SVM基础
大家可以看上图,我们要区分C1和C2这两类,红色的曲线可以区分出来,但是用线性函数进行区分是最简单也很有效的.我将用一个二维空间里仅有两类样本的分类问题来举例,来说明SVM的形成思路与核心概念
何为线性可分与线性不可分,C1和C2是要区分的两个类别,如图所示。
中间的直线就是一个分类函数,它可以将两类样本完全分开。
一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。
线性函数在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,如此想象下去,如果不关注空间的维数,这种线性函数一个统一的名称即为超平面
下面我们要区分C1,C2可以得到得到一个线性函数g(x)=wx+b
如取阈值为0,当有一个样本xi需要判别的时候。
若g(xi)>0,就判别为类别C1,若g(xi)<0,则判别为类别C2。
很容易区分出样本是属于C1还是C2
(4)PPT下一页
关于线性函数g(x)=wx+b要注意,式中的x不是二维坐标系中的横轴,而是样本的向量表示,例如一个样本点的坐标是(3,8),则x是向量(3,8),而不是x=3,第二点是这个形式并不局限于二维的情况,在n维空间中仍然可以使用这个表达式,只是式中的w成为了n维向量;三是,g(x)不是中间那条直线的表达式,中间那条直线的表达式是g(x)=0,即wx+b=0,我们也把这个函数叫做分类面。
实际上很容易看出来,中间那条分界线并不是唯一的,如图中的绿线和红线,甚至很多线都可以将C1,C2分类出来并且不会分错。
哪一个线性函数更好呢?
显然必须要先找一个指标来量化“好”的程度,通常使用的都是叫做“几何间隔”的指标。
(5)PPT下一页
在进行文本分类的时候,我们可以让计算机这样来看待我们提供给它的训练样本,每一个样本由一个向量和一个标示出这个样本属于哪个类别的标记组成。
记作如下:
Di=(xi,yi)
xi就是文本向量(维数很高),yi就是分类标记。
在二元的线性分类中,这个表示分类的标记只有两个值,1和-1用来表示属于还是不属于C1。
有了这种表示法,我们就可以定义一个样本点到某个超平面的间隔:
δi=yi(wxi+b)此公式只是一个定义,没有什么道理。
我们看这公式
(1),如果某个样本属于C1该类别的话,那么wxi+b>0,而yi=1也大于0;若不属于该类别的话,那么wxi+b<0,而yi也小于0,这意味着δi总是大于0的,而且它的值就等于|wxi+b|
现在把w和b进行一下归一化,即用w/||w||和b/||w||分别代替原来的w和b,那么间隔就可以写成
对于2维,||w||就是2-范数。
当不是2维空间时候,w就是n范数
之所以如此关心几何间隔,是因为几何间隔越大,误差上界越小,置信风险越小。
因为支持向量机是要求结构风险最小,那么就是经验风险和置信风险越小越好。
所以我们希望几何间隔越大越好。
(6)PPT下一页
如图,展示出了几何间隔的现实含义,H是分类面就是g(x)=0,而H1和H2是平行于H,H1与H,H2与H之间的距离就是几何间隔。
要求几何间隔最大就是右边公式中最大。
而我们常用的方法并不是固定||w||的大小而寻求最大几何间隔,而是固定几何间隔,例如固定几何间隔为1,寻找最小的||w||。
得到目标函数就是:
这个式子和求min||w||是等价的,用此形式只是之后推导计算方便
如果直接来解这个求最小值问题,很容易看出当||w||=0的时候就得到了目标函数的最小值。
但,无论你给什么样的数据,都是这个解!
反映在图中,就是H1与H2两条直线间的距离无限大,这个时候,所有的样本点都跑到了H1和H2中间,没有将C1和C2类区分出来。
所以我要加入约束条件来,之前提到过将几何距离固定为1,这是指把所有样本点中间隔最小的那一点的间隔定为1,也就意味着集合中的其他点间隔都不会小于1,按照间隔的定义,满足这些条件就相当于让下面的式子总是成立:
yi[(w·xi)+b]≥1(i=1,2,…,n)(n是总的样本数)
这样我们的两类样本分类问题也被我们转化成了它的数学形式,一个带约束的最小值的问题:
(7)PPT下一页
几何间隔告诉了我们如何在g(x)=wx+b中选择一个最好的。
但是我们还要知道如何求出一个g(x)=wx+b。
后面这个为内积形式
求这样的g(x)的过程就是求w(一个n维向量)和b(一个实数)两个参数的过程,但实际上只需要求w,求得以后找某些样本点代入就可以求得b。
因此在求g(x)的时候,w才是变量。
一旦求出了w,那么中间的直线H就知道了,因为它就是wx+b=0,H,H1,H2平行,间隔||w||,则H1和H2可以求的。
那么w是谁决定的?
显然是你给的样本决定的,一旦你在空间中给出了那些个样本点,三条直线的位置实际上就唯一确定了,因为我们求的是最优的那三条,当然是唯一的
样本确定了w,用数学的语言描述,就是w可以表示为样本的某种组合:
w=α1x1+α2x2+…+αnxn
式子中的αi是拉格朗日乘子,而xi是样本点,是向量,n就是总样本点的个数。
但是
(1)式还不够好,并不能表示样本的全部信息,我们看图,如果把其中一个正样本点定为负样本点,就是把一个圆形变为方形三条直线都必须移动。
这说明w不仅跟样本点的位置有关,还跟样本的类别有关。
因此用带有标记的w式子才完整
w=α1y1x1+α2y2x2+…+αnynxn
其中的yi就是第i个样本的标签,它等于1或者-1。
(7)PPT下一页
我们来看这个w的等式,式的那一堆拉格朗日乘子中,只有很少的一部分不等于0,不等于0才对w起决定作用,这部分不等于0的拉格朗日乘子后面所乘的样本点,都落在H1和H2上,也正是这部分样本唯一的确定了分类函数,当然,更严格的说,这些样本的一部分就可以确定,因为例如要确定H1这条直线,只需要两个点就可以,即便有三五个都落在H1上面。
这部分我们真正需要的样本点,就叫做支持(撑)向量!
形象的理解为,“撑”起了分界线的样本。
将w用求和符号简写一下:
g(x)表达式可以写为:
注意式子中x才是变量,也就是你要分类哪篇文档,就把该文档的向量表示代入到x的位置,而所有的xi统统都是已知的样本。
式子中只有xi和x是向量,所以可以表示为后面的式子。
之所以表示为
(1)式形式,是因为以这样的形式描述问题以后,我们的优化问题少了很大一部分不等式约束。
我们先不讨论这个等式如何求解,先讲解下支持向量机的最重要的部分——核函数和松弛变量
(7)PPT下一页——核函数
之前一直在讨论的线性分类器,只能对线性可分的样本做处理。
如果提供的样本线性不可分,结果很简单,线性分类器的求解程序会无限循环,永远也解不出来。
这必然使得它的适用范围大大缩小,而它的很多优点我们实在不原意放弃,怎么办呢?
有,其思想很简单,还是用二维平面中的分类问题作例子。
左边的我们把横轴上红色部分里的所有点定为正类,两边的黑色部分里的点定为负类。
试问能找到一个线性函数把两类正确分开么?
在二维空间里的线性函数就是指直线,显然找不到能将两者分开的直线。
我们可以找到一条曲线将二者区分开,通过判断点在这条曲线的上方还是下方就可以判断点所属的类别。
得到曲线为,问题只是它不是一个线性函数,但是新建一个向量y和a,,然后把y和a分别回带一下,得到g(x)=f(y)=ay。
在任意维度的空间中,这种形式的函数都是一个线性函数,只不过其中的a和y都是多维向量罢了。
这样原来在二维空间中一个线性不可分的问题,映射到四维空间后,变成了线性可分的!
因此这也形成了我们最初想解决线性不可分问题的基本思路——向高维空间转化,使其变得线性可分。
(7)PPT下一页
将低维空间线性不可分的映射到的高维空间的到的线性可分的线性函数为
f(x’)=
其中:
x’是经由x变换来的,w’是经由w变换来的
计算高维空间向量x’与向量w’的内积,再把这个内积的值和b相加,就得到了结果,看结果大于阈值还是小于阈值就得到了分类结果。
但是x’到x,w’到w的映射关系很难找到。
但是我们发现我们可以只关心那个高维空间里内积的值,如果内积值算出来了,分类结果就算出来了。
这就让我们幻想,是否能有这样一种函数K(w,x),他接受低维空间的输入值
如果存在K(w,x),那么当给了一个低维空间数据,
g(x)=K(w,x)+b
f(x’)=
这两个函数的计算结果就完全一样,我们可直接拿低维的输入往g(x)里面代就可以了。
万幸的是,这样的K(w,x)确实存在,它被称作核函数,而且还不止一个。
(8)PPT下一页
核
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVM 原理 识别 中的 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)