一种基于马氏抽样生成Lagrangian支持向量机的方法、系统及装置与流程

文档序号:18465237发布日期:2019-08-17 02:23阅读:381来源:国知局
一种基于马氏抽样生成Lagrangian支持向量机的方法、系统及装置与流程

本发明涉及人工智能领域,尤其是markovchain抽样方法和支持向量机,更具体的是一种基于马氏抽样生成lagrangian支持向量机的方法、系统及装置。



背景技术:

由vapnik提出的支持向量机(svm)是一种非常高效和普遍的算法,它不仅在一致性和学习率上有着极佳的理论性质,而且有着极好的实践应用能力。对于分类数据,支持向量机算法基于最大化间隔思想,构建一个线性或非线性的分界面,从而实现了分类。然而,支持向量机的算法复杂度近似为o(n3),其中n为样本容量,特别当n≥1000时,该算法复杂度高、计算时间较长、泛化性能不够强且难于应用。



技术实现要素:

本发明所要解决的技术问题是提供一种基于马氏抽样生成lagrangian支持向量机的方法、系统及装置,可以解决传统的lagrangian支持向量机算法复杂度高,计算时间较长,泛化性能不够强且难于应用的问题。

本发明解决上述技术问题的技术方案如下:一种基于马氏抽样生成lagrangian支持向量机的方法,包括以下步骤,

s1,获取训练集dtrain,并从所述训练集dtrain中随机抽取出初始样本集diid;

s2,利用所述初始样本集diid初始化lagrangian支持向量机,得到模型f0;

s3,利用所述模型f0在所述训练集dtrain中进行马氏抽样,得到马氏样本集dmar,并由所述马氏样本集dmar构建lagrangian支持向量机,得到模型f1;

s4,将所述模型f1替代所述模型f0,重复执行所述s3,并进行迭代更新,直至满足预设迭代更新终止条件,产生lagrangian支持向量机的最终模型fk。

本发明的有益效果是:本发明一种基于马氏抽样生成lagrangian支持向量机的方法,利用马氏抽样抽取较少的训练样本进行建模,来降低模型的复杂度和减少计算时间;通过不断的迭代更新,调整各个支持向量机之间的权重,获得最佳的lagrangian支持向量机模型;lagrangian支持向量机综合考虑斜率ω和截距b对分离超平面的影响,利用l2正则化项来提高模型的稳定性和泛化能力,易于应用。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,设所述训练集dtrain由n个样本组成,所述s1具体为,从所述训练集dtrain中随机抽取出n个样本组成所述初始样本集diid,且所述初始样本集diid中的样本是独立同分布的,n=(k+1)n,k为预设常数,且k∈n+

进一步,所述s2具体为,

s21,将所述初始样本集diid的特征集和标签集分开,并作数据处理,得出与所述初始样本集diid的特征集和标签集相关联的矩阵q,

设所述初始样本集diid的特征集为(x1,x2,...,xn),所述初始样本集diid的标签集为(y1,y2,...,yn);

令a=(x1,x2,...,xn)′,d=diag(y1,y2,...,yn),则通过公式计算出所述矩阵q;

其中,h=d[a-e],e=(1,1,...,1)′,且(1,1,...,1)的列数为n,i为单位矩阵,v为lagrangian支持向量机的初始化的正则项常数,且v>0;

s22,选取第一核函数,基于所述第一核函数计算所述矩阵q的逆;

当选取的所述第一核函数为线性核函数k(s,t)=st时,则根据smw公式计算所述矩阵q的逆,且

当选取的所述第一核函数为非线性核函数k(g,g′)时,则利用所述第一核函数直接计算出所述矩阵q的逆,且q-1=(dk(g,g′)d+i/v)-1

s23,基于所述矩阵q和所述矩阵q的逆,利用第一公式对lagrangian支持向量机的原始表达式的对偶表达式进行迭代计算,得出lagrangian支持向量机的原始表达式的对偶表达式的解;

所述第一公式为,ui+1=q-1(e+((qui-e)-αui)+),i=0,1,...,

