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

【51CTO.com原创稿件】自 2010 年开始,推荐系统领域出现了许多不同的排序学习的方法。所谓排序学习,指的是推荐系统机器学习算法优化的指标是推荐给用户的物品的排名,而不是具体的评分。排序学习解决问题的思路一般是首先提出一个需要优化的信息检索领域的指标,然后对其进行优化。因为这个指标通常是不光滑的,所以首先需要对这个指标进行近似,使得其成为一个光滑函数。信息检索的指标不同,产生了不同的算法。本文所要介绍的算法叫做 Collaborative Less is More Filtering (CLimF) 是 2013 年在人工智能的权威会议 IJCAI 发布的文章。

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

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

RR 的正式定义如下:

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

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

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

CLiMF 与其他算法的比较:

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

作者简介:

汪昊,区块链公司科学家,前恒昌利通大数据部负责人,美国犹他大学本科/硕士,在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 10 篇。本科毕业论文获国际会议 IEEE SMI 2008 最佳论文奖。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

作者:汪昊_51CTO
原文链接:http://ai.51cto.com/art/201904/595380.htm