混沌支持向量机模型

2024-06-08

混沌支持向量机模型(精选九篇)

混沌支持向量机模型 篇1

关键词:混沌粒子群优化,小波核函数,支持向量机,汇率,预测

汇率预测的重要性和难度广为人知。传统的基于计量经济学模型的汇率预测方法有着难以克服的问题。因为这些模型大多是线性模型,而汇率的波动往往是非线性的,故用线性的方法来解决非线性的问题,存在难以调和的矛盾。而以神经网络为主的非线性参数方法能在一定程度上提高预测效果[1]。但神经网络也存在一些难以克服的缺陷,如隐单元的数目难以确定、过分强调克服学习错误而泛化性能不强等。近年来,随着研究的深入,人们更加认识到它存在的不足。

支持向量机(Support Vector Machine, SVM)是一种新的通用的机器学习方法,在许多应用领域,SVM表现出了比传统学习机器更优秀的分类能力和泛化性能,被认为是人工神经网络的替代方法。作为时间序列问题研究的一种新的思路和手段,它也被广泛应用于金融时间序列的预测。Wei Huang等人利用SVM对日经225指数进行预测,并与神经网络等方法进行比较,结果显示它优于其他传统方法[2]。

对于支持向量机,有两个方面的问题一直是人们所关注的[3]:1) 核函数的选择; 2) 训练参数的选择。解决这两个问题是提高SVM训练精度的关键,对其预测性能有很大影响。

对于第 1 方面问题,目前常用的核函数有多项式核、高斯核(又称为径向基函数)等,它们在模式识别与回归分析中表现出了良好的映射性能,但在拟合某些较为复杂的函数时,得到的结果并不理想。由于汇率数据具有混沌、分形、不规则等非线性特征,这些特征是影响汇率市场的不同因素在不同时间尺度上发挥作用而形成的,因而汇率数据具有多尺度特性,常用的核函数无法很好地拟合这一特性。为了解决这个问题,本文基于小波变换多分辨率分析的优点[4],引入小波基函数来构造SVM的核函数,将小波分析和SVM二者的优势互补,构建了小波支持向量机(Wavelet SVM, WSVM)。 WSVM除了具备SVM的一切优点外,还能消除数据的高频干扰,具备良好的抗噪能力。

对于第 2 方面问题,目前常用的SVM参数优化方法有遗传算法[5](Genetic Algorithm, GA)、粒子群优化算法[6]( Particle Swarm Optimization, PSO)等。但它们都存在易陷入局部极值的缺点,优化效果较差。为了解决这一问题,本文提出一种基于混沌粒子群优化算法(Chaos Particle Swarm Optimization, CPSO)的SVM参数寻优方法,将混沌理论引入PSO算法中,从而提高种群的多样性和粒子搜索的遍历性,有效地提高了参数寻优算法的收敛速度和精度。

我们利用所提出的混沌粒子群优化小波支持向量机(CPSO-WSVM)的算法构建汇率预测模型并对人民币兑美元(USD)和兑欧元(EUR)的汇率中间价进行预测。实验结果表明,该方法比传统的粒子群优化高斯核SVM(PSO-GSVM)的算法具有更高的预测精度和计算效率,泛化性能好。

1 基于CPSO-WSVM的汇率预测建模方法

1.1 WSVM回归

给定l个样本(xi,yi)i=1l,xiZnn维输入,yiZ是目标输出。SVM回归的基本思想是将样本数据通过非线性函数φ映射到高维特征空间,并在该空间用函数f(x,w)=w·φ(x)+b(w为权重向量,b为偏差)进行线性回归,以取得比直接在样本空间中做非线性回归更好的效果。

若采用ε-不灵敏损失函数,即ξ(f(x)-y)=max{0,|f(x)-y|-ε},支持向量回归的原始形式归结为式(1)所示的二次规划问题:

式(1)中,目标函数的第一项为正则化项,第二项为经验误差项;C是正则化参数,该参数取正的常数值,决定了正则化项和经验误差项之间的平衡;ξi,ξ*i为松弛因子。

根据拉格朗日对偶理论,式(1)的对偶形式为

maxαi,αi*-εi=1l(αi*+αi)+i=1l(αi*-αi)yi-12i,jl(αi*-αi)(αj*-αj)Κ(xi,xj)s.t.i=1l(αi*-αi)=0,0αi,αi*C,i=

1,2,…,l (2)

式(2)中K(xi,xj)=φ(xiφ(xj)为核函数。核函数的引入使得高维空间中的内积运算可以通过输入空间中的函数来实现,避免了维数灾害。

求解式(2),得到SVM回归函数f(x)为:

在平方可积空间中,将高斯核、多项式核等常用的SVM核函数进行平移不能生成该空间中的一组完备的基,从而导致SVM回归不能逼近该空间中的任意目标曲线。而小波核是一种多维小波函数,理论上可以逼近平方可积空间中的任意非线性函数。目前常用的小波核函数有Mexican小波核、Gaussian小波核和Morlet小波核等。本文采用Mexican小波核函数,Mexican母小波为ψ(x)=(1-x2)exp(-x22),将母小波函数替换成某些具体形式,就可以得到相应的小波核函数,Mexican小波核函数为

k(xi,x)=k=1n[1-(xi,k-xk)2a2]exp(-||xi,k-xk||22a2) (4)

其中a为伸缩因子。

1.2 基本PSO算法和混沌系统

PSO算法是一种基于种群的随机优化技术,源于对鸟类捕食行为的研究。该算法通过个体间的协作来寻找解,其主要特点是收敛速度快,原理简单,容易实现。它的原理如下:

设在w维搜索空间中, 第i个粒子的位置表示为xi=(xi1,xi2,…,xiw),i=1,2,…k,k为粒子个数,它自身经历的最好位置定义为pi=(pi1,pi2,…,piw),每个粒子具有一个与之相应的速度vi=(vi1,vi2,…,viw);在整个群体中,所有粒子经历过的最好位置定义为pg=(pg1,pg2,…,pgw).每一次迭代中,粒子通过跟踪个体极值和全局极值来更新自己,对于每一代,其第d(1≤dw)维根据如下方程变化:

vidt+1=ωvidt+c1r1(pidt-xidt)+c2r2(pgdt-xidt)(5)xidt+1=xidt+βvidt+1(6)

其中, t为进化代数,ω为惯性权值,用于平衡全局搜索和局部搜索; r1和r2为两个在[0,1]内的随机数;β为约束因子,用于控制速度的权重,通常取为1;c1和c2是学习因子,通常取为2。

基本PSO算法虽然实现简单,但易陷入局部极值,全局搜索能力弱。由于混沌运动具有随机性、遍历性以及对初始条件的敏感性等特点,本文在PSO算法中引入混沌系统以得到具有较强的全局搜索能力的CPSO算法,提高了种群的多样性和粒子搜索的遍历性,从而提高了参数寻优的速度和效果。Logistic映射就是一个典型的混沌系统,迭代公式如式(7)。

式(2)中,μ为控制参量;设0≤z0≤1,μ=4时该系统完全处于混沌状态。

1.3 建立CPSO-WSVM模型的步骤

由于本文用小波核函数构造SVM,因而惩罚参数C、核参数a和不敏感损失参数ε是SVM回归机需要选定的三个参数,它们的取值对预测效果有很大的影响。本文采用CPSO算法优化这三个参数,得到CPSO-WSVM模型,其步骤如下:

步骤1 样本采集及数据归一化。本文将所有的输入、输出训练数据变换到[1,2],式(8)如下:

式(8)中,x表示未处理的输入向量或者输出向量,xmax和xmin对应向量的最大值和最小值,y表示经过归一化处理所得到的值。

步骤2 构建训练样本集。对于归一化得到的数列{yi},用yi,yi+1,yi+2,…,yk+i-1构成输入矢量,yk+i作为输出值,从而建立训练样本集,故由训练样本建立的WSVM回归模型表示为yk+i=f(yi,yi+1,yi+2,…,yk+i-1).

步骤3 对归一化后的训练样本进行训练以得到WSVM的最优参数,其过程具体如下:

1) 混沌粒子初始化与CPSO参数设置。由参数C,a,ε组成一个粒子,并随机产生一组粒子的初始位置和速度;初始化种群规模、最大迭代次数、惯性权值以及学习因子等参数;

2) 将每个粒子的个体极值位置设置为当前位置,采用式(9)所示的均方根误差(Root Mean Squared Error, RMSE)作为粒子适应值的评价函数,计算出每个粒子的适应度,取适应度最好的粒子所对应的个体极值作为最初的全局极值,

式(9)中,yiy^i分别为实际值和预测值,n为训练样本的数目;

3) 根据式(5)和式(6)更新粒子的速度和位置;

4) 对所有最优位置进行混沌优化,将pgi(i=1,2,…,w)映射到Logistic方程(7)的定义域内,通过式(7)的迭代,产生混沌变量序列zim(m=1,2,…),再把产生的序列通过逆映射返回到原解空间,然后在原解空间中对混沌变量经历的每一个可行解pgΜ=(pg1Μ,pg2Μ,…,pgwΜ)计算出其适应值,以得到性能最好的可行解p*,最后用p*取代当前群体中任意一个粒子的位置;

5) 当符合结束条件 (达到最大迭代次数或达到最小误差要求) 时停止迭代,否则转至 2)。

步骤4 根据所得的最优参数值建立WSVM模型,利用该模型对测试数据进行测试,再将测试结果反归一化即得最后的预测值。

2 预测实例

2.1 评价指标

我们采用Matlab7.1实现了汇率预测模型。 运行环境:CPU为Pentium IV 1.8 GHz,内存512 MHz,操作系统为Windows XP。为了分析预测结果,除了式(9)所示的RMSE外,还引入以下4个评价指标:

(1)平均绝对误差(Mean Absolute Error, MAE)

(2) 平均相对误差(Mean Absolute Percentage Error, MAPE)