初始化u,且令u0=q-1e,当迭代次数超出预设的最大迭代次数imax或||ui+1-ui||≤tol时,则停止迭代,输出u,

其中,α为初始化值,且(v)+表示向量η的投影,tol为lagrangian支持向量机的初始化容忍误差,u为lagrangian支持向量机的原始表达式的对偶表达式的解;

s24,基于lagrangian支持向量机的原始表达式的对偶表达式的解,利用第二公式计算出lagrangian支持向量机的原始表达式的解;

所述第二公式为,

其中,lagrangian支持向量机的原始表达式的解为(ω,b);

s25,根据lagrangian支持向量机的原始表达式的解构建lagrangian支持向量机的初始模型f0,且f0(x)=x′ω-b。

进一步,所述s3具体为,

s31,定义一致遍历马氏链;

s32,从所述训练集dtrain中随机的且有放回的抽取一个样本zα;

s33,从所述训练集dtrain中随机的且有放回的抽取一个样本zβ,并根据lagrangian支持向量机的模型fi计算出δ,其中,δ=exp(l(fi,zα)-l(fi,zβ)),l()是lagrangian支持向量机的模型fi的损失函数,i=0,1,...,k-1;

s34,根据δ计算出lagrangian支持向量机的接受概率,并根据所述接受概率决定是否接受样本zβ存入所述一致遍历马氏链中;

若δ=1,yαyβ=1,则所述接受概率为p1=min{1,exp(yαfi-yβfi)},将样本zβ存入所述一致遍历马氏链中;

若δ=1,yαyβ=-1,或者仅有δ<1,则所述接受概率为p2=min{1,δ},将样本zβ存入所述一致遍历马氏链中;

若δ>1,则拒绝样本zβ,并返回执行所述s33;

若连续c个样本zβ被拒绝,则所述接受概率为p3=min{1,τδ},将第c个被拒绝的样本zβ存入所述一致遍历马氏链中;

其中,yα为样本zα的标签,yβ为样本zβ的标签;c、τ为预设常数;

s35,当接受样本zβ存入所述一致遍历马氏链中后,若所述一致遍历马氏链中的样本容量小于n时,则将接收的样本zβ作为样本zα,并返回循环执行所述s33和所述s34,直至所述一致遍历马氏链中的样本容量为n,即得到所述马氏样本集dmar;

s36,选取第二核函数,基于所述第二核函数,由lagrangian支持向量机训练所述马氏样本集dmar,得出lagrangian支持向量机的模型fi+1,i=0,1,...,k-1。

进一步,在所述s4中,如果1≤i<k,则lagrangian支持向量机的模型fi表示为,

其中,ψi为模型fi的权重,且ψi=1/21n[(1-λi)/λi],λi为模型fi的错分率,且λi=p(fi(xi)≠yi),p为所述接受概率,xi为样本zi的特征,yi为样本zi的标签。

进一步,还包括s5,

s5,根据lagrangian支持向量机的最终模型fk,输出lagrangian支持向量机的分类器sgn(fk)。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种基于马氏抽样生成lagrangian支持向量机的系统。

一种基于马氏抽样生成lagrangian支持向量机的系统,包括初始样本集抽取模块、初始模型生成模块、中间模型生成模块和迭代更新模块;

初始样本集抽取模块,其用于获取训练集dtrain,并从所述训练集dtrain中随机抽取出初始样本集diid;

初始模型生成模块,其用于利用所述初始样本集diid初始化lagrangian支持向量机,得到模型f0;

中间模型生成模块,其用于利用所述模型f0在所述训练集dtrain中进行马氏抽样,得到马氏样本集dmar,并由所述马氏样本集dmar构建lagrangian支持向量机,得到模型f1;

迭代更新模块,其用于将所述模型f1替代所述模型f0,控制所述中间模型生成模块重复执行,并进行迭代更新,直至满足预设迭代更新终止条件,产生lagrangian支持向量机的最终模型fk。

