基于隐变量的矩阵分解有如下缺点:
推荐结果不具有很好的可解释性,分解出来的用户和物品矩阵的每个维度无法和现实生活中的概念来解释,无法用现实概念给每个维度命名,只能理解为潜在语义空间。
除了上面一点,现实的评分矩阵特别稀疏。为了使得数据更加稠密,可以加入了历史的隐式反馈数据(比如用户浏览过浏览过某个电影就可以当做一定成的喜爱的正反馈)。
我们也可以使用用户的标签(比如年龄,性别,职业)推测用户对每个因素的喜爱程度。
还可以考虑随着时间变化的动态因素以及不同因素的置信度。
类似于之前文章中减去平均打分的方法(将来可能还会讲)。我们观测到的评分数据大部分都是都是和用户或物品无关的因素产生的效果,即有很大一部分因素是和用户对物品的喜好无关而只取决于用户或物品本身特性的。例如,对于乐观的用户来说,它的评分行为普遍偏高,而对批判性用户来说,他的评分记录普遍偏低,即使他们对同一物品的评分相同,但是他们对该物品的喜好程度却并不一样。同理,对物品来说,以电影为例,受大众欢迎的电影得到的评分普遍偏高,而一些烂片的评分普遍偏低,这些因素都是独立于用户或产品的因素,而和用户对产品的的喜好无关。
我们把这些独立于用户或独立于物品的因素称为偏置(Bias)部分,将用户和物品的交互即用户对物品的喜好部分称为个性化部分。在矩阵分解模型中偏好部分对提高评分预测准确率起的作用高于个性化部分所起的作用。
展开