負の余弦の類似性の解釈


17

私の質問はばかげているかもしれません。あらかじめお詫び申し上げます。

私はスタンフォードNLPグループ(リンク)によって事前トレーニングされたGLOVEモデルを使用しようとしていました。しかし、私の類似性の結果がいくつかの負の数を示していることに気づきました。

すぐに、単語ベクトルデータファイルを確認するように求められました。どうやら、単語ベクトルの値は負になることが許されていました。これが、コサインの負の類似性を見た理由です。

[0、1]で値が制限されている周波数ベクトルのコサイン類似度の概念に慣れています。ベクトル間の角度に応じて、内積と余弦関数が正または負になる場合があることを知っています。しかし、私はこの否定的な余弦の類似性を理解して解釈するのに本当に苦労しています。

たとえば、類似性が-0.1の単語のペアがある場合、類似性が0.05の別のペアよりも類似性が低いですか?-0.9と0.8の類似度を比較してみませんか?

または私はちょうどからの最低限の角度差の絶対値になります?スコアの絶対値は?nπ

とても感謝しています。


1
コサイン類似度タグは言う:An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.2つの間の唯一の違いは、相関偏差(瞬間)-相互乗算されている-は平均からであるのに対し、コサイン偏差は元の0からである-つまり、それらはそのままの値です。
ttnphns 2016

2
(続き)正または負の係数の理解はどちらの場合も同じです。負の係数。1つのベクトルの正の偏差/値は、他のベクトルの負の偏差/値とペアになる傾向があることを意味します。これがベクトルが「似ている」か、それとも「非常に似ていない」かを意味するかどうかは、データにおける正と負の偏差/値の意味に依存します。
ttnphns 2016

@ttnphnsコメントありがとうございます!新しい方法でコサインの類似性について考えることは私に刺激を与えます。私の使用例では、おそらくそれを最終結果の違いと考えることができます。DocAとBの相関が負で、単一トピックのジャーナルXにDoc Aが含まれている場合、XがBを含む可能性は低くなります。まあ、いくつかの平均確率から。この解釈はあなたに有効に聞こえますか?

私はあなたのデータ、その中の価値観の意味、そしてあなたの研究がわからないので、言うまでもありません。
ttnphns 2016

回答:


2

2つのベクトルabあるすると、角度は、ベクトルのスカラー積とノルムによって得られます。θ

cos(θ)=ab||a||||b||

以来、値が範囲内にある。cosθ[11]

  • 1値は強く反対のベクトルを示します
  • 0独立した(直交)ベクトル
  • 1類似した(正の同一直線上にある)ベクトル。中間値は、類似度を評価するために使用されます。

:2人のユーザーをと、映画の好みに応じてこれら2人のユーザー間の類似性をします。U1U2sメートルU1U2

  • sメートルU1U2=1 2人のユーザーの好みがまったく同じ場合(または )U1=U2
  • sメートルU1U2=0人のユーザー間に相関関係がない場合
  • sメートルU1U2=1ユーザーの好みが反対の場合

0

負符号は任意ではないため、絶対値を使用しないでください。0と1の間のコサイン値を取得するには、次のコサイン関数を使用する必要があります。

(Rコード)

cos.sim <- function(a,b) 
{
  dot_product = sum(a*b)
  anorm = sqrt(sum((a)^2))
  bnorm = sqrt(sum((b)^2))
  minx =-1
  maxx = 1
  return(((dot_product/anorm*bnorm)-minx)/(maxx-minx))
} 

(Pythonコード)

def cos_sim(a, b):
    """Takes 2 vectors a, b and returns the cosine similarity according 
to the definition of the dot product"""
    dot_product = np.dot(a, b)
    norm_a = np.linalg.norm(a)
    norm_b = np.linalg.norm(b)
    return dot_product / (norm_a * norm_b)

minx = -1 
maxx = 1

cos_sim(row1, row2)- minx)/(maxx-minx)
```

minxとmaxxはどこに設定しますか?この最小-最大正規化を、計算された距離ではなく、ベクトルの次元に適用することができます。
emre can

0

コサイン類似度はピアソン相関と同じですが、平均を差し引く必要はありません。したがって、2つのピアソン相関の絶対値を比較するのと同じように、絶対値を調べることにより、2つのコサイン類似度の相対強度を比較できます。


0

単語数は負にできないため、頻度ベクトル間のコサイン類似度は負にできないが、単語の埋め込み(手袋など)では負の値を持つことができます。

ワード埋め込み構成の簡単なビューは次のとおりです。各ワードをR ^ dのランダムベクトルに割り当てます。次に、2つの類似したベクトルv1とv2を互いに近づけるか、2つの異なるベクトルv3とv4をさらに離して(ある距離ごとに、コサインなど)オプティマイザを実行します。この最適化を十分な反復で実行し、最後に、類似した単語にはより近いベクトルがあり、非類似のベクトルにはより遠いという唯一の基準を持つ単語埋め込みがあります。結果として、一部のディメンション値が負で、一部のペアが負の余弦類似性を持つ可能性があります-単に最適化プロセスがこの基準を考慮しなかったためです。一部のベクトルを負の値にうまくナッジした可能性があります。ベクトルの次元は単語数に対応していません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.