[英]Python: What is the “size” parameter in Gensim Word2vec model class
我一直在努力理解gensim.models.Word2Vec
中size
参数的使用
从 Gensim 文档中, size
是向量的维数。 现在,据我所知,word2vec 为每个单词创建了一个与句子中其他单词的接近概率向量。 那么,假设我的vocab
大小是 30,那么它如何创建一个维度大于 30 的向量? 任何人都可以向我介绍Word2Vec
大小的最佳值吗?
谢谢。
正如您所注意到的, size
是向量的维数。
Word2Vec 需要大量不同的文本示例来创建每个单词的“密集”嵌入向量。 (这是训练期间许多对比示例之间的竞争,它允许词向量移动到具有有趣距离和彼此空间关系的位置。)
如果你只有 30 个单词的词汇量,word2vec 不太可能是合适的技术。 如果尝试应用它,您需要使用比词汇量小得多的向量大小——理想情况下要小得多。 例如,包含数万个单词中每个单词的多个示例的文本可能证明 100 维单词向量是合理的。
使用比词汇量更高的维度将或多或少地保证“过度拟合”。 训练可能会趋向于为每个单词使用一个特殊的向量——本质上就像一个“one-hot”编码——它会比任何其他编码表现得更好,因为没有用较少数量的单词表示较多数量的单词所造成的交叉词干扰的维度。
这意味着一个模型在 Word2Vec 内部邻近词预测任务上表现得尽可能好——但在其他下游任务上却很糟糕,因为没有捕获到可概括的相关关系知识。 (交叉词干扰是该算法需要的,在许多训练周期中,逐渐适应相似词在学习权重上必须相似的安排,而对比词必须不同。)
它等于 vector_size。 为方便起见,对于使用 word2vec 训练的每个单词,输出向量的维度大小统一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.