在Keras中实现矩阵分解时的奇怪行为

在Keras中实现矩阵分解时的奇怪行为,keras,matrix-factorization,Keras,Matrix Factorization,我正在使用Keras实现一个简单的推荐矩阵分解模型。我在运行模型时发现了一些奇怪的行为: 用户和项目的潜在因素趋向于零向量 即使我只尝试拟合非零值(其值为1),这些潜在因子仍然为0。更奇怪的是,即使真实值(始终为1)和预测值(用户和项目的潜在因素之间的点积)之间的差异应该增加(因为这些潜在因素正在变为零),培训和验证损失也会减少。我使用“mse”作为损失度量 我不知道发生了什么事。如果有人以前遇到过这个问题,如果您能分享您的解决方案,我将不胜感激。(很抱歉,我不能发布我的代码,因为它很乱)。

我正在使用Keras实现一个简单的推荐矩阵分解模型。我在运行模型时发现了一些奇怪的行为:

  • 用户和项目的潜在因素趋向于零向量
  • 即使我只尝试拟合非零值(其值为1),这些潜在因子仍然为0。更奇怪的是,即使真实值(始终为1)和预测值(用户和项目的潜在因素之间的点积)之间的差异应该增加(因为这些潜在因素正在变为零),培训和验证损失也会减少。我使用“mse”作为损失度量

我不知道发生了什么事。如果有人以前遇到过这个问题,如果您能分享您的解决方案,我将不胜感激。(很抱歉,我不能发布我的代码,因为它很乱)。谢谢。

你想做什么?你是怎么做的?这是我的。在每个历元之后,我打印出一个用户潜在因素和一个项目因素的范数,注意到两个范数逐渐变为0。这是我的。(很抱歉代码混乱,我仍在调试)。我发现损失最终变成了1,因为所有的点积都是0。