コサイン類似度

最も広く使用されている類似度メトリックの1つは、特に自然言語処理(NLP)では、2つのベクトル間の角度のコサインを測定するコサイン類似度です。

角度が小さいほど、2つのベクトルは類似しています。コサイン類似度では、ベクトルの方向または角度の類似度を測定し、そのサイズ(マグニチュードとも呼ばれます)の違いは無視されます。角度が小さいほど、そのコサインが大きくなります。したがって、コサイン距離およびコサイン類似度には反比例の関係があります。コサイン距離は2つのベクトルの差を測定しますが、コサイン類似度は2つのベクトルの類似度を測定します。

コサイン類似度は、次の式を使用して、2つのベクトルAおよびBの間で計算されます:

cos(α) = (A · B) ÷ ( ||A|| * ||B||)
  • A · BはベクトルAおよびBのドット積です
  • ||A||はベクトルAのマグニチュード(ユークリッド・ノルム)です
  • ||B||はベクトルBのマグニチュード(ユークリッド・ノルム)です

コサイン距離は、コサイン類似度を1から減算して計算されます:

Distance(A, B) = 1 - cos(α)