推荐系统 Overview
6、什么是推荐系统
7、Exploit&Explore问题
8、推荐系统的评价指标有哪些
9、如果让你推导推荐系统的架构,你会如何设计
10、为什么有些方法在工作中会不work
推荐系统
推荐系统是一种 信息过滤 系统,根据用户的历史行为、社交关系、兴趣点
算法可以判断用户当前感兴趣的物品或内容。你也可以将它理解为一家只为你而开的商店。店铺里摆放的都是你需要的,或者适合你的商品。
亚马逊CEO贝索斯说:如果我们有100万用户,我们将给他们100万个亚马逊网站
Content-based Filtering
最早人们使用的是基于内容的推荐方法,根据物品的属性为他们打上标签
再通过这些标签计算他们之间的相似度
Collaborative Filtering
协同过滤就是通过数据找到与你相似的用户,通过他们的行为和他们喜欢的内容。为你推荐你可能感兴趣的物品或内容
日常生活中,我们也会找到兴趣相同的朋友来帮我们推荐电影或者音乐
在推荐系统中,Using data重在“相似度”,Solve problems在于“推荐”
Thinking:data可以是物品本身的,也可以是基于用户行为的
物品本身:Content-based 基于物品本身的内容,而不是用户购买/浏览物品的行为
用户行为:
显性反馈数据:用户明确表示对物品的喜欢行为:评分,喜欢,收藏,购买
隐性反馈数据:不能明确反映用户喜好的行为:浏览,停留时间,点击
User-based,两个人共同喜欢的东西越多,那么两个人就越相似
Item-based,两个物品共同喜欢的人越多,这两个物品就越相似
如何进行“推荐”
UserCF,和你兴趣相投的用户,推荐他们喜欢的商品
ItemCF,给用户推荐那些和他们之前喜欢的物品相似的物品
(ItemCF不利用物品的内容属性计算物品之间的相似度,主要通过分析用户的行为记录计算物品之间的相似度)
Thinking: 如果没有大量的data怎么办?
=>冷启动问题:
用户冷启动:新用户来的时候,如何推荐
物品冷启动:新的物品,如何推荐
系统冷启动:新的网站上线,如何推荐
Exploit&Explore问题
Thinking:在线广告:如何进行广告投放,收益最大化?
对于固定流量来说,Exploit的这部分流量显然会产生收益,而Explore不一定能立刻就有收益。所以,如何分配E&E流量才能最大化收益呢
Thinking 冷启动问题:对于新用户时,如何通过若干次实验,猜出用户的大致兴趣?
Bandit算法解决冷启动:
如果用户对推荐的某个Topic感兴趣,就代表获得了收益。否则就表示遗憾
“选择-观察-更新-选择”的循环,将收益最大化
通过几次试验,刻画出新用户心中对每个Topic的感兴趣概率