多SVM(精选7篇)
多SVM 篇1
摘要:本文介绍了常用的SVM多分类器的构造思路,并且分析比较了各种思路的优缺点。针对二叉树决策法中强制分类存在的误判情况,提出了基于字符匹配度的SVM多分类器设计方案。通过实验对比各种多分类器的分类器数量、平均分类次数、训练和判断时间、识别正确率,证明了该构造方案的优越性。
关键词:SVM多分类器,字符识别,二叉树决策
1引言
字符识别(OCR,Optical Character Recognition)的核心在于特征的提取与识别。支持向量机(SVM,Support Vector Machine)作为一种机器学习的二分类器 ,以其识别速度快、识别率高、计算量小等优点,广泛应用于字符识别和其他模式识别领域。实际应用中,待识别的字符样本往往不仅两类。因此如何利用SVM设计多分类器, 并使其保持SVM良好的分类特性, 已成为了一个被广泛研究的课题。
2SVM 多分类器原理及分类
SVM的基本原理是将样本向量映射到多维空间中,通过求解最优超平面将样本划分为两类。距离最优超平面距离最近的样本称为支持向量,最优超平面要确保距离支持向量的距离最远。
利用SVM解决多分类问题, 一种思路是直接进行多类分类,另一种方法是将多类分类转化为多个二分类问题。
2.1 直接构造多分类器
基本思路是将多分类问题转化为统一的凸规划问题,最优化问题求解过程中引入投票机制。
这种方法优点是只需要1个分类器,缺点是算法过于复杂,实际应用效果一般。
2.2 间接构造多分类器
多分类器转化为多个二分类器的方法较多,基本的思路有三种。
2.2.1 one against one
每次从K类中任取两类划分,共需K(K-1)/2个分类器,同时引入投票机制。
该方法优点是训练样本集只需2/K个, 算法简单, 缺点是需要K(K-1)/2个分类器,效果一般。
2.2.2 one against all
K个二分类器依次判断样本是否属于对应的类 ,决策函数认定样本属于指标函数最大的类。
该方法优点是可充分利用全体样本, 不存在盲区, 缺点在于计算量大,效果一般。
2.2.3二叉树决策法
将所有样本分为两个子类, 每个子类再分为两部分,依次循环,当所有子类为单一分类时结束。
该方法的优点是理论上需要K-1个分类器,训练样本在逐步减小,同时有效地避免了投票机制,实际中应用效果较好。
该方法的缺点在于同一决策树不适用不同样本,同一样本可对应多种决策树。算法的好坏主要依赖所选样本和所选决策树。
3基于字符匹配度的 SVM 多分类器
本文针对样本(0…9,A…Z)设计多分类器,评价标准第一是识别的正确率,第二是识别速度(取决于分类器的数量和算法复杂程度)。
3.1 设计思路
分类过程先粗分,再细分。相似字符在粗分类过程中可归为同类,在细分类中再分为单类。将相似的字符初步归为一类, 就能避免二叉树分类过程中的强制分类,极大地降低了误分误判的可能性。
字符识别中的样本是有限的,通过分析有限样本相互之间的字符匹配度, 对比字符匹配度和经验阈值,即可以构造出优化的SVM多分类器。
基于字符匹配度优化的SVM多分类器, 构建了K-1个分类器, 同时在确保最佳识别正确率的前提下 , 尽可能减少了样本地总体分类次数。
本文以字符0-7为例,首先计算字符匹配度。
依据字符的匹配度,分成两类K1和K2。K1和K2继续划分子类,直到最终的子类只含有一个样本。K1和K2划分要同时考虑以下三个条件:
以上公式表示,K1和K2各自类内的样本平均匹配度最高,同时K1和K2类间的样本平均匹配度最低。将三个公式进行合并:
这样就转化成为了约束条件下的最优化问题,存在最优解,但可能不唯一。
根据推导公式进行逐步分类,得到最后的分类结构图如图5所示。
3.2 对照实验
分别采用四种方法对字符库中随机选择的400个字符经行识别,实验结果统计如表2。
4结束语
本文综合分析了SVM多分类器的构造思路及其优缺点,提出了基于字符匹配度的SVM多分类器设计方法。在实验中通过对比自身方法和其他方法对于随机给定字符识别的训练时间、识别时间、识别准确率、漏识率,证明在样本分类有限且可预判的情况下,依据字符匹配度来粗划分, 能够有效兼顾识别正确率和识别效率。
本文目前研究的是字符模板匹配的相似度,进一步改善的空间在于可以基于字符不同的特征来确定相似度,可以进一步减少计算量。
多SVM 篇2
随着股票市场的发展,股票时间序列预测开始成为人们研究的热点。目前对于时间序列预测采用的预测方法主要有自回归模型,滑动平均模型,灰色预测法,神经网络预测法,支持向量机。支持向量机基于结构风险最小化原则,从理论上保证算法的全局最优;而且,支持向量机用核函数思想,能够解决维数灾难问题,使得计算大大简化。支持向量机SVM由Vapnik及其研究小组于1995年提出[1],通过非线性变换将非线性数据转化为某个高维空间中的线性问题,被广泛用于分类、预测和回归,应用于时间序列预测研究有很好的效果。
股票数据是一种特殊的时间序列数据,其变化受各种因素的影响,因而,要对股市时间序列数据进行预测也变得比较困难。目前,有很多学者研究股市时间序列的预测,杨稣等人使用支持向量机进行股市时间序列预测[2],然而预测准确度并不令人满意。之后又使用基于小波变换域的支持向量机进行了股市时间序列预测[3],以提高预测准确度。姚洪兴等人使用小波神经网络进行预测[4]。杨一文等人。考虑用多变量的方法进行股票时间序列预测,同样采用神经网络的方法[5],然而神经网络存在若干缺陷,比如过学习,维数灾难等。支持向量机可以解决小样本、高维度的问题。但是,目前对支持向量机回归预测的研究应用中,大多数使用单变量进行预测。而现实中,每个被预测变量是受多个变量影响的,变量之间存在相互依赖关系,仅由单一变量建立回归预测模型应用于时间序列预测并不能准确预测其变化趋势,导致预测的泛化能力受到影响。例如在气象领域、股票领域,进行预测时应该考虑多变量预测方法。文献[2,3]中使用支持向量机进行预测,然而仅仅考虑了单要素的影响,所以预测精度受到了影响。
本文提出使用多变量进行基于SVM的股市时间序列预测。为了保证SVM训练模型具有好的预测能力,我们采用交叉验证方法进行参数的优选。同时,在采用交叉验证方法时,考虑到交叉验证的效率问题,我们将交叉验证方法并行化,提高了算法的效率,从而缩短了选择参数的时间。然后采用较优参数进行训练,得到训练模型,最后使用训练模型进行预测。实验证明,该方法的预测准确度较之单变量预测方法的准确度有大幅度的提高,证明了该方法的合理性和有效性。
1 相关原理
1.1 支持向量机(SVM)回归原理
支持向量机是从统计学习理论发展而来的,其形式化表示为,设给定训练样本集G={(xi,yi)}
回归问题,是输入变量和输出变量通过函数关系表示,并以此函数为规则,通过输入新的变量,得到新的输出作为预测值。对于包含n个样本{xi,yi}
在支持向量机回归中,输入样本首先用非线性映射映射到一个n维的特征空间,然后在这个特征空间中建立一个线性模型:
f(x,w)=w·Φ(x)+b (1)
其中,f(x,w)是估计函数;w为权向量;Φ(x)为输入的非线性映射集合;b为阈值。其正确性是由损失函数来衡量的。1964年,Huber提出基于噪声模型选择损失函数的最佳方法。然而Huber所提出的损失函数不能使得支持向量稀疏,仍然不适用于支持向量机。为了解决这个问题,Vapnik提出了ε不敏感损失函数:
如果对于每个输入向量xi,f(xi,w)和yi的差值很小,则认为这样的f(x,w)能通过x准确的预测y,其中ε≥0,用来表示预测值与实际值的最大差距,该算法称为ε-SVR(ε-Support Vector Regression)[6,7]。本文采用ε-SVR作为预测实验中的回归算法[8,9]。
依据结构风险最小化准则,确定系数w和b,用数学语言表达,SVR所要求解的问题是:
s.t.
其中,常数C(C>0)用来调整训练模型, 用于平衡结构风险和置信风险。
利用对偶Lagrange,得出式(1)中的w可表示成x的线性组合:
f(x)的复杂度取决于支持向量(αi-α*i≠0的项),同时当满足Mercer条件时,有k(x,x′)=Φ(x)·Φ(x′),Φ(x)为将n维向量映射到其它维度的映射。则式(4)中x·xi项由满足Mercer条件的核函数k(x·xi)取代,得到:
本文采用径向基核函数作为支持向量机的核函数。径向基核函数为:
1.2 交叉验证原理
参数的取值对支持向量机有很重要的影响,选择合适的参数,能够使支持向量机既有好的学习能力,又有好的泛化能力。参数选择的方法有交叉验证法,经验公式法,遗传算法等。
交叉验证是度量SVM回归结果的首选方法,并且它具有指导参数选择的能力。交叉验证是在错误分析中用来估计错误率的,是由Hills [10]、Lachenbruch 和 Mickey [11]提出的。交叉验证被称为是对泛化误差的无偏估计[12,13],是统计学习中的著名方法,其本质是通过在训练集上训练模型,使之既具有一定的训练精度,又获得良好的泛化性能。P. Jonathan等人[14]在预测模型的性能估计中使用了交叉验证。交叉验证分为三种,保持法、K折交叉验证方法和弃一法交叉验证。
K折交叉验证(k-fold cross-validation)原理是将训练样本分成数据量相同的k个子集,执行训练算法k次。对于每个子集i (i=1,2,…,k),在第i次训练时,要用除去第i个子集后的k-1个子集作为训练集训练模型,用第i个子集作为测试集计算模型预测的误差。最后将k次预测的平均误差值作为模型的的近似误差值。下面给出K折交叉验证算法:
输入: 数据集D,k
输出: 平均误差
(1) Partition (D,k);
(2) for (i=0;i<k;i++){
(3) T=D-Di; //划分D的子集T为训练集
(4) Training(T); //训练T
(5) Testing(Di); } //使用Di测试
(6) mean_error=
该方法的缺点是,训练算法要进行k次,所以,它是非常耗时的。
2 算法以及流程
2.1 并行K折交叉验证方法
K折交叉验证法广泛地应用于当前的参数选择方法中,其缺点是计算量大,当样本数很大时会存在时间效率特别低的问题。例如,我们使用K折交叉验证,当样本数很大,并且k也比较大的时候,需要训练k次,而每训练一次的时间代价是O(n2),所以,提高该算法的时间效率是有必要的。交叉验证原理是将样本分成k组,每次训练除了测试集以外的k-1个组,所以,每次训练是独立的,互不影响的。可以将该算法并行化。
本文提出并行化K折交叉验证算法(PCV),以提高该算法的效率。该并行方法采用MPI消息传递机制,我们将每次训练指定到一个节点进行,最后由所有从节点将结果发送到主节点,由主节点计算最终的误差。下面给出并行化K折交叉验证算法的形式化表述。
算法PCV是运行在分布式内存并行环境下的并行算法。算法中,函数svm_train根据参数param训练数据集subprob,得到训练模型submodel。函数svm_predict是预测函数,返回预测值。在算法中,每个处理器(包括处理器0)单独地训练分到该处理器上的训练样本子集,最后,从处理器(从节点)将每个子集的训练误差值发送到处理器0(主节点),处理器0计算最终误差值。
PCV 算法
输入: 数据集D,k
输出: 平均误差
(1) MPI_Comm_size(MPI_COMM_WORLD,&size);
(2) MPI_COMM_rank(MPI_COMM_WORLD,&myid);
(3) init(i);
(4) init(num);
/*初始化i和每个节点做交叉验证的次数num*/
(5) for(;num>0;i++,num--){
/*每个组的开始和结束点在整个样本中的位置*/
(6) begin=fold_start[i];
(7) end=fold_start[i+1];
(8) subprob.1=1-(end-begin);
(9) init(subprob.x,subprob.y,end,begin);
//初始化k-折交叉验证的训练集和测试集
(10) struct svm_model*submodel=svm_train(&subprob,param);
(11) for(j=begin;j<end;j++)
(12) target[perm[j]]=svm_predict(submodel,prob->x[perm[j]]);}
/*将结果发送到节点0*/
(13) if(myid!=0)
MPI_Send(&result,1,MPI_DOUBLE,0,90,MPI_WORLD);
/*节点0接收消息*/
(14) else
MPI_Send(&result,1,MPI_DOUBLE,x,90,MPI_COMM_WORLD,&status);
(15) Caculate(total_error,sumv,sumy,sumvv,sumyy,sumvy);
2.2 基于SVM的多变量股市时间序列预测算法
利用支持向量机进行多变量时间序列预测的思路是,假设时间序列的预测要素x有在m个时间段内的观测值(样本),这些观测值是由d个变量构成的,则预测时间序列可以表示为:
Y(t)=F(X(t0),X(t1),…,X(tm-1))
式中,ti=t0+i×Δt,i=0,1,…,m-1,X={x1,i,x2,i,…,xd,i},则该序列是在有界可测集T(时间坐标上的t0,t0+Δt,…,t0+(m-1)Δt)上的可测函数Y(t)。通过SVM回归模型求解Y(t),作为根据要素x的m-1个时间段历史样本,预测x在m时刻的值的函数。
基于SVM的多变量股市时间序列预测算法有如下4个步骤:
Step1 样本的获取与数据预处理
样本的性能对模型的学习有着极为重要的影响,合适的样本能够为提高预测模型的正确率提供良好的支持。
我们选取股票收盘价作为被预测要素,考虑到每日股票的收盘价同时受开盘价,最高价和最低价的影响,所以在预测过程中采用多变量分析和预测,使用开盘价、最高价、最低价和收盘价四个变量,对收盘价进行预测。
数据预处理主要是训练数据格式的归一化处理,即将所有具有不同量纲指标的值规范化到[-1,1]区间内,以减少训练过程中数值计算的复杂度。归一化的公式如下:
其中,xmax和xmin分别为样本数据中的最大值和最小值,x′i为归一化后的数据。
对于时间序列{x1,x2,…,xN},前n个数据作为训练样本,后N-n个数据作为测试集。选定时间序列的时延窗口m为5,当前时刻为t,数据值为xt,x的相关要素为x′,x″和x,则训练数据可表示为:
其中,xi,x′i,x″i和xi是归一化后的数据,i∈[t-1,t-4],xt是原数据。
Step2 参数的确定
支持向量机能够解决有限样本和维数灾难等问题,在预测中,必须构造准确的SVM回归预测模型,关键是选取合适的核函数和参数,从而使训练模型具有较高的预测精度。SVM回归预测中,主要参数是核函数的参数σ,ε,C。文章中,采用并行的K交叉验证方法进行参数选择,以误差值最小时的参数作为较优参数。
Step3 用训练样本数据建立模型
选择好参数后,使用SVM方法构造回归函数Yt,将m维的输入空间变换到另一个高维特征空间,并根据结构风险最小化原理,综合考虑函数复杂度和回归误差,求得最优回归曲线,建立回归模型。
Step4 将待预测的数据输入模型,得到预测结果
使用Step3得到的模型,用测试样本进行预测。本文对实验的预测结果采用如下2个统计量检验其拟合效果和预测效果:
(1) 均方根误差:
(2) 平均绝对百分比误差:
预测算法流程如图1所示。
3 实验结果以及分析
实验中,实验数据为深圳成指2000至2009年上半年的数据。选取每日收盘价作为预测数据,实验的主要参数有时间序列的时间延迟窗口m,核函数的参数σ,ε,C。
并行交叉验证算法是在甘肃省计算中心的曙光4000L超级计算机上进行的。
3.1 参数选择
参数的取值对支持向量机有很重要的影响。实验中用到的主要参数有:时延窗口m,和支持向量机核函数参数δ,ε,C。
给定时延窗口m=4,使用并行交叉验证方法,得到该实验中较优的核函数参数。令γ=1/δ2,则γ=1,ε=0.001,C=100。
取核函数参数γ=1,ε=0.001。变化惩罚参数C值,在实验中根据误差值变化C值跨度,得到预测误差比较如表1所示。
由表1可以看出,当C值增大时误差逐渐减小,当C值在[200,300]区间时误差达到最小,当C值超过300后,误差不再有明显变化。且在C值变化中,平均绝对百分比误差始终保持在10%以内。
3.2 预测准确度分析
为了更好地说明采用多变量预测的合理性和准确性,采用单变量的支持向量机股市时间序列回归预测结果作为对比。取时延窗口m=5,核函数参数γ=1,ε=0.001,C=100。图2显示了取N-n为57的预测结果。图3显示的是随机从样本中选取一个测试集,剩下的作为训练集的预测结果。由图2和图3可以看出,采用多变量进行预测后,预测准确度得到了大幅度的提高,证明了该方法在预测精度方面的优越性。
同时,我们考查了预测的均方根误差随C值变化的情况。图4说明了均方根误差随C值变化的曲线。
由图4可以看出,当C值大于等于100时,均方根误差变化减小,趋于稳定。所以,在实验中取C值为100,即可以满足训练质量要求。
实验结果表明,采用多变量的支持向量机进行股票时间序列预测时,可以将误差控制在较小的范围内。采用该方法的泛化能力要强于单变量的SVM回归预测。
3.3 相对加速比分析
为了度量相对加速比,在实验中保持数据集不变,改变节点数目。具有p个节点的相对加速比的度量方法如下:
相对加速度
对于样本数据集,我们选择三个不同大小的数据集测试相对加速度,从图5可以看出,随着节点数目增加,相对加速度先呈增长趋势,然后又下降趋势。最高的相对加速度值为9.08,证明了该方法在时间方面的优越性。相对加速度值下降是由于当节点数目增大时,节点间消息传递时间占总运行时间的比例较大,所以相对加速度值出现了下降趋势。对于数据集data1和data2,当节点数增加到8时,出现下降趋势,而数据集data3,当节点数增加到7时,就有下降趋势,是由于数据集data3数据量最小的原因。综上分析,对于数据量比较大的情况,并行K折交叉验证方法可以显示其优越性。
4 总 结
大多数时间序列数据的外部控制因素多变,包括股市时间序列,因此,仅仅依靠单一变量进行时间序列分析与预测并不能很好地预测出时间序列的变化趋势。本文提出应用多变量进行基于SVM的股市时间序列预测,建立多变量的支持向量机时间序列回归预测模型,优点是使用多变量进行预测,较之单变量预测具有高的精确度,另外使用并行K折交叉验证方法缩短了选择参数时间,实验显示出了较好的预测效果。今后工作主要致力于SVM训练方法的并行化研究,以提高训练的时间效率。
摘要:目前在股市时间序列预测中,大多数采用单变量时间序列预测算法,导致预测准确度不够高。提出采用基于支持向量机SVM(Support Vector Machines)的多变量股市时间序列预测算法,来提高预测准确度。SVM训练算法中,合适的参数可以使训练模型具有更好泛化能力。交叉验证具有指导参数选择的能力,然而考虑到交叉验证算法效率不高的问题,将其并行化,既达到了参数优选的目的,又避免了传统交叉验证效率低的问题。然后,根据较优参数建立多变量SVM时间序列回归预测模型,进行预测。实验证明,预测平均绝对百分比误差控制在10%以内,并且较之单变量的SVM回归预测有更好的泛化能力。
多SVM 篇3
近些年来, 国内外的专家学者对企业的财务困境预测进行了大量的研究,提出了许多有价值的预测方法。 但大多数学者把研究样本分为困境公司和健康公司两类进行研究, 而公司陷入财务困境往往会经历一个逐步衰败的过程, 仅仅将公司分为困境公司和健康公司,往往会忽略健康公司面临的一些问题,有些公司虽然没有戴帽,但是财务状况并不理想,有的甚至亏损。 因此,将上市公司仅仅分为困境公司和健康公司两类进行研究,难以判断健康公司财务状况的好坏程度及其是否处于财务困境的边缘,不能给投资者、公司管理层和债权人等相关各方提供更为明确的反映公司未来财务情况的信息。
Amy Hing-Ling Lau于1987年在 “五状态财务困境预测模型”一文中首次将企业财务状况分为5个状态:财务稳定阶段未支付股利或股利较上年减少达40%以上阶段、 无法偿还贷款阶段、受破产法保护阶段、破产阶段。 他认为从状态2到状态5企业处于财务困境状态,并且严重程度逐步增加。 我国学者吕长江、赵岩(2004)也突破将企业财务状况仅分为“好”和“坏”的简单分类,在理论上将公司财务状况分为5类:财务闲置、财务充盈、财务均衡、财务困境和财务破产,并且用实证分析证明了该理论假设。 刘彦文、戴红军(2007)采用三分法,即在将公司分为财务困境公司和非财务困境公司两类的同时, 又将非财务困境公司按一定标准分为财务状况不稳定公司和财务状况良好公司,构建了一个基于三元logistic的财务预警模型。 结果显示,三元Logistic预警模型的判别能力优于二元logistic预警模型,误判成本也相对降低许多。 本文在借鉴已有研究的基础上,结合我国实际情况, 将非困境公司按照其盈利能力划分为健康公司和亚健康公司,进而将上市公司整体划分为3类:财务健康公司、财务亚健康公司和财务困境公司(以下分别简称为:健康公司、亚健康公司和困境公司)来进行实证研究,以获得更加精确的分类结果。
2样本和变量的选取
2.1分类标准
由于我国证券市场的退市制度建立较晚,退市的企业很少因此,与国内众多学者一样,本文将公司因财务状况异常而被特别处理(ST)作为陷入财务困境的标志,即选择ST和*ST公司作为困境公司的样本。
一般来说, 反映企业财务状况的指标主要有偿债能力指标盈利能力指标、营运能力指标和成长能力指标等。在这些指标中盈利能力指标是核心,因为利润是企业生存和发展的保障,是企业竞争力的集中体现,企业的盈利能力越强,抵御风险的能力也越强。从长远来看,企业的偿债能力、营运能力和成长能力最终都取决于企业的盈利能力; 另一方面,上市公司发行证券和被特别处理的标准都是盈利能力指标。我国规定当上市公司出现连续两个会计年度净利润均为负值或者最近一个会计年度每股净资产低于股票面值时,则会对该公司股票交易实行特别处理,即被宣布为ST。 基于以上原因,本文采用盈利能力指标作为界定财务健康公司和亚健康公司的标准。
2.2样本选取和数据来源
为了避免行业差异对预测结果的影响, 增强指标的可比性本文选择制造业中样本量较大的石油、化学、塑胶、塑料行业(以下简称化工行业)的上市公司作为研究对象(为了避免资产规模对预测结果的影响,剔除了中小板的上市公司)。考虑到资料的时效性和可获取性, 本文选取了该行业2002-2012年被首次宣布为ST的24家上市公司作为困境公司样本, 选取了近两年中至少有一年每股收益小于0.05元(0.05是正常标识公司每股收益的20%分位数)的32家上市公司作为亚健康公司样本,其余的67家正常标识公司为健康公司样本。 本文没有遵循惯例进行样本的配对,因为配对抽样会造成样本中各类公司的比例和它们在总体中的比例严重不一致,从而高估模型的预测能力。
由于证监会是根据上市公司前一年的年报所公布的业绩判断其是否出现财务状况异常并决定是否要对其进行特别处理的所以只采用上市公司前一年的年报数据预测其是否会被ST显然会夸大模型的预测能力。 因此,本文选择困境公司被ST前两年的面板数据,健康公司和亚健康公司采用近两年(2011-2012的数据来进行预测研究(在具体的实证研究中去掉了一些含有异常值的数据样本)。 数据来源是Resset金融研究数据库,相关检验及模型估计是用SPSS 16.0和Matlab软件来完成的。
3初始指标选取
在财务困境预测的实证研究中,财务指标的选取到目前还没有统一的结论。本文借鉴以往的经验,从公司的盈利能力、偿债能力、营运能力、成长能力、现金流量和每股指标6个方面选取了20个财务变量(见表1)作为备选指标。
4实证分析
4.1均值差异检验
为构建准确的财务困境预测模型, 所挑选的财务指标必须在各类公司之间有显著的不同。 本文先采用K-S检验来检验变量是否服从正态分布,结果显示,只有X43(总资产增长率)的样本序列在0.05的显著性水平下符合正态分布。 根据正态分布检验结果, 又分别采用单变量方差分析和K独立样本非参数检验来检验变量的均值是否有显著性差异。 具体结果见表2。
(注:***表示在1%水平上显著,**表示在5%水平上显著)
从检验结果可以看出,在5%的置信水平上除了存货周转率接受原假设外,其余变量均拒绝原假设,即除了存货周转率以外, 其余变量在各个类别之间均存在显著差异。 所以将存货周转率剔除,其余19个指标进行变量筛选。
4.2变量筛选
对于变量筛选,大量的实证研究采用统计方法,但统计方法往往有严格的假设条件限制,使得其有效应用受到制约。 所以本文提出了一种基于平均影响值(Mean Impact Value,MIV)的SVM变量筛选方法,通过该方法可以筛选出对结果有重要影响的输入变量,从而提高模型的预测精度。
4.2.1基于平均影响值MIV的SVM变量筛选方法
MIV是用于确定输入变量对输出变量影响大小的一个指标,其符号代表相关的方向,绝对值代表影响的大小。 本文选择MIV作为评价各个自变量对因变量影响大小的指标。 具体计算过程如下:
(1) 用原始训练样本P对SVM进行训练, 并对训练集P进行回归预测。
(2)将训练样本P中每一自变量在其原值的基础上分别加/减10%构成两个新的训练样本P1和P2,将P1和P2分别作为仿真样本利用已建成的模型进行仿真,得到两个仿真结果A1和A2,求出A1和A2的差值,即为变动该自变量后对输出产生的影响变化值(IV,Impact Value)。
(3)将IV按观测例数平均得出该自变量对因变量的平均影响值MIV。 同理可算出各个自变量的MIV值。
(4)根据MIV绝对值的大小为各自变量排序,得到各自变量对因变量影响相对重要性的位次表, 从而判断出输入变量对输出结果的影响程度,即实现了变量筛选。
4.2.2变量筛选的Matlab实现
4.2.2.1选定训练集和测试集
在原始数据的231个样本中,有145个健康公司样本(类别标签为1),38个亚健康公司样本(类别标签为2),48个困境公司样本(类别标签为3)。 将每个类别分成两组,重新组合数据,最后本文选择了150个样本作为训练集,用于训练SVM模型,选择了81个样本作为测试集,用于测试模型分类的准确率。
4.2.2.2数据归一化
在进行SVM模型训练之前一般需要对数据进行归一化预处理。 本文采用的归一化映射为:
式中,x,y∈Rn,xmin=min (x ) ,xmax=max (x ) ,yi∈[0,1],i= 1 ,2 , … ,n。
归一化的效果是将原始数据规整到[0,1]范围内。
4.2.2.3参数寻优
用SVM进行预测时,为了得到比较理想的预测效果,需要调整两个主要的参数(惩罚参数c和核函数参数g)。 本文选择K- CV方法来进行参数寻优,其基本思想是:将原始数据分成K组(一般是均分),将每个子集分别作一次验证集,同时其余的K- 组数据作为训练集,这样会得到K个模型,用这K个模型验证集的MSE(均方误差)的平均数作为此K-CV的性能指标。 在此基础上让c和g在一定的范围内变化, 对于取定的每一对c和g , 都将得到一个平均的MSE,最后选择使平均MSE最小的c和g。 经过Matlab编程运算,最后得到的最优参数为:c=1,g=3.031 4 。
4.2.2.4训练并对训练集回归预测
最优参数确定以后,利用这两个参数来训练模型,并对训练集进行回归预测。 该模型的相关性能指标为:
MSE = 0.044 546 R2= 0.729 932
式中,MSE为均方误差,R为相关系数。
4.2.2.5变量筛选
对于训练集数据运用MIV方法分别求出各自变量的MIV值,结果如表3所示。 考虑到指标的完整性和全面性,本文选取每个类别中MIV绝对值最大的指标作为输入变量, 即成本费用利润率、资产负债率、总资产周转率、净利润增长率、总资产现金回收率和每股收益作为输入变量。
4.3模型建立
模型建立首先需要从原始数据中把训练集和测试集提取出来,然后进行一定的预处理,再通过交叉验证选择最佳参数c和g,用训练集对SVM进行训练,最后用得到的模型来预测测试集的分类标签,得到分类准确率。
4.3.1交叉验证选择最佳参数c和g
训练集和测试集的选取以及数据的归一化已经在前面的变量筛选中介绍过了,这里直接介绍最佳参数的选择。
用SVM进行分类预测时,为了得到比较理想的预测效果,需要调整两个主要的参数(惩罚参数c和核函数参数g)。 这里仍然使用前面介绍过的K-CV方法, 其基本思想和SVM回归时参数寻优是一样的, 只不过SVM分类的性能指标是分类准确率的平均数而不是MSE, 所以最终选择使得分类准确率最高的那组和g作为最佳参数。 经过Matlab编程运算,最后得到的最优参数为:c=102 4,g=1。
4.3.2训练与预测
将筛选出来的6个财务指标作为输入变量, 分类标签作为输出变量, 选择150个训练集数据利用最佳参数训练SVM模型,用81个测试集数据验证模型的分类准确率,最终预测结果见表4。
*State 1表示财务健康,State 2表示财务亚健康,State 3表示财务困境。
从表4可以看出,在变量筛选的基础上,SVM模型的预测准确率是非常高的, 一方面说明了MIV方法在变量筛选上的可行性和有效性,另一方面也说明了SVM的高泛化能力,即不仅对于训练集数据能得到较高的分类准确率, 对于预测集数据同样能取得非常好的预测效果。
5结论
多SVM 篇4
关键词:多标签SVM主动学习,不均衡数据集,偏侧分类间隔,选择策略
传统的分类问题都假设一个样本对应唯一标签,关注重点是单标签分类问题。但是由于客观事物的复杂性,一个样本同时拥有多个标签的情况更加普遍,对分类问题来说,这就是多标签分类学习问题。多标签学习应用领域相当广泛,包括文本分类,图像识别,基因检测等。文本数据的分类在多标签分类中最具影响力,例如文档和网页,常常被标记为多个主题。为了得到一个性能良好的分类器需要大量的训练样本,文本分类问题中,有大量可用的未带标签样本,从中选取样本标记,这是一个十分消耗资源的过程,为了尽可能利用小的训练样本集,训练出一个高精度的分类器,需要选择非常典型的,富含信息量的样本来进行标记,然后加入训练集训练分类器。
多标签文本分类学习框架中,建立初始的分类器模型后,通过采用某种样本选择策略,迭代地选择一些最有价值的样本加入训练样本集,进行学习。即在训练分类器过程中,引入主动学习。主动学习算法能够自动的选择最有价值的样本进行标记,相比较随机选取样本进行标记,能够大大削减标记样本的工作,同时在较小代价下,极大的改善分类器模型的精度。
目前针对多标签Support Vector Machine(SVM)分类器的主动学习方法,已提出了一些训练样本的选择策略。Brinker[1]所提的选择策略依据样本加入后计算分类器中支持向量机输出的绝对值,值越小代表版本空间进行削减的程度越小。Li[2]通过计算未标记样本集中每个样本的损失值,选择损失值最大的样本进行评价。Singh[3]利用后验概率来计算分类器对未带标签的样本的置信度,进行最不确定抽样。
已有的多标签SVM分类方法在训练SVM分类器时,大部分选择1-a-r组合的SVM二值分类器模型[10],此时,数据集不均衡是客观存在的,但是已有的多标签SVM主动学习算法并没有区分正类和负类对训练分类器的影响,为了解决SVM主动学习对不均衡数据集学习效率低下问题,该文提出一种基于偏侧分类间隔的样本选择策略,通过计算分类间隔中未带标签样本到分类超平面的距离,尽量选择样本数量偏少的,靠近正类的分类超平面一侧中间的样本点作为最“有用”的样本,加入训练样本集,重新训练分类器,以最小代价对分类间隔进行最大程度削减,快速提高分类器模型精度。
1 相关知识
1.1 支持向量机
支持向量机的学习方法建立在VC维理论和结构风险最小化的基础上,它在有限个训练样本的学习精度和泛化能力之间有一个比较好的平衡,从而获得了较好的推广[4]。实际的分类问题中,很多都不能用线性函数来表示,而SVM较强的非线性处理能力能够解决处理高维数据时的“维数灾难”等实际问题。
SVM学习的关键在于寻找一个最优分类超平面,使得离超平面比较近的点有更大的间距,即是用训练样本集学习一个具有最优分类间隔的分类模型。SVM中线性判别函数f(x)=w×x+b,将判别函数归一化,使两类样本都满足,则离分类面最近的样本,此时分类间隔等于,使此间隔最大等价于使最小。要求分类面对所有样本正确分类,必须满足:
即通过计算的最小值来构造最优超平面,最优超平面的权系数向量为训练集中向量的线性组合:
只有向量线性约束式前面的系数ai>0时,样本对训练分类模型起作用,即是支持向量,分类函数表示为:
对于线性不可分的情况,SVM引入核函数K(xi,x),可将原始空间中线性不可分的输入向量ix映射到一个线性可分的高维的特征空间F,在这个空间中构造最优分类超平面,分类函数表示为:
1.2 多标签分类
多标签文本分类的任务是自动的把样本划分到一个或多个预先定义好的类别当中。给定训练样本集x1,x2,(43),xn和m个类别(1,2,(43),m)。用一个标签集合Yi=éëyi1,(43),yimùû,yijÎ{-1,1}表示样本ix所属的类别,当iyj=1时,表示样本ix属于类别j。在多标签分类问题中,通常会将多标签问题降解成多类分类问题。同时,考虑到SVM作为经典的二值分类器,在文本分类问题当中有着优越的表现,多标签文本分类当中,采用SVM作为基准分类器。针对多类分类问题,可采用1-a-1或1-a-r方法组合二值分类器。尽管1-a-1的SVM二值分类器有更高的精度,但是需要训练m(m-1)/2个分类器,随着样本数量的增加,训练和分类速度较慢,很少被采用。采用1-a-r的SVM分类器,数据集不均衡问题较为突出,为了解决1-a-r方法中类别样本数量不对称,主动学习选择策略效率不高的问题,在SVM主动学习的过程中引入类别隶属函数。
1.3 主动学习
Pool-Based的主动学习,水池中均是未被标记的样本,从中选取一个最有价值的未标记样本。假定L=((x 1,y 1),(43)(x l,y l))是初始已标记好的样本,而U={xl+1,(43),xn}是n-l个未标记样本。其中,ixÎRd说明ix是一个d维的向量。多标签文本分类中主动学习的目的就是从U中挑选出最有价值的样本ix进行标记,然后加入训练集,能够有效改善分类器的精度。表示为:
过程描述如下:在初始状态时,由训练集L得到多标签分类器f,根据某个选择策略选择最有价值的样本ix,对ix进行标记之后,加入L后得一个新的标记样本集,同时从未标记样本集U中除去被选择的样本,,然后根据条件循环得到新的未标记样本集,这样的过程进行迭代,直到满足停止(收敛)条件。
2 基于偏侧分类间隔的SVM主动学习算法
传统SVM主动学习采用平分整个版本空间的选择策略,尽量选取能够平分版本空间的一些样本点。由训练样本集L和核函数K,可以得到在特征空间中有一系列的分割平面,称这一系列一致性假设为版本空间[10]。用公式表示为:
为了最快地降低版本空间的大小,每次选择那些尽可能平分版本空间的样本,但这种方法具有较慢的收敛速度,文献[5]提出了一种平均版本空间的方法,每次选择的样本能最小化版本空间的大小。因为要对每个未知样本严格区分正类和负类,再加入到训练集中训练后得到近似的版本空间大小,且要训练2次才能得到平均版本空间,计算量大,难以应用到多标签的情况。文献[1]提出了一种针对多标签分类的样本选择策略BinMin-Active strategy,最优样本的选择策略依据arg mxin i=m1,i(43),nkfi(x),依据最不确定选择策略,每次选择离超平面最近的样本点做为“最优”样本加入训练集,这种方法不能充分利用样本的标签的信息,处在超平面的不同侧的样本对提升分类器的性能影响是不一样的。文献[2]提出也是一种针对多标签分类的SVM主动学习选择策略Mean Max Loss(MML),选择那些能够最大程度的削减分类器期望损失的样本。
1-a-r的SVM分类器,训练样本中类别的样本数量不对称,在允许训练误差的SVM学习时,分类超平面会向间隔区域中样本数量较少的类别的方向偏移。因此,SVM在对不均衡数据进行分类时,样本数少的类别中样本被错分的比例要比样本数大的类中样本被错分的比例大。此时若在基于不确定策略,如BinMin-Active strategy,选择离超平面距离最近的样本进行标记,错分的可能性就会变大。这些问题都可能会导致在主动学习过程中,分类器的性能出现停滞的情况。
基于以上分析,该文提出一种基于偏侧分类间隔的主动学习算法。假设训练样本中负类的数量比正类的数量多,且差距较大。
首先给定一个基于分类间隔的目标函数如下:
在SVM主动学习算法中,初始状态下,训练样本集是十分有限的,初始训练的分类器模型,分类间隔中一定存在数量较多的未带类别标注的样本,从中选择样本加入训练样本集,对于提升分类器性能很有帮助,选择靠近正类分类间隔一侧中间的样本,公式表示如下:
简化如下:
上面这个学习框架的结果能够近似代表在分类间隔中位于分类超平面两侧中间的样本点。但是在测试样本集中类别间的样本数量不对称,已有的SVM分类器对不均衡数据集学习能力较差,导致主动学习算法在选择过程中效率较低。因此,在SVM主动学习算法的基础上引入类别隶属函数,在选择过程中,尽量使得测试集中样本数量较少的类别的样本被分类器所接受。即:
由于在训练SVM二分类器时,我们所用到的测试集中负类样本一定是多于正类的,在这个基础为了更有效率的进行学习,在1-yj f*(x j)>0的情况下,加入隶属函数u(x j),尽量选择靠近正类的分类超平面一侧分类间隔中位于中间的样本点进行标记,训练分类器,以期能够快速提高分类器精度,基于以上的分析,提出一种选择侧略,基于偏向分类间隔的样本选择策略:
3 实验结果分析
为了测试基于偏侧分类间隔SVM主动学习的性能,我们在台湾大学林智仁教授处理的多标签基准数据基上进行实验。该数据集总共6个标签,294个特征向量,1211个训练样本,1196个测试样本。
分类器的性能评价指标选取针对多标签学习的Average precision和Hamming Loss。对比3种SVM主动学习方法Mean OneMargin,BinMin,Mean Max Loss。
实验中,我们随机选择200个样本作为初始训练样本集,训练分类器,主动学习每次迭代的从池中选择50个样本,加入训练样本集,选择500个样本数目后,主动学习停止。
初始训练集仍为200个随机选择的样本,但是降低每次迭代选择的样本数至20个,选择500个样本数后,主动学习停止。
从图1、2中可以看出,该文提出的基于偏侧分类间隔的SVM主动学习方法优于其他两种SVM主动学习方法(BinMin和Mean Max Loss),跟每次迭代选择的样本的数量无关。
我们也实验了每次迭代选择的样本数量对主动学习性能的影响,样本数量分别为20,50,100。
我们看到随着选择样本量的增加,分类器性能有提高,但改善的程度有限,在迭代样本数量上不必设置太小值,否则过多消耗分类器训练时间。
4 结束语
多标签文本分类中,为了得到一个性能良好的分类器,需要标记大量的训练样本,但是标记样本的工作十分耗费资源。为了削减标记样本的工作,同时针对不均衡数据集学习效率低下,该文提出一种基于偏侧分类间隔的主动学习策略,在初始训练集有限的条件下,选择最有“价值”的测试样本,加入训练集,让分类器学习,以期快速提高分类器精度。实验证明,该文提出的方法优于其他两种主动学习方法的选择策略。
但该文的方法是在负类样本的数量远大于正类样本的数量这一前提下提出的,样本数量总体较少的情况下,或是样本类别数相当少,负类样本和正类样的作用基本一样,此时,若再弱化负类样本的作用,可能会导致分类器错分的概率大大增加。
参考文献
[1]Brinker K.On Active Learning in Multi-labe Classification[M].Spiliopoulou M.FromData and Information Analysis to Knowledge Engineer ing:part 6.Heidelberg,Berlin:Springer,2006:206-213.
[2]Xuchun Li,Wang Lei,Sung E.Multi-label SVM Active Learning for Image Classification[C].PISCATAWAY NJ.Proc of 2004 InternationalConference on Image Processing.Singapore:IEEE,2004:2207-2210.
[3]Singh M,Curran E,Cunningham P.Active learning for multi-label image annotation:report of AISC 2008[R].Ireland:2008.
[4]Vapnik V,Levin E,Le C.Y.Measuring the VC-Dinmension of a Learning Machine[J].Neural Computation,1994,(6):851-876.
多SVM 篇5
一般情况下, 拖拉机齿轮箱故障发生率占除发动机故障以外其它故障的50%~70%, 研究和探索拖拉机齿轮箱故障的机理、模式以及诊断方法对拖拉机整机的使用与维护都有着重要意义。齿轮箱由齿轮副、轴、轴承、箱体、润滑油等组成, 故障大多出现在齿轮箱及传动轴等机械传动系。目前对其诊断方法的研究主要集中在以下几个方面:振动噪声诊断方法[1]、红外热成像法[2]和油液诊断法等[3]。
实际上, 在故障诊断中, 仅仅知道被诊断对象是否发生故障是不够的, 还必须知道诊断对象的具体的故障模式, 这就涉及到多类分类问题。由于支持向量机 (Support Vector Machine, SVM) 能在非常有限的样本情况下具有较好的分类推广能力, 所以近年来它在故障领域成为一个非常活跃的研究方向。目前, 就SVM解决多类分类问题已经提出了多种方法, 主要方法有:“一类对余类算法”“成对分类算法”“二叉树多类分类算法”等。通常在用SVMs解决故障诊断的问题中, 只是针对多类故障单独出现的情景, 而当多类故障同时出现时, 往往会出现漏诊的情况, 使得多类故障同时出现的情况成为盲区。
针对多类故障同时出现这种情况, 本文提出把同时发生的2个故障看作第3种故障, 再通过SVM多类分类方法进行故障识别的解决方法。同时, 针对拖拉机齿轮箱故障诊断进行了仿真试验, 证实了本文方法的有效性。
1 SVM分类原理[4]
支持向量机 (SVM) 是在统计学习理论的基础上发展起来的新一代学习算法, 它能根据有限的样本信息在模型的复杂性 (即对特定训练样本的学习精度) 和学习能力 (即无错误地识别任意样本的能力) 之间寻求最佳折衷, 以期获得最好的推广能力。
给定一组训练数据{ (x1, y1) , …, (xl, yl) }, xi∈Rn, yi∈{-1, 1}。 其中, i=1, …, l。对于线性可分数据, 我们总可以用一个分类超平面f (x) =0将数据分开, 即
向量w和b决定了分类超平面的位置。分类超平面必须满足, 即
把分类间隔
当数据为线性不可分时, 我们一方面引进松弛变量ζ= (ζ1, …, ζl) T而放松约束。另一方面使输入空间Rn变换到Hilbert空间, 即
训练集T={ (x1, y1) , …, (xl, yl) }映射为
此时约束方程 (2) 变成
而在目标中, 加入惩罚项。其中, C>0是一个惩罚参数。利用Lagrange优化方法把上述最优分类问题转化成对偶问题为
其中, k[Φ (xi) , Φ (xj) ]是核函数, 常用的核函数有d阶多项式、 径向基函数、Sigmoid函数等。
最后分类超平面为:
其中, x为新输入特征数据。
2 SVM多类分类算法
SVM最初是用来解决2类分类问题提出的, 然而在故障诊断中, 仅仅知道诊断对象是否发生故障是不够的, 还必须知道诊断对象的具体的故障模式, 这就涉及到多类分类问题, 所以必须对SVM进行处理以解决故障诊断中的多类分类问题。目前, SVM解决多类分类问题的方法都是通过构造多个2类分类器并组合起来的多类分类方法[5,6] (以下简称SVMs) 。
通常用SVMs解决故障诊断问题中, 只是针对多类故障单独出现的情景[7] (如图1所示) , 而当多类故障同时出现时 (见图2) , 往往会出现漏诊的情况, 使得故障A和故障B交集的区域成为盲区。
本文思想是在故障A、故障B、故障A和故障B同时发生这3种情况的征兆不一样前提下, 把同时发生故障A与故障B看作是第3种故障, 即C=A∩B, (如图2所示) 。用正常、故障A、故障B、故障C (代表故障A与故障B同时发生) 4种状态的样本对SVMs进行训练, 使得SVMs对正常、故障A、故障B、故障C4种模式进行识别。
由于二叉树多类分类算法具有算法简单直观、重复训练样本少的优点, 所以这里我们用此算法对故障模式进行识别。
基于SVM二叉树多分类算法的故障诊断结构如图3所示。图3中, 基于输入样本中不同故障类型的特征, 用3个SVM识别诊断对象4种状态, 其中训练SVM1以识别诊断对象是处于正常状态还是故障状态, 当输入处于正常状态下的样本时, SVM1输出设定为“-1”, 否则为“+1”;训练SVM2以识别诊断对象是处于故障A状态还是其他故障状态, 当输入处于故障A状态的样本时, SVM2输出设定为“-1”, 否则为“+1”;训练SVM3以识别诊断对象是处于故障B状态还是故障C状态 (故障A、B混合状态) , 当输入处于故障B状态的样本时, SVM3输出设定为“-1”, 否则为“+1”。
3 SVMs在拖拉机齿轮箱故障诊断中的应用
这里以拖拉机齿轮箱为故障诊断对象, 依据文献[8], 齿轮箱常见故障有:齿轮、轴承、轴、箱体等其它故障, 它们的发生概率如表1所示。选取齿轮故障 (对应图3中的故障A) 、轴承故障 (对应图3中的故障B) 、齿轮故障与轴承故障混合故障 (对应图3中的故障C (A∩B) 3种情况进行分析。选择训练样本7个, 其中齿轮故障2个, 轴承故障2个, 齿轮故障与轴承故障混合故障3个。
选择训练样本外的10个样本 (全是故障样本) 进行测试。机器 (SVM2、SVM3) 的推广能力测试分类结果如表2所示。
这很好地说明了在故障A、故障B、故障A和故障B同时发生这3种情况的征兆不一样前提下, 可以把故障A和故障B看作第3种故障进行样本训练, 训练出来SVM与识别单独发生的故障的SVM具有相同的分类性能。
4 结论
本文提出了应用支持向量机多类分类方法解决多类故障同时出现情况, 把两种故障模式同时发生的情况看作第3种故障模式, 再用SVM二叉树多类分类算法进行分类, 避免了漏诊的情况。最后以拖拉机齿轮箱为例, 进行仿真试验, 结果令人满意。需要指出的是, 本文方法的前提是故障A、故障B、故障A和故障B同时发生这3种情况的征兆不一样, 因为SVM根据不同故障征兆来识别故障, 若其中有两种不同故障具有相同征兆, SVM将无法识别, 则本文提出的方法也将无法适用。
参考文献
[1]王萍辉.现场齿轮箱内齿轮故障的振动法诊断[J].长沙电力学院学报, 1999, 14 (1) :51-55.
[2]丁康, 李勇健, 王志杰.传动典型故障振动特征的提取与分析[C]/第/四届全国机械设备故障诊断学术会议论文集, 1994:593-600.
[3]李国华.机械故障诊断[M].北京:化学工业出版社, 1999:134-136.
[4]邓乃扬, 田英杰.数据挖掘中的新方法—支持向量机[M].北京:科学出版社, 2004.
[5]马笑潇, 黄席樾, 柴毅.基于SVM的二叉树多类分类算法及其在故障诊断中的应用[J].控制与决策, 2003, 18 (3) :272-276.
[6]王峰, 张雪英.基于支持向量机的乐音识别[J].微计算机信息, 2010 (1) :19-20.
[7]凌维业.基于粗集论和支持向量机提高诊断精度的理论与方法研究[D].南京:东南大学, 2003.
多SVM 篇6
武器装备预研项目是一个高度复杂的、开放的动态系统,具有高度的不确定性特征。本文重点探讨了武器装备预研项目研究范畴及特点,对全寿命周期内项目的风险因素进行识别。对现有风险预警模型进行了比较分析,针对现有研究模型的不足,将支持向量机(Support Vector Machine,SVM)算法应用于武器装备预研项目风险预警,并结合某军工企业进行了实证研究。
1武器装备预研项目风险识别
1.1武器装备预研项目研究范畴及特点分析
预研项目的立项是为了突破新型装备研究的关键技术难点,以验证新体制、新技术、新理论的可行性、实用性和经济性,降低型号研制的风险。在研究范畴上,预研项目主要分为基础研究、应用研究和先期技术验证等三个层次[1]。其中,基础研究是指进行新思想、新理论、新概念的探索,其主要研究成果形式一般为论文、著作、研究报告等;应用研究是指新技术在武器装备中应用的可行性和经济性分析,其主要研究成果形式一般为可行性分析报告、试验报告、原理样机等;先期技术验证是指在应用研究的基础上开展分系统、组件的设计、制造、仿真或调试,以验证技术的可行性,其主要研究成果形式一般为原型机、工艺流程、调试报告等。
基于对武器装备预研项目研究范畴的界定,可以判断其区别于一般型号类和批产类项目的特点,有助于认识其风险的本质来源。概括起来,武器装备预研项目的特点主要体现在:1探索性、创新性强。预先研究是探索未知的过程,是对基础科学原理进行探 索、军事应用潜力挖掘、技术方案设计以及试验验证的过程;2成熟度低、技术风险大。预研项目研究的范畴决定了其较低的技术成熟度等级,使预研项目面临较大的技术设计风险,存在失败的可能;3研制进度、成本控制难度大。预研项目由于其技术难度大、 涉及面广,在研制过程中经常容易出现拖期、变更调整的情况,从而对项目进度和成本的控制造成很大的影响。特别对于缺乏应用背景,或技术发展目标不够明确的预研项目,军方需求往往也随着项目的推进而发生研制内容的调整。
1.2全寿命周期内武器装备预研项目风险要素识别
风险贯穿于武器装备预研项目研制的全寿命周期。对风险进行预警管理,首先就要识别项目研制过程中的风险要素,对全寿命周期内可能的不确定因素进行归类、细化。运用专家调查法、头脑风暴法,在现有研究成果[2,3]基础上,结合武器装备预研项目研发范畴及特点,本文对全寿命周期内武器装备预研项目风险要素进行划分:
2风险预警模型的比较分析
在预警模型方面,风险预警方法主要分为定量、 定性两大类。常用的定性方法有专家调查法、头脑风暴法、层次分析 法 (Analytic Hierarchy Process, AHP)、多级模糊综合评判法[4]等。常用的定量方法有:Bayes法[5]、网络分析 法 (Analytic Network Process,ANP)、人工神经网络(ANN)法[6]等。虽然能够有效处理预警过程中的不肯定性和不精确性问题,但该方法缺乏自学习能力,有时很难摆脱评判过程中的随机性和参评人员主观上的不确定性及认识上的模糊性,所以预警结果往往带有一定的主观性。 基于贝叶斯分类的预警方法虽然为风险预警提供了一种新的思路,但是由于贝叶斯分类方法需要先验概率、条件概率或后验概率,而这些在实际的风险预警问题中都难以获得。而神经网络虽然能够解决具有高度复杂性的风险预警问题,并且具有很强的自学习和自适应能力,但仍然存在很多的问题。例如,神经网络作为非统计类方法,虽具备强大的非线性系统处理能力,但当网络输入端维数较高时,隐含规则呈几何级数增加,导致网络输入端节点单元数和隐含层数的确定缺乏理论依据[7];BP算法学习收敛速度较慢, 又容易陷入局部极小点,从而限制了神经网络方法在风险预警中的实际应用。
3基于多类SVM的武器装备预研项目风险预警
对于武器装备预研项目风险预警问题,通常预警警度分为:无警、轻警、中警、重警和巨警等五个级别, 这显然是一个多类模式分类问题。而标准的SVM是用于解决两类分类问题,不能直接用于多类分类。 但目前已有多种有效的方法将SVM推广至多类分类问题。 其中典型 的方法有:一对多 (one against all,1-a-a)算法、一对一(one against one,1-a1)算法以及有向无环图SVM(direct acyclic graph, DAGSVM)。尽管不同的方法皆有其利弊,但根据文献[8]的结论(1-a-1和DAGSVM在实际应用中更具优势),本文选取1-a-1方法对SVM进行多类扩展。
1-a-1方法对任意2个不同的类构造一个两类分类器。因此对于一个k类问题,训练阶段需要构造Ck2=k(k-1)/2个两类分类器,每个分类器任取2个类别的数据进行训练。则对于从第i类和第j类之间的数据训练,需要解决下属分类问题:
在测试阶段有多种方法确定样本类别归属,最为常用的方法 为投票法 (Voting Strategy),即:如果sign((wij)Tφ(x)+bij)结果显示x属于第i类,则给第i类投上一票,否则给第j类记上一票。最后得票最多的类就是该未知样本的所属类。
多类SVM的另一个重要问题就是如何选择适合的参数值使得多类SVM模型具有最佳的分类预警预测性能。对参数的优化是提高多类SVM风险预警模型预测精确度的关键。
RBF核函数可以将样本非线性地映射到更高维的属性空间,而线性核函数无法完成。另外,线性核函数也可以认为是RBF的特例。此外,与多项式核函数相比,RBF核函数只有较少的参数参与运算,减少了模型选择的复杂性[9]。因此本文选择RBF函数作为核函数。这样在应用多类SVM前须事先确定两个重要参数:惩罚参数C和RBF核函数参数γ。其中,C控制对错分样本惩罚的程度,如果C值过小会对训练数据造成欠学习现象(无法正确分类),C值过大则容易对训练数据造成过学习现象而导致泛化性能恶化(推广能力差)。RBF核函数参数γ 则主要影响支持向量的数目。
多类SVM参数 (C,γ)的优化是一个复杂的过程,目前较优 秀的方法 为基于交 叉验证 (k-flod Cross Validation)的网格搜索技术。k-折交叉验证是评估分类算法准确率达一种方法,其中k为分组数。如k=4就是拆分为4组,先用(1,2,3)来训练分类器并预测4以得到正确率,接着用(1,2,4)来训练分类器并预测3以得到正确率,其他以此类推。则进行k次交叉验证后,将这k次的测试结果取平均值作为 (C,γ)的指标——— 准确率(Cross Validation Accuracy)。
基于交叉验证网格搜索技术过程可表述为:
Step1:生成合适的参数对 (C,γ)。按照指数增长方式生成两种参数集,比如C =2-5,2-3,…,215,γ = 2-15,2-13,…,23。由于每一个参数对 (C,γ)都是独立的,可以并行进行网格搜索。
Step2:应用网格搜索法选择一个参数对 (C,γ), 用该参数对进行交叉验证,并记录本次交叉验证的准确率。
Step3:重复Step2直至网格搜索完毕。
Step4:根据设定的分类精度选择最优的参数对 (C,γ)值。
4实证研究
4.1指标选取与样本选择
选取技术风险、外部需求风险、进度风险、成本风险以及管理风险包含的14个影响因素作为武器装备预研项目风险预警指标,分别记为x1,x2,…,x14。本文先运用头脑风暴法对武器装备预研项目进行风险评价,将得到的158个评价结果作为多类SVM预警的样本集。依据表2对样本的警度与风险水平进行映射。
对158个样本进行分类,取132个作为训练样本而取另26个样本进行多类SVM测试精度检验。
4.2样本数据预处理
对样本数据进行预处理主要是指对数据进行缩放处理,其目的指标特征值范围差异较大问题,同时也可避免核函数内积计算困难问题。通常将数据(指标x而非类别标识y)缩放至[-1,1]或[0,1]之间。 具体方法如下:
则预处理后的样本数据如表3所示(本文将样本数据缩放至[-1,1])。
4.3多类SVM模型参数优化
选用径向基函数RBF作为核函数,采用基于交叉验证的网格搜索技术进行参数对 (C,γ)的优化。 经过上述步 骤得到的 最优参数:C = 512.0,γ = 0.0078125,CV rate =98.4848%
训练后的多类SVM模型可用表4表示。
以另26个样本检测构建的SVM的预测精度为84.6154%(22/26),结果如图1所示。
4.4预警结果分析
现邀请由科学技术委员会、所外专家组成的决策团队对5个预研项目进行风险评估,结果见表5。依据表5实例数据,输入构建的多类SVM模型,则输出结果如下。
根据上述结果可知,S1、S3以及S5的风险警度都较高,从具体风险指标评价值也可以反映这点,而S2和S4警度较低。决策者应该根据警度提示,进一步采取必要的风险控制措施,使风险的影响程度降到最低。
5结论
多SVM 篇7
1 多传感器信息融合
多传感器信息融合是将多个传感器分布在设备不同的关键节点上, 综合分析各个传感器所反馈的数据, 得出结论[3]。通过分析各个传感器所提供的冗余信息, 可提高整个诊断系统的可靠性, 且信息之间的互补性可以使单个传感器的工作性能得到很好的扩展[4]。传感器采集到的原始信息经过预处理直接进入信息融合, 通常用于规模较小的融合系统。
常用的融合方法有加权平均, 贝叶斯估计, 证据理论, 神经网络。而SVM的优化原则为结构风险最小化原则, 对于小样本事件的预测方面比较适合, 常用来预测时变非线性系统。
2 支持向量机
SVM是建立在统计学习理论的VC维理论和结构风险最小化原理基础上, 针对有限的样本信息, 考虑了模型的复杂性以及学习能力, 在二者之间寻求最佳, 以期获得最好的推广能力。
基于SVM的故障诊断步骤如下:
1) 通过对已知状态的数据采集, 得到SVM模型的训练样本, 利用训练样本对SVM模型进行训练, 计算SVM模型参数, 构建SVM故障诊断模型。
2) 通过已知状态的特征样本找到训练样本支持向量, 计算最优分类超平面。
3) 将对未知状态所采集的数据, 送入SVM模型, 通过决策函数, 计算决策值, 根据决策值正负, 判断故障分类。
对n个类别构造n (n-1) /2个超平面, 每个类别之间构造决策函数, 每个决策函数训练样本相关类为两个, 则:
决策函数为:
分类时采用投票法, 得票最多的故障类为样本点的故障类。
在本文中, 对决策模型进行进一步改进, 基于决策值大小得到样本属于各分类的概率, 一次作为融合理论的基础。
对于SVM后验概率计算分类概率, 对于小样本处理, 当样本数量小于一定数值时, 计算精度限制很大, 对于分类计算的概率几乎相等, 很难判断, 因此本文提出一种新的计算分类概率方法, 从支持向量机的计算决策值出发, 计算待测样本属于各分类的分类概率。
对于一对一方法理论的分析中, 将所有分类两两之间建立分类器。若存在k个分类, 则需构造个子分类器。设在子分类器Xij中, 通过支持向量机计算样本属于分类Ai和Aj的决策值, 若决策值为正, 则属于分类Ai, 投票给分类Ai;若决策值为负, 则属于分类Aj, 投票给分类Aj。经过所有子分类器以后, 计算所有分类所得票数, 票数最多的分类为最终预测分类。
在SVM概率计算模型中, 决策值大小与所属分类概率呈正比, 即:决策值绝对值越大, 则认为属于相应分类的概率越大。
其中一对一多类分类方法中, SVM分类器决策值计算方法为:
因此在计算决策票数的同时, 累计各分类决策值大小, 以决策值绝对值之和最大的分类, 作为最终预测分类, 通过决策值绝对值来计算分类概率。
得到初步模型如下:
其中:d (Ai) 为子分类器判决为分类Ai的决策值, ∑|d (x) |为所有子分类器所有决策值绝对值之和。
结合常规SVM投票机制, 将投票作为决策值的权值, 完善计算模型。
综上所述, 基于决策值的分类概率计算模型如下:
若共有k个分类, 在个子分类器中, 每个子分类器投给分类Ai的票数为Ni, 对应投票依据的决策值为d (Ai) , 则测试样本属于分类Ai的概率pi为:
其中K为子分类器总个数
此方法可解决投票相同无法判决的问题, 同时解决了小样本后验概率计算误差较大的问题。此方法是经过常规SVM分类器计算得到的结果, 因此对于小样本分类结果正确率有所保障, 且能计算出合理的属于各分类的分类概率, 便于D-S证据理论的融合处理。
3 DS证据理论
证据理论是一种不确定性推理方法。证据理论在识别框架的幂集上建立基本概率指派函数, 从不确定的初始信息出发, 利用Dempster组合规则推断出具有合理性的结果, 做出最后决策。
数学模型如下:
1) 首先应该确定命题的识别框架Θ。
2) 建立一个基本信任程度的初始分配, 即确定证据对每个命题集合的支持。
3) 计算所有命题的信任程度。一个命题的信任程度等于证据对该命题的所有前提本身提供的支持度总和。
在命题A的一个识别框架Θ中, 有集函数m:2Θ→[0, 1], 满足:
则称m (A) 为A在框架Θ上的mass函数, 也称为基本概率分配 (BPA) , 表示对A的精确信任程度。
设m1, m2, …, mn是同一个识别框架Θ上的基本可信度分配, 合成mass函数m:2Θ→[0, 1]:
其中:Ai、Bj、Ck、…是焦元。
利用上一节支持向量机概率计算模型, 计算得出样本属于各分类的概率, 以此概率作为计算可信度。
4实验及实验分析
实验对象为齿轮箱, 常见故障f1磨损, f2偏心, f3不同轴, f4局部异常。则识别框架为Θ={f1, f2, f3, f4, n}, 其中n为正常。通过振动传感器和压力传感器两种传感器得到数据, 并对数据进行预处理, 组成样本, 将样本分为训练集和测试集。分别构建模型, 计算分类, 决策结果如以下各表。
单一振动传感器得到诊断结果。
实验结果分析可知, 两种单一传感器所得数据判断结果中, 均存在不确定分类, 即使得出正确分类结果, 其判断概率也较低, 容易被噪声干扰。而经过融合算法以后, 所有故障类型, 均可得到确定结果, 且分类判断概率在90%左右。综上所述, 多传感器信息融合结果优于单传感器, 并且可信度和准确性都有所提高。
5 结束语
本文提出了基于决策值的SVM分类概率计算模型, 将分类概率模型与DS证据理论结合, 提出基于SVM和DS证据理论的故障诊断方法, 通过实验分析, 基于SVM和DS证据理论的多传感器数据融合的故障诊断方法比传统单一传感器的故障诊断具有更高的准确性, 更低的不确定性。
参考文献
[1]谭逢友, 卢宏伟, 刘成俊.信息融合技术在机械故障诊断中的应用[J].重庆大学学报 (自然科学版) , 2006 (1) :15-18.
[2]Sashikala Mishra, Sunita Patel, Kailash Shaw, Debahuti Mishra.A Classifier Fusion Approach for Microarray Data Set[J].Procedia Engineering, 2012 (38) :1050-1054.
[3]杨勃, 卜英勇, 黄剑飞.多核信息融合模型及其应用[J].仪器仪表学报, 2010 (31) :248-251.
【多SVM】推荐阅读: