Mxnet (44): 使用神经协作过滤(NeuMF模型)进行个性化排名
1.个性化排名 前面对电影数据集的处理只考虑了明确的反馈,通过观察到的等级进行了训练和测试。这种方法有两个缺点: 在实际应用中,大多数的反馈都是隐式的,显式的反馈往往需要更高的收集成本。 未被观察的哪些用户-项目交互可能用于预测用户的喜好但是被忽略了,当这些缺失不是随机导致的而是由于用户的喜好导致的这些方法将不在适用。很显然,未观测的这些用户-项目对是用户真实的负反馈(用户对这些不感兴趣才没看)和缺失值(正常随机的缺失,跟喜好无关,将来有可能会看)的结合体。如果简单的忽略其实是不对的。 为了解决这个问题,针对从隐式反馈生成排名推荐列表的一类推荐模型已获得普及。通常, 可以使用逐点、逐对以及逐列的方法优化个性化排名模型。逐点方法一次只考虑一次交互,并训练分类器或回归器来预测个人偏好。矩阵分解和AutoRec使用逐点目标进行了优化。 逐对方法为每一个用户考虑一对项目并且致力于为这对项目最优排序。通常, 逐对方法更适合于排序任务,因为预测一对的顺序会使人联想到排序。逐列方法将整列的项目近似排序, 如直接优化排名指标:Normalized Discounted Cumulative Gain ( NDCG )。然而, 列表方法比点方法或成对方法更加复杂且计算量大。 1.1 贝叶斯个性化排序 贝叶斯个性化排序(BPR)是从最大后验估计量得出的成对个性化排序损失