好书推荐 -- 《精通推荐算法》

新书发布,京东限时15天内5折优惠,半天即可送到。

图书封底有读者微信群,作者也在群里,任何技术、offer选择和职业规划的问题,都可以咨询。

《精通推荐算法》,限时半价,半日达icon-default.png?t=N7T8https://u.jd.com/VbCJsCz

1 作者介绍、本书内容、Q&A、业内人士好评和图书实拍

本书不仅适合推荐算法工程师,还适合搜索、广告和营销等领域的从业者。

《精通推荐算法》,限时半价,半日达icon-default.png?t=N7T8https://u.jd.com/VbCJsCz

2 全书目录

第1章 推荐系统概述 1

1.1 为什么需要推荐系统 1

1.1.1 推荐系统与用户体验 2

1.1.2 推荐系统与内容生产 3

1.1.3 推荐系统与平台发展 4

1.2 推荐系统分类 5

1.2.1 业务领域分类 5

1.2.2 内容介质分类 5

1.2.3 交互形态分类 6

1.2.4 应用场景分类 6

1.3 推荐系统技术架构 7

1.4 本章小结 9

第2章 数据样本和特征工程 10

2.1 数据样本 10

2.1.1 样本不均衡问题 11

2.1.2 样本不置信问题 14

2.1.3 离/在线样本不一致问题 16

2.2 特征工程 17

2.2.1 特征类目体系 18

2.2.2 特征处理范式 21

2.2.3 特征重要性评估 22

2.3 本章小结 23

第3章 传统推荐算法 25

## 3.1 协同过滤 25

3.1.1 基于用户的协同过滤 26

3.1.2 基于物品的协同过滤 27

3.1.3 协同过滤的优点和局限性 28

3.2 矩阵分解 29

3.2.1 矩阵分解实现方法 30

3.2.2 矩阵分解的优点和局限性 31

3.3 逻辑回归 31

3.3.1 逻辑回归求解过程 33

3.3.2 逻辑回归的优点和局限性 34

3.4 因子分解机 35

3.4.1 因子分解机模型简化 35

3.4.2 因子分解机的优点和局限性 36

3.5 组合模型 37

3.5.1 GBDT + LR组合模型结构 38

3.5.2 GBDT特征转换过程 39

3.5.3 组合模型的思考和总结 40

3.6 本章小结 40

第4章 特征交叉 42

4.1 特征交叉概述 43

4.1.1 特征交叉的意义 43

4.1.2 特征交叉基本范式 44

4.1.3 特征交叉的难点 45

4.2 Deep Crossing:经典DNN框架模型 46

4.2.1 业务背景和特征体系 46

4.2.2 模型结构 48

4.2.3 实现方法 52

4.3 FNN 54

4.3.1 为什么Embedding收敛慢 55

4.3.2 模型结构 55

4.4 PNN 58

4.4.1 模型结构 58

4.4.2 特征交叉实现方法 59

4.5 Wide&Deep:异构模型奠基者 61

4.5.1 “记忆”和“泛化” 61

4.5.2 模型结构 62

4.5.3 系统实现 64

4.5.4 代码解析 66

4.6 DeepFM:异构模型Wide侧引入FM 68

4.6.1 模型结构 68

4.6.2 代码解析 70

4.7 DCN:异构模型Wide侧引入高阶交叉 74

4.8 NFM:异构模型Deep侧引入显式交叉 77

4.9 xDeepFM:异构模型引入子分支 79

4.10 本章小结 83

第5章 用户行为序列建模 85

5.1 用户行为序列建模概述 86

5.1.1 行为序列建模的意义 87

5.1.2 行为序列建模的基本范式 87

5.1.3 行为序列建模的主要难点 88

5.1.4 行为序列特征工程 89

5.2 DIN:基于注意力机制建模用户行为序列 90

5.2.1 背景 90

5.2.2 模型结构 92

5.2.3 模型训练方法 95

5.2.4 代码解析 98

5.3 DIEN:GRU建模用户行为序列 100

5.3.1 模型结构:兴趣抽取层 100

5.3.2 模型结构:兴趣进化层 103

5.4 BST:Transformer建模用户行为序列 105

