基于改进粒子群算法的数据特征选择方法及系统与流程

文档序号:16506172发布日期:2019-01-05 09:02阅读:291来源:国知局
基于改进粒子群算法的数据特征选择方法及系统与流程

本发明涉及一种基于改进粒子群算法的数据特征选择方法及系统。



背景技术:

随着信息产业和科学技术的快速发展,数据量的积累也越来越多。面对快速增长的数据,快速且高效的挖掘出有用的数据特征为社会发展助力,已经成为一个亟需解决的关键问题。特征选择具有降低数据维度、提高模型性能、减少过拟合和增强数据间连接等优点,可以最大程度的解决数据挖掘问题,提取出价值较高的特征,从而挖掘出隐藏在数据中的有用信息。特征选择的目的是在不降低分类器精度的情况下,最大程度的去除不相关和冗余的数据特征,即从原始数据集中找出最佳的特征子集。特征选择是机器学习、数据挖掘和模式识别领域中重要的数据预处理技术,现已广泛应用于文本分类、人脸识别、推荐系统和故障诊断等众多应用中。在分类系统中,大量不相关或冗余数据的存在,势必增加分类任务的计算复杂度,并在一定程度上降低分类器的分类精度。因此,在解决分类任务时,需要运用特征选择技术选出最佳特征子集,从而最大程度的提升分类器的分类性能和降低任务的计算成本。

特征选择是一个具有挑战性的问题,因为特征之间存在相互影响。换句话说,当单个相关特征与其它特征进行组合时,该特征有可能变为冗余或者可用性较低的特征。因此,原始数据集中的最佳特征子集应该是一组互补的数据特征。

粒子群算法被证明是具有较强全局搜索能力的算法,在解决特征选择问题的研究中表现出了较好的潜力。但是,粒子群算法的性能易受自身参数设置的影响,存在过早收敛、缺乏多样性和易陷入局部最优等问题。



技术实现要素:

本发明为了解决上述问题,提出了一种基于改进粒子群算法的数据特征选择方法及系统,本发明通过引入logistic混沌图谱、动态修正因子和螺旋形策略来影响粒子的运行轨迹,以增强各粒子间信息的传递和搜索过程中的多样性。通过本发明提出的优化策略能够较大幅度的提升算法的收敛速度和收敛精度,可以更好的解决特征选择问题。

为了实现上述目的,本发明采用如下技术方案:

一种基于改进粒子群算法的数据特征选择方法,包括以下步骤:

确定评估特征子集的分类器模型;

以分类器模型的正确分类率指导特征选择,逐步加入特征子集个数共同指导特征的选择,建立特征子集的质量评价函数;

确定数据集中特征选择标准;

对粒子群算法进行改进,根据建立的特征子集质量评价函数,计算粒子群中每一个粒子的适应度值,采用logistic混沌图谱更新粒子群算法的惯性权重,以改进后的粒子群算法处理数据集,得到选择结果。

进一步的,使用k最近邻作为评估所选特征子集的分类器模型,同时采用十折交叉验证法来避免样本分布的不均衡问题。

进一步的,对数据集进行随机划分,一部分作为训练样本,另一部分作为测试样本,进行分别测试,将得到的结果求平均,得到特征子集在分类器模型上得出的正确分类率。

进一步的,利用自适应调整策略指导特征子集的选择,一开始依靠正确分类率高来指导特征选择,随着选择过程的继续,逐渐加入特征子集个数少这一指标来共同指导特征的选择。

进一步的,确定数据集中特征选择标准为确定粒子种群的粒子位置范围,以各粒子的位置来决定相应的特征的选中和不选中。

进一步的,利用改进的粒子群算法处理数据特征选择的过程包括:

(1)输入需要进行特征选择的数据集;

(2)初始化粒子种群的种群大小、最大迭代次数,并随机初始化粒子个体的初始位置和飞行速度;

(3)根据建立的特征子集质量评价函数,计算粒子群中每一个粒子的适应度值;

