我上一次关于ANN的讲座是在一段时间之前,但我现在正面临一个项目,我想使用一个项目。
因此,基础知识-比如由进化算法(由项目给定)训练的类型(多层前馈网络),设置了多少个输入神经元(8个)和多少个输出神经元(7个)。但我目前正在试图弄清楚我应该使用多少隐藏层,以及这些层中的每一层中有多少神经元( ea不会修改网络本身,而只是修改权重)。
有没有关于如何弄清楚这一点的一般规则或指导方针?
发布于 2012-12-19 11:24:21
典型的神经网络依赖于隐藏层,以便收敛到特定的问题解决方案。对于输入和输出神经元很少的网络,大约10个神经元的隐藏层是标准的。然而,试错方法通常效果最好。由于神经网络将由遗传算法训练,因此隐含神经元的数量可能不会在训练中发挥显着作用,因为它会影响神经元上的权重和偏差,而这些权重和偏差会被像反向传播这样的算法修改。
发布于 2013-01-31 03:23:18
解决这个问题的最好方法是实现级联相关算法,其中根据需要顺序添加隐藏节点,以降低网络的错误率。这在实践中已经被证明是非常有用的。
当然,另一种选择是对各种值进行蛮力测试。我不认为像"10或20是好的“这样的简单答案是有意义的,因为您通过基函数直接解决了高维空间中数据的可分性。
发布于 2012-12-20 06:46:56
正如rcarter所建议的,尝试和错误可能会做得很好,但您可以尝试另一种方法。
你可以使用遗传算法来确定隐藏层的数量或其中的神经元数量。
我用一堆随机的森林做了类似的事情,试图找到树的最佳数量,树枝和给每棵树的参数,等等。
https://stackoverflow.com/questions/13944011
复制相似问题