一种基于粒子群算法的多模态特征选择方法技术

技术编号:25804204 阅读:31 留言:0更新日期:2020-09-29 18:38
本发明专利技术公开了一种基于粒子群算法的多模态特征选择方法,选取UCI数据集进行预处理操作并且初始化候选群体,然后采用小生境算法把整个种群划分为多个子种群。在每次迭代时,每个子种群独立搜索寻找所在区域的最优解。在迭代演化时,更新每个小生境的全局最优值和每个个体的历史最优值,然后采用粒子群公式更新每个个体的速度和位置。采用跳跃变异操作帮助群体跳出局部最优区域并且采用分类正确率评估每个个体的质量。满足终止条件后,输出最后一代群体并且设计了一个筛选策略挑选出符合要求的多个最优解。本发明专利技术能找到多组特征解,给决策者提供更多的选项,有效地解决了特征选择的多模态优化问题。

【技术实现步骤摘要】
一种基于粒子群算法的多模态特征选择方法
本专利技术涉及计算智能和分类的
,尤其涉及到一种基于粒子群算法的多模态特征选择方法。
技术介绍
UCI数据库是一个用于机器学习的数据库,包含了488个标准测试数据集,其中有360个数据集被用于分类研究。在定义或描述一类事物时往往会包含多种属性,比如说酒包含颜色,口味,品牌,纯度和甜度等多种属性。如何以更少的属性对数据集进行分类是热门的研究课题。UCI数据集的属性数量和实例数量多则达到上百万,如果根据所有的属性对数据集进行分类会急剧增加分类的成本和难度。在对数据集的分类研究中,并不是所有属性都是有用的。数据集的属性和属性之间,属性和类别之间存在着冗余,相关和不相关的的特性。特征选择作为一种数据预处理操作,就是剔除掉冗余的和不相关的特征,留下有用的特征用于分类。筛选出有用的特征,降低数据的维度,有利于减少分类的成本和难度,提高分类正确率。传统的用于解决特征选择问题的方法主要被分为过滤式方法和包装类方法,两者的主要区别在于在评估过程中是否包含分类器。其中,典型的代表有序列浮动选择算法和最大相关最小冗余特征选择算法,但这些传统的特征选择算法存在着容易陷入局部最优的问题。近年来,各种各样的计算智能算法被广泛应用于特征选择研究。其中,粒子群算法是一种常用的仿生算法,模仿自然界中鸟类和鱼群的捕食行为。粒子群算法的核心思想是创建初始候选群体,然后不断地迭代演化,通过群体中个体之间的协作和信息共享寻找最优解。粒子群算法因为计算代价小,收敛速度快和算法结构简单易实现地特点,被广泛应用于特征选择,车辆调度,函数优化和云计算等方面。虽然粒子群算法被广泛应用于特征选择问题,但目前的主流研究把特征选择作为一个离散优化问题来考虑,偏向于寻找单目标的最优解或者多目标优化。实际上,特征选择也是一个多模态优化问题。在特征选择研究中,找出多个特征组合,在误差允许的范围内,给决策者或用户提供更多的选项,帮助决策者或用户解决实际的需求是有十分重大的意义。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于粒子群算法的多模态特征选择方法。为实现上述目的,本专利技术所提供的技术方案为:一种基于粒子群算法的多模态特征选择方法,包括以下步骤:S1、对UCI数据库数据集中的数据进行预处理;S2、根据用户要求设置参数,包括群体大小,迭代次数,独立运行次数;然后初始化候选群体,包括粒子的速度和位置,内部权重w,加速系数c1和c2;S3、采用基于拥挤度的集群小生境算法把整个候选种群划分为多个子种群;S4、更新每个粒子的历史最优位置pbest;S5、更新每个小生境的全局最优位置lbest;S6、更新粒子的速度以及位置;S7、进行跳跃变异操作;S8、根据评估函数计算每个个体的适应值,采用分类正确率作为筛选个体的评价指标;S9、判断是否达到用户设置的迭代次数和独立运行次数;若达到满足条件,则输出最后一代的群体,然后根据分类正确率的误差范围δ和解差分度θ筛选出多个差分度较大的最优解,否则就回到步骤S3。进一步地,所述步骤S1数据预处理的具体步骤如下:S1-1、把非数据值统一转换为数据值,对缺失值填充为0;S1-2、对每个属性进行数据归一化操作,统一落在[-1,1]区间;S1-3、按照LIBSVM格式提取出属性值和类别值,并且把数据保存在外部文档。进一步地,所述步骤S3中,在划分种群时把每个个体的连续实值转换为二进制字符串,然后用汉明距离计算个体与参考点的距离;转换公式如下:其中,表示第i个粒子第d维的二进制值,表示第i个粒子第d维的位置,比特位0表示该特征不被选择,比特位1表示该特征被选进特征子集。进一步地,所述步骤S4中,更新历史最优位置pbest时考虑上适应值的大小以及特征数的大小;更新公式如下:其中,fit(pbesti(t))表示在第t代第i个粒子的历史适应值,fit(xi(t+1))表示在第t代第i个粒子的当前适应值;num(xi(t+1))表示在第t+1代第i个粒子的位置所对应的特征数;num(pbesti(t))表示在第t代第i个粒子的历史最优位置所对应的特征数;xi(t+1)表示在第t+1代第i个粒子的位置,pbesti(t)表示在第t代第i个粒子的历史最优位置;pbesti(t+1)表示在第t+1代第i个粒子的历史最优位置;若粒子记录的历史最优值比粒子当前适应值要小,便采用粒子当前适应值更新历史最优值;若粒子记录的历史最优值和粒子当前适应值相等,便考虑pbest对应的特征数和x对应的特征数的大小,选两者较小的更新pbest;若粒子记录的历史最优值比粒子当前适应值要大,便保留该历史最优值。进一步地,所述步骤S5中,每个小生境的全局最优位置lbest在更新时考虑上适应值的大小以及特征数的大小,具体更新过程如下:对小生境内的所有粒子的历史最优适应值进行比较,取适应值最优的解作为小生境的最优个体;若小生境中存在着多个最优解,便在该些最优解中选特征数最少的解作为小生境的最优个体并更新全局最优位置lbest。进一步地,所述步骤S6中,由于每个小生境的lbest取代了传统的全局最优位置gbest,所以粒子群更新公式改为:第k个小生境第t+1代第i个粒子第d维的速度:第t+1代第i个粒子第d维的位置:其中,表示第k个小生境第i个粒子第d维的历史最优位置,表示第k个小生境第d维的全局最优位置;w是内部权重,控制着先前的速度对当前速度的影响力;c1和c2是两个加速系数,控制着粒子历史最优值位置和全局最优位置和对于搜索过程的影响力;r1和r2是在[0,1]区间内服从均匀分布的随机值。进一步地,所述步骤S7进行跳跃变异操作的具体过程如下:存在一个的跳跃概率P,若在[0,1]区间的随机值小于该概率,粒子位置的变化选择均匀分布,否则选择高斯分布;使得在搜索集中的地方维持高斯分布的形状,而在高斯分布薄弱的尾巴处采用均匀分布作更进一步的搜索;跳跃变异公式如下:其中,xLower和xUpper分别为粒子位置的上下界,U[xLower,xUpper]表示在区间[xLower,xUpper]的均匀分布,N(0,1)表示正态分布,rand()为在[0,1]区间的随机值,α为实值参数。进一步地,所述步骤S8先把个体位置的连续实值转换为二进制特征字符串,然后采用1NN算法和留一交叉验证方法计算出个体的分类正确率。进一步地,所述步骤S9中,筛选过程如下:首先找到候选特征群体的最优个体,加入记录集;为了确保找到的特征解代表最优峰,根据分类正确率的误差范围δ进行第一次的筛选;计算每一个个体和最优个体的适应值之差,只考虑在分类正确率的误差范围δ内的个体;然后为了区分不同的个体,根据解差分度θ进行第二次的筛选;比较个体与记录集中所有个体的汉明本文档来自技高网
...