(3) 方向正确性(Direction Accuracy, DA)

其中,当(y^i+1-y^i)(yi+1-yi)>0时,Ai=1;否则,Ai=0。

(4) 模型学习时间:利用matlab的tic和toc命令记录模型的学习时间。

2.2 实验结果与分析

实验的数据来源于国家外汇管理局官方网站,选取2008年1月至2011年4月共 809个人民币对美元、欧元的汇率中间价作为试验的原始数据,并以2008年1月至2011年3月共790个数据作为训练数据,以2011年4月的19个数据作为测试数据。归一化试验数据。

在股票市场,人们普遍认为发生在星期一的股市波动会影响这个星期剩下四天的股市变化,而作为高频金融数据,汇市具有相似的行为,即当天的汇率变动受几天前的波动的影响。所以,本文以前4天的汇率数据作为输入,以当天汇率数据作为输出。其中,在测试过程中,将第一个测试值用于帮助构建第二个输入矢量,从而获得第二个测试值,以此类推,从而实现多步预测。

采用CPSO-WSVM算法获得人民币兑美元和兑欧元的汇率预测模型的最优参数,分别为C=13.02,a=0.28,ε=0.059和C=21.19,a=7.05,ε=0.36。模型的预测结果如图1和图2所示。

我们并基于常用的PSO-GSVM算法建立汇率预测模型,和本文的模型作对比,预测效果比较如表1所示(注:这里计算所用的数据是反归一化后的最终结果)。其中,USD和EUR两栏分别表示兑美元和兑欧元汇率的相关数据。

从上图和表中可见,本文的汇率模型的预测结果与实际值差距不大,且它的MAE、MAPE和RMSE都比对比模型的相应值小了不少,而DA值则明显更高,说明了本模型具有更高的预测精度;此外,本文模型的学习时间也小于对比模型的学习时间,说明了本模型具有更高的计算效率。CPSO-WSVM是一种应用效果优于PSO-GSVM的方法。

3 结束语

人民币汇率问题是国际理论界和实务界关注的焦点之一。本文提出了基于CPSO-WSVM的汇率预测方法,该方法结合了混沌优化能使基本PSO摆脱易陷入局部极值的困境以及小波核SVM具有更高的函数逼近精度和泛化能力的优点,有效地提高了预测的精度和速度。通过预测结果的比较、分析,表明CPSO-WSVM算法在预测效率和泛化性能等方面取得了较好的效果。

参考文献

[1]谢赤,杨小帆.汇率预测的理论与方法及其最新进展.湖南大学学报(社会科学版),2004;18(5):45—50

[2] Huang W,Nakamoria Y,Wang S Y.Forecasting stock market move-ment direction with support vector machine.Computers&OperationsResearch,2005;32(10):2513—2522

[3]邓乃扬,田英杰.支持向量机:理论、算法与拓展.北京:科学出版社,2009:151—155

[4] Chui C K.An introduction to wavelets.Academic Press INC,1992:120—128

[5] Schlkopf B,Smola A J,Williamson R C,et al.New support vectoralgorithms.Neural Computation,2000;12(5):1207—1245

混沌支持向量机模型 篇2

摘要:基于支持向量机模型良好的推广和泛化能力,构建了洞庭湖水体富营养化支持向量机评价模型.针对评价标准,采用均匀分布随机函数形成50个样本训练集用于支持向量机的训练,并分别选取东洞庭湖、南洞庭湖、西洞庭湖3个典型代表断面,实现了对洞庭湖水体富营养化程度的综合评价.结果表明,近10 a来洞庭湖水质整体处于中富营养化,呈西洞庭湖富营养化程度最高、南洞庭湖其次、东洞庭湖最轻的格局.作 者:李正最 谢悦波 作者单位:李正最(河海大学,水文水资源学院,江苏,南京,210098;湖南省水文水资源勘测局,湖南,长沙,410007)

谢悦波(河海大学,水文水资源学院,江苏,南京,210098)

基于光滑支持向量机的经济预测模型 篇3

关键词:经济预测模型;支持向量机;加函数;光滑函数;Newton-Armijo算法

1.引言

混沌支持向量机模型 篇4

目前关于故障预测的实现方法一般分为基于模型的预测方法、基于知识的预测方法和基于数据的预测方法三大类。由于基于模型的预测方法需要建立系统精确的数学模型,基于知识的预测方法不太适合定量计算,因而这两类方法在实际应用中受到一定的限制。基于数据的预测方法是目前研究比较多的预测方法,主要有时间序列分析、灰色预测、支持向量机预测、神经网络预测等。但是神经网络存在局部极小,随着输入维数的增加,神经网络的神经元个数急剧增加,往往导致“维数灾难”。支持向量机(SVM)克服了神经网络模型的不足,作为时间序列数据分析的最佳预测器[1,2],得到了广泛的使用,但要想得到满意的预测精度,除了选择合适的自身参数外,还要选择合适的时间模型[3]。目前普遍采用的方法是人为确定训练SVM预测器的输入和输出矩阵,采用均方根误差或者平均绝对百分误差对模型的逼近能力和预测效果进行评估。这种方法的不足之处是训练数据的选取缺乏理论指导,一旦选定就只能通过预测值与真实值之间的误差来反复修正模型,直到模型达到满意的预测精度,导致训练时间长,容易产生过拟合现象[4,5,6]。

本文考虑到液压泵压力信号与混沌时间序列相似,具有非线性、非平稳的特点,因此在原有方法的基础上,将混沌理论中的相空间重构方法引入到工程应用中,通过一维的时间序列将其转化成矩阵形式,构造时间序列模型对预测器进行训练,从而避免了数据选取的盲目性,提高了模型的学习效率。首先使用小波包分析对信号进行分解和重构,其次使用粒子群优化算法选择SVM的参数,最后将相空间重构理论和支持向量机方法相结合对液压泵压力信号趋势进行了预测。

1 小波包理论及信号的分解与重构

1.1 小波包理论

由于小波包具有的“自适应性”和“数学显微镜”的多分辨分析特性,更加符合序列的非线性特性,同时具有降低数据中噪声的能力。因此,本文采用小波包对信号进行分解[7]。

小波包函数可表示为

式中,i、j、k分别为分解层数、尺度因子、平移因子,i、j、k均为整数。

第j层和第j+1层有如下关系:

式中,H、G为滤波器。

j层分解后,原始信号可表示为

小波包重构信号可通过一线性的小波包函数得到:

式中,为小波包系数。

1.2 压力信号的分解与重构

以某型装备的斜盘式轴向柱塞泵为实验对象,该柱塞泵有7个柱塞,驱动电机额定转速为1500r/min,工作压力设定为10MPa。在泵出口处放置压力传感器,设置采样频率为50Hz,数据长度为5000点,结果如图1所示。

采用dB1对压力信号进行三层小波包分解,如图2所示。图3为压力信号的小波包系数重构图。

2 相空间重构理论及预处理

相空间重构理论是混沌时间序列预测的基础,根据Takens定理,在观测序列的基础上,重构相空间中的状态向量为

式中,τ为延迟时间;m为嵌入维数,即重构相空间的维数。

则相空间中必存在函数Fτ使得延迟τ后的状态X(t+τ)和当前状态X(t)之间满足:

式中,Fτ为待寻找的预测函数。

对于一个观察到的一维时间序列,对原系统进行相空间重构的关键是确定合理的时间延迟τ和嵌入相空间维数m[8]。

液压泵工作状态监测数据通常是一个时间间隔为△t、长度为N的单变量时间序列,时间序列预测是指根据时间历史数据预测未来某时刻的值,历史数据的选取对预测精度起着至关重要的影响。为使重构的相空间能较充分而细致地反映运动特征,恰当选取嵌入维数m和时间延迟τ是关键。本文采用C-C法求估计嵌入维数m和时间延迟τ,该方法应用关联积分能够同时估计出嵌入维数τw=(m-1)τ和时间延迟τ·。按照C-C法的基本理论,△S(n)的第一个极小值n对应的是时间延迟τ,统计量Scor(n)的最小值n对应延迟时间窗口τw,n取小于等于200的自然数。以重构后的d(3,0)系数为例,说明选取嵌入维数m和时间延迟τ的过程。由图4可以看出时间延迟τ=7,τw=162,由此可以精确地估计出嵌入维数m=24。

3 支持向量机回归预测模型的建立和验证

3.1 支持向量机预测模型与评价

对于时间序列{xt},t=1,2,…,N,取前面n个数值作为训练样本,其余作为测试样本。为更有效地利用有限的数据,对时间序列{xt}进行相空间重构,即将一维的时间序列转化为矩阵形式以尽可能大地挖掘数据的信息量,则用于SVM学习的样本为[9,10,11,12]

m为模型的嵌入维数,则可建立映射f:Rm→R,t时刻提前一步的预测值可表示为

对训练样本可以按照下面的回归函数进行训练:

由于xn-m+1=(xn-m+1,xn-m+2,…,xn),则第一步预测为

则第二步预测为

一般可以得到第l步预测:

其中,ak∈R,为拉格朗日乘子;K(·)为满足Mercer条件的核函数;b为偏置,b∈R。

为了方便评价预测方法的准确性,选用均方误差MSE和相关系数R作为评价模型预测的指标,其中

式中,为预测值;yi为实际值;P为检验集数据个数。

3.2 基于小波包一混沌支持向量机预测方法

建立支持向量机预测模型,首先要确定模型的拓扑结构,模型的输出向量为一维向量,但是输入的向量为多维向量,如果不考虑其他因素的影响,只考虑序列本身就会涉及一个问题,即用多少个数据预测下一个值是合适的。而且所选取的值不同得到的预测结果也不相同。因此本文采用相空间重构理论确定支持向量机的模型结构,解决支持向量机预测模型的结构问题。

