2016-01-22 22 views
6

私はDoc2Vecの機能をPythonでgensimという文字を使って文書に変換しています。gensimのDoc2Vec関数の "size"パラメータをどのように解釈すればよいですか?

使い方

model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)

の例は、どのように私はsizeパラメータを解釈すべきです。私がsize = 100と設定すると、出力ベクトルの長さは100になりますが、それはどういう意味ですか?たとえば、sizeを200に増やすと、その違いは何ですか?

+1

ああ、サイズは黒い魔法! – alvas

答えて

1

違いは、モデルが取り込める詳細です。一般的に、Word2Vecを与える次元が多いほど、モデルはより良いものになります。

通常、サイズは100-300です。より多くの次元が意味することは、より多くの記憶が必要であると常に考える必要があります。

+0

こんにちは、ありがとうございます。しかし、私の疑問は、モデルが "キャプチャする"ことは何ですか?たとえば、TFモデルでは、サイズ= 100に設定すると、100の最も頻繁な単語が返されます。理解しやすいです。しかし、Doc2Vecでは、私は本当に理解していません。 – mamatv

+0

問題は、より多くのディメンションにどのような影響があるかを言うことができないことです。あなたは別のやり方でそれを見る必要があります。 100次元の場合、単語の関係をモデル化するための変数は100個だけです。しかし、300次元の場合は300となります。したがって、理論的には、より詳細な情報を得ることができます。これは、トレーニング中に多くの変数を使用できるためです。または短く:Tweet vs Bookでは、トピックの詳細な概要はどこにありますか? :D – Saytiras

+0

こんにちは@Saytiras、私はそれを完全に理解しています:)しかし、私の質問は、 "100"の意味です。例えば、私が言ったように、TFモデルでは、100はテキスト中の100の最も頻繁な単語を意味するので、パラメータを200に変更すると、200の最も頻繁な単語が返されます。しかしDoc2Vecでは、技術的な言葉ではどういう意味ですか? – mamatv

7

Word2Vecがキャプチャは、単一のニューロンは複数の概念に寄与する(概念が単語等の音声の意味/感情/一部であってもよい)複数のニューロンを単一の概念をキャプチャする、本質的に意味する言葉の表現を配布し、また

これらの概念は自動的に学習され、あらかじめ定義されていないため、潜在的/隠れていると考えることができます。同じ理由でも、ワードベクトルは複数のアプリケーションに使用できます。

詳細は、これらの概念を表現するニューラルネットワークの容量はますます大きくなりますが、これらのベクトルを訓練するためには、より多くのデータが必要になります(ランダムに初期化されるため)。十分な数の文/コンピューティングパワーがない場合は、sizeを小さく保つ方が良いでしょう。

Doc2Vecは、Word2Vecと比べて若干異なるニューラルネットワークアーキテクチャに従いますが、sizeの意味は同じです。

+0

こんにちは、あなたは ''サイズ ''が、ニューラルネットワークDoc2Vecのニューロンの数を指しています。 –

+0

ニューラルネットワークの各層におけるニューロンの数は、DBOWまたはDMのいずれかのアーキテクチャに依存する。紙をチェックアウトする(答えに記載) – kampta

関連する問題