决策支持向量机

2024-11-02

决策支持向量机(通用12篇)

决策支持向量机 篇1

0 引 言

支持向量机最初是针对两类问题提出的,要将其推广到多分类问题,需要构造多类SVM分类器,目前构造方法主要有两类。一类以Weston[1]在1998年提出的基于改进目标函数的多类分类算法,另一类通过组合多个两类分类器构造多类分类器。这类方法目前主要有两种分支算法:1对多算法和1对1算法。1对多算法由Vapnik[2]提出,对于N类问题构造N个两类分类器。1对1算法由Kressel[3]提出,通过在N类训练样本中构造所有可能的两类分类器,结果共构造N(N-1)/2个分类器。将多类问题转化为两类问题求解时,往往会出现无法分类区,在这个区域中的模式样本,要么无法确定它们的类别,要么属于多个类别,总之,无法将其唯一判至某类,从而出现拒识。为了解决拒识区域问题,Kressel等[3]提出pairwise SVMs,T.Inoue 等[4]提出模糊SVMs,Fumitake Takahashi等[5]以及翟永杰等[6]提出采用基于决策树的支持向量机(DTSVM),但是这些计算方法存在着计算费时和搜索效率不高的问题。为此,本文提出支持向量机决策树SVMDT分类器,训练时从树叶向树根生长,寻找具有最小等效距离的两个类簇(一个或多个类组成)进行分枝,决策树的生长速度较Fumitake Takahashi提出DTSVM快,最后生长出的二叉决策树是相对平衡的,即分叉可能出现左节点也可能出现右节点。分枝度量标准为等效距离,在特征空间进行计算,该等效距离与中心距以及每类样本的分布情况有关。

1 支持向量机

设线性可分样本集为(xi,yi),i=1,…,l;xRn,y∈{+1,-1}是类别标号。n维空间中线性判别函数的一般形式为g(x)=w·x+b,分类面方程为:

w·x+b=0 (1)

将判别函数规范化,使两类所有样本都满足|g(x)|≥1,这样分类间隔就等于2/‖w‖。于是,求间隔最大变为求‖w‖或‖w‖2最小。满足|g(x)|=1的样本点离分类面最近,它们决定了最优分类面,称之为支持向量。

因此,求最优分类面的问题就转化为优化问题:

minϕ(w)=12w2=12(ww)(2)

约束条件为:

yi[(w·xi)+b]-1≥0 i=1,…,l (3)

该优化问题可以转化为:

maxQ(α)=i=1lαi-12i,j=1lαiαjyiyj(xi·xj) (4)

约束条件为:

yiαi=0 (5)

αi≥0 i=1,…,l (6)

求解上述最优问题后得到最优分类函数为:

f(x)=sgn{(wx)+b*}=sgn{i=1lαi*yi(xi·x)+b*} (7)

sgn()为符号函数,αi*为最优解。b*为分类的阈值,可以由任意一个支持向量用式(3)求得,或通过两类中任意一对支持向量取中值求得。

2 计算等效距离

对于线性可分情况,各类样本间距离反映了它们的可分性,距离越大,越容易正确分类;距离越小,分类误差越大。另一方面,训练样本在原始空间大多是线性不可分的,因此,在原始空间直接计算样本类间的距离很难反映样本间的可分性。支持向量机通过变换函数Φ将样本变换到特征空间,同时认为在特征空间各类样本间是线性可分的。由于支持向量机的这种映射是非线性的,不能保证映射前后样本间的欧氏距离不变,也不能保证距离是成比例变化。也就是说,能反映可分性的样本间的距离度量应该在特征空间进行,而不应该在原始样本空间进行。

在核空间中,设任意两类样本C1={x1,x2,…,xn},C2={x′1,x′2,…,x′m}之间的欧氏距离为d(C1,C2),两类样本中心的欧氏距离通常用作两类样本间距离的度量,但是如果不考虑两类样本各自的分布特点,中心距离很难正确地反映两类样本的可分性。各类样本的分布特点也是样本可分性的一个重要因素。鉴于上述分析,定义两类样本C1、C2间的等效距离D12:

D12=d12/(σ1+σ2) (8)

其中,d12表示特征空间中两类样本C1、C2中心的欧氏距离;σ1表示特征空间中样本类C1的标准差;σ2表示特征空间中样本类C2的标准差。

3 支持向量机决策树

3.1 基本思想

两类样本间等效距离越大,样本越容易分类。因此,如图1(a)所示,在进行多类样本分类时,首先将与其他类距离最大的类Class 2分辨出来,若待分样本属于Class 2,则分类结束;若待分样本属于余下的聚合类C’2,则在该聚合类内寻找与其他类距离最大的类Class 1,若待分样本属于Class 1,则分类结束,否则在余下的聚合类C’1(Class 3,Class 4)内进行分类,确定待分样本属于Class 3 还是Class 4。这个算法是翟永杰等人在文献[6]中提出的,命名为DTSVM(Decision Tree SVM),采用1对(r-1)策略实现SVM多类分类。

所谓的局部类簇LCC(Local Class Cluster)就是在聚合类中,某几个类别的样本距离较近,它们的集合与其他类别的集合相去较远,这样的样本类集合就称为局部类簇。

文献[6]算法没有考虑样本中存在局部类簇,认为每个聚合类中总存在一个与其他类别距离较远或差别较大的样本类。因此,决策树的分叉总是出现左节点(或右节点),形成一棵不平衡二叉树,在分类时搜索效率相对较低。当样本中存在局部类簇时,如图1(b)所示,采用1对(r-1)策略就不太合适。从图中可以看出,样本Class1与Class2形成一个小的局部类簇LCC1,样本Class3与Class4也形成一个小的局部类簇LCC2,而且对LCC1与LCC2进行分类比对Class2与其他三类进行分类更容易。因此,可以考虑首先将LCC1与LCC2分辨出来,然后在局部类簇LCC1与局部类簇LCC2内再进行分类。这就是本文所阐述SVMDT算法的基本思想。

在进行样本类间距离计算时,最大距离指某一样本类与其余样本类间距离和最大,拓扑结构上属于全连接型[8],计算量稍大;但是,换一个角度,考虑两个样本类间的最小距离,计算量将有所减少,因为最小距离计算是在某两个样本类之间进行的,在拓扑结构上属于单连接型。因此,本文提出的SVMDT在训练阶段考虑样本类间最小距离,而生成的SVMDT保证分类阶段以最大距离进行分类搜索。

3.2 训练过程

SVMDT训练时,首先在所有N个样本类中寻找两个距离最近的样本类,利用它们进行SVM(N-1)训练,然后将它们合并生成新的局部类簇;接着,在其余样本类与新生成局部类簇LCC1之间寻找具有最小距离的两个样本类或局部类簇,并使用它们进行SVM(N-2)训练,再将它们合并得到新的局部类簇LCC2,……,依此类推,直至剩下最后两个样本类或类簇,利用它们进行SVM(1)训练。与图1(b)对应的训练过程如图2所示。

因此,SVMDT是从叶节点开始,每次合并距离最近的两个样本类或类簇形成分枝节点,直至形成根节点。整个SVMDT的训练过程如下:

Stop1 将N个模式样本类初始化为N个叶节点node(i),各叶节点NodeLevel=0,i=1,…,N

Stop2 将N个模式样本类视为N个类簇,初始化类簇数NumOfCluster=N;初始化决策树节点数NumOfNode=N

Stop3 若类簇数NumOfCluster=1,则训练结束。

Stop4 若类簇数NumOfCluster=2,令m=1,n=2;跳转至Stop7。

Stop5 计算任意两个不同类簇之间的等效距离Dij,i,j=1,…,NumOfCluster,ij

Stop6 选择等效距离最近(即Dij最小)的两个类簇m,n

Stop7 将类簇m中的样本集作为负训练样本,类簇n中的样本集作为正训练样本进行第(NumOfCluster-1)个SVM训练,得到SVM(NumOfCluster-1)。

Stop8NumOfNode++,同时生成第NumOfNode个决策树节点node(NumOfNode);将类簇m所在节点设为节点node(NumOfNode)的左节点,将类簇n所在的节点设为节点node(NumOfNode)的右节点;将节点node(NumOfNode)的SVMID设为(NumOfCluster-1);将节点node(NumOfNode)的NodeLevel设为左右子节点中NodeLevel较大者加一。

Stop9 合并类簇m,n;NumOfCluster--;将新的类簇集重新编号为1,…,NumOfCluster

Stop10 跳转至Stop3。

3.3 分类过程

如图3所示,在进行SVM决策树分类时,首先在根节点利用SVM(1)对待分样本进行判决,确定其属于左节点还是右节点,若属于左节点,则判断该节点是否为叶节点(或是否NodeLevel=0),若是,则对待分样本赋以该节点类别,若不是,则利用该节点SVM(2)进行判决,确定待分样本属于下一级左节点还是右节点,再判断左节点或右节点是否为叶节点(或是否NodeLevel=0),若是,则将待分样本赋以左节点或右节点类别。其他节点分类过程与此类似。

对于m个待分样本,只需按照上述步骤逐个进行分类,最终均可找到所属类别,而且不会出现拒识现象。

3.4 SVMDT特点

(1) 在训练阶段,若训练样本类别总数为N,则SVMDT节点数(包括分枝节点(含根节点)和叶节点)共有2N-1个,其中叶节点有N个,分枝节点(含根节点)有(N-1)个。(N-1)个分枝节点对应(N-1)个SVM,因此,SVMDT需要训练(N-1)个SVM。和1对1算法需要(N(N-1)/2)个SVM、1对多算法需要N个SVM相比,本算法使用的SVM较少。和1对(r-1)算法相比,由于本算法在分枝节点的左右节点同时生长,节点对应SVM训练时使用样本较少、速度较快。但是在极端情况下,即整个训练样本集中不存在局部类簇时,本算法与1对(r-1)算法等效。

(2) 在充分利用样本自身特性的基础上,总是在具有最小距离的两个样本类或类簇间进行SVM训练。当两个距离最近的样本集一个包含r(rN)类样本,另一个只包含一类样本时,算法演化为1对r SVM训练策略;当两个距离最近的样本集均为多类样本(r类与r’类,rN,r’≤N)时,算法称为rr’ SVM训练策略。

(3) 在进行分类时,1对1算法需要经过N(N-1)/2 次SVM计算;1对多算法需要经过最多N次SVM计算、最少1次SVM计算;1对(r-1) 算法需要经过最多(N-1)次SVM计算、最小1次SVM计算;本算法需要经过最多(N-1)次SVM计算、最少1次SVM计算,当样本集中存在类簇时,本算法最多经过n次(Log2Nn<N-1)SVM计算。总的说来,本算法的分类速度比其他三种算法稍快。

(4) 在假设各类样本在特征空间线性可分的前提下,根据SVM的优先级别,将决策空间严格划分,不存在重叠区域或不识别区域。SVM的优先级别由决策树结构确定。

4 实验分析

为了验证算法的有效性,在UCI标准数据集上对SVMDT进行了实验测试,采用了UCI数据集的7个子集,即glass,iris,wine,liver,pima,breast,image。实验样本集说明如表1所示。

实验在Dell Precision 530工作站(内存512MB,CPU1.5GHz (两个))上进行,利用Steve Gunn (srg@ecs.soton.ac.uk)提供的SVM优化动态库在Matlab环境下编程并测试。实验对SVMDT的精度、SV数目、运行时间以及SVMDT采用不同核函数包括径向基rbf核函数(C=100, σ=1.0)、多项式poly核函数(d=3)和样条spline核函数进行了测试,并将其结果与传统1对多SVM多类分类器(简称为C-SVM)的结果进行了比较。算法测试采用10-fold交叉验证策略,所有精度、SV数目及运行时间均为平均值。

由表2可知:① 支持向量机决策树分类器SVMDT训练过程中所使用的支持向量的个数要远远小于传统的1对多支持向量分类器C-SVM,在核函数为径向基和多项式的情况下,前者支持向量的个数大约只有后者的一半,相应的,在训练时间与分类时间上,SVMDT也远远小于C-SVM;SVMDT与C-SVM具有基本相同的训练精度,这说明二者对于知识的记忆能力是相当的;但是二者的测试精度则存在微小的差别,个别样本集差距较大。对于后6个样本集(iris,wine,liver,pima,breast,image),SVMDT的测试精度稍高于C-SVM,对于第一个样本集glass,前者的测试精度要高出后者的10多个百分点,这说明SVMDT的泛化能力要强于C-SVM。② 在三种核函数rbf、poly、spline中,径向基函数rbf的实用性与稳定性比后两者要强些。对于样本集glass,iris,liver,pima,breast,核函数为rbf的分类器的分类精度要普遍高于核函数为poly与spline的分类器;但是核函数为poly的分类器比较适合样本集wine与image,它的分类精度要高于其他两种核函数分类器;核函数为rbf的分类器训练过程中使用的SV的个数要远远多于其他两种核函数分类器,但是三者的训练时间与测试时间并没有太大的差距。③ 本文提出的SVMDT分类器(以rbf核函数为例)的分类精度和文献[9]给出的C4.4、C4.5、NB分类精度相比,对于样本集iris,liver,breast,前者高于后者,但是,对于样本集glass,wine,pima,前者比后者稍差。

注:其中“-”表示计算过程不收敛。

5 结 论

本文提出了SVMDT多类分类器,很好地解决了文献[5,6]提出的DTSVM存在的两点不足。训练时,SVMDT采用最小距离原则,综合考虑局部类簇情况,生成一颗较平衡的分类二叉树,分类时,SVMDT采用最大距离原则。由于训练时采用最小距离度量,避免拓扑结构为全连接的最大距离计算,所以训练速度提高了。和DTSVM相比,平衡二叉树SVMDT也提高了分类效率。SVMDT训练时采用的距离为等效距离,它综合考虑样本类在映射空间的中心距离以及样本类自身的分布特点,使得训练过程中确定各个SVM的优先级别(训练后SVM的优先级别表现为决策树结构)更加合理,由此生成的决策树将特征空间严格划分开,避免了拒识区域的出现。UCI样本数据集实验结果表明,和传统的1对多SVM分类器相比,本文提出的SVMDT具有训练速度快、分类速度快,分类精度高或泛化能力强的特点。

参考文献

[1]Weston J,Watkins C.Multi-class support vector machines.Royal Hollo-way College,Tech Rep:SCD-TR-98-04,1998.

[2]Vapnik.统计学习理论[M].许建华,张学工,译.北京:电子工业出版社,2004.

[3]Kressel U.Pairwise Classification and support vector machines.Ad-vances in Kernel Methods-Support Vector Learning,MIT Press,Cam-bridge,Massachusetts,chapter 15,1999.

[4]Inoue T,Abe S.Fuzzy Support Vector Machines for Pattern Classifica-tion.IJCNN’01,2001:1449-1454.

[5]Fumitake Takahashi,Shigeo Abe.Decision Tree-based Multiclass Sup-port Vector Machines.Proceedings of the 9thInternational Conferenceon Neural Information Processing,2002,2:1418-1422.

