【咕咕送书 | 第八期】羡慕同学进了大厂核心部门,看懂这本书你也能行!

news/2024/5/19 21:10:23 标签: 推荐算法, c++, 机器学习, 人工智能

在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏:《linux深造日志》《粉丝福利》

⛺️生活的理想,就是为了理想的生活!

⛳️ 写在前面参与规则

  • 参与方式:关注博主、点赞收藏评论,任意评论(每人最多评论三次)

  • ⛳️本次送书1~3取决于阅读量,阅读量越多,送的越多

  • 📆 活动时间至:2023-1-23 10:00:00 | 随机抽取由博主动态公布抽奖结果

如有特别需要的同学可添加博主微信进入粉丝福利群发放福利哦!

🔥 注:活动结束后,会私信中奖粉丝的,各位注意查看私信哦!

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送

文章目录

  • ⛳️ 写在前面参与规则
  • 引言
  • 一、做推荐算法在大厂有多吃香?
  • 二、推荐系统是怎么工作的
  • 三、推荐算法这样学就对了
  • 四、图书介绍
    • 图书目录
  • 五、粉丝购买优惠
  • 六、粉丝福利

引言

最近听说一位做推荐算法的同学通过面试,顺利入职某大厂核心盈利部门,真是太羡慕他了。为什么会推荐算法就能在大厂这么吃香? 因为大厂要依靠推荐系统来变现。例如,电商企业要向用户推荐最需要的商品;视频流媒体平台要向用户推送最喜欢的内容;社交新闻媒体平台要让用户看到最感兴趣的信息……因此,推荐系统和企业的收入直接相关,推荐算法做得好,企业就可以更好地理解用户需求,从而精准地推荐商品,增加销售额,提高用户忠诚度。那对于技术人来说,做好推荐系统都有哪些挑战?

一、做推荐算法在大厂有多吃香?

