距離メトリックとしてのコサイン類似度とドット積


41

2つの特徴のコサインの類似性は、大きさの積でスケーリングされたドット積にすぎないようです。コサインの類似性は、内積よりも優れた距離メトリックを作成するのはいつですか?すなわち、ドット積とコサインの類似性は、異なる状況で異なる長所または短所を持っていますか?


これらがどちらも適切な距離メトリックではないことに注意してください。ポイントが「類似」しているときに小さな値に変換した場合でも同様です。ユースケースでは問題になる場合と問題になる場合があります。
ショーンオーウェン14

回答:


41

幾何学的に考えてください。コサインの類似性は角度の違いのみを考慮し、ドット積は角度と大きさを考慮します。データを同じ大きさに正規化する場合、2つは区別できません。大きさを無視することが望ましい場合があるため、コサインの類似性は優れていますが、大きさが役割を果たす場合、類似性の尺度として内積が優れています。どちらも「距離メトリック」ではないことに注意してください。


3
「距離メトリック」は一般に、文学の「類似性」の反対として使用されます。距離が大きいほど、類似性は小さいですが、基本的には同じ考えを表しています。
ffriend 14

1
@ffriendあなたは「相違点」を意味します。メトリックには正確な定義があります。
Memming

8

あなたは正しい、余弦の類似性はベクトルの内積と多くの共通点を持っています。実際、それは大きさでスケーリングされたドット積です。また、スケーリングのため、0から1の間で正規化されます。CSは、データの変動性とフィーチャの相対頻度を考慮するため、CSが望ましいです。一方、単純なドット積は(複雑さと実装の点で)少し​​「安く」なります。


なぜ単独のドット積(正規ではないに相当)がいない機能のデータと周波数を占めますか?これが違いだとは知りません。
ショーンオーウェン14

2
おそらく、私ははっきりしていませんでした。データの多様性について話していました。たとえば、2組のドキュメントがあります。各ペア内のドキュメントは同一ですが、ペア1のドキュメントはペア2のドキュメントよりも短くなっています。そして、各ペア内の類似度を計算します。ドット積は異なる数を生成しますが、どちらの場合も最大の類似度推定が予想されます。
sobach

5

上記の答えにもう1つの次元を追加したいと思います。通常、データの段落で距離行列を使用することは推奨されないため、大きなテキストではコサインの類似性を使用します。また、クラスターを広くしたい場合、全体的に類似性をキャプチャするため、余弦類似性を使用する傾向があります。

たとえば、最大で2語または3語の長さのテキストがある場合、コサイン類似度を使用しても距離メトリックで達成される精度を達成できないと感じています。


4

一般的な内積ベースの類似性メトリックの優れた比較がここにあります

特に、任意の実数であるドット積とは異なり、コサイン類似度は[0,1]内に正規化されますが、他の人が言っているように、ベクトルの大きさを無視する必要があります。個人的には、それは良いことだと思います。大きさは内部(ベクトル内)構造として、ベクトル間の角度は外部(ベクトル間)構造として考えています。それらは異なるものであり、(私の意見では)多くの場合、個別に分析するのが最適です。余弦の類似性を計算し、後で大きさを比較するだけでなく、内積を計算する状況を想像することはできません。


「コサイン類似性は[0,1]内に収まるように正規化されます」分子にまだドット積があります。範囲は[-1、1]である必要がありますか?
カリ

2

幾何学的な観点から、すべてのデータがユニタリーである場合、場合、2つのベクトルのスカラー積は角度、定義します。で、距離ます。x,||x||2=x,x=1ϕx,y=cosϕϕ=arccosx,y

視覚的には、すべてのデータは単位球に存在します。距離としてドット積を使用すると弦距離が得られますが、この余弦距離を使用すると、球上の2点間のパスの長さに対応します。つまり、2つのポイントの平均が必要な場合は、「算術平均/ドット積/ユークリッドジオメトリ」から取得された中間点ではなく、このパス上の中間点(測地線)を取得する必要があります。球上に住んでいない(したがって本質的に同じオブジェクトではない)!


1

他の人が指摘しているように、これらは距離の「メトリック」ではありません。メトリックの基準を満たしていないためです。代わりに「距離測定」と言います。

とにかく、何を測定しているのですか?その情報は、お客様の状況により役立つ答えを提供するのに役立ちます。


メジャーとメトリックの違いについてはいつも疑問に思っていました。政府(NIST)によると:「...より具体的または客観的な属性には尺度を使用し、より抽象的な、より高レベルの、またはやや主観的な属性にはメトリックを使用します。そして有効性は、私たちが一定の感覚を持っている重要な属性ですが、客観的に定義することは困難です。したがって、これらは指標です。しかし、コンテキストはソフトウェア工学であり、数学ではありません。あなたの意見は?
アホッファー14

1
ウィキペディアはもっと役に立ちました。distance(x、y)は非負でなければなりません。d(x、y)= 0は、x = yの場合のみ。d(x、y)= d(y、x); 三角形の不等式-d(x、z)
≤d

1
それはほとんどそれです:メトリックは特定の公理を満たす必要があり、メジャーはそれほど厳密に定義されていません。
シンタックス14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.