5.4.1 模型结构 105

5.4.2 代码解析 109

5.5 DSIN:基于Session建模用户行为序列 114

5.6 MIMN:基于神经图灵机建模长周期行为序列 117

5.6.1 工程设计:UIC模块 118

5.6.2 MIMN模型结构 119

5.7 SIM:基于检索建模长周期行为序列 123

5.8 ETA:基于SimHash实现检索索引在线化 126

5.8.1 ETA模型结构 127

5.8.2 SimHash原理 128

5.9 本章小结 129

第6章 Embedding表征学习 131

6.1 Embedding表征学习概述 132

6.1.1 Embedding概述 133

6.1.2 Embedding表征学习的意义 134

6.1.3 Embedding表征学习的基本范式 134

6.1.4 Embedding表征学习的主要难点 135

6.2 基于序列的Embedding建模方法 135

6.2.1 Word2vec任务定义:CBOW和Skip-gram 136

6.2.2 Word2vec模型结构 137

6.2.3 Word2vec训练方法 138

6.2.4 Item2vec:推荐系统引入序列Embedding 139

6.2.5 序列建模总结和思考 139

6.3 基于同构图游走的Graph Embedding 139

6.3.1 DeepWalk:同构图游走算法开山之作 140

6.3.2 LINE:一阶相似度和二阶相似度探索 141

6.3.3 Node2vec:同质性和结构等价性探索 142

6.3.4 同构图游走的优缺点 144

6.4 基于异构图游走的Graph Embedding 145

6.4.1 Metapath2vec 145

6.4.2 EGES 146

6.4.3 异构图游走的优缺点 149

6.5 图神经网络 149

6.5.1 GCN:图神经网络开山之作 149

6.5.2 GraphSAGE:图神经网络工业应用的高潮 152

6.5.3 图神经网络总结 153

6.6 向量检索技术 153

6.6.1 向量距离计算方法 154

6.6.2 向量检索算法 156

6.6.3 向量检索常用工具:Faiss 161

6.7 本章小结 162

第7章 多任务学习 165

7.1 多任务学习发展历程 166

7.1.1 为什么需要多任务学习 166

7.1.2 多任务学习的基本框架 167

7.1.3 多任务学习的难点和挑战 168

7.2 ESMM模型:解决SSB和DS问题的利器 169

7.2.1 样本选择偏差和数据稀疏问题 169

7.2.2 ESMM模型结构 170

7.2.3 ESMM核心代码 172

7.3 MMOE模型:多专家多门控网络 174

7.3.1 MMOE模型结构 174

7.3.2 MMOE核心代码 177

7.4 PLE模型:解决负迁移和跷跷板现象的利器 179

7.4.1 负迁移和跷跷板现象 180

7.4.2 单层CGC模型结构 180

7.4.3 PLE模型结构 183

7.4.4 PLE核心代码 184

7.5 多任务融合 188

7.5.1 网格搜索 189

7.5.2 排序模型 190

7.5.3 强化学习 190

7.6 本章小结 192

第8章 召回算法 194

8.1 召回概述 196

8.1.1 推荐底池 196

8.1.2 多路召回 197

8.1.3 召回的难点 198

8.1.4 召回评价体系 199

8.2 个性化召回 200

8.2.1 基于内容的个性化召回 200

8.2.2 基于协同过滤的个性化召回 201

8.2.3 基于社交关系的个性化召回 203

8.3 向量召回 203

8.3.1 实现方法 204

8.3.2 YouTube DNN 204

8.3.3 Facebook EBR 206

8.3.4 百度MOBIUS 208

8.4 用户行为序列类向量召回 209

8.4.1 多峰兴趣建模的意义 210

8.4.2 MIND的模型结构 210

8.4.3 胶囊网络 212

8.5 样本选择偏差问题 213

8.5.1 召回样本构建方法 213

8.5.2 ESAM和迁移学习 215

8.6 召回检索优化和TDM 218

8.6.1 TDM在线检索过程 218

8.6.2 TDM索引构建和模型训练过程 220

8.6.3 JTM 221

8.6.4 OTM 222

8.7 本章小结 223

