コサイン類似度を見つけるときに非評価フィールドの値はどうあるべきか


8

私は非常に基本的な書籍推薦システムに取り組んでいます。コサイン類似度を見つけるときに、ユーザーによって評価されていないフィールドをどうするかを知りたいのですが、それらを無視して、評価されたフィールドのみで計算するか、0とマークする必要があります。

本書私は、次のAMは、それがユークリッドとピアソン相関の場合には、間違った解釈を与えるため、フィールドを除外すると言うが、コサイン類似度の場合には、それが0にすべての非定格のフィールドになります。

評価されていないフィールドをCosineについてのみ0にして他のフィールドを0にする必要がある理由、またはそれを行う別の方法がある理由を誰かが説明できますか?(ユークリッドとピアソンでフィールド0を作成すると出力にどのように影響するか知っていますが、コサインはわかりません)


これについての洞察を得るために、stackoverflow でこの質問を見ることができます。
janpreet sing 2016

回答は、評価されていないエントリを0として維持すると対応する類似性に確実に影響することを示しているため、質問に部分的に回答します。これは、レコメンダーエンジンのアルゴリズムで使用できる(または使用できない)
janpreet sing h

平均正規化を試しましたか?
Valentin Calomme 2018年

回答:


1

実装側では、0を評価なしに対応させるのには十分な理由があります。ほとんどのユーザーはほとんどの本を評価していないため、0が最も一般的な値となり、コサイン類似度関数は内部でスパース行列を使用して計算を高速化できます。疎行列のショートカットが、人々がそもそもコサイン類似度を使用する主な理由です。

一方、アルゴリズムが0を2よりも1に近いと解釈した場合は、推奨が破棄されます。意図的にそれらを無視する必要がありますが、コサイン類似性の実装では、適用前のデータ。


1.それであなたの答えによれば、次のことは結果に影響を与えてはいけませんか?
divyum 2016年

0

コサイン類似度の計算方法を検討してください。

コサイン類似度は、2つの実数ベクトルの内積を取り、この値をそれらの大きさの積で割ります。ユークリッド内積の同一性により、これは2つのベクトル間の角度の余弦に等しくなります。この結果は、1から-1の間の値です。

値が1の場合、これらのベクトルはまったく同じ方向を指しています。値が-1の場合、ベクトルは正反対の方向を指しています(一方は他方の否定です)。値が0の場合、ベクトルは互いに垂直です。言い換えると、値がゼロの場合、これらの2つのベクトルは、取得できる範囲で特徴空間で類似していません。

ドット積は、2つのベクトルのすべての要素ごとの積の合計です。これらの数値が大きいほど、余弦の類似性に寄与します。

今、あなたのベクトルの特徴を取りなさい。第五、言う。一方のベクトルでこれをゼロに設定すると、もう一方のベクトルの値に関係なく、2つのベクトルの要素ごとの積の5番目の要素もゼロになります。これらの要素ごとの積を合計すると、5番目の要素は合計に影響を与えません。結果として、特徴ベクトルの値をゼロに設定すると、余弦の類似性に寄与しなくなります。

これが、特徴ベクトルで値をゼロに設定することは、余弦類似度の計算にその特徴を含めないことと同等であり、余弦類似度を歪めない理由です。

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