【发布时间】:2021-03-27 18:53:55
【问题描述】:
我正在尝试在 Python 中使用机器学习。现在我正在使用 sklearn 和 TensorFlow。我想知道如果我有一个模型需要在新数据出现时更新该怎么办。例如,我有财务数据。我用 TensorFlow 构建了一个 LSTM 模型并对其进行了训练。但是每天都有新数据进来,我不想每天都重新训练模型。有没有办法只更新模型而不是从头开始重新训练?
在 sklearn 中,.fit() 方法的文档(以 DecisionTreeClassifier 为例)说它
根据训练集 (X, y) 构建决策树分类器。
所以看起来它会从头开始重新训练整个模型。
在tensorflow中,.fit()方法(以Sequential为例)说
用固定数量的 epoch 训练模型(在 数据集)。
所以看起来它确实更新了模型而不是重新训练。但我不确定我的理解是否正确。我将不胜感激。如果 sklearn 确实使用 .fit() 重新训练了整个模型,是否有一个函数可以只更新模型而不是从头开始重新训练?
【问题讨论】:
-
两者都重新训练模型。您正在寻找的是在线学习(OL)。 OL 是一种机器学习方法,其中数据按顺序可用,我们使用它来预测每个时间步长的未来数据。但它有其缺点,它存在许多收敛问题(梯度消失),并且网络的最佳深度(通常)是未知的。根据我的经验,通常会每隔几天或几周对模型进行一次新数据的训练,然后部署新模型。
标签: python tensorflow scikit-learn