[6]翟永杰,毛继佩,于丽敏,等.分级聚类支持向量机在汽轮机故障诊断中的应用[J].华北电力大学学报,2003,309(6):25-29.

[7]邓乃杨,田英杰.数据挖掘中的新方法-支持向量机[M].北京:科学出版社,2004.

[8]杨万海.多传感器数据融合及其应用[M].西安:西安电子科技大学出版社,2004.

[9]Jin Huang,Jingjing Lu,Charles X Ling.Comparing Naive Bayes,Deci-sion Tree,and SVMwith AUC and Accuracy[C]//Proceedings of the3rdIEEE International Conference on Data Ming,2003.

决策支持向量机 篇2

基于支持向量机的车型分类的设计思路是通过视频采集获得车辆图像,对车辆图像进行图像预处理和特征提取后,得到分类器所需数据特征,而后采用支持向量机和二元决策树对车型分类.采用三个支持向量机的分类器和二元决策树相结合对特征数据进行分类识别,最终实现了车型分类.通过利用Libsvm(SVM模式识别与回归的软件)进行实验,取得了较好的.分类效果.

作 者:曹洁 李浩茹 陈继开 CAO Jie LI Hao-ru CHEN Ji-kai 作者单位:曹洁,李浩茹,CAO Jie,LI Hao-ru(兰州理工大学电气工程与信息工程学院,兰州,730050)

陈继开,CHEN Ji-kai(兰州理工大学机电工程学院,兰州,730050)

决策支持向量机 篇3

摘要:针对支持向量机在分类过程中的特征选择问题,提出了一种改进的遗传算法。在演化进程中运用Meteopolis准则通过合理选群来防止进化陷入局部极值区域。最后针对ucI数据库中的数据,通过将该算法与其他几种方法进行了比较,证明了本文算法具有较优的特征选择效果,并已成功应用在基于支持向量机的数字电路板故障诊断中。

关键词:支持向量机;互敏感度信息量;独立敏感度信息量;自适应变异率;Meteopolis准则

引言

支持向量机是一种在统计学习理论的基础上发展而来的机器学习方法,通过学习类别之间分界面附近的精确信息,可以自动寻找那些对分类有较好区分能力的支持向量,由此构造出的分类器可以使类与类之间的间隔最大化,因而有较好的泛化性能和较高的分类准确率。由于支持向量机具有小样本、非线性、高维数、避免局部最小点以及过学习现象等优点,所以被广泛运用于故障诊断、图像识别、回归预测等领域。但是如果缺少了对样本进行有效地特征选择,支持向量机在分类时往往会出现训练时间过长以及较低的分类准确率,这恰恰是由于支持向量机无法利用混乱的样本分类信息而引起的,因此特征选择是分类问题中的一个重要环节。特征选择的任务是从原始的特征集合中去除对分类无用的冗余特征以及那些具有相似分类信息的重复特征,因而可以有效降低特征维数,缩短训练时间,提高分类准确率。

目前特征选择的方法主要有主成分分析法、最大熵原理、粗糙集理论等。然而由于这些方法主要依据繁复的数学理论,在计算过程中可能存在求导和函数连续性等客观限定条件,在必要时还需要设定用来指导寻优搜索方向的搜索规则。遗传算法作为一种鲁棒性极强的智能识别方法,直接对寻优对象进行操作,不存在特定数学条件的限定,具有极好的全局寻优能力和并行性;而由于遗传算法采用概率化的寻优方法,所以在自动搜索的过程中可以自主获取与寻优有关的线索,并在加以学习之后可以自适应地调整搜索方向,不需要确定搜索的规则。因此遗传算法被广泛应用在知识发现、组合优化、机器学习、信号处理、自适应控制和人工生命等领域。

基于改进遗传算法的特征选择

遗传算法是一种新近发展起来的搜索最优化算法。遗传算法从任意一个的初始生物种群开始,通过随机的选择、交叉和变异操作,产生一群拥有更适应自然界的新个体的新一代种群,使得种群的进化趋势向着最,优的方向发展。图1中所示的是标准的遗传算法的流程框图。

传统的遗传算法存在早熟收敛、非全局收敛以及后期收敛速度慢的缺点,为此本文提出了一种能够在进化过程中自适应调节变异率,以及利用模拟退火防止早熟的改进遗传算法,同时该算法利用敏感度信息可以有效地控制遗传操作。图2是改进遗传算法的流程框图。

染色体编码和适应度函数

所谓编码是指将问题的解空间转换成遗传算法所能处理的搜索空间。在特征选择问题中,常常使用二进制的编码形式,使得每个二进制就是一个染色体,其位数长度等于特征的个数。每一位代表一个特征,每位上的1表示选中该特征,0则表示不选中。每一代种群都由若干个染色体组成。

适应度函数是整个遗传算法中极为重要的部分,好的适应度函数能使染色体进化到最优个体,它决定了在整个寻优过程中是否能够合理地协调好过早收敛和过慢结束这对矛盾。由于本文针对的是支持向量机的特征选择问题,所以考虑以分类正确率和未选择的特征个数这两个参数作为函数的自变量。将分类正确率作为主要衡量标准,未选择的特征个数为次要标准。由此建立以下的适应度函数:式中c为分类正确率。为未选择的特征个数,a是调节系数,用来平衡分类正确率和未选择的特征个数对适应度函数的影响程度,同时该系数也体现了用最少的特征得到较大分类正确率的原则,在本文中a取0.00077。由上式可知,分类正确率越高,未选的特征个数越多,染色体的适应度就越大。

选择操作

选择操作需要按照一定的规则从原有的种群中选择部分优秀个体用来交叉和变异。选择原则建立在对个体适应度进行评价的基础上,目的是避免基因损失,提高全局收敛性和计算效率。本文首先将整个种群中最优的前40%的个体保留下来,以确保有足够的优良个体进入下一代,对剩下的60%的个体采用轮盘算法进行选择,这样做可以弥补保留前40%个体而带来的局部最优解不易被淘汰的不利影响,有利于保持种群的多样性。

基于敏感度信息量的交叉、变异操作

独立敏感度信息量Q(i)指的是对在所有特征都被选中时计算所得到的适应度值Allfitness以及只有特征i未被选中时计算得到的适应度值Wfitness(i)按式(2)进行计算得到的数值。独立敏感度信息量刻画了适应度对特征是否被选择的敏感程度。

互敏感度信息量R(i,j)由(3)式可得,互敏感度信息量体现了特征与特征之间对适应度的近似影响程度。

交叉操作的作用是通过交换两个染色体之间的若干位从而生成含有部分原始优良基因的新个体。由式(3)可知互敏感度信息量可作为不同特征之间含有相似分类信息的一种度量,所以可以将互敏感度信息量代入式(4)计算出染色体在第一位发生交叉的几率β(j),在式(4)中i和j分别代表特征和特征j,是染色体的长度。β(i)是特征,相对于其他所有特征在互敏感度信息量上的归一量,反映了特征与其余特征在相似信息量上的总和。由此对应到染色体上,β(i)就可以认为是染色体的第i位与整个染色体在基因信息上的相关性,β(i)越小则说明相关性越大,第i位与整个染色体所含的基因信息越接近,此位为分裂点的几率越小。由于β(i)是归一化量,故可采用轮盘算法来选择一个交叉点。

变异操作是引入新物种的重要手段,可以有效地增加种群个体的多样性。本文中的变异率Pm采用相邻两代之间的最优适应度增幅比作为自变量进行自适应调节,如式(5)所示。当适应度增幅比正向增大时,较小的增幅比可以使变异率维持在中等水平,并且变异率随着增幅比的增大而缓慢降低,这样既能够拥有一定数量的新个体也可以抑制过多不良染色体的产生,保证优秀染色体的进化足够稳定;而当适应度增幅比反向增大时,由较小增幅比则可以获得较高的变异率。并且变异率也伴随增幅比同比缓慢升高,确保有足够的染色体发生变异,稳定地加快进化速度。式中dis指新生种群的最优适应度相对于原种群的最优适应度的增幅比,尚k均是区间(0,1)上的调节系数。文中的j与k分别取0.65和0.055。

独立敏感度信息量在一定程度上体现了单个特征所含有的分类信息量,如果独立敏感度信息量小,则说

明该特征所含信息大部分对分类没有帮助,即该基因位发生突变后对整个染色体的优异性影响不大,突变的概率也就相应减小。因此将独立敏感度信息量归一化后所得到的q(i)作为特征i被选为变异点的概率。变异点的具体选择方法为:针对一个染色体按照染色体的位数进行循环遍历,在该循环中由变异率Pm判定是否产生变异位。若需要产生变异位,则依据q(i)按照轮盘算法进行选择。

模拟退火选群

在每一轮进化完成后都需要决定进入下一轮进化的种群。如果过多地将较优种群作为父代,就会使算法过早收敛或搜索缓慢。文献中指出模拟退火算法能够以一定的概率接受劣解从而跳出局部极值区域并最终趋于全局最优解。因此可以将上文提到的最优适应度增幅比作为能量函数,运用模拟退火的Meteopolis准则来选择待进化的种群。为了使每个种群得到充分地进化,预防最优解的丢失,这里采用设置退火步长的策略来实现模拟退火选群。该策略具体为:使退火步长对同一种群作为父代的次数进行计数,一旦产生更优种群则退火步长就置零并重新计数。若退火步长累计超过一定的阈值时,就进入模拟退火选群阶段。退火步长累计到一定数量意味着原有种群的进化已经停滞,需要用模拟退火算法摆脱这种停滞状态。如果增幅比大于零,则说明新生种群优于原有种群。这时完全接受新种群进入下一轮进化:否则新生种群劣于原有种群,并以一定的概率p接受较劣的新生种群进入下一轮进化。接受概率lp由式(6)和式(7)共同决定,其中dis为增幅比,T(s)指温度参数,To和s分别是初始温度和迭代次数。

以上两式的参数要满足进化对接受概率的要求。即增幅比负增长越大,接受概率降低越迅速,但接受概率随迭代次数的增加应缓慢下降。这样做能够保证在有限的迭代次数内有一个适应度较优的新生种群进入下一轮进化,以达到减少计算量和优选待进化种群的目的。在本文中To=0.2,A=0.9,m=0.5。

实例的验证与分析

UCI数据库常用来比较各种方法的分类效果,因此可以用其验证本算法对支持向量机作用后的分类效果。文献㈨采用了UCI数据库中的German、Ionosphere和Sonar三种数据作为实验对象,为了便于与文献中所用的几种方法进行对比,本文也采用这三种数据进行实验,并按照文献中所述的比例将各类数据分成相应的训练样本和测试样本。

在种群规模为30,交叉率为0.8、起始变异率为0.1的条件下使用支持向量机作为分类器(惩罚参数为13.7,径向基核函数参数为10.6)对所选数据进行分类,表1中显示了本文算法与文献中几种算法在分类效果上的对比,表2给出了三种数据的最终选择结果。表1中共出现了四种方法:方法1:使用本文算法:方法2:使用NGA/PCA方法;方法3:使用PCA方法;方法4:使用简单遗传算法。

由于本文算法旨在用最少的特征个数最大化分类正确率,因此从表1中可以看出本文算法在特征选择个数和分类正确率上均比其他三种方法更具优势。由于NGA/PCA算法是针对简单遗传算法和主成分分析法的不足而做的改进,其性能优于简单遗传算法和主成分分析法,所以本文算法的分类效果优于NGA/PcA算法这一事实更能说明该算法可以较好地解决支持向基机的特征选择问题。

结语

通过与其他方法的比较,本文算法的分类效果得到了充分的验证,也说明了该算法具有极好的泛化能力以及在敏感度信息量地指导下遗传操作的有效性。

适应度函数的设计至关重要,它直接影响到最终结果的优劣以及算法的收敛性,所以在适应度函数的设计应考虑所解决问题的侧重点。

分类正确率的高低不仅取决于合理的特征选择,而且与支持向量机的参数优化有关。只有在合理的特征选择和参数优化的前提下,支持向量机分类器才能发挥出最佳的分类效果。

决策支持向量机 篇4

在这些实际问题中,对复杂数据的分类问题及复杂函数估计问题的分析是解决这类问题的重要方面。近几年,学者在复杂数据分类及复杂函数估计问题解决方面作出了重大的贡献,其中支持向量机是近几年解决此类科学问题的重要工具。

支持向量机的理论基础是统计学习理论,主要用于分类及模式识别问题。目前支持向量(回归)机已应用在外贸出口预测、电力负荷预测、农产品的消费市场需求动态预测、投资组合风险预测等方面。由于复杂的函数估计问题和复杂的数据分类问题在经管类研究生研究的问题中普遍存在,因此将支持向量机作为实验工具,培养经管类研究生解决这一类问题的动手能力和研究能力具有重要的现实意义。

一、我校管理类研究生教育现状

目前,我校提出了建设“教学科研型大学”的目标。在这一目标的指引下,如何培养学生的科研能力及创新能力是这一课题的重要问题之一。目前,我校拥有3个博士点、4个一级学科硕士点、27个二级学科硕士点,在校全日制硕士、博士研究生数量超过1000人。随着我校发展,博士点、硕士点、研究生数量稳步上升。研究生逐渐成为一支不可忽略的科研生力军。因此,培育和发展我校研究生的论文写作能力,是加强我校科研能力建设的重要途径之一。

管理学院作为我校培养经济管理人才的学院之一,近年来加大了对学生科研创新能力的培养力度,对经济管理研究生的培养进行了调研,并提出了很多教学改进方法。在这些管理问题中,复杂的分类问题和多元数据非线性回归问题是其中的重要方面,很多决策、预测、评价等问题均可以抽象为以上两种科学问题。支持向量机是近几年用于解决该类问题的一种较流行的工具。因此,本实验教改的实验教案可以为经管类学生深入学习支持向量机及帮助其了解非线性预测方法具有一定的现实意义。经过前期理论知识积累和现场实践经验的总结,对支持向量机应用于实验教学环节进行有益的探索,并从理论与实践角度为培养研究生的研究能力和动手能力提供实验材料。

二、实验设计方法

对于综合设计性实验项目的研究与设计,主要采取了以下课题研究方法:

(1)调查分析法:根据对课题的理解与规划,以各种交流沟通方式对主讲教师进行访谈,有针对性地调查实验教学的基本情况,进而整理与分析现今实验教学环节存在的问题、原因,并在此基础上找到解决问题的思路。此外,对外采用各类调研方式,如学校互联网主页浏览、走访等方式,对其他兄弟院校的实验教学理念和成功经验进行调研与总结。

(2)文献资料法:课题组利用我校教学、科研资源,特别是我校图书馆的图书资源及各类电子网络资源,其中包括维普数据库、CNKI博硕论文全文数据库、超星数字图书馆、EBSCO数据库、Sciendirect、Spring Link数据库等网络数据资料,检索与课题研究问题相关的专著和论文,了解本领域课题研究的最新进展情况,总结、归纳出最新的、具有代表性的实验案例及实验方案。

三、针对专业的实验课题选择

在实验课题的选择上,首先要考虑研究生的不同专业领域和研究方向,其主要来源主要从以下几个方面考虑:

