深度学习推荐系统实战
王喆
Roku 推荐系统架构负责人,前 hulu 高级研究员,《深度学习推荐系统》作者
10763 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
01 | 技术架构:深度学习推荐系统的经典技术架构长啥样?
04 | 特征工程:推荐系统有哪些可供利用的特征?
06 | Embedding基础:所有人都在谈的Embedding技术到底是什么?
课程目录
已完结/共 44 讲
开篇词 (1讲)
开篇词 | 从0开始搭建一个深度学习推荐系统
基础架构篇 (5讲)
01 | 技术架构:深度学习推荐系统的经典技术架构长啥样?
02 | Sparrow RecSys:我们要实现什么样的推荐系统?
03 | 深度学习基础:你打牢深度学习知识的地基了吗?
国庆策划 | 关于深度学习推荐系统,我有这些资料想推荐给你
国庆策划 | 深度学习推荐系统基础,你掌握了多少?
特征工程篇 (6讲)
04 | 特征工程:推荐系统有哪些可供利用的特征?
05 | 特征处理:如何利用Spark解决特征处理问题?
06 | Embedding基础:所有人都在谈的Embedding技术到底是什么?
07 | Embedding进阶:如何利用图结构数据生成Graph Embedding?
08 | Embedding实战:如何使用Spark生成Item2vec和Graph Embedding?
答疑 | 基础架构篇+特征工程篇常见问题解答
线上服务篇 (7讲)
09 | 线上服务:如何在线上提供高并发的推荐服务?
10 | 存储模块:如何用Redis解决推荐系统特征的存储问题?
11 | 召回层:如何快速又准确地筛选掉不相关物品?
12 | 局部敏感哈希:如何在常数时间内搜索Embedding最近邻?
13 | 模型服务:怎样把你的离线模型部署到线上?
14 | 融会贯通:Sparrow RecSys中的电影相似推荐功能是如何实现的?
答疑 | 线上服务篇留言问题详解
推荐模型篇 (12讲)
15 | 协同过滤:最经典的推荐模型,我们应该掌握什么?
16 | 深度学习革命:深度学习推荐模型发展的整体脉络是怎样的?
模型实战准备(一) | TensorFlow入门和环境配置
模型实战准备(二) | 模型特征、训练样本的处理
17 | Embedding+MLP:如何用TensorFlow实现经典的深度学习模型?
18|Wide&Deep:怎样让你的模型既有想象力又有记忆力?
19|NeuralCF:如何用深度学习改造协同过滤?
20 | DeepFM:如何让你的模型更好地处理特征交叉?
21|注意力机制、兴趣演化:推荐系统如何抓住用户的心?
22|强化学习:让推荐系统像智能机器人一样自主学习
特别加餐 | “银弹”不可靠,最优的模型结构该怎么找?
23| 实战:如何用深度学习模型实现Sparrow RecSys的个性化推荐功能?
模型评估篇 (5讲)
24 | 离线评估:常用的推荐系统离线评估方法有哪些?
25 | 评估指标:我们可以用哪些指标来衡量模型的好坏?
特别加餐|TensorFlow的模型离线评估实践怎么做?
26 | 在线测试:如何在推荐服务器内部实现A/B测试?
27 | 评估体系:如何解决A/B测试资源紧张的窘境?
前沿拓展篇 (6讲)
28 | 业界经典:YouTube深度学习推荐系统的经典架构长什么样?
29 | 图神经网络:Pinterest是如何应用图神经网络的?
30 | 流处理平台:Flink是如何快速识别用户兴趣,实现实时推荐的?
31|模型迭代:阿里巴巴是如何迭代更新推荐模型的?
32 | 强化学习案例:美团是如何在推荐系统中落地强化学习的?
33|技术权衡:解决方案这么多,哪个最合适?
结束语 (2讲)
结束语|深度学习时代需要什么样的推荐工程师?
期末考试 | “深度学习推荐系统”100分试卷等你来挑战!
深度学习推荐系统实战
15
15
1.0x
00:00/00:00
登录|注册

24 | 离线评估:常用的推荐系统离线评估方法有哪些?

你好,我是王喆。今天我们要进入一个全新的章节,模型评估篇。
在推荐系统这个行业,所有人都在谈效果。就像我们在学习推荐模型篇的时候,你肯定也有过这样的疑问:
DIEN 这个模型的效果到底怎么样啊?
我们用深度学习来构建模型到底能让推荐系统效果提高多少啊?
DeepFM 的效果是不是会比 Wide&Deep 好呢?
那这个所谓的“效果”到底指的是什么呢?我们一般用什么方法来衡量这个“效果”呢?我们又应该如何根据效果评估的结果来更新模型呢?这就是模型评估篇要解决的问题。
在所有推荐系统的评估方法中,离线评估是最常用、最基本的。顾名思义,“离线评估”就是我们将模型部署于线上环境之前,在离线环境下进行的评估。由于不用部署到生产环境,“离线评估”没有线上部署的工程风险,也不会浪费宝贵的线上流量资源,而且具有测试时间短,可多组并行,以及能够利用丰富的线下计算资源等诸多优点。
因此,在模型上线之前,进行大量的离线评估是验证模型效果最高效的手段。这节课,我们就来讲讲离线评估的主要方法,以及怎么在 Spark 平台上实现离线评估。

