Python: Gensim Word2vec 模型中的 "size" 参数是什么 class

Python: What is the "size" parameter in Gensim Word2vec model class

我一直在努力理解 size 参数在 gensim.models.Word2Vec

中的用法

根据 Gensim 文档,size 是向量的维数。现在,据我所知,word2vec 为每个单词创建了一个向量,表示与句子中其他单词的接近概率。那么,假设如果我的 vocab 大小是 30 那么它如何创建一个维度大于 30 的向量?谁能给我介绍一下 Word2Vec 尺寸的最佳值?

谢谢。

正如您所注意到的,

size 是向量的维数。

Word2Vec 需要大量不同的文本示例来创建每个单词的 'dense' 嵌入向量。 (这是训练过程中许多对比示例之间的竞争,它允许词向量移动到彼此之间具有有趣距离和空间关系的位置。)

如果你只有 30 个单词的词汇量,word2vec 不太可能是合适的技术。如果尝试应用它,您需要使用比词汇量小得多的矢量大小——理想情况下 much 小。例如,包含数万个单词中每个单词的许多示例的文本可能证明 100 维单词向量是合理的。

使用比词汇表大小更高的维度将或多或少保证 'overfitting'。训练可能倾向于每个单词的特殊向量——本质上类似于 'one-hot' 编码——这将比任何其他编码表现得更好,因为没有通过用更少的单词表示更多的单词而强制出现的交叉单词干扰尺寸。

这意味着模型在 Word2Vec 内部近义词预测任务上的表现尽可能好——但在其他下游任务上却很糟糕,因为没有捕获到可概括的相对关系知识。 (交叉词干扰是算法 需要 ,在许多训练周期中,逐步适应相似词 必须 相似的排列学习权重,对比词不同。)

等于vector_size。 为了简单起见,它是您使用 word2vec 训练的每个单词的输出向量维度的统一大小。