首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Encog神经网络隐层的最佳神经元数

Encog神经网络隐层的最佳神经元数
EN

Stack Overflow用户
提问于 2015-04-10 15:25:51
回答 2查看 604关注 0票数 2

我有一个有结构的神经网络:7个输入神经元,3个输出神经元。

在互联网上,当隐藏层上的神经元数量是第一层神经元数的1.5 ~2倍时,效果最好。也就是说,在我的例子中,它将是14。我正在使用一种再静默传播训练方法来教网络在C#。

训练周期约为100 K。我真的得到了更好的结果-我有更多的隐藏神经元!不仅仅是数量的2倍,而是输入层数量的6倍。换句话说,目前共有44个隐神经元被定义!一切都在好转。

我开始觉得这里有什么不对劲..。隐神经元计数将如何影响网络的有效性?

我可以继续增加数量..。50.60..70我刚开始的时候只有11兆位,这样的训练结果很糟糕。请给出一个解释为什么更高的隐藏神经元计数提供十倍更好的结果,以及它如何影响网络对实际数据的有效性,而不是仅仅是训练集。(2k纪录)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-15 23:52:11

隐藏神经元的数量称为超参数.几乎所有的机器学习模型都有超参数.对于支持向量机,它是伽马和C等。基本上,这些超参数将影响您的模型在学习数据集方面的成功程度。这几乎总是取决于尝试和错误。对于神经网络,您应该坚持单一的隐藏层(见通用逼近定理)。

一般来说,隐藏的神经元越多,训练就越好。然而,这可能会鼓励过度适应。确保您正在使用培训集之外的数据测试网络。理想情况下,您希望只需要足够多的隐藏神经元,从而使神经网络达到这样的程度,即添加更多的内容并不能提高您在验证数据方面的性能(您没有使用这些数据来训练网络)。

票数 2
EN

Stack Overflow用户

发布于 2015-04-24 14:40:58

再澄清一次。你是否把你的数据分成两部分:训练和检查。例如,如果您有1000个示例,则可以用于培训800,并检查其余200个示例的结果。通常情况下,如果训练集的性能非常好,那么测试集的质量就会有一定程度的提高,然后下降。你需要在训练和检查的好结果之间找到平衡。

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

https://stackoverflow.com/questions/29565180

复制
相关文章

相似问题

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