本文提出基于小波包一混沌支持向量机的预测方法,具体步骤如下:①首先进行数据的归一化处理;②选用dB1进行三层小波包分解,将时间序列按照小波包分解算法分解到各个尺度,得到各小波包子空间上的小波包系数;③在各个尺度上利用小波包系数,进行各小波包子空间的数据重构,得到各个小波包子空间上的数据分量;④对各个小波子空间上的数据分量分别估计嵌入维数和时间延迟,重构相空间确定各个小波包子空间支持向量机模型;⑤利用支持向量机分别对各个小波包子空间进行预测,将各个尺度上的预测分量直接相加就得到预测值。具体流程见图5。

3.3 预测模型的建立与验证

本文预测模型采用径向基函数(RBF):

式中,σ为RBF核的宽度。

利用前4000个点训练模型,利用后1000个点检验预测效果。以重构后的d(3,0)系数为例,采用粒子群算法对SVM的参数进行寻优得到惩罚因子c=4,核参数g=2,对序列作一步向前预测。图6为重构后的小波包系数d(3,0)~d(3,7)的预测图。

对各系数的预测值进行合成,得到预测结果如图7所示。

为了验证该方法的预测效果,本文还任意构造了一组时间序列模型对预测器进行训练和检测,假设设定嵌入维数和时间延迟分别为2和3,得到c=0.5,g=32,预测结果如图8所示。而未经小波包分解的混沌支持向量机预测的结果如图9所示。对比结果如表1所示。

4 结语

本文提出了一种将小波包、相空间重构和支持向量机相结合的预测方法,该方法有效地解决了支持向量机预测模型的结构问题,证明了支持向量机对于小样本有着良好的学习能力和泛化能力,并把该预测方法应用于液压泵压力信号预测,评价指标和对比结果证明了本方法的有效性和优越性。

摘要:针对液压泵压力信号呈现的非线性、非平稳的特性,提出一种将小波包分析、相空间重构理论与支持向量机(SVM)相结合的预测方法,实现液压泵压力信号监测数据的建模及预测。首先将采集到的压力信号通过小波包进行分解,将分解得到的各个分量进行重构,其次对重构后的每一个分量通过混沌支持向量机预测模型进行预测,最后对各预测值进行合成。试验数据表明,该方法能够有效地预测液压泵压力信号的变化趋势,具有较高的预测精度,可有效地应用于系统的状态监测和故障预测。

关键词:小波包,相空间重构,支持向量机,液压泵

参考文献

[1]杜京义,侯媛彬.基于最小风险的SVM及其在故障诊断中的应用[J].振动、测试与诊断,2006,26(2): 108-111. Du Jingyi,Hou Yuanbin.Minimum Risk Based on SVM and Its Application to Fault Diagnosis[J]. Journal of Vibration,Measurement & Diagnosis, 2006,26(2):108-111.

[2]Widodo A,Yang B S.Support Vector Machine in Machine Condition Monitoring and Fault Diagnosis [J].Mechanical Systems and Signal Processing, 2007,21(6):2560-2574.

[3]吴德会.一种基于支持向量机的齿轮箱故障诊断方法[J].振动、测试与诊断,2008,28(4):338~342. Wu Dehui.Gearbox Fault Diagnosis Based on SVM [J].Journal of Vibration,Measurement & Diagnosis, 2008,28(4):338-342.

[4]王革丽,杨培才,毛宇清.基于支持向量机方法对非平稳时间序列的预测[J].物理学报,2008,57(2):714-719. Wang Geli,Yang Peicai,Mao Yuqing.On the Application of Non-stationary Time Series Prediction Based on the SVM Method[J].Acta Physica,2008, 57(2):714-719.

[5]王红军,张建民,徐小力.基于支持向量机的机械系统状态组合预测模型研究[J].振动工程学报,2006, 19(2):242-245. Wang Hongjun,Zhan Jianmin,Xu Xiaoli.Study on Combination Trend Predicition Technology for Mechaninery System Based on SVM[J].Journal of ??Vibration Engineering,2006,19(2):242-245.

[6]王雷,张瑞青,盛伟,等.基于支持向量机的回归预测和异常数据检测[J].中国电机工程学报,2009. 29(8):92-96. Wang Lei,Zhang Ruiqing,Sheng Wei,et al.Regression Forecast and Abnormal Data Detection Based on Support Vector Machine[J].Proceeding of the CSEE,2009,29(8):92-96.

[7]李永龙,邵忍平,曹精明.基于小波包与支持向量机结合的齿轮故障分类研究[J].西北工业大学学报, 2010,28(4):530-535. Li Yonglong,Shao Renping,Cao Jingming.A New and Effective Method of Gear Fault Diagnosis Using Wavelet Packet Transform Combined with Support Vector Machine[J].Journal of Northwestern Polytechnical University,2010,28(4):530-535.

[8]黎兴宝,潘丰.基于遗传混沌算法的LSSVM参数优化及应用[J].计算机与应用化学,2010,27(10): 1380-1382. Li Xingbao,Pan Feng.Parameter Optimization and Application of LSSVM Based on Genetic Algorithm and Chaos Optimization[J].Computers and Applied Chemistry,2010,27(10):1380-1382.

[9]别锋锋,刘扬,周国强,等.基于局域波法和SVM模型的往复机械故障预测方法研究[J].中国机械工程,2011,22(6):687-691. Bie Fengfeng,Liu Yang,Zhou Guoqiang,et al.Research on Fault Prediction Approach for Reciprocating Machinery Based on Local Wave Method and SVM Prediction Model[J].China Mechanical Engineering, 2011,22(6):687-691.

[10]Chen Bojun,Chang Mingwei,Lin Chijin.Load Forecasting Using Support Vector Machines[J].IEEE Transactions on Power Systems,2004,19(4):1821-1830.

[11]吉训生.基于偏最小二乘支持向量机的短期电力负荷预测方法研究[J].电力系统保护与控制, 2010,38(23):55-59. Ji Xunsheng.Short-term Power Load Forecasting on Partial Least Square Support Vector Machine [J].Power System Protection and Contorl,2010, 38(23):55-59.

基于免疫支持向量机预测模型的研究 篇5

煤炭是我国的支柱能源, 支持着国民经济的总体发展。随着煤矿开采规模的逐年扩大, 和复杂开采条件而导致的各种灾害, 也使得煤矿安全成为当今社会关注的焦点。

现阶段, 对瓦斯突出的预测已有很多方法, 虽然神经网络预测优点很突出, 但还是存在不少问题。支持向量机在解决有限样本的数据上有着很好的推广能力, 也解决了神经网络经常遇到的过学习现象。本研究通过免疫进化算法搜索最优的向量机参数, 通过仿真比较预测准确性。

1 支持向量机原理

支持向量机SVM是统计机器学习的一类重要算法, 它根据统计学习理论, 以结构风险最小化原则为理论基础的一种新的机器学习方法, 能有效地解决高维数和非线性等问题, 有效地进行分类、回归等。与其它分类器相比, SVM具有更好的泛化性。

给定1个训练样本, 其中, xk为n维样本输入, yk为样本输出。设函数具有如下形式:

其中, f是任意x与y有对应关系的回归函数, 特征映射函数ϕ (⋅) 是将在低维空间难以解决的问题映射到高维空间去解决。

支持向量机的回归算法可以描述成下面问题:

其中, 为描述f (⋅) 复杂度的项, 常数C为惩罚系数, 再引进ε不灵敏损失函数:

取经验风险为:

利用拉格朗日乘子法可得其对偶优化问题:

选取不同的核函数就具有不同的函数模型。核函数k (xi, xj) 是满足Mercer条件的任何对称的核函数对应于特征空间的点积, 最常用的是径向基函数:

(3) 的解表示为, 即:

计算的公式为:

则f的判决函数为:

对于二元分类, f (x) 为+1则表示x属于一类, f (x) 为-1则表示x属于二类。

惩罚因子C体现了错分样本的比例和算法复杂度之间的折中关系。ε它意味着不惩罚偏差小于其的误差项。径向基函数的宽度参数σ反映了训练数据的范围或分布, 它对拟合结果影响较大。

2 免疫算法基本原理

支持向量机参数C、ε、σ的选取对模型的建立和预测的精度影响较大, 本文运用免疫进化算法, 通过抗体最大程度匹配抗原的原理寻求参数的最优解, 避免选取的盲目性。

免疫进化算法的原理是把整个群体作为搜索引擎, 将目标函数定义成抗原, 通过搜索针对这种抗原的抗体, 搜索目标函数的最优解。

1) 抗原识别:抗原就是免疫进化算法要解决的问题, 在这里即是目标函数。我们采用残差平方和最小构建目标函数:

yi和别为变量的实际值和基于免疫支持向量机模型的预测值;

2) 初始抗体的产生:抗原对应的抗体, 就是我们要解决问题的解, 在这里即是包含了三个支持向量机参数 (c, ε, σ) 的解空间。如果目标函数是之前侵入的抗原, 则从记忆细胞中取出相应的抗体组成算法的初始群体。否则, 随机产生初始群体;

3) 搜索最优抗体:搜索最优抗体也就寻找目标函数的收敛。我们按照亲和度的大小, 选取一定的较优解 (cbest, εbest, σbest) 。亲和度的计算是运用支持向量机的回归函数求得的函数值来确定;

4) 接种疫苗:疫苗的作用是利用局部特征信息加快寻找全局最优解。与抗体亲和度更高的抗原取代记忆细胞中亲和度较低的群体, 可有效地加快算法收敛速度和提高解的质量;

5) 抗体变异:变异是保持算法有效性和多样性必不可少的步骤。我们利用 (cbest, εbest, σbest) 按亲和度为标准得到变异抗体:

6) 群体更新:即把新产生的群体作为当前群体, 淘汰抗体群中亲和度最差的一部分, 再随机生成一部分抗体加入子代中去, 进行下一代的进化[8]。

