如何确定西蒙·芬克增量SVD方法的测试误差



我正试图为类似于Netflix的评级数据集实现这一点,并且我已经让它"工作";

每次迭代后,训练误差向0方向移动。

我如何确定这将如何很好地预测测试数据集(具有少量未用于训练的评级的用户)?放克掩盖了这一点,这真的让我很困惑。

我从以下矩阵开始:

  1. 用户特征矩阵(Users x Num_Features)
  2. Movies Feature Matrix (Movies x Num_Features)
  3. 评分矩阵(电影x用户)

我更新前两个矩阵的唯一方法是在算法中迭代地更新它们。我不认为我可以训练这些矩阵,然后引入一个全新的用户,并估计他的特征矩阵是什么样子。

我现在尝试的是从Rating Matrix中删除20%的评级,将它们移动到测试矩阵中,并用0填充所有空单元格(在成本函数中被忽略)。

你说

是什么意思?

不能用

通常计算探测集上的RMSE。随机初始化每个用户的特征,你会得到每个用户的一些"预测"值。

用水晶球来解释什么是"它不工作"。’的意思是我会说:你不能从问题集的学习集中随机排除20%的评分。要对用户进行预测,你至少需要从用户那里获得一个评级才能获得功能。所以你是正确的:

然后引入一个全新的用户

是不可能的。也许您将来自一个用户的所有评分放入探测集,因此用户特征不会被Simon Funk的SVD更新。

相关内容

最新更新