#推荐系统是用来解决实际问题的,本质是通过一定的方式将用户与物品联系起来,而不同的推荐系统利用了不同的方式。
常见的有 社会化推荐、基于内容的推荐、基于协同过滤的推荐
#几乎所有的推荐系统应用都是由前台的展示页面、后台的日志系统以及推荐算法系统3部分构成。
#前端:
物品信息:比如电影的标题、海报
用户反馈模块:比如音乐的播放、评分、不感兴趣
推荐理由
#推荐系统评测:
一个完整的推荐系统一般存在3个参与方:用户、物品提供者、推荐系统本身
首先,推荐系统需要满足用户的需求,给用户推荐那些令他们感兴趣的物品。
其次,推荐系统要让各方物品提供者的物品都能够被推荐给对其感兴趣的用户,而不是只推荐几个大型的提供者。
最后,好的推荐系统能够收集用户反馈,不断完善推荐的质量,令三方共赢。
预测精准度是推荐系统领域的重要指标(没有之一)
好的推荐系统不仅仅能准确预测用户的行为,而且能够扩展用户的视野,帮助用户发现那些他们可能感兴趣,但却不那么容易发现的东西。
#推荐系统实验方法
1. 离线实验
优点:速度快,可以测试大量算法;
缺点:无法计算点击率、转化率等商业指标
2. 用户调查
优点:可以获得主观感受的指标,e.g. 满意度
缺点:成本较高,可能因被试样本不同,导致结果偏差
3. 在线实验
周期长,要有选择性;AB系统比较复杂,注意不同实验组间的用户分层是否有交叉;
#测评指标:
1. 用户满意度
2. 预测精准度
- 评分预测
- TopN推荐
3. 覆盖率(信息熵、基尼系数
4. 多样性
5. 新颖性(过滤已读、整体低流行度
6. 惊喜度(推荐和历史不相似,但觉得满意
7. 信任度(增加推荐系统的透明度、利用用户的好友信息给用户做推荐
8. 实时性
9. 健壮性(尽量使用代价比较高的用户行为
10. 商业目标
总结:离线优化的指标,应该是在限制既定覆盖率、多样性、新颖性的条件下,尽量优化预测精准度
#测评维度:
1. 用户维度(人口统计学信息、活跃度以及是不是新用户
2. 物品维度(包括物品属性、流行度、平均分以及是不是新加入的物品
3. 时间维度(包括季节、是否工作日、白天或晚上等
如何了解一个人,《论语》说:“听其言,观其行”。通过用户留下的文字和行为了解用户兴趣和需求。
实现个性化推荐最理想的情况是用户能在注册的时候主动告诉我们他喜欢什么,但这种方法有3个缺点:
1. 现在的自然语言理解技术很难理解用户用来描述兴趣的自然语言;
2. 用户的兴趣是不断变化的,但用户不会不停地更新兴趣描述;
3. 很多时候用户并不知道自己喜欢什么,或者很难用语言描述自己喜欢什么;