word2vec中的negative sampling有什么用?是对谁进行sampling的?
1个回答
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面经 相关主题
自助法(bootstrap)的0.632是怎么来的?
1回答
蓄水池抽样算法的问题
1回答
两阶段抽样和分层抽样是一回事吗?
1回答
滚雪球抽样算法的实现
1回答
parametric bootstrap和nonparametric bootstrap的区别是什么?
1回答
python产生一个随机置换?
1回答
把训练集分成n份,用同种算法在每个子训练集上训练再把预测平均,效果如何?
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!