推荐系统中TensorFlow矩阵分解模型的实现中损失函数的奇怪行为

时间:2018-08-27 09:52:39

标签: tensorflow google-cloud-platform recommender-systems

推荐系统的当前实现使用TF 1.8和WALS算法。使用self.fit(input_fn = input_fn)和运行时版本为1.8的ML Engine对模型进行了训练。数据集是在example之后使用tensorflow.train.Example(...)从下面显示的训练日志中提取的。

Extraction from training logs

使用某些默认参数进行拟合。损失值在第二次评估时确实降低了。但是,损失此后没有变化。在该训练中,最终的Root加权平方误差(rwse)为0.126。

稍后对超参数进行调整,并在以下训练中使用最佳参数集。该培训的结果如下所示。 Training logs using best parameters from hyperparameter tuning

此处需要注意的树事项。首先,开始时的损失值低于后面的评估步骤。一开始的值很低,很可能是由于从超参数调整的结果中选择了参数。后来损失值的增加看起来很奇怪。其次,第二次评估后损失值保持不变。当self.fit(input_fn = input_fn)用于模型训练时,此模式保持不变。第三,此训练中的最终rwse变为0.487,而在使用相同参数集rwse = 0.015进行超参数调整期间。

问题是,是否有人观察到类似现象?使用WALSMatrixFactorization类和self.fit(input_fn = input_fn,steps = train_steps)可以提高算法的性能吗?预先感谢您的帮助。

0 个答案:

没有答案