如何利用CLimF算法设计推荐系统

yedaoxiaodi 2019-04-23

CLimF 优化的信息检索指标叫做 Reciprocal Rank (RR) ,是指的推荐给用户的物品列表中第一个被点击的物品的排名的倒数。例如,系统推荐了 10 个电影给用户,用户第一个点击的是在系统中排名第 2 的电影,那么用 RR 来衡量系统,得分就是 1/2 。因为推荐给用户的物品的列表都是按照推荐系统给出的评分从高到低进行排序的,因此排名越靠前的物品是越被推荐系统看好。所以用户点击的物品排名越靠前,说明推荐的效果越好。这是 RR这个指标设计的初衷。

CLimF 试用的场景是推荐给用户的物品不多,但是比较有价值的情况。比如社交网络里的友邻推荐,在这种场景下,Top 3 或者 Top 5 的推荐通常更有价值。

RR 的正式定义如下:

如何利用CLimF算法设计推荐系统

尽管我们最新得到的公式是个光滑函数,但是它的复杂度极高,因此在实际应用中,我们需要找到替代的公式。

如何利用CLimF算法设计推荐系统

最后我们通过随机梯度下降的方式对最优化函数进行求解。

CLiMF 函数跟其他算法相比的测评效果如下:

如何利用CLimF算法设计推荐系统

CLiMF 与其他算法的比较:

  • CofiRank : CofiRank 是第一个将排序学习应用于推荐系统的算法,它优化的指标是 NDCG ,不适合二分类问题
  • Bayesian Personalized Ranking : 需要负样本,而 CLiMF 只需要正样本

作者简介:

相关推荐