一种基于粒子群优化算法对支持向量机的优化方法技术

技术编号:15355641 阅读:177 留言:0更新日期:2017-05-17 13:50
本发明专利技术公开了一种基于粒子群优化算法对支持向量机的优化方法。本发明专利技术实施例公开了一种基于PSO算法对SVM分类模型的优化方法,属于计算机人工智能技术领域。本发明专利技术实施例一方面根据粒子适应度调节惯性权重,从而实现了惯性权重的自适应调整,增加了惯性权重的多样性,更好的平衡PSO算法全局探索能力和局部搜索能力,另一方面,通过利用搜索成功的粒子的位置计算出的阈值作为变异条件,能更好地控制粒子变异的时机,粒子经过变异后,粒子跳出局部最优解的能力得到提升,有利于对支持向量机参数的最优值寻优,以提高SVM算法的分类准确率。本发明专利技术通过对SVM分类模型的参数的优化,提高了SVM分类模型分类的准确率,促进SVM分类模型在模式识别、系统控制、生产调度、计算机工程以及电子通信领域更加广泛的应用。

【技术实现步骤摘要】

本专利技术涉及计算机人工智能
,特别涉及一种基于粒子群优化算法对支持向量机算法的优化方法。
技术介绍
粒子群优化算法(ParticleSwarmOptimization,简称PSO),是一种通过模拟自然界中生物群体(如蚂蚁、鸟和蜜蜂)的智能行为的群智能算法。在粒子群算法模型中,每一个优化问题的可行解看作一个粒子,每一个粒子的自身状态都由一组位置向量和速度向量描述,分别表示问题的可行解和它在D维搜索空间中的运动方向。粒子通过自身经验和不断学习发现它的邻居最优解和群体最优解,实现位置改变。原始的粒子群算法是没有惯性权重w,Shi和Eberhart首先提出了含有惯性权重w的粒子群算法,并指出一个较大的惯性权重w使粒子的速度有较大的增加,有利于粒子去探索新的未知空间;一个较小的惯性权重w使粒子的速度有较小的改变,有利于粒子局部搜索。在实现本专利技术的过程中,专利技术人发现现有技术的粒子群算法至少存在如下问题:由于较大惯性权重w能够增加全局探索能力,较小的惯性权重w能够增加局部搜索能力,如果想要获得全局探索能力和局部搜索能力这两者的平衡,就需要惯性权重w能够自适应的改变。然而,现有技术中的惯性权重w在PSO算法执行过程中是固定值或根据迭代次数改变,但这些现有技术中的惯性权重w不能根据种群的信息进行自适应调节,这样便不能使得全局探索能力和局部搜索能力得到较好的平衡。另外,惯性权重w是固定值的机制使得PSO算法容易陷入局部最优解、容易早熟收敛。支持向量机(SupportVectorMachine,简称SVM),是在统计学习基础上发展起来的新一代学习算法,该算法在理论基础上有较强的优势,近年来支持向量机在文本分类、图像分类、生物信息学、模式识别、系统控制、生产调度、计算机工程和数据挖掘等方面得到了广泛应用。支持向量机根据Vapnik的结构风险最小化原则,尽量提高学习机的泛化能力,即由有限训练样本得到的决策规则,对独立的测试集仍能够得到小的误差。此外,支持向量机算法是一个凸二次优化问题,能够保证找到的极值解就是全局最优解。这些特点使支持向量机成为一种优秀的学习算法。在实现本专利技术的过程中,专利技术人发现现有技术的SVM算法至少存在如下问题:在SVM分类模型中,C为SVM分类模型中的一个参数,表示对分类错误的容忍度或者对分类错误的惩罚力度,C越大表示惩罚越大,越不能容忍错误,容易造成过拟合,C越小与之相反,容易造成欠拟合。g为径向基核函数(RadialBasisFunction)半径,它影响数据映射到新的特征空间后的分布,g越大,支持向量越少,g值越小,支持向量越多,而支持向量的个数影响训练与预测的速度。所以参数C和g对算法的性能都有影响,合理设置参数C和g能提高分类器的分类准确率和分类器的训练与预测速度,而现有的方法对这两个参数优化的能力有限,会造成参数设置的不合理,从而导致SVM分类模型的分类准确率不高。
技术实现思路
本专利技术的目的是采用改进的粒子群算法优化SVM分类模型中的C和g两个参数,使得这两个参数取得最优值,实现提高SVM算法的分类准确率,进而促进支持向量机算法在模式识别、系统控制、生产调度、计算机工程以及电子通信领域更加广泛的应用。根据本专利技术实施例的一个方面,提供了一种基于粒子群的优化算法对支持向量机的优化方法,包括:步骤S1,对粒子群的各参数进行初始化,所述参数包括粒子群的种群规模、迭代次数、搜索空间维度、搜索范围的最大值、搜索范围的最小值,粒子群中每个粒子的速度、位置、自我学习因子和社会学习因子;步骤S2,将初始化后的每个粒子的位置初始值带入适应度函数,得到每个粒子的适应度;步骤S3,根据每个粒子的适应度,计算每个粒子的个体最优位置、个体最优适应度以及粒子群的种群最优位置、种群最优适应度;步骤S4,基于种群最优适应度和个体最优适应度计算惯性权重;步骤S5,基于惯性权重、自我学习因子、社会学习因子、每个粒子的个体最优位置和粒子群的种群最优位置,更新每个粒子的速度和位置;步骤S6,计算每个粒子在当前迭代次数时的个体最优适应度与前一次迭代次数时的个体最优适应度的比值,将所述比值与预定阈值进行比较,若所述某个粒子比值小于预定阈值,则判定该粒子搜索成功;步骤S7,计算搜索成功的粒子的位置到所述种群最优位置的欧氏距离,并对所有搜索成功的粒子所对应的欧氏距离取平均值,得到距离阈值;步骤S8,判断每个粒子的位置到所述种群最优位置的欧氏距离是否小于所述距离阈值,若是,则对距离阈值内的部分粒子进行变异操作;步骤S9,判断当前迭代次数是否小于设定的迭代次数,若否,则执行步骤S10;步骤S10,输出粒子群在当前的种群最优位置,并将所述种群最优位置映射为支持向量机中的惩罚因子C和径向基核函数半径g;步骤S11,根据所述惩罚因子C和径向基核函数半径g对支持向量机进行训练。本专利技术实施例的有益效果:本专利技术实施例一方面根据粒子适应度调节惯性权重w,从而实现了惯性权重w的自适应调整,增加了惯性权重的多样性,更好的平衡PSO算法全局探索能力和局部搜索能力,另一方面,通过利用搜索成功的粒子计算出的阈值作为变异的条件,能更好地控制粒子变异的时机,粒子经过变异后,粒子跳出局部最优解的能力得到提升,更有利于寻找参数C和g的最优值,最终有助于提高SVM算法的分类准确率。附图说明图1是本专利技术基于粒子群的优化算法对支持向量机的优化方法流程图;图2是本专利技术的使用粒子个体最优适应度平均值和个体最优适应度惯性权重分布图;图2a是使用粒子个体最优适应度平均值取得的惯性权重值;图2b所是使用粒子个体最优适应度时所取得的惯性权重值;图3是本专利技术的粒子群未确定变异粒子的示意图;图4是本专利技术的粒子群已确定变异粒子的示意图;图5是本专利技术的基于AIWPSO算法对SVM分类模型的优化方法与现有技术中基于原始粒子群算法对SVM分类模型的优化方法在分类准确率与分类时间上的结果对比图;图5a是本专利技术的基于AIWPSO算法对SVM分类模型的优化方法与现有技术中基于原始粒子群算法对SVM分类模型的优化方法在分类准确率的结果对比图;图5b是本专利技术的基于AIWPSO算法对SVM分类模型的优化方法与现有技术中基于原始粒子群算法对SVM分类模型的优化方法在分类时间的结果对比图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。图1是本专利技术基于粒子群的优化算法对支持向量机的优化方法的第一实施例的流程图。如图1所示,一种基于粒子群的优化算法对支持向量机的优化方法,包括以下步骤S1至S10:步骤S1,对粒子群的各参数进行初始化,所述参数包括粒子群的种群规模、迭代次数、搜索空间维度、搜索范围的最大值、搜索范围的最小值,粒子群中每个粒子的速度、位置、自我学习因子和社会学习因子。在对粒子群的各参数进行初始化之前,需要设定粒子群的各项参数,设定种群规模为s(即该粒子群中包括s个粒子)、最大迭代次数为T、搜索空间维度为D、搜索范围的最小值为popmin、搜索范围的最大值为popmax,设定粒子群中每个粒子的速本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610916399.html" title="一种基于粒子群优化算法对支持向量机的优化方法原文来自X技术">基于粒子群优化算法对支持向量机的优化方法</a>

