《推荐系统算法实践》是由电子工业出版社出版的一本关于系统算法方面的书籍,作者是黄美灵,主要介绍了关于系统算法、实践方面的知识内容,目前在系统算法类书籍综合评分为:7.4分。
书籍介绍
1.这书关键解读推荐算法中的推荐系统——招回优化算法和排序算法,及其每个优化算法在流行专用工具Sklearn、Spark、TensorFlow等中的保持和运用。
2.这书秉着由浅入深的标准开展解读,装有丰富多彩的工程施工流程和源码,能够协助用户开展工程项目实践活动并在具体工作上运用。
3.这书合适 AI、大数据挖掘、互联网大数据等行业的从业者阅读文章,书中为开发人员呈现了推荐系统的基本原理、保持与运用实例。
这书关键解读推荐算法中的招回优化算法和排序算法,及其每个优化算法在流行专用工具Sklearn、Spark、TensorFlow等中的保持和运用。
书中秉着由浅入深的标准开展解读。最先,详细介绍推荐算法中推荐系统的基础数学,推荐系统的服务平台、专用工具基本,及其实际的推荐算法。次之,对推荐算法中的招回优化算法开展解读,包括根据个人行为类似的协同过滤招回和根据內容类似的Word2vec 招回,而且详细介绍其在Spark、TensorFlow 流行专用工具中的保持与运用。再度,解读推荐算法中的排序算法,包含线形实体模型、树实体模型和深度神经网络实体模型,各自详细介绍逻辑回归、FM、决策树、随机森林、GBDT、GBDT LR、集成化学习培训、深层山林、DNN、Wide & Deep、DeepFM、YouTube强烈推荐等实体模型的基本原理,及其其在Sklearn、Spark、TensorFlow 流行专用工具中的保持与运用。*后,详细介绍推荐系统的4 个实践活动实例,协助用户开展工程项目实践活动和运用,而且详细介绍怎样在Notebook 上开展编码开发设计和优化算法调节,以协助用户提高工作效能。
目录
- 第1部分 推荐系统的算法基础
- 第1章 数学基础 2
- 1.1 线性代数 2
- 1.2 概率与统计 5
- 1.3 损失函数 7
- 1.4 优化方法 8
- 1.4.1 SGD 8
- 1.4.2 动量 8
- 1.4.3 Nesterov动量 9
- 1.4.4 AdaGrad 9
- 1.4.5 Adam 10
- 1.4.6 L-BFGS 10
- 1.4.7 梯度法和牛顿法的比较 11
- 1.5 评价方法 11
- 1.5.1 混淆矩阵 11
- 1.5.2 ROC曲线 13
- 第2章 推荐系统介绍 17
- 2.1 推荐系统背景 17
- 2.2 推荐系统的典型案例 18
- 2.2.1 Amazon推荐 19
- 2.2.2 Facebook推荐 21
- 2.2.3 YouTube推荐 22
- 2.3 推荐系统原理 23
- 第3章 推荐算法工具 26
- 3.1 Python Sklearn机器学习库 26
- 3.1.1 Sklearn介绍 26
- 3.1.2 Sklearn建模流程 27
- 3.2 Spark MLlib机器学习库 28
- 3.2.1 MLlib介绍 28
- 3.2.2 MLlib建模流程 29
- 3.3 TensorFlow 31
- 3.3.1 TensorFlow介绍 31
- 3.3.2 TensorFlow建模流程 31
- 3.4 Notebook介绍 32
- 3.4.1 Zeppelin Notebook介绍 32
- 3.4.2 Jupyter Notebook介绍 36
- 第2部分 推荐系统的召回算法
- 第4章 协同过滤——基于行为相似的召回 40
- 4.1 协同过滤算法 40
- 4.1.1 协同过滤推荐概述 40
- 4.1.2 用户评分 41
- 4.1.3 相似度计算 41
- 4.1.4 推荐计算 43
- 4.2 协同过滤推荐算法实现 44
- 4.2.1 相似度计算及推荐计算 47
- 4.2.2 协同推荐 54
- 4.2.3 运行结果 59
- 第5章 Word2vec——基于内容相似的召回 65
- 5.1 Word2vec算法 65
- 5.1.1 语言模型 65
- 5.1.2 CBOW One-Word Context模型 66
- 5.1.3 CBOW Multi-Word Context 模型 71
- 5.1.4 Skip-Gram模型 72
- 5.1.5 Hierarchical Softmax 74
- 5.1.6 Negative Sampling 74
- 5.2 Word2vec实例 75
- 5.2.1 Spark实现 75
- 5.2.2 TensorFlow实现 80
- 第3部分 推荐系统的排序算法——线性模型
- 第6章 逻辑回归 86
- 6.1 逻辑回归算法 86
- 6.1.1 二元逻辑回归模型 86
- 6.1.2 模型参数估计 88
- 6.1.3 多元逻辑回归模型(Softmax回归) 88
- 6.1.4 逻辑回归的网络结构 89
- 6.1.5 梯度下降算法 90
- 6.1.6 正则化 91
- 6.2 逻辑回归实现 93
- 6.2.1 Sklearn实现 93
- 6.2.2 Spark实现 98
- 6.2.3 TensorFlow实现 108
- 6.2.4 效果总结 114
- 第7章 因子分解机(FM) 115
- 7.1 FM算法 115
- 7.1.1 FM模型 115
- 7.1.2 FFM模型 118
- 7.1.3 FM模型的网络结构 119
- 7.2 FM实现 120
- 7.2.1 Sklearn实现 120
- 7.2.2 TensorFlow实现 122
- 7.2.3 效果总结 128
- 第4部分 推荐系统的排序算法——树模型
- 第8章 决策树 130
- 8.1 决策树算法 130
- 8.1.1 决策树模型 130
- 8.1.2 特征选择 131
- 8.1.3 决策树的生成 133
- 8.1.4 决策树的生成实例 134
- 8.1.5 决策树的剪枝 135
- 8.2 决策树的集成算法 136
- 8.2.1 集成分类器 136
- 8.2.2 随机森林 137
- 8.2.3 GBDT 137
- 8.3 决策树集成算法实例 139
- 8.3.1 Spark实现 139
- 8.3.2 Sklearn实现 149
- 8.3.3 效果总结 154
- 第9章 集成学习 155
- 9.1 GBDT LR算法 155
- 9.1.1 背景 155
- 9.1.2 GBDT LR网络结构 156
- 9.2 深度森林算法 159
- 9.2.1 深度森林介绍 159
- 9.2.2 级联森林 160
- 9.2.3 多粒度扫描 161
- 9.3 决策树集成分类器 162
- 9.4 集成学习实例 164
- 9.4.1 GBDT LR实现 164
- 9.4.2 深度森林实现 167
- 9.4.3 效果总结 175
- 第5部分 推荐系统的排序算法——深度学习模型
- 第10章 深度学习在推荐算法中的应用 178
- 10.1 推荐模型的特点 178
- 10.2 基于深度学习的推荐模型 179
- 10.2.1 DNN优化高阶特征 179
- 10.2.2 高阶特征交叉与低阶特征交叉 181
- 10.2.3 特征交叉优化 183
- 10.2.4 特征连接优化 184
- 10.2.5 高阶特征交叉优化 185
- 10.2.6 多样性的深度兴趣特征优化 186
- 第11章 DNN算法 189
- 11.1 人工神经网络算法 189
- 11.1.1 神经元 189
- 11.1.2 神经网络模型 191
- 11.1.3 信号的前向传播 191
- 11.1.4 误差的反向传播 193
- 11.2 DNN优化方法 195
- 11.2.1 优化参数 196
- 11.2.2 Attention机制 197
- 11.3 DNN实例 198
- 11.4 运行结果 205
- 第12章 Wide & Deep模型 206
- 12.1 Wide & Deep模型概述 206
- 12.1.1 Wide模型 208
- 12.1.2 Deep模型 209
- 12.1.3 模型联合训练 210
- 12.2 Wide & Deep系统实现 211
- 12.2.1 推荐系统介绍 211
- 12.2.2 系统流程 212
- 12.2.3 训练数据的生成 213
- 12.2.4 模型训练 213
- 12.2.5 线上应用 214
- 12.3 Wide & Deep实例 214
- 12.4 运行结果 219
- 第13章 DeepFM模型 225
- 13.1 DeepFM模型概述 225
- 13.1.1 FM组件 226
- 13.1.2 Deep组件 228
- 13.1.3 模型对比 229
- 13.2 DeepFM模型实例 231
- 13.3 运行结果 241
- 第14章 YouTube的深度神经网络模型 243
- 14.1 YouTube推荐模型 243
- 14.1.1 背景介绍 243
- 14.1.2 召回模型设计 245
- 14.1.3 排序模型设计 250
- 14.2 YouTube实例 252
- 14.3 运行结果 256
- 第6部分 推荐系统的算法实践
- 第15章 实践——基于电商平台的商品召回 260
- 15.1 背景介绍 260
- 15.2 模型选择 261
- 15.3 算法开发 261
- 第16章 实践——基于逻辑回归的音乐评分预测 266
- 16.1 背景介绍 266
- 16.2 数据准备 266
- 16.3 特征处理 268
- 16.4 模型选择 270
- 16.5 算法开发 271
- 第17章 实践——Kaggle竞赛之Outbrain点击率预估 275
- 17.1 背景介绍 275
- 17.2 数据准备 277
- 17.3 特征处理 283
- 17.4 模型选择 284
- 17.4.1 FFM 285
- 17.4.2 XGBoost 288
- 17.4.3 集成学习 292
- 17.5 算法开发 292
- 第18章 实践——基于深度学习的电商商品点击率预估 297
- 18.1 背景介绍 297
- 18.2 数据准备 298
- 18.3 特征处理 302
- 18.4 模型选择 303
- 18.5 算法开发 304
- 18.6 运行结果 309
- 第19章 Notebook实践 312
- 19.1 Sklearn中的LR实践 312
- 19.2 TensorFlow中的LR实践 316
- 19.3 Spark中的LR实践 321
- 19.4 TensorFlow中的FM调试实践 327
- 19.5 Spark中的协同过滤调试实践 331