2017-08-01 101 views
2

我一直在努力理解在gensim.models.Word2Vec的Python:什么是Gensim Word2vec模型类的“大小”参数

使用size参数从Gensim文档,size是向量的维数。现在,据我所知,word2vec为每个单词创建了与句子中其他单词接近的概率向量。所以,假设我的vocab大小是30,那么它是如何创建一个尺寸大于30的矢量的?任何人都可以请我介绍一下Word2Vec大小的最佳值吗?

谢谢。

+0

https://开头en.wikipedia.org/wiki/Word2vec#Dimensionality 如果通常没有办法知道最佳值是多少 –

+0

谢谢,@ juanpa.arrivillaga,但我仍然无法得到它背后的数学。 34个单词如何嵌入100个单词即大小= 100?有没有任何文章,博客或教程解释这个? –

回答

1

size是,正如你注意到,向量的维度。

Word2Vec需要大量不同的文本示例来为每个单词创建其“密集”嵌入向量。 (这是在训练期间许多对比例子之间的竞争,其允许单词向量移动到彼此具有有趣的距离和空间关系的位置)。

如果你只有30个单词的词汇,word2vec是不太可能的一个适当的技术。如果试图应用它,你会想要使用比词汇大小要低得多的矢量大小 - 理想情况下大大低于。例如,包含数万个单词的许多例子的文本可能证明100维的单词向量。

使用比词汇大小更高的维度可以或多或少地保证“过度拟合”。训练可以倾向于每个单词的特质向量 - 本质上就像一个“单一热”编码 - 比任何其他编码都表现得更好,因为没有通过在较小数目中表示较大数量的单词来强制实现跨单词干扰尺寸。

这意味着一个尽可能在Word2Vec内部附近词预测任务上做的尽可能好的模型 - 但对于其他下游任务却很糟糕,因为没有捕获到可概括的相对关系知识。 (交叉干扰词是什么需要,在很多训练周期的算法,逐步融入安排有类似的话必须在得知权重相似,对比词不同。)

+1

这是一个很好的解释。这很有道理。非常感谢,@gojomo –

相关问题