我上次关于ANN的讲座是在不久前,但我目前正面临一个我想要使用的项目。
所以,基础知识 - 比如什么类型(多层前馈网络),由进化算法(由项目给出)训练,有多少输入神经元(8)和多少输出神经元(7) ) - 已设定。 但我现在正试图弄清楚我应该使用多少个隐藏层以及每个层中有多少个神经元(ea不会修改网络本身,只会修改权重)。
是否有一般规则或指导如何解决这个问题?
答案 0 :(得分:2)
典型的神经网络依赖于隐藏层,以便汇聚于特定的问题解决方案。大约10个神经元的隐藏层是具有很少输入和输出神经元的网络的标准。但是,试用错误方法通常效果最好。由于神经网络将通过遗传算法进行训练,隐藏神经元的数量可能不会发挥重要作用,特别是在训练中,因为神经网络的重量和偏差会被反向传播等算法修改。
答案 1 :(得分:2)
此问题的最佳方法是实现级联关联算法,其中根据需要顺序添加隐藏节点以降低网络的错误率。事实证明这在实践中非常有用。
当然,另一种选择是对各种价值观的蛮力测试。我不认为诸如“10或20是好的”这样的简单答案是有意义的,因为您通过基函数直接解决高维空间中数据的可分离性。
答案 2 :(得分:0)
正如rcarter所说,试验和错误可能会很好,但还有另外一件事你可以尝试。
您可以使用遗传算法来确定隐藏层的数量或其中的神经元数量。
我用一堆随机森林做了类似的事情,试图找到给每棵树的树木,树枝和参数的最佳数量等。