よく使われる類似度指標の概要: コサイン類似度、ドット積、L1、L2

よく使われる類似度指標の概要: コサイン類似度、ドット積、L1、L2

類似度の測定は機械学習において重要な役割を果たします。これらのメトリックは、オブジェクト、データ ポイント、またはベクトル間の類似性を数学的に定量化します。ベクトル空間における類似性の概念を理解し、適切なメトリックを採用することは、現実世界のさまざまな問題を解決するための基本となります。この記事では、埋め込み空間内の 2 つのベクトルの近接性を計算するために一般的に使用されるいくつかの類似度測定法を紹介します。

コサイン類似度

コサイン類似度(cos(θ))の値の範囲は、-1(類似していない)から+1(非常に類似している)までです。下の図からわかるように、点 A (1.5, 1.5) と点 B (2.0, 1.0) は 2 次元埋め込み空間内で非常に近い位置にあります。コサイン類似度を計算すると、0.948 という値が得られ、これも 2 つのベクトルが非常に類似していることを表します。点 A (1.5, 1.5) と点 C (-1.0, -0.5) の類似度を比較すると、コサイン類似度は -0.948 となり、2 つのベクトルは類似していないことがわかります。また、埋め込み空間ではそれらが反対方向にあることも確認できます。 cos(θ) 値が 0 の場合、2 つのベクトルは互いに垂直であり、類似も相違もないことを意味します。

2 つのベクトル間のコサイン類似度を計算するには、2 つのベクトルのドット積をそれらの長さの積で割るだけです。コサイン類似度は、主に 2 つのベクトル間の角度を考慮して類似度を判断し、ベクトルの長さは無視します。

Python でコサイン類似度を計算するのは簡単です。逆余弦を取ることで、類似度値 cos(θ) を 2 つのベクトル間の角度 (θ) に変換できます。

 import torch import torch.nn.functional as F import math #Create 3 Vectors A = torch.tensor([1.5,1.5]) B = torch.tensor([2.0,1.0]) C = torch.tensor([-1.0,-0.5]) # Calculate cosine similarity cos(𝜃): cos = F.cosine_similarity(A, B, dim=0) print("Cosine Similarity:", cos) # Calculate the angle 𝜃: # acos is the inverse of cos(x) theta = math.acos(cos) # Convert radians to degrees theta_degrees = math.degrees(theta) print("Angle in radians:", theta) print("Angle in degrees:", theta_degrees)

ドット積

ドット積はよく使われる類似度の尺度です。内積とコサイン類似度は密接に関連した概念です。内積値の範囲は負の無限大から正の無限大までです。負の値は反対方向、正の値は同方向を示し、ベクトルが垂直の場合は 0 になります。ドット積の値が大きいほど類似性が高いことを示します。次の図は、点 P1 と残りの点 P2 ~ P5 の間のドット積の計算を示しています。

内積は余弦方程式から導き出すことができます。つまり、下の図に示すように、2 つのベクトル間の角度の余弦に 2 つのベクトルの長さを掛けることで得られます。ドット積はベクトル埋め込みの長さの影響を受けます。これは類似性メトリックを選択する際の重要な考慮事項となる場合があります。

ドット積は類似度の測定にどのような影響を与えますか?

一連の科学研究論文の類似性を計算しているとします。研究論文の埋め込みベクトルの長さは引用数に比例します。研究論文間の類似性を計算するには、コサイン類似度を使用するのが一般的です。ドット積を使用すると、研究論文間の類似性はどのように変化するのでしょうか?

コサイン類似度はベクトルの方向と大きさを考慮するため、ベクトルの長さが類似度に直接関係しない状況に適しています。ドット積を使用する場合、ベクトルの大きさだけが重要であり、方向はそれほど重要ではありません。

引用数が多い論文(ベクトルが長い)は、その大きさが結果に大きく寄与するため、他の引用数の多い論文とのドット積類似度スコアが高くなります。引用数が少ない論文(ベクトルが短い)は、大きさが小さいため、引用数が多い論文とのドット積類似度スコアが低くなります。

マンハッタン距離(L1)とユークリッド距離(L2)

マンハッタン距離は各次元の絶対差を加算して距離を計算しますが、ユークリッド距離はポイント間の直線距離を計算します。

