統計学および関連分野において、類似度尺度、類似度関数、または類似度指標とは、2つの対象間の類似性を定量化する実数値関数である。類似性には単一の定義は存在しないが、通常、このような尺度はある意味で距離指標の逆数となる。つまり、類似した対象に対しては大きな値を取り、非常に異なる対象に対してはゼロまたは負の値を取る。ただし、より広義には、類似度関数は距離の公理を満たす場合もある。
コサイン類似度は、実数値ベクトルの類似度を測る一般的な尺度であり、(他の分野の中でも特に)情報検索において、ベクトル空間モデルにおける文書の類似度を評価するために用いられます。機械学習においては、RBFカーネルなどの一般的なカーネル関数は類似度関数とみなすことができます。[ 1 ]
比較対象となるオブジェクトの種類に応じて、さまざまな種類の類似度尺度が存在します。オブジェクトの種類ごとに、さまざまな類似度測定式があります。[ 2 ]
2つのデータポイント間の類似性

2 つのデータポイント間の類似性を求めるには、さまざまな方法があり、中には他の類似性測定方法を組み合わせたものもあります。2 つのデータポイント間の類似性を測定する方法には、ユークリッド距離、マンハッタン距離、ミンコフスキー距離、チェビシェフ距離などがあります。ユークリッド距離の公式は、平面上の 2 点間の距離を求めるために使用され、下の図に示されています。マンハッタン距離は、2 つの住所間の最短経路を求めるために使用できるため、GPSアプリケーションでよく使用されます。ユークリッド距離の公式とマンハッタン距離の公式を一般化すると、ミンコフスキー距離の公式 が得られ、これはさまざまなアプリケーションで使用できます。
文字列間の類似性
文字列を比較する際には、さまざまな類似度指標を用いることができます。これらの指標には、編集距離、レーベンシュタイン距離、ハミング距離、ジャロ距離などがあります。最適な指標は、アプリケーションの要件によって異なります。例えば、編集距離は、スペルチェックなどの自然言語処理アプリケーションや機能でよく用いられます。ジャロ距離は、レコードリンケージにおいて、姓と名を他の情報源と比較する際によく使用されます。
2つの確率分布間の類似性
確率分布の類似性を測る代表的な尺度として、バタチャリヤ距離とヘリンジャー距離が挙げられます。どちらも同一領域上の2つの確率分布の類似性を定量化するものであり、数学的に密接に関連しています。バタチャリヤ距離は三角不等式を満たさないため、距離尺度を形成しません。一方、ヘリンジャー距離は確率分布空間上の距離尺度を形成します。
2つのセット間の類似性
ジャッカード係数は、2つのセットに存在するアイテム数を、全アイテム数に対する比率で表し、2つのセット間の類似性を測定します。これは、推薦システムやソーシャルメディア分析でよく使用されます。ソーレンセン・ダイス係数も、両セットのアイテム数を全アイテム数と比較しますが、共有アイテム数の重みはより大きくなります。ソーレンセン・ダイス係数は、生物学分野でよく使用され、2つの遺伝子セットまたは種間の類似性を測定します。
2つの配列間の類似性
時系列データを比較する場合、一部の類似度指標では、完全に一致していない2つの系列間の類似性も考慮に入れる必要がある。
クラスタリング(またはクラスター分析)は、類似するオブジェクトをグループ化することでデータ内のパターンを発見するデータマイニング手法です。これは、データポイントの集合を、それらの類似性に基づいてグループ(クラスター)に分割するものです。クラスタリングの基本的な側面の一つは、データポイント間の類似性をどのように測定するかということです。
類似度尺度は、多くのクラスタリング手法において重要な役割を果たします。なぜなら、2つのデータポイントがどれほど密接に関連しているか、そしてそれらを同じクラスタにまとめるべきかどうかを判断するために使用されるからです。類似度尺度は、クラスタリング対象のデータの種類や解決しようとしている具体的な問題に応じて、さまざまな形式をとることができます。
最も一般的に使用される類似度尺度の1つはユークリッド距離であり、K平均法クラスタリングや階層的クラスタリングなど、多くのクラスタリング手法で使用されています。ユークリッド距離は、高次元空間における2点間の直線距離を表す尺度です。これは、2点の対応する座標の差の2乗の合計の平方根として計算されます。たとえば、2つのデータ点がある場合そしてそれらの間のユークリッド距離は。

