收藏 分享(赏)

支持向量机(第十章).ppt

上传人:kuailexingkong 文档编号:1703535 上传时间:2018-08-19 格式:PPT 页数:50 大小:3.76MB
下载 相关 举报
支持向量机(第十章).ppt_第1页
第1页 / 共50页
支持向量机(第十章).ppt_第2页
第2页 / 共50页
支持向量机(第十章).ppt_第3页
第3页 / 共50页
支持向量机(第十章).ppt_第4页
第4页 / 共50页
支持向量机(第十章).ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、支持向量机 ( support vector machine,SVM),第十章,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),How would you classify this data?,线性分类器,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),How would you classify this data?,线性分类器,线性分类器,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),How would you classify this data?,线性分类器,f,x,y,+1 -1,f(x,w,b)

2、 = sign(w. x - b),How would you classify this data?,线性分类器,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),Any of these would be finebut which is best?,线性分类器,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),线性分类器的间隔( margin):到超平面最近的样本与此超平面之间的距离。,最大间隔,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),具有最大间隔的线性分类器叫做最大间隔线性分类器。其就是一种最简单的

3、支持向量机(SVM) (称为线性支持向量机,即LSVM),线性支持向量机,f,x,y,+1 -1,f(x,w,b) = sign(w. x - b),支持向量(Support Vectors) :是那些距离超平面最近的点。,具有最大间隔的线性分类器叫做最大间隔线性分类器。其就是一种最简单的支持向量机(SVM) (称为线性支持向量机,即LSVM),线性支持向量机,最大间隔,Why 最大间隔?,+1 -1,f(x,w,b) = sign(w. x - b),支持向量(Support Vectors) :是那些距离超平面最近的点。,具有最大间隔的线性分类器叫做最大间隔线性分类器。其就是一种最简单的支

4、持向量机(SVM) (称为线性支持向量机,即LSVM),线性支持向量机,SVM的理论基础 线性判别函数和判别面 最优分类面 支持向量机 SVM的研究与应用,Outline,传统的统计模式识别方法只有在样本趋向无穷大时,其性能才有理论的保证。统计学习理论(STL)研究有限样本情况下的机器学习问题。SVM的理论基础就是统计学习理论。 传统的统计模式识别方法在进行机器学习时,强调经验风险最小化。而单纯的经验风险最小化会产生“过学习问题”,其推广能力较差。 推广能力是指: 将学习机器(即预测函数,或称学习函数、学习模型)对未来输出进行正确预测的能力。,SVM的理论基础,“过学习问题”:某些情况下,当训

5、练误差过小反而会导致推广能力的下降。 例如:对一组训练样本(x,y),x分布在实数范围内,y取值在0,1之间。无论这些样本是由什么模型产生的,我们总可以用y=sin(w*x)去拟合,使得训练误差为0.,过学习问题,根据统计学习理论,学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小误差,没有最小化置信范围值,因此其推广能力较差。 Vapnik 提出的支持向量机(Support Vector Machine, SVM)以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,即SVM是一种基于结构风险最小化准则的学习方法

6、,其推广能力明显优于一些传统的学习方法。 形成时期在19921995年。,SVM,由于SVM 的求解最后转化成二次规划问题的求解,因此SVM 的解是全局唯一的最优解SVM在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中Joachims 最近采用SVM在Reuters-21578来进行文本分类,并声称它比当前发表的其他方法都好,SVM,SVM的理论基础 线性判别函数和判别面 最优分类面 支持向量机 SVM的研究与应用,Outline,一个线性判别函数(discriminant function)是指由x的各个分量的线性组合而成的函数 两类

7、情况:对于两类问题的决策规则为如果g(x)0,则判定x属于C1, 如果g(x)0,则判定x属于C2, 如果g(x)=0,则可以将x任意分到某一类或者拒绝判定。,线性判别函数和判别面,下图表示一个简单的线性分类器,具有d个输入的单元,每个对应一个输入向量在各维上的分量值。该图类似于一个神经元。,线性判别函数,方程g(x)=0定义了一个判定面,它把归类于C1的点与归类于C2的点分开来。 当g(x)是线性函数时,这个平面被称为“超平面”(hyperplane)。 当x1和x2都在判定面上时,这表明w和超平面上任意向量正交, 并称w为超平面的法向量。 注意到:x1-x2表示 超平面上的一个向量,超平面

8、,从下图容易看出,判别函数g(x)是特征空间中某点x到超平面的距离的一种代数度量,上式也可以表示为: r= g(x)/|w|。当x=0时,表示原点到超平面的距离,r0= g(0)/|w|=w0/|w|,标示在上图中。,总之: 线性判别函数利用一个超平面把特征空间分隔成两个区域。 超平面的方向由法向量w确定,它的位置由阈值w0确定。 判别函数g(x)正比于x点到超平面的代数距离(带正负号)。当x点在超平面的正侧时,g(x)0;当x点在超平面的负侧时,g(x)0,利用线性判别函数设计多类分类器有多种方法。例如可以把k类问题转化为k个两类问题,其中第i 个问题是用线性判别函数把属于Ci类与不属于Ci

