在神经网络理论中 - 设置隐藏层的大小似乎是一个非常重要的问题。有没有标准如何选择隐藏层中的神经元数量?
答案 0 :(得分:2)
是的 - 这是一个非常重要的问题。基本上有两种方法可以做到这一点:
scikit-learn
这样的库有适当的模块。100
个dropout_parameter = 0.6
节点的双层网络,您正在学习混合模型 - 其中每个模型都是一个大小为40
的神经网络(约60
个节点已关闭)。这也可能被视为为您的任务找出最佳拓扑结构。答案 1 :(得分:1)
还有一些其他算法用于动态创建和修剪隐藏层神经元。我最熟悉的是Cascade Correlation,它可以为许多应用程序提供相当好的性能,尽管隐藏层以单个神经元开始并根据需要添加其他神经元。
如需进一步阅读,请参阅:
Scott E. Fahlman和Christian Lebiere的原始论文,The Cascade- Correlation Learning Architectur e。
•GáborBalázs'Cascade Correlation Neural Networks: A Survey.
•Lutz Precehelt的Investigation of the CasCor Family of Learning Algorithms Investigation of the CasCor Family of Learning Algorithms。
还有许多其他这样的动态构建隐藏层的算法,可以在各种.pdf研究论文中分散在互联网上。一些调查可能是值得的,以避免重新发明轮子,并可能找到你正试图解决的问题的正确方法。神经网络研究分布在许多不同的学科中,所以没有人知道那里还有什么;跟踪所有新算法是一个令人生畏的前景。我希望这有帮助。
答案 2 :(得分:1)
您必须设置隐藏图层中的神经元数量,使其不应超过您的训练示例的#。神经元的数量没有拇指规则。 例如:如果您使用的是MINIST数据集,那么您可能拥有~78K的训练示例。因此,请确保神经网络(784-30-10)= 784 * 30 + 30 * 10的组合少于训练示例。但是如果你使用like(784-100-10)那么它超过训练样例的#并且极有可能过度拟合。 简而言之,确保你没有过度适应,因此你有很好的机会获得好成绩。