Web教科書

コサイン類似度

コサイン類似度を理解する

コサイン類似度は、G検定でも頻出のベクトル類似度指標です。特に自然言語処理やレコメンドシステムなど、「意味の近さ」や「ユーザーの好みの近さ」を測る場面で使われます。

コサイン類似度は「ベクトルの向きの近さ」を数値で表す指標です。ベクトルの長さ(スケール)には影響されないため、文書や特徴量の比較に適しています。

コサイン類似度とは?

コサイン類似度(Cosine Similarity)とは、2つのベクトルがどれくらい同じ方向を向いているかを測る指標です。値の範囲は -1〜+1 で、以下のような意味を持ちます。

  • +1:完全に同じ方向(最も類似)
  • 0:直交(類似性なし)
  • −1:完全に逆方向(最も異なる)

ベクトルの長さ(スケール)には影響されないため、「方向」だけで類似度を測れるのが特徴です。

コサイン類似度の計算式

ベクトル A, B に対するコサイン類似度は、次の式で定義されます。

cosθ=ABAB\cos\theta = \frac{\vec{A} \cdot \vec{B}}{\|\vec{A}\| \|\vec{B}\|}
  • ||A||:ベクトル A のノルム(長さ)
  • ||B||:ベクトル B のノルム(長さ)

計算例で確認

ベクトル A = [1, 2, 3]、B = [2, 0, 1] の場合:

AB=1×2+2×0+3×1=5\vec{A} \cdot \vec{B} = 1\times2 + 2\times0 + 3\times1 = 5
A=12+22+32=14\|\vec{A}\| = \sqrt{1^2 + 2^2 + 3^2} = \sqrt{14}
B=22+02+12=5\|\vec{B}\| = \sqrt{2^2 + 0^2 + 1^2} = \sqrt{5}
cosθ=514×5\cos\theta = \frac{5}{\sqrt{14} \times \sqrt{5}}

この値が 1 に近ければベクトルは似ている、0 に近ければ似ていないと判断できます。

まとめ

この記事では、G検定で頻出の「コサイン類似度」について、定義・計算式・具体例を使って解説しました。

  • コサイン類似度は「ベクトルの向きの近さ」を測る指標
  • 値の範囲は −1〜+1(+1が最も類似)
  • ベクトルの長さには影響されず、方向だけで比較できる
  • 自然言語処理・レコメンド・クラスタリングなどで広く使われる

コサイン類似度は、機械学習の「特徴量の比較」や「類似検索」に欠かせない概念です。ベクトルの内積やノルムとセットで理解しておくと、G検定の問題にもスムーズに対応できます。

タイトルとURLをコピーしました