1.人力资源管理方向。针对研究方向偏向于人力资源管理的学生。本项目选取了企业人力资源的预测问题作为其中的一个实验,通过该实验使得此类学生能够建立起支持向量机解决工商管理领域中的一些问题的思路。

2.交通管理类学生。研究方向偏向于交通管理类的学生其研究的领域主要偏向于解决交通管理中的一些实际问题,如交通流量预测。因此,在实验选择中选取交通流量预测问题作为其中的一个实验,通过该实验使得此类学生能够建立起支持向量机解决交通管理领域中的一些问题的思路。

3.管理科学与工程类学生。对于研究方向偏向于管理科学与工程类的学生在实验选择中选取了项目终止决策问题作为其中的两个实验,通过该实验使得此类学生能够建立起支持向量机解决管理决策领域中的一些问题的思路。

4.经济类学生。经济类学生对时间序列地研究要求较高,本项目选取了多维时间序列的外贸出口量预测验,通过该实验使得此类学生建立支持向量机解决多元非线性时间序列领域中的一些问题的思路。

5.信息管理类学生。信息管理类学生较多地研究管理信息系统及决策支持系统,因此本项目选取物业税税基批量评估作为实验项目,该实验实际上是通过支持向量机构建一种专家系统。通过该实验帮助信息管理类学生建立如何利用机器学习方法构建专家系统。

四、问题与对策

在实际实验教学实践过程中,遇到如下问题:(1)我院研究生的研究方向较多,本项目中设计的实验项目无法覆盖到所有研究方向的学生。(2)现有解决分类问题和多元非线性问题的工具较多,本项目设计的实验仅考虑支持向量机一种,对于更高层次的研究要求,例如,对其他模型的比较、模型的鲁棒性、模型的效率等方面有待进一步深入。

针对以上不足,提出如下改进措施:(1)进一步对该实验教学系统的应用领域进行有针对性的扩充和完善,搜集和整理相关资料,本研究设计的6个实验项目在今后的教学实践中还需要进一步的修改和完善。(2)在对模型的比较和更深入的研究方面,学院可进一步开展其他类似工具的教学。对数学基础较好的同学开设一些深度较高的课程,例如神经网络、复杂系统建模、随机过程等,引导他们做更深入的研究。

因为所选取的科研课题是紧密联系实际生活和工作岗位的,所以研究生在以后研究工作中初步建立起解决分类问题和非线性多元回归问题的基础,在遇到此类问题的时候能够立即有一定的解决思路,能够较快地进入研究角色,缩短解决问题的路径和难度。

五、结语

本文针对管理类研究生迫切需要增加非线性回归、分类等分析能力提升的问题,提出一系列支持向量机预测与决策实验教学教改方案。通过实践发现,该方案提升了研究生的分析能力,为他们进一步的研究和论文发表打下了基础。

参考文献

[1]Wisniewski R.Selected Aspects of the Use of Artificial Neural Networks for the Mass Appraisal of Real Estates in Poland[J].Argumenta oeconomica.2008,21(2):125-152.

[2]Guan J,Zurada J,As L.An Adaptive Neuro-Fuzzy Inference System Based Approach to Real Estate Property Assessment[J].Journal of real estate research.2008,30(4):395-421.

决策支持向量机 篇5

研究生考查课作业

Forecasting PVT properties of crude oil systems based on support vector machines modeling scheme 基于支持向量机建模方案预测原油系统

PVT参数

课程名称:

电信学部专业英语

导师: 赵珺

研究生姓名:

李德祥

学号: 20909173

作业成绩:

任课教师(签名)

交作业日时间:2010 年12月17日

基于支持向量机建模方案预测原油系统PVT参数

摘要:PVT参数在油储工程计算中发挥着重要的作用。目前有许多种方法用来预测各种PVT参数,例如经验公式法,计算机智能法。神经网络的成就为数据挖掘建模技术打开了一扇们,同时它在石油工业中起到了重要的作用。然而不幸的是,由于仓储流体的一些特性,现有神经网络方法在其上的应用存在许多缺点和限制。本文提出了一种新的智能模型——支持向量机用来预测原油系统的PVT参数,该方法解决了现有神经网络预测的大部分缺点。文中简要介绍了预测步骤和建模算法,同时从神经网络,非线性回归以及经验公式法中分别选择了一种方法与支持向量机回归建模法进行了比较。结果表明支持向量机方法更加准确,可靠,同时优于大多数现有的公式法。这说明支持向量机建模法具有光明的前景,我们建议将其用于解决其他石油和煤气工业问题,诸如渗透率和孔隙率预测,确定持液量流动区和其他油储特性。

关键字:支持向量回归机(SVR);PVT参数预测;神经网络;1 引言

储层流动参数在石油工程计算中是非常重要的,例如物质平衡计算,试井分析,储量预测,向井流动态计算以及油藏数值模拟。众所周知,准确的PVT数据对物质平衡计算是非常重要的。这些PVT参数包括起泡点压力(Pb),石油形成层参数(Bob),这个被定义储存石油的容积。Bob的准确预测在储量和产量计算中至关重要,同时在储量动态计算,生产操作和设计以及构成评估的计算中,PVT参数也是非常重要的。这个流程的经济效益也取决与这些参数的准确预测。

现存的PVT仿真器在预测储藏流体的物理参数时,其预测精度随使用模型的类型,流体特性以及当时环境的变化而变化。因此他们在预测准确性方面都存在极大的缺陷。理想情况下,PVT参数通过对取自井底或者表面的样本进行试验研究而获得,但这样做获取试验数据代价昂贵。因此,现在多采用状态等式,统计回归,图解法以及经验公式法来预测PVT参数。用于PVT计算的相关方法一直是研究的重点,并发表了许多论文。过去十年间,有人提出了几种确定Pb和Bob的图解法和数学方法。这些研究都基于这样一个假设,Pb和Bob都是油气比,油藏温度,煤气比重以及石油比重的强函数。尽管如此,这些状态等式包含了大量的数据计算,其中需要知道储藏流体的详细成分,而得到它们即费力又费时。另外,这些方法在预测中是 不可靠的,它取决与原始应用数据的变化程度以及相似流体成分和API油比重的地理区域。此外PVT参数以基于容易测量的现场数据为基础,诸如储存压力,储存温度和石油比重。

近年来,人工神经网络(ANNs)被用于解决许多煤气和石油工业方面的问题,其中包括渗透率和孔隙率预测,岩相类型鉴定,地震模式识别,PVT参数预测,油管及油井中压降估计以及井产量预测。在机器学习和数据挖掘领域最流行的神经网络方法是前向神经网络(FFN)和多层感知器(MLP)。它们在石油和煤气工业中应有广泛。尽管如此,这些神经网络建模方法存在许多缺点,诸如识别可能因果关系的能力受到限制,在后向传播算法的构造中比较耗时,这些缺点将导致过拟合和评价函数收敛于局部极小点。另外,前向神经网络的结构参数也需要提前估计,诸如前向传播神经网络的隐层数量和大小,多层神经元之间的传递函数类型。同时,训练算法参数通过估计初始随机权重,学习率和动量而获得。

本研究的主要目的是了解支持向量机回归算法在模型化原油系统PVT参数方面的能力,同时解决上述神经网络存在的一些问题。大量的用户介入不仅减缓了模型开发,也违背了让数据说话的原则。在工作中,我们精确的研究了基于核函数的支持向量机回归算法在模型化Pb和Bob参数的能力,试验数据来源与全世界已出版的PVT数据库。我们也从神经网络,非线性回归以及各种不同的经验公式中分别选取了一种方法与支持向量机回归法进行了比较研究。

高原油采收率的预测是采收率分析的基础,这也保证了分析结果的可靠性。在统计学习理论中,建立一个高采收率预测模型属于函数逼近问题的范畴。根据Vapnik结构风险最小化原则,提高学习机的泛化能力即是对于有效训练样本的小误差能够保证相对独立的测试样本的小误差。近几年,最新的统计理论的研究结果首次运用到高采收率的分析。我们讨论了改进的后向传播人工神经网络和支持向量机。我们将神经网络同三个不同的经验公式法以及前向传播神经网络进行了对比研究,结果表明支持向量机无论在可靠性和效率上都优于大多数目前流行的建模方法。

为了说明支持向量机回归法作为一种新的计算机智能算法的有效性,我们使用三种不同的PVT参数建立了先进的支持向量机回归校准模型。在包括782个观测值的数据库中数据来自马来群岛,中东,墨西哥湾和哥伦比亚。由于宽域性和不确定分布,这些数据具有很大的挑战性。因此,我们使用了四个不同输入参数的数据库来建立预测起泡点压力和石油形成层参数的支持向量机回归模型。这四个参数分别是:油气比率,油藏温度,石油比重以及煤气相对比重。结果表明支持向量机回归学习算法比其他石油工程论文中所提方法更快,更稳定。另外,这种新型支持向量回归机建模法在绝对平均误差,标准差和相关系数上都优于标准神经网络和大多数现存的系数模型。

本论文的其余部分组织如下:第二部分是文献综述,简要介绍了在确定PVT关系中一些最常用的经验公式和神经网络建模法。应用神经网络对PVT参数建模的主要缺点也在这部分提及。同时也提出了支持向量回归机和其训练算法的最常用结构。第四部分介绍了数据获取和统计质量测度。试验结果在第五部分进行了讨论。第六部分通过给出试验结果说明了方法的性能。文献综述

PVT参数,渗透性和孔隙率,岩相类型,地震模式识别在石油和煤气工业中是非常重要的参数。过去的六十年中,工程师们认识到发展和使用试验公式预测PVT参数的重要性,因此在这一领域的研究促进了新方法的发展。在实验室预测这些参数代价高昂,因此很难确定,同时预测的准确性又是至关重要的,而我们并不能提前预知。本部分简要总结了一下预测PVT参数的一些通用经验公式和几种不同的计算机智能算法。2.1 最常用的经验模型和评价研究

过去的六十年里,工程师们认识到发展和使用经验公式对于预测PVT参数的重要性。在这一领域的大量研究促进了新的公式的发展。诸如Standing,Katz,Vasquez& Beggs,Glaso&Al-Marhoun的相关研究.Glaso针对形成层参数使用45组石油样本发展其经验公式,这些样本来自于北海的烃化合物。Al-Marboun提出了一种经验公式用于预测中东石油的起泡点压力和石油形成层参数,他使用来自中东69个油井的160组数据集来构造他的公式。Abdul-Majeed and Salman提出了一种基于420组数据集的油量层形成公式,并命名为Abdul-Majeed and Salman 经验公式。他们的模型与采用新参数的Al-Marhoun油量层参数公式类似。Al-Marthoun提出了第二种针对油量层参数的经验公式,该公式基于11728个起跑点压力上下的形成层参数试验数据点。数据集的样本来自全世界700多个油井,这些油井大部分位于中东和北美。读者也可以参考其他经验公式,诸如Al-Shammasi and EI-Sebakhy等等。本研究中,我们仅仅关注于三个最常用的经验公式,分别为Al-Marhoun,Glaso 和Standing.Labedi提出了针对非洲原油的油量层参数公式。他使用了来自利比亚的97组数据集,尼日利亚的28组数据集以及安哥拉的4组数据集来形成他的公式。DOKLa and Osman提出了用于预测阿联酋原油起泡点压力和油量层参素的系数集,他们使用51组数据集来计算新的系数。Al-Yousef and Al-Marhoun指出Dokla and Osaman 起泡点压力公式违背物理规则。Al-Marhoun 提出了另一种针 2

对石油形成层参数的公式,该公式使用11728个起泡点压力上下的形成层参素。该数据集的样本来自于全世界700多个油井,这些油井大部分来自与中东和北美。

Macary and El-Batanoney提出了针对起泡点压力和形成层参数的公式。他们使用了来自苏伊士湾30个油井的90组数据集。该新公式又与来自埃及的数据进行了对比测试,并表现出超过其他已有公式的性能。Omar and Todd提出了一种基于标准系数模型的石油形成层参数公式。该公式使用了来自马来群岛油井包含93个观察点的数据集。Kartoamodjo and Schmidt 使用全球资料库发明了一种新的预测所有PVT参数的公式,该公式使用740个不同的原油样本,这些样本从全世界采集,并包括5392组数据集。Almehaideb提出了一种针对阿联酋原油的系数集,其中使用了62组来自阿联酋油井的数据集来测量起泡点压力和形成层参数。起泡点压力公式,像Omar and Todd使用形成层参数作为输入,并排除了石油比重,煤气比重,气油混合比以及油井温度。Suttton and Farshand提出了一种针对墨西哥湾原油的公式,其中使用了天然气饱和原油的285组数据集以及代表31个不同原油和天然气系统的134组欠饱和石油数据集。结果表明Glaso公式预测形成层参数对于大多数研究数据表现良好。Petrosky and Farshad提出了一种基于墨西哥湾的新公式,并说明了Al-Marhoun公式对预测油量层系数是最好的。McCain提出了一种新的基于大规模数据的油井参数评估公式,他们建议在将来的应用中采用Standing公式来预测起泡点压力上下的形成层参数。

Ghetto基于195组全球数据集得出了一种针对PVT参数的复杂研究公式,其中使用的数据集来自地中海盆地,美洲,中东和北海油井。他们建议运用Vasquez and Beggas公式预测油量层参数。另一方面,Elsharkawy使用44组样本评估了用于科威特原油的PVT公式,结果表明,对于起泡点压力,Standing公式给出了最好的结果,而Al-Marhoun石油形成层参数公式的表现也是令人满意的。Mahmood and Al-Marhoun提出针对巴基斯坦原油的PVT估计公式,其中使用了来自22个不同原始样本中的166组数据集。Al-Marhoun指出油量层参数预测结果良好,而起泡点压力误差却是已有公式所得结果中最高的几个之一。另外,Hanafy基于Macary and EI-Batanoney公式评价预测埃及原油形成层参数,结果表明其平均绝对误差为4.9%,而Dokla and Osman公式却是3.9%。因此,研究结果表明本地公式要优于全球公式。

Al-Fattan and Al-Marhoun所著的书中,他们基于来自已有674组数据集对现有的油量层参数进行了评估,结果表面Al-Marhoun公式对于全球数据集有最小的误差。另外,他们也进行了趋势测试以评估模型的物理行为。最后,Al-Shammasi以来自世界各地的烃混合物为代表,从准确性和适应性两方面对已发表的针对起泡点压力和油量层参数的公式和神经网络模型进行了评估,并提出了一种新的起泡点压力公式,该公式基于1661个已发表的全球数据集和48个未发表的数据集。同时他也提出了神经网络模型,并且将其与数值公式进行了比较,结果表明从统计学和趋势性能分析来看,一些公式违背了烃流参数的物理特性。2.2 基于人工神经网络的PVT参数预测

