基于考虑成本敏感的人工蜂群算法求解多目标优化问题附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统
⛄ 内容介绍
由于不同的特征可能需要不同的成本,因此成本敏感的特征选择问题在实际应用中变得越来越重要。通常,它包括两个主要的相互冲突的目标,即最大化分类性能和最小化特征成本。然而,大多数现有方法将此任务视为单目标优化问题。为了满足决策者的各种需求,本文研究了一种多目标特征选择方法,称为双档案多目标人工蜂群算法(TMABC-FS)。两个新的运营商,即,针对受雇蜜蜂的收敛引导搜索和针对旁观者蜜蜂的多样性引导搜索,旨在获得一组具有良好分布和收敛性的非支配特征子集。并采用领导者档案和外部档案两个档案来增强对不同种类蜜蜂的搜索能力。所提出的 TMABC-FS 在 UCI 的几个数据集上进行了验证,并与两种传统算法和三种多目标方法进行了比较。结果表明,TMABC-FS 是解决成本敏感的特征选择问题的有效且稳健的优化方法。

⛄ 部分代码
function [newAC,gbest]=up_vac1(AC,oldAC,arch_size,popsize,M,k)
%------
x=[AC;oldAC];
ss=size(x,1);
for i=1:ss-1
for j=i+1:ss
if x(i,k+1:k+M)==x(j,k+1:k+M)
x(i,1:k)=inf;
break;
end
end
end
y=[];
for ii=1:size(x,1)
if x(ii,1)~=inf;
y=[y;x(ii,:)];
end
end
intermediate_chromosome=non_domination_sort_mod(y,M,k);
newAC1= replace_chromosome(intermediate_chromosome,arch_size,M,k);
newAC=newAC1(:,1:k+M);
crowd_value=newAC1(:,k+M+2);
rand_value=newAC1(:,k+M+1);
g_size=size(newAC,1);
for(i=1:popsize)
a1=ceil(g_size*rand);
a2=ceil(g_size*rand);
if(rand_value(a1) gbest(i,:)=newAC(a1,:); elseif (rand_value(a1)==rand_value(a2)) if crowd_value(a1)>crowd_value(a2) gbest(i,:)=newAC(a1,:); else gbest(i,:)=newAC(a2,:); end else gbest(i,:)=newAC(a2,:); end end [1] Zhang Y , Cheng S , Shi Y , et al. Cost-sensitive feature selection using two-archive multi-objective artificial bee colony algorithm[J]. Expert Systems with Applications, 2019, 137. ❤️部分理论引用网络文献,若有侵权联系博主删除 ❤️ 关注我领取海量matlab电子书和数学建模资料⛄ 运行结果

⛄ 参考文献

⛄ 完整代码
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