本发明的有益效果是:本发明一种基于马氏抽样生成lagrangian支持向量机的系统,利用马氏抽样抽取较少的训练样本进行建模,来降低模型的复杂度和减少计算时间;通过不断的迭代更新,调整各个支持向量机之间的权重,获得最佳的lagrangian支持向量机模型;lagrangian支持向量机综合考虑斜率ω和截距b对分离超平面的影响,利用l2正则化项来提高模型的稳定性和泛化能力,易于应用。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种基于马氏抽样生成lagrangian支持向量机的装置。

一种基于马氏抽样生成lagrangian支持向量机的装置,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现上述所述的方法步骤。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种计算机存储介质。

一种计算机存储介质,包括至少一个计算机指令,在所述计算机指令执行时实现上述所述的方法步骤。

附图说明

图1为本发明一种基于马氏抽样生成lagrangian支持向量机的方法的流程图;

图2为本发明一种基于马氏抽样生成lagrangian支持向量机的方法的原理图;

图3为本发明一种基于马氏抽样生成lagrangian支持向量机的系统的结构框图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1和图2所示,一种基于马氏抽样生成lagrangian支持向量机的方法,包括步骤s1~s4:

s1,获取训练集dtrain,并从所述训练集dtrain中随机抽取出初始样本集diid。

在所述s1中,假设训练集由n个样本组成,分别记为z1,z2,...,zn,每个样本zi=(xi,yi)是一个p+1维向量;其中,表示样本zi的特征,yi∈y={-1,1}表示样本zi的标签,并约定以+1表示样本zi属于正类,-1表示样本zi属于负类。

从所述训练集dtrain中随机抽取n个样本,组成初始样本集diid,其中diid的角标iid表示初始样本集diid中的样本是独立同分布(i.i.d.)的。在后续模型中,我们先给定k,且k∈n+,再由公式n=(k+1)n来确定n。

s2,利用所述初始样本集diid初始化lagrangian支持向量机,得到模型f0。

具体的,支持向量机(svm)是有监督问题中最常用的一种分类方法,其目标是求得分离超平面x′ω=b,在将样本点正确分类的基础上,最大化分离间隔。lagrangian支持向量机(lsvm),相对于标准的的支持向量机(svm),主要区别在于:i)考虑截距b对分离超平面位置的影响,用ω0=(ω,b)来代替斜率ω;ii)正则项中用l2范数代替l1范数。

基于软间隔最大化思想,可将lagrangian支持向量机的原始表达式表示为:

lagrangian支持向量机的原始表达式(即表达式(1))的对偶表达式为:

只须求lagrangian支持向量机的原始表达式的对偶表达式(即表达式(2))的解u,经第二公式联系,即可得lagrangian支持向量机的原始表达式的解(ω,b),所述第二公式为:

所述s2具体如下:

s21,将初始样本集diid中的特征集和标签集分开,并做数据预处理,得出与所述初始样本集diid的特征集和标签集相关联的矩阵q。具体的,设所述初始样本集diid的特征集为(x1,x2,...,xn),所述初始样本集diid的标签集为(y1,y2,...,yn);令a=(x1,x2,...,xn)′,d=diag(y1,y2,...,yn),则通过公式计算出所述矩阵q;

同时,设定lagrangian支持向量机的容忍误差tol、最大迭代次数imax和正则项常数v,且v>0。容忍误差tol和最大迭代次数imax决定了s23给出的迭代方法何时结束。

s22,选取第一核函数,基于所述第一核函数计算所述矩阵q的逆;

当选取的所述第一核函数为线性核函数k(s,t)=st时,smw(sherman-morrison-woodbury)公式可以将计算高维(n)矩阵的逆,转化为计算低维(p+1)矩阵的逆(p<<n),来提高计算速率;其中,smw公式计算所述矩阵q的逆的表达式为,

当选取的所述第一核函数为非线性核函数k(g,g′)时,因为不知道显式的映射函数,不能使用smw公式,但可利用所述第一核函数(非线性核函数)直接计算出所述矩阵q的逆,其中,非线性核函数直接计算所述矩阵q的逆的公式为,

q-1=(dk(g,g′)d+i/v)-1

s23,给出表达式(2)的求解方法:初始化α,lagrangian支持向量机是基于karush-kuhn-tucher(mangasarian,1994,ktp7.2.4,pare94)充要条件的。由该条件可导出如下第一公式:

