支持向量机SVM原理及应用概述Word下载.docx
《支持向量机SVM原理及应用概述Word下载.docx》由会员分享,可在线阅读,更多相关《支持向量机SVM原理及应用概述Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
![支持向量机SVM原理及应用概述Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/12/dd8537a9-3ba0-4ecd-ae9c-5270783d250e/dd8537a9-3ba0-4ecd-ae9c-5270783d250e1.gif)
与传统统计学理论相比,统计学习理论(Statisticallearningtheory或SLT)是一种专门研究小样本条件下机器学习规律的理论。
该理论是针对小样本统计问题建立起的一套新型理论体系,在该体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在有限信息条件下得到最优结果。
Vapnik等人从上世纪六、七十年代开始致力于该领域研究,直到九十年代中期,有限样本条件下的机器学习理论才逐渐成熟起来,形成了比较完善的理论体系——统计学习理论。
统计学习理论的主要核心内容包括:
(1)经验风险最小化准则下统计学习一致性条件;
(2)这些条件下关于统计学习方法推广性的界的结论;
(3)这些界的基础上建立的小样本归纳推理准则;
(4)发现新的准则的实际方法(算法)。
(二)SVM原理
SVM方法是20世纪90年代初Vapnik等人根据统计学习理论提出的一种新的机器学习方法,它以结构风险最小化原则为理论基础,通过适当地选择函数子集及该子集中的判别函数,使学习机器的实际风险达到最小,保证了通过有限训练样本得到的小误差分类器,对独立测试集的测试误差仍然较小。
支持向量机的基本思想是:
首先,在线性可分情况下,在原空间寻找两类样本的最优分类超平面。
在线性不可分的情况下,加入了松弛变量进行分析,通过使用非线性映射将低维输入空间的样本映射到高维属性空间使其变为线性情况,从而使得在高维属性空间采用线性算法对样本的非线性进行分析成为可能,并在该特征空间中寻找最优分类超平面。
其次,它通过使用结构风险最小化原理在属性空间构建最优分类超平面,使得分类器得到全局最优,并在整个样本空间的期望风险以某个概率满足一定上界。
其突出的优点表现在:
(1)基于统计学习理论中结构风险最小化原则和VC维理论,具有良好的泛化能力,即由有限的训练样本得到的小的误差能够保证使独立的测试集仍保持小的误差。
(2)支持向量机的求解问题对应的是一个凸优化问题,因此局部最优解一定是全局最优解。
(3)核函数的成功应用,将非线性问题转化为线性问题求解。
(4)分类间隔的最大化,使得支持向量机算法具有较好的鲁棒性。
由于SVM自身的突出优势,因此被越来越多的研究人员作为强有力的学习工具,以解决模式识别、回归估计等领域的难题。
1.最优分类面和广义最优分类面
SVM是从线性可分情况下的最优分类面发展而来的,基本思想可用图1来说明。
对于一维空间中的点,二维空间中的直线,三维空间中的平面,以及高维空间中的超平面,图中实心点和空心点代表两类样本,H为它们之间的分类超平面,H1,H2分别为过各类中离分类面最近的样本且平行于分类面的超平面,它们之间的距离△叫做分类间隔(margin)。
图1最优分类面示意图
所谓最优分类面要求分类面不但能将两类正确分开,而且使分类间隔最大。
将两类正确分开是为了保证训练错误率为0,也就是经验风险最小(为O)。
使分类空隙最大实际上就是使推广性的界中的置信范围最小,从而使真实风险最小。
推广到高维空间,最优分类线就成为最优分类面。
设线性可分样本集为
是类别符号。
d维空间中线性判别函数的一般形式为是类别符号。
d维空间中线性判别函数的一般形式为
,分类线方程为
。
将判别函数进行归一化,使两类所有样本都满足
,也就是使离分类面最近的样本的
,此时分类间隔等于
,因此使间隔最大等价于使
(或
)最小。
要求分类线对所有样本正确分类,就是要求它满足
(1-1)
满足上述条件(1-1),并且使
最小的分类面就叫做最优分类面,过两类样本中离分类面最近的点且平行于最优分类面的超平面H1,H2上的训练样本点就称作支持向量(supportvector),因为它们“支持”了最优分类面。
利用Lagrange优化方法可以把上述最优分类面问题转化为如下这种较简单的对偶问题,
原问题中每个约束条件
,在对偶问题中都对应一个拉格朗日因子
即:
在约束条件,
(1-2a)
(1-2b)
下面寻找
使得下列函数求最大值:
(1-3)
最后的求解结果是:
若
为最优解,则
(1-4)
即最优分类面的权系数向量是训练样本向量的线性组合。
上述结果中,大部分阿法都为0,每个非零的阿法所对应的x都是一个支持向量
这是一个不等式约束下的二次函数极值问题,存在唯一解。
根据kü
hn-Tucker条件,解中将只有一部分(通常是很少一部分)
不为零,这些不为0解所对应的样本就是支持向量。
求解上述问题后得到的最优分类函数是:
(1-5)
根据前面的分析,非支持向量对应的
均为0,因此上式中的求和实际上只对支持向量进行。
是分类阈值,可以由任意一个支持向量通过式(1-1)求得(只有支持向量才满足其中的等号条件),或通过两类中任意一对支持向量取中值求得。
从前面的分析可以看出,最优分类面是在线性可分的前提下讨论的,在线性不可分的情况下,就是某些训练样本不能满足式(1-1)的条件,
常规的做法是允许决策间隔犯一些错误。
于是,我们要根据每个错分例子满足间隔的程度定义其惩罚代价。
为了实现这个目的,我们引入了松弛因子,对应数据点
允许偏离的函数间隔的量(允许xi在未满足间隔需求下的惩罚量)
约束条件就变成了:
(1-6)
同时为了使分错样本数最小。
我们在原来的目标函数后面加上一项,使得这些的总和也要最小。
其中是一个参数,用于控制目标函数中两项(“寻找margin最大的超平面”和“保证数据点偏差量最小”)之间的权重。
注意,其中是需要优化的变量(之一),而是一个事先确定好的常量。
完整地写出来是这个样子:
求解这一优化问题的方法与求解最优分类面时的方法相同,都是转化为一个二次函数极值问题,其结果与可分情况下得到的(1-2)到(1-5)几乎完全相同,但是条件(1-2b)变为:
(1-10)
行文至此,可以做个小结,不准确的说,SVM它本质上即是一个分类方法,用w^T+b定义分类函数,于是求w、b,为寻最大间隔,引出1/2||w||^2,继而引入拉格朗日因子,化为对拉格朗日乘子a的求解(求解过程中会涉及到一系列最优化或凸二次规划等问题),如此,求w.b与求a等价,而a的求解可以用一种快速学习算法SMO,至于核函数,是为处理非线性情况,若直接映射到高维计算恐维度爆炸,故在低维计算,等效高维表现。
2.SVM的非线性映射
对于非线性问题,可以通过非线性交换转化为某个高维空间中的线性问题,在变换空间求最优分类超平面。
这种变换可能比较复杂,因此这种思路在一般情况下不易实现。
但是我们可以看到,在上面对偶问题中,不论是寻优目标函数(1-3)还是分类函数(1-5)都只涉及训练样本之间的内积运算
设有非线性映射
将输入空间的样本映射到高维(可能是无穷维)的特征空间H中,当在特征空间H中构造最优超平面时,训练算法仅使用空间中的点积,即
,而没有单独的
出现。
因此,如果能够找到一个函数K使得
(1-11)
这样在高维空间实际上只需进行内积运算,而这种内积运算是可以用原空间中的函数实现的,我们甚至没有必要知道变换中的形式。
根据泛函的有关理论,只要一种核函数
满足Mercer条件,它就对应某一变换空间中的内积。
因此,在最优超平面中采用适当的内积函数
就可以实现某一非线性变换后的线性分类,而计算复杂度却没有增加。
此时目标函数(1-3)变为:
(1-12)
而相应的分类函数也变为
(1-13)
算法的其他条件不变,这就是SVM。
概括地说SVM就是通过某种事先选择的非线性映射将输入向量映射到一个高维特征空间,在这个特征空间中构造最优分类超平面。
在形式上SVM分类函数类似于一个神经网络,输出是中间节点的线性组合,每个中间节点对应于一个支持向量,如图2所示
图2SVM示意图
其中,输出(决策规则):
,权值
,
为基于s个支持向量
的非线性变换(内积),
为输入向量。
3.核函数
选择满足Mercer条件的不同内积核丞数,就构造了不同的SVM,这样也就形成了不同的算法。
目前研究最多的核函数主要有三类:
(1)多顼式核函数
(1-14)
其中q是多项式的阶次,所得到的是q阶多项式分类器。
(2)径向基函数(RBF)
(1-15)
所得的SVM是一种径向基分类器,它与传统径向基函数方法的基本区别是,这里每一个基函数的中心对应于一个支持向量,它们以及输出权值都是由算法自动确定的。
径向基形式的内积函数类似人的视觉特性,在实际应用中经常用到,但是需要注意的是,选择不同的S参数值,相应的分类面会有很大差别。
(3)S形核函数
(1-16)
这时的SVM算法中包含了一个隐层的多层感知器网络,不但网络的权值、而且网络的隐层结点数也是由算法自动确定的,而不像传统的感知器网络那样由人凭借经验确定。
此外,该算法不存在困扰神经网络的局部极小点的问题。
在上述几种常用的核函数中,最为常用的是多项式核函数和径向基核函数。
除了上面提到的三种核函数外,还有指数径向基核函数、小波核函数等其它一些核函数,应用相对较少。
事实上,需要进行训练的样本集有各式各样,核函数也各有优劣。
B.Bacsens和S.Viaene等人曾利用LS-SVM分类器,采用UCI数据库,对线性核函数、多项式核函数和径向基核函数进行了实验比较,从实验结果来看,对不同的数据库,不同的核函数各有优劣,而径向基核函数在多数数据库上得到略为优良的性能。
优点:
:
学习速度快,正确率高
可以解决高维问题、非线性问题、小样本问题
缺点:
非线性问题无通用解决方案,核函数选择要谨慎
KNN模型
基本思想是:
通过计算文本间的相似度,找出训练集合中与测试文本最相近的K个文本,即新文本的K个近邻,然后根据这K个文本的类别判定新文本的类别。
1.相似度的计算
KNN算法用余弦计算法来计算文本间的相似度。
文本向量x属于类别Cj的权重计算公式如下:
其中,x为新文本的向量,
为类别属性函数,
最后比较权重,并将新文本分到权重最大的类别中去。
核心问题:
(1)相似性计算
(2)近邻个数k的选择,用同一标准评价
(1)无需训练,拿来即用
(1)相似度计算要遍历所有测试集,耗内存大,耗时长
(2)高维诅咒,矩阵稀疏,即使最近的邻居也会相距甚远
(3)模型更新成本高
朴素贝叶斯模型
朴素贝叶斯分类(NavieBayes,NB)基于贝叶斯定理,可以用来预测类成员关系的可能性,给出文本属于某特定类别的概率。
分类时根据预测结果将该样本分到概率最高的类别中。
设d为一任意文本,它属于文档类
中的某一类
贝叶斯定理:
计算所有文本类在给定d情况下的概率,概率值最大的那个类就是文本d所属的类。
类条件独立假设:
假设文本的特征词是相互独立的,这一假定以指数级降低了其复杂性。
其中
Nj表示类别Cj包含的训练文档数,Nij表示在类别cj中特征ti出现的次数,
表示类别ci中所有特征出现的总次数。
M为特征维数
而前面分子加1,分母加m,是laplace平滑。
防止零概率问题的出现。
优缺点:
优势模型简单,训练和分类的高速度,适合处理大的数据量
如果训练数据中个属性值之间并不是相互独立,分类准确率受到很大的影响。
TF-idf表示方法
特征权重的计算方法大都基于两个原则:
一个特征项在某文档中出现的频次越高,其作用越重要;
一个特征项在整个数据集的文档中出现的频次越高,其区分度越差。
即特征值既要能体现目标的特征,又要能将目标与其他文档对象区分开来。
常用的计算特征权重方法是tf-idf权重计算
词频tf:
特征项在文本中出现的频数
逆文档频率idf:
衡量特征词在整个训练样本集中分布的情况,idf=
其中,N为训练样本总数,nk为训练样本集中出现特征项tk的文本数.
其中词频
是特征项tk在文本dj中出现的频数
逆文档频率:
IDF=
,衡量特征词在整个训练样本集中分布的情况
N为训练样本总数,nk为训练样本集中出现特征项tk的文本数.
归一化:
消除文档长度不一致对权重量化标准带来的影响
为了避免特征的权重为0,进行了平滑处理