EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
这一篇是Xue Bing在一区cybernetics发的论文,里面提出了两个多目标PSO特征选择算法,一个是NSPSO另一个是CMDPSO。其中NSPSO是参考了NSGA2的框架和思想。下面具体说说CMDPSO。 CMDPSO全称是Crowding,Mutation,Dominance PSO算法。
$ M2 I' E* l/ n) Y' q3 P/ l J个体拥挤距离在同一层Fk中需要进行选择性排序,按照个体拥挤距离(crowding distance)大小排序。个体拥挤距离是Fk上与i相邻的个体i+1和i-1之间的距离,其计算步骤为:
" l& `$ `' {% `& H. `- i& w①对同层的个体距离初始化,令Ld=0(表示任意个体i的拥挤距离)。
4 L9 [; x6 T: x8 [0 t②对同层的个体按照第m个目标函数值升序排列。2 h$ O" o N! E$ H/ n8 n
③对于处在排序边缘上的个体要给予其选择优势。
' `3 x, z! @' ?* l3 c. j7 Y$ q& {④对于排序中间的个体,求拥挤距离: (其中:L[i+1]m为第i+1个体的第m目标函数值fmax,fmin分别为集合中第m目标函数的最大和最小值。)2 C" `$ e0 ^' k
⑤对于不同的目标函数,重复②到④的步骤,得到个体i的拥挤距离Ld,有限选择拥挤距离较大的个体,可以是计算结果在目标空间均匀地分布,维持群体的多样性。 伪代码注意archive中存的是每一代的精英粒子集合 具体流程- ①划分数据集
- ②初始化精英集合和存档Archive
- ③计算拥挤距离
- ④二进制锦标赛选择一个一个精英个体来作为gbest指导更新
- ⑤更新粒子
- ⑥使用变异算子
- ⑦粒子真实评价
- ⑧将LeaderSet加入存档
- ⑨迭代完成后计算存档中的两个目标值
9 o* s, X3 {! s$ H; T1 L& K 5 W/ Z$ H$ X1 l2 u$ A) `. d) G
|