6.4.2 增加更多的用户信息输入

由于用户一般只对很少的标的物评分,导致评分过少,可能无法给该用户做出较好的推荐,这时可以通过引入更多的信息来缓解评分过少的问题。具体来说,我们可以整合用户隐式反馈(收藏、点赞、分享等)和用户人口统计学信息(年龄、性别、地域、收入等)到矩阵分解模型中。

对于隐式反馈信息,我们用I(u)来表示用户有过隐式反馈的标的物集合。是用户对标的物v的隐式反馈的嵌入特征向量(这里为了简单起见,不区分用户的各种隐式反馈,只要用户做了一次隐式反馈,就认为有隐式反馈,即采用布尔代数的方式来处理隐式反馈)。那么对用户所有的隐式反馈I(u),累计的特征贡献为

我们可以对上式进行如下归一化处理

对于用户人口统计学信息,假设S(u)是用户的所有人口统计学属性构成的集合,则,是属性a在嵌入特征向量空间的表示。那么用户u所有的人口统计学信息可以综合表示为

最终整合了用户隐式反馈和人口统计学信息后(包括偏差项)的用户预测公式可以表示为:

同样,我们可以写出最终的优化目标函数。由于公式太长,这里不写出来了。该模型也可以用SGD和ALS算法来求解。