支持向量机增量

2024-08-03

支持向量机增量(精选12篇)

支持向量机增量 篇1

0 引言

支持向量机(SVM)是机器学习领域中健壮性和稳定性较好的高精度算法。然而,标准SVM算法是一个计算密集型算法,其空间复杂度为O(n2)、时间复杂度为O(n3)。面对当今实际问题中的海量数据,如何在保持标准SVM算法精度的基础上提高其处理能力及运行效率是一个值得研究的问题。

目前,国内外在此问题上已取得一些研究成果。NEC实验室提出的并行级联支持向量机算法The Cascade SVM[1],虽然保持了高精度,但需要事先定义好网络拓扑结构,而且结点数随级联层数程指数增加,缺乏灵活性和可扩展性。Salleh等提出的基于MPI的并行分布式SVM算法Co DLib[2],只关注并行效率而忽视了对精度的验证。Zhao等提出的基于MapReduce和Bagging技术的并行增量式SVM算法[3],直接将SVM算法作为并行执行单元,但并行程度不高。Godwin Caruana等提出了基于MapReduce的并行SVM算法[4],由于其Reduce操作无助于算法收敛,因此需要借助外界提供信息以保证精度,导致算法无法自动运行。王平等证明了KKT条件具有检验并优化增量训练样本集的作用[5]。Chu等证明了MapReduce编程模型适用于并行化SVM算法[6]。但是,标准MapReduce框架通过执行一次Map操作和Reduce操作得出数据处理结果,不支持迭代数据处理,而迭代处理在许多数据分析中是必须的[7]。因此,一些研究人员正致力于改进这方面的不足,如Fox等提出了支持MapReduce高效迭代执行的Twister[8],Radu等提出了基于Azure云的数据处理框架MapIterativeReduce[9],Gunarathne等提出了支持云上可扩展并行计算的迭代MapReduce运行系统———Twister4Azure[10],Zhang等提出了增量迭代处理框架i2MapReduce[11]。

本文通过分析SVM算法,将其应用于在MapReduce并行编程模型上,并且利用增量学习方法以及反馈迭代机制加以改进,提出了MRII-SVM算法,其在保证精度的基础上具有较高的处理能力和运行效率。

1 MRII-SVM算法分析设计

MapReduce并行编程模型已成为基于云的数据分析的主要工具。但由于MapReduce不支持迭代执行,因此在数据分析应用中需对其加以改进。MRII-SVM算法在MapReduce编程模型的基础上,采用数据并行与增量式学习相结合的运行调度策略、分布式训练与联合重训练相结合的执行方式以及反馈迭代机制,以达到在保证较高分类精度的基础上提高算法的处理效率和处理能力的目的。

1.1 并行增量学习策略

面对海量数据集,标准SVM算法在计算存储和运行效率方面存在严重的可扩展性问题。增量式学习策略和数据划分并行策略是两种常用的提高算法处理能力及效率的方法。然而,如果单独使用数据划分并行策略,当处理大数据集时必须具有足够大的计算机集群,这对硬件设备提出了较高要求;如果单独使用增量学习策略,当大数据集需要划为许多子集时,学习次数就会增大,导致时间和内存需求依然很大。MRII-SVM利用数据划分并行执行和增量式学习相结合的策略,通过数据划分、增量式学习对硬件设备进行重复利用,降低对硬件设备的需求量;通过数据并行执行,使得在每次增量学习过程中能并行处理多个切片,减少增量学习次数及运行时间。

在非线性SVM分类算法中,首先通过非线性SVM优化问题的拉格朗日对偶函数:

求解Lagrange乘子λi。大部分λi为零,其中不为零的λi所对应的样本为支持向量(SV)。

如式(1)所示,当非线性SVM算法借助核函数K(·)求解Lagrange乘子时,涉及到核矩阵的存储及相乘的运算,其空间复杂度和时间复杂度均为O(n2)(其中n为训练样例的数目),成为了整个算法的资源瓶颈。因此将该阶段并行化执行是一个明智的选择。通过均匀划分大数据集,MRII-SVM算法将数据子集以增量方式分配给当前处于空闲状态的Map工作单元,各工作单元并行执行,求解各数据子集的Lagrange乘子。

由于MRII-SVM算法基于MapReduce编程模型,因此其各Map结点之间独立运行,从而避免了基于MPI编程的CoDL-ib[2]中各并行节点之间的通信开销;实时调用集群中空闲单元的特性,而且比级联结构的Cascade SVM[1]更具有灵活可扩展性。

1.2 分布式训练与联合重训练

当数据子集以增量方式分配给空闲Map工作单元之后,各工作单元以分布式并行方式求解各数据子集上的Lagrange乘子。然后通过以下两个公式:

分别求得决策边界参数w和b的可行解。这两个公式表明定义决策边界的参数仅依赖于支持向量。最后得到非线性SVM分类算法的决策函数:

由此可知,由支持向量(SV)组成的支持向量集(SVs)决定了决策边界参数和决策函数,因此SVs与对应的数据子集是等价的,其可以代表对应的数据子集。基于此,MRII-SVM算法仅将非零Lagrange乘子所对应的SVs传送至本地缓存Shuffle中,作为Map阶段的执行结果。

接着,MRII-SVM算法联合各子集的SVs将其作为Reduc阶段的输入训练集,并在Reduce执行SVM重训练。由于SVM算法为全局寻优算法,因此Reduce阶段的SVM联合重训练结果为当前全局最优解。这样MRII-SVM就实现了算法自动快速收敛,以利于保证分类精度,弥补了Map/Reduce算法中reduc操作的不足。

1.3 基于KKT条件的反馈迭代机制

由于实际问题中同一数据集内的数据之间具有一定的相似性,如果直接对每一个新增样本进行增量学习,其中存在大量的重复计算。标准非线性SVM算法的KKT条件将样本集分为三部分[10]:

f(x)=0对应最大边缘超平面,f(x)=±1对应超平面的决策边界,即支持向量SV(Support Vector)。因此,对于任意训练样例xi:

如果λi=0,那么样例xi位于决策边缘之外;

如果0<λi<C,那么样例xi位于最大边缘的决策边界上;

如果λi=C,那么样例xi位于决策边缘的边界内。

如果将新增数据子集带入由当前全局最优决策参数确定的KKT条件:

那么其中λi=0的样本点位于决策边缘之外。由文献[5]中的定理1知,在增量数据子集中,有且仅有位于决策边界之外的训练数据会改变决策边界。基于此,MRII-SVM将前一轮得出的全局最优解反馈给各个Map工作单元,各个Map单元利用当前全局最优解所确定的KKT条件筛选出新增数据子集中位于当前决策边界之外的训练数据,即当前KKT条件下对应Lagrang乘子等于零的样本点,将其纳入新一轮学习训练中,更新当前全局最优解。

因此,MRII-SVM通过对MapReduce编程模型进行改进,增加反馈迭代机制,以此达到利用KKT条件削减增量数据子集的目的,提高了算法运行效率。

2 MRII-SVM算法数据处理模型

根据上述分析及MapReduce编程模型,MRII-SVM算法的处理模型如图1所示。其主要包括4部分:(1)输入:对输入数据集进行横向均匀划分,将各数据子集分配给当前空闲工作单元;(2)Map阶段:各maper求出利用式(1)和式(2)并行求解数据子集上的非零Lagrange乘子,并将其对应的SVs存入本地缓存Shuffle;(3)Reduce阶段:联合读取Shuffle中的各个SVs,作为全局SVM训练的训练数据,求出当前全局最优决策参数(w,b)和决策函数;(4)反馈迭代:将最优决策参数反馈给各map单元确定出当前KKT条件,利用该KKT条件筛选出增量数据子集中会对决策边界产生影响的样本点,即当前KKT条件下,对应Lagrange乘子为零的样本点,进入新一轮的学习训练。通过循环迭代,直到全部数据集训练完成或被强制终止。

