我在Python中使用Doc2Vec
函數gensim將文檔轉換爲向量。如何解釋gensim的Doc2Vec函數中的「size」參數?
使用
model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)
的一個例子,我應該如何解讀size
參數。我知道如果我設置size = 100
,輸出向量的長度將爲100,但這意味着什麼?例如,如果我將size
增加到200,有什麼區別?
我在Python中使用Doc2Vec
函數gensim將文檔轉換爲向量。如何解釋gensim的Doc2Vec函數中的「size」參數?
使用
model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)
的一個例子,我應該如何解讀size
參數。我知道如果我設置size = 100
,輸出向量的長度將爲100,但這意味着什麼?例如,如果我將size
增加到200,有什麼區別?
不同之處在於模型可以捕捉的細節。一般來說,您給Word2Vec的尺寸越多,模型越好 - 直到某個點。
通常大小在100-300之間。你總是不得不考慮更多的維度也意味着,需要更多的內存。
你好,非常感謝你的評論。但是我的問題是,模型「捕獲」了什麼?例如,在TF模型中,如果我設置size = 100,它將返回100個最常用的單詞 - 這很容易理解。但在Doc2Vec中,我並不是很瞭解。 – mamatv
問題是,你根本無法說出更多維度會產生什麼效果。你必須以不同的方式來看待它。當你有100個維度時,你只有100個變量來建模一個單詞的關係。但有300個維度,你有300個。所以理論上它可以捕捉更多細節,因爲它在訓練過程中有更多可變因素。或簡稱:Tweet與Book,您會在哪裏找到關於某個主題的更詳細的概述? :D – Saytiras
你好@Saytiras,我完全理解它:),但我的問題是,「100」是什麼意思。例如,正如我所說的,在TF模型中,100表示文本中最常用的100個單詞,所以如果將參數更改爲200,則會返回200個最常出現的單詞。但是在Doc2Vec中,它在技術語言中意味着什麼? – mamatv
Word2Vec捕獲字基本上意味着分佈表示,多個神經元捕捉單個概念(概念可以是語音等的字義/情緒/部分),並且還單個神經元有助於多個概念 。
這些概念是自動學習的,並沒有預先定義,因此您可以將它們視爲潛在/隱藏。同樣出於同樣的原因,單詞向量可以用於多個應用程序。
尺寸參數越多,您的神經網絡表示這些概念的能力越多,但需要更多數據來訓練這些向量(隨機初始化)。在沒有足夠數量的句子/計算能力的情況下,最好保持size
小。
Doc2Vec與Word2Vec相比略有不同的神經網絡體系結構,但size
的含義是類似的。
你好,你的意思是「尺寸」是神經網絡Doc2Vec中用於訓練和輸出矢量的神經元數量? –
每層神經網絡中神經元的數量將取決於體系結構,無論是DBOW還是DM。結帳(在答案中提到) – kampta
啊,大小黑魔法! – alvas