推荐系统算法实践

推荐系统算法实践
作 者: 黄美灵
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  黄美灵现任一线互联网公司的高级工程师,拥有多年大型互联网公司推荐系统和机器学习实战经验,现从事广告推荐、应用分发和资讯Feeds流推荐相关工作。

内容简介

本书主要讲解推荐系统中的召回算法和排序算法,以及各个算法在主流工具Sklearn、Spark、TensorFlow等中的实现和应用。 书中本着循序渐进的原则进行讲解。首先,介绍推荐系统中推荐算法的数学基础,推荐算法的平台、工具基础,以及具体的推荐系统。其次,对推荐系统中的召回算法进行讲解,主要包括基于行为相似的协同过滤召回和基于内容相似的Word2vec 召回,并且介绍其在Spark、TensorFlow 主流工具中的实现与应用。再次,讲解推荐系统中的排序算法,包括线性模型、树模型和深度学习模型,分别介绍逻辑回归、FM、决策树、随机森林、GBDT、GBDT+LR、集成学习、深度森林、DNN、Wide & Deep、DeepFM、YouTube推荐等模型的原理,以及其在Sklearn、Spark、TensorFlow 主流工具中的实现与应用。最后,介绍推荐算法的4 个实践案例,帮助读者进行工程实践和应用,并且介绍如何在Notebook 上进行代码开发和算法调试,以帮助读者提升工作效率。

图书目录

目 录

第1部分 推荐系统的算法基础

第1章 数学基础\t2

1.1 线性代数\t2

1.2 概率与统计\t5

1.3 损失函数\t7

1.4 优化方法\t8

1.4.1 SGD\t8

1.4.2 动量\t8

1.4.3 Nesterov动量\t9

1.4.4 AdaGrad\t9

1.4.5 Adam\t10

1.4.6 L-BFGS\t10

1.4.7 梯度法和牛顿法的比较\t11

1.5 评价方法\t11

1.5.1 混淆矩阵\t11

1.5.2 ROC曲线\t13

第2章 推荐系统介绍\t17

2.1 推荐系统背景\t17

2.2 推荐系统的典型案例\t18

2.2.1 Amazon推荐\t19

2.2.2 Facebook推荐\t21

2.2.3 YouTube推荐\t22

2.3 推荐系统原理\t23

第3章 推荐算法工具\t26

3.1 Python Sklearn机器学习库\t26

3.1.1 Sklearn介绍\t26

3.1.2 Sklearn建模流程\t27

3.2 Spark MLlib机器学习库\t28

3.2.1 MLlib介绍\t28

3.2.2 MLlib建模流程\t29

3.3 TensorFlow\t31

3.3.1 TensorFlow介绍\t31

3.3.2 TensorFlow建模流程\t31

3.4 Notebook介绍\t32

3.4.1 Zeppelin Notebook介绍\t32

3.4.2 Jupyter Notebook介绍\t36

第2部分 推荐系统的召回算法

第4章 协同过滤――基于行为相似的召回\t40

4.1 协同过滤算法\t40

4.1.1 协同过滤推荐概述\t40

4.1.2 用户评分\t41

4.1.3 相似度计算\t41

4.1.4 推荐计算\t43

4.2 协同过滤推荐算法实现\t44

4.2.1 相似度计算及推荐计算\t47

4.2.2 协同推荐\t54

4.2.3 运行结果\t59

第5章 Word2vec――基于内容相似的召回\t65

5.1 Word2vec算法\t65

5.1.1 语言模型\t65

5.1.2 CBOW One-Word Context模型\t66

5.1.3 CBOW Multi-Word Context 模型\t71

5.1.4 Skip-Gram模型\t72

5.1.5 Hierarchical Softmax\t74

5.1.6 Negative Sampling\t74

5.2 Word2vec实例\t75

5.2.1 Spark实现\t75

5.2.2 TensorFlow实现\t80

第3部分 推荐系统的排序算法――线性模型

第6章 逻辑回归\t86

6.1 逻辑回归算法\t86

6.1.1 二元逻辑回归模型\t86

6.1.2 模型参数估计\t88

6.1.3 多元逻辑回归模型(Softmax回归)\t88

6.1.4 逻辑回归的网络结构\t89

6.1.5 梯度下降算法\t90

6.1.6 正则化\t91

6.2 逻辑回归实现\t93

6.2.1 Sklearn实现\t93

6.2.2 Spark实现\t98

6.2.3 TensorFlow实现\t108

6.2.4 效果总结\t114

第7章 因子分解机(FM)\t115

7.1 FM算法\t115

7.1.1 FM模型\t115