3 MRII-SVM算法性能分析

由MRII-SVM算法设计及处理可知其符合超标量流水线的要素:(1)MRII-SVM把求解当前全局最优解分解为两个有联系的子任务———Map阶段分布式训练和Reduce阶段联合训练,每个Map训练操作和Reduce操作均由独立的工作单元并行执行,缩短了运行时间;(2)MRI-SVC流水线的两个功能阶段之间有一个缓存寄存器Shuffle,其用来保存Map流水段的SVs,以作为Reduce流水段的输入;(3)Map流水段和Reduce流水段操作均是进行SVM训练,其运行时间相近,可避免引起堵塞和断流;(4)增量式学习保证流水线中处理的是连续任务;(5)Reduce流水段之间Map流水段存在反馈回路。因此,MRI-SVC算法以非线性超标量流水线方式运行。下面以具有4个Map工作单元的集群系统为例,在Map阶段与Reduce阶段训练时间相同的理想情况下,其流水线时空如图2所示。

设数据切片数为n,Map阶段的工作单元数为m,各流水段工作时间均为Δt,则MRII-SVM超标量流水线的各性能指标如下:

(1)吞吐率TP:单位时间内MRII-SVM流水线训练的数据切片的数。

当连续输入的任务n→∞时,最大吞吐率。

(2)加速比S:顺序执行与使用MRII-SVM流水线的运行时间之比。设T0表示顺序执行所有的时间,则:

当连续输入的任务n→∞时,最大加速比Smax=2m。

(3)效率E:在时空图上,流水线运行效率为完成n个任务占用的时空区有效面积与n个任务所用的时间和2个流水段所围成的时空区面积之比。

当连续输入的任务n→∞时,最大效率Emax=1。

(4)数据并行度TPD(Time for Per Data-split)为一个流水时间段内能够训练的数据切片数。

当连续输入的任务n→∞时,最大数据并行度TPDmax=m,即每个流水时间段内能完成m个数据切片的训练。

4 实验结果与分析

为了更好地说明MRII-SVM算法在保证分类精度的基础上,提高了数据处理能力及运行效率,将该算法与SVM算法、Map/Reduce算法以及Cascade SVM算法进行对比。实验数据采用标准UCI数据库中Spam Base数据集及MNIST数据集。Spam Base数据集样本维数为57,包含4601个样例。MNIST数据集维数为784,包含70 000个样例,其中60 000个作为训练样例,10 000作为测试样例。实验硬件平台采用6台PC,每台配置为双核2.8GHz,2GB内存。使用Hadoop 0.20版本构建Hadoop集群。在集群各结点上部署Weka 3.6.8工具,并在Weka上集成LIBSVM软件包。集群中各结点通过千兆以太网连接。标准SVM分类算法运行于集群中的单个结点上。

将MRII-SVM算法与标准SVM算法和基于MapReduce的并行Map/Reduce算法进行分类精度对比,其中MRII-SVM算和Map/Reduce算法均运行于设有4个mapper的集群上。实验利用WEKA对标准Spam Base数据集进行随机重采样过滤生成大小不同的实验数据集。MRII-SVM算法、SVM算法及Map/Reduce算法的核函数均采用惩罚参数C为1.0,核参数σ为10的径向基核函数。实验结果如图3所示。

如图3所示,在不同大小的数据集上,MRII-SVM算法的精度均接近于标准SVM算法的精度,且高于Map/Reduce算法的精度。经分析可知,MRII-SVM算法与Map/Reduce算法的不同之处是MRII-SVM算法在每次增量训练过程中通过Reduce阶段的联合重训练求解出当前全局最优解,而Map/Reduce算法的Reduce阶段仅是求出各训练子集的决策参数w和b的平均值,没有考虑算法收敛性问题,因此导致其精度低。

此外,实验过程中当样本数量超过32.2万时,由于核函数所需存储空间超出单机的存储容量,导致标准SVM算法运行失败。因此MRII-SVM算法提高了标准SVM算法的数据处理能力。

由于MRII-SVM与Cascade SVM都是在保证标准算法精度的基础上提高算法运行效率的,因此将MRII-SVM与Cascade SVM的运行效率进行实验对对比。为保证实验数据一致性,MRII-SVM算法采用Cascade SVM实验中数据集MNIST进行训练。为了保证在每一轮训练中与Cascade SVM具有相同的训练次数,MRII-SVM将数据集划分为2片、6片、14片和30片,依次对应2到5层的Cascade SVM,如表1所示。

MRII-SVM与Cascade SVM的加速比如图4所示,运行效率如图5所示。

从图4和图5中可以看出,MRII-SVM的加速比和运行效率均高于Cascade SVM,特别是在运行效率方面。这是因为在一个n层Cascade SVM中,系统每增加1层就需增加2n个结点,由于运行效率与结点数成反比,因此Cascade SVM运行效率随系统层数急剧下降。对于MRII-SVM,当数据子集较大,即通信时间远小于数据切片训练时间时,MRII-SVM就可以近似达到超标量流水线工作状态,使运行效率接近于1。

综上,MRII-SVM算法在保证较高分类精度的基础上,提高了数据处理能力及处理效率,明显超出同类算法性能。

5 结语

本文提出了基于MapReduce编程模型的MRII-SVM算法。MRII-SVM算法中Reduce阶段的联合重训练是保证其较高分类精度的关键所在,并行处理方式和增量学习方式使其数据处理能力及效率得到明显提高。然而,MRII-SVM并行求解Lagrange乘子阶段没有考虑参数优化选取问题,这将纳入下一步的研究工作中。

支持向量机增量 篇2

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

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

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

支持向量机增量 篇3

关键词:图像处理;支持向量机;玉米;品种识别

中图分类号: TP391. 41文献标志码: A文章编号:1002-1302(2014)06-0372-03

收稿日期:2013-08-28

基金项目: 山东省自然科学基金(编号:ZR2009GM006)。

作者简介:邓立苗(1978—),女, 山东沂水人,博士,讲师,主要从事图像处理方面研究。Tel:(0532)88030271;E-mail:denglm68@163.com。

通信作者:马文杰,博士,副教授,主要从事农业信息化方面研究。Tel:(0532)88030602;E-mail:wjma@qau.edu.cn。玉米是重要的粮食作物之一,品种众多,不同玉米品种由于受遗传特性影响,生长期间的外观性状表现也有差异。在玉米生长管理和科学研究中,大量的工作须借助形态、颜色和纹理等外观特征判断,而这些特征的提取主要靠人工测量,工作量大且繁琐、主观性强,严重制约了玉米科学研究和生产上先进技术的应用和推广。利用图像处理技术实现不同品种玉米生长期间植株外观性状特征的客观描述,对科学保留不同品种玉米的量化特征信息,建立玉米外观性状特征信息数据库,正确指导玉米生产非常有必要。

图像处理技术已广泛应用于玉米生产管理和品种识别中,主要研究田间杂草识别[1]、病虫害识别[2]、叶面积测定[3]、玉米叶片叶绿素含量测量[4]、种子质量检测与分级[5]。在玉米品种识别方面,研究多定位在籽粒品种识别方面[5-8],而利用玉米生长期间植株特征信息来识别玉米品种的研究未见报道。由于玉米叶片中包含了大量用来区别不同品种的外观特征信息,且存活期长,易于采集。本研究以农业生产中常规栽培的23个玉米品种的叶片作为供试样本,每个品种采集5张样本叶片,对每张叶片采集反射和透射圖像,提取了形态、颜色和纹理共48个统计特征,然后构建了支持向量机模型进行品种识别,并对识别结果进行分析。本研究中特征提取和识别基于Matlab R2008a,分析工具为SPSS 13.0。

