推荐算法(一)

  1. 推荐算法

推荐系统(Recommendation System, RS),简单来说就是根据用户的日常行为,自动预测用户的喜好,为用户提供更多完善的服务。推荐按系统被广泛应用于电商购物推荐,电影推荐,音乐推荐,阅读浏览推荐。。。。。它的应用几乎无处不在。

那么推荐系统的目的是什么呢?

  • 帮助用户找到想要的商品(新闻/音乐/……),发掘长尾。

套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。

  • 降低信息过载

  互联网时代信息量已然处于爆炸状态,若是将所有内容都放在网站首页上用户是无从阅读的,信息的利用率将会十分低下。因此我们需要推荐系统来帮助用户过滤掉低价值的信息

  • 提高站点的点击率/转化率

  好的推荐系统能让用户更频繁地访问一个站点,并且总是能为用户找到他想要购买的商品或者阅读的内容。

  • 加深对用户的了解,为用户提供定制化服务

  可以想见,每当系统成功推荐了一个用户感兴趣的内容后,我们对该用户的兴趣爱好等维度上的形象是越来越清晰的。当我们能够精确描绘出每个用户的形象之后,就可以为他们定制一系列服务,让拥有各种需求的用户都能在我们的平台上得到满足。

2. 推荐算法有哪些?

  • 基于流行度的算法

根据热度,对内容进行排序,直接将当前最热的东西推荐给用户。优点是简单易实现,适用于新用户,缺点是没有进行个性化推荐,很可能推荐的不是用户喜欢的。

  • 协同过滤算法(collaborative filtering)CF

协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering),简单来说就是物以类聚,人以群分。

基于用户的协同过滤:

  1. 分析各个用户对item的评价(通过浏览记录、购买记录等);
  2. 依据用户对item的评价计算得出所有用户之间的相似度;
  3. 选出与当前用户最相似的N个用户;
  4. 将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户。

基于物品的协同过滤:

  1. 分析各个用户对item的浏览记录。
  2. 依据浏览记录分析得出所有item之间的相似度;
  3. 对于当前用户评价高的item,找出与之相似度最高的N个item;
  4. 将这N个item推荐给用户。
  • 基于内容的算法(content-based)

包括三步:

  • 物品表示(Item Representation):为每个item抽取出一些特征(也就是item的content了)来表示此item;
  • 特征学习(Profile Learning):利用一个用户过去喜欢(及不喜欢)的item的特征数据,来学习出此用户的喜好特征(profile);
  • 生成推荐列表(Recommendation Generation):通过比较上一步得到的用户profile与候选item的特征,为此用户推荐一组相关性最大的item。
  • 基于模型的算法

可以使用机器学习的算法,根据用户已经发生的行为,预测用户接下来可能的需求操作。

  • 混合算法

mixed 将多个算法的输出结果同时都推荐给用户

feature combination 将多个算法输出的特征进行融合然后利用其他算法产生推荐

cascade 将多个算法的推荐结果进行筛选后在推送

switching 根据实际情况的不断变化在不同的推荐算法中切换

3. 推荐系统评估

  • 线下评估
  • 线上评估

首先在实验阶段,进行线下评估,线下评估一般会从数据集中分出测试数据集,将设计好的系统在测试数据集上进行测试,评估系统性能,可以考虑以下几个评估标准:

  • RMSE(均方根误差)

  • MAE(平均绝对误差)

  • F1 score

线上评估通常采用ABtest的方式,将多个方案同时在线上进行测试,最终选择效果较好的方案。评价标准有CTR(转换率),CVR(点击率),GMV(成交额)等。

猜你喜欢

转载自blog.csdn.net/qq_32799915/article/details/82985115
今日推荐