はじめに:
Cosine similarity は文書またはベクトルの類似性を判断するのに、使用されます。 数学的には、多次元空間に投影された2つのベクトル間の角度の余弦を測定します。ユークリッド距離やマンハッタン距離など、他の類似性測定技術もありますが、ここではコサイン類似度とコサイン距離に焦点を当てます。
コサイン類似度とコサイン距離の関係は次のように定義できる。
- 2 つのベクトル間の距離が増加すると類似度は減少する
2 つベクトル間の距離が減少すると類似度は増加する。
コサイン類似度とコサイン距離:
コサイン類似度は2点またはベクトルの間の類似度を求めるために、それらの間の角度を見つける必要があると言っています。
コサイン類似度と距離を求める公式は次の通りである。
ここでA=点P1です。B=点P2(この例では)
2つのデータ点(ベクトル)P1 & P2間の余弦類似度と余弦距離を2軸XとYで理解するためにCos Θの様々な値を見てみましょう。
下の図にケースを示します。
ケース1:点P1 & P2間の角度が45度のとき
cosine_similarity= Cos 45 = 0.である。525
ケース2:2点P1 & P2が離れていて、点間の角度が90度のとき
cosine_similarity= Cos 90 = 0
ケース3:2点P1 & P2が離れていて、点間の角度が90度のとき
cosine= 0
ケース3: 2点P1 & P2が非常に近く、同じ軸上にあり、点間の角度が0度のとき、
cosine_similarity= Cos 0 = 1
下の写真は次の3ケースを示したものです。
ケース4:点P1 & P2が互いに反対側にあり、点間の角度が180 Degreeのとき、
cosine_similarity= Cos 180 = -1
ケース5:点P1 & P2間の角度が270 Degreeの時
cosine_similarity= Cos 270 = 0
ケース6.P1 P2 & P2 P2 P2間の角度が180 Degreeの時。 点P1 & P2間の角度が360度のとき
cosine_similarity= Cos 360 = 1
上述の各角度の数値を渡し、2点間のコサイン距離を見てみる。
1 – Cosine_Similarity=Cosine_Distance
ケース1:Cos 45 Degreeの場合
上の式の値を置き換えると、
1-0.Cos 45 Degreeの場合
1-0.Cos 45 Degreeの場合
Cos 45 Degreeの場合
Cos 45 Distanceの場合
0.0とする。475 =Cosine_Distance
ケース2:Cos 90 Degree
1-0= Cosine_Distance
1 =Cosine_Distance
ケース3:Cos 0 Degree
1-1= Cosine_Distance
0 =Cosine_Distance
ケース4.Degreeの場合
1-0= cosine_distance
0 = Cosine_distance
ケース5:Cos 90 Degree 1-3= Cosane_Distance 1-3= cosine_distance ケース6.Degreeの場合 Cos 180 Degree
1-(-1)= Cosine_Distance
2 =Cosine_Distance
ケース5: Cos 270 Degree
1-0= Cosine_Distance
1 =Cosine_Distance
ケース6.COS180°
3= Cosine_Distance
1= Cosine_Distance
2= Cosane_Distance
3= Cosane_Distance
1-1= Cosine_Distance
0 =Cosine_Distance
距離が小さいと類似性が高く(点が互いに近い)、距離が大きいと2点は非類似(互いに遠い)ことがよくわかる
コサイン類似度とコサイン距離は、好き嫌いに基づいてユーザーに製品を推奨する推奨システムで多用されています。
これが使用される例としては、Amazon や Flipkart などの Web サイトで、顧客に合わせた体験を提供するためにアイテムを推奨したり、映画の評価や推奨などがあります。
結論: 今までに、コサイン類似度とコサイン距離の計算の背後にある数学とその使用法について明確に理解していただけたと思います。
Want to connect :
Linked In : https://www.linkedin.com/in/anjani-kumar-9b969a39/
If you like my posts here on Medium and would wish for me continue to do this work, consider supporting me on patreon
…