word2vec:CBOW&跳过

问题很简单。 哪一个CBOW和skip-gram对于大数据集更好? (小数据集的答案如下。)

自米科洛夫本人以来,我感到困惑,[链接]

Skip-gram:适用于少量训练数据 ,代表甚至罕见的单词或短语。

CBOW:训练比skip-gram要快几倍,对于频繁的单词准确度略高一些

但据Google TensorFlow称,[链接]

CBOW平滑了许多分布信息(将整个上下文视为一个观察)。 对于大多数情况来说,这对于较小的数据集来说是有用的。

然而,skip-gram将每个上下文对象作为一个新的观察对象,而当我们拥有更大的数据集时,这往往会做得更好。 我们将在本教程的其余部分重点介绍skip-gram模型。

这是一个支持第一个思想[链接]的Quora文章,然后是另一个Quora文章,其中提出了第二个思想[链接] - 两者似乎都可以从上述可信来源推导出来。

还是像米科洛夫所说的那样:

总的来说,最好的做法是尝试一些实验,看看最适合你的是什么,因为不同的应用程序有不同的要求。

但是,在这个问题上肯定有一个经验或分析的结论或最终说法?


当Mikolov意味着CBOW适用于更大的数据集,SG适用于更小的数据集时,我认为数据量是被考虑的。 由于CBOW考虑一个目标词和许多上下文词,因此与SG中使用的数据集相比,它需要一个更大的数据集来训练目标向量。 正如反过来一样,在SG中由于单个上下文单词有许多目标单词,因此它需要较小的数据集。

谷歌Tensor Flow讲述了数据集中用于生成质量向量的单词分布,而不是所用数据集的数量。 由于CBOW模型考虑对一个句子中所有目标词汇的相同情境词汇,因此需要更大(分布式)的数据集合,反之亦然。

通常,它们都是相同的:

  • CBOW模型=含有短句子但数量较多的样本的数据集(较大的数据集)
  • SG模型=含有长句子和少量样本的数据集(小数据集)
  • 链接地址: http://www.djcxy.com/p/36039.html

    上一篇: word2vec: CBOW & skip

    下一篇: Analog of free monads for Profunctors