マンハッタン距離は、グリッドのような動きを伴うシナリオや、個々の次元の重要性が異なる場合に適しています。ユークリッド距離は、最短経路を測定する場合、またはすべての次元が距離に等しく寄与する場合に最適です。

ほとんどの場合、マンハッタン距離は、同じポイントのペアに対してユークリッド距離よりも大きな値を生成します。データの次元が増加するにつれて、ユークリッド距離メトリックよりもマンハッタン距離が優先されるようになります。

マンハッタン距離 L1

ユークリッド距離L2

マンハッタン距離はグリッド線に沿って歩いた距離であり、ユークリッド距離は直線距離です。これら 2 つの距離は、機械学習、画像処理、経路計画など、多くの分野で広く使用されています。

要約する

これら 4 つの距離測定方法には、それぞれ異なる適用シナリオと用途があります。測定方法の選択は、具体的な問題とデータ タイプによって異なります。マンハッタン距離とユークリッド距離は空間座標の距離測定に適用できます。

マンハッタン距離は、都市の道路間の距離を計算するためによく使用され、特徴選択やクラスタリングなどのデータ分析タスクでも使用されます。ユークリッド距離は、空間での距離測定、機械学習、データマイニング、グラフ処理などで広く使用されています。

ドット積距離とコサイン類似度は、ベクトルまたはテキスト データ間の類似性を測定するためによく使用されます。これは主に、テキストマイニングや自然言語処理における文書の類似性などのベクトル類似性や、情報検索や推奨システムなどの分野での測定に使用されます。

<<:  人工知能、機械学習、アルゴリズムが施設・資産管理に与える影響

>>:  Google は、ユーザーにパーソナライズされたヘルプを提供するために、Bard を搭載したアシスタントをリリースしました。

ブログ    

推薦する

OpenAIがChatGPTをアップデート:画像と音声入力をサポート

最近、OpenAI は ChatGPT の新バージョンのリリースを発表し、音声入力と画像入力という ...

人工知能 (AI) の 19 の一般的な応用分野、あなたはどれくらい知っていますか?

01 自然言語生成自然言語生成は、顧客サービス、レポート生成、市場概要などで使用すべくデータをテキ...

速報、AI専門家のJing Kun氏がBaiduを退社! CIOの李英がXiaoduのCEOに就任

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

カメラのようにズームして、写真の細部を塗りつぶし、スタイルをカスタマイズ。AIペイントツールMidjourneyが再びアップデート

有名な AI ペイントツール Midjourney が再びユーザーに衝撃を与えました。先月バージョン...

AI開発は断片化に直面しており、ディープラーニングフレームワークの統一が必要

人工知能の急速な発展の背後には、大手メーカー間の秘密戦争の始まりがあります。誰もが開発者をめぐって競...

2か月でAIをゼロから学んだ方法とは?

編集者注: 人工知能は「電気」のようなものになりつつあり、その将来の発展に関心を持つ人は誰でもそれに...

...

機械の魂: 未来の工場における AI の応用について

未来の工場はどのようなものになるでしょうか? AI を主要な原動力として、工場はより機敏かつカスタマ...

小売業におけるロボット工学

小売業におけるロボット工学の応用により、企業は小売業のバリューチェーン全体を変革し、強化することがで...

3つの主要な章がAIの実装を加速します。2019年のWOTグローバル人工知能技術サミットはAIの新たな章を開きます

[51CTO.comよりオリジナル記事] 6月21日午前9時、2日間にわたるWOT2019グローバル...

AIチャットボットとメンタルヘルス

パンデミック、経済不況、ヨーロッパでの戦争はすべて、ネガティブな感情や憂鬱感を引き起こす要因となって...

ソフトウェア定義車の基礎 - FOTA および SOTA ソリューション

OTAとは何ですか? OTA(Over-the-Air Technology)は中国語でエアダウンロ...

キャッシュ、キャッシュ アルゴリズム、キャッシュ フレームワークの概要

導入私たちは皆、キャッシュについて聞いたことがあります。キャッシュとは何かと尋ねると、完璧な答えが返...

残念ながら、自然言語理解はAIがまだ克服していない分野である。

わずか数年で、ディープラーニングのアルゴリズムは大きな進歩を遂げました。チェスのゲームで世界最高のプ...

...