离线评估的主要方法

离线评估的基本原理是在离线环境下,将数据集分为“训练集”和“测试集”两部分,“训练集”用来训练模型,“测试集”用于评估模型。但是如何划分测试集和训练集,其实这里面有很多学问。我总结了一下,常用的离线评估方法主要有五种,分别是:Holdout 检验、交叉检验、自助法、时间切割、离线 Replay。接下来,我们一一来看。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
01 | 技术架构:深度学习推荐系统的经典技术架构长啥样?
04 | 特征工程:推荐系统有哪些可供利用的特征?
06 | Embedding基础:所有人都在谈的Embedding技术到底是什么?
12 | 局部敏感哈希:如何在常数时间内搜索Embedding最近邻?
24 | 离线评估:常用的推荐系统离线评估方法有哪些?
31|模型迭代:阿里巴巴是如何迭代更新推荐模型的?
该试读文章来自付费专栏《深度学习推荐系统实战》,如需阅读全部文章,
请购买文章所属专栏
立即购买
登录 后留言

精选留言(9)

  • 张弛 Conor
    思考题:离线Replay和RL都是动态更新模型的,都需要不断的测试和再训练模型。增强学习(如DRN)是通过不断接受反馈,在线更新模型的,所以评估方法不能引入未来信息,而简单的时间切割评估方法又不能模拟模型的更新频率,所以离线Replay是增强学习的唯一离线评估方法。

    作者回复: 我的天,说的太好了,我本来以为这是一道比较难的思考题。基本就是我想要的答案,给你点赞。

    2020-12-07
    3
    80
  • Geek_033ad5
    老师,在交叉检验的例子中,因为是使用的spark,那模型也必须是用spark实现的模型吧?那如果是tf实现的模型,该怎么做交叉检验呢?感谢!

    作者回复: 是的,示例代码中是spark的交叉验证代码,并不支持tf模型。

    如果确实需要的话,需要根据交叉验证的思想自己实现。

    2021-01-10
    2
  • 浩浩
    可以用来离线模拟和评估强化学习的在线过程

    作者回复: 是这样

    2020-12-21
    2
  • KongTzeSing
    老师,我想问问,如果模型用early_stop来调整训练轮数,需要单独拿1天数据当验证集吗,然后测试集是验证集后一天的数据。就是想问上线之后每天跑是否也需要有“验证集”的概念?

    作者回复: 没有绝对,但early stop最好是有验证集,通过验证集来确定训练收敛的轮数,上线之后我一般会确定训练轮数来避免一些不可控的问题。

    2020-12-11
    2
    3
  • 那时刻
    文中提到自助法在 n 次采样之后,将这些没有被抽出的样本作为验证集进行模型验证。如果n次采样之后导致没有被抽出的样本比较多,从而导致验证集比较大,这种情况下,需要抛弃这次采样么?

    另外,请问老师一个样本数据有偏斜的问题。比如正例样本有10000例,而反例样本之后100例,采用什么方法对模型进行评估呢?

    作者回复: 1、一般不建议这样做,需要n的规模比较大,进行充分的采样。
    2、关注下一节课,选取AUC等合适的评估指标。

    2020-12-07
    2
  • 浣熊当家
    如果通过划分userID来划分训练集和测试集,是不是也可以避免引入未来信息呢?

    作者回复: 可以是可以,但效果会非常糟。你想想效果为什么会非常糟。

    2020-12-08
    6
    2
  • Peter
    老师,有个最近遇到的一个疑问,就是我有30天的数据,我的模型(非rl模型),我现在模型使用数据(时间分割法)是前五天做训练,后一天做测试,以六天为一个窗口进行滑动。但是看到动态replay,想问对于非RL的模型(NLP模型),动态replay评估是否有必要? 如果采用动态replay那是否需要有一个时间上限? 比例前15天训练,随后的15天进行replay,一旦完成就完成评估,还是得不断延迟时间观察平均的性能?
    不知道描述清楚没有。。。

    作者回复: replay是要仿真你线上的模型更新环境和过程。只要你的模型在生产环境下要更新,就应该使用replay的方法,和RL没有关系。

    第二个问题也和你的生产环境相关,采用一样的训练和更新频率就好

    2021-07-15
    1
  • 浣熊当家
    老师我突然想不清楚了,模型训练中,我们的输入是各种用户 ,产品,场景的特征,然后输出是什么来着?
    比如说其中一条sample的输入特征会是某个用户A在时间点t (-5) 到 t(0) 的观影序列, t(0) 的 场景特征, t(-5)到 t(0) 时刻的 产品特征, 然后要预测的是t(1) 时刻, 用户A点击(或者评论)的 物品ID这样吗? 这个物品ID也是个embedding向量吗?

    作者回复: 训练的输出是预测这个样本的标签,也就是0或者1。
    最终模型的输出是预测的概率,也就是预测这个样本标签为1的概率。

    2020-12-08
    3
    1
  • Geek_3c29c3
    老师,书中8.4节有淘宝数据集和亚马逊数据集的AUC对比,请问这些数据源和模型baseline可以在哪里获得啊?

    作者回复: 书中的对比是原paper中的数据,是别人公司的内部数据。

    能不能获得要看别人开不开放数据集和源代码。

    2020-12-07
    1
收起评论
9
返回
顶部