一种结合机器学习和群智能算法的快速多目标特征选择方法技术

技术编号:30702574 阅读:129 留言:0更新日期:2021-11-06 09:41
一种结合机器学习和群智能算法的快速多目标特征选择方法,包括以下步骤:1)对待处理的数据集进行预处理,2)基于机器学习中的K

【技术实现步骤摘要】
一种结合机器学习和群智能算法的快速多目标特征选择方法


[0001]本专利技术属于智能优化和特征选择领域,涉及一种结合机器学习和群智能算法的快速多目标特征选择方法。

技术介绍

[0002]在这个数据大爆炸的时代,千行百业产生的真实数据包含大量冗余和具有复杂交互关系的特征,严重影响数据分析方法的性能。而且数据维度过高会导致算法处理的时间复杂度激增。特征选择是一种常见的数据降维方法,其主要目的是在不牺牲原特征集学习性能的基础上,从中选择重要的特征构成新的特征子集,从而加快算法计算效率并增强模型的泛化性能。特征选择方法常用在分类、聚类等机器学习任务中,以此提高特征集的质量。
[0003]由于特征选择问题通常是大规模、多峰、非线性且目标函数没有明确的函数形式,因此基于梯度或直接搜索的传统优化方法难以应用。此外,在实际生产生活中,对于每一个特征数据的获取,都是需要付出代价的,因此除了应该关注所选特征子集的分类准确性外,还需要考虑所选特征子集所包含特征的数量,即把特征选择视为一个多目标优化问题。由于群智能算法具有很强的全局搜索能力,同时其基于种群的机制可以在一次运行中产生多个解。因此群智能算法非常适合用于多目标特征选择问题,它能在特征数量和分类性能之间进行权衡,以便找到一组Pareto支配解。目前常见的群智能算法,如粒子群算法、人工蜂群算法等已经被应用于多目标特征选择问题。
[0004]然而由于群智能算法在处理特征选择问题的时候,依赖于种群的多次迭代,并且每一次迭代都需要对待处理的高维数据进行分类等处理,以便根据分类的结果和此时选择特征的数目来评价当前算法所选特征子集的优劣,进而指导种群进化。因此,群智能算法在处理特征选择问题时通常具有较高的计算代价。对许多工程实际问题而言,算法运行的时效性决定了其实际应用价值,因此如何在保证不牺牲群智能算法求解质量的基础上降低其运行的时间成本是一个亟待解决的问题。

技术实现思路

[0005]为了克服现有技术中存在的不足,本专利技术提供了一种结合机器学习和群智能算法的快速多目标特征选择方法。该方法是将特征选择和样本选择问题相结合,在保证群智能算法求得特征子集质量的基础上,降低其求解的时间成本。
[0006]本专利技术采用的技术方案是:
[0007]一种结合机器学习和群智能算法的快速多目标特征选择方法,包括以下步骤:
[0008]步骤1:对待处理的数据集进行预处理,具体步骤包括:
[0009](a1)把数据集U

中每行数据称为一个样本数据;把数据集U

中每个样本数据所对应的分类标号映射到自然数集并将其调整到所对应样本数据中的第一个位置,然后把样本数据根据其分类标号的大小关系,按照从小到大顺序重新排列,此时调整后的数据集记为
U


[0010](b1)将数据集U

进行归一化处理得到数据集U;用U
i

j
和U
ij
分别来表示数据集U

和U中的第i行j列的数据,其中i∈{1,2,...,m},j∈{2,3,...,n};和分别是数据集U

的第j列中的最大值和最小值,则U
ij
由(1)式计算可得:
[0011][0012]步骤2:基于机器学习中的K

means聚类算法,从数据集U中挑选出对分类性能影响大的样本数据组成重要数据集D
import
,剩下的样本组成数据集D
other
,具体步骤包括:
[0013](a2)分析数据集U的第一列数据,确定样本数据有K类,设K

means聚类算法的聚类中心有K个,用p来表示得到的第p个聚类中心,其中p∈{1,2,...,K},初始化p=1;
[0014](b2)对数据集U按照K