人工神经网络是并行分配信息处理模型,它能识别具有高度复杂性的现有数据。最近几年,人工神经网络在石油工业中得到了广泛的应用。许多学者探讨了石油工程中人工神经网络的应用,诸如Ali,Elshakawy,Gharbi and Elsharkawy,Kumoluyi and Daltaban,Mohaghegh and Ameri,Mohaghegn,Mohaghegn,和Varotsis等人。在文献中最常用的神经网络是采用倒传递算法的前向传播神经网络,参见Ali,Duda以及Osman的论文。这种神经网络在预测和分类问题上有着良好的计算机智能建模能力。采用神经网络模型化PVT参数的研究还不多,最近,有人采用前向传播神经网络预测PVT参数,参见Gharbi and Elsharkawy以及Osman等人的论文。

Al-Shammasi提出了神经网络模型,并将其与数值公式进行了性能比较,结果表明从统计学和趋势性能来看一些公式违背了烃流参数的物理性质。另外,他还指出已发表的神经网络模型丢失了主要模型参数而需要重建。他使用神经网络(4-5-3-1)结构来预测起泡点压力和石油形成层参数,并以来自世界各地的烃混合物为例,从准确性和适应性两方面对已发表的用于预测如上两个参数的公式和神经网络进行了评价。

Gharbi 和Elsharkawy以及Osman等在前向神经网络和四种经验公式之间进行了对比研究,这四种公式分别是Standing,Al-Mahroun,Glaso以及Vasquez and Beggs经验公式,更多的结论和对比研究结果可参见他们的论文。1996,Gharbi and Elsharkawy提出了预测中东原油起泡点压力和形成层参数的神经网络模型。该模型基于具有对数双弯曲激发函数的神经系统来预测中东油井的PVT数据。同时,Gharbi和Elsharkawy训练了两个神经网络分别预测起泡点压力和形成层参数。输入数据是油气比率,油储温度,石油比重以及煤气比重。他们使用具有两个隐层的神经网络,第一个神经网络预测起泡点压力,第二个神经网络预测形成层参数。二者都使用中东地区包含520个观察点的数据集,其中498个观察点用于训练,其余22个观察点用于检验。

Gharbi和Elsharkawy在更广大区域采用了同样的标准,这些区域包括:南北美,北海,东南亚和中东地区。他们提出了一种只采用1个隐层的神经网络,其中使用了来自350个不同原油系统的5432个观察点的数据库。该数据库被分成具有5200个观察点的训练集和234个观察点的测试集。对比研究结果表明,前向神经网络预测PVT参数在减小平均绝对误差和提高相关系数方面优于传统经验公式。读者可以参看Al-Shammasi和EI-Sebkhy的论文获取其他类型的神经网络在预测PVT参数方面的应用。例如,径向基函数和诱导神经网络。2.3 神经网络建模法最普遍的缺点

神经网络相关经验已经暴露了许多技术上的限制。其中之一是设计空间的复杂性。在许多设计参数的选择上由于没有分析指导,开发者常常采用一种人为试探的尝试错误方法,该方法将重点放在可能搜索空间的小区域里。那些需要猜测的结构参数包括隐层的数目和大小以及多层神经元间传递函数的类型。需要确定的学习算法参数包括初始权重,学习率以及动量。尽管得到的可接受的结果带有偏差,但很明显忽视了可能存在的高级模型。大量的用户干预不仅减慢了模型构建也违背了让数据说话的原则。为了自动设计过程,Petrosky 和Farshad提出了遗传算法形式的外部优化标准。对于新数据在实际应用中的过拟合和弱网络泛化能力也是一个问题。当训练进行时,训练数据的拟合提高了,但是由于训练中新数据不能提前预知网络性能可能因为过学习而变坏。训练数据的一个单独部分常常保留下来监视性能,以保证完成收敛之前停止训练。尽管如此,这减少了实际训练中有效的数据量,当好的训练数据缺乏时这也是一大劣势。Almehaideb提出了一种网络修剪算法用以提高泛化能力。最常用的采用梯度下降法的后向传递训练算法在最小化误差时存在局部极小点的问题,这限制了优化模型的推广。另一个问题是神经网络模型的黑箱不透明性。相关解释能力的缺失在许多决策支持应用中是一个障碍,诸如医学诊断,通常用户需要知道模型给出的结论。附加分析要求通过规则提取从神经网络模型中获得解释设备。模型参数掩盖在大规模矩阵中,因此获得模型现象或者将其与现存经验或理论模型进行对比变得非常困难。因为模型各种输入的相对重要性信息还没有获得,这使得通过排除一些重要输入来简化模型的方法变得不可行。诸如主成份分析技术也需要额外的处理。

在本研究中,我们提出了支持向量机回归法来克服神经网络的缺点同时采用此方法来预测PVT参数。支持向量机建模法是一种基于统计学习理论和结构风险最小化原则的新型计算机智能算法。基于该原则,支持向量机通过在经验误差和Vapnik-Chevonenkis置信区间之间取得合适的平衡来得到最有效的网络结构,因此这种方法不可能产生局部极小。支持向量机回归建模法

支持向量机回归法是机器学习和数据挖掘领域最成功和有效的算法之一。在分类和回归中它作为鲁棒性工具得到了广泛的应用。在许多应用中,该方法具有很强的鲁棒性,例如在特征识别,文 4

本分类和人脸图像识别等领域。支持向量机回归算法通过最优化超平面的特征参数以确保其高度的泛化能力。其中超平面在高维特征空间中最大化训练样本间的距离。3.1 背景知识和综述

近年来,人们对支持向量机做了很多研究。从如下这些人的文章中可以获得已完成的支持向量机建模法的概述,他们是Vapnik,Burges,Scholkopt,Smola,Kobayashi以及Komaki。该方法是一种新的基于统计学习理论的机器学习法。它遵循结构风险最小化原则,通过最小化泛化误差的上界,而不是最小化训练误差。该归纳法基于泛化误差的界,而泛化误差通过加和训练误差和依赖VC维的置信区间得到。基于此原则,支持向量机通过平衡经验误差和VC维置信区间取得最优的网络结构。通过此平衡支持量机可以取得优于其他神经网络模型的泛化性能。

起初,支持向量机用于解决模式识别问题。尽管如此,随着Vapnik 不敏感损失函数的引入,支持向量机可以扩展用于解决非线性回归预测问题。例如刚刚为人所知的支持向量回归法,它表现出了良好的性能。该方法的性能取决于预定义的参数(也叫超参数)。因此,为建立一个良好的支持向量回归预测模型,我们要细心设置其参数。最近,支持向量回归法已经作为一种可供选择的强有力技术用于预测复杂非线性关系问题。因其许多特有性质和良好的泛化能力,支持向量回归法无论是在学术界还是工业应用领域都取得了极大的成功。3.2 支持向量回归机的结构

最近,通过引入可变的损失函数,支持向量回归机(SVR)作为一种新的强有力技术用于解决回归问题。这部分,我们简要介绍一下SVR.更多的细节参见Vapnik和EI-Sebakhy的论文。通常情况下,SVR的构造遵循结构风险最小化原则,它试图最小化泛化误差的上界而不是最小化训练样本的预测误差。该特征能在训练阶段最大程度的泛化输入输出关系学习以得到对于新数据良好的预测性能。支持向量回归机通过非线性映射将输入数据x映射到高维特征空间F.,并在如图1所示的特征空间中产生和解决一个线性回归问题。

图1 映射输入空间x到高维特征空间

回归估计通过给定的数据集G{(xi,yi):XiR}Rni1来预测一个函数,这里xi代表输入向量,yi代表输出值,n代表数据集的总大小。建模的目的是建立一个决策函数yf(x),在给定一组新的输入输出样本xi,yi的情况下准确预测输出yi。该线性逼近函数由下面的公式表示:

f(x)(w(x)b),:RF;wFTP(1)这里w,b是系数,(x)代表高维特征空间,通过输入空间x的非线性映射得到。因此,高维特征空间中的线性关系被映射到了低维特征空间中的非线性关系。这里不用考虑高维特征空间中w和(x)的内积计算。相应的,包含非线性回归的原始优化问题被转换到特征空间F而非输入空间x中寻找最平缓模型的问题。图1中的未知参数w和b通过训练集G预测得到。

通过不敏感损失函数支持向量回归机在高维特征空间中模拟线性回归。同时,为了避免过拟合,2并提高泛化能力,采用最小化经验风险和复杂度w2之和的正则化函数。系数w和b通过最小化结构风险函数预测得到。

RSVR(C)Remp12w2Cnni1L(yi,yi)212w2(2)这里RSVR和Remp分别代表回归风险和经验风险。w2代表欧几里德范数,C代表度量经验风险的损失函数。在公式2给出的结构风险函数中,回归风险RSVR是在给定测试样本输入向量情况下由约束函数f得到的可能误差。

(|y,y|),if|yy|L(y,y)(3)

Otherwise0,n在公式2中,第一项C/nL*(yi,yi)代表经验误差,该误差通过公式3中不敏感损失函

i1数预测得到。引入损失函数可以使用少量的数据点来获得公式1中决策函数的足够样本。第二项2w2是正则化系数。当存在误差时,通过折中经验风险和正则化系数,正则化常量C用于计算惩罚值。增大C值等于提高了相应泛化性能的经验风险的重要性。当拟合误差大于时接受惩罚。损失函数用来稳定预测。换句话说,不敏感损失函数能减小噪声。因此,能被看作如图2所示训练数据近似精度的等效值。在经验分析中,C和是由用户选择的参数。

图2 一种线性支持向量回归机的软边缘损失集

为了估计w和b,我们引入正的松弛变量i和i,从图2可知,超常的正负误差大小由i和i分别代表。假设松弛变量在,外非零,支持向量回归机对数据拟合f(x)如下:(i)训练误差通过最小化i和i得到。(ii)最小化 w2/2提高f(x)的平滑性,或者惩罚过于复杂的拟合函数。因此,支持向量回归机由最小化如下函数构造而成: 最小化:RSVR(w,C)12nw2CL(ii)(4)

*i1yiw(xi)bii*目标值:0*w(x)byiiii

这里i和i分别代表度量上下边沿误差的松弛变量。以上公式表明在同一结构函数f(x)下增大将减小相应的i和i,从而减小来自相应数据点的误差。最后通过引入拉格朗日多项式和扩展最优性约束,公式1所给决策函数有如下的形式:

nf(x,i,i)*(i1ii)K(xxi)b*(5)

*i这里公式5中参数i和i被称为拉格朗日乘子,他们满足公式i*0,i0和*i0,在i1,2....,n。公式5中的K(xi,xj)称作核函数,而核函数的值等于特征空间(xi)和(xj)中 7

向量xi和xj的内积,其中K(xi,xj)=(xi)(xj)。核函数用来表征任意维特征空间而不用精确计算(x)。假如任给一个函数满足Mercer条件,他就可用作核函数。核函数的典型例子是多项式核(K(x,y)[xy1]d)和高斯核(K(x,y)exp[(xy)2/22])。这些公式中,d代表多项式核的次数,代表高斯核宽度。这些参数必须精确选择,因为他们确定了高维特征空间的结构并且控制最终函数的复杂性。24 数据获取和统计质量度量

4.1 要求数据

研究结果基于来自三个不同的已发表研究论文的三个数据库中获得。第一个数据库引自Al-Marhoun的文章。该数据库包括来自中东69口油井的160组数据,通过它提出了一种用于预测中东石油起跑点压力和油量层参数的公式。第二个数据库来自Al-Marhoun&Osman(2002),Osman&Abel-Aal(2002)以及Osman&Al-Marhoun(2005)的文章。该数据库使用采集于沙特各地的283个数据点来预测沙特原油的起泡点压力以及该压力点附近的油层量参数。模型基于142组训练集的神经网络来建立前馈神经网络校正模型用以预测起泡点压力和油量层参数,其中71组数据集用于交叉验证训练过程中建立的关系,余下的71组数据集用于测试模型以评估精度。结果表明发展的Bob模型比现有的经验公式有更好的预测效果和更高的精度。第三个数据库来自Goda(2003)和Osman(2001)的著作,这里作者采用具有对数双弯曲传递函数的前向神经网络来预测起泡点压力附近的石油形成层参数。该数据库包括从803个实际数据点中删除了21个观察点之后的782个观察点。该数据集采集于马来群岛,中东,墨西哥湾和加利福尼亚。作者采用倒传递学习算法设计了一种单隐层的前向神经网络,其中使用4个输入神经元来隐藏输入的油气比重,煤气比重,相对煤气浓度以及油储温度,五个神经元的单隐层以及输出层构造参数的单一神经元。

使用以上三个不同的数据库来评估支持向量回归机,前向神经网络和三个经验公式建模法的性能。采用分层标准划分整个数据库。因此,我们使用70%的数据建立支持向量回归机模型,30%的数据用于测试和验证。我们重复内部和外部验证过程各1000次。因此数据被分为2到3组用于训练和交叉验证。

本研究中,382组数据集,267组用于建立校正模型,余下的115组用于交叉验证训练和测试过程中建立的关系,并以此来评价模型的精度和稳定性。对于测试数据,支持向量回归机建模法,神经网络法以及最著名的经验公式法的预测性能使用以上的数据集进行度量。起泡点压力和石油形成层参数的预测性能分别如表1-6所示。

表1 测试结果(Osman(2001)和EI-Sebakhy(2007)数据):预测Bo的统计质量量度

表2 测试结果(Osman(2001)和EI-Sebakhy(2007)数据):预测Pb的统计质量量度

表3测试结果(Al-Marhoun&Osman(2002)和Abdel-Aal(2002)数据):预测Bo的统计质量量度

表4测试结果(Al-Marhoun&Osman(2002)和Abdel-Aal(2002)数据):预测Pb的统计质量量度

表5测试结果(Osman(2001)和Goda(2003)数据):预测Bo的统计质量量度

表6测试结果(Osman(2001)和Goda(2003)数据):预测Pb的统计质量量度

在应用中,用户应该知道输入数据的范围以确保其在正常的范围内。这步叫做质量控制,它是最终取得准确和可信结果的重要一环。以下是一些主要变量的输入/输出范围。包括油气比,煤气比重,相对煤气密度,油储温度。在输入和输出层使用起泡点压力和石油形成层参数进行PVT分析。

 油气比在26和1602之间,scf/stb  油量层参数在1.032和1.997之间变化  起泡点压力起于130止于3573 psia  油井温度从74F到240F  API比重在19.4和44.6之间变化。 煤气相对浓度改变从0.744到1.367 4.2 评价和质量度量

在学习完成后,我们进行了拟合模型能力和质量的评价和估计。为此,我们计算了大量的质量量度。诸如实际和预测输出之间的相关系数(r),根方误差(Erms),平均相对百分误差(Er),平均绝对百分误差(Ea),最小绝对百分误差(Emin),最大绝对百分误差(Ermax),标准差(SD)和执行时间。最好的模型有最高的相关性和最小的根方误差。

支持向量机建模法的性能与神经网络和最常用的经验公式进行了比较。其中使用三种不同的数据库。执行过程采用交叉验证(内部和外部交叉)并重复了1000次。我们得到了支持向量回归机建模法的良好结果,为了简便起见,这里只记录了一些必须的点。这些点能给读者关于支持向量机建模法精度和稳定性方面一个完整的图形。4.3统计质量度量

