2016-07-14 3 views
1

私は単語埋め込みに取り組んでいますが、単語ベクトルの次元数については少し混乱しています。私は、例としてword2vecを取る、私の質問は、私たちの隠れた層のための100の隠れたニューロンを言うことを使用する必要があります意味ですか?この数字には意味や論理がありますか?それが恣意的なら、なぜ300ではないのですか?または10?なぜそれほど多くない?ベクトルを表示する最も簡単な方法は、2次元空間(XとYのみ)上にあります。 1つの例では100次元を選択し、他の例では150,200,80などの他の数値を選択します。なぜワード埋め込みモデルでリレーションを表示するために大きなベクトル空間が必要なのですか?

私は、数値が大きいほどリレーションを表示するスペースが大きいことを認識しています単語間の関係は2次元のベクトル空間(XとYのみ)で表示できませんでしたか?なぜもっと大きな空間が必要なのか?各単語がベクトルで表示されるので、なぜ2次元または3次元の空間にベクトルを表示できるときに高次元空間を使用する必要がありますか?次に、コサインのような類似性技法を使用して、計算時間の観点から100ではなく2または3次元で類似点を見つけるのが簡単です。

答えて

1

まあ、ベクトルを表示するだけで終わりのゲームであれば、2次元または3次元のベクトルを使うことができます。

多くの場合、NLPでは、タグ付け、構文解析、意味の理解などの明確なタスクがあります。これらの目的のために、高次元ベクトルは常に2-d、3-dベクトルよりも優れたパフォーマンスを発揮します。それはあなたが後にしている関係を捉える自由度がより高いからです。より豊かな情報を含めることができます。

これは、コサインのように100(計算時間の観点から)ではなく2次元または3次元の類似点を見つけるのが簡単です。

いいえ。これは、2つの数字を加えることは、100個の数字を追加するより簡単です。メソッド(consine distance)はまったく同じです。

+0

私はupvoteしたかったが、あなたの答えの後半が間違っていませんか?サイズ300の2つのベクトル上のコサイン距離の実行は、サイズ3の2つのベクトル上のコサイン距離よりも約100倍多くのCPU操作を必要とします。したがって、3つの数字を追加するのではなく300個の数字を追加するのと同じように、 (OPは計算時間を求めていたので、「より簡単に」は「より速く」を意味していました。) –

+0

母..なぜビッグO表記を快適に使うのですか?あなたのロジックによると、O(100N)はO(3N)よりも100倍多くの努力をしています:-) – Aaron

+0

単語間の関係を学ぶのに十分な余裕があるためには、200-400次元は必要不可欠です。 3次元ではできません。 – Aaron

関連する問題