9、类的点分开。更复杂一点的方法是用k(k-1)/2个线性判别函数,把样本分为k个类别,每个线性判别函数只对其中的两个类别分类。,多类的情况,在一维空间中,没有任何一个线性函数能解决下述划分问题(黑红各代表一类数据),可见线性判别函数有一定的局限性。,广义线性判别函数,如果建立一个二次判别函数g(x)=(x-a)(x-b),则可以很好的解决上述分类问题。 决策规则仍是:如果g(x)0,则判定x属于C1,如果g(x)0,则判定x属于C2,如果g(x)=0,则可以将x任意分到某一类或者拒绝判定。,广义线性判别函数,广义线性判别函数,广义线性判别函数,设计线性分类器,如:Fisher线性判别方法,主要解

10、决把d维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维。 然而在d维空间分得很好的样本投影到一维空间后,可能混到一起而无法分割。 但一般情况下总可以找到某个方向,使得在该方向的直线上,样本的投影能分开的最好。 目的是降维,在低维空间中分割,Fisher线性判别方法,SVM的理论基础 线性判别函数和判别面 最优分类面 支持向量机 SVM的研究与应用,Outline,SVM 是从线性可分情况下的最优分类面发展而来的, 基本思想可用图2的两维情况说明.,最优分类面,图中, 方形点和圆形点代表两类样本, H 为分类线,H1, H2分别为过各类中离分类线最近的样本且平行于分类线的直线, 它

11、们之间的距离叫做分类间隔(margin)。所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为0),而且使分类间隔最大.推广到高维空间,最优分类线就变为最优分类面。,最优分类面,如何求最优分类面,最优分类面,SVM的理论基础 线性判别函数和判别面 最优分类面 支持向量机 SVM的研究与应用,Outline,上节所得到的最优分类函数为:该式只包含待分类样本与训练样本中的支持向量的内积运算,可见,要解决一个特征空间中的最优线性分类问题,我们只需要知道这个空间中的内积运算即可。对非线性问题,可以通过非线性变换转化为某个高维空间中的线性问题,在变换空间求最优分类面.这种变换可能比较复杂,因此

12、这种思路在一般情况下不易实现.,支持向量机,支持向量机,核函数的选择, 非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射; 对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心; 支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理 ”(transductive inference) ,大大简化了通常的分类和回归等问题

13、。,SVM方法的特点,SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在: 增、删非支持向量样本对模型没有影响; 支持向量样本集具有一定的鲁棒性; 有些成功的应用中,SVM 方法对核的选取不敏感。,SVM方法的特点,SVM的理论基础 线性判别函数和判别面 最优分类面 支持向量机 SVM的研究与应用,Outline,近年来SVM 方法已经在图像识别、

14、信号处理和基因图谱识别等方面得到了成功的应用,显示了它的优势。 SVM 通过核函数实现到高维空间的非线性映射,所以适合于解决本质上非线性的分类、回归和密度函数估计等问题。 支持向量方法也为样本分析、因子筛选、信息压缩、知识挖掘和数据修复等提供了新工具。,SVM 应用,对支持向量机的研究主要集中在对SVM本身性质的研究以及加大支持向量机应用研究的深度和广度两方面。SVM训练算法 传统的利用标准二次型优化技术解决对偶问题的方法,是SVM训练算法慢及受到训练样本集规模制约的主要原因。 目前已提出了许多解决方法和改进算法,主要是从如何处理大规模样本集的训练问题、提高训练算法收敛速度等方面改进。 主要有

15、:分解方法、修改优化问题法、增量学习法、几何方法等分别讨论。,支持向量机的研究,SVM分类算法 训练好SVM分类器后,得到的支持向量被用来构成决策分类面。对于大规模样本集问题,SVM训练得到的支持向量数目很大,则进行分类决策时的计算代价就是一个值得考虑的问题。 解决方法如:缩减集(Reduced Set) SVM方法,采用缩减集代替支持向量集,缩减集中的向量不是支持向量,数目比支持向量少,但它们在分类决策函数中的形式与支持向量相同。,SVM分类算法,SVM本质上是两类分类器. 常用的SVM多值分类器构造方法有:,多类SVM算法,SVM package,训练函数:svm=svmtrain(Tra

16、ining, Group) Training表示训练集 Group表示训练集中的分类标号 Svm变量输出支持向量机的训练结果测试函数:svmclassify(svm,Test) Svm变量的是上面函数的输出 Test表示测试集另外:可选择适当的核函数和图形界面显示方法,Matlab 提供的 SVM 工具箱,load fisheriris 课本中的iris数据集 其中包括两个变量meas和speciesX = meas(:,1), meas(:,2); 取iris数据集的前两个属性groups = ismember(species,setosa); Iris数据集中包含三个类别的植物 在此分为s

17、etosa类别和非setosa类别,Matlab 的例子,采用线性核函数 svm=svmtrain(X,groups,showplot,true,Kernel_Function,linear),Matlab 的例子,采用径向基核函数 svm=svmtrain(X,groups,showplot,true,Kernel_Function, rbf ),Matlab 的例子,作业 Iris数据集中包含三类植物的数据setosa、versicolor、 virginica 分别将其变为3个二分类问题,即setosa类和非setosa类、 versicolor类和非versicolor类、 virginica类和非virginica类 核函数分别采用linear和rbf两种形式 以上共有6种组合,程序代码与示例中相同 将程序运行的代码和结果图打印 与下次作业一起交,Matlab 的例子,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报