我们利用训练样本集建立目标函数求得回归函数表达式, 运用免疫优化算法确认不灵敏参数ε、核函数参数σ、惩罚因子C最优解分别为0.0001、15、1000。代入支持向量机的函数 (4) 中, 建立预测模型。通过matlab比较一般常用的神经网络、SVM和免疫支持向量机的预测品质, 下图为煤矿瓦斯突出预测曲线。曲线1为神经网络预测曲线, 曲线2为免疫SVM预测曲线, 曲线3为实际瓦斯浓度曲线。

由图可以观察, 一般神经网络预测曲线波动较大, SVM预测曲线波动较小但收敛速度比线1要快, 有着很好的逼近效果。

3 结论

本文主要研究了基于免疫支持向量机的瓦斯预测算法。与一般支持向量机预测模型相比, 该模型能更快的收敛和更好的逼近实际值。在瓦斯突出预测中运用小样本因素参数训练模型, 同样得到了较高的稳定和逼近效果, 也大大提高了高维非线性复杂煤矿井下瓦斯突出预测的准确性。

参考文献

[1]王景山, 朱炎铭, 宋金栋, 张聪, 袁伟.矿井瓦斯涌出量预测方法综述[J].能源技术与管理, 2008 (4) :49-51.

[2]魏丹.支持向量机多分类预测技术研究[D].硕士学位论文, 2008, 4.

[3]杨凌霄, 沈鹰, 侯国栋, 王成硕.基于支持向量机的煤与瓦斯突出预测研究[J].河南理工大学学报, 2008, 4:348-350.

[4]师旭超, 韩阳.煤与瓦斯突出预测的支持向量机 (SVM) 模型[J].中国安全科学学报, 2009, 7:26-30.

[5]姜雷.基于BP神经网络的煤矿瓦斯浓度预测模型构建及仿真[J].矿业安全与环保, 2010, 8:37-39.

[6]陈祖云, 张桂珍, 邬长福, 杨胜强.基于支持向量机的煤与瓦斯突出预测研究[J].工业安全与环保, 2010, 36 (5) :33-35.

基于支持向量机的电价组合预测模型 篇6

准确的电价预测是电力市场中亟待解决的问题之一[1,2,3,4,5]。然而,由于电价受经济、气象、电力系统运行情况、市场运行规则及诸多人为因素的影响,准确预测电价比较困难。组合预测方法是目前预测科学研究的热门课题之一[6,7,8,9],组合预测方法是由Bates.J.M.和Granger.C.W.J.于1969年首次提出的实用预测方法[10,11,12],它是对同一个预测对象采用不同的单项预测模型,以适当的加权平均形式在某个准则下求得最优加权系数,从而可以充分利用各种单项预测方法所提供的信息,达到提高预测精度的目的。预测模型有很多,任何一个模型都是对实际系统的简化和抽象,其所包含的变量和参数必定有所选择并十分有限。不同模型从不同的角度对系统进行模拟,往往各有特点。将各种不同的模型组合在一起,博采众长,达到更好的预测效果,是组合预测思想的出发点。组合预测方法是通过求个体预测值的加权算术平均而得到它们的组合预测值。采用组合预测方法进行电价预测,充分利用各个单一电价预测模型的有用信息,提高预测精度,是准确进行电价预测的必要途径。用美国加州电力市场日均历史电价进行预测校验。为了对比,将用传统线性组合预测方法的预测结果与用支持向量机非线性组合预测方法的预测结果进行了比较,结果表明了后者的有效性及合理性。

1 线性组合预测

1.1 传统的线性组合预测

首先,对线性组合预测的基本原理进行描述。设原数据序列X=(x1,x2,…,xn)T

第i种(i=1,2,…,m)预测方法的预测结果为

Xi=(x1i,x2i,…,xni)T

m种预测的线性组合预测结果为

令Yi=X-Xi(i=1,2,…,m),R为m维的分量全为1的列向量,即R=[11…1]T,W=[w1w2…wm]T,定义误差矩阵E为

线性组合预测模型I为

最优系数W*为

由于模型I的解有时出现负分量,于是提出非负权重的组合预测模型,即线性组合预测模型Ⅱ:

此模型属于二次凸规划[13],需要用解有限次数的线性规划方法来解,计算比较繁琐。

1.2 线性组合预测模型Ⅲ

线性组合预测模型Ⅰ和模型Ⅱ均要求权系数和为1,实际上不必要有此限制,权重也可以取负值,只以组合预测误差平方和达到最小为目的。这样得到线性组合预测模型Ⅲ:

为使Q最小,满足,得到方程组:

因为模型Ⅰ比模型Ⅲ多约束条件,模型I的精度比模型Ⅲ精度差,而模型Ⅱ比模型Ⅰ也多约束条件,因此模型Ⅲ的精度最高,即误差平方和QⅢ≤QⅠ≤QⅡ。

2 支持向量机非线性组合预测模型

目前,各种组合预测方法都基于传统的经验风险最小化原则,而支持向量机(SVM)是利用结构风险最小化原则。支持向量机具有完备的统计学习理论基础和出色的学习性能,是一类新型机器学习方法。现对支持向量机解决回归问题的基本原理进行描述[14,15]。

设训练样本集D:

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

常用的损失函数有ε-insensitive损失函数,Quadratic损失函数,Huber损失函数和Laplace损失函数等,这里用ε-insensitive损失函数,其形式为

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

其对偶问题为

解规划式(9),得到拉格朗日乘子ai、,则回归方程式(6)中的系数为

因为ai、不可能全为0,由Karush-Kuhu Tucker条件可知:当0

-

当,有ξi=0,不等式yi-((w·xi)+b)≤ε+ξi就变成等式,也可以得到b。

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

求解下列规划问题:

其中,K(xi,x)为核函数,核函数可以有不同的形式,如多项式核、高斯径向基核、指数径向基核、多层感知核、样条核等。核函数K(xi,x)采用高斯径向基核函数:

具体实现过程如下:首先,m种单一预测方法的结果作为输入Xi(i=1,2,…,m),实际值作为Y=(yi,y2,…,y1),由规划式(12)解出最优化系数αi、1,2,…,l);然后,把最优化系数ai、带入到非线性回归方程式(11)中,可以计算出预测值。

3 算例分析

现采用美国加州电力市场1999年1月1日至2月4日的历史日均电价数据,来预测2月5日至2月11日的日均电价[12]。分别用自动回归(AR)模型、灰色模型(GM)和指数平滑模型进行预测,各单一预测模型的预测结果如表1所示(表中时间n为天数序号;电价的单位为/MW·h)。从表1可以看出3个单一预测模型各有优点,应该充分利用各个模型的有用信息,建立最优组合预测模型。

传统的线性组合预测模型I,组合预测结果Y=0.834 8X1-0.3755X2+0.5407X3;线性组合预测模型Ⅱ的解w1=0.7553,w2=0,w3=0.2447,组合预测结果Y=0.7553X1+0.2447X3;线性组合预测模型Ⅲ,组合预测结果Y=0.7625X1-0.3839X2+0.6369X3。

支持向量机采用Quadratic损失函数,参数设置如下:m=3,C=108,ε=0.0001,σ=1000。采用支持向量机Matlab工具箱解决此问题的Matlab源程序如下:

从表1中所列的各个模型预测的误差平方和、平均相对误差和最大相对误差可以看出,支持向量机预测模型指标均好于其他预测方法,精度最高,其次是线性组合预测模型Ⅲ。

支持向量机组合预测方法是以单一预测方法为基础,若单一预测比较精确,支持向量机组合预测法的精度也会提高;单一预测方法是以历史数据为基础,未涉及影响电价的内在机理,若把其内在机理考虑进去,预测精度也会提高;支持向量机组合预测方法中的核函数可以有不同的形式,不同的核函数对预测的精度也有影响,如何选择核函数值得探讨;一般核函数含有参数,选择不同的参数对精度也有影响,如本文选择了高斯径向基核函数,其参数σ取1000,经过计算,σ对精度有影响,如何选择核函数中参数也值得探讨。

4 结论

混沌支持向量机模型 篇7

自动语音识别技术是实现人机语音交互的关键技术之一,其基本任务是将语音的声学特征序列转换成文字内容。半个世纪以来,语音识别的研究任务也从早期的孤立词识别发展到如今的大词汇量连续语音识别。

声学模型是识别系统的底层模型,并且是语音识别系统中最关键的一部分。声学模型的目的是提供一种有效的方法计算语音的特征矢量序列和每个发音模板之间的距离。声学模型的设计和语言发音特点密切相关。声学模型单元大小(字发音模型、半音节模型或音素模型)对语音训练数据量大小、系统识别率,以及灵活性有较大的影响。必须根据不同语言的特点、识别系统词汇量的大小决定识别单元的大小。

目前,语音识别中的声学模型在描述输出序列上,大都采用混合高斯模型(GMM),该模型采用多个高斯分布的加权和,描述复杂的概率分布。然而,由于该模型采用最大似然估计的方法,仅仅考虑了本类样本的概率最大化,而并没有考虑与其他类之间的关系。在模式识别中,该方法可以被归入“经验风险最小化”一类的分类器,该方法往往推广性较差。

与GMM模型不同,支持向量机(Support Vector Machine,SVM)的原理是结构风险最小化,其在训练模型的时候并不是只考虑属于此集的样本,而是也考虑了不属于此集的样本,SVM模型的区分性更好。

因为SVM有以上的优秀性能,本文对SVM应用于声学模型进行研究,希望建立一个基于SVM的声学模型。

SVM是从线性可分情况下的最优分类面发展而来的,它是建立在统计学习理论的V C维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力(generalizatin ability)。支持向量机方法有以下几个优点。

它是专门针对有限样本情况的,其目标是得到现有信息下的最优解而不仅仅是样本数趋于无穷大时的最优值。

算法最终将转化成为一个二次型寻优问题,从理论上说,得到的将是全局最优点,解决了在神经网络方法中无法避免的局部极值问题。

