2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题 | 福利

star2017 1年前 ⋅ 1042 阅读

问题 1:介绍下什么是 Word2vec

在介绍 Word2Vec 之前需要先理解 Word Embedding,它是将无法直接计算的、非结构化的单词转化为可计算的、结构化的数据-向量;

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

那么什么是 Word2Vec 呢?

Word2vec 是 Word Embedding 的方法之一。他是 2013 年由谷歌的 Mikolov 提出了一套新的词嵌入方法;

Word2Vec 有两种训练模式︰CBow(Continuous Bag-of-Words Model)和 Skip-gram(Continuous Skip-gram Model);

CBoW:根据上下文信息预测当前值(单词)

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

Skip-gram:根据当前值(单词)预测上下文信息

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

更多 Word2Vec 的讲解请参考七月题库︰

请说说 word2vec 的简要理解–Al 笔试面试题库:

https:/www.julyedu.com/questions/interview-detail?kp_id=30&cate=NLP&quesld=2966

如何通俗理解 Word2vec -Al 笔试面试题库:

https://www.julyedu.com/questions/interview-detail?kp_id=30&cate=NLP&quesld=2761

七月在线品牌月,价值 3W 元 AI 好课,共 31 门课程(每日更新 1 门课程),限时 1 分秒杀-->www.julyedu.com

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

问题 2:Word2vec 负采样如何实现?

现在我们看下 Word2vec 如何通过 Negative Sampling 负采样方法得到 neg 个负例;如果词汇表的大小为 v,那么我们就将一段长度为 1 的线段分成 V 份,每份对应词汇表中的一个词。当然每个词对应的线段长度是不一样的,高频词对应的线段长,低频词对应的线段短。每个词 w 的线段长度由下式决定:

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

在 word2vec 中,分子和分母都取了 3/4 次幂如下:

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题



在采样前,我们将这段长度为 1 的线段划分成 M 等份,这里 M>>V,这样可以保证每个词对应的线段都会划分成对应的小块。而 M 份中的每一份都会落在某一个词对应的线段上。在采样的时候,我们只需要从 M 个位置中采样出 neg 个位置就行,此时采样到的每一个位置对应到的线段所属的词就是我们的负例词。

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

在 word2vec 中,M 取值默认为 10^8。

问题 3:Widedeep 为什么要分 wide deep,好处?

Wide & Deep 设计了一种融合浅层(wide)模型和深层(deep)模型进行联合训练的框架。Wide 部分:通过线性模型 +特征交叉,使模型具有“记忆能力(Memorization)”,通常非常有效、可解释较强。但其”泛化能力(Generalization)“需要更多的人工特征工程。

**Deep 部分 ∶**只需要少量的特征工程,深度神经网络(DNN)通过对稀疏特征进行学习,可以较好地推广到训练样本中未出现过的特征组合,使模型具有“泛化能力”。但当 user-item 交互矩阵稀疏且高阶时,例如特定偏好的用户和小众产品,容易出现过拟合,导致推荐的 item 相关性差。

**好处:**结合 Wide 与 Deep 模型各自的优势:Memorization 与 Generalization,Wide &Deep 模型比各自模型更加有效。

问题 4:Wide&Deep 的 Deep 侧具体实现

deep 部分是 Embedding+MLP 前馈神经网络。高维离散特征会首先被转为低维稠密向量,通常被称为 Embedding vectors,Embedding 被随机初始化,并根据最终的 loss 来反向训练更新。隐藏层为全连接网络:

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

其中

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题

分别为第 l 层的输入、偏置项、参数项与激活函数。

Deep 部分的主要作用是让模型具有“泛化能力”。“泛化能力”可以被理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。深度神经网络通过特征的多次自动组合,可以深度发掘数据中潜在的模式,即使是非常稀疏的特征向量输入,也能得到较稳定平滑的推荐概率。

问题 5:DeepFM 为了解决什么问题?

在处理 CTR 预估问题中,传统的方法有一个共同的缺点:对于低阶的组合特征,学习到的比较少;但是低阶特征对于 CTR 也非常重要,于是 Google 为了同时学习低阶和高阶组合特征,提出了 Wide&Deep 模型:混合了一个 线性模型(Wide part)和 Deep 模型 (Deep part);这两部分模型需要不同的输入,其中 Wide part 部分的输入仍然依赖人工特征工程;

此时模型存在两个问题:

  • 偏向于提取低阶或者高阶的组合特征,不能同时提取这两种类型的特征;
  • 需要专业的领域知识来做特征工程;

DeepFM 在 Wide&Deep 的基础上进行改进,成功解决了上述这两个问题,并做了一些优化;

优点如下:

  • 不需要预训练 FM 得到隐向量;
  • 不需要人工特征工程;
  • 能同时学习低阶和高阶的组合特征;

FM 模块和 Deep 模块共享 Feature Embedding 部分,可以更快、更精确的训练;

七月在线品牌月,价值 3W 元 AI 好课,共 31 门课程(每日更新 1 门课程),限时 1 分秒杀-->www.julyedu.com

2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题


本文地址:https://www.6aiq.com/article/1625314187451
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: