从基因到神经网络:从头开始理解和建立整洁的(增强拓扑的神经进化)

实用的神经进化:从基因到神经网络的帖子再现了Nyeat的创新和代码演练:从SCRATCH中理解和构建整洁(增强拓扑的神经进化)首先出现在数据科学上。

来源:走向数据科学

简介

拓扑(整洁)是一项强大的算法,由德克萨斯大学奥斯汀分校的肯尼斯·O·斯坦利(Kenneth O. Stanley)和瑞斯托·米克库兰(Risto Miikkulainen)在本文中。 Neat算法通过动态增强网络的复杂性在几代人的身上,向标准的神经进化技术引入了一个新想法。

本文

在本文中,我将浏览整洁的算法及其在Python中的实施,重点关注算法的设计决策以及使得既优雅又挑战繁殖的复杂性。本文旨在针对技术受众,熟悉神经网络和进化计算的基础。

进化算法:一般概述

跳入整洁之前,让我们回顾进化算法的基础。受遗传学和自然选择的启发,进化算法是一种优化算法,通过迭代改善候选解决方案的种群来解决复杂问题。

核心思想是模仿生物进化的过程:

  • 初始化:该过程从生成初始候选解决方案开始。该初始溶液是随机生成的,每个溶液通常表示为“基因组”或“染色体”,该溶液编码其特征和特征。
  • 初始化: 人口
  • 评估:根据其解决给定问题的能力,对人群中的每个人进行评估。这是使用适应性函数完成的,该功能将数值得分分配给每个解决方案。健身越高,解决方案越好。
  • 评估: 健身功能
  • 选择:根据他们的健身,一部分人口被选为下一代的“父母”。具有较高健身得分的个体被选为更高的可能性。
  • 选择: 复制: 遗传操作员 交叉: 突变: 替换: 终止:

    是什么使整洁特别?

    匹配基因