最优化理论与支持向量机
- 格式:doc
- 大小:412.00 KB
- 文档页数:9
第31卷第3期吉首大学学报(自然科学版)Vol.31No .32010年5月Journ al of Ji shou Universit y (Nat ural Science Edit ion)May 2010文章编号:10072985(2010)03003904支持向量机下机器学习模型的分析*李海1,李春来1,侯德艳2(1.吉首大学数学与计算机科学学院,湖南吉首416000;2.湘西民族职业技术学院,湖南吉首416000)摘要:首先概述了支持向量机的发展与应用,指出其在机器学习领域有较大的发展前景.分析了支持向量机的基本算法,进而阐述了基于支持向量机的机器学习模型构造思路.给出了其应用于机器学习模型的核函数和训练算法,最后给出了学习模型的具体分类效果.关键词:机器学习;人工智能;支持向量机;模式识别中图分类号:T P391.6文献标志码:A学术界普遍认为支持向量机算法是继神经网络之后的一个新的研究方向.该项研究属于机器学习、模式识别和人工神经网络等多个学科,由于它与这些学科现有的理论和方法相比,有明显的优越性,因此有重大的潜在应用价值.支持向量机是根据结构风险最小化原则,尽量提高学习机的泛化能力,即由有限的训练样本得到的小的误差能够保证对独立的测试集仍保持小的误差.支持向量机算法是一个凸优化问题,因此局部最优解一定是全局最优解.这些特点是其他学习算法,如人工神经网络学习算法所不及的.虽然支持向量机发展时间很短,但是由于它的产生是基于统计学习理论的,因此具有坚实的理论基础.近几年涌现出的大量理论研究成果,更为其应用研究奠定了坚实基础.1支持向量机的学习理论1.1支持向量机的基本算法图1多种分类超平面示意图如图1所示,在线性可分的情况下,可以有多种选择去分类训练数据,但明显最黑的实线所代表的超平面具有更强的泛化性能,因此其分类效果更好.传统的分类方法会随机产生一个超平面并不断移动它,最终停留在使其分类错误率最小的位置上.如图1中的虚实线,这种处理方式造成的问题是训练样本可能会非常接近分类超平面,从而使得分类的推广性不强.Vapnik 提出的支持矢量机方法为了解决这一问题,引入了分类间隔(margin)的概念,从而使结构风险最小化问题变成了寻找一个既能满足分类精度要求,又有最大分类间隔的最优分类超平面.前*收稿日期:20100503基金项目湖南省教育厅重点项目(D );吉首大学校级课题资助(D )作者简介李海(),男,湖南益阳人,吉首大学数学与计算机科学学院实验师,主要从事计算机人工智能与算法研究:09J 02409J 024:1974.者能保证经验风险最小,而分类间隔最大则是为了使推广性的界的置信范围最小,从而使结构风险达到最小.[12]m 个训练样本(x 1,y 1),(x 2,y 2),,(x m ,y m )要求一个分类超平面,关键是求系数w 和b 由于支持向量机理论要求分离超平面具有良好的性质,即离超平面具有分类误差小、推广能力强的特点,这样分类超平面必须满足如下最优分类超平面的条件:y i [(w x i )+b ]!1i =1,2,,m,min w(w)=w 2.为了找到最优分类超平面,根据最优化理论,借助Lagrange 函数将原问题转化成求解标准型二次规划问题:max W()=#m i=1i -12#m i,j=1i j y i y j K (x i ,x j )s.t.#m i =1i y i =0,i !0i =1,2,,m.求最优超平面的关键在于求出i >0的以及b 0=12(K (w 0,x(1))+K(w 0,x(-1))).最优分类超平面为f (x)=sign{#i >0i y i K (x i ,x)-b 0}.通常i >0对应的样本点为支持向量.1.2支持向量机的机器学习基于数据的机器学习理论主要研究如何从一些观测数据中得出目前尚不能通过原理分析得到的规律,利用这些规律去分析客观对象,对未来数据或无法观测的数据进行预测.它的主要目的是根据给定的训练样本求出对某系统输入输出之间依赖关系的估计,使它能够对未知输出作出尽可能准确的模拟和预测.设未知系统的输入输出数据集为{(x 1,y 1),(x 2,y 2),,(x n ,y n )},且x 和y 之间通过系统存在某种依赖关系,即遵循某一联合概率P (x,y).机器学习问题就是根据n 个独立同分布的数据样本,在一组函数{f (x ,w)}中求一个最优的函数f (x,w 0)来对y 与x 之间的依赖关系进行估计,并使预测的期望风险最小:R e xp (w)=L(y,f (x,w))dP (x,y).2向量机下机器学习模型的思路图2二类SVM 分类问题及解决思路支持向量机SVM 算法主要的目标是找到一个超平面,使得它能够尽可能多地将2类数据集正确的分开,同时使分开的2类数据点距离分类面最远.针对训练样本集为线性、非线性2种情况分别讨论,并且将非线性分类问题转化为线性分类问题加以解决.图2给出了二类SVM 分类问题及解决思路的框图.已知n 个训练样本(x 1,y 1),(x 2,y 2),,(x n ,y n ),由数据样本向量x i %R n 和相应的数据样本的类别y i %Y(1,,c)组成.实现线性分类器就是要实现如下功能:训练出二元分类器(c =2的情况)的分类超平面,训练出最优化超平面.要实现零出错率的二元分类器(c =2的情况)就是要找到超平面f (x)=(!x )+b=0,这个超平面能够分离出2类数据集,第1类y =1,第2类y = 2.这个问题可以描述为(!x)+!,y =,(!x)+<,y =,(),其中!%R 是一个向量,%R 是一个标量如果能找到()式的解,那么这个训练数据集是线性可分的40吉首大学学报(自然科学版)第31卷b 01b 021n b .1.通过使用核函数,允许对非线性可分的数据集使用在线性特征空间中提取的方法.在非线性可分的情况下将向量x %R n 映射到一个高维的特征空间F 中,在这个高维特征空间中,线性的方法仍然能够使用.一个非线性数据映射可以定义为z =A T k(x)+b ,其中A(l &m)是一个矩阵参数,b %R m 是一个向量参数,向量k(x)=(k(x,x 1),,k(x,x l ))T 是核函数向量数据的核心,或者说是一个子集x %R n 是一个输入向量,z %R n 是经过映射的向量,是通过映射(x)将向量从特征空间F 映射为m 空间中的向量.[3]3支持向量机的核函数支持向量机的一个引人注目的特点是用满足Mer cer 条件的核函数代替向量间的内积运算来实现非线性变换,而不需要非线性的具体形式.研究人员根据这一思想改造经典的线性算法并构造出对应的基于核函数的非线性形式.支持向量机模型最重要的一个参数就是核函数.选择什么样的核函数,就意味着将训练样本映射到什么样的空间去进行线性划分.支持向量机算法的技巧在于不直接计算复杂的非线性变换,而是计算非线性变换的点积,即核函数,从而大大简化了计算.通过将核函数引入到一些学习算法,可以方便地将线性算法转换为非线性算法,笔者将其与支持向量机一起称为基于核函数的方法.在高维特征空间实际上只需要进行点积运算,可以用原空间中的函数实现得到,甚至没有必要知道变换的形式.根据泛函的有关理论,只要一种核函数K (x,x i )满足Mercer 条件,它就对应某一变换空间中的点积.因此,在最优分类面中采用适当的点积函数K (x,x i )就可以实现某一非线性变换后的线性分类,而计算复杂度却没有增加.张铃证明了核函数存在性定理,并提出了寻找核函数的算法.核函数存在性定理表明:给定1个训练样本集,就一定存在1个相应的函数,训练样本通过该函数映射到高维特征空间的相是线性可分的.[4]张铃进一步研究了支持向量机的支持向量集与核函数的关系,研究表明对非线性可分的情况,对一个特定的核函数,给定的样本集中的任意一个样本都可能成为一个支持向量.这意味着在1个支持向量机下观察到的特征在其他支持向量机下(其他核函数)并不能保持.因此,对解决具体问题来说,选择合适的核函数是很重要的.SVM 由训练样本集和核函数完全描述,因此采用不同的核函数就可以构造实现输入空间中不同类型的非线性决策面的学习机,导致不同的支持向量算法.文中主要应用到线性内核K (x i ,x j )=x i x j .4支持向量机的训练算法这里应用二类分类问题的支持向量机的训练算法序列最小优化(SMO)算法.SMO 方法是一种简单的算法,它能快速地解SVM 的二次规划问题.按照Osuna 的理论,在保证收敛的情况下,将SVM 的二次规划问题分解成一系列子问题来解决.和其他算法相比,SMO 方法在每一步选择一个最小的优化问题来解,对标准的SVM 优化问题来说,最小的优化问题就是只有2个拉格朗日乘子的优化问题.在每一步,SMO 方法选择2个拉格朗日乘子进行优化,然后更新SVM 以反映新的优化值.SMO 方法的优点在于,优化问题只有2个拉格朗日乘子,它用分析的方法即可解出,从而完全避免了复杂的数值解法;另外,它根本不需要巨大的矩阵存储,这样,即使是很大的SVM 学习问题,也可在PC 机上实现.SMO 方法包括2个步骤:一是用分析的方法解一个简单的优化问题,二是选择待优化的拉格朗日乘子的策略.SMO 解出只有2个乘子的问题后,在每一步更新拉格朗日乘子.为了加快收敛,SMO 用如下的策略选择拉格朗日乘子:对2个拉格朗日乘子分别采用不同的策略,第1个乘子的选择,在SMO 算法中通过外层的一个循环实现.外层循环在整个训练集上搜索,决定是否每一个样本都满足KKT 条件,如果有1个不满足KKT 条件,那么它就被选择进行优化.训练集中的样本都满足上述条件后,再检查训练集中的所有位于边界的样本来进行第个乘子的选择,SMO 选择是使目标函数值最小的乘子作为第个乘子进行优化如果这种方法失败,那么SMO 在所有的非边界样本上进行搜索,寻找能使目标函数值最小的乘子;若这种方法也失败,则在整个训练集上搜索,寻找使目标函数值最小的乘子41第3期李海,等:支持向量机下机器学习模型的分析22..5支持向量机的机器学习模型的实现装载数据后显示如图3所示.数据集线性可分的情况下,使用SMO 算法的分类结果如图4所示.图3支持向量机机器学习模型图4SMO 训练算法和线性核函数的分类6结语支持向量机是基于统计学习理论的新一代学习机器,具有很多吸引人的特点,它在函数表达能力、推广能力和学习效率上都要优于传统的人工神经网络,在实际应用中也解决了许多问题.鉴于支持向量机扎实的理论基础,并且和传统的降维方法相反,SVM 通过提高数据的维度将非线性分类问题转换成线性分类问题,较好地解决了传统算法中训练集误差最小而测试集误差仍较大的问题,算法的效率和精度都比较高.所以近年来该方法成为构造数据挖掘分类器的一项新型技术,在分类和回归模型中得到了很好的应用.参考文献:[1]VAPNIK V N.The Nat ur e of Statistical Lear ning [M].Ber lin:Spr inger,1995.[2]VAPNIK V N.Statistical Lear ning Theor y [M].New Nor k:John Wiley&Son,1998.[3]谭东宁,谭东汉.小样本机器学习理论:统计学习理论[J].南京理工大学学报:自然科学,2001(1):108112.[4]张学工.关于统计学习理论与支持向量机[J].自动化学报,2000(1):3646.Analysis of Machine Learning Model Based on S upport Vector MachineLI H ai 1,LI Chun lai 1,H OU De yan 2(1.College of Mathematics and Computer Science,Jishou Univer sity,Jishou 416000,Hunan China;2.XiangxiVocational and Technical College for Nationalities,Jishou 416000,H unan China)Abstr act:The development of suppor t vector machines (SVM)is firstly summarized.Its application in machine learning has great pr ospects.T he basic SVM algorithm is analyzed,and the ideas of constructing machine learning based on SVM are presented.The kernel function and tr aining algor ithm of applying SVM in the machine learning model are put stly,the classifying effect of the learning model is shown.Key words:machine learning;artificial intelligence;support vector machine;pattern recognition(责任编辑向阳洁)42吉首大学学报(自然科学版)第31卷。
基于二阶段法的新型凸壳支持向量机研究[摘要]支持向量机由于引入了核函数,将线性划分推广到非线性划分问题,而且有效地克服了“维数灾难”,使得支持向量机成为了机器学习领域研究的热点。
但其执行效率低也是普遍存在的问题。
本文引入凸壳理论并运用二阶段法对凸壳进行必要的改进,从而提升支持向量机的执行效率。
[关键词]凸壳二阶段法支持向量机[中图分类号]th17 [文献标识码]a [文章编号]1009-5349(2012)11-0071-01引言支持向量机基于统计学习理论,最优化理论以及核函数等理论,将输入空间中的样本通过核函数映射到更高维的特征空间,在此特征空间求解出一个最优超平面对其进行类别划分。
其对核函数的引进不仅可以将支持向量机由线性划分推广到非线性划分问题,而且有效地克服了“维数灾难”。
由于以上优点,使得支持向量机成为了机器学习领域研究的热点。
但是支持向量机执行效率低也是普遍存在的问题,将其引入到服务器性能分析中来需要必要的改进。
本文提出的一种基于二阶段法的凸壳算法正是在此背景下提出的一种快速算法。
先将输入空间中的样本点通过核函数映射求出其凸壳,然后将凸壳通过支持向量机进行分类,从而达到减少输入样本点的目的,进而提高支持向量机的执行效率。
实验结果表明,新算法是有效可行的。
一、支持向量机理论支持向量机是模式识别中一种较新的方法,其核心理论是,对于输入训练样本点,分类超平面方程为,求解最优超平面的问题可化为如下二次规划问题:可通过引入核函数的办法将其转化为高维特征空间的线性划分问题,由此可得非线性支持向量机的对偶问题为由此,只要求出此问题的解,即可得到最优分类超平面。
由于训练样本点中起分类作用的只是支持向量,而支持向量又一定是凸壳的子集,因此可通过先求凸壳再分类的方法来降低训练样本数目,从而达到提高支持向量机执行效率的目的,下面给出求凸壳的一种方法。
二、基于二阶段法的凸壳支持向量机(一)一种求凸壳的算法step1.假设样本点是m维向量,则各维上具有最大值或最小值的样本点必是顶点。
求最值的16种方法全文共四篇示例,供读者参考第一篇示例:在日常生活和工作中,我们经常会遇到需要求最值的问题,比如找出最大的数值、最小的数值或者最优的解决方案。
有些时候,在求最值的过程中,我们可以通过简单的比较得出结果,但有时候需要一些专门的方法和技巧来解决问题。
本文将介绍16种常见的求最值的方法,希望对大家有所帮助。
一、直接比较法直接比较法是最简单的一种求最值的方法,即通过逐一比较每个元素,找出最大值或最小值。
这种方法适用于小规模的数据和简单的比较需求,代码实现简单易懂,但效率较低。
二、排序法排序法是一种常见的求最值方法,通过对数据进行排序,可以很容易地找到最大值或最小值。
排序的复杂度通常为O(nlog(n)),适用于中等规模的数据。
三、遍历法四、分治法分治法是一种高效的求最值方法,将数据集分成若干个子问题,递归地求解子问题,最后合并得到最值。
这种方法通常用于大规模数据的求解,具有较高的效率。
五、动态规划法动态规划法是一种求解优化问题的经典方法,通过定义状态转移方程和递推关系,逐步求解问题的最优解。
这种方法适用于复杂的问题,如背包问题、最长公共子序列等。
六、贪心算法贪心算法是一种求最值的常用方法,通过每一步选择局部最优解,并最终达到全局最优解。
这种方法通常适用于局部最优解能直接推导到全局最优解的场景。
七、分支界限法分支界限法是一种搜索最优解的方法,通过逐步扩展搜索树,剪枝不满足条件的分支,从而快速找到最值。
这种方法适用于带约束条件的最优解问题。
动态规划法是一种通过子问题的解来求解原问题的方法,通常适用于规模较小且具有重叠子问题的情况。
九、蒙特卡罗法蒙特卡罗法是一种通过大量的随机模拟来求解问题的方法,通过估计解的概率分布来找出最值。
十、模拟退火法模拟退火法是一种基于物理学原理的求解最优解的方法,通过模拟金属退火过程,寻找全局最优解。
十一、遗传算法遗传算法是一种模拟生物进化过程的求解方法,通过选择、交叉和变异等操作,不断优化解的质量。
SVM-⽀持向量机总结⼀、SVM简介(⼀)Support Vector Machine1. ⽀持向量机(SVM:Support Vector Machine)是机器学习中常见的⼀种分类算法。
2. 线性分类器,也可以叫做感知机,其中机表⽰的是⼀种算法。
3. 在实际应⽤中,我们往往遇到这样的问题: 给定⼀些数据点,它们分别属于两个不同的类。
我们现在要找到⼀个线性分类器把这些数据分成AB两类。
最简单的办法当然是,画⼀条线,然后将它们分成两类。
线的⼀侧,属于A类,另⼀侧,则属于B类。
SVM算法可以让我们找到这样⼀个最佳的线(超平⾯),来划分数据。
相⽐于KNN之类的算法,SVM算法只需要计算⼀次,得出最佳线(超平⾯)即可。
⾯对测试数据,只需要判断数据点落在线的哪⼀侧,就可以知道该数据点所属分类了。
⽐起KNN每次都需要计算⼀遍邻居点的分类,SVM算法显得简单⽆⽐。
(⼆)Sklearn参数详解—SVM1 sklearn.svm.LinearSVC(penalty='l2', loss='squared_hinge', dual=True, tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None, max_iter=1000)penalty:正则化参数,L1和L2两种参数可选,仅LinearSVC有。
loss:损失函数,有‘hinge’和‘squared_hinge’两种可选,前者⼜称L1损失,后者称为L2损失,默认是是’squared_hinge’,其中hinge是SVM的标准损失,squared_hinge是hinge的平⽅。
dual:是否转化为对偶问题求解,默认是True。
SVM的常用多分类算法概述摘要:SVM方法是建立在统计学习理论基础上的机器学习方法,具有相对优良的分类性能,是一种非线性分类器。
最初SVM是用以解决两类分类问题,不能直接用于多类分类,当前已经有许多算法将SVM推广到多类分类问题,其中最常用两类:OAA和OAO算法,本文主要介绍这两类常用的多分类算法。
关键词:SVM;多分类;最优化自从90年代初V. Vapnik提出经典的支持向量机理论(SVM),由于其完整的理论框架和在实际应用中取得的很多好的效果,在模式识别、函数逼近和概率密度估计领域受到了广泛的重视。
SVM方法是建立在统计学习理论基础上的机器学习方法,具有相对优良的分类性能。
SVM是一种非线性分类器。
它的基本思想是将输入空间中的样本通过某种非线性函数关系映射到一个特征空间中,使两类样本在此特征空间中线性可分,并寻找样本在此特征空间中的最优线性区分平面。
它的几个主要优点是可以解决小样本情况下的机器学习问题,提高泛化性能,解决高维问题、非线性问题,可以避免神经网络结构选择和局部极小点问题。
1. SVM方法若样本集Q={(x i,y i)|i=1,……,L}∈R d*{-1,+1}是线性可分的。
则存在分类超平面w T x+b=0,x∈R d对样本集Q中任一(x i,y i)都满足:在空间R d中样本x=(x1,…, x d)r到分类超平面的距离d=|w T*x+b|/||w||,其中||w||= .当存在x 使得w T x i+b=±1, 则图1中超平面的分类间隔margin = 2/ ‖w ‖。
使分类间隔margin 最大的超平面即为最优分类超平面。
寻找最优分类超平面的问题将转化为求如下一个二次规划问题:minΦ( w) =1/2‖w ‖满足约束条件:y i ( w T x i + b) ≥1 , i = 1 ,2 , ⋯, L采用Lagrange 乘子转换为一个对偶问题,形式如下:满足约束条件:0≤a i,i=1,……,L )其中a i为每一个样本对应的Lagrange 乘子, 根据Kuhn2Tucker 条件,这个优化的解必须满足:a i (y i [w T x i +b]-1)=0,i=1,……,L因此多数样本对应 a i将为0 ,少部分不为0 的a i对应的样本就是支持向量。
统计学习理论统计学习理论是机器学习(MachineLearning)的一个重要分支,它将概率论,统计学以及优化理论结合起来,提出了很多模型和方法,可以用来解决各种机器学习中的问题。
统计学习理论的发展可以追溯到20世纪60年代,但它的重要发展时期是20世纪90年代。
20世纪90年代以后,统计学习理论得到了大量的重视,例如,张鸿涛、许振荣、曹思源等著名学者,都研究和发表了大量论文,积累了大量经验知识。
统计学习理论的学习对象包括概率模型、决策树、神经网络和支持向量机等,它们可以用来模拟联邦系统的学习过程,从而实现知识的提炼,完成系统自身的学习,改善自身的表现。
统计学习理论基本上可以分为四个阶段:计算学习理论、表示学习理论、统计学习理论和优化学习理论。
计算学习理论旨在估计和推断模型,以特定的估计标准最大化或最小化,从而分析和探索数据,从而构建机器学习模型,并用于提高预测准确性和系统表现。
表示学习理论是统计学习的重要组成部分,它主要包括模型学习、模式识别、聚类分析和变量选择等。
它是利用数据集的特征来构建模型,从而提高模型的准确性。
统计学习理论追求的是建模过程中最优化的解,这种理论利用概率模型、函模型、决策树(Decision Trees)、神经网络(Neural Networks)和支持向量机(Support Vector Machines)等方法来实现,这些方法都可以通过最大似然估计或最小二乘估计得出参数,利用该参数来实现模型学习和提高预测准确性。
最后,优化学习理论可以用来求解最优化问题,例如联合优化、代价优化和结构优化。
它主要利用组合优化算法,其中的常用算法包括梯度下降法、拉格朗日乘子法、随机梯度下降法等。
总之,统计学习理论是一种重要的机器学习理论,它将概率论、统计学以及优化理论结合起来,运用了大量的模型和方法,在小样本,高维度和高噪声环境中取得了良好的效果,广泛应用于自然语言处理、计算机视觉、推荐系统以及数据挖掘等领域。
PSVM:并行SVM摘要支持向量机(SVM)有着很强大的功能,在数据挖掘领域得到了很广泛的应用。
但SVM 同样也存在一些问题,其中很显著的一点就是当训练样本量很大时,SVM的时间复杂度和空间复杂度都会变得很高。
所以,近年来在各类研讨会以及出版物中,人们越来越多地将目光集中在SVM的可扩展性上,也提出了很多关于SVM的并行算法,这些方法充分利用现阶段硬件的一些新特性,在不同程度上提高了SVM的性能。
本文主要讨论关于SVM的并行形式(parallel SVM:PVSM),PSVM对于降低SVM的空间复杂度以及时间复杂度有着很好的效果。
关键词:支持向量机并行算法ICF IPM1.引言SVM算法在占用存储和计算时间方面,都存在着很大的可扩展性问题。
为了解决这个问题,一种并行支持向量机算法(PSVM)出现了。
PSVM算法解决了这两方面的问题:1)利用一种基于列的矩阵分解方法减少了SVM占用的存储空间;2)利用并行的IPC算法求解最优化问题,提高了SVM的执行速度。
下面本文就详细介绍一下PSVM算法。
SVM算法原本是这种形式:给定一个训练数据集,此处是观测到的向量,是的类标签,n是的元素数,而我们就可以利用这个来训练一个二分类器。
SVM的目标就是在再生核希尔伯特空间(RKHS)中找到一个超平面,同时最大化中两类数据边缘距离,最小化训练误差。
此问题可以归纳为如下最优化问题:是一个权向量,是一个偏移量,是惩罚因子,而是将映射到RKHS的映射函数。
SVM的判别函数是:此处和是由问题(1)求解得到的。
但在实际问题中,问题(1)也许会难以直接求解,因为映射函数往往是未知的。
所以我们可以利用拉格朗日乘子法将问题转化为以下形式:在问题(2)中,,是拉格朗日乘子。
同时有:。
这个新的对偶问题需要计算和的内积,从而可以把这个内积写成一个核函数的形式,所以可以重新记作。
对于问题(2),可以用内点法(IPM)求解。
2.PSVM算法2.1并行不完全乔列斯基分解(PICF)并行不完全乔列斯基分解(PICF)是PSVM的第一个重要步骤。
最优化理论与支持向量机摘要 近几年来, 机器学习方法得到了广泛的应用, 在其理论研究和算法实现方面都取得了重大进展成为机器学习领域的前沿热点课题. 支持向量机也受到广泛的关注, 它以统计学习为基础, 建立在计算学习理论的结构风险最小化原则之上, 具有简洁的数学形式, 已成为机器学习和数据挖掘领域的主要工具. 本文主要是对最优化理论的概述以及对支持向量机的简单介绍. 通过对最优化理论与支持向量机的学习, 进一步深入研究相关理论与实验知识.关键词: 样本集 类标识 支持向量机 回归1. 最优化理论本学期主要学习了最优化的一些基本理论, 一类分类问题, 二类分类问题, 多类分类问题, 回归问题. 分类问题的主要思想是通过给定的样本集1,{()}n m i x y R R i i T =⊂⨯=寻找一个定值函数:m f R R →. 以便利用f 来判断任一输入m i x R ∈的类标识. 另外, 分类问题根据数据样本的个数可分为一类分类问题, 二类分类问题, 多类分类问题. 根据定值函数的线性和非线性性, 可分为线性分类问题和非线性分类问题. 对于分类问题研究最多的是二类分类问题和多类分类问题.近几年来, 机器学习方法得到了广泛的应用,在其理论研究和算法实现方面都取得了重大进展成为机器学习领域的前沿热点课题. 不少学者将机器学习的方法应用与机械产品寿命的预测, 而其中人工神经网络和支持向量机等方法在寿命预测中应用较多. 由于人工神经网络存在对样本数量与质量具有高依赖性, 且对于小样本情况易陷入局部最优等问题, 而以统计学理论为基础的支持向量机, 具有严格的理论和数学基础, 可以不像神经网络的结构设计需要依赖于设计者的经验知识和先验知识, 因此, 利用支持向量机理论实现趋势预测分析已成为研究新热点.基于数据的机器学习是一种重要的知识发现方法, 是人工智能最具智能特征、最前言的研究领域之一. 机器学习主要研究计算机如何模拟或实现人类的学习能力, 以获取新的知识技能, 重新组织已有的知识结构, 使之不断改善自身的性能. 机器学习是人类智能的核心问题, 是使计算机具有人工智能的根本途径, 基于数据的机器学习问题作为人工智能研究领域的一个重要方面. 其研究的主要问题是从一组观测数据集出发, 得到一些不能通过原理分析而得到的规律, 进而利用这些规律对未来数据或无法观测到的数据进行预测和分析.迄今为止, 关于机器学习还没有一种被共同接受的理论框架, 关于其实现方法大致可以分为以下三种[1].第一种是经典的统计预测方法[2]. 现有机器学习方法共同的重要理论基础之一是统计学. 在这类方法中, 模型中参数的相关形式是已知的, 用训练样本来估计参数需要已知样本的分布形式, 因此具有很大的局限性. 另外传统的统计学研究的是样本数目趋于无穷大时的渐进理论, 但在实际问题中, 样本数量却是有限的, 因此一些理论上很优秀的学习方法在实际应用中可能表现的不尽人意.第二种方法是经验非线性方法, 如人工神经网络(ANN)方法[3][4], 神经网络学习方法对于逼近实数值、离散值或向量值的目标函数提供了一种健壮性很强的方法. 对于某些类型的问题, 如学习解释复杂的现实世界中的传感器数据, 人工神经网络是目前知道的最有效的学习方法, 这种方法利用已知样本建立非线性模型, 克服了传统参数估计方法的困难, 人工神经网络已在很多的实际问题中取得了惊人的成功, 如手写识别, 图像识别, 语音识别. 但是这种方法缺少统一的教学理论, 过度拟合训练也是人工神经网络学习中的重要问题. 尽管人工神经网络对训练数据表现非常好, 过度拟合也会导致数据泛化到新的数据时性能很差.第三种方法是统计学习理论(Statistical Learning Theory, SLT)[5], 与传统的统计学习相比, SLT是一种专门研究小样本情况下机器学习规律的理论. 该理论针对小样本统计问题建立了一套新的理论体系, 在这种体系下的统计推理规则不仅考虑了对渐进性能的要求, 而且追求在现有有限信息条件下得到的最优结果.Vapnik等人从20世纪60年代开始致力于此方面的研究, 到90年代中期随着其理论的不断发展成熟, 也由于神经网络等学习方法在理论上缺乏实质性的进展, SLT开始受到越来越广泛的重视.支持向量机(SVM)[6]是Cortes和Vapnik于1995年在VC维理论和结构风险最这种小原理基础上提出的一种机器学习方法,它是借助优化方法解决机器学习问题的新工具,能够尽量提高学习机的推广能力, 即使由有限数据集得到的判别函数对独立的测试集仍能够得到较小的误差. 此外SVM是一个凸二次规划, 能够保证找到的解释全局最优解. 这些特点使SVM成为一种优秀的基于数据的机器学习方法, SVM是机器理论中最新的内容, 也是最实用的部分, 其主要内容在1992年到1995年间基本完成, 目前仍处于基本发展阶段. 可以说SLT之所以从20世纪90年代以来受到越来越多的重视,很大程度上是因为它发展出来了SVM这一通用的基于数据的机器学习方法.SVM在解决小样本、非线性及高维模式识别问题中表现出特别的优势,并能够推广到函数拟合等其他机器学习问题中. 与传统机器学习方法不同, SVM首先通过非线性变换将原始的样本空间映射到高维的特征空间,然后在这个行空间中求取最优线性分类面,而这种非线性变换是通过定义适当的内积函数实现的.SVM成功的解决了高维问题和局部极小值问题.在SVM中只要定义不同的内积函数,就可以实现多项式逼近、贝叶斯分类器、径向基函数(RBF)方法、多层感知器网络等很多现有的学习算法. 在解决高维问题中, 神经网络等方法容易陷入一个又一个局部极小值. SVM使用了大因子来控制学习机器的训练过程,使其只选择具有最大分类间隔的分类超平面. 最优超平面对线性不可分的情况引入松弛项来控制经验风险从而使其在满足分类要求的情况下具有好的推广能力, 寻找最优超平面的过程最终转化为凸二次型优化问题而得到全局最优解.SVM方法具有较好的理论基础, 在一些领域的应用中表现出来与众不同的优秀的泛化性能, 因此, SVM在解决分类、回归和密度函数估计等机器学习方面获得了非常好的效果, 并成功应用在模式识别、回归估计和概率密度函数估计等方面. 例如在模式识别方面,SVM 在手写数字识别、语音识别、文本分类、信号处理、图像分类和识别等多个领域都有不俗的表现. SVM 在精度上已经超过传统的学习算法或与之不相上下.SVM 在解决有限样本、高维模式识别、非线性等复杂问题中表现出许多特有的优势, 目前SVM 已被成功应用于识别、回归、分类问题中.2. 线性支持向量机所谓最优化技术就是找出使得目标函数值达到最小或最大的自变量值的方法. 最优化问题从其分类看有经典无约束最优化问题和有约束最优化问题.无约束极值问题的数学模型为min ()xf x 其中12[,,]T n x x x x =称为优化变量,()f ⋅函数称为目标函数, 该数学表示的含义亦即求取一组x 向量, 使得最优化目标函数()f x 为最小, 故这样的问题又称为最小化问题, 那么只需给目标函数()f x 乘以一个负号就能立即将最大化问题转换成最小化问题. 所以最优化问题研究的一般全是最小化问题.有约束最优化问题的数学模型为min ().. ()0,xf x s t G x ≤其中12[,,]T n x x x x =. 该数学表达式的含义为求取一组x 向量, 使得在满足约束条件()0G x ≤的前提下能够使目标函数()f x 最小化. 在实际遇到的最优化问题中, 有时约束条件可能是很复杂的, 它既可以是等式约束, 也可以是不等式约束; 既可以是线性的, 也可以是非线性的, 有时甚至不能用纯数学函数来描述.一般的约束问题可以既包含等式约束又包含不等式约束, 其一般形式为min ().. ()0,1,, ()0,1,,xi j f x s t c x i pc x j p p q≤===++ 这类问题称为一般约束问题其中12[,,]T n x x x x =, 称()f x 称为目标函数, 称()0,1,,, ()0,1,,i j c x i p c x j p p q ≤===++为约束条件, 并称()i c x 为约束函数.此外称满足条件的点为可行点, 并称全体可行点组成的集合为可行域. 该数学表达式的含义为求取一组x 向量, 使得在满足约束条件()0,1,,, ()0,1,,i j c x i p c x j p p q ≤===++的前提下能够使目标函数()f x 最小化.在学习过程中, 我们着重研究的是二类分类问题的支持向量机(Support Vector Machine,简称SVM), 以及在SVM 基础上得到的其他类型的支持向量机, 比如: 双生支持向量机(TSVM-Twin support vector machine)[7], 最小二乘支持向量机(LSTSVM-least square support vector machine)[8], 有界支持向量机(TBSVM-twin bound support vector machine)[9], 支持向量回归机(SVR-support vector regression)[10]等. 在二类分类问题模型基础上进行改进可得到多类分类问题的分类器.SVM 涉及到两个凸规划问题——原始问题和对偶问题, 由这两个问题的解之间的关系建立算法. 因此优化理论也是SVM 的重要理论基础.下面介绍一下经典支持向量机(SVM), 双生支持向量机(TSVM)以及支持向量回归机(SVR).2.1. 线性软间隔支持向量机设1{(,)}{1}n m i i i x y R =⊂⨯±是二类数据集, 其中i x 是行向量. 线性软间隔SVM 的基本思想是通过求解一个二次规划问题, 得到两个平行边界超平面, 进而得到分类超平面. 线性软间隔SVM 对应的原始问题为21,,1min 2.. (,)1, 0, 1,,,n i i w b i i i w C s t y w x b i n ξξξ=+<>+≥≥=∑ 其Wolfe 对偶形式为111112.. 0, 0, 1,,,min ,n n n i j i j i j i i j i n i i i i s t C i n y y x x yαααααα=====≤≤=<>-∑∑∑∑ (2.1)其中1(,,)T n n R ααα=∈是Lagrange 乘子向量. 通过求解问题(2.1), 可得分类超平面,0w x b +=<>. 具体算法如下.算法1. (线性软间隔二类SVM)步1. 给出训练集1{(,)}{1}n m i i i x y R =⊂⨯±.步2. 选择适当的参数0C >, 求解问题(2.1), 得最优解1(,,)T nααα***=⋅⋅⋅. 步3. 计算1ni i i i y x ωα**==∑. 选择α*的一个正分量0j C α*<<, 计算 1,n j i i i j i b y y x x α**==-<>∑.步4. 构造分离超平面,0x b ω**<>+=和决策函数()sgn(,)f x x b ω**=<>+.2.2. 线性双生支持向量机TSVM 的基本思想是通过求解两个二次规划问题得到两个非平行边界超平面, 进而得到两个非平行的分类超平面. TSVM 对应的原始问题为()()()()1111111112121211 min ,,2 .. ,0,T T TSVM Aw e b Aw e b c e w b s t Bw e b e ξξξξ+++-++≥≥()()()()2222222221212112 min ,,2 .. ,0,ξξξξT T TSVM Bw e b Bw e b c e w b s t Aw e b e +++++≥≥其中,A B 分别是数据样本中两类样本组成的列向量,12,e e 分别是与,A B 列数相同, 元素全为1的列向量;12,c c 是大于0的参数; ξ是松弛变量.其Wolfe 对偶形式为(简记为DTSVM1、DTSVM2)分别为()()12111 min 2.. 0,T T T T DTSVM G H H G e s t c ααααα--≤≤ (2.2) ()()11212 min 2.. 0,T T T T DTSVM G H H G e s t c αββββ--≤≤ (2.3)其中,αβ是Lagrange 乘子向量,12[ ],[ ].H A e G B e ==通过求解问题(2.2)和(2.3), 可得分类超平面110T x w b +=和220.T x w b +=算法2. (线性TSVM )步1. 给出训练集1{(,)}{1}n m i i i x y R =⊂⨯±.步2. 选择适当的参数0C >, 求解问题(1.2)和(1.3), 得最优解1(,,)T nααα***=⋅⋅⋅. 步3. 计算1ni i i i y x ωα**==∑. 选择α*的一个正分量0j C α*<<, 计算 1,n j i i i j i b y y x x α**==-<>∑.步4. 构造分离超平面,0x b ω**<>+=和决策函数()sgn(,)f x x b ω**=<>+.2.3. 线性支持向量回归机SVM 最初是为分类问题设计的, 已得到了广泛的应用. 近年来, SVM 在回归方面也表现了极好的性能. SVR 有线性回归和非线性回归, 对于线性回归, 考虑用线性回归函数估计样本数据. 和SVM 算法相似, SVR 算法最终也是转化为一个求解凸二次规划问题.线性支持向量回归机[7]的基本思想是找一个带状区域, 尽可能使数据点分布于这个带状区域中. SVR 原始问题为21,1min 2.. , 1,,, (<,>), 1,,, +(,)n i i i w b i i i i w s t y b i n w x b i n C w x y εεξη=+≤=+≤=-<>-∑(+)其中ε是大于0的参数.其Wolfe 对偶形式为()()()()()1111,112 .. 0, 01,,.min ,0, , n n n n i i j j i j i i i i i i j i i ni i i i i s t i n x x y C C αβαβαβαβεαβαβαβ======≤≤=--<>-+---≤≤∑∑∑∑∑ (2.4) 其中,αβ是Lagrange 乘子向量.通过求解问题(2.4),可得分类超平面,0.i w x b += 具体算法如下.算法3. (线性支持向量回归机)步1. 给出训练集1{(,)}{1}n m i i i x y R =⊂⨯±.步2. 选择适当的参数0,0C ε>>, 求解问题(1.4), 得最优解11(,,) (,,).T T n n αααβββ******=⋅⋅⋅=⋅⋅⋅,.步3. 计算*1()ni i i i x ωαβ**==-∑. 选择α*的一个正分量0j C α*<<, 计算*,j j b y w x ε*=-<>-,或者选择β*的一个正分量0j C β*<<, 计算*,j j b y w x ε*=-<>+ 步4. 构造决策函数(),f x x b ω**=<>+.步5. 对任一测试点n x R ∈, 其输出**(),f x w x b =<>+.此外还学习了一些多类支持向量机的模型. 如多元双生支持向量机(Multi-twin support vector machine, 简记为MTSVM), 多生支持向量机(Multiple birth support vector machine, 简记为MBSVM)等.2.4. 多元双生支持向量机(MTSVM)多元双生支持向量机是在TSVM 基础上采用了一对余的方法处理数据的, 为每一类数据利用最小二乘原理构造一个分类超平面, 使得该类数据点尽可能靠近这一超平面, 同时尽可能的排斥其它类数据. 本文中用到的数据点中的第i 类用,1,i c n i A R i c ⨯∈=表示, 剩余的其它类看作是另一类, 用()111[,,,,],1,i c c n T T T T i i i c B A A A A R i c -⨯-+=∈=表示. MTSVM 基本思想是对于c 类问题, 为每一类找到一个超平面,0,1,,.i i w x b i c <>+==使得除第i 类之外的的数据点尽可能靠近这一超平面, 同时尽可能的排斥第i 类数据.MTSVM 第i 类数据点对应的原始问题为1222,,11min22.. (B ), 0, ,1,,,i i i T i i i i j j j j i w b i i i i i i i A w e b C s t w e b e i j c ξξξξξ≠++-++≥≥=∑ 其中21()11, , 0.i i c c c i i i e R e R C ⨯-⨯∈∈>此规划的wolfe 对偶为()21111min2 .. 0,1,,,i c c T T T T i i i i i i i i i i i i G H H G e s t C i c ααααα-==-≤≤=∑∑ (2.5)其中12[,], [,].i i i i i i H A e G B e ==通过求解问题(2.5), 得到第i 类数据点对应的分类超平面,0i i w x b <>+=.具体算法如下.算法4. (MTSVM)步1. 给出训练集1{(,)}{1,,}n m i i i x y R c =⊂⨯.步2. 对每一个{1,,}i c ∈, 取,\i i X X X X X +-==.步3. 选择适当的参数0i C >, 求解问题(2.5), 得最优解1(,,),1,,.i i i T ni c ααα***=⋅⋅⋅= 步4. 令[;],i i i u w b =, 计算*1*()T i i i i i u H H G α-=-.步5. 构造分离超平面,0i i x b ω**<>+=和决策函数(),i i i f x x b ω**=<>+.步6. 对任一测试点m x R ∈, 若1()()min i k i c i f x f x w ≤≤=, 则判断x 属第k 类.2.5. 多生支持向量机(MBSVM)MBSVM 基本思想是对于c 类问题, 为每一类找到一个超平面,0,1,,.i i w x b i c <>+==使得第i 类的数据点尽可能靠近这一超平面, 同时尽可能的排斥其它类数据. MBSVM 与MTSVM 不同之处在于MBSVM 是把数据中的一类数据点放到约束条件中, 其它类点作为另一类, 放在目标函数中.MBSVM 第i 类数据点对应的原始问题为1222,,1min2.. (), 0,i i i T i i i i i i i w b i i k i i k k B w e b C e s t A w e b e ξξξξ++++≥≥ 其中12()11, , 0.i i c c c i i i e R e R C -⨯⨯∈∈>此规划的wolfe 对偶为()211min 2 .. 0,i T T T T i i i i i i i i i i G H H G e s t C ααααα--≤≤ (2.6)其中21[,], [,].i i i i i i G A e H B e == 通过求解问题(2.6)得到其中第i 类的分类超平面,0i i w x b <>+=.具体算法如下.算法6. (MBSVM)步1. 给出训练集1{(,)}{1,,}n m i i i x y R c =⊂⨯.步2. 对每一个{1,,}i c ∈, 取,\i i X X X X X +-==.步3. 选择适当的参数0i C >, 求解问题(2.6), 得最优解1(,,),1,,.i i i T ni c ααα***=⋅⋅⋅= 步4. 令[;],i i i u w b =, 计算*1*()T i i i i i u H H G α-=-.步5. 构造分离超平面,0i i x b ω**<>+=和决策函数(),i i i f x x b ω**=<>+.步6. 对任一测试点m x R ∈, 若1()()max i k i c i f x f x w ≤≤=, 则判断x 属第k 类.3. 非线性支持向量机在日常生活中遇到的分类问题, 大部分是线性不可分的问题. 对于线性不可分问题, 通过引入核函数:m m k R R R ⨯→, 利用核函数的特征映射将数据映射到高维特征空间, 使得映射后的数据是(近似)线性可分的. 常见的核函数主要有:高斯径向基核:22(,)exp{/}k x y x y σ=--或22(,)exp{/2},(0).k x y x y σσ=-->多项式核:(,)(,),(,0).d k x y x y c c R d =<>+∈> 利用核函数定义, 问题(2.1)可改进为如下11110,0,1,,.1min (,)2 .. n n n i j i j i j i i j i n i i i i C i n y y k x x s t y αααααα=====≤≤=-∑∑∑∑ (3.1)算法1可改进为算法3. (加核二类SVM)步1. 给出训练集1{(,)}{1}n m i i i x y R =⊂⨯±.步2. 选择适当的参数0C >, 求解问题(1.1), 得最优解1(,,)T nααα***=⋅⋅⋅. 步3. 计算1ni i i i y x ωα**==∑. 选择α*的一个正分量0j C α*<<, 计算 1,nj i i i j i b y y k x x α**==-<>∑.步4. 构造分离超平面,0x b ω**<>+=和决策函数()sgn(,)f x k x b ω**=<>+.利用核函数定义, 问题(2.2)和(2.3)改进为如下()()12111 min 2.. 0,T T T T DTSVM G H H G e s t c ααααα--≤≤ (3.2) ()()11212 min 2.. 0,T T T T DTSVM G H H G e s t c αββββ--≤≤ (3.3)其中,αβ是Lagrange 乘子向量, 12[(,) ], [(,) ].H K A X e G K B X e == 算法与算法2是相同的.此外还学习了一些其它支持向量机的模型, 此处不再一一列举.4. 结论近年来, 支持向量机受到广泛的关注, SVM 是在统计学习理论VC 维理论和结构风险最小原理的基础上发展起来的一种新的机器学习方法. 它以统计学习为基础, 建立在计算学习理论的结构风险最小化原则之上, 具有简洁的数学形式, 能进行直观的几何解释并具有良好的泛化能力, 避免了局部最优解, 且需要人为设定的参数较少, 便于使用, 为小样本机器学习提供了一种新方法, 以用于模式识别、回归分析和函数逼近等领域. 支持向量机已成为机器学习和数据挖掘领域的主要工具.由于它具有一些传统机器学习方法所不能匹敌的优势而成为目前国内外研究的一个热点问题, 并已成功应用于众多模式识别领域.通过学习本门课程我了解到了许多与分类相关的知识. 今后将会在此基础上不断改进, 继续学习. 随着研究的不断深入, 新问题、新思想将会不断涌现, 这必将促进SVM 方法在实际应用中发挥更大的作用.参考文献[1] F.Mulier.Vapnik-Chervonenkis(VC) learning theory and its applications. IEEE Transactions on NeuralNetwork, 1999, 10(5): 985-987.[2] 黄风岗, 宁克欧. 模式识别. 哈尔滨工业大学出版社, 1998.[3] S.Haykin. Neural networks: A comprehensive Foundation. Pearson Education Inc. 1999.[4] 高隽. 人工神经网络原理及仿真实例. 北京: 机械工业出版社, 2003.[5] 张学工. 关于统计学习理论与支持向量机. 自动化学报, 2000, 26(1): 32-42.[6] Cortes C, Vapnik V. Support-vector network. Mach Learn. Springer, 1995, 20: 273-297.[7] Jayadeva K, Khemchandani R, Chandra S. Twin support vector machines for patternclassification. IEEE Trans Pattern Anal Mach Intell. 2007, 29(5): 905-10.[8] M. Arun Kumar, M. Gopal. Least squares twin support vector machines for pattern classification. ExpertSystems with Applications. 2009.[9] Yuan-Hai Shao, Chun-Huan Zhang, Xiao-Bo Wang, Nai-Yang Deng.Improvements on twin supportvectormachines. IEEE Transactions on Neural Network, 2011.[10] Debasish Basak, Srimanta Pal, Dipak Chandia Patranabis. Support Vector Regression. 2007.。