7.1.2 FFM模型\t118

7.1.3 FM模型的网络结构\t119

7.2 FM实现\t120

7.2.1 Sklearn实现\t120

7.2.2 TensorFlow实现\t122

7.2.3 效果总结\t128

第4部分 推荐系统的排序算法――树模型

第8章 决策树\t130

8.1 决策树算法\t130

8.1.1 决策树模型\t130

8.1.2 特征选择\t131

8.1.3 决策树的生成\t133

8.1.4 决策树的生成实例\t134

8.1.5 决策树的剪枝\t135

8.2 决策树的集成算法\t136

8.2.1 集成分类器\t136

8.2.2 随机森林\t137

8.2.3 GBDT\t137

8.3 决策树集成算法实例\t139

8.3.1 Spark实现\t139

8.3.2 Sklearn实现\t149

8.3.3 效果总结\t154

第9章 集成学习\t155

9.1 GBDT+LR算法\t155

9.1.1 背景\t155

9.1.2 GBDT+LR网络结构\t156

9.2 深度森林算法\t159

9.2.1 深度森林介绍\t159

9.2.2 级联森林\t160

9.2.3 多粒度扫描\t161

9.3 决策树集成分类器\t162

9.4 集成学习实例\t164

9.4.1 GBDT+LR实现\t164

9.4.2 深度森林实现\t167

9.4.3 效果总结\t175

第5部分 推荐系统的排序算法――深度学习模型

第10章 深度学习在推荐算法中的应用\t178

10.1 推荐模型的特点\t178

10.2 基于深度学习的推荐模型\t179

10.2.1 DNN优化高阶特征\t179

10.2.2 高阶特征交叉与低阶特征交叉\t181

10.2.3 特征交叉优化\t183

10.2.4 特征连接优化\t184

10.2.5 高阶特征交叉优化\t185

10.2.6 多样性的深度兴趣特征优化\t186

第11章 DNN算法\t189

11.1 人工神经网络算法\t189

11.1.1 神经元\t189

11.1.2 神经网络模型\t191

11.1.3 信号的前向传播\t191

11.1.4 误差的反向传播\t193

11.2 DNN优化方法\t195

11.2.1 优化参数\t196

11.2.2 Attention机制\t197

11.3 DNN实例\t198

11.4 运行结果\t205

第12章 Wide & Deep模型\t206

12.1 Wide & Deep模型概述\t206

12.1.1 Wide模型\t208

12.1.2 Deep模型\t209

12.1.3 模型联合训练\t210

12.2 Wide & Deep系统实现\t211

12.2.1 推荐系统介绍\t211

12.2.2 系统流程\t212

12.2.3 训练数据的生成\t213

12.2.4 模型训练\t213

12.2.5 线上应用\t214

12.3 Wide & Deep实例\t214

12.4 运行结果\t219

第13章 DeepFM模型\t225

13.1 DeepFM模型概述\t225

13.1.1 FM组件\t226

13.1.2 Deep组件\t228

13.1.3 模型对比\t229

13.2 DeepFM模型实例\t231

13.3 运行结果\t241

第14章 YouTube的深度神经网络模型\t243

14.1 YouTube推荐模型\t243

14.1.1 背景介绍\t243

14.1.2 召回模型设计\t245

14.1.3 排序模型设计\t250

14.2 YouTube实例\t252

14.3 运行结果\t256

第6部分 推荐系统的算法实践

第15章 实践――基于电商平台的商品召回\t260

15.1 背景介绍\t260

15.2 模型选择\t261

15.3 算法开发\t261

第16章 实践――基于逻辑回归的音乐评分预测\t266

16.1 背景介绍\t266

16.2 数据准备\t266

16.3 特征处理\t268

16.4 模型选择\t270

16.5 算法开发\t271

第17章 实践――Kaggle竞赛之Outbrain点击率预估\t275

17.1 背景介绍\t275

17.2 数据准备\t277

17.3 特征处理\t283

17.4 模型选择\t284

17.4.1 FFM\t285

17.4.2 XGBoost\t288

17.4.3 集成学习\t292

17.5 算法开发\t292

第18章 实践――基于深度学习的电商商品点击率预估\t297

18.1 背景介绍\t297

18.2 数据准备\t298

18.3 特征处理\t302

18.4 模型选择\t303

18.5 算法开发\t304

18.6 运行结果\t309

第19章 Notebook实践\t312

19.1 Sklearn中的LR实践\t312

19.2 TensorFlow中的LR实践\t316

19.3 Spark中的LR实践\t321

19.4 TensorFlow中的FM调试实践\t327

19.5 Spark中的协同过滤调试实践\t331