我一直在努力了解size
gensim.models.Word2Vec
参数的用法
从Gensim文档中,size
是向量的维度。现在,据我所知,word2vec为每个单词创建了一个与句子中其他单词紧密相关概率的向量。那么,假设我的vocab
大小是30,那么它如何创建维度大于30的向量?任何人都可以向我介绍Word2Vec
大小的最佳价值吗?
谢谢。
答案 0 :(得分:10)
size
是向量的维度。
Word2Vec需要大量不同的文本示例来创建每个单词的“密集”嵌入向量。 (这是训练期间许多对比例之间的竞争,它允许单词向量移动到彼此具有有趣距离和空间关系的位置。)
如果你只有30个单词的词汇,word2vec不太可能是一个合适的技术。如果尝试应用它,您需要使用远低于词汇量的矢量大小 - 理想情况下多更低。例如,包含成千上万个单词的许多例子的文本可能证明100维单词向量。
使用比词汇大小更高的维度会或多或少地保证“过度拟合”。训练可能趋向于每个单词的特殊向量 - 基本上类似于“一热”编码 - 其性能优于任何其他编码,因为通过在较小数字中表示较大数量的单词而不会强制进行跨字干扰尺寸。
这意味着一个模型在Word2Vec内部附近单词预测任务上做得尽可能好 - 但随后对其他下游任务非常糟糕,因为没有捕获可推广的相对关系知识。 (在许多训练周期中,交叉词干扰是算法需要,逐渐地进入一种排列,其中相似的单词必须在学习的权重中相似,并且对比单词不同。)
答案 1 :(得分:0)
它等于vector_size。 为方便起见,您使用 word2vec 训练的每个单词的输出向量的维度大小都是统一的。