【技术保护点】
1.一种基于粒子群算法的多模态特征选择方法,其特征在于,包括以下步骤:/nS1、对UCI数据库数据集中的数据进行预处理;/nS2、根据用户要求设置参数,包括群体大小,迭代次数,独立运行次数;然后初始化候选群体,包括粒子的速度和位置,内部权重w,加速系数c1和c2;/nS3、采用基于拥挤度的集群小生境算法把整个候选种群划分为多个子种群;/nS4、更新每个粒子的历史最优位置pbest;/nS5、更新每个小生境的全局最优位置lbest;/nS6、更新粒子的速度以及位置;/nS7、进行跳跃变异操作;/nS8、根据评估函数计算每个个体的适应值,采用分类正确率作为筛选个体的评价指标;/nS9、判断是否达到用户设置的迭代次数和独立运行次数;若达到满足条件,则输出最后一代的群体,然后根据分类正确率的误差范围δ和解差分度θ筛选出多个差分度较大的最优解,否则就回到步骤S3。/n

【技术特征摘要】
1.一种基于粒子群算法的多模态特征选择方法,其特征在于,包括以下步骤:
S1、对UCI数据库数据集中的数据进行预处理;
S2、根据用户要求设置参数,包括群体大小,迭代次数,独立运行次数;然后初始化候选群体,包括粒子的速度和位置,内部权重w,加速系数c1和c2;
S3、采用基于拥挤度的集群小生境算法把整个候选种群划分为多个子种群;
S4、更新每个粒子的历史最优位置pbest;
S5、更新每个小生境的全局最优位置lbest;
S6、更新粒子的速度以及位置;
S7、进行跳跃变异操作;
S8、根据评估函数计算每个个体的适应值,采用分类正确率作为筛选个体的评价指标;
S9、判断是否达到用户设置的迭代次数和独立运行次数;若达到满足条件,则输出最后一代的群体,然后根据分类正确率的误差范围δ和解差分度θ筛选出多个差分度较大的最优解,否则就回到步骤S3。


