よく使われる類似度指標の概要: コサイン類似度、ドット積、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 を搭載したアシスタントをリリースしました。

ブログ    
ブログ    
ブログ    

推薦する

Zhihu のホットトピック: 今後 3 ~ 5 年で、機械学習の人材が最も不足する分野はどれでしょうか?

[[328766]]今後 3 ~ 5 年で、機械学習のどの分野の人材が最も不足するでしょうか?今日...

BBAug: PyTorch 用のオブジェクト検出境界ボックスデータ拡張パッケージ

多くのニューラル ネットワーク モデルと同様に、オブジェクト検出モデルは大量のデータでトレーニングす...

全人代副代表の馬化騰氏は8つの書面提案を提出し、ブロックチェーンや人工知能など17の質問に答えた。

[[221404]] 3月3日午後9時30分、全国人民代表大会の代表でテンセント会長の馬化騰氏が黒...

...

JavaScript ChatGPT プラグインの構築、学習しましたか?

チャット プラグイン システムは、ChatGPT の機能を拡張し、独自のビジネス データを組み込み、...

ヘルスケアにおける IoT と AI

IoT 対応デバイスの登場により、医療における遠隔モニタリングが可能になりました。ほぼすべての大手...

百度技術委員会の呉華委員長:NLP技術は機械に人間の言語によるコミュニケーション能力を持たせるはずだ

[[211656]] 「人工知能を人間の生活に取り入れたいなら、人間とコミュニケーションできる言語能...

...

2019 年の Web 開発のトレンド トップ 10

[[279047]] [51CTO.com クイック翻訳] 今日、さまざまな新しいトレンドの出現に...

...

3分で振り返る!2021年9月のロボット分野の重要な動向を概観

2021年9月に北京で開催された世界ロボットコンテストでは、さまざまな企業がロボット技術の研究開発に...

感情AIが企業のITリーダーに希望をもたらす

感情 AI、つまり感情コンピューティングは、AI の次の大きなトレンドになる可能性があります。企業は...

タオ氏の新しい論文:有名な素数予想を部分的に証明、新しい方法は彼の古いモデルを使用する

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

人間と機械のコラボレーションが顧客に力を与え、インテリジェントな顧客サービスが企業のマーケティング環境を一変させています。

「ロボットはアフターサービスにしか適していません。」 「ロボットはどのようにして人手によるマーケテ...

予想外! AI技術はアダルト動画サイトに成熟して適用されている

アダルト動画サイトがAI技術を導入!ウェブサイトでは、顔認識やアルゴリズムを使用したビデオプレビュー...