遗传算法与强化学习:原理、应用与实践
1. 遗传算法基础
遗传算法受到达尔文进化理论的启发,是经典人工智能搜索技术的流行替代方案。其表达式由属性、属性值以及逻辑运算符(如合取、析取和否定)组成,这种结构很自然地可以用树结构来表示。树的内部节点代表逻辑操作,叶子节点包含属性 - 值对。
- 重组操作 :会随机交换子树。
- 变异操作 :可能影响叶子节点,包括属性名、属性值或两者。有时也会将合取符号(^)与析取符号(_)互换。
在生成初始种群时需要特别注意,程序员要确保种群中已经包含一些有潜力的表达式。一种方法是创建一组随机表达式,并插入正例的描述。生存函数(需要最大化)可以定义为训练集上的分类准确率。
以下是一些相关思考问题:
- 达尔文进化过程和拉马克进化过程有什么区别?哪个更快?
- 多种群遗传算法解决了什么弱点?多个种群是如何解决这个问题的?
- 如果染色体是由位、数值和符号组成的“混合”字符串,如何实现变异操作?
- 在染色体为树数据结构的领域中,如何实现重组和变异操作?
2. 遗传算法在k - NN分类器中的应用
k - NN分类器的成功依赖于存储示例的质量和描述这些示例的属性选择。选择合适的示例和属性问题可以用搜索范式来解决,也可以使用遗传算法。
2.1 问题编码
可以将二进制染色体分为两部分:第一部分的每个位置对应一个训练示例,第二部分的每个位置对应一个属性。如果某一位的值为0,则忽略对应的示例或属性;否
超级会员免费看
订阅专栏 解锁全文
1077

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



