如何在matlab中使用遗传算法来选择特定数量的特征?

how to use Genetic algorithm in matlab for selection of specific number of features?

我正在尝试从 24*461 的数据集中 select 3 个特征。我的问题是在生成部分。交叉后,新的染色体可以有三个以上的1,因此也可以有三个以上的变量。在突变步骤中,当零变为一时,selected 特征的数量超过 3。任何帮助将不胜感激

解决这个问题的常用技术是施加一个"penalty",其中,任何具有三个以上1的染色体都会被加上惩罚。例如,如果一条染色体有五个 1,则将 2x 添加到染色体适应度分数。在这种情况下,任何超过三个 1 的染色体,逐渐从种群中移除,并允许其他(具有三个或更少 1)的个体保留在种群中。