Sea*_*ean 9 nlp word2vec word-embedding
问题很简单.哪个CBOW和skip-gram对于大数据集更好?(以及小数据集的答案如下.)
我很困惑,因为Mikolov本人,[Link]
Skip-gram:适用于少量训练数据,甚至代表罕见的单词或短语.
CBOW:训练比跳过快几倍,频繁单词的准确性略高
但是,谷歌TensorFlow,[链接]
CBOW对许多分布信息进行平滑(通过将整个上下文视为一个观察).在大多数情况下,这对于较小的数据集来说是有用的.
但是,skip-gram将每个上下文 - 目标对视为一个新的观察,当我们有更大的数据集时,这往往会做得更好.我们将在本教程的其余部分重点介绍skip-gram模型.
这是一个Quora帖子,支持第一个想法[Link],然后还有另一个Quora帖子,它暗示了第二个想法[Link] - 似乎可以从前面提到的可靠来源中得到.
或者就像Mikolov所说的那样:
总的来说,最好的做法是尝试一些实验,看看什么最适合你,因为不同的应用程序有不同的要求.
但肯定有关于此事的经验或分析判决或最终说法?
当Mikolov表示CBOW适用于较大的数据集而SG适用于较小的数据集时,我认为已考虑了数据量。由于CBOW考虑一个目标词和许多上下文词,因此与SG中使用的数据集相比,它需要更大的数据集来训练目标向量。反之亦然,在SG中,由于单个上下文词有许多目标词,因此需要较小的数据集。
Google Tensor Flow谈论的是数据集中单词的分布以生成质量矢量,而不是使用的数据集数量。由于CBOW模型在同一上下文词中为句子中的所有目标词考虑的更多,因此需要更大的(分布式)数据集,反之亦然。
共同地,它们的意思相同:
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |