首页 > 解决方案 > 使用 TensorFlow 进行在线学习

问题描述

我的问题与构建推荐系统有关。我正在使用 tensorflow 通过 user_features、item_features 和交互来训练模型。

我如何处理新数据?

例如,每当用户点击一个项目时,我想立即记录该交互并从该交互中学习(为该交互训练模型)。我怎样才能做到这一点?

当前实施

现在,我遵循传统的方法,首先训练模型,然后从中进行预测。为了处理新的交互,我必须重新初始化图形并使用所有数据重新训练以使其工作。

我希望有一些解决方案。

谢谢

标签: pythontensorflowmachine-learningreinforcement-learning

解决方案


您不需要重新初始化图表。当您请求输出张量时,Tensorflow 并没有明确知道您是在进行训练还是测试阶段。相反,每当您评估优化器(例如 tf.train.AdamOptimizer、tf.train.GradientDescentOptimizer 等)最小化操作时,就会发生反向传播。

通常你不会在测试期间这样做,因为你试图预测它在看不见的数据上的表现。但是,如果您想在进行初始预测后将该数据添加到训练集中,只要您有办法获得真实值以便计算误差张量,您就可以自由地这样做。

即使在非在线学习中,也经常穿插训练和测试通过:如果您使用验证集来确定提前停止,则您会在训练批次(进行反向传播)和验证批次(不进行反向传播)之间交替进行。


推荐阅读