ui+1=q-1(e+((qui-e)-αui)+),i=0,1,...,(4)

其中,为了满足算法的全局收敛性,须满足这里我们约定(η)+表示向量η的投影,其任意为负的分量皆投影为0,非负分量不变,即(η)+=(|η|+η)/2;

初始化u,且令u0=q-1e,根据第一公式迭代求解,得出新的u和i:ui←ui+1,i←i+1。

如果迭代已经达到满意的程度:||ui+1-ui||≤tol,或者超出最大迭代次数imax:i≥imax,则算法终止,输出u;否则继续更新u和i。

s24,根据s23求得的u,由第二公式(3)式求出lagrangian支持向量机的原始表达式的解(ω,b);

s25,根据lagrangian支持向量机的原始表达式的解构建lagrangian支持向量机的初始模型f0,且f0(x)=x′ω-b。

从上述步骤s2中可以看出,只要求解得向量(ω,b),则分类器和分界面可轻易表示出来,因此(ω,b)的求解至关重要。在后续模型中,我们用(ω,b)来指代lagrangian支持向量机的模型fi。

s3,利用所述模型f0在所述训练集dtrain中进行马氏抽样,得到马氏样本集dmar,并由所述马氏样本集dmar构建lagrangian支持向量机,得到模型f1。

所述s3具体为:

s31,定义一致遍历马氏链;

其中,马氏链(markovchain)是一列随机变量{st}t≥1,具有无后效性;一致遍历马氏链(uniformlyergodicmarkovchain)是具有一致遍历性的马氏链,即状态空间有限且转移概率恒为正;

s32,从所述训练集dtrain中随机的且有放回的抽取一个样本zα;

同时,在定义的所述一致遍历马氏链中,使n0=0,i=0,ni=ni+1,ni为所述一致遍历马氏链的样本容量;

s33,从所述训练集dtrain中随机的且有放回的抽取一个样本zβ,并根据lagrangian支持向量机的模型f1计算出δ,其中,δ=exp(l(fi,zα)-l(fi,zβ)),l()是lagrangian支持向量机的模型fi的损失函数,i=0,1,...,k-1;

s34,根据δ计算出lagrangian支持向量机的接受概率,并根据所述接受概率决定是否接受样本zβ存入所述一致遍历马氏链中;

若δ=1,yαyβ=1,则所述接受概率为p1=min{l,exp(yαfi-yβfi)},将样本zβ存入所述一致遍历马氏链中;

若δ=1,yαyβ=-1,或者仅有δ<1,则所述接受概率为p2=min{1,δ},将样本zβ存入所述一致遍历马氏链中;

若δ>1,则拒绝样本zβ,并返回执行所述s33;

若连续c个样本zβ被拒绝,则所述接受概率为p3=min{1,τδ},将第c个被拒绝的样本zβ存入所述一致遍历马氏链中;

其中,yα为样本zα的标签,yβ为样本zβ的标签;c、τ为预设常数;

s35,当接受样本zβ存入所述一致遍历马氏链中后,若所述一致遍历马氏链中的样本容量小于n时,则将接收的样本zβ作为样本zα,并返回循环执行所述s33和所述s34,直至所述一致遍历马氏链中的样本容量为n,即得到所述马氏样本集dmar;

即:当接受样本zβ存入所述一致遍历马氏链中后,如果ni<n,更新样本zα和ni,zα←zβ,ni←ni+1,并返回循环执行所述s33和所述s34,直至ni=n;例如,在第i次抽样时接受样本zβ,如果ni<n,则继续进行第i+1次抽样,此时,将第i次抽样时接受的样本zβ作为第i+1次抽样过程中的样本zα,并执行循环执行所述s33和所述s34,直至ni=n;

其中,ni为所述一致遍历马氏链中的样本容量,所述马氏样本集dmar恰为一个一致遍历马氏链;

s36,选取第二核函数,基于所述第二核函数,由lagrangian支持向量机训练所述马氏样本集dmar,得出lagrangian支持向量机的模型fi+1,i=0,1,2,...,k-1;其中,选用的第二核函数是线性的,还是非线性的,决定了后续lagrangian支持向量机模型采取何种计算方法。