(4)初始化粒子群的个体最优位置pbest和全局最优位置gbest;

(5)采用logistic混沌图谱更新粒子群算法的惯性权重,更新粒子群中每一个粒子的飞行速度;

(6)计算动态修正因子,采用组合位置更新粒子群中粒子的位置;

(7)计算粒子种群中每一个粒子的适应度值,并更新粒子群的个体最优位置pbest和全局最优位置gbest,得到更新问题的最优完整解;

(8)判断粒子群的进化是否到达算法设置的最大迭代次数,若是,停止进化,输出最优完整解作为数据集的最佳特征子集;否则,转入步骤(5)。

更进一步的,所述步骤(1)中,对需要进行特征选择的数据进行处理,将其用一个特征向量表示,具体是指将已获得的数据且已知标签的数据,用一条含有许多特征的向量进行表示,向量的每一维都表示该数据集中的一个特征。

更进一步的,所述步骤(7)中,对于粒子种群中的任何一个粒子,如果其适应度值优于历史最优位置的适应度值,则将当前粒子的位置作为新的个体最优位置,否则,保持粒子的历史个体最优位置不变;考虑种群的环形拓扑结构,将每个粒子的适应度值与其相邻若干个粒子的适应度值就行比较,并将适应度值较小的粒子作为当前粒子种群的全局最优位置。

更进一步的,所述步骤(7)中,比较粒子种群中所有粒子的适应度值,选出适应度值最小的一个粒子的位置,并与当前的最优完整解进行比较,如果其适应度值小于当前最优完整解的适应度值,则用该粒子位置去替换当前的完整解作为新的最优完整解;否则,最优完整解保持不变。

一种基于改进粒子群算法的数据特征选择系统,运行于处理器或存储器上,被配置为执行以下指令:

确定评估特征子集的分类器模型;

以分类器模型的正确分类率指导特征选择,逐步加入特征子集个数共同指导特征的选择,建立特征子集的质量评价函数;

确定数据集中特征选择标准;

对粒子群算法进行改进,根据建立的特征子集质量评价函数,计算粒子群中每一个粒子的适应度值,采用logistic混沌图谱更新粒子群算法的惯性权重,以改进后的粒子群算法处理数据集,得到选择结果。

与现有技术相比,本发明的有益效果为:

1、本发明中采用包裹型方法来评估所选择的特征子集,在分类准确性方面更优,而且还考虑了所选特征之间的内在联系;

2、本发明提出的优化策略能够较大幅度的提升算法的收敛速度和收敛精度。本发明将采用改进的粒子群算法来解决特征选择问题,将特征选择看作一个多目标优化问题来处理,可以得到一系列非支配特征子集,以满足实际应用中的不同需求;

3、本发明利用动态的特征子集评价函数,通过该评价函数,能够挑选出组合更优的特征子集,达到分类精度最高和特征子集个数最少的目的;

4、本发明具有实施简单、挖掘速度快和可调参数少等优点。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明实施例的流程图;

图2为实施例中使用本发明方法优化wine数据集时所得的分类正确率和特征选择数的变化趋势图;

图3为实施例中使用本发明方法优化satellite数据集时所得的分类正确率和特征选择数的变化趋势图;

图4为实施例中使用本发明方法优化lungcancer数据集时所得的分类正确率和特征选择数的变化趋势图;

图5为实施例中使用本发明方法优化musk1数据集时所得的分类正确率和特征选择数的变化趋势图;

图6为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化wine数据集时所得结果的分类正确率对比图;

图7为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化satellite数据集时所得结果的分类正确率对比图;

图8为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化lungcancer数据集时所得结果的分类正确率对比图;

图9为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化musk1数据集时所得结果的分类正确率对比图;

具体实施方式:

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。

本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。

如图1所示,为本发明提出的一种基于改进粒子群算法的数据特征选择方法流程图,该方法包括以下步骤:

