先週、推奨システムの代替ソリューションとして MDP を提案する論文を読みました。その論文の核心は、MDP、つまり状態、アクション、遷移確率、報酬関数などに関する推奨プロセスの表現でした。
簡単にするために単一ユーザー システムを想定すると、状態は k-タプルのように見えます(x1, x2, .. , xk)
。ここで、最後の要素 xk は、ユーザーが購入した最後のアイテムを表します。たとえば、現在の状態が(x1, x2, x3)
、ユーザーが x1、次に x2、次に x3 を時系列で購入したことを意味するとします。x4 を購入すると、新しい状態は になります(x2, x3, x4)
。
さて、論文が示唆していることは、これらの状態遷移はアクションによって引き起こされるということです。アクションは「アイテム x_i をユーザーに推奨する」ことです。しかし問題は、そのようなアクションが複数の状態につながる可能性があることです。
たとえば、現在の状態が(x1, x2, x3)
で、アクションがユーザーに「x4 を推奨する」場合、考えられる結果は 2 つのうちの 1 つになる可能性があります。
ユーザーは x4 の推奨を受け入れ、新しい状態は(x2, x3, x4)
、ユーザーが x4 の推奨を無視する (つまり、何か他のものを購入する) になり、新しい状態は(x2, x3, xi)
、xi != x4 の任意の状態になります。
私の質問は、MDP は実際に 2 つ以上の異なる状態をトリガーする同じアクションをサポートしていますか?
アップデート。単純に「アイテムx_iの推薦を受ける」ではなく、「アイテムx_iの推薦を受けて受け入れる」「アイテムx_iの推薦を受けて拒否する」というアクションを定式化する必要があると思います。