s4,将所述模型f1替代所述模型f0,重复执行所述s3,并进行迭代更新,直至满足预设迭代更新终止条件,产生lagrangian支持向量机的最终模型fk。

在所述s4中,如果1≤i<k,且使i←i+1进行迭代更新,则lagrangian支持向量机的模型fi表示为,

其中,ψi为模型fi的权重,且ψi=1/21n[(1-λi)/λi],λi为模型fi的错分率,且λi=p(fi(xi)≠yi),p为所述接受概率,xi为样本zi的特征,yi为样本zi的标签。每一次由fi-1和fi加权生成新模型fi后,就返回执行所述s32至所述s36;当生成加权后的模型fk-1后,返回循执行所述s32至所述s36,生成lagrangian支持向量机的最终模型fk,fk无需再进行加权更新。

本发明还包括步骤s5,

s5,根据lagrangian支持向量机的最终模型fk,输出lagrangian支持向量机的分类器sgn(fk)。分类器sgn(fk)可以实现模式识别问题中的分类。

由于该发明的核心是改善传统支持向量机利用信息不充分和算法复杂度高的问题,提升和改进支持向量机算法的性能,因此只要是基于马氏抽样的支持向量机方法能够处理的分类问题,本发明都是有效的。

在本发明中,采用马氏抽样方法,抽取较少的训练样本进行建模,来降低模型的复杂度。通过不断的迭代更新,调整各个支持向量机模型之间的权重,获得最佳的lagrangian支持向量机模型,以及相应的分类器。综合考虑斜率ω和截距b对分离超平面的影响,利用l2正则化项来提高模型的稳定性和泛化能力,易于应用。

本发明所提出的基于马氏抽样生成的lagrangian支持向量机模型提高了传统支持向量机的运行速率和泛化能力。本发明在各种公共数据集上做了验证,取得了很好的效果。

本发明提出了基于马氏抽样生成lagrangian支持向量机的方法,结果表明基于马氏抽样生成lagrangian支持向量机的方法优于其它的一些传统的支持向量机的生成方法,比如基于独立同分布样本生成lagrangian支持向量机的方法和基于马氏抽样生成支持向量机的方法。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种基于马氏抽样生成lagrangian支持向量机的系统。

如图3所示,一种基于马氏抽样生成lagrangian支持向量机的系统,包括初始样本集抽取模块、初始模型生成模块、中间模型生成模块和迭代更新模块;

初始样本集抽取模块,其用于获取训练集dtrain,并从所述训练集dtrain中随机抽取出初始样本集diid;

初始模型生成模块,其用于利用所述初始样本集diid初始化lagrangian支持向量机,得到模型f0;

中间模型生成模块,其用于利用所述模型f0在所述训练集dtrain中进行马氏抽样,得到马氏样本集dmar,并由所述马氏样本集dmar构建lagrangian支持向量机,得到模型f1;

迭代更新模块,其用于将所述模型f1替代所述模型f0,控制所述中间模型生成模块重复执行,并进行迭代更新,直至满足预设迭代更新终止条件,产生lagrangian支持向量机的最终模型fk。

本发明提供一种基于马氏抽样生成lagrangian支持向量机的系统,利用马氏抽样抽取较少的训练样本进行建模,来降低模型的复杂度和减少计算时间;通过不断的迭代更新,调整各个支持向量机之间的权重,获得最佳的lagrangian支持向量机模型;lagrangian支持向量机综合考虑斜率ω和截距b对分离超平面的影响,利用l2正则化项来提高模型的稳定性和泛化能力,易于应用。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种基于马氏抽样生成lagrangian支持向量机的装置。

一种基于马氏抽样生成lagrangian支持向量机的装置,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现上述所述的方法步骤。

基于上述一种基于马氏抽样生成lagrangian支持向量机的方法,本发明还提供一种计算机存储介质。

一种计算机存储介质,包括至少一个计算机指令,在所述计算机指令执行时实现上述所述的方法步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1