算法将实际问题通过非线性变换转换到高维的特征空间(Feature Space),在高维空间中构造线性判别函数来实现原空间中的非线性判别函数,特殊性质能保证机器有较好的推广能力。

在SVM方法中,只要定义不同的内积函数,就可以实现多项式逼近、贝叶斯分类器、径向基函数(Radial Basic Function或RBF)方法、多层感知器网络等许多现有学习算法。

目前,SVM算法在模式识别、回归估计、概率密度函数估计等方面都有应用。例如,在模式识别方面,对于手写数字识别、语音识别、人脸图像识别、文章分类等问题,SVM算法在性能上已经超过传统的学习算法或与之不相上下。

为了叙述清晰,本文将按照以下顺序展开,首先介绍SVM的理论知识,包括统计机器学习知识,和SVM的训练对偶问题,然后会介绍具体的SVM的训练算法。最后会介绍如何在Senone利用SVM进行判决,并给出实验结果。

本文以下各章安排如下:第二章介绍SVM的理论知识;第三章介绍如何进行Senone识别;第四章作了总结和展望。

2 支持向量机(SVM)

支持向量机简称SVM,是由Vapnik于1995年提出的一种机器学习算法。是统计学习理论中最年轻的内容,也是最实用的部分,它不是追求传统的机器学习理论所追求的经验风险最小化,而是通过结构风险最小化[6]。从而SVM的推广性能比传统的机器学习要好。SVM是从线性可分情况下的最优分类面发展而来的。

SVM是从线性可分情况下的最优分类面发展而来的,基本思想可用图1的两维情况说明。图1中,实心点和空心点代表两类样本,H为分类线,H1,H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin)。所谓最有分类面,就是要求分类面不但能将两类正确分开(训练错误率为0),而且使分类间隔最大,分类线方程为:

w·x+b=0(1)

以上讨论的都是完全线性可分得情况。但是,在现实中大部分的情况都不是这样的,分类的情况一般都包含不可分的数据。给定一定的训练集,需要估计一个识别器能最大化分类间隔以及最小化训练集错误。此最优化一般都是通过软判决来实现的。在S V M中,我们是利用了松弛因子的概念来寻找最佳分类器。

图2描述了这种方法,在软化判决中,分类器通过松弛变量允许训练错误的存在,在这种情况下,S V M训练的不等式约束满足下面:

3 senone判别

语音识别系统的模型通常由声学模型是语音识别系统中很重要的一部分,HMM声学建模马尔可夫模型的概念是一个离散时域有限状态自动机,隐马尔可夫模型HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。

语音识别中使用HMM通常是用从左向右单向、带自环、带跨越的拓扑结构来对识别基元建模,一个音素就是一个三至五状态的HMM,一个词就是构成词的多个音素的HMM串行起来构成的HMM,而连续语音识别的整个模型就是词和静音组合起来的HMM。

上下文相关建模协同发音,指的是一个音受前后相邻音的影响而发生变化,从发声机理上看就是人的发声器官在一个音转向另一个音时其特性只能渐变,从而使得后一个音的频谱与其他条件下的频谱产生差异。上下文相关建模方法在建模时考虑了这一影响,从而使模型能更准确地描述语音,只考虑前一音的影响的称为BiPhone,考虑前一音和后一音的影响的称为Tri-Phone。

语音识别的上下文相关建模通常以音素为基元,由于有些音素对其后音素的影响是相似的,因而可以通过音素解码状态的聚类进行模型参数的共享。聚类的结果称为senone。决策树用来实现高效的triphone对senone的对应,通过回答一系列前后音所属类别(元/辅音、清/浊音等等)的问题,最终确定其HMM状态应使用哪个senone。

对齐就是利用已有的声学模型和系统提供的模型序列,对语音进行切分,找到整个模型对应的语音帧。显然,由于模型序列是给定的,也就是各个模型的顺序是假设不可以发生改变的。故而需要确定的就是两个模型间的帧边界。确定此边界的过程就是对齐。

现在,在senone层级进行对齐仍然有很大的误差,特别是对于一些辅音,由于时间比较短,要达到严格的对齐几乎是不可能的。因此在对齐的过程中不可避免的存在一些错误的帧。由于这些错误在对齐的过程中只是在两类边界处的少数几帧有错误,而在使用GMM模型的时候,求其GMM特征值的时候影响不是太大,但是对于错误的点,SVM模型与GMM模型不同。由式(2.3 9)可知,对于此样本对应的拉格朗日乘子值为C,也就是说会将其判决为支持向量,由第二章的知识可以知道,决定一个SVM系统的正是这些支持向量,错误的样本直接进入了最后的SVM模型,对于一个SVM系统如果训练样本中有错误样本对此系统的影响是非常大的。

在对齐中仍然存在着一些对齐错误,而这些错误对S V M系统的影响是非常大的,因此本文采用的不是对每一帧作为一个训练样本。而是采用了段模型的概念,与传统的处理每一个时间点上的特征的方法不同,它把一段时间的特征作为考察对象,对其进行建立模型。在这里,一段特征通常是一段由音韵学推动的子音子或者是由一些数据驱动的抽象单元。对段进行建模的动机是声学模型不仅要包括时域特征,还要包括频域特征。利用段模型解决了在隐马模型中对帧与帧之间特征不相关假设带来的问题,而这种相互关系是在语音中固有的。

通过对一段语音模型的话,会减弱由于边界对齐不准而引起的一些弊端,因为对齐不准出现错误的只是很少的一些样本,把这些样本放在一段语音中会被弱化,从而使其对S V M系统的影响减弱。

对Senone判决是一个多类判决问题,而SVM最经常用于两类判决问题。对于使用SVM进行多类判决直接的办法就是利用多个SVM的两类判决来解决其多类判决问题,一般有两种实现形式

对每类样本建立一个一对多的SVM模型。在此模型中,属于此类的标记为+1,所有非属于此类的标注为-1。在识别时,用每类样本的SVM模型对待测样本进行打分,然后选择打分最高者为其所属类。

对所有的样本建立多个一对一的SVM模型,即所有的两类样本建立一个SVM模型。识别时所有的SVM模型对待测样本判决,如果一个模型将此样本判为A,则A类的得分加一,最后选择得分最高的类。

在本文中采取第一种方法。即对每一个Senone建立一个一对多的SVM模型,在测试时选取得分最高的Senone为其类别。

4 实验结果

实验设计。

为了考察使用SVM系统对Senone判别的性能,设计了此实验。

参数如下。

数据:训练数据采用8631语料的F00~F45,测试数据采用8631语料的F65~F99。随机产生36个senone,从8631的数据中把所有属于此36个senone的数据提取出来用来训练或测试。其中训练样本个数为5077,测试样本的个数为3617。

核函数:采用rbf核函数,rbf核函数的gamma取值为0.1。

错误惩罚C:10

然后对上述数据训练SVM模型,并将其对测试数据测试,察看其Nbest正确率。察看前几名的平均得分。

实验结果。

在以上条件下,对36类的待识别样本进行判决nbest正确率如表1。

实验结论。

通过上面实验结果,可以看出使用SVM对senone判决,有很高的正确率,可以基本看出使用SVM的优越性。在图3中可以看到,利用SVM进行senone判决时第一名与其他类别的得分相差比较大,在这一点上比GMM模型要好,这体现了SVM的区分性好的特点。因此把SVM应用于语音识别领域还是很值得去研究的。

5总结

本文实现了利用SVM对senone的多类判决,并作了相应的实验,通过实验证明,证明使用SVM模型在senone判别中是很一种有效的,从实验可以看出它比GMM模型的区分性好。

目前大部分语音识别系统基于隐马尔科夫模型,隐马尔科夫模型在语音识别中取得了很大的成功,因为它能够很好的描述语音的变化和暂时的平稳过程,但是隐马尔科夫模型也有其缺点,其假设各帧的输出是互相独立的,以及利用最大似然估计各个模型的参数。

SVM可以解决一些利用最大似然估计出现的不足之处,结构风险最小化(SRM)可以在学习过程中保证参数的推广能力在可以控制的范围之内,SVM已经被成功应用在许多机器学习过程中。

SVM的学习过程中的区分性是固有的,通过实验可以看出SVM的区分性能好的特点在其对senone的打分中体现的比较明显。

摘要:在语音识别中,声学模型常常采用聚类后的状态(senone)作为建模单元,其输出的分布大都采用高斯混合模型(GMM),该模型采用多个高斯分布的加权和,描述复杂的概率分布。然而,由于该模型采用最大似然估计的方法,仅仅考虑了本类样本的概率最大化,而并没有考虑与其他类之间的关系。本文尝试对基于支持向量机的声学模型进行研究,支持向量机(Support Vector Machine,SVM)方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的机器学习方法在利用SVM判别senone类别时,本文对每个senone建立一个一对多模型。然后把SVM模型输出结果中的距离软化为得分,选取得分最高者判决为此senone所属的类别实验证明,利用SVM能够很好地判别senone,区分性要优于GMM。

混沌支持向量机模型 篇8

财务报告所反映的会计信息是对企业经营活动中资金运动的状态、方式的客观描述, 一旦财务报告存在人为的虚假信息, 各方利益都将受到不同程度的损害。因此正确的识别出虚假会计信息显得非常重要。