为了比较新模型与其他经验公式在精度和性能方面的差异,我们采用统计误差分析法。选用的误差参数如下:平均相对百分误差(Er),平均绝对百分误差(Ea),最小绝对百分误差(Emin),最大绝对百分误差(Ermax),均方根误差(Erms),标准差(SD),相关系数(R2)。为了说明支持向量机回归法的有效性,我们采用了基于三个不同数据库的校正模型。(i)160个观察点的数据库.(ii)283个观察点的数据库用于预测Pb和Bob(iii)Goda(2003)和Osman(2001)发表的包含782个观察点的全世界范围内的数据库。

结果表明支持向量机回归法具有稳定性和有效性。另外,它的性能在均方根误差,绝对平均百分误差,标准差和相关系数方面也超过了最流行的经验公式中的一种以及标准前向神经网络法。实验研究

我们在所有数据集上进行了质量控制检测并且删除了多余的和不用的观察点。为了评估每一种建模方法的性能,我们采用分层标准划分了整个数据库。因此,我们使用70%的数据建立支持向量回归机模型,30%的数据用于测试和验证。我们重复内部和外部验证过程各1000次。因此数据被分为2到3组用于训练和交叉验证。而在782组数据点中,382组用来训练神经网络模型,剩下的200组用来交叉验证训练过程中建立的关系,最后200组用于测试模型以评估其准确性和趋势稳定性。对于测试数据,我们用支持向量机回归建模法,前向神经网络系统和最著名的经验公式分别预测起泡点压力和石油形成层参数,并研究了他们不同质量度量的统计总和。

通常情况下,在训练了支持向量机回归建模系统后,我们使用交叉验证来测试和评价校正模型。

同时我们将支持向量机回归模型的性能和精度同标准神经网络和三种常用的经验公式进行了对比研究。这三种常用的公式分别是:Standing,Al-Mahroun和Glaso经验公式。5.1 参数初始化

本研究中,我们采用与Al-Marhoun&Osman(2002),Osman(2001)以及Osman&Abdel-Aal(2002)同样的步骤。其中采用单或双隐层的前向神经网络,该网络基于具有线性和S型激发函数的倒传递学习算法。初始权重随机获得,学习能力基于1000元或0.001目标误差和0.01学习率获得。每个隐层包括的神经元都与其相邻层的神经元连接。这些连接都有相关的权值,并可以在训练过程中调整。当网络可以预测给定的输出时训练完成。对于这两个模型,第一层包括四个神经元,分别代表油储温度,油气比,煤气比重和API石油比重的输入值。第二层包含用于Pb模型的七个神经元和用于Bob模型的8个神经元。第三层包括一个神经元,其代表Pb或Bob的输出值。我们使用的用于Pb和Bob模型的简略图正如Al-Marhoun&Osman(2002),Osman&Abdel-Aal(2002)论文中所述。它基于1000次的重复计算使得我们可以检测网络的泛化能力,阻止对训练数据的过拟合并且对所有运行取平均。

执行过程开始于对现有数据集的支持向量机建模,每次一个观察点,到时学习过程从现有输入数据集中获得。我们注意到交叉验证可让我们监视支持向量回归机建模的性能,同时阻止核网络过拟合训练数据。在执行过程中,我们采用三种不同的核函数,分别名为多项式,S型核以及高斯核。在支持向量回归机的设计中,首先初始化那些控制模型整体性能的参数,诸如kenel=’poly’,kernel opt=5;epsilon=0.01;lambda=0.0000001;verbose=0;以及常量C为简便起见取为1或10。交叉验证方法基于均方根误差作为训练算法中的检查机制来阻止过拟合和复杂性。Bob和Pb模型的结果权重如下表格和图表中所示。同时,如下所示,每一个输入参数的相对重要性在训练过程中确定,并由Bob和Pb模型给出。

5.2 讨论和对比研究

我们可以研究除已选择的检验公式之外其他常用的经验公式,更多关于这些公式数学表达式的细节可以参考EI-Sebakhv和Osman(2007)的文章。测试中的比对结果,在表1-6中分别进行了外部交叉验证总结。从结果中我们注意到支持向量机建模法优于采用倒传递算法的神经网络以及最流行的经验公式。提出的模型以其稳定的性能在预测Pb和Bob值时表现出了很高的精度,在采用三个不同数据集的情况下该模型在其他公式中得到了最低的绝对相对百分误差,最低的最小误差,最低的最大误差,最低的均方根误差以及最高的相关系数。

我们对所有计算机智能预测算法和最著名的经验公式预测所得的绝对相对百分误差EA和相关系数绘制了离散点图。每个建模方法由一种符号表示。好的预测方法应该出现在图形的左上部分。图3所示为所用建模方法EA以及R或r的离散点,这些方法使用Osman(2001)的数据库预测Bob。11

图3基于Osman数据库的所有建模法和经验公式法预测Bob的平均绝对相对误差和相关系数 我们注意到支持向量回归机建模法落在图形的左上部分,EA=1.368%和r=0.9884,而神经网络次之,EA=1.7886%和r=0.9878,其余的经验公式则有更高的误差且更低的相关系数。例如,AL-Marhoun(1992)的EA=2.2053%,r=0.9806,Standing(1947)有EA=2.7238%和r=0.9742以及Glaso公式的EA=3.3743%,r=0.9715。图4所示为同样的图形,只不过采用同样的数据集和建模方法来预测bP。我们注意到支持向量回归机建模法落在图形的左上部分,EA=1.368%和R=0.9884,而神经网络次之,EA=1.7886%和r=0.9878,其余的经验公式则有更高的误差且更低2的相关系数。例如,AL-Marhoun(1992)的EA=2.2053%,r=0.9806,Standing(1947)有EA=2.7238%和r=0.9742以及Glaso公式的EA=3.3743%,r=0.9715。

图4基于Osman数据库的所有建模法和经验公式法预测Pb的平均绝对相对误差和相关系数 我们也对其他数据集重复了同样的执行过程,但为了简便起见,本文并没有包括这些内容。这些数据集是Al-Marhoun(1988,1992)和Al-Marhoun&Osman(2002)以及Osman&Abdel-Aal(2002)。

图5-10所示为使用三个不同的数据集的试验数据对bpp和Bob所得预测结果的六张离散图形。这些交叉点说明了基于支持向量回归机的高性能试验值和预测值之间的吻合程度。读者可以对已发表的神经网络建模法和最著名的经验公式进行比较。最后,我们的结论是支持向量回归集建模法相比其他著名的建模法和经验公式有更好的性能和更高的稳定性。

在预测bpp和Bob时支持向量机优于标准前向神经网络和最常用的经验公式,其中使用4个输入数据:油气比,油储温度,煤气比重和煤气相对密度。

图5 基于Osman数据库的支持向量回归机预测Pb和Bob的平均交会图

图6 基于Osman数据库的支持向量回归机预测bP或bPP的平均交会图

图 7 基于Al-Marhoun,Osman和Osman&Abdel-Abal数据集支持向量回归机预测Bo的交会图

图 8 基于Al-Marhoun,Osman和Osman&Abdel-Abal数据集支持向量回归机预测bP的交会图

图 9 基于已有数据集(Al-Marhoun)支持向量回归机预测Bo的交会图

图 10基于已有数据集(Al-Marhoun)支持向量回归机预测bP的交会图

6结论和建议

在本研究中,我们使用三种不同的数据集来考察支持向量回归机作为一种新型模式在预测原油系统PVT参数过程中的能力。基于得到的结果和比对研究,我们得出如下结论:

我们使用支持向量回归机及4个输入变量来预测起泡点压力和石油形成层参数。这4个变量分别是:油气比,油储温度,石油比重和煤气相对密度。在石油工程领域,这两个参数被认为是原油系统PVT参数中最重要的。

成熟的支持向量回归机建模法优于标准前向神经网络和最常用的经验公式。因此,该方法相比其他方法有着更好,更有效和更可靠的性能。另外,该方法在预测Bob值时以其稳定的性能表现出了很高的准确性,同时得到最低的绝对相对百分误差,最低的最小误差,最低的最大误差,最低的根均方误差和最大的相关系数。因此,支持向量回归机建模法在油气工业中应用灵活,可靠并有着很好的发展前景。特别是在渗透率,孔隙率,历史匹配,预测岩石机械参数,流型,液体停止多相流和岩相分类中。

参数命名

Bob 起泡点压力附近的OFVF, RB/STB Rs 油气比,SCF/STB T 油储温度,华氏温度

r0 石油相对密度(水为1.0)

rg 煤气相对密度(空气为1.0)

Er平均相对百分误差 Ei 相对百分误差

Ea平均绝对百分相对误差 Emax 最大绝对百分相对误差 Emin 最小绝对百分相对误差

决策支持向量机 篇6

【关键词】改进的支持向量机;参数自动寻优;商业银行评级

目前运用支持向量机的研究中,主要用传统的支持向量机,对评级分类器则较少考虑。如果传统支持向量机算法来对银行进行分评级,不考虑评级分类器的优化,则最终的评级效果不会达到最优。

一、SVM原理

支持向量机(SVM)的主要思想有两点:一是针对线性可分的情况来分析,对于线性不可分的情况,通过核函数将低维空间中的线性不可分的样本映射到高维空间使得其线性可分。二是基于结构风险最小化理论,能够求得全局最优解。

(1)假设训练集T={(x1,y1),(x2,y2),…,(xi,yi),…,(xk,yk)}∈(X,Y)k,其中,X=Rn,Y={-1,+1},i=1,2,…,,k为训练样本的数量。(2)用非线性映射G(·)将线性不可分的低维空间X映射到高维线性空间Z中。将优化问题变为:

(1)

通过拉格朗日法,求得(1)的对偶式,再采用对称核函数K(xi,xj)代替点积G(xi)G(xi),(1)式转化成(2)式:

(2)

然后,将训练样本代入式(2),求解出€%Zi、b之后,带入(3),就可用来对新样本数据进行分类。

分类器为=sgn(3)

二、基于改进的SVM企业银行评级分类器

在SVM中,核函数K(xi,x)的作用就是把低維空间中非线性的数据映射到高维空间,它代替了高维空间中的内积运算,不需要映射后的样本在高维空间进行运算。本文运用以下三种函数:多项式核函数:K(x,y)=[(x隯y)+]d;高斯径向基核函数(RBF核函数):K(x,y)=e;神经网络核函数:K(x,y)=tanh(k隯x隯y)。进行组合得到新的组合核函数:

K组合核函数(x,y)=€%d1[(x隯y)+]d+€%d2e+€%d3tanh(k隯x隯y)其中€%di=1并且€%di>0。

三、银行评级分类系统设计与实现

1.系统架构。本文以基于多核函数的SVM,设计和实现了一个能够对银行信用进行评级的系统,系统架构(如图1所示):

2.系统实现。该系统硬件采用Inter Pentium D 3.0GHz CPU,1G内存,软件采用Eclipse3.6,JAVA语言来设计。系统共四个模块,功能和实现方法如下:(1)财务数据读取模块从财务数据集当中随机选取出4/5的数据作为训练数据,1/5的作为待评级数据,并且将读取的数据传到分类器模块。(2)分类器模块采用3.3所示基于改进的SVM企业银行评级算法来进行分类和泛化推广。(3)输出模块打印出训练财务数据类型、训练财务数据数目、训练时间、分类时间、被正确分到某一级的银行、被错误分到某一级的银行、属于某一级,但是被错误分到其它级的银行数目、准确率、召回率、F1值,以及相应的核函数参数。

四、实验结果与分析

