推荐系统实战笔记 简介
推荐系统
介绍
搜索的流量分布服从马太效应,而推荐的内容服从长尾长尾效应。
推荐系统目标是高效连接用户和物品,发现长尾商品;留住用户和内容生产者,实现商业目标。
推荐系统评估
常用指标
对于用户的反馈行为可以分为两个方面:显示反馈和隐式反馈
- 准确性
使用RMSE MSE 召回率等
工业界中
针对不同的应用于推荐内容有不同的评价方法。 - 覆盖率(指标)
覆盖率
信息熵(照顾了长尾)
基尼系数、
分层流量占比等 - 平衡准确性和新颖性
exploitation 和 exploration
Bandit算法(多臂老虎机问题)原理:(强化学习用到)
1.Epsilon-greedy:以1-epsilon的概率选取当前收益最大的臂,以epsilon的概率随机选取一个臂。(不做探索)
2.uppper confidence bound:均值越大,标准差越小,被选中的概率越大
3.Thompson sampling:每个臂维护一个beta分布,每次从现有分布产生随机数,选择随机数最大的臂。
Bandit算法应用:兴趣探索、冷启动探索、LinUCB(加入特征信息。用user和item的特征预估回报及其置信区间)、COFIBA(bandit结合协同过滤)
除了bandit算法,EE实践包括兴趣扩展(相似、搭配推荐)graph walk、人群算法(userCF、聚类)、平衡个性化与热门推荐、随机丢弃行为数据、随机扰动 等
评估方法
离线评估(偏差、速度快、不影响用户体验)、在线评估(AB testing)
AB testing:用户分流实验,给每个实验组配不同实验参数。(不灵活、相互影响)
多层重叠实验框架(Overlapping Experiment Infrastructure):改进了AB testing
推荐系统发展
发展阶段
- 关联规则、热门推荐等统计方法
- 矩阵分解等ML方法,离线计算推荐列表
- 召回+learn to rank重排序
- 召回+排序实时化
- 深度学习,embedding
- 智能化
欢迎关注我的个人公众号,记录学习历程