2017-08-01 72 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 –

相關問題