目前国内外主要运用传统的会计经验分析方法、计算机辅助审计方法和定量的模型识别方法来识别虚假会计信息。传统的会计经验方法大多数依赖于分析性程序方法来识别上市公司会计信息的造假行为。这种方法虽然能够对每个财务报表进行细致审查, 但是在对大型上市公司进行审计时效率不高。计算机辅助审计和定量的模型识别方法可以大幅提升审计效率。其中计算机辅助审计方法主要是应用审计软件来开展审计工作。在审计软件中, 可以根据电子数据进行查询、查账和图形分析等操作来辅助审计工作, 也可以调用审计方法库来实现审计功能。定量的模型识别方法主要是利用上市公司公开的财务数据, 建立数学模型来识别虚假会计信息。可以将这些模型嵌入到审计方法库中, 帮助人们快速识别虚假会计信息。其中一些模型采用多元线性回归方法、逻辑回归方法、多元统计分析中的主成分分析方法等传统统计方法来预测虚假会计信息, 但传统统计方法在面对大规模多变量问题时会遇到“维数灾难”的现象, 而且很难处理和分析复杂非线性模型。随着人工智能技术的发展, 机器学习技术, 如人工神经网络 (ANN) 和支持向量机 (SVM) , 开始应用于企业分类问题, 并获得了超越传统统计方法的实验效果。如Fanning和Cogger (1998) [6]利用人工神经网络建立了一个识别虚假财务信息的高信都侦测模型, 但人工神经网络无法避免局部极值的问题。支持向量机 (SVM) 方法是由Vapnik等提出一种针对分类和回归问题的新型机器学习方法。它与传统的研究方法相比, 在解决小样本、非线性以及高维模式识别问题方面具有突出的优势;而且能够解决神经网络中不可避免的局部极值问题。因此, 使用支持向量机方法来识别虚假会计信息能够取得比其他方法更好的效果。邓庆山和梅国平将基本的支持向量机模型应用到虚假会计信息识别领域中, 取得了较好的效果。但在虚假会计信息识别问题中, 将可信的财务报告错误的判定为虚假的财务报告和将虚假的财务报告错误的判定为可信的财务报告, 在所付出的错误分类成本上是截然不同的, 前者只会使利益相关人的盈利减少, 而后者则会对利益相关人造成直接的经济损失。此外, 在数据特征上, 财务数据间的勾稽关系非常明显, 存在过多的冗余属性。而基本模型并没有考虑到分类问题中的错误分类成本和数据的冗余属性问题, 并且基本模型中的惩罚参数以及核函数参数的不同取值, 会影响模型的精度。因此, 本文尝试将错误分类成本引入到支持向量机模型中, 并且利用粒子群算法自动控制模型中的参数以及进行特征选择消除样本数据的冗余属性, 来识别虚假会计信息。

本文的结构安排如下:首先提出了一种基于成本控制的支持向量机模型以及求解过程, 其次建立了虚假会计信息识别的指标体系, 最后用实验数据检验了模型的效果。

二、基于成本控制的支持向量机分类模型

考虑一个训练集 , 是输入向量, 为对应的二进制分类标签。考虑区分n维空间的两个点集A和B的元素这一机器学习的基本问题, 这些集合分别由m×n和k×n的矩阵A和B表示, 其中。

定义第一类错误分类和第二类错误分类, 第一类分类错误是指将A类中的点错误地分类到B类。当 , 但 时, 则发生一次第一类分类错误。

定义一个阶梯函数

其中, 因此, 第一类错误分类数为 。

类似地, 第二类分类错误是指将B类中的点错误地分类到A。当, 但 时, 则发生一次第二类分类错误。阶梯函数为:

其中, 。

因此, 第二类错误分类数为 。

设第一类错误分类成本为C1, 第二类错误分类成本为C2, 则SVM分类器的决策成本为.

考虑训练样本集中和第二类训练实例个数m和k, 则由第一类错误分类的边际成本, C1/m和第二类错误分类的边际成本, C2/k加权的错误分类总点数为

最小化加权错误分类点数就实现了模型分类准确率和错误分类成本之间的平衡, 综合考虑分类间隔最大化, 分类器的目标就变为是在两个类距离最优分离超平面最近的点之间隔最大化的同时, 实现成本加权的错误分类点数最小化, 即

约束为

通过对模型求解, 得到其对偶形式:

(8)

约束条件为:

三、数据实验

1. 样本及指标选取

本文的实验数据主要来源于中国证券之星网站、wind资讯数据库及上海、深圳证券交易所网站。在分析了1999-2008年中众多上市公司公开财务报告的基础上, 我们将审计意见为“拒绝表示意见”和“否定意见”的财务报告作为虚假财务报告, 审计意见为“无保留意见”的财务报告, 作为可信样本。我们无法确定审计意见为“有保留意见”的财务报告是属于虚假财务报告还是可信的财务报告, 所以没有将该类财务报告作为样本数据, 按照以上原则, 确定了包括117个虚假财务报告, 143个可信的财务报告, 共计260个样本的数据集。

上市公司常利用关联交易、虚增收入和虚增应收账款等手段进行造假, 这些手段的目的是增加公司的收入, 或者降低支出, 从而使上市公司实现盈利。如2001年的银广夏通过伪造票据等手段虚增了7.45亿元的利润。因此选取了销售利润率、收益比率等指标来衡量上市公司的收入与支出是否合理。在偿债能力方面, 高负债的资本结构更容易有造假的嫌疑, 我们选取流动比率、资产负债率、营运资金比率、速动比率4个指标。虚拟资产和资产重组等造假手段通常从资产类的指标入手, 我们选取资产周转率等指标来衡量。此外, 上市公司的重要指标是否连续, 也能反映其是否造假, 如果一家公司的股票突然从垃圾股变成绩优股, 那么往往存在造假的嫌

《商场现代化》2011年2月 (下旬刊) 总第639期

疑。我们选取资产周转率增长率等指标来反映上市公司运营的连续性。因此, 得到了如表1所示的备选指标。

2. 备选指标的检验

我们对备选指标进行了T检验, T检验结果由于篇幅限制省略。剔除掉T检验不显著的指标, 最终选择了主营业务收入费用率、资产负债率、营运资金比率、收益留存累计比率、实际所得税率、资产增长速度、流动资产增长速度、资产周转率、资产收益率、净收益营业费用率、资产费用率、资产财务费用率、流动资产财务费用率、应收账款周转率、资产周转率增长率、资产收益率增长率、资产负债率增长率、资产费用率增长率、资产财务费用率增长率、营运资金比率增长率、收益留存累计比率增长率、实际所得税率增长率、流动资产财务费用率增长率、净收益营业费用率24个指标。

3. 研究方案设计思路

我们用粒子群算法做特征选择以及优化成本控制模型 (ISVM) 的参数, 将每个粒子表示为一个N+3维的变量, 其中前N维用作特征选择, 存放的是二进制数值, 1表示该特征被选中, 0表示该特征未被选中。参数优化部分为模型中所使用的三个参数, 其中为RBF核函数参数, 为平衡最小化分类错误和分类间隔最大化目标之间的参数, 为对分类错误平滑近似的参数。

所有的粒子都是用位置和速度来描述, 如第i个粒子的位置

和速度分别表示为 。利用一个待优化的适应值函数, 不断的在解空间内搜索, 直到找到最优粒子。在每次迭代过程中, 每个粒子通过追踪两个最优解来更新自己, 一个是粒子本身所找到的最优解, 即个体极值pbest, 用 表示, 另一个是整个种群的最优解, 即全局最优解gbest, 即。为了搜索最优解, 每一个粒子按照认知部分和社会部分更新其速度和位置, 方式如下:

为正态分布于U[0, 1]范围内的随机函数, 分别为认知

学习因子和社会的学习因子, w为惯性权重。速度更新时通过转换函数sig将速度转换到区间[0, 1]内, 如果转换后的速度小于一个随机数, 则记为0, 否则记为1。转换函数和更新公式如下。

本文采用不平衡学习情况下的泛化误差理论的界、验证误差以及训练误差等三项指标构造分类器质量的评价准则, 适应值函数形式如下:

其中, u为SVM泛化误差的上界, 通过错误分类成本加权的支持向量率来衡量;v为验证误差, 通过错误分类成本加权的验证误差率来衡量;M为训练误差, 通过错误分类成本加权的训练误差率来衡量。u、v及M的定义如下

C1, C2分别为第1类和第2类分类错误成本;u1, u2分别为第1类和第2类支持向量;v1.v2分别为第1类和第2类验证错误数;M1, M2分别为第1类和第2类训练错误数;Tm, Tk分别为第1类和第2类测试样本数;k, m分别为第1类和第2类训练样本数。

ε为一个很小的正数, 它定义泛化理论误差界估计与真实误差之间的松弛变量, 为常数, 用于调节理论泛化误差的界、验证误差以及训练误差对粒子评价的影响, 数值越大其所对应的因素对适应值函数的贡献越小, 反之也反之。

4. 实验结果分析

本文实验环境是一台运行Window XP操作系统的512M内存的个人计算机, 用MATLAB7.0实现。实验1是用PSO优化算法对本文提出的模型进行特征选择和参数优化, 具体的实验参数设置如下:在样本数据中, 随机选取其中的70%作为训练样本, 另外30%作为测试样本, 粒子规模设置为50个, 学习因子都为2, 惯性权重取1, 迭代次数为100次.α、λ、σ三个参数的取值范围分别为[0.01, 10000]、[10000, 20000]、[0.0001, 32].我们在两类样本错误分类成本之比为1:1到10:1之间, 做了多次试验, 发现在错误分类成本之比为5:1的情况下, 实验效果最好。实验2是用PSO优化算法对本文提出的模型进行参数优化, 但没有做特征选择, 实验参数设置与实验1相同。实验3是标准的SVM算法, 利用PSO进行参数优化, 粒子规模我50个, 迭代次数为100次, 错分样本惩罚参数C的范围为[0.01, 10000], 的范围为[0.0001, 32].实验4是标准的SVM算法, 错分样本惩罚参数C取10, 选择高斯核函数作为支持向量机的内核函数, 为2。在实验之前我们对数据进行了归一化处理, 将所有数据都归一化到[-1, 1], 以消除不同量纲较大差异对模型算法的影响。四组实验都分别做了10次试验, 测试样本正确识别个数、识别准确率取10次实验的平均值。实验结果的比较如下表所示。

通过实验, 可以得出以下结论:

1.实验1中的测试样本的识别准确率为98.72%, 优于其他模型。说明本文提出的模型可以很好的识别出虚假会计信息, 并且具有很好的预测能力, 与其他方法相比, 具有显著的优势。

