雷湘琦
摘要:本文使用的支持向量机以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,即SVM是一种基于结构风险最小化准则的学习方法,其推广能力优于其他的一些机器学习方法。现今运用的都是一些比较经典的算法,如传统的决策树算法等,同时这些算法也是学习数据挖掘算法的根基。文中主要列举相关算法并应用相应的实例加以佐证,指出其中的不足和需要改进的地方。
关键词:支持向量机;鸢尾花数据
引言
支持向量机(Support Vector Machine,SVM)SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别问题中有得到应用。它是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面。SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法进行非线性分类,是常见的核学习方法之一。
1 基本原理
标准SVM是基于二元分类问题设计的算法,无法直接处理多分类问题。利用标准SVM的计算流程有序地构建多个决策边界以实现样本的多分类,通常的实现为“一对多”和“一对一”。一对多SVM对m个分类建立m个决策边界,每个决策边界判定一个分类对其余所有分类的归属;一对一SVM是一种投票法,其计算流程是对m个分类中的任意2个建立决策边界,样本的类别按其对所有决策边界的判别结果中得分最高的类别选取。一对多SVM通过对标准SVM的优化问题进行修改可以实现一次迭代计算所有决策边界
传統的统计模式识别方式只有在样本趋向无穷大的时候,其性能才有理论的保证。统计学习理论研究有限样本情况下的机器学习问题。SVM的理论基础就是统计学习理论。
根据统计学习理论,学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小误差,没有最小化置信范围值,因此其推广能力较差。
1.1 寻找最佳超平面
SVM的主要目标是找到最佳超平面,以便在不同类的数据点之间进行正确分类。超平面维度等于输入特征的数量减去1(例如,当使用三个特征时,超平面将是二维平面)。
为了分离两类数据点,可以选择许多可能的超平面。我们的目标是找到一个具有最大边距的平面,即两个类的数据点之间的最大距离。最大化边距的目的是最大概率的对未知的数据点进行正确分类。
1.2超平面和支持向量
超平面是决策边界,有助于对数据点进行分类。落在超平面两侧的数据点可归因于不同的类。此外,超平面的尺寸取决于特征的数量。如果输入要素的数量是2,则超平面只是一条线。如果输入要素的数量是3,则超平面变为二维平面。当特征数量超过3时,就超出我们的想象了。
最接近超平面的数据点称为支持向量。支持向量确定超平面的方向和位置,以便最大化分类器边界(以及分类分数)。SVM算法应该使用的支持向量的数量可以根据应用任意选择。
1.3 SVM内核
如果我们使用的数据不是线性可分的(因此导致线性SVM分类结果不佳),则可以应用称为Kernel Trick的技术。此方法能够将非线性可分离数据映射到更高维空间,使我们的数据可线性分离。使用这个新的维度空间SVM可以很容易地实现。
SVM中有许多不同类型的内核可用于创建这种更高维度的空间,例如线性,多项式,Sigmoid和径向基函数(RBF)。在Scikit-Learn中,可以通过添加内核参数来指定内核函数svm.SVC,也可以通过gamma参数来指定内核对模型的影响。如果特征数量大于数据集中的样本数量,则建议使用线性内核(否则RBF可能是更好的选择)。
1.4 特征选择
减少机器学习中的功能数量起着非常重要的作用,尤其是在处理大型数据集时。实际上,这可以:加速训练,避免过度拟合,并最终通过降低数据噪音来获得更好的分类结果。例如下图中显示了在Pima Indians糖尿病数据库中使用SVM识别的主要特征。在绿色中显示对应于负系数的所有特征,而蓝色显示为正系数。
1.5 支持向量机的算法
比较经典的如1)Vapnik提出的Chunking方法;其出发点是删除矩阵中对应Lagrange乘数为零的行和列将不会影响最终结果,然而,在训练集的支持向量数很大的时候,Chunking算法仍然无法将矩阵放入内存中;2)Qsuna提出的Qsuna算法;该算法存在效率问题,因为在每一步中,进行一次QP问题的最优化只能使一个样本符合Kuhn-Tucker条件;3)Plat提出的序贯最小优化方法(sequential minimal optimization,简称SMO);将一个大型的QP问题分解为一系列最小规模的QP子问题,即仅具有两个Lagrange乘数的QP问题,从而使得原问题可以通过分析的方法加以解决,避免了在内循环中使用数值算法进行QP最优化。该算法在训练线性SVM时,可以获得非常好的性能。
2 数据选择
Iris 鸢尾花数据集是一个经典数据集。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于中的哪一品种。
3利用Support_Vector_Machines对Iris data进行分类
利用SVM对Iris data进行二分类后的到结果:
SVM是一种有坚实理论基础的新颖的适用小样本学习方法。它基本上不涉及概率测度及大数定律等,也简化了通常的分类和回归等问题。计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。因此可以利用已知的有效算法发现目标函数的全局最小值,有优秀的泛化能力。
参考文献:
[1]程一芳.数据挖掘中的数据分类算法综述[J].数字通信世界,2021(02):136-137+140.
[2]韩成成,增思涛,林强,曹永春,满正行.基于决策树的流数据分类算法综述[J].西北民族大学学报(自然科学版),2020,41(02):20-30.
[3]李建新. 基于小波支持向量机的边坡变形预测研究[D].江西理工大学,2020.
[4]姚奇峰,杨连贺.数据挖掘经典分类聚类算法的研究综述[J].现代信息科技,2019,3(24):86-88.
[5]李璐. 基于机器学习的滑坡地质灾害预报模型研究[D].西安工程大学,2019.
[6]郭天颂. 基于粒子群优化支持向量机的滑坡易发性评价与滑坡位移预测[D].长安大学,2019.