首页 > 解决方案 > 如果 ANN 产生完全不同的结果,该怎么办?

问题描述

我正在尝试训练一个人工神经网络,我知道之前有人问过这个问题,为什么结果会有所不同,答案是权重的初始化是随机的。

我目前正在尝试进行一些网格搜索来调整参数,但我发现我在完全相同的参数搜索上得到了非常不同的结果。

我的问题是调整超参数的最佳实践是什么?我在想一种方法是锁定随机种子,但我担心如果我锁定我的随机种子并以这种方式进行调整,那么如果我选择一个好的种子或者不是能够找到绝对最小值,这只是运气。

那么接下来的方法是只运行几次并找到最佳结果范围,然后使用这些权重吗?(如果是这样,有人知道该怎么做吗?我通过 sklearn 包装器使用 Keras 是KerasRegressor

任何帮助将不胜感激。如果需要,很乐意提供代码示例!

标签: machine-learningscikit-learnneural-networkdeep-learninggrid-search

解决方案


使用交叉验证来评估样本外的结果。从所有评估模型中选择最佳模型。此外,您应该有一个用于最终性能估计的测试集。

不用担心随机初始化权重担心过拟合。


推荐阅读