Python Tensorflow在线学习

Python Tensorflow在线学习,python,tensorflow,machine-learning,reinforcement-learning,Python,Tensorflow,Machine Learning,Reinforcement Learning,我的问题与建立推荐系统有关。我正在使用tensorflow来训练具有用户特性、项目特性和交互的模型 如何处理新数据? 例如,每当用户点击一个项目时,我想立即记录该交互并从该交互中学习(为该交互训练模型)。我该怎么做 当前实施 现在,我遵循传统的方法,首先训练模型,然后根据模型进行预测。为了处理新的交互,我必须重新初始化图形,并使用所有数据重新训练以使其工作 我希望有一些解决办法。 谢谢您不需要重新初始化图形。当您请求输出张量时,Tensorflow并不明确知道您是在进行培训还是测试阶段。相反,只

我的问题与建立推荐系统有关。我正在使用tensorflow来训练具有用户特性、项目特性和交互的模型

如何处理新数据? 例如,每当用户点击一个项目时,我想立即记录该交互并从该交互中学习(为该交互训练模型)。我该怎么做

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

我希望有一些解决办法。
谢谢

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

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


即使在非在线学习中,培训和测试通过也很常见:如果您使用验证集来确定提前停止,您可以在培训批次和验证批次之间进行选择,在培训批次和验证批次之间进行选择,在培训批次和验证批次之间进行选择,在培训批次和验证批次之间不进行选择。

根据您的描述:

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

你可能想做的是某种强化学习,等等 你的训练前模型的顶部

接下来要研究的是OpenAI
gym
软件包


第一堂课(免费审计)提供了如何将推荐系统与强化学习结合在一起的教程。

矩阵分解不能用于矩阵中未显示的数据,这是问题的要点。你的答案没有关系。@hugo2121 OP没有提到使用矩阵分解。而强化学习标签是在我发布这个答案后,由OP以外的人添加的。基于tensorflow标签,我的工作是基于这样一种假设,即他们正在用通常的方法训练神经网络,“新数据”由特征的不可见值(或其组合)组成,而不是新的特征维度。这个假设可能是错误的,但除非OP决定返回以澄清,否则我将保留原样。