深度学习推荐系统实战
王喆
Roku 推荐系统架构负责人,前 hulu 高级研究员,《深度学习推荐系统》作者
33298 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
深度学习推荐系统实战
15
15
1.0x
00:00/00:00
登录|注册

答疑 | 基础架构篇+特征工程篇常见问题解答

关于推荐系统的深入思考
课程相关的知识误区
实战项目安装、操作类的问题
基础架构篇+特征工程篇常见问题解答

该思维导图由 AI 生成,仅供参考

你好,我是王喆。
到今天为止,基础架构篇和特征工程篇我们都学完了。这段时间,我收到了同学们的很多留言,也看到了大家在学习和实践过程中的很多疑问。今天这节课,我挑了 10 道典型的问题,想和你好好讨论一下,希望可以帮助你解决困惑。

实战项目安装、操作类的问题

我们在第 2 节课讲了 Sparrow Recys 项目的安装方法,不过,我在留言区看到大家在安装的时候,还是会遇到很多问题。这里我整理出了两类典型的问题,我们一起看看。
问题 1:因为没有项目经验,想知道把 Sparrow Recys 项目 git clone 到本地之后,怎么运行这个 Maven project?
这里我再重新描述一下整个安装和执行的过程,详细来说一共有 6 步:
1. 安装 IDEA。到这个地址下载 IDE,安装 IDEA 后,打开 IDEA;
2. 在 IDEA 中打开项目。选择 File->Open-> 选择 git clone 到的项目根目录,就可以把项目导入到 IDEA;
3. 配置 maven project。我们在 IDEA 的项目结构树的 pom.xml 上点击右键,设置为 maven project(最新的 IDE 版本也可能不用)就可以了;
4. 配置 SDK。Sparrow Recsys 使用了 Java8,Scala2.11 的编译环境,你可以在 File->Project Structure->Project 中配置 Java SDK,并在 Global Libraries 中配置 Scala SDK;
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

王喆老师在本文中回答了关于推荐系统基础架构和特征工程的常见问题,涉及Sparrow Recys项目安装和操作、协同过滤在排序层的应用、多模态特征效果、特征处理对模型拟合的影响等内容。此外,还解释了Graph Embedding的随机游走过程中BFS和DFS的应用。在回答读者提出的问题时,王喆老师强调了批流一体的Kappa架构的发展趋势,以及在线预测时模型所需特征的获取方式。他还深入探讨了深度学习对稀疏特征向量处理的不利之处,并提出了通过Embedding稠密化原始稀疏特征的解决方案。总体而言,本文为读者提供了对推荐系统相关技术的深入理解和应用方面的指导,展现了王喆老师在推荐系统领域的专业见解和经验分享。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深度学习推荐系统实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(15)

  • 最新
  • 精选
  • 你笑起来真好看
    推荐算法涉及的特征维度很高,数据量大,业界一般用什么方法做特征选择呢?

    作者回复: L1正则化,PCA降维,Embedding预训练降维,模型训练好后人工删除权重小的特征等方法。

    2020-10-30
    2
    23
  • 邓生
    老师好,这是我第二遍看整个课程了。关于问题5我还是有点不明确,训练数据分布和特征分布的定义是什么?只有理解清楚这两个概念才能对问题5真正理解。

    作者回复: 训练数据分布一般指的是label的分布。特征分布指的是某一个具体特征的值的分布。比如有些特征值可以是这样的额,1.1 1.2 1.5 1.7 8 10 100。有的特征的值的分布可以是这样的,1 2 6 4 1 2 10 7。那么第二种分布显然就更友好,第一种分布显然就非常不均匀。 这种非常不均匀的分布容易造成一些问题。所以要通过一些变换让这些特征分布均匀一些,有利于模型的训练。

    2020-12-28
    2
    12
  • 香格里拉飞龙
    对于多模态特征我有一点想法。对于视频来说,只识别其中出现的物体其实作用是没那么大的。不论短视频和电影,一般其中用于吸引人的物体是会加在类别或者tag等属性中的,只用cv识别物体可能和这些特征有些重合。 我觉得一个可以起作用的点,因为有些人会稍微看看开头然后决定会不会继续看下去。还有些付费电影会有几分钟试看,所以可以分析出电影开头几分钟的一些特征,其中可能包含着这个电影开头的结构、如何能在开头引人入胜的信息。不过这种特征太复杂了,可能现在的技术还不足以能提取出来。

    作者回复: 利用用户行为反推内容的特征,其实是非常好的想法,行业内也有应用,非常好的思考,赞一个。

    2021-07-21
    5
  • 菜鸟
    老师好,做为推荐系统工程师,和算法同学配合时最困难的是特征处理一致性,确保近离线特征处理和线上实时预测时完全一致。 除了算法同学优化效果时特征变化频繁难以固化外,近离线特征处理一般是为了生成单用户样本,性能不是首要考虑问题。线上服务一般是1用户N物品批量计算,特征处理需要做很多计算优化才有极致性能。 如此很容易出现线上线下特征处理不一致问题,业界有什么好的实践可以介绍一下吗?

    作者回复: 没有统一的解决方案,这个需要每个公司的工程师去想办法。这本质上其实是一个跨团队协作的问题,需要一起定义并遵守非常好的接口习惯。

    2021-07-07
    5
  • difoil
    word2vec 每次算出来的向量都不一样。这样会每次都需要计算全部数据才能计算相互的距离。有没有其它的embedding 可以让item的向量保持稳定,这样只需要计算增量的item?

    作者回复: 只要是重新训练模型,就会生成全新的embedding,如果只生成增量item的embedding,就必须动态修改输入层维度和梯度下降方法,方法是有,但需要你重新自己写所有的网络更新过程。

    2021-01-15
    4
  • Geek_eb9ed6
    老师好,请教一下,比如有几种产品类型,他们都有销量特征,但这个销量特征的取值范围以及统计口径差异比较大,这个时候该如何处理销量这个特征

    作者回复: 这个问题其实比较基础,建议你自己思考一下连续值特征有哪些好的处理方法

    2021-11-24
    1
  • FayeChen
    除了item2vec 以外其他的网络结构也能生成embedding,比如同为序列模型的lstm做多分类问题预测下个观看的视频,用negative sampleing 采样。这两种方法生成的embedding向量有什么区别么,哪种再接下游MLP finetune 会更好?

    作者回复: 一般来说序列模型因为有时间信息在里面,效果会好一些。但还是再强调一遍,业务上没有好坏,好坏都需要你的实践来验证。

    2021-03-08
    1
  • Yvonne
    谢谢老师!太感谢了。听课的时候就有这个疑问为什么稀疏特征向量不适合深度学习的结构,本来觉得可能要课后搜集资料好好了解了,没想到在这找到了答案

    作者回复: 赞

    2021-04-26
  • Sanders
    对于问题3“因为协同过滤类算法比较简单,线上计算过程也很高效,比如矩阵分解之后可以进行 embedding 快速召回,所以放在召回层也完全适用”,我理解想ALS这种算法它是没法生成模型在线直接使用的,只能做离线排序。

    作者回复: 生成的item embedding和user embedding,然后线上做product生成最终得分

    2021-02-03
  • Geek_1e3d35
    老师好,我想问一下,在实践过程中,word2vec训练的词向量应用在深度学习模型embedding层是可行的吗,需要什么样的处理

    作者回复: 用word2vec预训练embedding再直接输入深度学习模型是可行的。很常见的做法。

    2021-01-03
    2
收起评论
显示
设置
留言
15
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部