推荐算法是一项综合性很强的技术,它需要运用多种技术手段去解决实际问题,包括机器学习、数据挖掘、自然语言处理等。技术人可能会困惑,这么多知识要学习,要学到什么程度?怎样才能学好推荐算法?有一位在大厂做推荐算法的资深技术人专门写了一本书来解答上面的疑问,这本书就是 《互联网大厂推荐算法实战》 。从书名就可以看出来,这本书讲的都是大厂的实战经验,想学推荐算法,看这本书就对了。![图片

二、推荐系统是怎么工作的

推荐系统的主要原理是通过对用户的历史行为数据(如点击、购买、评分、评论等)进行分析和挖掘,提取用户的兴趣和喜好,并将其映射到物品空间中,从而预测用户对未来物品的偏好程度,最终生成个性化推荐结果。在推荐系统中有两个最基本的角色:一个是用户(User),推荐系统要服务的对象,同时也是推荐系统的重要贡献者;另一个是物料(Item),统称为被推荐的信息和内容,例如具体商品、视频、音乐、新闻等。推荐系统会执行四个步骤,从数百万量级的物料中挑选出最优的几十个物料,最终呈现在用户面前。下面按顺序介绍这四个步骤。

· 召回: 主要依赖“离线计算+在线缓存”模式,从百万规模候选集中快速筛选。这一步可以牺牲一部分精度,换取时间。

· 粗排: 召回会以数量来弥补质量的不足,在送往下一步之前,粗排要进行一次筛选,保留最具潜力的 10% 物料。

· 精排: 精排模型会让用户信息与物料信息充分交叉,从而精选出最符合用户品味的几十个物料。

· 重排: 调整精排结果的顺序,将相似内容打散,使得用户可以看到丰富多样的推荐结果。

推荐系统的四个步骤为我们揭秘大厂推荐算法的那位资深技术人,是毕业于清华大学电气工程专业的赵传霖博士,他目前在快手担任算法专家,拥有 10 多年互联网算法从业经验,主要研究方向为推荐系统、计算广告、个性化搜索。赵博士还是知乎“机器学习”话题优秀答主,曾经 4 次获得知乎创作排行榜“知势榜·影响力榜”(科技互联网领域)第一名。有感于市面上讲推荐算法的图书要么内容老旧,要么只讲算法理论,脱离实际太远,于是赵博士决定创作 《互联网大厂推荐算法实战》 ,分享一线实战经验,帮助大家理解推荐算法并灵活组合应用,从“术”上升到“道”的层面。现在我们就跟着赵博士深入到大厂一线来学习推荐算法吧。

在这里插入图片描述

三、推荐算法这样学就对了

推荐算法应该怎么学?是不管三七二十一狠钻现在最流行的算法,然后就指望一年知识用十年?这显然是不现实的,因为新算法和新模型在未来会层出不穷,不可能每个算法都要靠大力出奇迹的方式去学习。所以赵传霖博士在书中明确反对孤立、机械地学习算法,而是提倡 “透过现象看本质” ,要充分理解算法的思想。要想在实际工作中灵活运用,就要悟透算法之道。本书将重心放在了帮助读者梳理算法的发展脉 ,指导读者由“术”入“道”,达到“举一反三”的目的。全书内容可分为三个部分,我们来了解一下各部分的内容。首先是基础知识部分。介绍了推荐系统的基础知识、推荐系统中的特征工程、推荐系统中的 Embedding 技术。图片然后介绍推荐系统的各组成模块所使用的算法技术,包括召回、粗排、精排、重排四个模块。还对推荐算法实践中经常遇到的难题给出了应对之道。这部分内容极具价值,因为书中对多任务推荐、多场景推荐、新用户冷启动**、新物料冷启动、评估模型效果等实际应用场景进行细致的分析,定位并解决问题,是作者对大厂经验的直接分享。最后一部分是写给推荐算法工程师的,涵盖工作中的注意事项、学习方法,以及一些面试求职方面的宝贵建议。毕竟赵博士面试过许多求职者,可谓“阅人无数”,有他为读者把关,进大厂的希望那是相当大的。通过以上三个部分的学习,读者可以对推荐算法知识融汇贯通,对各种实践场景了然于胸,工作时能做到举重若轻,各种难题纷纷迎刃而解。

在这里插入图片描述

四、图书介绍

赵博士的理念是 “授人以鱼,不如授人以渔” ,他希望通过自己的分享,能让读者透彻理解推荐算法,并且在工作中灵活运用解决实际问题,少走弯路。本书最大的特点是 “实战”,书中讲述的都是互联网大厂主流的推荐算法。对于“经典但过时”的协调过滤、矩阵分解算法则干脆不讲,因为大厂都不玩这些了,而且也不是面试时考察的重点,所以没有去浪费笔墨。图片
本书兼顾理论与实践,除了讲解最基本的算法原理,还聚集于算法工程师的工作实际,关注他们日常遇到的实际难题。例如下面所列问题。

· 新用户与新物料怎么冷启动?

· 如何打开模型的黑盒,以排查问题或找到下一步升级改进的方向?

· 线下 AUC 涨了,但是线上 AB 实验的指标却不涨!这到底是什么原因造成的?

学习技术不仅要“talk”,也要有“code”。 赵博士认为算法工程师也属于广义上的程序员,源代码是最清晰直接的说明文档。所以书中针对核心算法都给出了相应的源码。

书中对于核心代码还给出了说明注释,帮助读者彻底理解算法的重要细节。至此,大厂是怎么玩推荐系统的,可说是一目了然,读者诸君切莫辜负了赵博士,定要多加学习思考,勤于练习。

还在羡慕做推荐算法的同学拿到大厂的 offer 吗?与其临渊羡鱼,不如退而结网,有 《互联网大厂推荐算法实战》 的加持,也许你很快也能进大厂和同学做同事。![图片

图书目录

1章 推荐系统简介 1
1.1 推荐系统的意义 2
1.2 推荐系统是如何运行的 3
1.3 推荐系统架构 5
1.3.1 功能架构 5
1.3.2 数据架构 8
1.4 推广搜的区别与联系 10
1.4.1 三驾马车的相同点 10
1.4.2 推荐与搜索 11
1.4.3 推搜与广告 12
1.5 小结 122章 推荐系统中的特征工程 14
2.1 批判“特征工程过时”的错误论调 15
2.2 特征提取 16
2.2.1 物料画像 16
2.2.2 用户画像 18
2.2.3 交叉特征 21
2.2.4 偏差特征 22
2.3 数值特征的处理 25
2.3.1 处理缺失值 25
2.3.2 标准化 25
2.3.3 数据平滑与消偏 26
2.3.4 分桶离散化 27
2.4 类别特征的处理 28
2.4.1 类别特征更受欢迎 28
2.4.2 类别特征享受VIP服务 29
2.4.3 映射 30
2.4.4 特征哈希 31
2.5 小结 32
第3章 推荐系统中的Embedding 33
3.1 无中生有:推荐算法中的Embedding 33
3.1.1 传统推荐算法:博闻强识 33
3.1.2 推荐算法的刚需:扩展性 35
3.1.3 深度学习的核心思想:无中生有的Embedding 36
3.1.4 Embedding的实现细节 37
3.2 共享Embedding还是独占Embedding 42
3.2.1 共享Embedding 42
3.2.2 独占Embedding 43
3.3 Parameter Server:推荐算法的训练加速器 46
3.3.1 传统分布式计算的不足 46
3.3.2 基于PS的分布式训练范式 47
3.3.3 PS中的并行策略 49
3.3.4 基于ps-lite实现分布式算法 51
3.3.5 更先进的PS 57
3.4 小结 60
第4章 精排 61
4.1 推荐算法的5个维度 61
4.2 交叉结构 62
4.2.1 FTRL:传统时代的记忆大师 62
4.2.2 FM:半只脚迈入DNN的门槛 69
4.2.3 Wide & Deep:兼顾记忆与扩展 71
4.2.4 DeepFM:融合二阶交叉 74
4.2.5 DCN:不再执着于DNN 76
4.2.6 AutoInt:变形金刚做交叉 79
4.3 用户行为序列建模 86
4.3.1 行为序列信息的构成 86
4.3.2 简单Pooling 86
4.3.3 用户建模要“千物千面” 87
4.3.4 建模序列内的依赖关系 89
4.3.5 多多益善:建模长序列 91
4.4 小结 96
第5章 召回 97
5.1 传统召回算法 97
5.1.1 基于物料属性的倒排索引 98
5.1.2 基于统计的协同过滤算法 99
5.1.3 矩阵分解算法 99
5.1.4 如何合并多路召回 100
5.2 向量化召回统一建模框架 101
5.2.1 如何定义正样本 102
5.2.2 重点关注负样本 103
5.2.3 解耦生成Embedding 105
5.2.4 如何定义优化目标 106
5.3 借助Word2Vec 111
5.3.1 *简单的Item2Vec 112
5.3.2 Airbnb召回算法 116
5.3.3 阿里巴巴的EGES召回 118
5.4 “瑞士军刀”FM的召回功能 120
5.4.1 打压热门物料 121
5.4.2 增广Embedding 122
5.5 大厂主力:双塔模型 124
5.5.1 不同场景下的正样本 124
5.5.2 简化负采样 124
5.5.3 双塔结构特点 126
5.5.4 Sampled Softmax Loss的技巧 127
5.5.5 双塔模型实现举例 129
5.6 邻里互助:GCN召回 131
5.6.1 GCN基础 131
5.6.2 PinSage:大规模图卷积的*案例 134
5.6.3 异构图上的GCN 142
5.7 小结 143
第6章 粗排与重排 145
6.1 粗排 146
6.1.1 模型:双塔仍然是主力 146
6.1.2 目标:拜精排为师 154
6.1.3 数据:纠正曝光偏差 158
6.1.4 模型:轻量级全连接 159
6.2 重排 161
6.2.1 基于启发式规则 162
6.2.2 基于行列式点过程 165
6.2.3 基于上下文感知的排序学习 174
6.3 小结 180
第7章 多任务与多场景 181
7.1 多任务推荐 181
7.1.1 多任务建模的误区 182
7.1.2 并发建模 182
7.1.3 串行建模 193
7.1.4 多个损失的融合 202
7.1.5 多个打分的融合 206
7.2 多场景推荐 209
7.2.1 特征位置 210
7.2.2 模型结构 211
7.2.3 模型参数 215
7.3 小结 217
第8章 冷启动 219
8.1 Bandit算法 219
8.1.1 多臂老虎机问题 220
8.1.2 Epsilon Greedy 221
8.1.3 UCB 222
8.1.4 概率匹配 223
8.1.5 Bayesian Bandit 223
8.1.6 上下文Bandit 225
8.2 元学习 228
8.2.1 什么是元学习 228
8.2.2 什么是MAML 230
8.2.3 MAML针对推荐场景的改造 233
8.2.4 Meta-Embedding 236
8.3 对比学习 242
8.3.1 对比学习简介 242
8.3.2 对比学习在推荐系统中的作用与使用方式 244
8.3.3 辨析对比学习与向量化召回 246
8.3.4 纠偏长尾物料的实践 247
8.3.5 纠偏小众用户的实践 249
8.4 其他算法 251
8.4.1 迁移学习 251
8.4.2 预测物料消费指标 252
8.4.3 以群体代替个体 253
8.4.4 借鉴多场景推荐 254
8.5 小结 255
第9章 评估与调试 256
9.1 离线评估 256
9.1.1 评估排序算法 257
9.1.2 评估召回算法 261
9.1.3 人工评测 266
9.1.4 持续评估 267
9.2 在线评估:A/B实验 267
9.2.1 线上:流量划分 268
9.2.2 线下:统计分析 273
9.3 打开模型的黑盒 276
9.3.1 外部观察 276
9.3.2 内部剖析 277
9.4 线下涨了,线上没效果 280
9.4.1 特征穿越 280
9.4.2 老汤模型 282
9.4.3 冰山:系统的内在缺陷 284
9.4.4 链路一致性问题 285
9.5 小结 28610推荐算法工程师的自我修养 287
10.1 工作 287
10.1.1 重视代码的规范性 287
10.1.2 重视离线评测 288
10.1.3 重视使用工具 289
10.2 学习 290
10.2.1 坚持问题导向 290
10.2.2 重在举一反三 291
10.2.3 敢于怀疑 292
10.2.4 落实代码细节 293
10.3 面试 293
10.3.1 社招 294
10.3.2 校招 296
10.4 小结 297

五、粉丝购买优惠

这里博主给大家5折限时福利购买链接:联网大厂推荐算法实战

  • 原价80多的只需要40多哦!
  • 同时博主也会评论区抽奖赠送几本的

六、粉丝福利

  • 参与方式:关注博主、点赞收藏评论,任意评论(每人最多评论三次)

  • ⛳️本次送书1~3取决于阅读量,阅读量越多,送的越多

  • 📆 活动时间至:2023-1-23 10:00:00 | 随机抽取由博主动态公布抽奖结果

如有特别需要的同学可添加博主微信进入粉丝福利群发放福利哦!

🔥 注:活动结束后,会私信中奖粉丝的,各位注意查看私信哦!

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送


http://www.niftyadmin.cn/n/5336320.html

相关文章

UE5 C++ Slate独立程序的打包方法

在源码版安装目录内找到已编译通过的xxx.exe,(\Engine\Binaries\Win64\xxx.exe),在需要的位置新建文件夹,拷贝源码版Engine内的Binaries、Content、Shaders文件夹到目标文件夹内,将xxx.exe放入对应位置,删除…

插入排序C++

插入排序:有序列表的匠心打造 在计算机科学中,排序算法是不可或缺的一部分。插入排序,作为其中一种经典算法,以其朴素而直接的方式,展示了如何将无序数据转化为有序状态。本文将通过生动的实例,带你领略插…

用 Golang 启动个简单的http服务器

本章通过编写功能逐渐复杂的 web 服务器来让开发者对如何运用 go 语言有一个初步的了解。web 服务的地址 http://localhost:8000。 1. 启动一个最简单的 web 服务器 package mainimport ("fmt""log""net/http" )func main() {http.HandleFunc(…

【深度挖掘RocketMQ底层源码】「底层系列」深度挖掘RocketMQ的Broker配置介绍及发送流程、异常(XX Busy)问题分析

[TOC](深度挖掘RocketMQ的Broker配置介绍及发送流程、异常(XX Busy)问题分析这里写目录标题) 参考资料 Rocketmq官网:http://rocketmq.apache.org/ Rocketmq的其它项目:https://github.com/apache/rocketmq-externals Rocketmq-console安装&#xff1…

【C语言】linux内核ipoib模块 - ipoib_start_xmit

一、ipoib_start_xmit函数定义 static netdev_tx_t ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev) {struct ipoib_dev_priv *priv ipoib_priv(dev);struct rdma_netdev *rn netdev_priv(dev);struct ipoib_neigh *neigh;struct ipoib_pseudo_header *phdr…

[Python] scikit-learn之mean_squared_error函数(Mean Squared Error(MSE))介绍和使用案例

什么是均方误差(MSE)和均方根误差(RMSE)? MSE 是均方误差(Mean Squared Error)的缩写,是一种常用的衡量回归模型预测精度的指标。它表示预测值与真实值之间差异的平方和的平均值,通常用于评估回归模型的性能。 RMSE 是均方根误差(Root Mean Squared Er…

Lua 快速入门 · 教程笔记

Lua语言快速入门 教程笔记 前言1. Lua 语言介绍2. Lua 语言基础之基本语法声明变量声明方法使用 if - else使用 for使用 while 3. Lua 语言基础之表4. Lua 语言基础之数组插入元素移除元素获取表的长度全局表 5. Lua 语言面向对象之复制表的方式面向对象实现继承和重写父类方法…

elementui table树形多选、半选、全选解决方案

<!-- table部分 --> <el-tableref="table":data="tableData"style="margin-top: 20px"row-key="ID"default-expand-all:tree-props="{children: children, hasChildren: hasChildren}":row-class-name="rowCl…