第9章 粗排算法 226

9.1 粗排概述 228

9.1.1 粗排样本和特征 228

9.1.2 粗排发展历程 228

9.1.3 粗排的难点 230

9.1.4 粗排评价体系 230

9.2 PFD模型:知识蒸馏学习交叉特征 231

9.2.1 PFD模型结构 231

9.2.2 PFD模型原理 232

9.2.3 PFD与传统蒸馏相结合 233

9.2.4 PFD在精排中的应用 234

9.3 COLD模型:显式特征交叉 235

9.3.1 双塔内积模型 235

9.3.2 COLD模型 237

9.4 FSCD模型:效果和效率联合优化 238

9.4.1 FSCD特征选择原理 239

9.4.2 FSCD训练步骤 241

9.5 本章小结 242

第10章 重排算法 243

10.1 重排概述 245

10.1.1 为什么需要重排 245

10.1.2 重排的难点和挑战 245

10.1.3 流量调控 246

10.2 打散和多样性 246

10.2.1 打散 247

10.2.2 多样性 248

10.2.3 多样性发展历程 248

10.3 上下文感知和PRM模型 249

10.3.1 什么是上下文感知 250

10.3.2 PRM模型结构 250

10.3.3 其他上下文感知实现方案 253

10.4 实时性和延迟反馈问题 254

10.4.1 推荐系统实时性的意义 254

10.4.2 推荐系统实时性分类 255

10.4.3 延迟反馈问题 256

10.4.4 延迟反馈优化方案 257

10.5 端上重排和EdgeRec 257

10.5.1 为什么需要端上模型 258

10.5.2 端上推理引擎 259

10.5.3 EdgeRec系统架构 259

10.5.4 EdgeRec模型结构 260

3 购书方式

新书发布,京东限时15天内5折优惠,一杯咖啡的价钱。

京东自营,半天即可送到。

图书封底有读者微信群,作者也在群里,任何技术、offer选择和职业规划的问题,都可以咨询,售后无忧。

《精通推荐算法》,限时半价,半日达icon-default.png?t=N7T8https://u.jd.com/VbCJsCz

源代码:扫描图书封底二维码,进入读者群,群公告中有代码下载方式
微信群:图书封底有读者微信群,作者也在群里,任何技术、offer选择和职业规划的问题,都可以咨询。
售后:支持京东七天无理由退货,售后无忧。

4 买家评论

《精通推荐算法》,限时半价,半日达icon-default.png?t=N7T8https://u.jd.com/VbCJsCz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以flask为后端的博客项目——星云小窝

以flask为后端的博客项目——星云小窝 文章目录 以flask为后端的博客项目——星云小窝前言一、星云小窝项目——项目介绍(一)二、星云小窝项目——项目启动(二)三、星云小窝项目——项目结构(三)四、谈论一…

Stable Diffusion 使用详解(3)---- ControlNet

背景 炼丹师在AI绘画的过程中,由于Stable Diffusion的原理是水滴式的扩散作图原理,其实在前面也有提到,他的发挥是‘不稳定’的,因为你没有办法做到精确控制,只能说是大致符合你的预期。你不能总依赖抽卡固定随机数种…

web学习笔记(八十三)git

目录 1.Git的基本概念 2.gitee常用的命令 3.解决两个人操作不同文件造成的冲突 4.解决两个人操作同一个文件造成的冲突 1.Git的基本概念 git是一种管理代码的方式,广泛用于软件开发和版本管理。我们通常使用gitee(码云)来云管理代码。 …

重生之我当程序猿外包

第一章 个人介绍与收入历程 我出生于1999年,在大四下学期进入了一家互联网公司实习。当时的实习工资是3500元,公司还提供住宿。作为一名实习生,这个工资足够支付生活开销,每个月还能给父母转1000元,自己留2500元用来吃…

前端开发知识(三)-javascript(对象)

一、JS对象 包括JS已经定义的对象,如,Array,Sting ,DOM,BOM等,其中,JSON是用户自定义对象(除对象外,还有文本),其他是JS定义 1.Array:数组 数…

Java从入门到精通 (十一) ~ 操作系统、进程和线程