【技术保护点】
一种基于粒子群的优化算法对支持向量机的优化方法,其特征在于,包括:步骤S1,对粒子群的各参数进行初始化,所述参数包括粒子群的种群规模、迭代次数、搜索空间维度、搜索范围的最大值、搜索范围的最小值,粒子群中每个粒子的速度、位置、自我学习因子和社会学习因子;步骤S2,将初始化后的每个粒子的位置初始值带入适应度函数,得到每个粒子的适应度;步骤S3,根据每个粒子的适应度,计算每个粒子的个体最优位置、个体最优适应度以及粒子群的种群最优位置、种群最优适应度;步骤S4,基于种群最优适应度和个体最优适应度计算惯性权重;步骤S5,基于惯性权重、自我学习因子、社会学习因子、每个粒子的个体最优位置和粒子群的种群最优位置,更新每个粒子的速度和位置;步骤S6,计算每个粒子在当前迭代次数时的个体最优适应度与前一次迭代次数时的个体最优适应度的比值,将所述比值与预定阈值进行比较,若所述某个粒子比值小于预定阈值,则判定该粒子搜索成功;步骤S7,计算搜索成功的粒子的位置到所述种群最优位置的欧氏距离,并对所有搜索成功的粒子所对应的欧氏距离取平均值,得到距离阈值;步骤S8,判断每个粒子的位置到所述种群最优位置的欧氏距离是否小于所述距离阈值,若是,则对小于距离阈值的粒子进行变异操作;步骤S9,判断当前迭代次数是否小于设定的迭代次数;步骤S10,若当前迭代次数小于设定的迭代次数,则输出粒子群的当前种群最优位置,并将所述种群最优位置映射为支持向量机中的惩罚因子C和径向基核函数半径g;步骤S11,根据所述惩罚因子C和径向基核函数半径g对支持向量机进行训练。...

