遗传算法中的子集选择与MMX_SSS算子解析
1. 索引表示与位串算子性能对比
在子集选择相关的操作中,对索引表示进行操作的算子表现优于所研究的任何位串算子。在对偏离负尊重(可能是变异)的各种形式的研究中发现,这些形式都受到收敛性的约束,不过具体细节似乎很关键。例如,MMx0.95通常表现强劲,在较难的任务中尤为突出;而SRARw(w ≤ 0.51)则始终表现不佳。对于这些任务而言,正尊重似乎比分类更重要。
此前的所有实验都是针对子集大小预先已知的任务。接下来将探讨如何处理子集大小也需要被发现的子集选择任务。
2. 子集大小未知时的子集选择
在许多涉及特征子集选择的实际问题中,子集大小往往事先并不清楚。通常情况下,如果不影响准确性,人们更倾向于选择较小的子集。
为应对这一挑战,设计了MMX_SSS交叉算子,该算子采用索引表示。它是上述MMXm算子的扩展,在染色体开头添加了一个新基因——子集大小(sss),具体染色体格式如下:
|基因|详情|
| ---- | ---- |
|sss基因|整数,范围从1到sss_max,通常在该范围内均匀随机初始化,取值决定了后续参与评估的基因数量|
|特征索引基因|取值范围为[1,|Θ|],同一染色体中不允许重复|
染色体长度由用户设置为某个值sss_max,该值应比实际所需更宽松。当评估染色体时,仅使用最左边的sss个基因(即表达基因),右边的基因则被忽略(即未表达基因)。因此,有价值的索引位于染色体前端会更有优势。
MMX_SSS算子的操作步骤如下:
1. 防止近亲繁殖 :
MMX_SSS算子在遗传算法中的应用解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



