我正在尝试使用 MovieLens 数据集的潜在因子模型构建一个简单的推荐系统。从观察到的评分集中,我试图建立一个模型,将稀疏矩阵分解为N * K和K * M,其中 N 是用户数,M 是电影数,K 是维数在我试图学习的潜在空间中。我正在使用的损失函数:
是用户给出的评分看电影,是用户的潜在表示,是电影的潜在表征,是全球平均评级,是用户给出的平均评分和是给电影的平均评分. 注意:这里的评级是根据与全球平均评级的平均偏差进行调整的。
如果我认为正则化项为
模型将倾向于惩罚更常见的训练用户/电影,因此与长尾电影相比,流行电影倾向于使用这个正则化项受到更多惩罚。
考虑上述正则化项是否可以,或者是否有更好的方法来统一惩罚项目,而不管它们在训练数据中是否出现?