IT資格用語解説基本情報技術者試験・数値計算
コサイン類似度
更新日:
用語解説
コサイン類似度は、2つのベクトルの向きがどれだけ似ているかを、ベクトルのなす角のコサイン(cos θ)で表す尺度です。文書や商品の特徴をベクトルで表し、似ているものを探すときに使います。
■ 試験で押さえるポイント
計算式は、内積 ÷(ベクトル1の大きさ × ベクトル2の大きさ)です。
内積は対応する要素の積の和(a₁b₁ + a₂b₂ + … + aₙbₙ)、ベクトルの大きさは各要素の2乗の和の正の平方根(√(a₁² + a₂² + … + aₙ²))です。
値は −1以上1以下で、1に近いほど向きが同じ(似ている)、0なら無関係(直交)、−1なら逆向きです。
ベクトルの長さ(大きさ)ではなく向きだけを比べるので、全体の量が違っても比率が同じなら類似度は1になります。
例: (1, 2) と (2, 4) は内積 10、大きさ √5 と √20 なので、10 ÷ (√5 × √20) = 10 ÷ 10 = 1(同じ向き)です。
numerator ← 0
for (iを1から n まで1ずつ増やす)
numerator ← numerator + vector1[i] × vector2[i]
endfor
/* 分母 = (vector1の2乗和の平方根) × (vector2の2乗和の平方根) */■ 選択肢での判断ポイント
プログラムでは、分子(内積)は vector1[i] × vector2[i] を足し合わせ、分母は各ベクトルの2乗の和の平方根を掛け合わせます。分子の各項に平方根をとる選択肢や、分母の平方根どうしを足す選択肢は誤りです。