web-dev-qa-db-ja.com

Word2Vecがコサイン類似度を使用するのはなぜですか?

私はWord2Vecに関する論文を読んでいます(例: これ )。同じコンテキストで他の単語が見つかる可能性を最大化するためにベクトルをトレーニングすることを理解していると思います。

ただし、コサインが単語の類似性の正しい尺度である理由がわかりません。コサイン類似性は、2つのベクトルが同じ方向を指しているが、大きさが異なる可能性があることを示しています。

たとえば、コサインの類似性は、ドキュメントのバッグオブワードを比較するのに意味があります。 2つのドキュメントの長さは異なる場合がありますが、単語の分布は似ています。

なぜ、例えば、ユークリッド距離ではないのですか?

コサイン類似性がWord2Vecで機能する理由を誰かが説明できますか?

17
opus111

2つのn次元ベクトルAおよびBのコサイン類似度は、次のように定義されます。

enter image description here

これは単にAとBの間の角度の余弦です。

一方、ユークリッド距離は次のように定義されます。

enter image description here

ここで、ベクトル空間の2つのランダムな要素の距離について考えます。コサイン距離の場合、cosの範囲は[-1、1]であるため、最大距離は1です。

ただし、ユークリッド距離の場合、これは負でない値にすることができます。

次元nが大きくなると、ランダムに選択された2つの点の余弦距離は90°に近づきますが、R ^ nの単位立方体の点のユークリッド距離は約0.41(n)^ 0.5(- ソース

TL; DR

コサイン距離は、次元の呪いがあるため、高次元空間のベクトルに適しています。 (しかし、私はそれについて絶対に確信していません)

1
Martin Thoma

これらの2つの距離メトリックはおそらく強く相関しているため、どちらを使用してもそれほど重要ではない可能性があります。ご指摘のとおり、コサイン距離とは、ベクトルの長さをまったく気にする必要がないことを意味します。

この論文は、Wordの頻度とWord2vecベクトルの長さとの間に関係があることを示しています。 http://arxiv.org/pdf/1508.02297v1.pdf

4
Aaron