2.实验1与实验2相比, 总体识别精度提高了5.13%, 说明样本数据中存在的冗余特征影响了识别的准确率, 通过特征选择部分将不必要的特征剔除掉, 能够大幅提升准确率。实验1的平均特征约减率为40%。其中10次试验都未选择的特征为:资产负债率、营运资金比率、净收益营业费用率。说明这三个特征在会计造假中并不重要。10次试验中全部选择的特征分别为:收益留存累计比率、流动资产增长速度、净收益营业费用率、流动资产财务费用率增长率。说明这四个特征在进行会计审查时应格注意。

3.在两类错误分类成本为5:1的情况下, 降低了第一类样本的错分个数, 突出了成本控制的效果。

摘要:在会计信息失真识别问题中, 考虑到决策失误所付出的不同错误分类成本以及样本数据的不平衡分布等特点, 使得基于总体准确率的数据挖掘方法不能获得理想的识别效果。本文针对会计信息失真识别问题的特点, 建立了一种成本控制型支持向量机模型, 利用粒子群算法进行特征选择和参数优化, 从而降低总体的错误分类成本。实验证明, 该模型能够有效的识别出虚假的财务报告。

关键词:财务报告,支持向量机,成本

参考文献

[1]刘姝威.上市公司虚假会计报表识别技术[M].北京:经济管理出版社, 2002:32-38

[2]毛道维, 朱敏.企业信用状况的财务方法和模型[J].四川大学学报, 2006, (3) :51-56

[3]Dechow P M, Sloan R G.Executive incentives and the horizonproblem:an empirical investigation[J].Journal of Accounting andEconomics, 1991, (14) :51-58

[4]Abbot L J, Parker S, Peters G F.Audit committee characteristicsand financial misstatement[C].A study of the efficacy of certain blueribbon committee recommendations.Auditing:A Journal of Practiceand Theory, 2004, 23 (1) :69-87

[5]梅国平, 陈孝新, 毛小兵.基于主成分分析的企业会计信息失真预测模型[J].当代财经.2006, (2) :119-124

[6]Fanning M K, Cogger K O.Neural detection of managementfraud using published financial data[J].International Journal of Accountingand Economics, 1998, (14) :51-89

[7]梅国平, 关爱浩, 邓庆山.基于统计方法的会计信息失真识别研究[M].北京:科学出版社2008:17-22

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

[9]邓庆山, 梅国平.基于支持向量机的虚假财务报告识别研究[J].当代财经.2009. (7) :105-108

混沌支持向量机模型 篇9

随着科学技术的进步, 以及人们管理和知识水平的提高, 现实世界中需要处理的数据量越来越大。据互联网数据中心 (IDC) 发布的研究报告指出, 2011年全球数据存储量达到1.8ZB, 预计2020年全球数据存储量将为现在的50倍[1]。为了能够从海量数据中提炼出有用知识, 数据挖掘技术便应用而生。数据挖掘[2]是指从大规模的、不完整的、有噪声的、模糊的、随机的复杂数据集中提取潜在有用的信息或知识。

统计学习理论[3]是针对小样本数据挖掘的一种学习理论, 在很大程度上解决了模型选择与过学习问题、非线性和维度灾难问题以及局部极小点等问题, 因此, 近年来成为了数据挖掘领域的一个重要研究方向。支持向量机SVM[4]正是一种基于统计学习理论的机器学习方法, 其目标是寻找有限样本下的最优解, 以在小样本学习中得到较高的泛化能力。

SVM训练问题本质上就是计算一个凸二次优化问题。对于这类问题, 当样本规模较小时, 计算过程较为方便。但随着训练数据规模的增加, 由于二次优化过程需要计算和存储整个核矩阵, 其时间复杂度和空间复杂度也都急剧增加, 往往不能进行有效训练。

目前, 对于SVM处理大数据集效率低下的问题, 研究者们已经提出了许多解决办法, 这些方法主要分为两类:即数据预处理方法和矩阵分解求解方式。对于前者, 主要就是从大规模训练集中提取含有重要分类信息的少数样本而舍弃几乎不含分类信息的次要样本, 以有效压缩训练集规模, 提高SVM训练效率。常见的方法包括:采用网格划分的训练集压缩方法[5]、采用聚类的训练集压缩方法[6]、采用几何选择的训练集压缩方法[7]等。对于后者, 主要是从矩阵求解的角度, 通过对大规模的核矩阵进行分解求解, 以达到求解过程加速和简化的目的, 提高SVM学习效率。常见的方法如分解方法[9]、序贯最小优化方法[10]、核心向量机方法[11,12]等。

尽管上述的改进SVM方法在学习效率方面有了明显提高, 但其泛化性能往往得不到保障。针对这个问题, 本文在层次聚类思想基础上, 提出一种基于层次K-均值聚类的SVM模型。该方法首先对每类样本分别进行K-均值聚类, 提取类中心训练SVM以得到初始分类器;然后通过衡量分类器与类之间的关系, 将聚类结果划分为活动类集和静止类集以衡量类的重要程度, 通过对含有较多支持向量信息的活动类集进行深层次聚类, 得到更小类别以训练新的SVM模型并更新分类器。该方法通过层次聚类思想, 实现了超平面附近重要信息 (主要包含于活动类集) 的细化和提取, 同时有效地压缩了距离超平面较远的非重要样本 (主要包含于静止类集) 的规模, 从而在保证SVM测试精度的前提下大幅度提高了SVM的学习效率。

1 层次K-均值聚

聚类分析是数据挖掘领域的一个重要方法, 主要用于发现数据中的不同类别及从数据中识别出特定的分布或模式。聚类分析在解决医学、心理学、社会学以及模式识别、图像处理等数据挖掘问题中都有着重要作用。目前, 常用的聚类方法包括划分聚类、层次聚类、密度聚类、网格聚类、谱聚类及流形聚类等。在众多聚类方法中, K-均值方法是一种最经典也最实用的聚类方法[13,14]。该方法以各类样本的质心代表该类进行不断迭代, 对超球形和凸形数据有较好的聚类效果。但是, 传统K-均值聚类方法对所有数据采用相同的度量, 因此, 所得到的最终聚类结果往往实现了数据间基于分布的均匀划分, 而本文要根据样本到超平面距离的不同实现数据的不均匀抽样, 因此, 本文结合层次聚类能够在不同聚类层次视角下获取不均匀聚类结果的优势, 来实现不同区域样本在不同聚类层次下的抽取, 从而在压缩SVM训练集规模的同时尽可能地不改变超平面附近样本的分布, 以保证SVM的分类精度和泛化性能。

假设初始样本集为X (0) ={xi}li=1且xi∈Rd, ki为第i层样本的聚类个数参数。初始状态下, 所有样本X (0) 为一类, 第一层聚类个数为k1, 假设第一层聚类后得到的类为X (1) 1, X (1) 2, …, 则第一层聚类过程等价于实现X (0) →X (1) ={X (1) 1, X (1) 2…, }的一个映射。然后根据一定的规则寻找聚类结果X (1) 1, X (1) 2, …, 中需要进一步细划的类, 假设这些需要进一步细划的类构成的集合为活动类集Set (active) , 其他不需要细划的类构成的集合为静止类集Set (static) 。其中静止类集Set (static) 不再进行划分, 而活动类集Set (active) 中的类则进行生层次聚类, 直到达到聚类要求为止, 层次K-均值聚类方法的具体过程如下。

算法1层次K-均值聚类算法

Step1初始聚类样本集X (0) , 第i层聚类参数ki, 初始活动类集Set (active) =ф, 初始静止类集Set (static) =ф;

Step2对样本集X (0) 采用传统K-均值方式聚为k1类, 即

Step3根据实际处理问题的具体意义, 给出类重要性的衡量标准, 将第一步聚类得到的类划分为活动类集Set (active) 和静止类集Set (static) , 即X (1) =Set (active) ∪Set (static) 且Set (active) ∩Set (static) =ф;

Step4对活动类集Set (active) 中的类继续采用K-均值方法进行聚类, 并将所得到的类重新划分为新的活动类集Set' (active) 和新的静止类集Set' (static) ;

Step5更新活动类集和静止类集, 即:Set (active) =Set' (active) , Set (static) =Set (static) ∪Set' (static) ;

Step6返回Step4继续执行, 直到Set (active) =ф或达到用户要求时算法结束, 并输出最后得到的聚类结果。

针对SVM训练效率低下的问题, 结合层次K-均值聚类思想, 根据聚类结果中每个类的重要性, 在不同的聚类层次下提取对SVM分类作用大的活动类集进行深层迭代聚类, 从而在超平面附近提取更细层次的类, 以得到更多重要样本, 而距离超平面较远的静止类集则进行大规模数据压缩以加速SVM的学习过程。

2 基于层次K-均值聚类的SVM方法

设样本集为X={xi}li=1, ki为第i层的聚类个数参数。由于传统SVM方法在进行样本分类时需要计算和存储大规模核矩阵, 其时间复杂度为O (l3) , 空间复杂度为O (l2) , 因此对于大规模样本不能进行有效分类。尽管已有学者提出了基于K-均值聚类的SVM训练方法 (KSVM) , 即首先采用K-均值进行聚类, 然后提取每个类的类中心进行训练, 虽然在很大程度上提高了SVM的学习效率, 但由于传统K-均值聚类是基于距离的单层聚类方法, 因此采用这种方法实际得到的训练集往往分布均衡, 超平面附近重要样本保留不够多, 分类信息损失严重, 得到的超平面与实际最优超平面差距较大, 模型泛化性能很差。针对这个问题, 本文引入了基于层次K-均值聚类思想的SVM方法。在阐述本文方法之前, 首先给出HKSVM方法中活动类集和静止类集的定义。

