基于考虑成本敏感的人工蜂群算法求解多目标优化问题附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电子书和数学建模资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值