首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整洁的XOR示例在每次运行时给出了不同的结果

整洁的XOR示例在每次运行时给出了不同的结果
EN

Data Science用户
提问于 2018-11-09 17:56:11
回答 1查看 522关注 0票数 1

我刚刚开始学习使用整洁的算法。当我读到“通过增强拓扑来进化神经网络”的论文和当前的python文档时,我在想我理解了整洁的基础知识。然而,在实践中我遇到了麻烦。

我已经从源代码(https://github.com/CodeReclaimers/neat-python.git)运行了XOR示例。然而,当我不止一次运行“进化-前馈”、“进化-前馈-并行”或“进化-最小”代码时,结果正在发生变化。例如,

当我运行“进化-感觉前进”时,它给出了:1

当我第二次运行相同的代码时,它会给出:2

每次跑步都会改变。在每次运行之前,我也删除了生成的整洁的检查点文件,但是结构仍然在改变。我想了解原因,我想我在这里遗漏了一些要点。

EN

回答 1

Data Science用户

回答已采纳

发布于 2018-11-09 18:54:50

如果每个网络近似地实现XOR函数,但在合理的错误范围内,那么这种行为就像设计的那样整洁。

神经网络允许多个等价解。即使使用固定的结构和随机梯度下降来学习一个简单的函数,每次都有很大的机会得到非常不同的权重。使用calls,它还探索替代架构,搜索包括对随机数生成器的许多调用,以便做出决策。

整洁的主要决定性步骤是选择过程--通过比较群体成员之间的优劣来对他们进行排名。然而,由于神经网络的多个设计几乎都能很好地解决异或问题,所以每次都不太可能找到相同的一个。

如果你需要精确地复制一个实验,你可以通过设置RNG种子来实现。我认为这可能只是对您正在使用的库调用random.seed(),但是有些库也可能有其他需要设置的RNG实例。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/40972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档