步骤1:确定评估特征子集的分类器模型;

使用k最近邻作为评估所选特征子集的分类器模型,同时采用十折交叉验证法来避免样本分布的不均衡问题。对于一个含有n个数据特征的数据集而言,随机将其分为10份,其中9份作为模型的训练样本,剩下的1份作为测试集,用来测试分类模型的性能,依次类推,可以得出10个测试结果,对10个测试结果取平均,就是特征子集在分类器模型上得出的正确分类率。

步骤2:建立特征子集的质量评价函数;

考虑到特征选择过程是一个多目标优化过程,需要分类的正确率尽量高和所选特征子集的个数尽量少。因此,本发明提出了一个自适应调整策略来指导特征子集的选择,该策略前期主要依靠正确分类率高来指导特征选择,随着选择过程的继续,逐渐加入特征子集个数少这一指标来共同指导特征的选择,由此,特征子集的质量评价函数可表述如下:

其中,γr(d)表示特征子集r相对于目标数据集d的分类错误率;|s|表示所选特征子集的个数;|n|表示数据集中特征的总个数;t表示当前迭代次数;α(t)和β(t)是本发明提出的自适应调整策略,具体表达形式如下:

其中,φ=0.2,γ=0,tmax表示最大迭代次数。

步骤3:确定数据集中特征选择标准;

本技术方案中,粒子种群的粒子位置范围为[0,1],采用粒子的位置来决定特征的选中和不选中。若粒子的位置值在(0.5,1]范围之中,则保留相应位置的特征;否则,该位置的特征去除。

步骤4:利用改进的粒子群算法处理数据特征选择模型,具体执行步骤如下:

子步骤4.1:输入需要进行特征选择的数据集;

对需要进行特征选择的数据进行处理,将其用一个特征向量表示,具体是指将已获得的数据且已知标签(即是归入何种类别已知)的数据,用一条含有许多特征的向量进行表示,向量的每一维都表示该数据集中的一个特征。

子步骤4.2:初始化粒子种群的种群大小、最大迭代次数,并随机初始化粒子个体的初始位置和飞行速度;

粒子种群的大小设置为20,最大迭代次数设置为100,每一个粒子的位置均为数据特征选择问题的一个候选解,在范围[0,1]内随机初始化粒子群中粒子i的位置,在范围[0,0.6]内初始化粒子的飞行速度。

子步骤4.3:根据建立的特征子集质量评价函数,计算粒子群中每一个粒子的适应度值;

根据粒子在整个可行空间内的初始位置,然后采用公式(1)计算每一个粒子的适应度值,该值即为待评价粒子的适应度值。

子步骤4.4:初始化粒子群的个体最优位置pbest和全局最优位置gbest;

设定粒子当前的位置为其个体最优位置pbest;然后考虑粒子种群的环形拓扑结构,每一个粒子与相邻的2个粒子进行适应度值比较,保留适应度值较小对应的位置,将最后胜出的粒子位置作为当前粒子种群的全局最优位置gbest。

子步骤4.5:采用logistic混沌图谱更新粒子群算法的惯性权重w,公式如下:

w=xt=μ×xt-1×(1-xt-1)(4)

其中,t表示当前迭代次数,xt-1表示上一次迭代中粒子的位置,μ=4。

子步骤4.6:更新粒子群中每一个粒子的飞行速度,公式如下:

其中,表示第i个粒子的上一时刻飞行速度;pbestid表示第i个粒子的个体最优位置;gbestd表示当前的全局最优位置;表示第i个粒子的位置;c1和c2表示加速系数,一般设置为2;r1和r2为范围[0,1]内的一个随机数;d表示粒子群的维数大小。

子步骤4.7:计算动态修正因子u1和u2;

其中,t表示当前迭代次数;a是一个常数,设置为2;表示第i个粒子位置平方和的值;表示第i个粒子上一时刻的位置。

子步骤4.8:采用组合位置更新公式更新粒子群中粒子的位置,公式如下:

