概述
- 推荐算法
推荐系统(Recommendation System, RS),简单来说就是根据用户的日常行为,自动预测用户的喜好,为用户提供更多完善的服务。推荐按系统被广泛应用于电商购物推荐,电影推荐,音乐推荐,阅读浏览推荐。。。。。它的应用几乎无处不在。
那么推荐系统的目的是什么呢?
- 帮助用户找到想要的商品(新闻/音乐/……),发掘长尾。
套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。
- 降低信息过载
互联网时代信息量已然处于爆炸状态,若是将所有内容都放在网站首页上用户是无从阅读的,信息的利用率将会十分低下。因此我们需要推荐系统来帮助用户过滤掉低价值的信息
- 提高站点的点击率/转化率
好的推荐系统能让用户更频繁地访问一个站点,并且总是能为用户找到他想要购买的商品或者阅读的内容。
- 加深对用户的了解,为用户提供定制化服务
可以想见,每当系统成功推荐了一个用户感兴趣的内容后,我们对该用户的兴趣爱好等维度上的形象是越来越清晰的。当我们能够精确描绘出每个用户的形象之后,就可以为他们定制一系列服务,让拥有各种需求的用户都能在我们的平台上得到满足。
2. 推荐算法有哪些?
- 基于流行度的算法
根据热度,对内容进行排序,直接将当前最热的东西推荐给用户。优点是简单易实现,适用于新用户,缺点是没有进行个性化推荐,很可能推荐的不是用户喜欢的。
- 协同过滤算法(collaborative filtering)CF
协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering),简单来说就是物以类聚,人以群分。
基于用户的协同过滤:
- 分析各个用户对item的评价(通过浏览记录、购买记录等);
- 依据用户对item的评价计算得出所有用户之间的相似度;
- 选出与当前用户最相似的N个用户;
- 将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户。
基于物品的协同过滤:
- 分析各个用户对item的浏览记录。
- 依据浏览记录分析得出所有item之间的相似度;
- 对于当前用户评价高的item,找出与之相似度最高的N个item;
- 将这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(成交额)等。
最后
以上就是坚强星月为你收集整理的推荐算法(一)的全部内容,希望文章能够帮你解决推荐算法(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复