推荐算法概述

大数据时代信息繁多冗杂,快速获得想要信息不仅有利于用户体验,也有利于平台用户运营。92年已被提出的推荐算法,在此背景下得到广泛应用。

1为什么需要推荐?

随着互联网发展,各类信息越来越多,如何进行有效的信息获取及展示成为用户和平台共同关注的问题,而有效的推荐可帮我们进行信息过滤,成为解决这项问题的重要手段。

  • 信息发布平台:提供个性化服务,提高用户体验,增加页面转化率,从而增加用户粘性,有利于用户运营。
  • 用户方:快速找到喜欢的信息,提高信息过滤速度,尤其可以快速找到喜欢却相对小众的信息。

2哪里有推荐?

推荐其实已经应用在我们生活的各个领域中。

比如微博中的榜单,就是将热门的东西推荐给用户,让用户可以快速关注到当前热点信息。

音乐播放器的推荐,就是根据用户历史的行为偏好,找到用户潜在喜欢的歌曲并进行推荐。

包括我们在电商平台购物时,每位用户的首页展示都会不一样,也是根据用户偏好和推荐算法,实现的千人千面。

3推荐算法有哪些?

推荐算法就是根据一定的规则,得到根据用户喜欢程度进行排列的推荐列表。除了根据热度进行推荐,目前主要的推荐算法有如下几种?

a. 协同过滤

协同过滤(Collaborative Filtering, CF)是最常用和经典的推荐算法,基本原理就是根据用户的历史偏好,发现用户、物品或者内容间的相关性,进行推荐。协同过滤可细分为基于用户、基于物品的推荐算法。

  • 基于用户(User-based Recommendation)

通过用户对物品的偏好找到与该用户相似的用户,将相似用户喜欢的物品推荐给当前用户。比如下方数据记录了4名用户对5种商品的购买行为,用户A和用户C都购买了牛奶和面包,相似度最高,因此将用户D购买过的果酱推荐给用户A。

适用范围:物品比用户多。

优点:能实现跨领域的结果,并且惊喜度高,能发现用户潜在兴趣。

缺点:很多时候用户间的共同行为较少,难以形成有意义的邻居集合,且用户间距离可能变化很快,不适合线上实时计算。

  • 基于物品(Item-based Recommendation)

基于物品的推荐算法尤其在电商行业应用最为广泛,他通过用户对物品的偏好找到相似物品,为用户推荐相似物品。根据下图记录,购买面包的用户都会购买果酱,所以面包和果酱有较高相似度,因此对买了面包的用户D推荐果酱。

适用范围:用户比物品多。

优点:推荐精度高,倾向于推荐同类商品,且物品间距离一段时间内稳定,能较快得出在线结果。

缺点:物品冷启动、数据稀疏时,效果较差。

  • 基于模型(Model-based Recommendation)

通过机器学习的方法预测用户对商品的喜好程度。常规的应用在推荐中的机器学习方法包括关联分析、聚类算法、回归算法、分类算法等,随着神经网络的研究和发展,基于神经网络的推荐算法也日渐火爆。神经协调过滤为例,是根据隐性反馈来推断用户的偏好值,可以很好的提升模型泛化能力,流程如下图所示。

适用范围:数据较为稀疏。

优点:很好的支持发现用户潜在偏好。

b. 基于内容的推荐

指根据物品的便签属性,推荐有相似标签的物品。如下夏洛特烦恼和人在囧途都是喜剧,那么基于内容的推荐就会给看过夏洛特烦恼的用户B推荐人在囧途。

适用范围:不能根据评分或名称,需要根据物品本质进行推荐。

优点:最直观,不受冷启动问题限制。

缺点:推荐精度较差,结果惊喜度不足。