1材料与方法

1.1供试材料

供试玉米品种共计23个(表1),均采用大田常规管理方法在试验基地进行统一栽培,目的就是为了保证在完全自然生长状态下实现对不同品种玉米的外观特征量化识别。

编号名称编号名称编号名称1安玉5号9谷育17817农大1082北京德农95810济丰9618农华1013丹玉8611金海5号19齐单1号4德瑞2912金海60420秋乐天泰585登海66213浚单2021三北青贮6登海70114宽城6022中科4号7费玉4号15良玉6623中科11号8丰玉4号16良玉188

1.2图像采集

在玉米的不同生长时期分别对每个品种进行叶片采样,在每个品种的不同单株上采集相同位置的5张叶片,然后用数码相机采集叶片的反射图像和透射图像。由于玉米叶片在自然光照下反光较严重,反射图像采用室内灯光下拍摄,而透射图像则在自制的灯箱(图1)内拍摄,灯箱规格(长×宽×高)为100 cm×75 cm×120 cm。箱体顶部、底部及4个侧面均用双层黑色棉布遮挡,以防止外界光线的射入和光线在箱体内发生漫反射;箱体中间偏下放置厚度4 mm的双面磨砂玻璃载样台,保证采集透射图像时得到均匀的透射光线;箱体底部的照明光源为8支30 W的日光灯管,箱体顶部固定数码相机。反射图像采集使用佳能EOS7D,透射图像采集使用佳能EOS500D。采集的图像如图2所示。

1.3特征提取

为了对叶片图像进行识别分析,对所采集的叶片图像,提取了形态、颜色、纹理共48个外观特征(表2),并将提取的特征保存在Excel文件中。

类别特征形态类

面积、长轴长、短轴长、等面圆直径、椭圆度、凸形面积、伸展度、紧凑度、周长、圆形度、长宽比颜色类

RGB颜色空间的3个分量的均值、方差、偏度和峰度;与HSV颜色空间3个分量的均值、方差、偏度和峰度纹理类

灰度图像均值、方差、平滑度、三阶矩、一致性、熵;包括反映图像灰度值次数分布特点的7个统计不变矩

1.4支持向量机

支持向量机(support vector machine,SVM)是近年来机器学习研究的一项重大成果。它是在统计学习理论、VC维理论和结构风险最小原理基础上建立起来的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以求获得最好的推广能力。与传统的人工神经网络相比,它不仅结构简单,而且泛化能力明显提高。支持向量机是针对2类模式识别问题的,当解决多类问题时,需要对SVM进行扩展[9]。本研究采用“一对一”的方法,把每类与其余各类分别构成1个2类问题,n个类别共构造C2n个2类SVM。当对一个未知样本进行分类预测时,所有的2类SVM得到C2n识别结果,采用投票法来决定测试样本的类别,出现次数最多的类别即预测为该样本的类别。在本研究中,核函数选用径向基函数,惩罚因子C=128,核参数λ=0.007 812 5,这2个参数由网络化训练得到。

2结果与分析

2.1不类特征识别效果分析

以2011年8月14日采集的23个品种的透射图像作为研究对象,每幅图像提取48个特征,然后进行品种鉴别能力测试,48个特征的整体识别率为89.1%。为了分析不同类别特征对玉米品种识别的影响,分别统计形态、颜色和纹理3类特征的识别率,统计结果如表3所示。同时测试每个特征的识别率,前10个识别率最高的特征及识别率如表4所示。

特征组合的识别效果

类别识别率(%)形态颜色纹理形态61.287.3386.43颜色85.6489.47纹理72.16

由表3和表4可见,形态类、颜色类、纹理类特征的识别率分别为604%、85.64%、72.16%,可见颜色类特征的品种识别率最高,而形态特征的识别率相对较低。形态特征的识别率最低,仅为60%左右,主要是由于玉米叶片的不规则性和不平整,导致特征提取以及识别出现误差。由表3可见,

前10个识别率高的特征

特征名识别率(%)特征名识别率(%)峰度H42紧凑度31标准差G40平均值H30长宽比38标准差B29标准差R37椭圆度28三阶矩36标准差H27

反映形状的特征如紧凑度和长宽比等具有比较高的识别率。颜色类特征识别率比较高,一方面是由于特征数量多达24个,另一方面由单个特征识别结果可见,某些颜色分量(如H分量)具有较高的识别率。对不同类特征组合后,形态+纹理、颜色+纹理和形态+颜色的识别率分别为8643%、8947%、87.33%,而整体识别率仅89.7%。可见当特征达到一定数量时,已经具有较高的识别率,在这种情况下增加特征的数量,识别率也不会有较大的变化。因为特征之间存在一定的冗余信息,特征数量的增加并不能进一步提高识别率。

由以上分析可以看出,提取的特征具有较大的数据冗余度,特征数量太多会增加品种识别的复杂性及效率。为了在不降低识别效果的前提下降低特征维数,减少特征之间的冗余度,提高品种识别效率,对所提取的特征进行主成分分析,前12个主成分贡献率及累积贡献率如图3所示。

仅12个主成分累积贡献率可达到95%以上,在此基础上增加主成分的个数累积贡献率已没有太明显的变化。选用12个主成分进行品种识别可以有效降低特征维数,同时还能尽可能多地反映原来的特征信息,从而提高品种识别效率。

2.2品种数量变化对识别结果的影响分析

为了寻找对品种识别贡献较大的特征,使用SPSS分析工具中的步进式方法进行判别分析,采用Mahalanobis距离作为逐步判别分析方法[10],选取贡献比较大的7个特征:短轴长、V分量均值、B分量均值、B分量方差、H分量均值、纹理方差和不变矩2。对所选择的7个特征,使用支持向量机测试品种数量从1增加到23时的品种识别率,生成的识别率变化曲线如图4所示。

随着品种数量的增加,对23个玉米品种识别率呈下降趋势,在品种数量小于9时,识别率可以达到100%。品种个数大于9时,识别率开始下降,但仍保持比较高的识别率,识别率在87%以上;品种个数达到18时,识别率开始急剧下降至75%,以后一直呈下降趋势;当样本个数达到23时,识别率仅为63%。当品种数量较多时,某些玉米品种会出自同一个父本或者母本,具有比较大的相似性,因此辨别识别率降低。

2.3反射和透射识别分析

对2011年8月14日采集的玉米叶片的反射和透射图像,分别统计不同类特征(形态类、RGB颜色类、HSV颜色类和纹理类)的测试识别率,统计结果如图5所示。

从整体识别效果上看,反射图像和透射图像效果差别不太明显,透射图像稍高一些。对于形状特征,由于形态特征不受光照和拍摄环境的影响,反射和透射的识别结果差别不大。颜色特征中不同的颜色系统具有较大的差别,反射图像RGB颜色特征识别效果较好,而透射图像对HSV颜色特征识别效果较好。对于纹理特征,透射图像的识别效果稍好一些,通过透射使叶片的纹理会变得更加清晰,从而具有较好的识别效果。

3讨论

相对来说,形态特征具有比较低的识别率,一方面,由于玉米叶片的不规则性和叶片不平整,每张叶片只采集1幅二维图像,无法将叶片的形态特征全面描述出来,如果要全面描述玉米叶片形态,须要构建玉米叶片的三维几何模型[11-12];另一方面,在图像采集过程中没有进行标度校准,因此反映大小的特征如面积、周长等特征无法测量实际尺寸,也没有统一的参考标准,从而导致这些特征的识别率较低。为了能够更准确地提取叶片的实际尺寸,需要对所测量的数据进行校准标定,如采用参考物法进行面积等特征的测量[13]。