无论做什么,请记住都是为你自己而做,这样就毫无怨言!今天,我为自己而活!今天,又是美丽的一天!早安,朋友! 目录 前言 一、操作系统 1. 概念 2. 操作系统的基本功能 3…

@RequiredArgsConstructor详解

RequiredArgsConstructor详解 一、什么是RequiredArgsConstructor? RequiredArgsConstructor是Lombok的一个注解,简化了我们对Autowired书写,我们在写Controller层或者Service层的时候,总是需要注入很多mapper接口或者service接口&#xf…

Java-----栈

目录 1.栈(Stack) 1.1概念 1.2栈的使用 1.3栈的模拟实现 1.4栈的应用场景 1.5栈、虚拟机栈、栈帧有什么区别呢 1.栈(Stack) 1.1概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操…

EEtrade:区块链是什么

区块链,这个近年来频繁出现在我们视野中的术语,已经从一个技术小众圈的词汇,逐渐演变为全球关注的焦点。从比特币的诞生,到如今在金融、供应链、物联网等领域的广泛应用,区块链技术正在深刻地改变着我们的生活。那么&a…

我在高职教STM32——串口通信(5)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思的教学设计分享…

【linux】Shell脚本三剑客之grep和egrep命令的详细用法攻略

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

LK漏感值在网络变压器测试中是否有很大的作用?

今天客户一个产品异常问题,就是说LK漏感值严重超标产品规格书参数,今天我们讲讲这个参数在网络变压器其中的影响。LK漏感值在网络变压器的测试和性能评估中扮演着重要的角色。漏感,或称为漏磁场感抗,是指变压器中不参与主要能量传…

springboot会员信息管理系统-计算机毕业设计源码38258

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3开发技术 1.3.1 Spring Boot框架 1.3.2 Java语言 1.3.3 MySQL数据库 1.4论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 登录流程 2.2.2数据删除流程 2.3 系统功能分析 2.4 系统用例分析…

《Java初阶数据结构》----8.<java对象的比较总结>

目录 前言 一、Java对象的比较 1.1基本类型的比较 1.2 对象比较的问题(与equals) 1.3对象的比较 (三种常用方式) 1.重写equals方法 2.基于Comparble接口类的比较 3.基于比较器比较(Comparator接口) …

秒懂C++之string类(下)

目录 一.接口说明 1.1 erase 1.2 replace(最好别用) 1.3 find 1.4 substr 1.5 rfind 1.6 find_first_of 1.7 find_last_of 二.string类的模拟实现 2.1 构造 2.2 无参构造 2.3 析构 2.4.【】运算符 2.5 迭代器 2.6 打印 2.7 reserve扩容 …

大模型算法面试题(十二)

本系列收纳各种大模型面试题及答案。 1、领域模型Continue PreTrain数据如何选取 在领域模型的Continue PreTrain(持续预训练)过程中,数据选取是一个至关重要的步骤,它直接影响模型在特定领域上的性能和泛化能力。以下是一些关于…

Transformer-Bert---散装知识点---mlm,nsp,较之经典tran的区别和实际应用方式

本文记录的是笔者在了解了transformer结构后嗑bert中记录的一些散装知识点,有时间就会整理收录,希望最后能把transformer一个系列都完整的更新进去。 1.自监督学习 bert与原始的transformer不同,bert是使用大量无标签的数据进行预训练&#…

batch norm记录

文章目录 概要整体架构流程训练阶段推理阶段模型中使用的注意事项 概要 面试百度时候被问到了BN 内部详细的训练阶段,推理阶段的计算过程。没回答好,来记录一下 推荐一下b站up: Enzo_Mi。视频做的确实不错 bn 讲解视频 整体架构流程 训练阶段 均值和标…

【C/C++】printf和cout的区别

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

C++初阶学习——探索STL奥秘——标准库中的string类

1. 为什么学习string类&#xff1f; 在我们学习C语言的时候&#xff0c;有一个点是非常难处理的&#xff0c;那就是字符串&#xff0c;在我们对字符串访问&#xff0c;增删查改时都是非常不便的&#xff0c;所以我们封装了一个string类主要来处理字符串有关的问题 2. 标准库中…