2017-10-10 69 views
2

我对SA(模拟退火)做了一些广泛的研究。即使如此,我也很难理解如何查找输入参数。Encog模拟退火参数

在我所有的研究中,似乎你只是在黑暗中开始拍摄并从那里调整。这看起来非常低效,不太可能产生高质量的结果。

如何找到在使用Encog的SA培训算法中使用哪些参数(例如:开始温度,停止温度,循环),以便生成高效和高质量的结果?

回答

2

模拟退火是一个过程,其中值的向量进行调整,以提高目标函数的分数。如果您正在使用Encog来训练带有模拟退火的神经网络,那么您尝试调整/优化的向量就是神经网络的权重。目标函数就是神经网络在与当前数据集的期望输出进行比较时得到的当前权重集的误差。考虑随机游走,这是最简单的优化方法之一。在这里,你选择一个重量,并增加或减少它(完全随机)。如果重量的变化降低了误差,那么重量变化就会变成永久性的,并且循环重复新的重量。如果错误没有改善,重量改变被撤消并且选择新的重量。您可以将随机行走视为在体重配置之间随机行走,并且只有在错误得到改善时才能保持新的位置。

模拟退火非常相似,但它接受这样一个事实,即有时您必须接受一个错误更严重的新位置,才能向更好的错误前进。旧有时你必须向后退一步,向前迈出两步。温度范围只是指定模拟退火接受不良移动的可能性。较高的温度比较低的温度更可能。温度开始升高并降低。在较低温度下,模拟退火基本上是随机游走。 cycles参数指定算法尝试移动到更好位置的次数。