7

我正在尝试开发一个神经网络来预测时间序列。

据我了解,我正在使用训练集训练我的神经网络,并使用测试集对其进行验证。

当我对结果感到满意时,我可以使用我的神经网络来预测新值,而神经网络本身基本上就是我使用训练集调整的所有权重。

这个对吗?

如果是这样,我应该只训练我的网络一次,然后只使用我的网络(权重)来预测未来的值。您通常如何避免重新计算整个网络?我是否应该将所有权重保存在数据库或其他东西中,这样我就可以随时访问它而无需再次训练它?

如果我的理解是正确的,我可以受益于在专用计算机(例如超级计算机)上进行繁重的计算,然后在网络服务器、iPhone 应用程序或类似的东西上使用我的网络,但我不知道如何存储它。

4

1 回答 1

5

为了让你的神经网络持久化,你可以pickle做到。您不需要重新计算经过训练的腌制网络的权重,您所需要做的就是解开网络并使用它来进行新的预测。

有这样的库joblib可用于更有效的序列化/酸洗

是否重新训练 NN 的问题并非微不足道。这取决于您使用网络的确切用途;比如说强化学习可能需要你重新训练新的信念。但在某些情况下,并且可能在这种情况下,一次且总是使用经过训练的网络可能就足够了,或者在您拥有更多现场数据的未来重新训练。

于 2016-08-10T08:20:09.907 回答