本研究中由于受采集条件的影响,每个品种的样本数量较少,只有5个,在一定程度上影响了试验结果的准确性和全面性;由于样本数量有限,本研究建立的支持向量机模型仅进行了品种的自我识别,识别率均为样本的自我识别率,没有进行测试识别。在后续的研究中,需要大量增加样本叶片数量。每个品种的样本数量至少要在15以上,以减少同品种玉米叶片的特征提取误差,从而更准确地寻找进行品种识别的关键特征,同时还要结合除叶片之外的其他特征如植株形状、雌雄穗性状等进行综合识别,以此来提高玉米生长期间玉米品种的识别效果。

本研究供试玉米品种数量较多,为23个,从品种数量对识别结果的影响可以看出,当样本数量大于17时,识别率明显下降。由于遗传因素的影响,有些品种可能来自于同一个父本或者母本,从而导致某些外观特征具有很大的相似性,使得品种间的区分度比较小。根据这一特性,在以后的研究过程中可以通过聚类来分析玉米的谱系结构。

4结论

本研究以23个玉米品种的叶片作为研究对象,对每张叶片的图像分别提取了形态、颜色和纹理三大类共48个特征,建立支持向量机模型进行品种识别,并分别从组合特征的识别率、品种数量变化时识别效果及透射和反射图像识别效果3个方面进行分析。相对于神经网络方法来说,支持向量机方法具有比较稳定的识别效果。对不同类别特征,颜色特征具有比较高的识别率,而形态特征识别率比较低。品种的数量越多,由于遗传等因素影响,特征组合的相似性比例越高,识别率越低。不同类别的特征对反射和透射图像的识别效果不同,相对来说,反射图像的RGB颜色特征识别效果稍好些,而透射图像的HSV颜色特征和纹理特征识别效果要好一些。由于采集环境与条件的限制,本研究仅提取了玉米叶片的常规特征进行了品种识别的初步研究与分析。本研究突破了大多数研究仅集中在玉米种子品种识别的局限,虽然仅对玉米叶片品种识别作了初步探讨与研究,但从分析结果可见,使用玉米叶片外观特征进行生长期间玉米品种识别非常有意义,为玉米生长期间品种识别的研究与运用打下基础。

参考文献:

[1]纪寿文,王荣本,陈佳娟,等. 应用计算机图像处理技术识别玉米苗期田間杂草的研究[J]. 农业工程学报,2001,17(2):154-156.

[2]陈丽,王兰英. 概率神经网络在玉米叶部病害识别中的应用[J]. 农机化研究,2011,33(6):145-148.

[3]马彦平,白由路,高祥照,等. 基于数字图像的玉米叶面积测量方法研究[J]. 中国农学通报,2009,25(22):329-334.

[4]朱军伟,张彦娥,王晓敏,等. 基于图像纹理的玉米叶片叶绿素含量分析研究[J]. 微计算机信息,2010,26(10):106-108.

[5]王玉亮. 基于机器视觉的玉米种子品种识别与检测研究[D]. 泰安:山东农业大学,2008:11-12.

[6]闸建文,陈永艳.基于外部特征的玉米品种计算机识别系统[J]. 农业机械学报,2004,35(6):115-118.

[7]史智兴,程洪,李江涛,等. 图像处理识别玉米品种的特征参数研究[J]. 农业工程学报,2008,24(6):193-195.

[8]杨锦忠,郝建平,杜天庆,等. 基于种子图像处理的大数目玉米品种形态识别[J]. 作物学报,2008,34(6):1069-1073.

[9]李晓宇,张新峰,沈兰荪.支持向量机(SVM)的研究进展[J]. 测控技术,2006,25(5):7-12.

[10]林震岩. 多变量分析:SPSS的操作与应用[M]. 北京:北京大学出版社,2007:487-491.

[11]邓旭阳,郭新宇,周淑秋,等. 玉米叶片形态的几何造型研究[J]. 中国图象图形学报,2005,10(5):637-641.

[12]郑文刚,郭新宇,赵春江,等. 玉米叶片几何造型研究[J]. 农业工程学报,2004,20(1):152-154.

支持向量机增量 篇4

基于上述方法, 目前可用的预测启动子的预测软件很多, 如:NNPP、TSS、Promoter Scan、Dragon PromoterFinder[7]、Prometheus[8]、Promoter.2.0、 IDQD[9,10], 但对启动子的识别精确度都不能令人满意, 成功率都很低, 我们综合启动子序列信号和序列内容两种方法, 提取果蝇启动子序列特征, 利用支持向量机构建启动子序列分类器, 对果蝇启动子序列进行预测, 结果明显高于现有算法。

1 材料和方法

1.1 材料

