ディープラーニングG検定の勉強中 その20(コサイン類似度)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回は、コサイン類似度について見ていきます。

参考サイト
高校数学の美しい物語(コサイン類似度)


ベクトル r とベクトル x の2つがあるとき、

式1
3-6-1-1.png

その2つのベクトルの向きがどれぐらい類似しているかを調べるときは、式2からcosθでの比を算出することになるのですが、

式2
3-6-1-2.png

これは、ディープラーニングG検定の勉強中 その19(成分表示による内積)で出てきた式3と組み合わせることで実現できます。

式3
3-5-2-2.png

つまり、式4を

式4
3-6-1-3.png

式5に変形して cosθによる比を算出できるようにします。

式5
3-6-1-4.png

このとき、分母のベクトルは、図1から

図1
3-6-1-5.png

三平方の定理により式6が成り立つため、

式6
3-6-1-6.png

式5を式7に変形することができます。

式7
3-6-1-7.png

これで計算可能となりましたので、実際に数値を代入してコサイン類似度を確認してみます。


図2
3-6-1-8.png

図2の目盛りを「1」としたとき、ベクトル r とベクトル x の成分表示は式8となるので、

式8
3-6-1-9.png

これを式7に代入して、式8の cosθ = 0.6 と算出されました。

式8
3-6-1-10.png

コサイン類似度は、cosθの値が 1 に近いほど2つのベクトルの向きが類似していることになるので、0.6 は半分よりはちょっと近い、というところです。

図3
3-6-1-11.png

図3では図2のときよりも2つのベクトルの向きが近づいています。
式9より、

式9
3-6-1-12.png

これを式7に代入して、cosθによる比が 0.894427190999916 と出ました。より 1 に近い値となっています。

式10
3-6-1-13.png

図4
3-6-1-14.png

今度はさらにベクトル r とベクトル x の向きが近くなっています。式11から、

式11
3-6-1-15.png

式7に代入して、式12の cosθ = 0.96561575852067 と出ました。

式12
3-6-1-16.png

というように、2つのベクトルの向きが近いほど 1 に近付くことが分かりました。


なお、2つのベクトルの向きが全く同じ場合は、cosθ = 1 となり、2つのベクトルの向きが90°の場合は cosθ = 0 となります。正反対の向きの場合はcosθ = -1 となります。


ちなみに、ベクトル類似度は多次元ベクトルにも適用できるため、式13が成立し、

式13
3-6-1-17.png

これを簡略化して総和∑で表すと、式14となります。

式14
3-6-1-18.png

"ディープラーニングG検定の勉強中 その20(コサイン類似度)" へのコメントを書く

お名前[必須入力]
メールアドレス
ホームページアドレス
コメント[必須入力]

※ブログオーナーが承認したコメントのみ表示されます。