这一篇是Xue Bing在一区cybernetics发的论文,里面提出了两个多目标PSO特征选择算法,一个是NSPSO另一个是CMDPSO。其中NSPSO是参考了NSGA2的框架和思想。下面具体说说CMDPSO。
CMDPSO全称是Crowding,Mutation,Dominance PSO算法。
NSPSO算法概述与实现
http://www.omegaxyz.com/2018/09/01/nspso/
http://www.omegaxyz.com/2018/09/22/nspso_matlab/
PSO算法
http://www.omegaxyz.com/2018/01/17/matlab_pso/
个体拥挤距离
在同一层Fk中需要进行选择性排序,按照个体拥挤距离(crowding distance)大小排序。个体拥挤距离是Fk上与i相邻的个体i+1和i-1之间的距离,其计算步骤为:
①对同层的个体距离初始化,令L[i]d=0(表示任意个体i的拥挤距离)。
②对同层的个体按照第m个目标函数值升序排列。
③对于处在排序边缘上的个体要给予其选择优势。
④对于排序中间的个体,求拥挤距离
⑤对于不同的目标函数,重复②到④的步骤,得到个体i的拥挤距离L[i]d,有限选择拥挤距离较大的个体,可以是计算结果在目标空间均匀地分布,维持群体的多样性。
伪代码
注意archive中存的是每一代的精英粒子集合
具体流程
①划分数据集
②初始化精英集合和存档Archive
③计算拥挤距离
④二进制锦标赛选择一个一个精英个体来作为gbest指导更新
⑤更新粒子
⑥使用变异算子
⑦粒子真实评价
⑧将LeaderSet加入存档
⑨迭代完成后计算存档中的两个目标值
更多内容请访问:http://www.omegaxyz.com/2018/10/15/cmdpso/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)