2.根据权利要求1所述的一种基于粒子群算法的多模态特征选择方法,其特征在于,所述步骤S1数据预处理的具体步骤如下:
S1-1、把非数据值统一转换为数据值,对缺失值填充为0;
S1-2、对每个属性进行数据归一化操作,统一落在[-1,1]区间;
S1-3、按照LIBSVM格式提取出属性值和类别值,并且把数据保存在外部文档。


3.根据权利要求1所述的一种基于粒子群算法的多模态特征选择方法,其特征在于,所述步骤S3中,在划分种群时把每个个体的连续实值转换为二进制字符串,然后用汉明距离计算个体与参考点的距离;
转换公式如下:



其中,表示第i个粒子第d维的二进制值,表示第i个粒子第d维的位置,比特位0表示该特征不被选择,比特位1表示该特征被选进特征子集。


4.根据权利要求1所述的一种基于粒子群算法的多模态特征选择方法,其特征在于,所述步骤S4中,更新历史最优位置pbest时考虑上适应值的大小以及特征数的大小;
更新公式如下:



其中,fit(pbesti(t))表示在第t代第i个粒子的历史适应值,fit(xi(t+1))表示在第t代第i个粒子的当前适应值;num(xi(t+1))表示在第t+1代第i个粒子的位置所对应的特征数;num(pbesti(t))表示在第t代第i个粒子的历史最优位置所对应的特征数;xi(t+1)表示在第t+1代第i个粒子的位置,pbesti(t)表示在第t代第i个粒子的历史最优位置;pbesti(t+1)表示在第t+1代第i个粒子的历史最优位置;
若粒子记录的历史最优值比粒子当前适应值要小,便采用粒子当前适应值更新历史最优值;若粒子记录的历史最优值和粒子当前适应值相等,便考虑pbest对应的特征数和x对应的特征数的大小,选两者较小的更新pbes...

【专利技术属性】
技术研发人员:胡晓敏张首荣陈伟能李敏
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

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

1