means方法进行聚类,把每一个样本的聚类标号添加到其分类标号的前面并按照聚类标号从小到大的顺序重新排列样本数据形成新数据集
[0015](c2)把聚类标号为p的样本数据存储到Class(p)中,对Class(p)中的样本数据进行聚类标号和分类标号的对比分析:首先找出数量最多的分类标号记为label
max
,并把所有分类标号是label
max
的样本数据放到矩阵U
same
(p)中;把分类标号不是label
max
的样本数据放到矩阵U
diff
(p)中;
[0016](d2)把U
diff
(p)中的所有样本数据都加入到数据集因为这些元素对正确分类有很重要的作用;同时从U
same
(p)中随机选择少量样本加入到数据集因为U
same
(p)中的样本数据相似程度很高,随机选择少量样本就可以很好的替代该类样本数据,U
same
(p)中剩余的样本数据放到数据集
[0017](e2)令p=p+1,若p≠K则跳转到步骤(c2);否则分别将p∈{1,2,...,K}合并成数据集,将p∈{1,2,...,K}合并成数据集;
[0018](f2)去除数据集和中的聚类标号,则得到对分类性能影响大的样本数据组成的数据集为D
import
,剩下样本组成的数据集为D
other

[0019]步骤3:通过步骤2挑选出了D
import
数据集,在群智能算法运行的前期利用该缩减过的数据集来降低算法在调用分类器评估个体所需的时间成本;但是样本变少可能会导致分类器训练不足,为了保证求解结果的精确,需要确定数据集D
other
的利用策略,即在群智能算法运行的后期逐渐把D
other
中的样本数据逐渐添加到分类器的训练集中,确保群智能算法最终能够获得高质量的特征子集;具体步骤为:
[0020](a3)设置群智能算法的最大迭代次数为iter,t表示算法的第t次运行,t∈{1,2,...,iter};在算法的前iter1次迭代运行中仅把D
import
数据集用来评估算法产生解的质量;
[0021](b3)定义size(U)和size(D
import
)分别表示数据集U和D
import
中样本数据的个数,进而利用Sigmoid函数构造阈值函数如下所示:
[0022][0023](c3)根据阈值函数(2),给出数据集D
other
的具体利用策略为:在群智能算法的后iter

iter1次迭代运行中,从D
other
数据集中随机的选择若干样本补充到分类器的训练集中,使得训练集的总样本数据为addfunc(t);
[0024]步骤4:基于步骤2得到的两个数据集D
impo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结合机器学习和群智能算法的快速多目标特征选择方法,其特征在于包括以下步骤:步骤1:对待处理的数据集进行预处理,具体步骤包括:(a1)把数据集U

中每行数据称为一个样本数据;把数据集U

中每个样本数据所对应的分类标号映射到自然数集并将其调整到所对应样本数据中的第一个位置,然后把样本数据根据其分类标号的大小关系,按照从小到大顺序重新排列,调整后的数据集记为U

;(b1)将数据集U

进行归一化处理得到数据集U;用U

ij
和U
ij
分别来表示数据集U

和U中的第i行j列的数据,其中i∈{1,2,...,m},j∈{2,3,...,n};和分别是数据集U

的第j列中的最大值和最小值,则U
ij
由(1)式计算可得:步骤2:基于机器学习中的K

means聚类算法,从数据集U中挑选出对分类性能影响大的样本数据组成重要数据集D
import
,剩下的样本组成数据集D
other
,具体步骤包括:(a2)分析数据集U的第一列数据,确定样本数据有K类,设K

means聚类算法的聚类中心有K个,用p来表示得到的第p个聚类中心,其中p∈{1,2,...,K},初始化p=1;(b2)对数据集U按照K

means方法进行聚类,把每一个样本的聚类标号添加到其分类标号的前面并按照聚类标号从小到大的顺序重新排列样本数据形成新数据集(c2)把聚类标号为p的样本数据存储到Class(p)中,对Class(p)中的样本数据进行聚类标号和分类标号的对比分析:首先找出数量最多的分类标号记为label
max
,并把所有分类标号是label
max
的样本数据放到矩阵U
same
(p)中;把分类标号不是label
max
的样本数据放到矩阵U
diff
(p)中;(d2)把U
diff
(p)中的所有样本数据都加入到数据集因为这些元素对正确分类有很重要的作用;同时从U
same
(p)中随机选择少量样本加入到数据集因为U
same
(p)中的样本数据相似程度很高,随机选择少量样本就可以很好的替代该类样本数据,U
same
(p)中剩余的样本数据放到数据集(e2)令p=p+1,若p≠K则跳转到步骤(c2);否则分别将合并成数据集,将合并成数据集;(f2)去除数据集和中的聚类标号,则得到对分类性能影响大的样本数据组成的数据集为D
import
,剩下样本组成的数据集为D
other
;步骤3:通过步骤2挑选出了D
import
数据集,在群智能算法运行的前期利用该缩减过的数据集来降低算法在调用分类器...

【专利技术属性】
技术研发人员:连捷王霄汉王东
申请(专利权)人:大连理工大学
类型:发明
国别省市:

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

1