第一天——推荐系统简介
目录
1.推荐系统介绍(what why where)
1.1什么是推荐系统
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代。在这个时代,无论是信息消费者(用户)还是信息生产者(创作者)都遇到了很大的挑战:作为信息消费者,如何从大量信息中找到自己感兴趣的信息是一件非常困难的事情;作为信息生产者, 如何让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就是解决这一矛盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己 有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。即:不需要⽤户提供明确的需求,通过分析⽤户的历史⾏为给⽤户的兴趣进⾏建模,从⽽主动给⽤户推荐能够满⾜他们兴趣和需求的信息。
从物品的角度出发,推荐系统可以更好地发掘物品的长尾(long tail)。美国《连线》杂志主编Chris Anderson在2004年发表了“The Long Tail”(长尾)一文并于2006年出版了《长尾理论》 一书。该书指出,传统的80/20原则(80%的销售额来自于20%的热门品牌)在互联网的加入下会 受到挑战。主流商品往往代表了绝大多数用户的需求,而长尾商品往往代表了一小部分用户的个性化需求。因此,如果要通过发掘长尾提高销售额,就必须充分研究用户的兴趣,而这正是个性化推荐系统主要解决的问题。推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。
1.2为什么存在推荐系统
推荐系统存在的前提:
- 信息过载
- ⽤户需求不明确
推荐系统的⽬标:
- ⾼效连接⽤户和物品,发现长尾商品
- 留住⽤户和内容⽣产者,实现商业⽬标
1.3推荐系统可以用在哪些地方
推荐系统广泛应用于我们日常生活中,如下图所示:
2.推荐系统评估
2.1评估指标
- 准确性
- 覆盖率
- 多样性:推荐列表中两两物品的不相似性
- 新颖性:未曾关注的类别、作者;推荐结果的平均流⾏度
2.2评估方法
2.2.1评估类型
问卷调查:成本⾼
离线评估:
-
只能在⽤户看到过的候选集上做评估,且跟线上真实效果存在偏差
-
只能评估少数指标,
-
速度快,不损害⽤户体验
在线评估:A/B testing
实践:离线评估和在线评估相结合,定期做问卷调查
2.2.2A/B testing方案
单层实验:
以某种分流的⽅法(随机、uid%100),给每个实验组分配⼀定的流量。每个实验组配置不同的实验参数。
-
只能⽀持少量实验,不利于迭代
-
实验之间不独⽴,策略之间可能相互影响
-
分流⽅式不灵活
多层重叠实验框架:
- 保留单层实验框架易⽤,快速的优点的同时,增加可扩展性,灵活 性,健壮性。
- 核⼼思路:将参数划分到N个⼦集,每个⼦集都关联⼀个实验层, 每个请求会被N个实验处理,同⼀个参数不能出现在多个层中。
3.推荐系统实战
3.1如何解决冷启动问题
3.1.1⽤户冷启动:如何为新⽤户做个性化推荐
1.收集⽤户特征
- ⽤户注册信息:性别、年龄、地域
- 设备信息:定位、⼿机型号、app列表
- 社交信息、推⼴素材、安装来源
2.制造粗粒度选项,引导⽤户填写兴趣
3.transfer learning:使⽤其它站点的⾏为数据。例如腾讯视频 &QQ⾳乐,今⽇头条&抖⾳
4.新⽼⽤户推荐策略的差异
- 新⽤户在冷启动阶段更倾向于热门排⾏榜,⽼⽤户会更加需要长尾 推荐(参考Performance of recommender algorithms on top-n recommendation tasks,Netfl[email protected])
- 推荐候选的代表性&多样性
- Explore Exploit⼒度
- 使⽤单独的特征和模型预估
- 保护⽤户体验(物品冷启动探索、⼴告、推送)
3.1.2物品冷启动:如何将新物品推荐给⽤户(协同过滤)
对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户。
3.1.3系统冷启动:⽤户冷启动+物品冷启动
在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表