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

ブログ    
ブログ    

推薦する

2019年のAIインデックスレポートが発表されました。AI分野では大きな進歩がありましたが、結果はまちまちです。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

...

2021年には、人工知能が私たちの生活にさらに統合されるでしょう。これは何を意味するのでしょうか?

[[375039]]人工知能の歴史は、アラン・チューリングがチューリングテストを発明した 1950...

ホワイトハウスのAIに関する大統領令がサイバーセキュリティリーダーに何を意味するか

AIは引き続きテクノロジーの注目を集めており、2023年の最後の四半期を迎えるにあたり、AIの力を活...

...

Google 数学 AI が Nature に発表: IMO 金メダルの幾何学レベル、定理証明は呉文軍の 1978 年の法則を上回る

Google DeepMindが再びNatureを出版、AIのAlphaシリーズが力強く復活、数学レ...

Huawei Cloud Tianchou AI Solverが世界人工知能会議で最高賞を受賞

7月6日、 2023年世界人工知能会議(WAIC 2023)が上海で開幕し、同会議の最高賞である「優...

ウェブデザインに人工知能を活用する10の方法

[[210916]]今日、Web デザインは絶えず進化しており、トップクラスの Web デザイナーは...

データサイエンスの面接で知っておくべき 10 の機械学習の概念

この記事は公式アカウント「Reading the Core」(ID: AI_Discovery)から...

...

2017 年最もホットなテクノロジーである人工知能について、あなたはどれくらい知っていますか?

2017 年の最もホットなテクノロジートピックは間違いなく人工知能です。人工知能は非常に難しい科学...

...

...

ZTouch、AIを活用して広告効果を高めるデジタル広告プラットフォーム「Darwin」をリリース

2021年5月20日、北京中良プロトンネットワーク情報技術有限公司傘下の企業向けデジタルサービスプラ...