【技术特征摘要】
1.一种基于粒子群的优化算法对支持向量机的优化方法,其特征在于,包括:步骤S1,对粒子群的各参数进行初始化,所述参数包括粒子群的种群规模、迭代次数、搜索空间维度、搜索范围的最大值、搜索范围的最小值,粒子群中每个粒子的速度、位置、自我学习因子和社会学习因子;步骤S2,将初始化后的每个粒子的位置初始值带入适应度函数,得到每个粒子的适应度;步骤S3,根据每个粒子的适应度,计算每个粒子的个体最优位置、个体最优适应度以及粒子群的种群最优位置、种群最优适应度;步骤S4,基于种群最优适应度和个体最优适应度计算惯性权重;步骤S5,基于惯性权重、自我学习因子、社会学习因子、每个粒子的个体最优位置和粒子群的种群最优位置,更新每个粒子的速度和位置;步骤S6,计算每个粒子在当前迭代次数时的个体最优适应度与前一次迭代次数时的个体最优适应度的比值,将所述比值与预定阈值进行比较,若所述某个粒子比值小于预定阈值,则判定该粒子搜索成功;步骤S7,计算搜索成功的粒子的位置到所述种群最优位置的欧氏距离,并对所有搜索成功的粒子所对应的欧氏距离取平均值,得到距离阈值;步骤S8,判断每个粒子的位置到所述种群最优位置的欧氏距离是否小于所述距离阈值,若是,则对小于距离阈值的粒子进行变异操作;步骤S9,判断当前迭代次数是否小于设定的迭代次数;步骤S10,若当前迭代次数小于设定的迭代次数,则输出粒子群的当前种群最优位置,并将所述种群最优位置映射为支持向量机中的惩罚因子C和径向基核函数半径g;步骤S11,根据所述惩罚因子C和径向基核函数半径g对支持向量机进行训练。2.根据权利要求1所述的方法,其中,在步骤S11,根据所述惩罚因子C和径向基核函数半径g对支持向量机进行训练之后,还包括:得到每个粒子的适应度,并返回步骤S3。3.根据权利要求1所述的方法,其中,所述步骤S1中,对粒子群进行初始化包括对粒子群中的每个粒子的速度和位置进行初始化,初始化的方式为对粒子的速度和位置赋予随机值。4.根据权利要求3所述的方法,其中,基于式(1)对每个粒子的速度进行初始化;v=rand()式(1)基于式(2)对每个粒子的位置进行初始化;x=200·rand()-100式(2)其中,rand()为[0,1]之间的随机数。5.根据权利要求1所述的方法,其中,所述步骤2基于每个粒子,将其在粒子群初始化后得到的位置的初始值带入适应度函数,得到每个粒子的适应度包括:步骤21,将粒子群中每个粒子的位置的初始值映射为支持向量机中的惩罚因子C和径向基核函数半径g;步骤22,根据所述惩罚因子C和径向基核函数半径g对支持向量机进行训练,基于式(3)得到适应度;其中,n为训练集样本总数,r为分类正确的样本数目,F为适应度。6.根据权利要求1-5任一项所述的方法,其中,所述步...

【专利技术属性】
技术研发人员:吕胜富栗觅张明钟宁
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1