我正在尝试开发一个神经网络来预测时间序列。
据我所知,我正在用一个训练集训练我的神经网络,并用一个测试集验证它。
当我对我的结果感到满意时,我可以使用我的神经网络来预测新的值,而神经网络本身基本上就是我使用我的训练集调整的所有权重。
正确吗?
如果是这样,我应该只训练我的网络一次,然后只使用我的网络(权重)来预测未来的值。通常如何避免重新计算整个网络?我是否应该将所有的权重保存在数据库中,这样我就可以随时访问它,而不必再次训练它?
如果我的理解是正确的,我可以从在专用计算机(例如超级计算机)上进行繁重的计算中受益,然后只需在web服务器上使用我的网络,iPhone应用程序或类似的东西,但我不知道如何存储它
要使你的神经网络持久,你可以pickle
它。您不需要重新计算训练-pickle 网络的权重,您所需要做的就是解pickle网络并使用它进行新的预测。
有像joblib
这样的库可以用于更有效的序列化/酸洗。
是否重新训练神经网络的问题并不简单。这取决于你使用网络的具体目的;他说,强化学习可能需要你用新的信念进行再训练。但在某些情况下,可能在这种情况下,只使用一次训练过的网络就足够了,或者在将来有更多的现场数据时重新训练。