word2vec中的negative sampling有什么用?

  统计/机器学习 抽样方法 自然语言处理 人工神经网络    浏览次数:2444        分享
2

word2vec中的negative sampling有什么用?是对谁进行sampling的?

 

thatdeep   2019-07-12 01:06



   1个回答 
5

word2vec的输入变量和目标变量都是one-hot的,而且维度很大,这样就有了计算量的问题。

negative sampling是针对目标变量的,比如one-hot之后的目标变量是9999个0,1个1。这1万点对应的参数每次迭代时都会更新,假设隐藏层有100个点,那就有100万个参数,所以非常低效。对这9999个0随机取20个,这就是negative sampling。这样的话目标变量里是20个0,1个1,剩下的没有数值,没有数值所对应的那些参数也不会被更新,只更新21个数值对应的参数。这样计算量大大降低,而且实验显示,negative sampling之后模型也更好。

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-09-01 01:11



  相关讨论

为什么基于skip-gram的word2vec在低频词汇相比cbow更有效?

word2vec的网络里为什么没有bias偏置项

gensim训练出的Word2Vec模型每次都不一样

教程中的利用Word2Vec判断是否是白话

gensim里word2vec的window指的是什么?包括的范围是多大?

怎么把训练好的bin格式的word2vec模型导入到gensim中使用?

gensim.models.word2vec模块的LineSentence有什么用?

gensim的word2vec模型是skip-gram还是cbow?

word2vec怎么处理一词多义的情况?

训练word2vec时移动窗口的大小怎么选择?

  随便看看

统计学中的自变量和因变量分别是什么意思?

分类变量,进行One hot编码,维度升高,如何处理?

模型调参时常用到的Grid Search是什么意思?

两个独立的正态随机变量的乘积服从什么分布?

逻辑回归模型中变量的系数怎么理解?