2
私は推薦システムにおける行列の因数分解の方法に関して読書のビットを行うと、これは本当に素敵なチュートリアルに出くわした

http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/マトリックス分解法

すべてが良かったが、この段落は私が興味をそそられました:

質問は今では、あなたの心に来ている可能性があります:私たちは二つの行列PPXQは、 Rを近似ようQを見つけた場合は、すべての見えない評価の予測がすべてゼロになるということではありませんか?実際、PとQを思いついて、Rを正確に再現することはできません。代わりに、観察されたユーザ - 項目対の誤差を最小限に抑えるよう試みます。言い換えれば、Tを、それぞれが(u_i、d_j、r_ij)の形式のタプルの集合とすると、Tは、関連する評価と一緒に観測されたすべてのユーザ - 項目の対を含む、我々はT内の(u_i、d_j、r_ij)のすべてをe_ijに最小化しようとしているだけです(言い換えれば、Tは私たちのトレーニングデータです)。未知の残りの部分については、ユーザ、アイテム、およびフィーチャ間の関連付けが学習された後のその値

誰かが私にこれを手助けできるかどうか疑問に思っていましたか?潜在的な要素は、各ユーザーとアイテムの動作を理解するのに役立ちますか?

おかげ

+0

あなたの質問は何ですか?明確にすることはできますか? –

+0

どのように潜在的な要因が不明な量を識別するのに役立ちますか?特定の数のユーザーとアイテムの組み合わせを取り出し、テストセットとして作成することができました。私は残りの部分を訓練することができました。私のアルゴリズムは、トレーニングセットのゼロであったテストセットの値をどのように予測しますか? –

+0

私は物事を正しく理解していると、私の予測マトリックスがトレーニングセットから生成されます。私のトレーニングセットでは、ゼロ以外の値の方が大きな値を持つでしょう。私のテストセットには、同じ予測マトリックスをどのように使用できますか? –

答えて

1

潜在因子には、ユーザとアイテムを記述する値の2つの設定(ユーザのためのセットとアイテムのセット)です。基本的にあなたがしようとしているのは、アイテムとユーザーの数値表現を見つけることです。

ムービーレーティングシステムがあり、ユーザーに3つの要素、ムービー(アイテム)に3つの要素があるとします。ユーザーアイテムは、あなたがコメディ、ドラマ、アクションムービーをどれだけ好きなのか、そして映画はそれがどれだけコメディ、ドラマ、アクションムービーであるかを決定します。これらのプロパティから、他のペアの評価を見積もることができます。このモデルでは、これらの抽象的な要素が見つかります。

つまり、は、評価がのアイテムとユーザーに対して妥当な表現しか見つけることができません。 モデルを訓練するときは、既知の評価を使用してこの表現を推定します。そこから、ユーザーとアイテムの未知の評価を予測しようとすることができます。