120 likes | 283 Views
支持向量机. 报告人 : 李春雷. 引言. 传统模式识别方法都是在样本足够多的前提下进行的,只有样本数趋近无穷大时才有理论上的保证。而现实中样本数目都是可数的,基于现实情况考虑,人们研究了统计学习理论,是一门专门的小样本统计理论。 Vapnik 等人在多年研究统计学习理论的基础上,提出一种新的模式识别方法 -SVM 。该方法有两个重要特点: 1. 最大错误率不依赖于空间的维数; 2. 错误率可以通过增大分类边界来减少。. SVM 思路. 最优分类面
E N D
支持向量机 报告人:李春雷
引言 • 传统模式识别方法都是在样本足够多的前提下进行的,只有样本数趋近无穷大时才有理论上的保证。而现实中样本数目都是可数的,基于现实情况考虑,人们研究了统计学习理论,是一门专门的小样本统计理论。Vapnik等人在多年研究统计学习理论的基础上,提出一种新的模式识别方法-SVM。该方法有两个重要特点: • 1. 最大错误率不依赖于空间的维数; • 2. 错误率可以通过增大分类边界来减少。
SVM思路 • 最优分类面 • SVM训练过程,找出一个决策方程来判断N维向量X属于两类中的A或者B. 算法输入为训练样本集{ xi, yi } , 其中yi属于{-1,+1}表示其类别。 (1) • 在训练过程中,通过训练样本决定决策方程D(X)的参数,其中决策方程为: (2)
SVM思路 并且令(3) • 图1:最优分类面示意图
SVM思路 对于H1 ,H2对平面上的点,方程3取等号。显然H1平面到坐标原点的距离为 , 而H2则为 ,故两平面的间隔为 ,即与 成反比。因此要达到Vapnik提出分界面间隔最大的原则,应使 最小。 为此,可以定义如下的Lagrange函数: (4) 通过对w,b分别求偏导,可以得到 (5)
SVM思路 将(5)代入(4)中,得到方程(6),根据Wolf 对偶原理,则求解(6)式的最大值即是求方程(4) ai的极小值。 (6) 其约束条件为: (7)
SVM思路 在matlab中,可以使用函数quadprog()解方程(6),可以求出满足条件的向量a. 如果ai的值大于0,则对映相应的支撑向量。 则 (8) b*是分类的值域,可以由任意一个支持向量用式求得(因为支持向量满足其中的等式),或通过两类中任意一对支持向量取中值求得。采用后者可得: (9)
SVM思路 求解出相应的参数后,可得决策方程: (10) • 改进分类面 最优分类面是在线性可分的前提下讨论的,在线性不可分的情况下,增加一个松弛项,广义最优分类面问题可以进一步演化为求下列函数的极小值: (11)
SVM思路 用求解最优分类面时同样的方法求解这一优化问题,同样得到一个二次极值问题,只是ai条件变为: 我们通过上式可以看到最终的决策方程,只包含待分类样本与训练样本的支持向量的内积运算( ).在处理非线形问题的时候,按照广义线形积分的思路,可以将它通过非线形变换转化为另一个空间中的线形问题,在这个变换空间中,我们只需进行内积运算。事实上,我们只要定义变换后的内积运算,而不必真的进行这种变换,根据Hilbert-Schmidt 定理,可以使用对称函数K(x,x’)来代替最优分界面中的点积。
SVM思路 相应的判别式变为 (12) 上式即所谓的支持向量机。常用的内积函数有如下三种: 1.多项式内积函数 (13) 2.径向基内积函数 (14) 3. S内积函数 (15)
优化SVM • 缩放数据 • 将代表样本的特征数据线形缩放到[-1,+1]或[0,1],有以下优点:回避那些特大的特征数据将掩盖较小数据情形;另外可以避开计算上的复杂性。 • 交互检验 • 在使用内积函数时,有需要设定的未知参数。但是事先不知道什么样的数据是最优的。所以,常用的方法就是将训练数据分为两部分,其中一部分认为未知的。用这部分作为测试,可以更好的反映参数选择的好坏。 • 实际上,将训练集划分为V个大小相等的子集。先对V-1个数据进行训练,用剩下的进行测试,来回交互检验V次,使每个子集都进行了一次测试,这样交互检验的精度为正确划分数据的比例。