APP下载

向量机机器学习应用

2018-08-22丁宁贺永会

科学与财富 2018年21期
关键词:机器学习应用

丁宁 贺永会

摘 要:文章首先对机器学习进行简要介绍,然后以支持向量机为重点,分析支持向量机学习的原理及相关算法,并以支持向量机对不同风格的歌曲进行分类为例,探讨支持向量机机器学习的实际应用,旨在为相关人员提供参考与借鉴。

关键词:向量机;机器学习;应用

支持向量机(SVM)是一种基于统计学习理论的新型机器学习方法,其能够对小样本决策具有较好的学习推广性。学习是一切智能系统最根本的特征,机器学习是人工智能最具智能特征、最前沿的研究领域之一,研究支持向量机及其应用具有深刻的现实意义。

1机器学习

在人们对机器智能的研究中,希望能够用机器(计算机)来模拟人的推广能力这种学习能力,这就是人们所说的基于数据的机器学习问题,或者简单地称作机器学习(MachineLearning)问题。一个学习系统一般应该由环境、学习、知识库、执行价四个基本部分组成,如图1所示。

环境向系统的学习部分提供某些信息;学习部分利用这些信息修改知识库,以增强系统执行部分完成任务的效能;执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体应用中,环境、知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述三部分确定。

2支持向量机的机器学习

2.1支持向量机概述

支持向量机(SupportVectorMachine,SVM)是CorinnaCortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。

在机器学习中,支持向量机(SVM,还支持矢量网络)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。

简单点讲,SVM就是个分类器,它用于回归的时候称为SVR(SupportVectorRegression),SVM和SVR本质上都一样。SVM分类如图2所示。

图2中,边界上的点就是支持向量,这些点很关键,这也是“支持向量机”命名的由来。

SVM的目的是寻找到一个超平面使样本分成两类,并且间隔最大。而求得的w就代表着人们需要寻找的超平面的系数。

用数学语言描述:

这就是SVM的基本型。

2.2支持向量机相关算法

一,SMO。SMO(SequentialMinimalOptimization),针对SVM对偶问题本身的特性研究出的算法,能有效地提高计算的效率。SMO的思想也很简单:固定欲求的参数之外的所有参数,然后求出欲求的参数。

例如,以下是最终求得的分类函数,也就是SVM的目标:

SMO算法每次迭代只选出两个分量ai和aj进行调整,其它分量则保持固定不变,在得到解ai和aj之后,再用ai和aj改进其它分量。

固定其他参数后,仅优化两个参数,比起之前优化多个参数的情况,确实高效了。然而,与通常的分解算法比较,它可能需要更多的迭代次数。不过每次迭代的计算量比较小,所以该算法表现出较好的快速收敛性,且不需要存储核矩阵,也没有矩阵运算。

二次规划。二次规划的问题主要用于求最优化的问题,从SVM的求解公式也很容易看出来,的确要求最优解。

在限制条件为Ax≦b的条件下,找一个n维的向量x,使得f(x)=(1/2)xTQx+cTx为最小。

其中,c为n维的向量,Q为n×n维的对称矩阵,A为m×n维的矩阵,b为m维的向量。

其中,根据优化理论,如果要到达最优的话,就要符合KKT条件(Karush-Kuhn-Tucker)。

三,KKT。KKT是在满足一些有规则的条件下,一个非线性规则问题能有最优解的一个充分必要条件。也就是说,只要约束条件按照这个KKT给出的规则列出,然后符合KKT条件的,就可以有最优解,这是一个广义化拉格朗日乘数的成果。

把所有的不等式约束、等式约束和目标函数全部写为一个式子:

L(a,b,x)=f(x)+a*g(x)+b*h(x)

KKT条件是说最优值必须满足以下三个条件L(a,b,x)对x求导为零、h(x)=0、a*g(x)=0。

3支持向量机机器学习的实际应用

文章利用Pythonsklearn库中的SVM模块对不同风格的歌曲进行分类,探析支持向量机的实际应用。

首先导入后面需要用到的库和函数,对歌词进行预处理,使用jieba库进行分词,并将类别标签保存在label列表。

构建SVM训练模型,选择参数gamma=0.001,C为100,核函数默认为rbf核函数,将训练集样本输入模型进行拟合后,再使用该模型对测试集进行预测,通过比较预测结果和实际结果,发现精确率、召回率和f1-score的值都比较低。接下来改变核函数,使用线性核linear试试,得到的模型的精确率为0.875,召回率为0.955,f1-score为0.913,如图3所示。

由图3可知,使用线性核函数后模型能够得到较高的精度。

结语

总而言之,支持向量机(SVM)这种基于统计学习理论的新型机器学习方法,能够深度挖掘隐藏信息,解决了神经网络等无法避免的局部极值问题,因此,相关人员应加强对支持向量机的研究,扩大支持向量机的应用范围,促使其更好地为社会服务。

参考文献:

[1]余明华,冯翔,祝智庭.人工智能視域下机器学习的教育应用与创新探索[J].远程教育杂志,2017,35(03):11-21.

基金项目:山东英才学院科研项目17YCZDXS04;山东省高等学校科研计划项目J16LN55

猜你喜欢

机器学习应用
基于词典与机器学习的中文微博情感分析
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
多媒体技术在小学语文教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
气体分离提纯应用变压吸附技术的分析
会计与统计的比较研究
机器学习理论在高中自主学习中的应用