本发明涉及一种基于自适应粒子群的最小二乘支持向量机预测方法。
背景技术:
设训练集S={(xi,yi)|i=1,2,…,m},其中xi∈Rn和yi∈R分别为输入数据和输出数据,最小二乘支持向量机LS-SVM利用结构风险最小化——SRM准则构造最小化目标函数J(ω,e)及其约束条件如下:
s.t.yi=wTΦ(xi)+b+ei
其中,w为权重向量,γ为常数,b为常值偏差,ei为偏差。
为了求解上式的优化问题,转化为求解如下线性方程组:
其中,Q=yiyjΦ(xi)TΦ(xi)=yiyjK(xi,xj),K(xi,xj)是满足Mercer条件的核函数,I为单位矩阵,L=[1,1,…,1]∈Rm,α=[α1,α2,…,αm]T∈Rm,y=[y1,y2,…,ym]T∈Rm。则最小二乘支持向量机LS-SVM的分类决策函数为:
式中x为某样本,选取径向基函数为核函数:
K(x,xi)=exp(-||x-xi||2/2σ2) (4)
将方程改写为矩阵方程的形式,如下表示:
AX=z (5)
由式AX=z可知,最小二乘支持向量机LS-SVM算法是用最小二乘法来求解X,需要对A求逆。然而,对于实际工程的大规模问题,由于ATA维数较大,很难实现矩阵求逆的过程。因此,可以采用粒子群优化算法PSO迭代计算来求解矩阵方程。
粒子群优化算法PSO基本思想是通过群体中个体之间的协作和信息共享寻找最优解,即系统初始化一组随机粒子,然后通过迭代找到最优解,在每次迭代中,粒子通过跟踪两个“极值”更新自己,在找到这两个最优值后,粒子会调整其在每一维空间的速度并计算出其新的位置,粒子进化公式为:
其中,r1,r2∈U(0,1),表示粒子在第k次迭代的速度,表示粒子第k次迭代的位置,表示粒子在k次迭代过程中的个体极值;表示种群在k次迭代过程中目前的全局极值点,ω为惯性权重因子,常量c1,c2称为加速度因子。
从粒子群优化算法PSO的模型中可以看出,如果加速度因子c1,c2或者惯性权重因子ω取值较大,粒子群有可能错过最优解,导致算法不收敛,即使收敛,由于粒子的追踪是粒子群逐渐趋同的过程,所有粒子都趋向最优解,容易造成未成熟收敛,导致算法后期收敛速度减缓,精度也可能降低。
技术实现要素:
为了解决上述技术问题,将矩阵方程AX=z的最小二乘求解转化为采用自适应PSO算法来进行迭代求解。避免出现矩阵求逆,既保证了算法的收敛性,加快计算速度,又提高了求解精度。
本发明解决上述技术问题所采用的技术方案是:一种基于自适应粒子群的最小二乘支持向量机预测方法,包括如下步骤:
步骤一)采取调整惯性权重因子ω和增加约束因子α以及借助迁移学习的思想引入源域因子和目标域因子的措施,对基本PSO模型进行改进,得到改进的自适应PSO模型:
其中,ξq,ξq-1∈Rn,ξq成为目标域因子,ξq-1源域因子;特别的,当ξq-1=0时ξq=1,PSO是APSO算法的一种特殊情况,从心理学的角度看,利用源领域知识意味着粒子个体搜索经验的积累,有利于算法更快收敛;
步骤二)根据粒子适应度优劣调整惯性权重因子ω,即在算法初期,赋予ω一个较大的正值,以获得较好的全局搜索能力;而在算法后期,赋予ω一个较小的值,使算法更易于收敛;根据群体的收敛程度和个体适应值来动态调整ω,具体方法如下:
当f(xi)<f(pi)时,满足此条件的粒子时群体中的一般粒子,具有良好的全局寻优能力和局部寻优能力,惯性权重ω随着搜索的进行按如下公式变化:
其中,f(xi)为当前适应度;f(pi)为历史最好位置适应度;ωmax为搜索开始时最大的ω值,设为0.9;ωmin为搜索结束时最小的ω值,设为0.2;k位迭代所进行的步数;kmax为最大迭代次数;
当f(xi)<f(pg)时,满足此条件的粒子是群体中的较优粒子,已经比较接近全局最优,所以应赋予较小的惯性权重,以加速向全局最优收敛,惯性权重ω随着搜索的进行按如下公式变化:
其中,f(pg)为群体最好位置适应度;ωmin为搜索结束时最小的ω值,设为0.2,粒子适应值越好,其惯性权重越小,有利于局部寻优;
步骤三)基于自适应PSO模型的最小二乘支持向量机算法的流程如下:
Step 1:选择合适的训练样本和测试样本并进行预处理;
Step 2:初始化粒子群参数,包括微粒的速度和位置。设定粒子群参数,在空间Rn中随机产生m个粒子(x1,x2,…,xm)组成初始种群X(k);随机产生各粒子xi的初始速度(vi1,vi2,…,vim)组成速度矩阵V(k);每个粒子的个体最优值pi初始值为xi的初始值;
Step 3:用训练样本训练最小二乘支持向量机LS-SVM,计算每个粒子个体的适应值f(x),适应值函数为:
式中,xi为第i个样本的实际值,yi为第i个样本的预测值,l为测试样本个数,根据粒子的适应度值更新pid和pgd;
Step 4:对每个粒子,进行相应的比较
Step 4.1:比较当前适应度f(xi)和历史最好位置适应度f(pi),若f(xi)<f(pi)时,则pi=xi,并根据式调整ω;
Step 4.2:比较群体所有粒子当前适应度f(xi)和群体最好位置适应度f(pg),若f(xi)<f(pg)时,则pg=xi,并根据式调整ω;
Step 5:根据改进的PSO模型更新粒子的速度和位置,产生新种群X(k+1);
Step 6:判断速度向量是否满足约束条件-vmax≤vi≤vmax,若不满足则按照如下规则调整:
Step 7:判断适应度值是否满足要求或者是否达到最大迭代次数,若满足停止条件,则寻优结束,将全局最优粒子映射为优化的LS-SVM模型参数;否则k=k+1,转至Step3;
Step 8:利用训练样本数据和Step 7得出的参数对LS-SVM进行求解,得到矩阵方程的最小二乘解,即对应式中最优参数αi和b。
本发明的有益效果是:本发明解决了预测时特征维数较高、特征之间存在冗余且样本有限的问题。该方法根据群体的收敛程度和个体的适应值来调整惯性权重,加快训练速度,利用该算法迭代求解LS-SVM中出现的矩阵方程,避免矩阵求逆,节省内存,并求得最优解。该方法可以有效简化训练样本,提高训练速度,且分类精度良好,收敛速度快,有很好的泛化能力。
附图说明
附图1是基于自适应PSO模型的最小二乘支持向量机算法流程图。
附图2是C-SVM、LS-SVM、PSO-LSSVM和本发明的APSO-LSSVM数据样本测试的训练时间对比曲线图。
附图3是C-SVM、LS-SVM、PSO-LSSVM和本发明的APSO-LSSVM数据样本测试的测试时间对比曲线图。
附图4是C-SVM、LS-SVM、PSO-LSSVM和本发明的APSO-LSSVM数据样本测试的预测准确率对比曲线图。
具体实施方式
本发明的效果可以通过以下对煤自燃预测进一步说明:
煤自燃是一种非常复杂的物理化学过程,随着煤体氧化升温会释放出相应的指标气体,如CO、CO2、CH4、C2H6、C2H4、C2H2、N2等,因此煤自燃程度与气体产物之间存在非常复杂的非线性关系。当煤质一定时,其生成物的种类、数量以及温度等有一定的规律,找出这些指标气体与煤温的对应关系,通过监测煤样反应气体产物和温度、耗氧量等其他指标,便可发现煤自燃征兆,预测自燃发展的趋势。
1.实验设置
2013年采集鹤壁某矿煤样并进行煤自然发火试验,采集得到样本数据。通过分析煤自然发火过程中产生的指标气体的浓度、比值、发生速率等特征参数,对煤自然发火发展趋势等做出预报。煤自燃过程大体分为3个阶段:准备期(60℃以下)、自热期(60-240℃)和燃烧期(240℃以上),为了能更好的预测煤自燃发火状态,将自热期再细分为3个阶段:自热前期(60-80℃)、自热中期(80-150℃)和自热后期(150-240℃)。
本文采用的指标气体有O2、N2、CO、CO2、CH4、C2H6的浓度及CO2/O2、CO/O2、CH4/C2H6、CO2/CO的值,并根据不同的温度段划分不同的类别,设定5个危险等级。
实验采用C-SVM、LS-SVM、PSO-LSSVM和本发明的APSO-LSSVM算法进行危险程度预测。实验在CUP2.19GHz,内存2GB下使用MATLAB2010版本编写程序。
为提高样本准确率首先对样本进行归一化处理,避免奇异点数据对支持向量机性能的影响。设粒子群规模为25,解空间为350维,最大迭代次数为1000,加速度因子c1=c2=2,初始ω=0.9。正规化参数γ=1000,径向基核函数的宽度参数σ2=0.15,建立5个LS-SVM分类器。
2.结果与分析
将自适应PSO迭代后得到的预测模型对数据样本进行测试,分别建立C-SVM模型、LS-SVM模型和标准PSO的LS-SVM模型,并将结果与本文提出的预测结果相比较。C-SVM模型采用径向基核函数;标准PSO的LS-SVM模型中的惯性权重ω恒定。训练时间对比曲线如图2所示,其训练样本数据数量范围取[50,300];测试时间对比曲线如图3所示,其中测试样本数量范围取[50,300],训练样本数量取300;预测准确率对比曲线如图4所示,其中训练样本数量范围取[50,300],测试样本数量取300。
从图1-4的响应曲线可以看出:随着训练样本数量的增加,4种分类算法的训练时间都有明显增加,但APSO-LSSVM的训练时间明显低于C-SVM、LS-SVM和PSO-LSSVM,说明APSO-LSSVM对不同样本数量测试条件和环境都具有良好的适应能力,学习过程快;在测试时间上,4种算法的处理时间随着测试样本数量的增加而线性增加,但APSO-LSSVM的处理时间明显短于C-SVM、LS-SVM和PSO-LSSVM,APSO-LSSVM表现出较好的实时处理能力;在相同条件下,4种算法分类准确率也都具有随着训练样本数量增加而增加的趋势,但是APSO-LSSVM略高于C-SVM、LS-SVM和PSO-LSSVM,可见自适应PSO算法在矩阵迭代过程中获得了更高的精度。
其次,为了测试4种算法的性能,以及在不同样本分布下预测结果的准确率,选取不同煤矿煤样进行煤自然发火试验,得到第二组样本数据。分别用不同个数的训练样本建立预测模型,训练样本分布如表1所示:
表1 实验样本数据
测试参数分别为:训练时间、测试时间、预测准确率,性能测试如表2所示:
表2 算法性能比较
从两个地区的不同煤样数据性能测试的统计结果可看出,APSO-LSSVM训练时耗和测试时耗明显比C-SVM、LS-SVM和PSO-LSSVM都小,说明在处理相对复杂的问题和实时性能要求较高的问题时,APSO-LSSVM具有较强的优势;APSO-LSSVM训练集和测试集的准确概率都略高于C-SVM、LS-SVM和PSO-LSSVM,误差相对较小,显示了APSO-LSSVM具有较好的分类效果。
因此,由上述实验结果可以进一步看出,本发明的优势为:1.将最小二乘法引入支持向量机用于解决其求解规模小的问题,极大的减少了支持向量机由于解二次规划问题带来的技术复杂性,通过解线性方程组实现最终的决策函数,提高求解速度,并且在一定程度上保证了解的稀疏性;2.充分利用了粒子群算法的全局搜索能力来优化最小二乘法支持向量机的参数,克服了支持向量机参数选择的盲目性,具有良好的预测精度。3.针对标准粒子群算法过分依赖初始参数并且经常容易陷入局部最优值而导致早熟现象,引入惯性权重,在算法初期阶段赋予一个较大的值,以获得较好的全局搜索能力;而在算法后期赋予一个较小的值,使搜索步长逐渐减小,从而使搜索更精细。4.针对标准粒子群算法在寻优过程中由于所有例子都向最优解的方向飞去,粒子易于趋向同一化,使得后期收敛速度变慢的问题,引入源域因子和目标域因子,得到自适应粒子群模型,利用源领域知识意味着粒子个体搜索经验的积累,有利于算法更快收敛,精度更高,适合优化多目标。
上述实例是在以本发明技术方案为前提下进行实施的,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于上述实施例。