我被告知要实现神经网络做预测。 所以,我创建了一个前馈多层感知与BP算法,它是工作的罚款。 但我需要得到的结果越来越快。 所以我thaught关于遗传算法牛逼ooptimize在训练课的权重。
你怎么建议编码chromosme?
我已经做到了为(-100,100)随机生成的权重表中,但它不是给不平凡的业绩。 我想,问题是,产生权重的随机表限制了解决方案的空间,即使基因突变的概率是很高的。
任何想法如何编码的chromosme的权重,以让遗传算法工作的高度?
提前致谢。
我被告知要实现神经网络做预测。 所以,我创建了一个前馈多层感知与BP算法,它是工作的罚款。 但我需要得到的结果越来越快。 所以我thaught关于遗传算法牛逼ooptimize在训练课的权重。
你怎么建议编码chromosme?
我已经做到了为(-100,100)随机生成的权重表中,但它不是给不平凡的业绩。 我想,问题是,产生权重的随机表限制了解决方案的空间,即使基因突变的概率是很高的。
任何想法如何编码的chromosme的权重,以让遗传算法工作的高度?
提前致谢。
在短(已在评论已被建议): 不这样做 。 遗传算法是不能有效的优化 ,因为它们是缓慢的,启发式和需要大量资源的问题,一个简单的metaoptimizers。 特别是他们不应该被起诉到训练神经网络,对此我们有非常有效的训练方法dozesns(SGD,Rmsprop,亚当)。 它们可以被用来优化,虽然一些更抽象的部分,如网络架构等,其中一个不能计算有效的梯度,甚至使用其他明确定义的数学过程。
如果你想使用任何进化算法优化神经网络的权重,可能是更好的办法是使用反向传播然后使用重物最大和最小编码限制了学习网络的一次。 可以说,权重分布-1.0988333,1.2982293之间,我会采取[-2,2] /( - 2,2),使得可以在该时间间隔之间产生染色体将是朝向更好的解决方案更倾向于和可以进一步优化通过算法。 [-100,100]的间隔将是在产生最优解慢。 当然,你会如何在获得最佳的解决方案定义您的健身功能的问题。 一种方法会得到给定的权重最小的均方根值。