多级支持向量机(共12篇)
多级支持向量机 篇1
0 引言
运行经验和研究表明,过电压是造成电网绝缘损害的主要原因,也是选择电气设备绝缘强度的决定性因素,随着电网的建设与发展,电压等级和输送容量的不断提高,暂时过电压因持续时间较长对超高压和特高压系统电气设备的绝缘水平影响越来越大[1,2,3]。及时检测电力系统出现的各种过电压,快速准确地区分故障类型,建立起一套完善的电力系统过电压智能监测系统,对电力系统故障处理和灾害预防是十分必要的,但目前现有电力系统过电压在线监测装置[4],尚不具备过电压类型分析识别能力,更多的是据人工经验判断,工作量大,容易误判。因此,研究暂时过电压信号的特征提取,实现过电压类型自动识别,对改进输电线路和电气设备的绝缘配合都具有十分重要的指导意义。
近年来,国内外许多专家学者对电力系统信号的特征提取和辨识问题展开了深入的研究,利用神经网络[5,6]、模糊数学[7]、Fisher判据[8]、支持向量机[9,10,11,12,13]等理论展开了许多研究,取得了一定的成果。神经网络具有结构简单和很强的问题求解能力,一旦被训练,可以快速执行,但网络训练需大量的样本数据,收敛性较差,训练时间较长;模糊理论能够用隶属函数将一些模糊和不确定的概念量化,利用既定的知识规则形成判据,但隶属度函数难以确定;Fisher判据能够将多维特征空间压缩到一维,可以有效降低特征维数,虽然计算简单,但错误率不能达到最小;支持向量机[14](Support Vector Machine,SVM)是建立在经验风险、结构风险最小化的基础之上,与其他模式识别方法相比,它有效地解决了小样本、高维数、非线性等学习问题,训练时间短,计算速度快,具有显著的优越性,目前在电能质量[9,10]、故障诊断[11,12]、电力系统负荷预测[13]等很多方面都取得了应用。文献[9]提出利用傅里叶变换和小波变换提取电能质量扰动特征,采用多类分类支持向量机对扰动进行识别。文献[10]利用S变换和多级支持向量机对电能质量扰动进行分类。文献[11-12]分别采用支持向量机对输电线路进行故障诊断。上述主要针对的是电能质量和输电线路故障信号的集中式识别,各信号之间相对独立,而暂时过电压种类较多,信号之间存在从属关系,因此,对于暂时过电压的识别需要进一步探究。此外,上述分析的信号都是仿真信号,与真实信号存在一定出入。
本文根据电力系统暂时过电压分类,建立分层识别系统,在构造多级支持向量机分类器的基础上,提出一种电力系统暂时过电压多级支持向量机分层识别方法,通过计算暂时过电压的三相及零序电压波形的时域统计特征和小波时频特征,并对特征量逐级选择,将这些特征量输入M-SVM分类器以实现暂时过电压的类型判别。现场数据测试表明了该方法的有效性。
1 支持向量机
Vapnik等人在统计学习理论的基础上发展了一种新的模式识别方法——支持向量机(SVM)[14],其基本思想是在样本空间或特征空间中,构造出最优超平面,该超平面与不同类样本集之间的距离最大,不仅可以将属于两个类别的训练样本分开,而且具有全局最优性和最大的泛化能力。
设线性可分样本集为{(Xi,yi)},(i=1,2,…,l),其中l为样本容量,Xi为输入样本的特征向量,Xi∈Rn,yi∈{-1,1}为相应的样本类别。假定l维空间的线性判别函数为:g(Xi)=WTXi+b,对应的分类面方程为WTXi+b=0。根据Vapmik提出的最优超平原则,当距分界超平面最近的样本数据与超平面之间的距离2/||W|最大时,该超平面为最优分界超平面,而距离最优分界面最近的样本特征向量就是支持向量。因此,SVM实质为如式(1)所示的二次规划问题。
用Lagrange乘数法求解该问题得,得到最优分界面的解权向量W0为
其中,αi0为Lagrange系数,得到最优分界面解权向量后,分类规则为式(13)。
若样本集为线性不可分时,首先可以引入非负松弛变量ξi≥0(i=1,2,…,l)和惩罚因子C,适当地改变目标函数,其中惩罚因子C>0表示对错误分类样本的惩罚程度,C越大则惩罚越大;其次,选择适当的非线性函数Φ(Xi),将输入模式向量映射到一个线性可分的高维空间Z,在这个维数可能为无穷大的空间中构造最优分界超平面;此外,根据泛函数理论,寻求满足Mercer条件的核函数K(Xi,Xj),以对应变换空间的内积XiTXj,即可实现非线性变换后的分类。因此,在引入负松弛变量ξi、惩罚因子C和非线性核函数后,SVM算法为
利用对偶原理及Lagrange乘数法求解该问题,得到对偶问题为
式中,K(Xi,Xj)=Φ(Xi)·Φ(Xj),称为核函数。求解该问题,得到判别函数为
尽管经过非线性映射之后,高维空间的维数可能远高于输入特征空间,但在求解优化问题及计算判别函数时,并不需要显示计算非线性函数,而只需要计算核函数,有效避免了维数灾难问题。同时,支持向量机的另一优点在于解的稀疏性,即多数输入特征向量的Lagrange系数αi为零,只有支持向量的Lagrange系数αi不为零。因此,只需要少量的样本就能构成最优分界超平面,从而可以大大压缩有用的样本数据。
2 暂时过电压多级支持向量机分层识别
2.1 暂时过电压分层识别系统
电力系统暂时种类较多,发生机理不尽相同,从分类结构上看,各种类型过电压之间存在从属关系,而目前的电力系统信号识别方法,并没有考虑信号之间的层次关系,大都采用集中式的特征提取及分类识别[9,12],识别程序和参数修改不方便,扩展性差,因此,本文采用分层识别的思想建立暂时过电压分层识别系统,各层过电压分别由不同节点区分开来,如图1所示。
暂时过电压分层识别系统采用自上而下的逐级分层识别方式,体现了暂时过电压分类的本质规律,可以有针对性地选取每一层次的特征量,以避免集中式提取特征计算浪费和特征效果不明显;同时,各层节点处的分类器相互独立,若要增加新的过电压类型,只需在两个节点之间插入相应的特征提取方法和分类器,无需对整个识别系统修改,扩展性较好;此外,在整个暂时过电压分层识别系统中,根据特征量提取的难易,可首先识别较易识别的信号,如单相接地过电压。
采用暂时过电压分层识别系统时,综合考虑过电压的出现概率以及过电压类型识别的工程实用性,本文着重分析实际系统出现次数较多的单相接地、高频谐振、基波谐振和分频谐振四种暂时过电压;而弧光接地过电压虽属操作过电压,但因电弧多次熄灭和重燃,持续时间较长,故将弧光接地过电压归为暂时过电压一起研究。
2.2 多级支持向量机分类器构造
SVM是针对二元问题提出的,在应用于电力系统暂时过电压识别等多类问题时,需要将其扩展到多元分类问题,因此,需要建立多分类SVM分类器,将多元问题转化为二元问题。
目前,SVM多类分类器的方法主要有两类:一类是直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。这种方法看似简单,但特征量维数较高,计算复杂,实现起来比较困难,只适合解决小型问题;另一类是间接法,主要是通过组合多个二分类器来实现多分类器的构造,该方法计算简单,较易实现,但需构建多个分类器。常见的间接分类方法有“一对一”、“二分树”等,对于一个k类问题,若采用“一对一”的分类方法,则需要训练k(k-1)/2支持向量机来实现,而对于“二分树”则只需要训练k-1个支持向量机。鉴于“二分树”所需要的支持向量数目较少,结合暂时过电压分层识别系统,本文采用“二分树”法构建多级支持向量机(M-SVM),如图2所示。
3 基于M-SVM的暂时过电压分层识别
选取过电压在线监测系统获取的数据,对实测的过电压信号进行识别测试,图3~图5表示了上述几种过电压的三相及零序电压时域波形。
3.1 数据取预处理
(1)特征量计算时间区间选取。电力系统中雷电过电压和操作过电压持续时间相对较短,一般在一个工频周期之内(弧光接地过电压除外);暂时过电压持续时间相对较长,从几个工频周期到1.5~2 h不等。综合考虑各种过电压类型持续时间和波形特征,本文以过电压发生时的五个工频周期(100 ms)为计算区间,在200 k Hz的采样频率下,共20 000个采样点。
(2)根据电压等级,将零序过电压信号归一化。考虑到过电压发生时,三相电压波形变化可能不尽相同,为避免分相判断,采用零序电压作为分析对象。在正常情况下,零序电压为零,发生过电压时,三相电压波形变化会在零序电压波形上体现。
3.2 暂时过电压时频特征提取
1)时域统计特征
不同过电压类型的时域波形各不相同,暂时过电压发生时,频率范围相对较低,时域统计特征能够直观有效的反映其波形整体特征。本文选取的时域统计特征量包括:
(1)有效值UOrms
(2)绝对平均值UOave
(3)裕度系数LO
(4)峰值因子CO
(5)脉冲因子IO
(6)波形系数SO
(7)Kurtosis系数KO
(8)三相电压最小有效值UMrms
(9)三相电压最小绝对平均值UMave
式(1)~式(7)中:UO(n)为零序电压;N为采样点,N=20 000;式(8)~式(9)中,UArms、UBrms、UCrms和UAave、UBave、UCave分别为三相电压的有效值和绝对平均值。
2)小波时频特征
不同过电压类型,频带范围分布各不相同,工频电压升高和谐振过电压频带范围主要在0~800Hz,弧光接地过电压因电弧多次熄灭和重燃,有效信息大都集中在1 k Hz以上的高频段。对于采样频率为200 k Hz的过电压信号,根据小波分解频带减半的原理,将零序电压信号分解11层,第l~11层细节信号及第11层近似信号对应的频带范围如表1所示。
综合考虑弧光接地和暂时过电压的频带分布范围和特征参量的选取,可将表1频带划分为三部分:(1)高频部分H,包括d1~d7层,频带范围781.25~100 kHz;(2)低频部分L2,包括d8~d11层,频带范围48.83~781.25 Hz;(3)低频部分L1,a11层,频带范围0~48.83 Hz。参考式(1)~式(7)特征量计算方法,可构造以下高频部分H、低频部分L1和L2的时频特征。
(1)高频部分H,小波能量EH、裕度系数LH、峰值因子CH、脉冲因子IH及Kurtosis系数KH。
(2)低频部分L2,有效值UL2rms、绝对平均值UL2ave、裕度系数LL2、峰值因子CL2及脉冲因子IL2。
(3)低频部分L1,有效值UL1rms及绝对平均值UL1ave。
3.3 基于M-SVM暂时过电压分层识别
在过电压数据预处理和特征提取的基础上,利用M-SVM分类器对六种过电压进行分类,具体实现步骤如下:
(1)特征数据预处理。对本文计算的特征量归一化处理,使得xi∈[0,1],以消除不同量纲的影响。
(2)SVM核函数及各参数选择。SVM的核函数选择不同,将产生不同的支持向量,生成不同的判别函数,从而对过电压类型的识别产生很大影响,本文选择实践分类效果较好的径向基函数(RBF)作为核函数:K(Xi,X)=exp(-‖Xi-X‖2/σ2);此外,惩罚因子C对SVM性能也有很大影响,C过小,会导致对训练数据欠学习,过大则造成过学习[14]。综上考虑,本文取σ2=50,惩罚因子C=50,松弛变量ξ=0.001。
(3)特征量逐级分层选择。不同的过电压类型,具有不同代表性的特征参量,暂时过电压与雷电及操作过电压的零序电压波形差别较大,可将零序电压时域统计特征作为分类器SVM1的特征向量;单相接地过电压因某一相电压骤降为零,可将三相电压最小有效值UMrms和绝对平均值UMave作为分类器SVM2的特征量;弧光接地和铁磁谐振过电压因高低频有效信息各不相同,因此可将小波分解后的时频统计特征作为分类器SVM3、SVM4和SVM5的特征空间,如表2所示。通过上述特征量的逐级分层选择,可以有针对性的选取不同过电压的特征量,降低特征维数,节省计算时间。
(4)暂时过电压分类识别。分类识别包括训练和测试两个阶段,训练时样本输入为各级分类器的特征向量和标识符;测试时,输入数据为各级分类器的特征向量,输出结果为标识符,即各标识符对应的过电压类型。例如有30个测试样本,将30×6的特征矩阵输入SVM1中,输出则为30×1矩阵,该输出矩阵元素已标示为1和-1,若为-1则表示为雷电及操作过电压,反之为暂时过电压,并进入下一级SVM识别,通过这种逐级分层识别,最终实现六类过电压类型的辨识。
3.4 识别结果分析
本文选取重庆某变电站HG-OVM型过电压在线监测系统10 k V和35 k V母线上采集到的过电压数据进行分类,将随机选取的227组过电压数据中的127组作为训练样本,对特征数据进行单次训练;将余下的100组测试数据的特征向量,输入到已经训练好的M-SVM中进行逐级识别,其中雷电及操作、单相接地和弧光接地过电压的识别率都为100%,基波谐振识别率为95.8%,分频谐振的识别率为96.3%,总识别率可达98.4%。同时,对上述127组训练样本和100组测试样本采用含有两层隐含层的BP神经网络进行识别效果对比,如表3所示。
由表3可以看出,M-SVM因建立在经验风险、结构风险的最小化基础上,收敛性较好,只需单次训练,训练时间仅为5.4 s,总识别率可达98.4%;而BP神经网络因存在局部最优问题,其收敛性较差,需多次训练,耗时较长,总识别率仅为85.8%。此外,神经网络对样本数量要求较高,随着样本数据的增多,识别率会有所提高,但目前实测过电压样本数据较少,而M-SVM对样本数量依赖较弱。综上所述,本文所采用的M-SVM分层识别方法,能够实现对暂时过电压的快速准确识别。
4 结论
(1)本文根据暂时过电压的分类,提出了一种暂时过电压多级支持向量机分层识别的方法,根据五种过电压的波形特征,提取了三相及零序电压的时域统计特征和小波时频特征,通过建立暂时过电压分层识别系统,采用“二分树”法构建M-SVM分类器,实现了电力系统最为常见的几种暂时过电压的识别。实测数据测试表明,该方法可以实现小样本分类,并能达到很好的识别效果。与BP神经网络相比,该方法收敛性好、训练次数少、训练时间短,可较好地应用电力系统暂时过电压分类。
(2)电力系统过电压形式多种多样,限于实测数据类型所限,本文提出的分层识别方法仅对变电站中最经常出现的几类暂时电压实现了辨识。随着实测过电压类型的丰富,可对识别系统扩展,以较全面的对暂时过电压类型进行识别。
摘要:提出了一种电力系统暂时过电压多级支持向量机(M-SVM)分层识别的方法。根据暂时过电压分类,建立暂时过电压分层识别系统,并采用“二分树”法构建多级支持向量机分类器。在变电站实测过电压数据的基础上,提取了三相及零序电压的时域统计特征和小波时频特征,同时对特征量进行逐级选择,将这些特征量作为M-SVM的输入,实现暂时过电压类型辨识。现场数据测试表明,采用的M-SVM分层识别方法具有训练样本少、训练时间短、识别率高的优点,可较好地应用于电力系统暂时过电压类型识别。
关键词:暂时过电压,特征提取,过电压识别,零序电压,分层识别系统,多级支持向量机
多级支持向量机 篇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
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.
多级支持向量机 篇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}Rni1来预测一个函数,这里xi代表输入向量,yi代表输出值,n代表数据集的总大小。建模的目的是建立一个决策函数yf(x),在给定一组新的输入输出样本xi,yi的情况下准确预测输出yi。该线性逼近函数由下面的公式表示:
f(x)(w(x)b),:RF;wFTP(1)这里w,b是系数,(x)代表高维特征空间,通过输入空间x的非线性映射得到。因此,高维特征空间中的线性关系被映射到了低维特征空间中的非线性关系。这里不用考虑高维特征空间中w和(x)的内积计算。相应的,包含非线性回归的原始优化问题被转换到特征空间F而非输入空间x中寻找最平缓模型的问题。图1中的未知参数w和b通过训练集G预测得到。
通过不敏感损失函数支持向量回归机在高维特征空间中模拟线性回归。同时,为了避免过拟合,2并提高泛化能力,采用最小化经验风险和复杂度w2之和的正则化函数。系数w和b通过最小化结构风险函数预测得到。
RSVR(C)Remp12w2Cnni1L(yi,yi)212w2(2)这里RSVR和Remp分别代表回归风险和经验风险。w2代表欧几里德范数,C代表度量经验风险的损失函数。在公式2给出的结构风险函数中,回归风险RSVR是在给定测试样本输入向量情况下由约束函数f得到的可能误差。
(|y,y|),if|yy|L(y,y)(3)
Otherwise0,n在公式2中,第一项C/nL*(yi,yi)代表经验误差,该误差通过公式3中不敏感损失函
i1数预测得到。引入损失函数可以使用少量的数据点来获得公式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)12nw2CL(ii)(4)
*i1yiw(xi)bii*目标值:0*w(x)byiiii
这里i和i分别代表度量上下边沿误差的松弛变量。以上公式表明在同一结构函数f(x)下增大将减小相应的i和i,从而减小来自相应数据点的误差。最后通过引入拉格朗日多项式和扩展最优性约束,公式1所给决策函数有如下的形式:
nf(x,i,i)*(i1ii)K(xxi)b*(5)
*i这里公式5中参数i和i被称为拉格朗日乘子,他们满足公式i*0,i0和*i0,在i1,2....,n。公式5中的K(xi,xj)称作核函数,而核函数的值等于特征空间(xi)和(xj)中 7
向量xi和xj的内积,其中K(xi,xj)=(xi)(xj)。核函数用来表征任意维特征空间而不用精确计算(x)。假如任给一个函数满足Mercer条件,他就可用作核函数。核函数的典型例子是多项式核(K(x,y)[xy1]d)和高斯核(K(x,y)exp[(xy)2/22])。这些公式中,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 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.
用支持向量机建模学习过程 篇8
1 支持向量机
支持向量机(SVMs)是学习分类器。例如,神经网络学习分类器。但它们使用的概念略有不同。支持向量机(SVMs)是一个线性分类器的概括,与神经网络相比,SVMs关键的优越性是其创建和训练算法[2]。
1.1 线性分类器
在超平面的帮助下,线性分类器可以把输入空间分成两个部分:类A为类B。位于超平面上部的每一点属于类A,面位于超平面下部的每一点属于类B。图1显示了一个已分类的数据集。在式(1)定义的平面D是分类器的唯一参数。如果xi被分为类A和类B,如果分类器是经过训练的,这些数据的分类可以由式(2)和式(3)来实现。
〈x,y〉代表标准点积 〈x,y〉=x1·y1+x2·y2+…
D≡〈w,x〉+d=0 (1)
xi∈A⇒⇐ 〈w,xi〉+d>0 (2)
xi∈B⇒⇐ 〈w,xi〉+d<0 (3)
然而,由两个约束条件组成系统的训练并非无足轻重。如果具备式(4)和式(5),那么分类的条件就变成了式(6)
y1=1⇒⇐ xi∈A (4)
y1=-1⇒⇐ xi∈B (5)
yi·(〈w,xi〉+d)>0 (6)
正如式(6)验证的每个点,训练就是要寻找w和d。但这里存在着无数个分离平面,需要从这些平面中选择一个。尽量选择一个最能概括分类器的平面。也就是说,使用一些没有包含在训练集合中的数据,也能得到比较好的结果。这决定使用式(7),如同在图3中显示的那样,有两个分离平面,每一个平面对应一个yi值,平面间的距离称为边界。可以表明,边界是与
为获得更概括的分类器,必须把边缘最大化,或者最小化
yi·(〈w,xi〉+d)≥0 (7)
验证式(8)的那些点称为支持向量。这些点支持此解决方法,其分布在限定平面上,并且位于它们类的边缘
yi·(〈w,xi〉+d)=0 (8)
可以证明,向量w是支持向量的一个线性组合[1]。式(8)和式(9)的组合可被改写为式(10),现在分类的条件与训练数据无关
w=∑ajyjxj且aj≥0 (9)
∑aiyi〈xi,x〉+d≥1 (10)
现在的训练在于寻找ai和d。每个不能验证式(8)的点,系数ai将为空。因此可以把它从解决方法中移走,这是训练所要达到的目标。支持向量及其相应的系数作为分类器的参数。
图4表明的解决平面都依赖于支持向量,因为它们都共享法线w,这些平面必定互相平行。可以证明,去掉一个非支持向量的向量,解决方法并不改变。这是合乎逻辑的,因为它们的ai为空,所以不会改变分类器的参数。
如果想用一个新数据集来训练系统,没有必要添加整个旧数据集,需要的仅是旧数据集中的支持向量。
1.2 非线性可分离数据集的扩展
如果输入空间被转换成一个高维空间,非线性可分离数据集也可以变成线性可分离的。图5就显示了这样一个空间转化的概念。
图6(a)显示了一个具体的例子。如果试图用线性分类器为这些数据集分类,则无法获得分离平面。如果在式(11)的帮助下,把一维的空间转换成一个二维的空间,那么这时候数据集就是线性可分离的。图6(b)表示转换过程和一个成功的分离平面。这个举例虽然简单,但也表明这种转化为更高维空间的可行性。
Ø(x)=(x,x2) (11)
1.3 核心函数
如果转换应用于每一个向量xi和w,式(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)的约束下,训练在于寻找w和b。使用式(9),在式(15)的约束下,训练就是要寻找ai和b。目标是要找到一个最概括的分离平面。必须最大化边界或最小化
应用拉格郞日优化理论,式(18)就变成了式(19)[2]。式(19)是一种二次优化问题。二次优化理论表明问题是凸起的,不存在局部最小化问题。在这个优化问题中,通常可以找到最好的结果。这是支持向量机(SVM)的一个重要优势:当给定数据集并选中核心函数后,通常可以找到最好的结果。多次训练这个系统都是得到一个完全相同的结果。虽然二次优化算法有很多种,此处仅介绍支持向量机,更多的信息可以在文献[3]中找到
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.
一种加权线性损失支持向量机 篇9
支持向量机( 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 结语
基于支持向量机分类的回归方法 篇10
统计学习理论起源于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.
多级支持向量机 篇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
支持向量机 (SupportVectorMachine, SVM) 一经提出, 就得到国内外学者的高度关注。因为其具有强大的非线性处理能力和良好的泛化推广能力, 使得它在机器学习领域获得了高度的重视和广泛应用, 并涌现出了大量理论研究成果以及各种经典算法。这些算法大部分都要求解一个二次规划问题, 如Osun等提出的分解算法[1], 它主要利用解的稀疏性, 以需要大量的存储空间以及进行大量的矩阵运算的方式来加快求解二次规划速度;Platt提出的序贯最小优化 (sequential minimaloptimization, SMO) 算法[2], 也是针对求解二次规划问题的计算量和计算复杂度的算法, 它主要利用快速迭代的方式来加快求解速度。这些方法虽然确实提高了速度, 但还是需要解决二次规划问题, 所以无法从根本上来降低求解的复杂度。
最近机器学习的研究者们另辟蹊径, 从支持向量机所体现的几何原理进行研究, 提出了一些算法。如Keerrhi等所提出的最近点算法[3] (nearest pointalgorithm, NPA) 及Roobaert提出的DIRECTS-VM算法[4]等, 这些算法比较直观, 容易理解, 把二次规划求得的支持向量机解从几何角度描述出来有些研究者根据样本点违背KKT条件时在几何空间上的分布, 从理论上指出了支持向量机可以有增量学习方式[5], 但没有给出明确的算法表达式。本文也是从几何角度分析SVM的解结构, 从而提出一种新的支持向量机改进算法, 该算法不仅可以进行增量学习, 而且可以在保证精度的前提下显著提高求解速度, 从而可以运用在一些要求在线学习等实时性要求较高的问题中。
1 传统支持向量机算法
SVM方法是从线性可分情况下的最优分类线提出来的, 考虑如图1所示的二维两类线性可分的情况, 图1中实心点和空心点分别表示两类的训练样本, H为把两类没有错误地分开的分类线, H1H2分别为过各类样本中离分类线最近的点且平行于分类线的直线, H1和H2之间的距离叫做两类的分类空隙或分类间隔。所谓最优分类线就是要求分类线不但能把两类无错误地分开, 而且要使两类的分类空隙最大。前者是保证经验风险最小, 而且通过后面的讨论可以看到, 使分类空隙最大实际上就是使推广性的界中的置信范围最小, 从而使真实风险最小。推广到高维空间, 最优分类线就成为最优分类超平面, 也称为支持超平面。
设线性可分样本集为 (xi, yi) , i=1, …, n;, x∈ℝd, y∈{+1, -1}是类别标号, d维空间中的线性判别函数的一般形式为:
g (x) =w·x+b (1)
分类面为:
w·x+b=0 (2)
将判别函数式 (1) 进行归一化, 使两类样本都满足|g (x) |≥1, 即使离分类面最近的样本的|g (x) |=1, 这样分类间隔就等于2/‖w‖, 因此使间隔距离最大等价于使‖w‖或‖w‖2最小;而分类线对所有样本都正确分类, 就要满足:
yi[ (w·xi) +b]-1≥0;i=1, 2, …, n (3)
因此, 满足条件式 (3) 且使‖w‖2最小的分类面就是最优分类面。该问题可以表示为如下的约束优化问题:即在约束式 (3) 下求函数
的最小值。为此可定义如下的Lagrange函数:
式 (5) 中αi>0为Lagrange系数, 我们的问题是对w和b求Lagrange函数的极小值。
通过求偏导可以转化为一个简单的对偶问题:在约束条件
之下对αi求解下列函数的最大值:
若α*i为最优解, 则
即最优分类面的权系数向量是训练样本向量的线性组合。求解可以得到最优的分类函数是:
sgn () 为符号函数。由于非支持向量对应的αi均为0, 因此式子中的求和实际上只对支持向量进行。而b*是分类的阈值, 可以由任意的一个支持向量用式 (3) 求得。
注意到, 上述的最优和线性分类函数, 其最终的分类判别函数式 (9) 中只包含待分类样本与训练样本中支持向量的内积运算 (x·xi) , 同样, 它求解过程也只涉及到训练样本之间的内积运算。一个问题中只涉及向量间的内积运算, 我们就可以尝试在必要时通过适当改变内积将问题转化到另一个空间中处理。因此选择适当的内积函数——这里把这种特殊的内积函数称之为核函数K (x·xi) , 我们就可以把一个非线性可分的问题转化到高维空间的线性可分问题进行求解。这时, 我们可以得到类似式 (9) 的结果:
f (x) =sgn
这就是支持向量机的基本原理。
2改进的支持向量机算法
同样从简单的线性可分问题出发来进行研究, 设S1是正类样本的凸包, S2是负类样本的凸包, 则最优分类平面可以视为S1和S2的距离连线的垂直平分面。因为我们的问题讨论的分类样本都是有限集, 故两个凸包之间的距离可以表示为S1某个最外面的点x
因此为了求解该最优分界面, 只需找出对应的两个点x
(x
故这种表示形式下的最优的分类函数是
式 (12) 中b*是一个限定超平面位置的实数。因为只要超平面法向量已经确定, 再加多一个实数就可确定超平面方程。而确定b*的大小可以通过:先令b*=0代入训练样本求 (x·x
为了方便下面讨论, 这里规定了几个定义:
定义1:定义由一个正类样本点x
定义2:支持超平面的法向量也特指从负类样本集指向正类样本集的向量 (x
定义3:样本对差向量和指的是多个样本对差向量单位化后相加后得到的向量。
定义4:误分类样本数指的是把正类样本误分为负类和把负类样本误分为正类的样本总数。
统计性原理:一般数据样本中, 支持超平面的法向量与样本对差向量和有较小的夹角。
上述统计性原理是一种几何直观, 这里暂时不能给出完善的证明, 但可以对它进行粗略的描述:对一个线性可分问题, 每个样本对差向量可分解为一个在支持超平面的法向量上的投影分量和一个其他方向的分量。其中投影分量都同为正的, 这些投影的加和不会因为方向不同而抵消, 而其他方向的分量则加和相互抵消 (零和) , 因此样本对差向量和可分解为一个长的支持超平面的法向量投影分量, 和一个短的其他方向的分量, 即支持超平面的法向量与样本对差向量和有较小的夹角。
下面三个方案中, 方案三是本文所推荐的方案, 方案一和方案二是方案三的基础。
2.1方案一
取样本对差向量和为支持超平面的法向量, 按统计性原理可知, 当样本对足够多时, 本方案所得的支持超平面的法向量与真实解超平面有较小的夹角, 直接体现为误分类样本数可通过添加样本对个数来控制。根据上面描述我们可以这样来求解:
1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b。
2) 依次取得一组样本对{x
3) 把2) 中的样本对差向量添加到解上去:
4) 重复2) 、3) 步骤直到指定的样本对数目n为止, 得到:
5) 先令b=0代入训练样本求式 (13) 的值, 取得负类最大值x
至此, 我们就可以得到一个解超平面, 这种做法的好处是只求了一次阈值b, 速度很快, 不会陷入局部极小值, 缺点是所用的支持向量多 (一个样本对就是两个支持向量) , 求解的过程没有删除不良的样本对方向。
本方案的算法复杂度可作如下分析:设正类样本数为m, 负类样本数为n, 样本维数为d, 则步骤1) 至步骤4) 是一个循环结构, 它的执行时间取决于步骤2) 中的求向量长度的时间, 这个时间又与所选取的核函数有关, 一般来说可认为是○ (d2) 的复杂度。所有不同的样本对总数为m×n, 故循环体最大循环次数为m×n, 整个循环体的复杂度为○ (d2×m×n) ;步骤5) 的复杂度只有○ ( (m+n) ×d2) ;故整个算法的复杂度为○ (d2×m×n) , 是多项式的时间复杂度。
2.2方案二 (贪婪算法)
在方案一的求解过程中, 只选取能使误分类样本数减少的样本对添加到解中:
1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b, 初始误分类样本数为所有样本总数。
2) 随机取得一组样本对{x
3) 把2) 中的样本对差向量添加到解上去:
4) 求b值, 并计算误分类样本数, 如果误分类样本数大于原来的误分类样本数, 则删掉临时加上去的方向, 否则继续下一步。
5) 如果误分类样本数小于指定值, 跳到8) 。
6) 如果训练样本对数目大于指定值, 跳到8) 。
7) 转到步骤2) 。
8) 得到式 (14) 并结束。
本方案比方案一速度稍慢, 求解过程中使用的支持向量少, 完美体现了支撑向量机解的稀疏性。但本方案出现了新的问题:由于训练是向误差减少的方向进行的, 属于贪婪算法, 故也出现了贪婪算法的通病:有可能陷入局部最小值。即训练的过程中可能出现训练一定步骤后误差不再减少的问题。
2.3方案三 (惩罚训练)
为了避免训练过程中陷入局部最小值, 重新设计出方案三。由于对一个线性可分的问题, 错误的分类的样本组成的样本对差向量能较好地修正解的方向。因此, 误分类样本对可以引导解的法向量向正确方向靠拢。故做法如下:
1) 初始化解平面的法向量为0, 解为f (x) = (x·0) +b, 初始误分类样本对数为所有样本总数。
2) 求b值, 并计算误分类样本数, 如果误分类样本数大于原来的误分类样本数, 则删掉最后一次加上的样本对方向。
3) 如果误分类样本对数小于指定值, 跳到8) 。
4) 如果训练样本对数目大于指定值, 跳到8) 。
5) 取得样本中误分类的一个样本, 这里不妨设它为正类样本误分为负类, 为x
6) 把5) 中的向量添加到解方向上去:
7) 转到步骤2) 。
8) 得到式 (15) 并结束。
方案三在核空间线性可分的条件下避免了陷入局部最小值, 但是在核空间线性不可分时, 训练可能会出现不收敛。当然, 支持向量机也只能对线性可分的样本空间进行正确求解, 当原空间线性不可分时, 假设它转化到高维核空间后是线性可分的。
上面讨论的方案只是线性可分的情况, 由于求解过程中只牵涉到内积运算, 故跟支持向量机传统算法一样, 上面求解空间可以实用核函数转化到核空间, 转化的方法、方式都跟传统的支持向量机方法一致。
3实验结果及分析
在仿真实验中, 选择了来自于UCI机器学习知识库的“Connectionist Bench (Sonar) ”数据库。该数据库常用于检测分类算法的训练速度和最终的泛化效果。该数据集共有208条样本记录。每条记录的属性有60维。随机取其中的104个样本组成训练集, 其他104个样本为测试集。支持向量机核函数选取径向基函数, RBF参数取为σ=0.7。实验环境为Celeron (R) 2.40 GHz 的CPU, 768 MB的内存, 本文方案使用C#语言编程, 参考方案LSSVM使用Matlab编程。
其中使用方案一进行统计性原理验证, 通过控制不同数量的训练样本对来检测训练效果和分类效果。5次实验的平均结果如表1。
从表1可看到, 随着样本对的增多, 方案一的训练精度以及测试精度不断提高, 实验表明文中所提的统计性原理是正确的。方案一最终完全达到Matlab的SVM工具箱的LSSVM训练效果, 同时所用的时间远远小于LSSVM方法。而方案二和方案三所用时间都小于LSSVM方法, 特别是方案三, 具有使用支持向量少、精度高、速度快等显著优点。
4结论与讨论
本文提出了一种基于几何思想的改进快速算法 (方案三) , 该快速算法克服了经典算法中必须求解二次规划问题的缺点, 它可直接根据两类数据的几何分布, 利用迭代的方法快速找出支持超平面法向量, 进而求出最优超平面, 算法简单直观。实验结果显示, 本快速算法的识别率略优于其他算法, 且算法的训练速度非常快, 用到的支持向量少。而且, 由于解的过程中法向量的修正是按训练样本对增加的, 故可以实现增量学习, 训练结果可以用到下一次训练中去。
本算法的方案一一般不能直接用于求解, 而可用于增量学习中求得初始解。而方案二和方案三则可以直接用于问题的求解。
对于方案中的统计性原理的合理性, 除了通过大量的实验来间接证明之外, 也可以考虑从原理上来证明。该假设可以描述为问题:样本对的平均方向可以正确地把线性可分的两类样本分离。如当两类样本各自只有一个点时, 我们的问题显然成立。当增加一个样本点时, 问题还是成立的。所以可以考虑用数学归纳法来证明本问题。具体的证明还需要进一步探讨。
摘要:为了快速的求解支持向量机问题, 降低求解规模, 根据支持向量机的几何原理以及数据样本的统计特性, 提出了一种改进的支持向量机快速算法。该算法通过迭代修正支持超平面的法向量, 采用数值逼近而非解二次规划的方式来求解问题。算法具有速度快、增量学习、使用的支持向量少等显著优点。
关键词:支持向量机,快速算法,增量学习
参考文献
[1]Osuna E, Freund R, Girosi F.An improved training algorithm for sup-port vector machines.In:Principe J, Gile L, Morgan N, et al.eds, Pro-ceedings of the1997IEEE Workshop on Neural Networks for Signal Processing, New York:IEEE, 1997:276—285
[2]John C P.Fast training of support vector machines using sequential minimal optimization.Scholkopf B, et al.eds.Advances in Kernel Methods-Support Vector Learning.Cambridge, MA:MIT Press, 1999:185—208
[3]Keerthi S S.A fast iterative nearest point algorithm for support vector machine classifier design.India:Indian Institute of Science Banga-lore, 1999
[4]Roobaert D, Direct S V M.A fast and simple support vector machine perception.Proceedings of IEEE Signal Processing Society Workshop.Sydney, Australia:IEEE, 2000:356—365