这个问题是别人问我的一个问题,想想也是一个常见问题,所以更新上来。
原问题:训练集与测试集划分后有可能某个物品只出现在测试集中,这种情况在训练时得不到该物品的潜在特征向量就无法得到用户对该物品的评级预测,这时该怎么计算RMSE?
答:
首先是可以得到该物品的特征向量的,同时也可以得到用户对该物品的评级预测的。
矩阵分解方法的目的是为了矩阵分数补全,通过将用户-物品-评分矩阵分解成用户矩阵 P 和物品矩阵 Q 进行补全。
而划分训练集和测试集的目的是为了验证方法的效果。在使用训练集进行训练的时候,我们可以得到完整的 P 矩阵和 Q 矩阵,自然可以对所有的用户-物品的分数进行预测。
至于验证效果,可以直接对比测试集里的用户-物品-评分和预测出来的用户-物品-评分是否一致,并计算出相应的RMSE值。
另,因为矩阵分解的 P 和 Q 矩阵一开始都会进行初始化,即使这个物品从来都没有出现过,这个物品向量还是有的,与用户向量相乘即可得到该用户对此物品的预测评分,即可比较RMSE值。