前 言
第一篇 推荐系统基础认知
第1章 推荐系统介绍 2
1.1 推荐系统产生的背景 2
1.2 推荐系统解决什么问题 3
1.3 推荐系统的应用领域 3
1.4 推荐系统的定义 4
1.5 常用的推荐算法 5
1.5.1 基于内容的推荐 5
1.5.2 协同过滤 5
1.5.3 基于模型的推荐 6
1.5.4 基于社交关系的推荐 6
1.6 构建推荐系统的阻碍与挑战 6
1.7 推荐系统的价值 7
1.8 本章小结 8
第二篇 推荐系统基础算法
第2章 推荐算法基础 10
2.1 推荐系统范式 10
2.2 推荐算法3阶段pipeline架构 14
2.3 推荐召回算法 15
2.3.1 完全非个性化范式 15
2.3.2 完全个性化范式 15
2.3.3 群组个性化范式 19
2.3.4 标的物关联标的物范式 20
2.3.5 笛卡儿积范式 22
2.4 排序算法 22
2.4.1 logistic回归模型 23
2.4.2 GBDT模型 24
2.4.3 Wide & Deep模型 24
2.5 推荐算法落地需要关注的几个问题 24
2.5.1 推荐算法工程落地一定要用到排序模块吗 24
2.5.2 推荐算法服务于用户的两种形式 25
2.5.3 推荐系统评估 25
2.6 本章小结 25
第3章 基于内容的推荐算法 27
3.1 什么是基于内容的推荐算法 27
3.2 基于内容的推荐算法的实现原理 28
3.2.1 基于用户和标的物特征为用户推荐的核心思想 29
3.2.2 构建用户特征表示 29
3.2.3 构建标的物特征表示 30
3.2.4 为用户做个性化推荐 36
3.3 基于内容的推荐算法应用场景 39
3.4 基于内容的推荐算法的优缺点 40
3.4.1 优点 41
3.4.2 缺点 41
3.5 基于内容的推荐算法落地需要关注的问题 42
3.5.1 内容来源的获取 42
3.5.2 怎么利用负向反馈 43
3.5.3 兴趣随时间变化 44
3.5.4 数据清洗 44
3.5.5 加速计算与节省资源 44
3.5.6 解决基于内容的推荐越推越窄的问题 44
3.5.7 工程落地技术选型 45
3.5.8 业务的安全性 45
3.6 本章小结 45
第4章 协同过滤推荐算法 47
4.1 协同过滤思想简介 47
4.2 协同过滤算法原理介绍 48
4.2.1 基于用户的协同过滤 49
4.2.2 基于标的物的协同过滤 49
4.3 离线协同过滤算法的工程实现 49
4.3.1 计算topN相似度 50
4.3.2 为用户生成推荐 52
4.4 近实时协同过滤算法的工程实现 54
4.4.1 获取用户在一个时间窗口内的行为 54
4.4.2 基于用户行为记录更新标的物关联表CR 55
4.4.3 更新用户的行为记录HBase表:UAction 55
4.4.4 为用户生成个性化推荐 55
4.5 协同过滤算法的应用场景 57
4.5.1 完全个性化推荐 57
4.5.2 标的物关联标的物推荐 58
4.5.3 其他应用形式及场景 58
4.6 协同过滤算法的优缺点 58
4.6.1 优点 59
4.6.2 缺点 59
4.7 协同过滤算法落地到业务场景需要关注的问题 60
4.7.1 两种协同过滤算法的选择 60
4.7.2 对时间加权 60
4.7.3 关于用户对标的物的评分 61
4.7.4 相似度计算 61
4.7.5 冷启动问题 62
4.8 本章小结 63
第5章 基于朴素ML思想的协同过滤算法 65
5.1 基于关联规则的推荐算法 65
5.2 基于朴素贝叶斯的推荐算法 67
5.3 基于聚类的推荐算法 70
5.3.1 基于用户聚类的推荐 70
5.3.2 基于标的物聚类的推荐 71
5.4 YouTube基于关联规则思路的视频推荐算法 71
5.4.1 计算两个视频的相似度(关联度) 72
5.4.2 基于单个种子视频生成候选视频集 72
5.4.3 基于用户行为为用户生成推荐候选集 72
5.4.4 推荐结果排序 73
5.5 Google News基于贝叶斯框架的推荐算法 74
5.5.1 基于用户过去的行为来分析用户的兴趣点 75
5.5.2 利用贝叶斯框架来建模用户的兴趣 75
5.5.3 为用户做个性化推荐 78
5.6 Google News基于用户聚类的推荐算法 78
5.6.1 基于MinHash聚类 78
5.6.2 基于聚类为用户做推荐 80
5.7 本章小结 80
第6章 矩阵分解推荐算法 83
6.1 矩阵分解推荐算法的核心思想 83
6.2 矩阵分解推荐算法的算法原理 84
6.3 矩阵分解推荐算法的求解方法 85
6.3.1 利用SGD来求解矩阵分解 85
6.3.2 利用ALS来求解矩阵分解 86
6.4 矩阵分解推荐算法的拓展与优化 87
6.4.1 整合偏差项 87
6.4.2 增加更多的用户信息输入 87
6.4.3 整合时间因素 88
6.4.4 整合用户对评分的置信度 89
6.4.5 隐式反馈 89
6.4.6 整合用户和标的物metadata信息 90
6.5 近实时矩阵分解算法 91
6.5.1 算法原理 92
6.5.2 工程实现 94
6.6 矩阵分解算法的应用场景 97
6.6.1 应用于完全个性化推荐场景 97
6.6.2 应用于标的物关联标的物场景 98
6.6.3