word2vec中的negative sampling有什么用?

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

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

 

thatdeep   2019-07-12 01:06



   1个回答 
3

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



  相关主题

bootstrap 一般用在哪些方面   1回答

蓄水池抽样算法的问题   1回答

Jackknife vs Bootstrap   1回答

两阶段抽样和分层抽样是一回事吗?   1回答

parametric bootstrap和nonparametric bootstrap的区别是什么?   1回答

滚雪球抽样算法的实现   1回答

自助法(bootstrap)的0.632是怎么来的?   1回答

python产生一个随机置换?   1回答

python对给定的集合进行有放回抽样?   2回答

把训练集分成n份,用同种算法在每个子训练集上训练再把预测平均,效果如何?   1回答

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

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



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!