我的问题与构建推荐系统有关。我正在使用tensorflow使用user_features、item_features和交互来训练模型。
如何处理新数据?
例如,每当用户点击一个项目时,我希望立即记录该交互,并从该交互中学习(针对该交互训练模型)。我该怎么做呢?
当前实现
现在,我遵循的是先训练模型,然后进行预测的传统方法。为了处理新的交互,我必须重新初始化图形,并使用所有数据重新训练以使其工作。
我希望对此有一些解决方案。
谢谢
发布于 2018-09-03 15:34:15
您不需要重新初始化图形。当您请求输出张量时,Tensorflow并不显式地知道您是在进行训练阶段还是测试阶段。相反,每当您评估优化器(例如tf.train.AdamOptimizer、tf.train.GradientDescentOptimizer等)的最小化操作时,就会发生反向传播。
通常情况下,您不会在测试期间执行此操作,因为您试图预测它在未见过的数据上的表现如何。但是,如果你想在进行初始预测后将该数据添加到训练集中,只要你有一种方法可以获得真值,这样它就可以计算误差张量。
即使在非在线学习中,训练和测试通过也很常见:如果您使用验证集来确定提前停止,那么您将在训练批次和验证批次之间交替,在训练批次和验证批次之间交替。
发布于 2018-10-02 01:14:29
根据您所描述的内容:
例如,每当用户点击一个项目时,我希望立即记录该交互,并从该交互中学习(针对该交互训练模型)。我该怎么做呢?
你可能想要做的是某种强化学习,在你的预先训练的模型之上。
。
下一步要研究的是OpenAI gym包。
关于如何将推荐系统与强化学习结合在一起的教程在第一节课中提供了here (免费审计)。
https://stackoverflow.com/questions/52144642
复制相似问题