所用的果蝇启动子数据资料来自于著名启动子数据库89版 (The Eukaryotic Promoter Database Current Release 89, EPD, http://www.epd.isb-sib.ch/) 的1922条启动子序列。选取序列长度300bp, TSS上游选取250bp, 下游50bp, 剔除序列中包含不明碱基N的序列;非启动子序列选取人类CDS和Intron两类序列, 该数据来自于 (http://www.fruitfly.org/seq-tools/datasets/Drosophila/) , 共得到2859条CDS序列和1799条Intron序列, 同样选取序列长度为300bp。实验证实的启动子来自于文献, 共20条启动子序列。对于1922条启动子序列选取1 000条作为训练正集, 选取1 000条CDS和1 000条Intron作为训练负集。同时将剩余的922条启动子序列和另外1 000条Intron序列作为独立检验集。

1.2 离散增量

离散量 (measure of diversity) 是对系统离散性 (diversity, 即多样性) 的度量, 对于两个离散源:

X:[n1, n2, Λ, nS]

X:[n1, n2, Λ, nS]

定义离散增量 (increment of diversity) :

Δ (X, Y) =D (X+Y) -D (X) -D (Y) (1)

在这里D (X+Y) ≥D (X) +D (Y) , 则很容易得到离散增量的非负性Δ (X, Y) ≥0。

离散增量还可以表示为:

undefined

其中, undefined。

这里

D (M, N) = (M+N) logb (M+N) -MlogbM-NlogbN

D (mi, ni) = (mi+ni) logb (mi+ni) -milogbmi-nilogbni

易证:离散增量的取值范围是:0≤Δ (X, Y) ≤D (M, N) , 它可以定量地表示生物的相似性, 其数值越小, 说明两组系统与之间的相似性越大, 离散增量从0增加到, 体现了它们的相似关系从完全相似到完全不相似。

1.3 位置权重矩阵

矩阵模型应用于生物序列的研究首先由Stormo G D, et al.[11]在1982年提出, 起初主要应用在RNA 翻译起始位点的研究, 近年来矩阵被大量的应用于生物序列中的功能位点研究。

因为已知的功能位点序列数据都不是很多, 小样本统计容易引起很大的误差, 因此引进伪记数, 减小由于小样本统计引起的误差, 构建位置概率矩阵PPM

undefined

伪计数选取为:undefined为碱基b在所要研究的序列中的背景频率。

给定已知的N条功能位点, 构建矩阵的目的就是要求所建的矩阵能够很好的区分出真正的功能位点序列和非功能位点序列, 因此需要对构建的矩阵模型中的矩阵元的权重进行分析, 将位置概率矩阵PPM进行变换, 构建位置权重矩阵PWM:

wib=lnPib/P0b (4)

P0b为碱基b在所要研究的序列中的背景频率, 取对数使得对应于背景频率而出现的序列得到较小的分值, 而偏离背景频率的结合位点序列能得到较大的分值, 因此能够很好的区分出真正的功能位点序列和非功能位点序列。

对于任一个给定长度n的序列, 用位置权重矩阵对该序列打分, 打分函数可以表示为:

undefined

方程 (5) 中wib表示给定序列中第i位置出现碱基b时所对应的位置权重矩阵 (PWM) 的wib值, S是序列打分的结果。

1.4 支持向量机

支持向量机是V.Vipnik[12]等根据统计学习理论 (Statistical Learning Theory简称 SLT) 提出的一种新的机器学习方法, 在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势, 已经在模式识别、函数逼近和概率密度估计等方面取得了良好的效果。SVM方法的基本思想是:定义最优线性超平面, 并把寻找最优线性超平面的算法归结为求解一个凸规划问题。进而基于Mercer核展开定理, 通过非线性映射φ, 把样本空间映射到一个高维乃至于无穷维的特征空间 (Hilbert空间) , 使在特征空间中可以应用线性学习机的方法解决样本空间中的高度非线性分类和回归等问题。其最大特点就是根据Vipnik的结构风险最小化原则, 尽量提高学习的泛化能力, 即由有限的训练集样本得到的小误差仍然能够保证对独力测试集的小误差。在本文中, 我们使用Chang和Lin开发的libsvm 软件[13]。

1.5 参数的选取

考虑到启动子序列和非启动子序列的特点[9], 以及结合文献[10]研究启动子的思想, 我们选取一下参数进行研究。

离散增量参数:我们分别选取-250bp~-50bp, -50bp~0bp和0bp~50bp的六联体, 定义4096维离散源参数X1、X2、X3, 根据公式分别计算离散增量:ID1 (4096) , ID2 (4096) , ID3 (4096) , ID4 (4096) , ID5 (4096) , ID6 (4096) 。

位置权重矩阵参数:分别选取-80bp~-70bp, -35bp~-25bp和-5bp~5bp的三联体, 定义C310*64维向量X4, X5, X6。依据公式分别计算正负集的打分函数的值:ID7 (Cundefined*64) , ID8 (Cundefined*64) , ID9 (Cundefined*64) 。

碱基组份参数:我们选取-250bp~50bp范围内的GC含量作为参数X7, 计算ID10。选取的10个信息参数的具体信息列于表1中。

1.6 预测模型的评判

有关模体识别的精确性评价有许多方法, 在本文中我们使用最新的评价标准, 对结果主要用以下三个指标来衡量:

敏感性 (sensitivity) 定义为:Sn=TP/ (TP+FN) , 表示算法预测的能力;

特异性 (specificity) 定义为:Tn=TP/ (TP+FP) , 表示预测结果的可信度;

相互关联系数 (correlation coefficient) 定义为:

undefined, 对算法的综合评价;

这里TP是被预测正确的启动子序列数, FN是没有被预测正确的启动子序列数, FP是没有被预测正确的非启动子序列数, TN是被预测正确的非启动子的序列数。

2 结果与分析

2.1 10-fold cross-validation预测结果

将以上计算的10中参数分别输入到支持向量机 (SVM) , 来构建一个自动分类模型。为了对我们构建的分类模型进行检验, 分别使用 10交叉 (10-fold cross-validation) 和独立数据集进行检验。10交叉检验我们分两步进行分别限定数据集的大小, 研究其对算法的影响:首先利用我们收集到的所有果蝇启动子序列, 内含子 (intron) 和编码区序列 (CDS) 进行预测, 结果列于表2中;然后我们减小数据集的大小, 选取1000条启动子序列作为训练正集, 选取1000条CDS和1000条Intron作为训练负集, 10交叉检验结果列于表3中。两种数据集均取得了较高的预测成功率。

2.2 独立数据集的预测结果

为了进一步衡量我们算法的预测性能, 进一步选取独立的测试数据集对算法进行检验, 首先选取1000条启动子序列作为训练正集, 选取1000条CDS和1000条Intron作为训练负集, 构建启动子分类器模型, 然后选取独立于训练数据的992条启动子, 799条内含子, 1000条编码序列进行测试, 结果列于表4中。对于独立的测试集我们构建的算法预测的相关系数也达到了90%以上, 取得了较好的预测成功率

3 讨论

支持向量机增量 篇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

支持向量机 (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.

支持向量机理论研究 篇8

支持向量机(Support Vector Machine,SVM)是借助于最优化方法解决数据挖掘中若干问题的有力工具,是近年发展起来的一种通用机器学习方法。SVM是建立在统计学理论基础之上的一种算法,既有简洁的数学形式、直观的几何解释,又能够较好地解决线性、非线性、小样本、维数灾难、局部极小值和“过学习”等问题。

支持向量机理论是20世纪90年代由Vapnik提出的,在提出以后一直处于飞速发展的阶段。SVM发展到今天,已经形成了支持向量机的理论基础和各种算法的基本框架,并在语音识别、遥感图像分析、故障识别和预测、文本分类、生物信息、时间序列预测、信息安全等众多领域有了成功的应用。

支持向量机最初是解决分类问题(模式识别、判别分析)和回归问题,现在发展出了很多的变形和拓展。支持向量机模型采用结构风险最小化原则和核函数方法来构造分类模型,模型比较简单,解具有唯一性。由于支持向量机理论是把对已有问题的求解转化为对二次规划问题的求解,而二次规划的计算量是很大的,这导致了支持向量机算法的计算量也很大。为了解决计算量大、多分类等问题,于是又提出了最小二乘支持向量机、多类支持向量分类机、中心支持向量分类机、顺序回归机等支持向量机的变形和拓展。

1 理论基础

分类问题(Classification)和回归问题(Regression)是支持向量机最常解决的问题。本文采用C-支持向量分类机来解决分类问题,而采用支持向量回归机来解决回归问题。

1.1 C-支持向量分类机

(1)给定训练集,其中T={(xi,yi,)},i=1,…,l;xi∈Rn,yi∈{1,-1}。

(2)选择适当的惩罚参数(C>0)以及核函数K(x,x')。

(3)构造并求解凸二次规划问题:

求得此凸二次规划的解为α*=(αi*,…,αl*)T。

(4)根据式(3)计算b*,其中求解b*中的yi是0<αj

(5)求得决策函数:

1.2 ε-支持向量回归机

(1)给定训练集,其中T={(xi,yi,)},i=1,…,l;xi∈Rn,yi∈R。

(2)选择适当的惩罚参数C>0、适当的精度

ε>0和适当的核函数K(x,x')。

(3)构造并求解凸二次规划问题:

求得此凸二次规划的解为

(4)计算,其中求解中的yi是(7)或者是(8)中对应的某一个。

或者是

(5)构造决策函数:

2 仿真

本文选取一个回归问题来描述如何使用支持向量机理论来解决问题的方法。本文数据选取为:x1为-2:0.1:2;x2为-2:0.1:2,y为sin(x1)+(x2)2。其中的输入x为二维输入[x1;x2]。

使用台湾大学林智仁博士研发的基于最小二乘支持向量机原理的libsvm工具箱进行仿真。仿真可以得到输出仿真图(图一)和误差绝对值输出仿真图(图二)。

通过图一和图二可以看出,使用支持向量机理论对输出y进行预测,可以得到很好的预测效果,输出y的误差绝对值在0~0.25这一范围内,因而效果比较好。

3 结束语

支持向量机算法的理论与应用都取得了长足的进步,但在有大量训练数据的实际应用中,仍然存在着计算速度和存储容量的问题。而且在求解非线性问题时,核函数的选取工作也没有形成一套很有效的理论,现在主要是依靠经验来选取,这就存在着局限性。这些都是以后需要研究的课题。

摘要:如何解决分类问题和回归问题是支持向量机算法的基本内容。本文研究了使用支持向量机算法解决线性和非线性分类问题和回归问题的原理和方法。

关键词:支持向量机,分类,回归,非线性

参考文献

[1]邓乃扬,田英杰.支持向量机[M].北京:科学出版社,2009.

[2]邓乃扬,田英杰.数据挖掘中的新方法[M].北京:科学出版社,2004.

[3]王书舟.持向量机方法及其应用研究[D].哈尔滨:哈尔滨工业大学,2009.

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

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

一种加权线性损失支持向量机 篇10

支持向量机( SVM) 是一种优秀的模式识别工具[1,2]。它以坚实的统计学习理论为基础,因此在各种各样的应用中,SVM的表现要好于大多数其他的系统,其中包括文本分类[3]、生物医学[4]、金融回归分析[5]等。标准的线性支持向量分类机是最早的SVM模型。它的主要思想是: ( 1) 构建两个平行超平面,利用它们之间的间隔分离两类( 正负数据点) ; ( 2) 要求两个超平面间的间隔最大化。这推动了结构风险最小化原理和正则化项的提出。最终,两个平行超平面间1 /2 处被选择为分类超平面。

相比许多其他的机器学习方法,尽管SVM具有较好的泛化性能,但是训练阶段涉及一个二次规划问题( QPP) 。它的计算复杂度为O( m3) ,其中m是训练数据点个数。这个缺点限制了大规模问题的应用。为了解决它,到目前为止,学者们提出了许多改进算法,如Chunking[6]、SMO[7]、SVMLight[8]、Libsvm[9]和Liblinear[10]。它们的目标是通过优化迭代过程中对偶问题的小部分变量,快速解决优化问题。另外,近年来一些新的SVM模型[11,12]被提出。例如,最小二乘支持向量机( LS-SVM)[11],它通过使用二次损失函数替代了Hinge,从而取代了SVM中的QPP,提高了训练速度。

我们知道,使用线性损失函数可能造成构建分类器失败,因为它的值将小于0。本文对线性损失函数进行了改进,提出了加权线性损失函数,它和Hinge具有相似的性质。在此基础上提出一个加权线性损失支持向量机( WLSVM) 。本文的主要贡献是: ( 1) 采用线性损失的优点,使每个类的训练点远离分类超平面。( 2) 通过增加权重,提出对不同位置上的训练点给出不同惩罚,在一定程度上避免了过度拟合,增强了泛化能力。( 3)仅需计算非常简单的数学表达式就可获得分类超平面,且方便解决大规模问题。通过在合成和真实数据集上的试验,结果表明: WLSVM的分类精度优于SVM和LS-SVM,且它减少了计算时间,尤其是对于大规模问题。

1 相关研究

对于二元分类问题,我们考虑训练集为T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,其中xi是Rn空间的一个样本点,yi∈{ - 1,+ 1} 是其对应的类标签,i = 1,2,…,m。

1. 1 SVM

对于分类问题,线性支持向量机寻求一个分类超平面:

其中w∈Rn,b∈R。为了测量经验风险,引入了软间隔损失∑mi=1max(0,1-yi(wTxi+b)),如图1(a)所示。通过引入正则化项1/2‖wT‖2和松弛变量ξ=(ξ1,…,ξm),SVM的最初问题可以表示为:

其中参数C > 0; 正则化项1/2‖wT‖2最小化等价于两个平行支撑超平面( wTx + b = 1 和wTx + b = 1) 的间距最大化。在这个问题上,实现了结构风险最小化原则。当获得式( 2) 的最优解时,根据决策函数sgn( wTx + b) 大于0 或小于0,数据点被分类为1或- 1。

在实践中,不是直接求解式( 2) ,而是求解它的对偶问题,得到相应的软( 硬) 间隔分类器。非线性核的情况类似于线性核函数的处理。

注:图中ω代表wTx+b,L代表四种不同损失函数的损失值

1. 2 LS-SVM

类似SVM,LS-SVM[11]也是寻求一个分类超平面式(1)。为了测量经验风险,引入了二次损失函数∑mi=1(1-yi(wTxi+b))2,如图1(b)所示。

同样,通过引入正则化项1/2‖wT‖2和松弛变量 ξi,LSSVM的最初问题可以表示为:

其中参数C > 0; 类似SVM,正则化项1/2‖wT‖2最小化等价于两个平行支撑超平面的间距最大化。式( 3) 可通过求解一个线性方程组得到。当获得式( 3) 的最优解时,使用SVM相同的方法,分类数据点。

2 WLSVM

2. 1 线性WLSVM

为了提高分类器的训练效率,引入线性损失∑mi=1(1-yi(wTxi+b))替代SVM中的∑mi=1max(0,1-yi(wTxi+b)),如图1(c)所示。参考文献[12,13],然后我们提出了线性损失支持向量机(LSVM),通过引入正则化项1/2(‖wT‖2+b2)和松弛变量ξi,LSVM的最初问题可以表示为:

其中参数C > 0; 显然,由于不同的损失函数,SVM,LS-SVM和LSVM的经验风险也不同,尽管它们的目标都是让决策超平面远离不同类。

为了平衡各点对超平面的影响,根据粗糙集理论[14],我们引入了加权因子vi,并提出加权线性损失支持向量机( WLSVM) 。通过重新调整式( 4) ,可得:

其中vi是权重参数,通过下列公式确定:

其中参数J1≥0,J2≤0。当固定vi,为了解决式( 5) ,通过把等式约束代入到目标函数,式( 5) 可变为:

求式( 7) 对于w和b的梯度,并设定为0,可得:

通过式( 8) 和式( 9) ,可以解得式( 5) 的最优解,类似SVM,根据决策函数sgn( wTx + b) 大于0 或小于0 ,数据点被分类为1或- 1。

为了确定权重,我们借鉴了WLS-SVM[15]中的方法,它类似式( 6) 。为了验证WLSVM,我们给出合适的参数J1≥0,J2≤0,并给出下列训练算法。

线性WLSVM的算法:

Step1

给定训练数据T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,设置vi1= 1,i = 1,2,…,m。通过设置合适的惩罚因子C,计算式( 8) 和式( 9) ,得到加权向量w1和b1,惩罚因子C一般基于验证技术来选择。

Step2

通过w1和b1计算式(5)中的松弛因子ξ1i,然后从式(6)中得到v*i,其中J1≥0,J1=|ξ+mean/N+-ξ-mean/N-|,J2≤0,J2=-|ξ-mean/N--ξ+mean/N+|。

Step3

通过vi*和合适的惩罚因子C,计算式( 8) 和式( 9) ,得到加权向量v*和b*。

Step4

通过决策函数y = sgn( w* Tx + b*) 进行分类。

2. 2 非线性WLSVM

为了把上述结果推广到非线性中,参考文献[2,16],我们考虑用核生成面替代超平面。

其中函数 φ( x) 用来映射数据点x到特征空间。类似线性情况,上述的核生成面通过下面QPP获得:

其中参数C > 0。

为了解决式( 11) ,通过把等式约束代入到目标函数,式( 11) 可变为:

求式( 12) 相对于w和b的梯度,并设定为0,可得:

通过式( 13) 和式( 14) ,可以解得式( 11) 的最优解,类似SVM,根据决策函数sgn( wTφ( x) + b) 大于0 或小于0 ,数据点被分类为1 或- 1。为了验证非线性WLSVM,给出了下列训练算法。

非线性WLSVM的训练算法:

Step1

给定训练数据T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,设置vi1= 1,i = 1,2,…,m。通过设置合适的惩罚因子C,计算式( 13) 和式( 14) ,得到加权向量w1和b1,惩罚因子C一般基于数据验证技术来选择。

Step2

通过w1和b1计算式(11)中的松弛因子ξ1i,然后从式(6)中得到v*i,其中J1≥0,J1=|ξ+mean/N+-ξ-mean/N-|,J2≤0,J2=-|ξ-mean/N--ξ+mean/N+|。

Step3

通过vi*,合适的惩罚因子C和核函数,计算式( 13)和式( 14) ,得到加权向量w*和b*。

Step4

通过决策函数y = sgn( w* Tφ( x) + b*) 进行分类。

3 实验结果

为了评估WLSVM,通过8 个UCI基准数据集[17]和David Musicant的NDC数据生成数据集[18],我们研究了其分类精度和计算效率。在实验中,我们专注于对比WLSVM和两个先进的分类器———SVM和LS-SVM。实验在一台计算机上进行,它的配置为酷睿双核2. 66GHz CPU、2GB DDR内存。MATLAB7. 0用于模拟所有的分类器。为了达到快速的训练,SVM通过Libsvm实现,LS-SVM通过Lib LSSVM[19]实现。LSVM和WLSVM是由简单的MATLAB操作实现。“精确度”用来评估这些方法,它被定义为: Accuracy = ( TP + TN) /( TP + FP + TN + FN) ,其中TP( TN) 代表正确分类正( 负) 样本点个数,FP( FN) 代表错误分类样本点个数( 负( 正) 样本误报为正( 负) 样本) 。对于超参数的选择问题,我们使用标准的十倍交叉验证技术。此外,所有方法的参数都来自于集合{ 2- 8,…,27} 。

首先,我们用UCI基准数据集进行试验,测试四种方法,结果如表1 所示。我们得到了十倍交叉验证标准误差及平均值和每个分类器训练的CPU时间。表1 显示了WLSVM的泛化能力明显优于其他三个分类器,只在个别数据集上略低于SVM和LS-SVM,但相微乎其微。它也表明,在许多数据集上,WLSVM通过计算简单的数学表达式,性能上也优于其他分类器,而且WLSVM显著优于LSVM。从表1 中,也可以看到,WLSVM比其他方法的训练速度都快。

表2 是有关核的支持向量机SVM,LS-SVM,LSVM和WLSVM。它们使用了高斯核函数K( x,x') = e- μ‖x - x'‖2,核参数 μ 通过搜索范围2- 10至25确定。表2 中的结果类似表1,因此更进一步证实了上述结论。

为了弄清楚所有方法的计算时间与数据点个数的关系,我们又在大数据集上进行了实验。该数据集由David Musicants NDC数据生成器生成。NDC数据集分为训练集和测试集。我们分别研究了训练精度和测试精度。对于这次实验,我们对所有算法使用相同的惩罚因子( 例如C = 1,c1= 1,c2= 1,v1= 0. 5,v2=0.5)。

表3 显示了线性支持向量机SVM,LS-SVM,LSVM和WLSVM的训练时间和精确度。比较发现,它们的精度几乎相同,WLSVM要略显优势; 并且在所有的数据集上,WLSVM的计算速度要比SVM和LS-SVM快出几个数量级。值得一提的是,我们没有对WLSVM和LSVM做任何特殊的优化。对于大数据集( 超过一万个训练点) ,我们只研究了LS-SVM,LSVM和WLSVM,这是因为Libsvm会耗尽内存。从表3 中,训练一百万个数据时,WLSVM耗时1. 6018 秒,而LS-SVM耗时6. 85 秒,从而表明,在大数据集上,WLSVM的训练速度明显快于LS-SVM。此外,在PC上WLSVM和LSVM还能训练二百万个数据。结果证明: 与SVM和LS-SVM相比,WLSVM提高了计算效率。

注: * 试验耗尽了内存

4 结语

支持向量机增量 篇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

语种识别技术是智能信息处理的研究热点问题之一。据统计,中国现有5000多万少数民族人口在使用本民族的语言文字[1],随着通信技术在我国少数民族地区的普及,电话已成为广大民族同胞快捷获取信息的主要方式,而本能的他们希望使用自己的语言交流。由于电话呼入具有跨地区和不可预知性,所以民族语语种识别对于电话信息服务变得尤为重要。当前主流的语种识别方法包括:并行音素识别器结合语言模型(PPRLM),基于混合高斯模型(GMM)和基于支持向量机(SVM)的方法等[2]。总体而言上述方法可以分成两类:一是基于音素识别器的方法, 如PPRLM;二是基于声学模型的方法, 如GMM和SVM。其中, SVM由于其良好的模型区分能力和理论基础,在图像识别、文本、视频处理等领域得到了广泛的应用。针对不断增加的民族语语种识别的需求和电话呼入语音来源的不确定性,考虑到性别对识别性能的影响,设计了从不同数据库中选择相应的民族语和外国语作为实验的语料数据,分别对男女声及其混合声音做了对比实验,研究支持向量机是否能忽略不同数据库以及性别的影响,得到良好的识别效果。实验分别选取了来自少数民族语电话语音数据库中的白语、纳西语和CSLU语音数据库中的英语、日语,以及两个数据库中共有的汉语普通话五种语言作为数据样本,采用SVM作为分类器,对多种声学特征及其特征融合的分类结果进行了比较。实验结果表明支持向量机在采用多种特征融合时对来自不同数据库中的样本具有较好的分类能力。

1 支持向量机

支持向量机(Support Vector Machine,SVM)是Vapnik等1995年提出的一种新型机器学习方法[3],它是专门针对有限样本情况的,根据有限的样本信息在模型的复杂性(即对训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷, 以期获得最好的推广能力[4]。

如果样本点是线性可分的,则直接对样本空间进行操作即可。若样本点不是线性可分,则首先通过一个非线性映射Ф将其投影到一个高维空间(称之为特征空间)使之线性可分,然后在特征空间中对Ф(x)操作。以下假设就用{xi}作为样本点,并设线性可分样本集为 (xi,yi),i=1,…,n,x∈Rd,y∈{+1,-1}是类别标号。SVM选择超平面作为分类函数。在线性可分的情况下,可有多个超平面能将两类样本分开,选择其中能使得两类中离它最近的样本与它的距离最大的那个超平面,称之为最优超平面,如图1所示。

设超平面方程为(w·x)+b=0, (1)

使得

(w·x1)+b=1 (w·x2)+b=-1

[w(x1-x2)]=2

[w(x1-x2)]/‖w‖=2/‖w‖ (2)

分类函数就是g(x)=(w·x)+b。将分类函数归一化,使两类所有样本都满足|g(x)|≥1(只要样本集是线性可分的,就总可以做到),使距分类超平面最近的样本的|g(x)|≥1,这样分类间隔就等于2/‖w‖,因此使间隔最大等价于使‖w‖最小;要求分类线对所有样本正确分类,即满足

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

因此,满足上述条件且使‖w‖最小的分类面就是最优分类面[5]。

目前经常使用的核函数主要有3类:

①多项式形式的核函数

Kpoly(x,xi)=[(x·xi)+1]q

其中,q为多项式的阶数;

②径向基形式的核函数:

Krbf(x,xi)=exp{-‖x-xi‖2/2σ2}

③S形核函数:

Ksigm(x,xi)=tanh[v(x×xi)+c]

SVM技术的关键是核函数的选取,不同的核函数对分类结果有很大的影响。上述3类核函数各有利弊,而且其参数选择也很重要,但目前SVM技术尚未得到合适的选取标准。

2 基于支持向量机的语种识别

2.1 语音样本选择

实验所采用的白语和纳西语来自少数民族语电话语音数据库, 该数据库由云南大学信息学院研制[6]。此外, 英语和日语来自语音数据联盟的CSLU语言数据库,而汉语语句有一半来自少数民族语电话语音数据库,一半来自CSLU数据库。这两个数据库中的语音均采用电话语音卡采集, 抽样频率为16kHz, 用16bit量化, 保存为.wav文件。但两个语音库采用的录制设备不一样,电话信道也有所区别。实验中我们对男声,女声和男女混合声音都分别做了实验。在做单独男女声实验的时候,我们对每种语言分别选择了16名男说话人,16名女说话人,而做男女声混合实验的时候,我们分别选取8名男说话人和8名女说话人。每人选10条语句样本, 每条语句样本长度为3秒~4秒, 每种语言共计160句作为样本数据,如表1所示。

2.2 特征参数提取

我们对所输入的语音进行语种识别,主要是通过语音的声学特征来进行的。实验对每个语句进行预处理后,用窗长30ms, 窗移10ms汉明窗进行加窗处理,提取出了MFCC(Mel frequency Cepstral Coefficients), 基音频率,第一共振峰,短时能量,韵律等5类基本声学特征及其派生特征参数。

①基音频率(F0)

基音频率是反映语音激励源的重要参数,是语音信号最重要的参数之一,尤其是对于有声调的语言。实验对预处理后的每个语句采用中心削波的自相关算法逐帧提取基音频率。

②短时能量(En)

语音信号的能量随着时间变化比较明显,一般清音部分的能量比浊音的能量小得多,语音信号的短时能量分析就是用来描述语音幅度变化的方法。

③美尔频率倒谱系数(MFCC)

MFCC考虑了人耳感知频率和音强时具有的非线性特性,被证明具有良好的识别性能和抗噪声能力,已被广泛应用于语音识别和说话人识别中。在本文实验中,对每个试验语句计算MFCC参数,提取其前12维,最后计算所有帧的MFCC平均值。

④第一共振峰(F1)

共振峰是反映声道特性的一个重要参数。实验首先用线性预测法(LPC)求14阶预测系数,然后用预测系数估计出声道特性的频率响应曲线,再用峰值检出法算出各共振峰的频率。

⑤韵律节奏

把每个语句音节数与语句发音时间的比值作为语速特征参数,统计每个语句中有声段和无声段的比例,由此得到2维的韵律特征参数,如表2所示。

2.3 SVM分类器训练与识别测试

针对实验提取的特征参数,选择基于高斯径向基函数的支持向量机,它能够准确的度量数据集上的距离,具有较好的分类效果[7];同时,实验中使用了五种特征参数集及它们的相应组合作为SVM分类器的输入。本文采用10层交叉验证的方法来训练和测试SVM分类器,实验的基本过程是: ①对语音样本集中的各语句样本分别进行特征提取,获得共800组的特征参数集,其中包含白语、纳西语、汉语、英语和日语的各16名说话人,每人采用10句语句样本的特征参数集;②选择不同的特征参数集作为SVM分类器的输入;③对得到的语音样本特征参数集分别进行10次循环训练和测试, 即每次选择15名说话人的语音样本特征参数集作为SVM分类器的训练样本, 余下的1名说话人的语音样本特征参数集作为SVM分类器的测试样本, 在10次循环中16名说话人的语音样本特征参数集依次作为SVM分类器的测试样本, 其余为训练样本。采取这种实验方法的目的是[8]:首先,在语音样本有限的条件下,能够去除系统的随机性, 提高识别系统的鲁棒性;其次,使训练和测试尽可能独立于说话人和语音样本的文本。

3 实验结果及分析

表3给出了基于不同特征及特征融合参数集的3个实验的识别结果。本实验采用的特征不仅分别用了五种单独的特征,还用到了其中两类、三类、四类、五类特征的融合(即将不同的特征同时作为支持向量机的输入)。在实验中,单独特征基音频率的识别率最高,融合特征的最高识别率达到了87.92%(四类特征融合)。从表中我们可以看出,单独特征集进行实验时,男声,女声和混合声三种实验的基音频率参数特征的识别率较其它特征都高,所以,基音频率是进行语种识别一个比较优越的特征。在融合特征中,可以发现并不是特征融合越多性能越好,五类特征融合的识别率比四类特征融合的识别率还要稍微低些,这是由于太多特征组合在一起,造成了特征数据的冗余,反而降低了识别率[9]。另外,混合声音的识别率都明显低于任何一种单独声音的识别率,这是由于男声,女声的特征参数有差异,支持向量机用超平面按语种划分混合声样本空间,比划分单一类声音(男声或女声)的样本空间要困难,因此增加了误识别率。

4 结束语

简要介绍了支持向量机原理,并构造了基于径向基函数的支持向量机用于对来自不同数据库中的语言进行语种识别研究。实验表明,在采用的不同声学特征集中,对于单个特征而言,基音频率在实验中得到最好的识别率,其原因可能是因为基音频率反映的是激励源的信息,对于不同的语种,声调语调对识别的贡献最大,所以它的识别率最高。另外,在本实验中,融合特征的识别率明显高于任意单一特征,其原因是对于语种识别而言,语言的不确定因素很多,至今为止没有找到一种特征能完全区别一种语言,所以多个特征的融合为分类提供了更多的差异信息,使其达到更好的效果。但实验结果也表明并不是融合的特征种类越多越好,融合的特征太多,导致数据冗余,反而降低了识别率。从实验中还可以看出,对于来自不同数据库中的实验数据样本,支持向量机还是可以达到较好的识别效果,但性别特征对其识别性能有一定的影响。

尽管支持向量机追求在现有有限信息的条件下得到最优结果的优点,它还有一些方面存在问题需要解决。比如,核函数中核参数的选取缺乏理论的指导,通常都是通过反复的实验,人工选取出较为满意的解。这些缺点影响了支持向量机的应用领域和效果,拓宽它的应用领域和改善它的应用效果还有待于这一模型自身的发展和完善。另外如果再增加数据库的个数,而且数据库采集的方式不一样,提取的特征参数不一样,其识别效果又会怎样,以及如何减小性别特征对识别效果的影响,这都是在今后的研究中值得探讨的问题。

参考文献

[1]中国少数民族[EB/OL].中国网:http://www.china.com.cn/ch-shaoshu/.

[2]雷文辉,宋彦,戴礼荣.一种基于层次化支持向量机的语种识别方法[J].小型微型计算机系统,2009,4(4):721-725.

[3]统计学习理论的本质[M].张学工,译.北京:清华大学出版杜,2000:96-116.

[4]朱志宇,张冰,刘维亭.基于模糊支持向量机的语音识别方法[J].计算机工程,2006,32(2):180-182.

[5]Bernhard Scholkopf.Support Vector Machines[J].IEEE IntelligentSystems,Trends&Controversies,1998(7-8):18-21.

[6]徐永华,杨鉴,陈江,等.一个面向少数民族语种识别的电话语音数据库[C].第十届全国人机语音通讯学术会议,兰州,2009,8.

[7]Sugiyama M.Automatic Language Recognition Using Acoustic Fea-tures[C].International Conference on Acoustics,Speech and SignalProcessing.Toronto,1991:423-430.

[8]徐翔俊,毕福昆,杨鉴.基于支持向量机的民族语口音识别[J].计算机工程与应用,2008,44(13):71-73.

上一篇:救援物资下一篇:周期性试验