(1)实验数据。在本文中,使用的财务数据来自于国泰安数据服务中心提供的企业财务数据数据(http://www.gtarsc.com/p/user/home.aspx)。(2)实验方案及实验结果。设算法I为基于传统的SVM企业银行评级算法,算法II为基于组合核函数的SVM银行评级算法。最后,采用准确率(设为p)、召回率(设为r)、F1指标来评价分类结果。其中,设a为被正确分到某一类的银行数,b为被错误分到某一类的银行数,c为属于某一类但是被错误分到其它类的银行数。则r、p被分别定义为r=,p=。F1指标定义为:F1=。(3)实验结果。从表1可以看出,分类算法II的准确率、召回率和F1值比分类算法I的都要高;从而提高了银行信用评级的准确度。

表1 不同银行评级算法的实验结果

支持向量机研究现状 篇7

SVM的应用同其理论的发展相对比要滞后许多, 其应用的范围和取得的效果同SVM的优越性很不匹配, 主要原因是算法的限制, 即运行效率低。因为标准SVM运行要消耗大量的时间, 并且随着训练样本数量的增加训练时间也会增加, 尤其对大量数据的处理更为棘手。现实当中所处理的问题一般数据量是非常大的, 所以在很多情况中受到约束。

目前, 对SVM的研究主要集中在以下几个方面:改进训练算法;提高测试速度;核函数的构造、改进以及相应参数的调整;利用SVM解决多类问题。

(一) 支持向量机

支持向量机主要是用来处理二类问题的。在原始数据空间中, 如果存在一个线性函数无错误的把数据分开, 那么称该数据集完全线性可分;如果存在一个线性函数可以以低错误率把数据分开, 则称该数据集是近似线性可分;如果存在非线性函数把数据集分开, 则称该数据集非线性可分。以下将详细介绍支持向量机的分类模型。

1. 线性可分问题

对于给定的一组数据

可以被一个超平面

分开, 如果这个向量集合可以被超平面没有错误的分开, 并且离超平面最近的向量与超平面之间的距离 (margin) 是最大的, 则我们说这个向量集合被这个最优超平面 (或最大间隔超平面) 分开。在超平面上的点称为支持向量 (support vectors) , 如图1所示:

我们用下面的方式来描述分类超平面H2 H3

由于margin越大分类器的泛化能力越强, 要得到最大的margin只需要使|w|最小。可以通过求解以下的最优化问题来得到最优解。

利用Lagrange优化方法可以把上述最优分类面问题转化为其对偶问题即:

解上述问题后得到的最优分类函数是:

2. 线性不可分问题

最大间隔超平面是在线性可分的前提下讨论的, 在线性不可分的情况下, 目标函数w (α) 的值将是无穷大的。可以在约束条件上加入一个松弛变量ξi≥0, 这时的最大间隔超平面称为广义最优分类超平面。

引入ξi的目的就是允许错分的情况出现, C是一个由用户自己选择的惩罚参数, C越大意味着对错误出现进行的惩罚更高, 参数C也可以被认为是一个调整因子。SVM更倾向于在使分类间隔margin最大化的前提下使C最小。C越大出现错分数据的可能性也就越小。

相应的, 广义最优分类超平面可以通过解下面的对偶问题得到:

3. 非线性SVM

对于非线性问题, 可以通过非线性变换转化为某个高维空间中的线性问题, 在变换空间求最优分类面。这种变换可能比较复杂, 因此这种思路在一般情况下都不容易实现, 但是注意到在以上的对偶问题中, 无论寻求最优函数还是分类函数都只涉及到训练样本之间的内积, 这样, 在高维空间实际只需要进行内积运算, 而这种内积运算是可以在原空间中的函数实现的, 甚至没有必要知道变化的形式。即使变换空间的维数增加很多, 在其求解最优分类面的问题中并没有增加多少的计算复杂度。其基本思想如下:支持向量机利用某种事先选择的非线性映射, 将输入向量x映射到一个高维特征空间, 然后在高维空间中求最优分类面。如图2所示。

可得在特征空间中的最优分类如下;

(二) 多分类支持向量机

SVM本身是解决两类分类问题的, 人们在两类算法的基础上, 对多类算法进行了深入的研究。目前处理多类SVM问题的方法主要有一对一方法、一对多方法、有向无环图方法、层次方法和纠错编码方法等。以下主要介绍一对一方法、一对多方法。

1. 一对多的方法 (One-against-the-rest Method)

支持向量机多类分类方法最早使用的算法就是一对多方法, 要构造多类分类器, 通常的方法是构造一系列的两类分类器, 其中的每一个分类器都把其中的一类同余下的各类分开。然后根据此推断输入的向量归属。一对多的方法是对于k类问题构造k个分类器, 在构造某个分类器的时候, 将属于这类的数据样本标记为正类, 不属于此类的样本标记为负类。测试时, 对测试数据分别计算各个子分类器的决策函数值, 选取函数值最大所对应的类别为测试数据的类别。

此种算法一个很明显的优点是只需要训练k个两类分类器, 所以得到的分类函数的个数也比较少, 分类速度也比较快。

这种算法的缺点也是很明显的, 每个分类器的训练都是将全部的样本作为训练样本, 这样就需要求解k个n个变量的二次规划问题, 因为支持向量机的训练时间是随着训练样本数量的增加而增加的, 所以这种方法的训练时间比较长。另外, 此种算法还会出现不对称的问题, 处理这类问题的时候我们通常采用的方法是对不同类别使用不同的惩罚因子。

2. 一对一的方法 (One-against-the rest Method)

这种方法也是基于两类问题的分类方法, 不过这里的两类问题是从原来的多类问题中抽取的。具体做法是:分别选取两个不同类别构成一个子分类器, 这样共有k (k-1) /2个SVM子分类器。在构造类别i和类别j的SVM子分类器时, 在样本数据集中选取属于类别i、类别j的样本数据作为训练数据, 并将属于类别i的数据标记为正, 将属于类别j的数据标记为负。

测试时, 将测试数据对k (k-1) /2个SVM子分类器分别进行测试, 并累计各类别的投票, 选择得分最高者所对应的类别为测试数据。

在一对一的方法中, 需要多个两类的分类器。对k类问题就需要构造k (k-1) /2个两类分类器, 比介绍的一对多的分类方法得到的分类器数目多很多, 但是每个分类器的规模却要小很多。如果k很大就会严重的影响算法的执行速度。

总的来说, 这种方法的优点是其训练速度较一对多方法快, 缺点是分类器的数目k (k-1) /2随分类数k急剧增加, 导致在决策时速度很慢, 且存在不可分区域。

此外还有其它的一些方法, 基于二叉树的多类支持向量机分类方法, 这种方法需要训练的两类支持向量机的数量少, 随着训练的进行, 总共训练样本数和一对多方法相比减少了许多。多级支持向量机方法, 采用先聚类再分类的策略, 不存在明显的不可分区域。因此它的测试精度明显高于上述几种方法, 而且测试速度也较快。但是, 这种方法在处理维数很高的数据时需要构造邻接矩阵, 这就导致训练时间比较长。对于大规模问题, 一对一方法和决策有向无环图方法更适于实际应用。二者所需的训练时间相当, 测试阶段决策有向无环图方法更快一些, 但其结构使实现过程更为复杂。

(三) 支持向量机反问题

对于给定的一组没有决策属性的样本点, 我们可以随机的把其分为两类。此时我们可以利用前面的知识来求出最优分类超平面, 并计算出最大间隔。若划分为两类的样本点线性不可分, 间隔计为0。显然, 间隔的大小取决于对原样本点的随机划分, 支持向量机反问题就是如何对样本点进行划分, 才能使最优分割超平面的间隔达到最大。对支持向量机反问题的研究是源自于设计一种新的决策树生成算法。现有的很多决策树算法如C4.5, 往往得不到好的执行效果, 由于支持向量机中最优超平面的间隔与其推广能力的关系, 具有最大间隔的样本划分, 被认为是生成决策树的新的启发式信息。

支持向量机是一个优化问题, 其数学描述如下:设S={x 1, x 2, ..., xN}为一个包含N个事例的给定数据集合, 且mx∈R, i=1, 2, ..., N,

另外

对于给定的一个函数f∈Ω, 样本集s被划分为两个子集, 并可以计算出相应的间隔 (margin) , 我们用Margin (f) 表示由函数f所决定的间隔 (泛函) , 那么SVM反问题就是要求解如下问题:

由于此优化问题的复杂度随着训练样本个数的增加而呈指数级增长, 枚举出Ω中所有的函数来求最大间隔是不现实的, 而且目前也很难给出一个十分严格的算法, 可以用减少Ω中函数个数的方法来降低其复杂度。

(四) 结论

本文综合介绍了现有的SVM经典训练方法, 说明了各种SVM在处理各类问题上的优缺点, 今后SVM的主要研究方向是确定不同的优化目标, 根据KKT约束优化条件寻找大规模训练样本下的实用算法, 反问题算法的提出扩展了SVM的应用领域, 成为新的研究热点之一。

参考文献

[1]Christopher J.C.Burges.A tutorial on support vector machinesfor pattern recognition[J].Data Mining and Knowledge Discovery, 1998, 2 (2) :121-167.

[2]Danny Roobaert, Marc M.Van Hulle.View-based3d-object recognition with support vector machines.IEEE Neural Networks for Signal Processing Workshop, 1999.

[3]刘胜利.基于SVM的网络入侵检测研究[R].江苏:大连海事大学硕士论文, 2004:4-11.

[4]柳回春, 马树元.支持向量机的研究现状[J].中国图象图形学报, 2002, 7 (6) :619-623.

常用支持向量机算法分析 篇8

支持向量机 (Support Vector Machines简称S V M) 追求的是在有限样本情况下的最优解而不仅仅是样本数趋于无穷时的最优解, 它具有很好的推广性能, 对未知样本的预测有较高的准确率, 因此得到广泛应用, 目前SVM已成为国际上机器学习领域的研究热点。

1 分块算法

“块算法”基于的是这样的事实, 即去掉Lagrange乘子等于零的训练样本不会影响原问题的解。对于给定的训练样本集, 如果其中的支持向量是已知的, 寻优算法就可以排除非支持向量, 只需要对支持向量计算权值 (即Lagrange乘子) 即可。实际上支持向量是未知的, 因此“块算法”的目标就是通过某种迭代方式逐步排除非支持向量。具体的作法是, 选择一部分样本构成工作样本集进行训练, 剔除其中的非支持向量。并用训练结果对剩余样本进行检验, 将不符合训练结果 (一般是指违反KKT条件) 的样本 (或其中的一部分) 与本次结果的支持向量合并成为一个新的工作样本集, 然后重新训练。如此重复下去直到获得最优结果, 其收敛性在文献中得到了证明, 同时在文献中也对分解算法的收敛性进行了研究。这种方法当支持向量的数目远远小于训练样本数目时, “块算法”显然能够大大提高运算速度。

2 子集选择算法

把问题分解成为固定样本数的子问题:工作样本集的大小固定在算法速度可以容忍的限度内, 迭代过程中只是将剩余样本中部分情况最糟的样本与工作样本集中的样本进行等量交换, 即使支持向量的个数超过工作样本集的大小, 也不改变工作集的规模, 而只对支持向量中的一部分进行优化。

这个思想最早由Osuna等人提出来的。在Osuna算法中, 首先建立一个工作集, 保持其大小不变, 在解决每个二次规划子问题时, 先从工作集中移走一个样本, 并加入一个不满足KKT条件的样本, 再进行优化。固定工作样本集的方法和块算法的主要区别在于:块算法的目标中仅包含当前工作样本集中的样本, 而固定工作样本集方法虽然优化变量仅包含工作样本, 其目标函数却包含整个训练样本集, 即工作样本集之外的样本的Lagrange乘子固定为前一次迭代的结果, 而不是像块算法那样设为0。而且固定工作样本集方法还涉及到一个确定换出样本的问题 (因为换出的样本可能是支持向量) 。这样, 这一类算法的关键就在于找到一种合适的迭代策略使得算法最终能收敛并且较快地收敛到最优结果。

3 序列最小优化算法

Platt在中提出SMO (Sequential Minimal Optimization或SMO) 算法。将工作样本集的规模减到最小 (两个样本) 。之所以需要两个样本是因为等式线性约束的存在使得同时至少有两个Lagrange乘子发生变化。由于只有两个变量, 而且应用等式约束可以将其中一个用另一个表示出来, 所以迭代过程中每一步的子问题的最优解可以直接用解析的方法求出来。这样, 算法避开了复杂的数值求解优化问题的过程, 此外, Platt还设计了一个两层嵌套循环分别选择进入工作样本集的样本, 这种启发式策略大大加快了算法的收敛速度。

对Platt的SMO算法, Keerthi等通过对S V M算法的分析在文献中提出了重大改进, 即在判别最优条件时用两个阈值代替一个阈值, 从而使算法更合理, 更快。其收敛证明在文献中。并通过实际数据的对比, 证明确实比传统SMO快。同时也指出S M O算法应用于回归等类似的问题。Ronan将考虑了上述改进的SMO算法应用于分类和回归问题, 实现了比SVMlight更强的软件包。Pavlov提出了速度快于SMO方法的Boost-SMO方法。为了弥补SMO在求解线性支持向量机当中的不足, K a iMin Chung提出了线性支持向量机的分解算法。

4 增量式算法

文献提出一种增量式学习方法, 其将增量集合作为测试集合, 将所有违反K K T条件的样本与原先的支持向量集合作为新的训练集合, 而将所有正确分类的样本抛弃, 然而对于新的分类器的偏转和移动, 这些样本也有可能成为违反K K T条件的样本, 所以如果将这些样本抛弃, 有可能会丢失有用信息, 影响分类器的精度。

文献[1]提出一种在线训练支持向量机的方法, 其从实验结果证明了其学习速度快于S M O方法, 但其是从两个样本开始, 新的样本是一个一个地增加的, 每检测到一个违反KKT条件的样本, 都要进行一系列的循环训练, 直到全部被正确分类为止, 这样当支持向量的数量较少时, 求解二次规划的规模较小, 速度可以较快, 但当支持向量数量较多时, 每新增一个违反K K T条件的样本都求解一次大规模二次规划问题, 支持向量机的训练速度会大大降低, 这时其在线学习的时间会明显增加, 其效率明显降低。

5 SVM多类分类方法方面的研究

支持向量机最初是为两类分类问题而设计的, 如何有效地将其应用到多类分类问题, 是当前支持向量机研究的一个重要方面。目前, 构造S V M多值分类器的方法主要有两类, 一类是同时考虑多类的分类方法:V.Vapnik[2], Weston[3]在1999所提出的多值分类算法, 与前面方法对等的还有文献中所提出的方法。C r a m m e ra n d Singer在2000年提出的多类分类算法。

另一类算法的基本思想是通过组合多个二值子分类器实现对多类分类器的构造。

1-a-r (1-against-rest) 方法, 对于N类问题, 构造N个分类器, 第i个SVM用第i类中的训练样本作为正的训练样本, 而将其它的样本作为负的训练样本。最后的输出是两类分类器输出最大的那一类, 其缺点是它的泛化误差无界。

1-a-1 (1-against-1) 方法, 该算法在N类训练样本中构造所有可能的两类分类器, 每类仅仅在N类中的2类训练样本上训练, 结果共构造K=N (N-1) /2个分类器。

Platt等提出了一个新的学习架构:决策导向的循环图 (Decision Directed Acyclic Graph, DDAG) , 将多个两类分类器组合成多类分类器。对于N类问题, DDAG含有N (N-1) /2个分类器, 每个分类器对应两类, 其优点是泛化误差只取决于类数N, 和节点上的类间间隙 (Margin) , 而与输入空间的维数无关, 根据D D A G提出算法D A G S V M, D D A G的每个节点和一个1-a-1分类器相关, 其速度显著比标准算法 (1-a-r) 或最大值算法 (Max Wins) 快。

摘要:支持向量机是在统计学习理论的VC维理论和结构风险最小化原则的基础上提出的一种新的模式识别技术, 本文对于当前常用支持向量机的几种算法进行了总结和分析, 对于今后提出更精确的方法做了充分的准备。

关键词:支持向量机,机器学习,模式识别

参考文献

[1]Lau K W, Wu Q H.Online Train-ing of Support Vector Classifier[J].Pat-tern Recognition, 2003, 36:1913~1920.

[2]Vapnik V.Statistical LearningTheory[M].New York:Wiley, 1998.

用支持向量机建模学习过程 篇9

1 支持向量机

支持向量机(SVMs)是学习分类器。例如,神经网络学习分类器。但它们使用的概念略有不同。支持向量机(SVMs)是一个线性分类器的概括,与神经网络相比,SVMs关键的优越性是其创建和训练算法[2]。

1.1 线性分类器

在超平面的帮助下,线性分类器可以把输入空间分成两个部分:类A为类B。位于超平面上部的每一点属于类A,面位于超平面下部的每一点属于类B。图1显示了一个已分类的数据集。在式(1)定义的平面D是分类器的唯一参数。如果xi被分为类A和类B,如果分类器是经过训练的,这些数据的分类可以由式(2)和式(3)来实现。

x,y〉代表标准点积 〈x,y〉=xy1+xy2+…

D≡〈w,x〉+d=0 (1)

xiA⇒⇐ 〈w,xi〉+d>0 (2)

xiB⇒⇐ 〈w,xi〉+d<0 (3)

然而,由两个约束条件组成系统的训练并非无足轻重。如果具备式(4)和式(5),那么分类的条件就变成了式(6)

y1=1⇒⇐ xiA (4)

y1=-1⇒⇐ xiB (5)

yi·(〈w,xi〉+d)>0 (6)

正如式(6)验证的每个点,训练就是要寻找wd。但这里存在着无数个分离平面,需要从这些平面中选择一个。尽量选择一个最能概括分类器的平面。也就是说,使用一些没有包含在训练集合中的数据,也能得到比较好的结果。这决定使用式(7),如同在图3中显示的那样,有两个分离平面,每一个平面对应一个yi值,平面间的距离称为边界。可以表明,边界是与1|w|成比例的[4]。

为获得更概括的分类器,必须把边缘最大化,或者最小化|w|,这将被用于训练算法

yi·(〈w,xi〉+d)≥0 (7)

验证式(8)的那些点称为支持向量。这些点支持此解决方法,其分布在限定平面上,并且位于它们类的边缘

yi·(〈w,xi〉+d)=0 (8)

可以证明,向量w是支持向量的一个线性组合[1]。式(8)和式(9)的组合可被改写为式(10),现在分类的条件与训练数据无关

w=∑ajyjxjaj≥0 (9)

aiyixi,x〉+d≥1 (10)

现在的训练在于寻找aid。每个不能验证式(8)的点,系数ai将为空。因此可以把它从解决方法中移走,这是训练所要达到的目标。支持向量及其相应的系数作为分类器的参数。

图4表明的解决平面都依赖于支持向量,因为它们都共享法线w,这些平面必定互相平行。可以证明,去掉一个非支持向量的向量,解决方法并不改变。这是合乎逻辑的,因为它们的ai为空,所以不会改变分类器的参数。

如果想用一个新数据集来训练系统,没有必要添加整个旧数据集,需要的仅是旧数据集中的支持向量。

1.2 非线性可分离数据集的扩展

如果输入空间被转换成一个高维空间,非线性可分离数据集也可以变成线性可分离的。图5就显示了这样一个空间转化的概念。

图6(a)显示了一个具体的例子。如果试图用线性分类器为这些数据集分类,则无法获得分离平面。如果在式(11)的帮助下,把一维的空间转换成一个二维的空间,那么这时候数据集就是线性可分离的。图6(b)表示转换过程和一个成功的分离平面。这个举例虽然简单,但也表明这种转化为更高维空间的可行性。

Ø(x)=(x,x2) (11)

1.3 核心函数

如果转换应用于每一个向量xiw,式(10)就变成了式(12)。〈Ø(xi),Ø(x)〉是两个转换向量的点积。尽管转换空间已成为高维的,但返回值将总是一个标量值。可以把〈Ø(i),Ø(x)〉当成一个简单的函数,其功能就是要返回一个标量。这个函数称为kernel(K)。式(13)给出了这个函数K(x,y)定义。现在不需要强求知道Ø(x)的值。此时的Ø(x)也可以转换数据到一个无限纬度空间。作为一个举例,式(11)表示的等价核心的转换将在式(14)中计算。现在可以重写分类条件,最后形式如式(15)所示

核心函数必须验证在文献[1]中可以看到的条件。这种情况下,一些Ø(x)与核心函数匹配。式(16)中的核心函数具有如下的一些重要属性

式(17)展示了一些经典的核心函数。它们可以同式(16)中显示的属性相结合

1.4 训练

如前所述,在式(7)的约束下,训练在于寻找wb。使用式(9),在式(15)的约束下,训练就是要寻找aib。目标是要找到一个最概括的分离平面。必须最大化边界或最小化|w|。于是算法训练就变成了式(18),这是一种有条件的优化。

应用拉格郞日优化理论,式(18)就变成了式(19)[2]。式(19)是一种二次优化问题。二次优化理论表明问题是凸起的,不存在局部最小化问题。在这个优化问题中,通常可以找到最好的结果。这是支持向量机(SVM)的一个重要优势:当给定数据集并选中核心函数后,通常可以找到最好的结果。多次训练这个系统都是得到一个完全相同的结果。虽然二次优化算法有很多种,此处仅介绍支持向量机,更多的信息可以在文献[3]中找到

minw12|w|2withaiyiΚ(xi,x)+d0 (18)

maxaiai-12i,jaiajyiyjΚ(xi,xj) (19)

2 短期记忆模型化

分类器系统是采用收集的数据集进行训练。在一个神经网络中,不可能决定或者知道何时网络忘记过去学到的东西。在支持向量机(SVM)中,分类是支持向量和它们的系数ai来描述的。这些向量是收集到的数据集的一部分。这样就有可能给每个向量标定日期。然后,经过一定的时间段,为取消向量的影响,可以把它从解法集中移走。整个数据集就可以不断地减少最老的向量,增加最新的向量。图7显示了移走一个过时的支持向量时,相应的解法集的变化情况。图8显示了添加一个新的支持向量时,相应的解法集的变化情况。

一方面,只要支持向量没有改变,训练就会给出完全一样的结果,解法集也不会改变,并且训练速度也非常快。另外一方面,如果移走一个支持向量,与第一情况相比,训练需要的时间会更长一些,但训练速度也很快,因为非支持向量的数据权重(ai)仍然为零。

系统派生可能会是一个问题,而且除了支持向量和它们的系数ai,解法也受到所选择核心函数的约束。虽然这或许是一个优点,或是一个缺点,因为要选择这样的一个核心就可能会非常棘手。

这种技术在一个充满变化的环境中相当有用,因为过去学习到的知识对现在不会有无止境的影响。对于神经网络,如果环境发生了变化,一些决策可能就不再有效。有时为了纠正这种趋势,会犯多次错误。而对于带有标定日期的支持向量机(SVM),只会有一次错误或一次长时间的等待。

虽然只在SVM中介绍了这种技术,显然,这种技术也可适用到其他的分类器,只要分类器是从训练数据集中得到的数据来表示它们的参数,例如最邻近算法(KNN,K-Nearest Neighbors)。在加强学习方面,这种SVM可以代替神经网络。

3 CPU的消耗限制

评估点x的值,需要计算方程。这种分类需要计算K(x,y)的值和每个支持向量的两个乘积。重要的是限制分类器对CPU的消耗。降低CPU消耗的唯一方法是限制支持向量的数目,并限制到一个固定值。使用这些带有日期的系统,支持向量数目太高时,最老的支持向量在评估时可以抛开不计。然而,抛开不计的支持向量不能从训练数据集中移走。由此,支持向量必将被另外一个取代。这种行为将会降低分类器的有效性。在游戏中,限制支持向量的数目非常重要,因为它在决策中引入了一些噪音,所以效率下降并非总是坏事

4 结束语

介绍了支持向量机(SVMs),引出了老化数据的概念。尽管这一概念可以用于大多数的分类器系统,但SVM是个很好的候选者,因为分类器的参数是用训练数据集来表示的,还为支持向量的数量限制和CPU消耗的限制提出了解决方法。

参考文献

[1] BURGES C.A tutorial on support vector machines for pattern recognition[J].Knowledge Discovery and Data Mining,1998,2(2):955-974.

[2] CRISTIANINI N.Tutorial on support vector machines and kernel methods[EB/OL].(2010-08-26)[2011-12-19]http://www.support-vector.net/icml-tutorial.pdf.

[3]GOULD N,PHILIPPE T.A quadratic programming page[EB/OL].(2010-03-17)[2011-12-10]http://www.numeri-cal.rl.ac.uk/qp/qp.html.

能源需求的支持向量机预测 篇10

能源与人民生活、工业生产以及我国经济的发展息息相关。能源消费总量指一定时期内全国物质生产部门、非物质生产部门和生活消费的各种能源的总和, 包括原煤和原油及其制品、天然气、电力, 不包括低热值燃料、生物质能和太阳能等的利用。尤其是近期以来, 许多省份出现了能源供给危机, 能源供给安全问题又一次提上了人们的议事日程。因此, 建立能源需求量模型, 对未来数年的能源需求作出预测, 并分析能源需求的特点, 对制定合理的经济发展战略和能源安全战略等有着重要的借鉴意义。影响能源实际消费量的因素有很多, 而且有些因素也难以量化, 许多影响的因素不可预知, 用常规方法很难估算来年的能源需求。文献[1]采用灰色理论对能源需求进行了预测, 文献[2]用组合模型对能源需求进行了预测。本文分别采用灰色预测、神经网络预测和支持向量机预测, 对三种方法进行了精度比较。

1 灰色预测

将序列建成具有微分、差分、近似指数律兼容的模型, 称为灰色建模[3]。1阶1个变量的GM模型记为GM (1, 1) , 若有序列x (0) :

x (0) = (x (0) (1) , x (0) (2) , …, x (0) (n) ) ,

x (0) 进行累计和:x (1) =AGOx (0) , 则方程

dx (1) dt+ax (1) =b (1)

如果令a^为参数向量, 即a^= (a, b) Τ, 则在最小二乘准则下, 有a^= (BΤB) -1BΤyΝ, GM (1, 1) 的下述形式

{x^ (1) (k+1) = (x (0) (1) -ba) e-ak+bax^ (0) (k+1) =x^ (1) (k+1) -x^ (1) (k) (2)

称为GM (1, 1) 时间响应式, 上标^表示计算值。某中小城市的1999 ~ 2006年能源需求和灰色预测数据见表1。

2 神经网络预测

人工神经网络 (NN) [4]是一类模拟生物神经系统结构, 由大量处理单元组成的非线性自适应动态系统。神经网络是通过把问题表达成单元间的权来解决问题的。这里采用三层前向神经网 (BP) , 神经网络输入神经元有1个, 隐层有3个神经元, 1个输出神经元。时间作为神经网络的输入向量, 需要预测的量为输出 (变换到[0, 1]区间内) , 然后用前10年的数据训练这个网络, 使不同的输入得到不同的输出。学习过程由正向传播和反向传播组成。正向传播过程中, 输入信号从输入经隐层单元逐层处理, 并传向输出层, 每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出, 则转入反向传播, 将输出信号的误差沿原来的连接通路返回, 通过修改各层神经元的权值, 使得误差最小。B-P及其改进算法较多, 这里不再详述。由B-P算法就可得到训练好的权值和阈值, 调用这些权值和阈值, 通过正向传播, 输出值就是预测值。经过训练好的网络所持有的权系数和阈值, 便是预测值与时间的内部表示。转移函数选的是S型函数, 动量因子为0.2, 学习率为0.5, 允许误差为0.01。1999 ~ 2006年能源需求的预测数据见表1。

3 支持向量机预测模型

支持向量机具有完备的统计学习理论基础和出色的学习性能, 是一类新型机器学习方法, 已成为机器学习界的研究热点, 并在如人脸检测、手写体数字识别、文本自动分类、多维函数预测等领域都取得了成功应用。支持向量机 (SVM) 解决回归问题的基本原理如下[5]:

设训练样本集D={ (xi, yi) |i=1, 2, , l}, xiRn, yiR

首先介绍线性回归问题, 线性回归方程为:

f (x) =<w, x>+b (3)

常用的损失函数有ε-insensitive损失函数、Quadratic损失函数、Huber损失函数和Laplace损失函数等。这里采用ε-insensitive损失函数, 其形式如下:

Lε (y) ={0|f (x) -y|<ε|f (x) -y|-ε (4)

支持向量机解决回归问题, 可转化为求解下列数学规划问题:

minw, b, ξi, ξi*Φ=12|w|2+Ci=1l (ξi+ξi*) s.t. ( (wxi) +b) -yiε+ξii=1, 2, lyi- ( (wxi) +b) ε+ξi*i=1, 2, lξi, ξi*0, i=1, 2, l (5)

其对偶问题为:

maxα, α*W=-12i=1lj=1l (αi-αi*) (αj-αj*) [xi, xj]+i=1l[αi (yi-ε) -αi* (yi+ε) ]s.t.i=1l (αi-αi*) =00αi, αi*C, i=1, 2, l (6)

解规划 (6) 式, 得到拉格朗日乘子αiα*i, 则回归方程 (3) 式中的系数为:

w=i=1l (αi-αi*) xi (7)

对于非线性回归, 回归方程为:

f (x) =i=1l (αi-αi*) Κ (xi, x) +b (8)

求解下列规划问题:

maxα, α*W=-12i=1lj=1l (αi-αi*) (αj-αj*) Κ (xi, xj) +i=1l[αi (yi-ε) -αi* (yi+ε) ]s.t.i=1l (αi-αi*) =00αi, αi*C, i=1, 2, l (9)

(9) 式中K (xi, x) 为核函数, 核函数可以有不同的形式, 如多项式核、高斯径向基核、指数径向基核、多层感知核、样条核等。这里把时间序列作为输入, 实际值作为输出。核函数K (xi, x) 采用高斯径向基核函数:

Κ (xi, x) =exp (-|xi-x|2σ2) (10)

参数设置如下:C=1 000, ε=0.1, σ=18, 采用支持向量机Matlab工具箱 (SVM工具箱网址:http://www.isis.ecs.soton.ac.uk/isystems/kernel/) 。1999 ~ 2006年能源需求的预测数据见表1。表2显示了各种方法的误差的平方和、平均相对误差和最大相对误差, 从表2可以看出, 支持向量机预测方法精度较高, 效果较差的是神经网络方法。灰色预测实质上是指数预测, 原数据具有指数递增特性时。采用灰色预测效果比较好, 反之, 效果并不如意;神经网络预测方法具有收敛速度慢和容易陷入局部极值等缺点;而支持向量机预测方法具有速度快, 精度高等优点, 效果比较好。

4 结束语

依照过去8年的主要统计数据, 能源需求呈增长趋势。对能源需求做出较为准确的预测, 希望能对相关部门和人员把握市场或进行决策有所裨益。支持向量机的训练问题本质上是一个经典的二次规划问题, 它可避免局部最优解, 并且有唯一的全局最优解。在核函数的选择上, 本文采用高斯径向基核函数, 其收敛速度快, 具有全局收敛等特性;比传统的预测方法及神经网络方法有更高的计算精度, 是一种很有价值的新方法。

摘要:对灰色、神经网络和支持向量机的三个预测模型进行了研究, 以某城市的1999—2006年能源需求为例, 对能源需求进行了预测。经过比较, 支持向量机的预测方法精度较高。

关键词:灰色系统,神经网络,支持向量机,能源

参考文献

[1]王兴艳, 佘元冠, 邵剑华.“十一五”我国能源需求预测.技术经济与管理研究, 2006; (5) :29—30

[2]卢二坡.组合模型在我国能源需求预测中的应用.数理统计与管理, 2006;25 (5) :505—511

[3]邓聚龙.多维灰色规划.武汉:华中理工大学出版社, 1990:30—35

[4]张立明.人工神经网络的模型及其应用.上海:复旦大学出版, 1994:32—47

决策支持向量机 篇11

关键词:支持向量机;SVM;PRP-SVM;CGM-OC-SVM

中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)15-30814-02

A Algorithm of SVM for any Kernel

TAO Mei, Wushour·Silamu

(School of Information and Engineering Xinjiang University,Wulumuqi 830046, China)

Abstract: Taking support vector machines (SVM) and the traditional statistics classification method as the research object, introduces the classification method theory of SVM algorithms,and based on PRP-SVM,then puts forward the orthogonal adjustment conjugate gradient iteration algorithm of support vector machines (CGM-OC-SVM), meanwhile the CGM-OC-SVM algorithm is carried out by the C programming language,and doing a graphic simulation using Matlab.

Key words: Support vector machine; SVM; PRP-SVM; CGM-OC-SVM

1 引言

数据挖掘中,数据的分类与回归问题是其重要的研究对象。常用于分类和回归的方法,如Bayes 分类、Logistic 回归、神经元网络等在实现机器学习时,都是基于经验风险最小化原则的。然而,一般在有限样本的情况下,经验风险最小不一定意味着期望风险最小,在有些情况下会出现“过学习”和推广性不好等情况,得到的实验结果并不是很理想。

Vapnik 于上世纪90年代初提出的支持向量机(SVM),是数据挖掘中的一项新技术。它是在统计学习理论的基础上,借助于最优化方法解决机器学习问题的新工具。该算法是一个凸优化问题,即局部最优解就是全局最优解,这是其他学习算法所不及的。SVM 基于结构风险最小化原则,能很好地解决有限数量样本的高维模型构造和“过学习”问题,具有良好的推广性和较好的分类精确性,已被应用于人脸识别、医疗诊断等方面。

尽管SVM 的应用领域很广,但其理论研究还相对滞后,其中就包括算法本身改进和算法的实际应用。支持向量机分类器最终可以转化为解决一个二次规划问题,目前的研究大都集中于如何在训练数据较多的情况下来解决这个二次规划问题。现基于改进共轭梯度迭代PRP-SVM 算法的基础,提出一种对任何SVM 核通用的正交校正共轭梯度迭代支持向量机算法(CGM-OC-SVM),并通过程序实现此算法,利用Matlab进行算法结果的图形模拟。

2 支持向量机(SVM)

SVM与传统统计学的大样本量研究方向不同,它最大的特点是遵循“结构风险最小化原则”,尽量提高学习机的泛化能力,即由有限的训练样本集获得小的误差的特性,保证对独立的测试集有小的误差,从而解决了有限样本的“过学习”问题(即机器复杂性越高,则置信范围越大,导致真实风险与经验风险可能的差别越大)。目前,该技术已应用到手写体识别、人脸识别、指纹识别、语音识别、数据挖掘等领域。

SVM的核心理论包括:(1)VC维理论,不仅要使机器学习的经验误差最小,而且应该最小化函数集的VC维,从而控制学习机的结构误差,使SVM分类器具有较强的泛化能力;(2)引入最优超平面概念,使函数的VC维上届达到最小,而最优超平面问题可以转化为二次规划问题;(3)核空间理论,通过非线性映射将输入空间映射到高维特征空间,使低维输入空间线性不可分问题转化为高维特征向量空间线性可分问题,并通过核函数绕过高维空间,使计算在低维输入空间进行,从而不需知道非线性映射的具体形式。

2.1 线性SVM最优分界面

2.1.1 线性可分情况

假定训练数据为 个观测样本(x1,y1),(x2,y2)…(xn,yn),xi∈Rp,yi∈{+1,-1},则存在超平面(w·x)+b=0线性可分,使训练点中的正类输入和负类输入分别位于该超平面的两侧,或者说存在参数对(w,b),使得yi=sgn((w·xi)+b),i=1,…,n这样的超平面通常不止一个,因此,我们的目的是要找到一个最优分类超平面,使分类面经验风险最小(即错分最少),并且推广能力最大(即空白最大)。如图1中(a)、(b)所示:

图1 2-class分类

SVM问题的数学表示为:

2.1.2 线性不可分情况

2.2 非线性SVM最优分界面

在很多情况下,数据是线性完全不可分的,这就属于非线性划分问题。我们可以通过非线性映射将向量x映射到一个高维特征空间Z,在这个高维特征空间中构造最优平面或推广的最优分类超平面。即通过函数Φ:Rn→Z将所有样本点映射到高维空间,将原来的xi·xj变为Φ(xi)·Φ(yi)形式,记核函数K(xi,xj)=Φ(xi)·Φ(yi)。常见的满足Mercer条件的核函数有多项式核函数K(xi,xj)=[(xixj)+1]d和高斯径向基核函数(即RBF核)

该策略的主要思想是对N分类问题构建N个支持向量机,每个支持向量机负责区分本类数据和非本类数据。最后结果由输出离分界面w·b+b距离最大的那个支持向量机决定。

2.3.3 层次策略

该策略的主要思想是对N分类问题构建若干个支持向量机,且它们之间是有层次地连接成一个有向无环图的结构,分类结果根据图经过的若干个支持向量机的判别得到。

3 算法模拟

CGM-OC-SVM算法是用C语言编写的,并选择RBF核作为核函数,现应用该算法分别对平面上两点和多点训练样本点进行分类训练、算法模拟。

(1)设x,y平面上的2个训练样本点为α=(1,1),b=(2,3)

假设训练集为S={(a,-1),(b,1)},其中a是-1类点,b是+1类点。取核参数δ=1,惩罚参数C=2时,采用改进的CGM-OC-SVM算法求解得α*=(1,1),设定x,y平面上的一点为k=(x,y),分类函数为:,

内层迭代次数为1,外层迭代次数为1。利用Matlab分别作其三维、二维模拟图,见图3(a)和(b)。

图3

(2)设x,y平面上的5个训练样本点为a=(3,1),b=(4,2),c=(8,0.3),d=(2,3),e=(3,4)

假定训练集为S={(a,-1),(b,-1),(c,-1),(d,1),(e,1)},其中a,b,c是-1类点,d,e是+1类点。取核参数δ=1,惩罚参数C=2时,采用改进的CGM-OC-SVM算法求解得α*=(0.801222,0.799457,0.799498,1.200462,1.20044),设定x,y平面上的一点为k=(x,y),分类函数为:

内层迭代次数为1,外层迭代次数为1。利用Matlab分别作其三维、二维模拟图,见图4(a)和(b)。

图4

4 结束语

由于支持向量机是建立在统计学习理论的VC维理论和结构风险最小原理的基础上,根据有限样本在学习精度和学习能力之间寻求最佳折衷,因此具有最好的推广能力。提出的CGM-OC-SVM算法改进了PRP-SVM算法只能选择多项式核函数的缺点,具有通用性。

参考文献:

[1] 邓乃扬, 田英杰. 数据挖掘中的新方法——支持向量机[M]. 北京:科学出版社,2004.

[2] 张学工. 关于统计学习理论与支持向量机[J]. 自动化学报,2000,26(1).

[3] 黄琼英. 支持向量机多类分类算法的研究与应用[D]. 河北:河北工业大学,2005.

[4] E.Osuna, R.Freund, and F.Girosi Support Vector Machines: Training and Applications A.I. Memo 1602, MIT Artificial Intelligence Laboratory, 1997.

[5] Zhang Ling, Zhang Bo. Relationship between Support Vector Set and Kernel Functions in SVM, J.Comput.Sci.&Technol,2002,17(5):549.

[6] O Chapelle,V Vapnik et al.Choosing Multiple Parameters for Support Vector Machine[J]. Machine Learning,2002,46:131-159.

基于支持向量机分类的回归方法 篇12

统计学习理论起源于20世纪60年代晚期[1],在其后的20多年里,涉足这一领域的人不多。这期间,前苏联人Vapnik和Chervonenkis做了大量开创性、奠基性的工作,这些工作主要是纯理论性的,故当时未引起人们的重视。到了90年代中期,人们提出了理论严谨的结构风险最小化原理,并在此基础上创造性地产生了一种新的机器学习算法--SVM[2,3],基于统计学习理论的SVM方法是现代智能技术的一个重要分支。支持向量机算法是一个凸二次优化问题,保证找到的解是全局最优解;能较好在解决小样本,非线性和高维数,局部极小点等实际问题。SVM采取折中考虑经验风险和置信范围以取得实际风险最小化的思想,实现了结构风险最小化(SRM),从而避免了过学习现象的出现。在保证分类精度的前提下,提高了分类器的泛化能力。基于结构风险最小化原理的思想同样被成功地应用于函数回归,出现了理论依据更好的回归方法。

1. 支持向量机分类介绍

支持向量机是从求解线性可分情况下的最优超平面发展而来的,这个平面可通过采取平分最近点法和最大间隔法得到。引入对偶问题可证得这两种方法得到的是同一个超平面,或者得到的超平面具有平行的法方向[4],所以本文采用的是由最大间隔分类法导出的支持向量回归机的仿真实验来说明问题。

1.1 平分最近点法

设训练集T={(x1,y1),…,(xl,yl)},其中xi∈Rn,yi∈{1,-1}。对于线性可分(二分类)情形,通过找到T中两个凸壳的最近点c和d而采取平分最近点法求出唯一的分划超平面能将训练集中的两类点完全正确的分开。而正类点集的凸壳中的任一点和负类点集凸壳的任一点可分别表示为。其中α1,…αl满足(1)所以要找到c和d,只需在约束(1)下,求解以u=(α1,α2,…,al)T为变量的函数的极小点,这样便可得到两个凸壳的最近点。c和d连线中点且与这条直线垂直的直线就是所求的分类超平面,可用点法式求得。对应于中非零的向量称为相应分类问题的支持向量。

对于线线性不可分问题,通过引入参数D<1,使0≤αi≤D,使两类相交的凸壳缩小不再相交。这时就可以对缩小后的两个凸壳进行“平分最近点”了[5]。

1.2 最大间隔法

这种方法的基本思想可用图1的情况来说明。设样本为n维向量,某区域的k个样本及其所属类别表示为:(xi,yi),i=1,2,…,xi∈Rn,yi∈{+1,-1}。图中三角形和圆分别代

表两类样本,H为分类面。H1、H2平行于分类面,且过各类中离分类面最近的样本,其上的训练样本点称作支持向量(SV),它们之间的距离叫做分类间隔(margin)。所谓最大间隔法就是要求分类线不但能将两类正确分开,而且使分类间隔最大。设样本满足yi[(w·xi)+b]≥1,i=1,2,…k,则样本间分类间隙为2/‖w‖,使分类间隙最大等价于使‖w‖最小,因此满足此条件且使最小的分类面就是最优分类面,即最优超平面。这样,构造最优超平面的问题就转化为以下带约束条件的极小值求解问题:

通过求解得最优解。因此所求的决策函数为:

对于线性不可分问题,只要引入惩罚参数C和松弛变量ξi就可得到不可分情形下的线性分类器,这正是软边缘算法[6]。

对于非线性分类器的设计问题,可引入核函数通过输入空间到特征空间的非线性映射将其转化为高维问题加以解决,在这个高维空间中寻找输入变量和输出变量之间的一种非线性关系,其基本结构如图2所示。而决定非线性分类器的优化问题正是线性可分情形时的适当变形,即将输入空间的欧氏内积变为核函数。

对于分类问题,一般都是采取求解最大间隔法的对偶问题来获得最优超平面,因为由该法得到的决策函数仅依赖于输入(xigxj),(xigx),i,j=1,…k和K(xi,xj),K(xi,x),i,j=1,…k。

2. 基于分类的回归方法

回归问题的数学描述:设给定训练集T={(x1,y1),…,(xl,yl)}∈(X×Y)l,其中xi∈X=Rn,yi∈Y=R,i=1,…l寻找Rn上的一个实函数f(x),以便用y=f(x)来推断任一模式x对应的y值。假定训练集是按X×Y上的某个概率分布P(x,y)选取的独立同分布的样本点,又设给定损失函数c(x,y,f),试寻求一个函数f(x),使得期望风险R[f]=∫c(x,y,f)dP(x,y)达到极小。

不难看出,回归问题和分类问题的结构相同,不同之处仅在于它们的输出yi和Y的取值范围不同,在分类问题中,输出只允许取两个值(或有限个值),而在回归问题中,输出可取任意实数。对于回归问题,我们通常选取ε-不敏感损失函数[7]c(x,y,f(x))=|y-f(x)|ε,其中|y-f(x)|ε=max{0,|y-f(x)|-ε},ε是事先给取定的一个正数。损失函数可用图3表示。为研究分类与回归的关系,将训练集T中每个训练点的y值分别增加ε和减少ε,得到正类点和负类点,可表示为:

其中:这时就可对变换后训练集进行分类了,从而得到回归函数。可以看出当ε充分大时,分类超平面总是存在的,而最小的能使超平面存在的ε值εmin就是最优值。

2.1 基于平分最近点法分类的回归方法

当ε>εmin时,两类凸壳线性可分,得到下列最优化问题:

ui≥0,vi≥0,i=1,…l(7)。在求得其最优解后,便可得到两凸壳的最近点:。并取,得分划超平面为,整理后可得线性回归函数:y=(wgx)+b,其中。

当ε>εmin的线性不可分时,可选取合适的参数D,使两类凸壳适当缩小不再相交,转变为线性可分问题。这时(7)式变为D≥ui≥0,D≥vi≥0,i=1,…l。

2.2 基于最大间隔法分类的回归方法

对于由式(4)所示的线性分类问题的训练集,可采用最大间隔法得到分类函数,从而转化为回归函数,于是得到如下优化问题:

其中求得到该问题的最优解后,便可得到分划超平面。整理后得到线性回归函数:y=(wgx)+b,其中。对于线性不可分问题,可对每个训练样本引入松弛变量ξl≥0和惩罚参数C。从而(8)式加上约束条件(9)式左面加上ξl。可以证明通过选择合适的ε,(8)和(9)等价于:

(10)(11)把上式转化为对偶问题得到支持向量回归机算法:

(13)αi,,i=1,2,…,l.(14)。解以上式子,可得最优解:,如果或就称训练集中的输入xi为支持向量。计算;选择的一个正分量,并据此计算,这时可得到回归函数y=(wgx)+b。对于线性不可分问题,只需把引入惩罚参数C使。对于非线性不可分问题,选择适当的正数ε和C,使,并选择适当的核K(x,x'),使(12)式转化为如下形式:(15)

这时可以得到回归函数:

3. 方法应用举例

设训练集T={(x1,y1),…(x50,y50)}是根据单变量函数:

Ys=(1-x+2x2)gexp(-0.5x2)在受到随机噪声干扰下产生的。确切地说,x1,…,x50是在[-4,4]上均匀分布的50个点,而Y1=Ys1+0.2|Ysj|maxg(2ζt-1)/2,i=1,…,50,j=1,…,50其中ζl服从均匀分布的随机数,数值范围(0,1)。下面根据按上述方式构造的训练集计算回归函数。我们用(15)式所示的支持向量回归机求解回归问题,选取Gauss径向基核函数。参数选ε=0.2,C=100,仿真结果如图(4)。关于参数的选取,理论上可以得出越小,支持向量个数越多,但计算复杂。惩罚因子C越大,要求学习机越精确的学习该样本,训练时间也越长,所以C不宜过大。

多项式拟合选8阶,如图5所示。由于受到澡声的污染,多项式拟合得到的回归函数图5存在的误差明显比图4 大,又由于多项式拟合选取的是左除,拟合的阶次受到限制,所以本文提出的回归方法优于多项式拟合得到的回归函数。

4. 结束语

SVM在近几十年里越来越受到人们的重视,在本文采用的将回归问题转化为SVM分类问题求解而得到的支持向量回归机具有很好的可靠性,但如何结合结实际问题构造核函数是极其重要也是最困难的问题,构造更紧的误差的界及给出其技术理论上的证明也是急待解决的问题。

参考文献

[1]Vapnik,V.An overview of statistical learning theory(J).IEEE Transactions on Neural Networks,1999,10(5):988-999.

[2]Vapnik,V.The nature of statistical learning theory[M].Berlin:Springer-Verlag,1995.

[3]Cortes,C.Vapnik,V.Support vector networks. Machine learning(J),1995,20(1):1-25.

[4]Bennett K,Bredensteiner E.Duality and Geometry in SVM Classifiers.In:Proc.of Seventeenth Intl.Conf.on Machine Learning, Morgan Kaufmann,a Francisco:2000:57~64.

[5]陶卿,孙德敏,范劲松,等.基于闭凸包收缩的最大边缘线性分类器(J).软件学报,2002,13(3):404-409

[6]Cortes,C.Prediction of generalization ability in learning machines[D].Department of Computer Science,University of Rochester,1995.

上一篇:旅游酒店下一篇:行业差距