定义1活动类集、静止类集假设样本集X={xi}li=1经过聚类过程X→{X1, X2, …, Xk}, 且X1, X2, …, Xk的类心分别为μ1, μ2, …, μk, 然后得到距离每个中心μ1, μ2, …, μk最近的样本x'1, x'2, …, x'k并在其上训练SVM, 得到近似超平面f。则如果x∈Xj使得|f (x) |<1, 则Xj为活动类集, 否则Xj为静止类集。

基于层次K-均值聚类思想的SVM方法首先对正负类样本分别进行初始K-均值聚类并取聚类中心进行SVM训练, 得到初始近似分类器f (1) , 并根据定义1, 将聚类结果划分为活动类集和静止类集两部分。对于活动类集中的每一类样本, 再次进行K-均值聚类, 得到聚类结果后, 重新抽取类中心训练SVM, 得到新的分类器f (2) , 然后再次抽取新的活动类集和静止类集 (注意新的静止类集包含本层聚类生成的静止类集与之前已有的静止类集两部分, 且之前的静止类集中的类有可能变为新的活动类集中类) , 如此循环往复, 直到所有活动类集全部消失为止。基于层次K-均值聚类思想的SVM算法具体过程如下。

算法2基于层次K-均值聚类的SVM算法

Step1初始聚类样本集X (0) , 第i层的聚类参数ki, 初始活动类集Set (active) =ф, 初始静止类集Set (static) =ф;

Step2对正类样本集X (0, +) 进行聚类, 即:并求出每个类Xj (1, +) 的中心μj (1, +) , 类似地对负类样本集进行聚类, 并得到其类中心μj (1, -) ;

Step3由正类样本类中心集和负类样本类中心集构成初始训练集训练SVM, 得到初始分类器f (1) ;

Step4若或者使得成立, 则将样本集归入初始活动类集Set (1) (active) , 反之, 若对于所有的x∈Xj (1, +) 或者x∈Xj (1, -) 都有成立, 则将样本集归入初始静止类集Set (1) (static) ;

Step5对于第i次聚类更新后得到的活动类集Set (i) (active) 中的每个类再次进行第i+1次K-均值聚类, 并计算得到类中心, 其构成的集合为U (i+1, a) ;

Step6同时计算第i次聚类后得到的静止类集Set (i) (static) 中每个类的类中心, 其构成的集合为U (i, s) ;

Step7采用U (i+1, a) 与U (i, s) 一起合并构成新的训练集并训练SVM, 得到新的分类器f (i+1) ;

Step8判断新分类器f (i+1) 的测试精度是否达到要求或聚类迭代次数是否达到上限, 若达到则转到Step10, 否则执行Step9;

Step9首先清空活动类集Set (i+1) (active) , 而静止类集不变, 即Set (i+1) (static) =Set (i) (static) ;然后对二者进行更新, 即若或者使得成立, 则将样本集归入活动类集, 即:反之, 若对于所有的或者都有成立, 则将样本集归入静止类集, 即:返回Step5;

Step10算法结束, 输出最新的分类器f及其测试精度、训练时间等评测参数。

HKSVM模型的层次聚类过程如图1所示。在子图 (a) 中, X1 (i-1, +) , X2 (i-1, +) 与X1 (i-1, -) 为第i-1层次活动类集U (i-1, a) 中的三个类, 对这三个类进行聚类得到子图 (a) 中的划分, 并对划分后所得到类的类中心与上一层中静止类集U (i-1, s) 中类的类中心一起构成SVM的训练集进行训练, 得到新的分类器f (i) 。根据近似分类器f (i) 与所有类别间的关系, 更新活动类集 (即子图 (a) 中的阴影类别) 与静止类集。然后对子图 (a) 中所有的活动类集进行聚类, 其中X1 (i, +) , X2 (i, +) 与X1 (i, -) 的对应聚类结果如子图 (b) 所示, 然后对子图 (b) 中第i+1层聚类得到的类中心与上层静止类集U (i, s) 中每个类的类中心进行合并构成新的SVM训练集, 从而得到新的分类器f (i+1) 。从图中不难看出, f (i+1) 是比f (i) 采用更多的边缘附近的含有较多支持向量信息的样本得到的分类器, 因此其测试精度更高, 泛化性能也更强。

3 实验结果及分析

为验证本文提出的基于层次K-均值聚类思想的SVM方法处理大规模数据的性能 (包括训练时间和泛化性能) , 本文将HKSVM方法与传统KSVM方法及标准SVM方法进行了对比, 其中核函数均采用高斯核, 核参数取1.0, 惩罚参数取1 000。实验采用UCI的5个标准数据集 (见表1) , 这些数据集可从网站http://www.ics.uci.edu/~mlearn上下载。实验在1台PC机 (2GHz CPU, 1G内存) 上进行测试, 实验平台是Matlab2008。

表2列出了在不同的初始聚类参数k0下, HKSVM及传统KSVM及方法在Banana数据集上所得到的聚类结果中的最终聚类个数、支持向量个数、训练时间及测试精度, P1、P2分别为与传统KSVM方法相比, HKSVM方法其聚类个数的增加率、支持向量个数的增加率。其计算分别如下:

其中, #Clusters (HKSVM) 、#Cluster (KSVM) 分别表示HKSVM和KSVM两种方法所得到的聚类结果中的类个数, 而#SV (HKS-VM) 和#SV (KSVM) 分别表示两种方法所得到的支持向量个数。

表3为标准SVM在Banana数据集上得到的训练时间和测试精度。

从表2可以看出, 由于KSVM方法只进行单层聚类, 因此其聚类结果中类个数就等于聚类参数值, 而HKSVM方法最终得到的聚类个数随着初始聚类参数值的增加而增加, 但除k0=20外, 与KSVM方法相比, 其他参数值下HKSVM的聚类个数增加都较少, 增加率均在20%以下。同样, 随着初始聚类参数的增加, 两种方法得到的支持向量个数也增加, 但增加的速度明显与类个数增加速度不同, 即除k0=20外, HKSVM的支持向量增加率均在100%以上。从聚类结果中类个数以及支持向量个数的增加率可以看出, 本文提出的HKSVM方法在增加少量训练样本规模的同时大量提取到了支持向量信息。其次, 从测试精度看, 在不同初始聚类个数参数下, HKSVM的测试精度均高于传统KSVM, 且测试精度均值高出了1.6%, 尽管HKSVM的训练时间也稍长于KSVM, 但结合表3可看出, 与标准SVM相比, HKSVM及KSVM方法的时间开销均十分小, 因此这种时间开销的增加是可以接受的。

图2和图3分别为HKSVM和KSVM在初始聚类参数k0=100下所得到的聚类结果图。图中, *为原始测试数据, ▽为聚类中心, +为距离聚类中心最近的样本点。图4和图5分别为两种方法得到的分类超平面。

从图4和图5不难看出, 尽管HKSVM的实际最终聚类样本并没有比KSVM多很多, 但其样本分布更集中于超平面附近, 因此HKSVM更好地保留了支持向量信息, 得到了测试精确度更高的超平面, 其泛化性能也更好。两种方法在其它数据集上得到的测试精度见表4所示, 训练时间见表5所示。

从表4可以看出, 在每个数据集上, HKSVM的测试精度与传统KSVM相比都有一定提高, 特别在数据集Image上, 测试精度提高更为明显, 达到了6%左右。从表4也可以看出, 并不是所有数据集都是聚类个数越多, 测试精度越高, 如数据集Spambase的测试精度随着聚类个数变化而有较大起伏, 这可能是由于该数据集维度过高而导致数据聚类和代替过程无法合理控制而引起, 对于这种数据集可以结合PCA等降维方法进行预处理。此外, 从表5可看出, 由于两种方法都进行了大规模数据压缩, 因此训练时间较短, 模型学习效率较高。

综上可看出, 本文提出的基于层次K-均值聚类的SVM方法考虑了不同分布区域样本的不同重要性, 从而对超平面附近的活动类集进行深层次聚类, 在有效压缩训练样本的同时保留了较多的支持向量信息, 从而得到分类精度更高的超平面, 保证了模型的泛化性能。

4 结语

支持向量机是目前机器学习领域的一种重要学习方法, 本文针对传统聚类支持向量机执行效率高但泛化性能差的问题, 结合层次聚类思想提出了基于层次K-均值聚类的支持向量机方法。该方法首先对训练样本进行初始聚类, 并采用聚类结果的类心训练得到初始学习器;然后根据学习器与聚类结果的关系, 将聚类结果分为活动类集和静止类集, 然后对活动类集进行深层细化聚类, 并根据聚类结果对所得到的超平面进行更新, 如此迭代直到得到泛化性能优秀的分类器为止。该方法在大量压缩训练样本的同时有效地保留了支持向量信息, 从而提高了模型泛化性能。

在未来的工作中, 可以有效地结合PCA、CCA等特征选择方法, 进一步提高HKSVM模型对于高维复杂数据的处理能力, 扩展其在图像处理、文本分类、DNA分类等高维实际问题中的应用。

摘要:针对支持向量机SVM分类效率低下的问题, 提出一种基于层次K-均值聚类的支持向量机HKSVM (Hierarchical K-means SVM) 学习模型。该方法首先对每类样本分别进行K-均值聚类, 计算每类中心并训练SVM, 得到初始分类器;然后根据超平面与聚类结果的关系, 将聚类所得结果划分为活动类集和静止类集, 并对超平面附近的活动类集进行深层聚类, 以得到更小的类别同时计算类中心来训练新的SVM模型, 并校正分类超平面, 如此循环往复, 直到得到较为精确的分类器为止。采用基于层次K-均值聚类的SVM模型, 通过对活动类集进行不断地深层次聚类, 从而在分类超平面附近得到较多样本点, 而在距离超平面较远处则取少量训练样本, 以有效压缩训练集规模, 在保持SVM训练精度的同时大幅度提高其学习效率。标准数据集上的实验结果表明, HKSVM方法在大规模数据集上同时得到了较高的分类效率和测试精度。

上一篇:早期智力开发下一篇:中职会计教育知识经济