推奨システムは、特定のユーザーに対してどのような推奨が行われたか、およびそのユーザーが推奨を受け入れるかどうかのログを保持します。みたいな
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
ここで、1はユーザーが推奨事項を受け入れたことを意味し、-1はユーザーが推奨事項に応答しなかったことを意味します。
質問:上記のログの種類に基づいて多数のユーザーに推奨を行う場合、MAP @ 3スコアを最大化するには、暗黙的なデータ(1または-1)をどのように処理すればよいですか?
私の考えは、1と-1を評価として扱い、因数分解マシンタイプのアルゴリズムを使用して評価を予測することです。しかし、暗黙的なデータの非対称性を考えると、これは正しくないように見えます(-1は、ユーザーが推奨事項を好まないことを意味しません)。
編集1 行列因数分解アプローチのコンテキストで考えてみましょう。-1と1を評価として扱う場合、いくつか問題があります。たとえば、ユーザー1は、潜在要素空間で1つの要素(たとえば、素晴らしいバックグラウンドミュージックを持っている)で高得点をとる映画Aが好きです。システムは、「栄光のバックグラウンドミュージック」でも高いスコアの映画Bを推奨しますが、何らかの理由でユーザー1が忙しくて推奨を調査できず、評価-1の映画Bがあります。1または-1を同等に扱った場合この場合、ユーザー1が依然として栄光のBGMを含む映画を愛している間、システムは栄光のBGMを含む映画をユーザー1に推奨することをお勧めできません。この状況は避けられるべきだと思います。