机器学习面经-word2vec

简介:概念:利用训练语料中词与词之间的共线性,将自然语言中的词语转换成词向量的形式。本质上学习的是词与词之间的共线性。这个共现取决于滑动窗口的大小。

两种形式:包含了skip-grand,CBOW两种形式,首先我们会定义一个滑动窗口,CBOW是根据上下文词来预测中心词的概率,而skip-grand是根据中心词来预测上下文词的概率。

输入:样本的输入,比如说在我们的项目中,我们把文章的内容拼接到一起,然后分词,如果采用skip-grand的方式,现在我们有一个滑动窗口,窗口中有1,2,3,4,5,那么我们就会得到31,32,34,35四条样本,那么3就是我们的收入,1,2,4,5就是我们的target。负采样就是从滑动窗口之外采集,采集的比例为1:10,一般也会采集一些出现概率较大的,如果不进行负采样,最后用softmax计算的时候计算量会特别的大。对比one-hot,TF-IDF等,word2vec的维度可以降的更低,可以解决一些稀疏性的问题。

下面总结了一些面试常问的相关面试题,其他系列面经请关注文章底部专栏:小白机器学习面试指南。持续更新中。

Skip-grand 和 cbow有什么区别和优缺点?

答:在cbow方法中,是用周围词预测中心词,从而利用中心词的预测结果情况,使用梯度下降方法,不断的去调整周围词的向量。当训练完成之后,每个词都会作为中心词,把周围词的词向量进行了调整,这样也就获得了整个文本里面所有词的词向量;而skip-gram是用中心词来预测周围的词。

在skip-gram中,会利用周围的词的预测结果情况,使用梯度下降来不断的调整中心词的词向量,最终所有的文本遍历完毕之后,也就得到了文本所有词的词向量。可以看到,cbow预测行为的次数跟整个文本的词数几乎是相等的(每次预测行为才会进行一次反向传播, 而往往这也是最耗时的部分),复杂度大概是O(V);skip-gram进行预测的次数是要多于cbow的:因为每个词在作为中心词时,都要使用周围词进行预测一次。这样相当于比cbow的方法多进行了K次(假设K为窗口大小),因此时间的复杂度为O(KV),训练时间要比cbow要长。

优缺点:简单说,skip-gram 出来的准确率比cbow 高,但训练时间要比cbow要长;在计算时,cbow会将context word 加起来,在遇到生僻词是,预测效果将会大大降低。skip-gram则会预测生僻字的使用环境,预测效果更好。

说说滑动窗口大小以及负采样个数的参数设置以及设置的比例;怎么衡量学到的embedding的好坏?

答:滑动窗口大小和负采样个数是Word2Vec训练中的两个重要参数:

  1. 滑动窗口大小:
    • 滑动窗口是指在一个句子或文本中,从一个词开始,向左右两侧滑动的窗口,窗口内的词会被认为是当前词的上下文词。滑动窗口大小定义了窗口的大小范围,例如,滑动窗口大小为2表示窗口的左右两侧各包含2个词,共5个词组成滑动窗口。通常,较大的窗口大小可以捕捉更广泛的语境信息,而较小的窗口大小则更加注重局部语义信息。
  2. 负采样个数:
    • 在Word2Vec训练中,为了加速模型训练并减少计算量,通常会采用负采样(Negative Sampling)的技术。负采样用于训练样本的采样过程,通过从词汇表中随机采样一定数量的负样本来进行训练。负采样个数是指在每个训练样本中采样的负样本的数量。通常,较大的负采样个数可以提高模型训练的速度,但同时会增加模型的训练难度。 衡量学到的embedding的好坏:
    • 衡量Word2Vec学习到的嵌入向量的好坏可以使用多种方法。一种常见的方法是通过单词之间的相似性来进行评估。可以使用余弦相似度或欧几里德距离等度量来计算词向量之间的相似性。如果在向量空间中,语义相近的单词的向量之间的距离较小,而不相关的单词的向量之间的距离较大,则表明Word2Vec学到的嵌入向量具有较好的语义表示能力。
    • 另一种方法是通过Word2Vec学习到的嵌入向量在具体应用任务上的性能来评估。例如,在文本分类任务中,将Word2Vec学到的嵌入向量作为输入特征,训练一个分类器,然后通过分类性能来评估Word2Vec的效果。
    • 此外,还可以使用词类比任务来评估Word2Vec的性能,例如"king - man + woman = queen"。通过计算向量运算的结果,检查Word2Vec学到的嵌入向量是否能够在向量空间中实现类似的词类比关系。如果Word2Vec学习到的嵌入向量能够很好地捕捉单词之间的语义关系,那么在这样的词类比任务中应该表现出较好的结果。

item2vec和MF的区别?

答:二者都应用了隐向量来表征实体特征,不同的是,传统的MF通常是user-item矩阵,而 Item2Vec通过滑动窗口样本生成的方式构造出的则更像是item-item矩阵;另外,二者得到隐向量的方式也不同,MF利用均方差损失,使预测得分与已有得分之间的误差尽可能地小,而 Item2Vec则是利用空间信息并借助了最大似然估计的思想,使用对数损失,使上下文关系或者共现关系构造出的正样本的item Pair出现的概率可能地大;此外训练 Item2Vec 的时候还

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

小白机器学习面试指南 文章被收录于专栏

林小白的机器学习指南,从本人面试的机器学习算法岗位出发,对机器学习“八股文”做详细的介绍、推导;

全部评论
mark
点赞 回复 分享
发布于 2023-07-28 22:59 安徽
mark
点赞 回复 分享
发布于 2023-07-28 22:10 安徽
mark
点赞 回复 分享
发布于 2023-07-28 12:42 江苏
m
点赞 回复 分享
发布于 2023-07-28 02:25 北京
mark
点赞 回复 分享
发布于 2023-07-26 02:56 江苏

相关推荐

03-31 16:42
已编辑
郑州西亚斯学院 后端
Java抽象带篮子:你简历少了几个模块看上去就感觉信息很少,简历怎么写可以看看我发的帖子
点赞 评论 收藏
分享
评论
5
13
分享

创作者周榜

更多
牛客网
牛客企业服务