年月份推荐算法工程师一面道题福利
问题1:介绍下什么是Word2vec
在介绍Word2Vec之前需要先理解Word Embedding,它是将无法直接计算的、非结构化的单词转化为可计算的、结构化的数据-向量;
那么什么是Word2Vec呢?
Word2vec是 Word Embedding 的方法之一。他是2013年由谷歌的Mikolov提出了一套新的词嵌入方法;
Word2Vec有两种训练模式︰CBow(Continuous Bag-of-Words Model)和Skip-gram(Continuous Skip-gram Model);
CBoW:根据上下文信息预测当前值(单词)
Skip-gram:根据当前值(单词)预测上下文信息
更多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
问题2:Word2vec负采样如何实现?
现在我们看下Word2vec如何通过Negative Sampling负采样方法得到neg个负例;如果词汇表的大小为v,那么我们就将一段长度为1的线段分成V份,每份对应词汇表中的一个词。当然每个词对应的线段长度是不一样的,高频词对应的线段长,低频词对应的线段短。每个词w的线段长度由下式决定:
在word2vec中,分子和分母都取了3/4次幂如下:
在采样前,我们将这段长度为1的线段划分成M等份,这里M»V,这样可以保证每个词对应的线段都会划分成对应的小块。而M份中的每一份都会落在某一个词对应的线段上。在采样的时候,我们只需要从M个位置中采样出neg个位置就行,此时采样到的每一个位置对应到的线段所属的词就是我们的负例词。
在word2vec中,M取值默认为10^8。
问题3:Widedeep 为什么要分wide deep,好处?
Wide & Deep设计了一种融合浅层(wide)模型和深层(deep)模型进行联合训练的框架。Wide部分:通过线性模型+特征交叉,使模型具有“记忆能力(Memorization)”,通常非常有效、可解释较强。但其”泛化能力(Generalization)“需要更多的人工特征工程。
**Deep部分∶**只需要少量的特征工程,深度神经网络(DNN)通过对稀疏特征进行学习,可以较好地推广到训练样本中未出现过的特征组合,使模型具有“泛化能力”。但当user-item交互矩阵稀疏且高阶时,例如特定偏好的用户和小众产品,容易出现过拟合,导致推荐的item相关性差。
**好处:**结合Wide与Deep模型各自的优势
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek/post/%E4%BA%92%E8%81%94%E7%BD%91/%E5%B9%B4%E6%9C%88%E4%BB%BD%E6%8E%A8%E8%8D%90%E7%AE%97%E6%B3%95%E5%B7%A5%E7%A8%8B%E5%B8%88%E4%B8%80%E9%9D%A2%E9%81%93%E9%A2%98%E7%A6%8F%E5%88%A9/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com