コサイン類似度行列計算(多次元・複数データに対応した類似度行列計算)説明

目的と説明

類似度は、2つのデータがどの程度似ているかを数値化したもので、似ているものを探し出すときや、クラスタリング・グルーピングを行う際に使われる。
コサイン類似度はデータをベクトルとみなし内積式からcosθを求めたもので、データが頻度のように0または正の場合は0から1の範囲、負を含む場合は-1から1の範囲になる。ベクトルの性質上、正のスカラー倍は類似度1、負のスカラー倍は類似度-1になり、このあたりが目的にあっているかどうかがコサイン類似度の適用判断になる。このほか、共起行列を用いて適用範囲を広げる方法もあり、幅広く応用ができるのもコサイン類似度の特徴である。
類似度行列は、比較ベクトルを複数にしたもので、n個の比較ベクトルがあればn×nのマトリクスとして結果を得るものである。内積であるのでVijとVjiは同じ結果であり、Viiは1である。

計算方法

ベクトルの内積 Vi・Vj = |Vi||Vj|cosθ から、 cosθ = Vi・Vj / |Vi||Vj| として類似度を計算する。
本計算においては、一度に複数の比較データ(nベクトルm次元)を取り扱うことができるほか、類似度計算前のデータ変換と、比較データのフィードバック機能を持つ。これによって、結果の並び替えや再計算が容易に行えるようになる。結果は n×n の類似度行列として表示する。
なお、製品版はデンドログラムと連動させ、よりクラスタリングを行うのに適した構成になっている。

計算ページ

類似度行列計算を行う

なお、高次元でデータにゼロが多い場合、疎行列に対応した類似度計算の方が処理速度が速くなる。疎行列に対応したコサイン類似度行列計算のページ


Copyright © 2015 GxyPRO All Rights Reserved. / www.gxypro.com