もう1つのよく使われる類似度尺度は、ジャッカード指数またはジャッカード類似度で、存在/非存在データ[ 3 ]やブールデータなどのバイナリデータを扱うクラスタリング手法で使用されます。ジャッカード類似度は、テキストデータを扱うクラスタリング手法で特に有用で、共通の特徴やキーワードに基づいて類似した文書のクラスタを識別するために使用できます[ 4 ] 。これは、2つの集合の共通部分のサイズを、2つの集合の和集合のサイズで割った値として計算されます。。
162個の関連核プロファイル間の類似性は、ジャッカード類似度尺度を用いてテストされます(ヒートマップ付きの図を参照)。核プロファイルのジャッカード類似度は0から1の範囲で、0は2つのセット間に類似性がないことを示し、1は最も類似した核プロファイルをクラスタリングすることを目的として、完全な類似性を示します。
マンハッタン距離(タクシー距離とも呼ばれる)は、連続データを扱うクラスタリング手法で一般的に使用される類似度尺度です。これは、高次元空間における2つのデータ点間の距離を表す尺度であり、2つの点の対応する座標間の絶対差の合計として計算されます。。
オブジェクトごとに名義尺度、順序尺度、数値属性を含む混合型データを扱う場合、Gowerの距離(または類似度)は、異なる型の変数を暗黙的に処理できるため、よく用いられます。まず、各オブジェクトの変数ペア間の類似度を計算し、次にそれらの類似度をオブジェクトペアごとに単一の加重平均に組み合わせます。したがって、2つのオブジェクトの場合、そして持っている記述子、類似性は次のように定義されます。どこでは非負の重みであり、2つのオブジェクト間の類似性は、第 1 番目の変数。
スペクトルクラスタリングでは、類似度または親和性の尺度を使用してデータを変換し、データ分布の形状の凸性の欠如に関連する問題を克服します。[ 5 ]この尺度は、サイズnの点の集合に対する類似度行列で、その要素は行列では、単純にユークリッド距離(の逆数)そしてあるいは、ガウス分布のようなより複雑な距離尺度を用いることもできる。[ 5 ]この結果をネットワーク分析技術でさらに修正することも一般的である。[ 6 ]
類似度尺度の選択は、クラスタリング対象のデータの種類と解決しようとしている具体的な問題によって異なります。例えば、遺伝子発現データのような連続データを扱う場合は、ユークリッド距離やコサイン類似度が適切でしょう。核プロファイルにおけるゲノム遺伝子座の存在といった二値データを扱う場合は、ジャッカード係数がより適切かもしれません。最後に、画像データや信号処理データのように、グリッド状または格子状に配置されたデータを扱う場合は、マンハッタン距離がクラスタリングに特に有効です。
類似度尺度は、推薦システムの開発に使用されます。これは、複数のアイテムに対するユーザーの認識と好みを観察します。推薦システムでは、次のような距離計算を使用する方法があります。ユークリッド距離またはコサイン類似度で生成任意の2つのターゲットの類似性を表す値を持つ類似性マトリックス。次に、マトリックス内の値を分析および比較することにより、2つのターゲットをユーザーの好みに一致させたり、マークに基づいてユーザーをリンクしたりすることが可能になります。このシステムでは、値自体と2つの値間の絶対距離を観察することが重要です。 [ 7 ]このデータを収集すると、マークがユーザーにどれだけ似ているか、また2つのマークがどれだけ相互に近接して拒否または受け入れられるかがわかります。これにより、ユーザーの好みに高い類似性を持つターゲットをユーザーに推奨することが可能になります。
レコメンデーションシステムは、オンラインエンターテイメントプラットフォーム、ソーシャルメディア、ストリーミングサイトなど、様々な場所で見られます。これらのシステムの構築ロジックは、類似度指標に基づいています。
類似度行列は配列アライメントで使用されます。類似性の高い文字には高いスコアが与えられ、類似性の低い文字には低いスコアまたは負のスコアが与えられます。
ヌクレオチド類似度マトリックスは、核酸配列を整列させるために使用されます。DNA には一般的に 4 つのヌクレオチド (アデニン (A)、シトシン (C)、グアニン (G)、チミン (T)) しかないため、ヌクレオチド類似度マトリックスはタンパク質類似度マトリックスよりもはるかに単純です。たとえば、単純なマトリックスでは、同一の塩基に +1 のスコア、同一でない塩基に -1 のスコアが割り当てられます。より複雑なマトリックスでは、遷移 ( C や T などのピリミジンから別のピリミジンへの変化、または A や G などのプリンから別のプリンへの変化) に、転換 (ピリミジンからプリン、またはその逆) よりも高いスコアが与えられます。マトリックスの一致/不一致比によって、目標とする進化距離が設定されます。[ 8 ] [ 9 ] BLASTN で使用される +1/-3 DNA マトリックスは、99% 同一の配列間の一致を見つけるのに最適です。 +1/−1(または+4/−4)行列は、類似度が約70%の配列に最適です。類似度が低い配列の場合、より長い配列アライメントが必要になります。
アミノ酸類似度行列は、遺伝暗号でコードされるアミノ酸が20種類あり、置換の可能性も大きいため、より複雑です。そのため、アミノ酸の類似度行列には400個のエントリが含まれます(通常は対称ですが)。最初のアプローチでは、すべてのアミノ酸の変化を等しく評価しました。その後の改良では、コドンをそのアミノ酸をコードするように変更するために必要な塩基の変化の数に基づいてアミノ酸の類似度を決定するようになりました。このモデルは優れていますが、アミノ酸の変化の選択圧を考慮していません。より優れたモデルでは、アミノ酸の化学的性質を考慮しました。
類似度行列を経験的に生成するというアプローチが用いられてきた。Dayhoff法では、系統樹と、その系統樹上の種から得られた配列が用いられた。このアプローチにより、PAM行列シリーズが生まれた。PAM行列は、100アミノ酸あたりに発生したヌクレオチド変化の数に基づいてラベル付けされる。PAM行列は、よく理解された進化モデルを持つことで恩恵を受けるが、進化距離が短い場合(PAM10~PAM120)に最も有用である。進化距離が長い場合、例えばPAM250や20%の同一性の場合、BLOSUM行列の方がはるかに効果的であることが示されている。
BLOSUMシリーズは、複数の異なる配列を比較することによって生成されます。BLOSUMシリーズは、すべての配列間で変異せずに残っているエントロピーの量に基づいてラベル付けされるため、BLOSUMの数値が低いほどPAMの数値が高くなります。
{{cite book}}: CS1 メンテナンス: その他 (リンク)