基于考虑成本敏感的人工蜂群算法求解多目标优化问题附matlab代码

简介: 基于考虑成本敏感的人工蜂群算法求解多目标优化问题附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)<rand_value(a2))

       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电子书和数学建模资料


相关文章
|
8天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
87 14
|
8天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
9天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
9天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
9天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
9天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

热门文章

最新文章