其中,表示第i个粒子的位置;表示第i个粒子下一时刻的飞行速度;表示第i个粒子下一时刻的位置;表示第i个粒子到当前最优位置的欧式距离;b表示一个常数,取值为1;l是[-1,1]内的一个随机数;gbestd表示当前的全局最优位置;p表示[0,1]之内的随机数,当其值大于0.8时,采用螺旋形机制更新粒子的位置,否则,采用改进的粒子更新公式更新粒子的位置。

子步骤4.9:采用步骤4.3中的方法计算粒子种群中每一个粒子的适应度值。

子步骤4.10:更新粒子群的个体最优位置pbest和全局最优位置gbest;

更新粒子种群中每个粒子的个体最优位置pbest和全局最优位置gbest。对于粒子种群中的任何一个粒子,如果其适应度值优于历史最优位置的适应度值,则将当前粒子的位置作为新的个体最优位置,否则,保持粒子的历史个体最优位置不变;考虑种群的环形拓扑结构,将每个粒子的适应度值与其相邻2个粒子的适应度值就行比较,并将适应度值较小的粒子作为当前粒子种群的全局最优位置。

子步骤4.11:更新问题的最优完整解;

比较粒子种群中所有粒子的适应度值,选出适应度值最小的一个粒子的位置,并与当前的最优完整解进行比较,如果其适应度值小于当前最优完整解的适应度值,则用该粒子位置去替换当前的完整解作为新的最优完整解;否则,最优完整解保持不变。

子步骤4.12:判断粒子群的进化是否到达算法设置的最大迭代次数?若是,停止进化,输出最优完整解作为数据集的最佳特征子集;否则,转入步骤4.5。

需要说明的是,上述中参数的设置值,在其他实施例中,可以根据具体情况或要求进行变化,并不局限于此。

为了进一步说明本发明在处理数据特征选择问题上的优越性,图2-图5给出了本发明在优化wine、satellite、lungcancer和musk1数据集时所得的分类正确率和特征选择数的变化趋势图。另外,本发明还与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))进行了精度对比,对比结果见图6-图9。对比算法的参数设置如下:种群大小20,最大迭代次数100,其余参数设置均与原算法相同。

图2所示为实施例中使用本发明方法优化wine数据集时所得的分类正确率和特征选择数的变化趋势图;图3所示为实施例中使用本发明方法优化satellite数据集时所得的分类正确率和特征选择数的变化趋势图;图4所示为实施例中使用本发明方法优化lungcancer数据集时所得的分类正确率和特征选择数的变化趋势图;图5所示为实施例中使用本发明方法优化musk1数据集时所得的分类正确率和特征选择数的变化趋势图;图6所示为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化wine数据集时所得结果的分类正确率对比图;图7所示为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化satellite数据集时所得结果的分类正确率对比图;图8所示为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化lungcancer数据集时所得结果的分类正确率对比图;图9所示为实施例中使用本发明方法与其它7种方法(生物地理优化算法(bbo)、鲸鱼群算法(woa)、人工蜂群算法(abc)、磷虾群算法(kh)、差分进化算法(de)、正弦余弦算法(sca)和原始粒子群算法(pso))优化musk1数据集时所得结果的分类正确率对比图。

在本实施例中,以uci提供的4个经典测试数据集为例,执行次数为30次,并记录每次所得的性能指标值。表1所示为原始粒子群算法(pso)和本发明方法所得最佳特征子集的统计结果,表中cr(%)表示特征子集的分类精度。通过比较结果可知,本发明提出的特征选择方法均得到了分类正确率高的特征子集。分析图2-图5可知,本发明提出的方法能够有效的去除冗余或不相关的特征,同时提高分类正确率。

表1

根据图6-图9可知,本发明方法总体上的收敛速度和收敛精度显著优于其它7种方法。

综上可知,本发明提出的特征选择方法能够有效处理实际中普遍存在的数据特征选择问题。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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