Slate-based Recommender Systems 论文解读

Posted 白水baishui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Slate-based Recommender Systems 论文解读相关的知识,希望对你有一定的参考价值。

Reinforcement Learning for Slate-based Recommender Systems: A Tractable Decomposition and Practical Methodology

本博客对SlateQ论文进行了解读,如有错误请评论指正。

1. 论文算法介绍(第四、五章)

1.1. SlateQ: 基于强化学习的推荐列表分解技术Sl

SlateQ算法将推荐列表(Slate)的整体生成 分解为了 生成单个推荐项再组成推荐列表。它的提出基于两个假设(论文第10页):

  1. SC(Single choice)
    用户一次只在推荐列表中点击一个推荐项或不点击任何推荐项
  2. RTDS(Reward/transition dependence on selection)
    用户对推荐项的选择会产生不同的回报和状态转移

由上述两个假设,可以得到以下两个推论(论文11页公式12和13):
R ( s , A , i ) = R ( s , A ′ , i ) = R ( s , i ) ∀ A , A ′  containing  i R(s,A,i)=R(s,A',i)=R(s,i)\\qquad\\forall A,A'\\ \\text{containing}\\ i R(s,A,i)=R(s,A,i)=R(s,i)A,A containing i P ( s ′ ∣ s , A , i ) = P ( s ′ ∣ s , A ′ , i ) = P ( s ′ ∣ s , i ) ∀ A , A ′  containing  i P(s'|s,A,i)=P(s'|s,A',i)=P(s'|s,i)\\qquad\\forall A,A'\\ \\text{containing}\\ i P(ss,A,i)=P(ss,A,i)=P(ss,i)A,A containing i

这两个公式表达了:无论推荐项 i i i 出现在哪一个推荐列表中,只要它被用户选择了,那么它所产生的回报值和状态转移都是一样的。

在以上推论的前提下,论文利用马尔科夫决策过程模型(MDP)构造了推荐项辅助函数(论文11页公式14),用于计算在状态 s s s 时推荐列表中单个推荐项的 LTV(long-term value,长期价值):
Q ‾ π ( s , i ) = R ( s , i ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , i ) V π ( s ′ ) \\overline{Q}^\\pi(s,i)=R(s,i)+\\gamma\\sum_{s'\\in S}P(s'|s,i)V^\\pi(s') Qπ(s,i)=R(s,i)+γsSP(ss,i)Vπ(s)

在有了单个推荐项LTV的基础上,计算出推荐列表整体的LTV(论文11页Proposition 1),即所有推荐项LTV的期望值:
Q π ( s , A ) = ∑ i ∈ A P ( i ∣ s , A ) Q ‾ π ( s , i ) Q^\\pi(s,A)=\\sum_{i\\in A}P(i|s,A)\\overline{Q}^\\pi(s,i) Qπ(s,A)=iAP(is,A)Qπ(s,i)

当个推荐项LTV值 Q ‾ π ( s , i ) \\overline{Q}^\\pi(s,i) Qπ(s,i)可以用TD方法来更新(论文12页公式19): Q ‾ π ( s , i ) ← α ( r + γ ∑ j ∈ A ′ P ( j ∣ s ′ , A ′ ) Q ‾ π ( s ′ , j ) ) + ( 1 − α ) Q ‾ π ( s , i ) \\overline{Q}^\\pi(s,i)\\leftarrow \\alpha(r+\\gamma\\sum_{j\\in A'}P(j|s',A')\\overline{Q}^\\pi(s',j))+(1-\\alpha)\\overline{Q}^\\pi(s,i) Qπ(s,i)α(r+γjAP(js,A)Qπ(s,j))+(1α)Qπ(s,i)

也可以用Q-Learning的方法来更新(论文13页公式20): Q ‾ π ( s , i ) ← α ( r + γ max ⁡ A ′ ∈ A ∑ j ∈ A ′ P ( j ∣ s ′ , A ′ ) Q ‾ π ( s ′ , j ) ) + ( 1 − α ) Q ‾ π ( s , i ) \\overline{Q}^\\pi(s,i)\\leftarrow \\alpha(r+\\gamma\\max_{A'\\in A}\\sum_{j\\in A'}P(j|s',A')\\overline{Q}^\\pi(s',j))+(1-\\alpha)\\overline{Q}^\\pi(s,i) Qπ(s,i)α(r+γAAmaxjAP(js,A)Qπ(s,j))+(1α)Qπ(s,i)

显然,使用Q-Learning的方法来更新时可以选取到最大的 Q ‾ π ( s , i ) \\overline{Q}^\\pi(s,i) Qπ(s,i),也就可以得到最优的 Q π ( s , A ) Q^\\pi(s,A) Qπ(s,A)(论文13页公式Proposition 3): Q ( s , A ) = ∑ i ∈ A P ( i ∣ s , A ) Q ‾ ( s , i ) Q(s,A)=\\sum_{i\\in A}P(i|s,A)\\overline{Q}(s,i) Q(s,A)=iAP(is,A)Q(s,i)

1.2. 用Q值对推荐列表进行优化

在已经明确可以通过组合单个推荐项得到整体推荐列表的情况下,我们具体怎么去得到最优的推荐列表 A A A呢?这就涉及到对 Q π ( s , A ) Q^\\pi(s,A) Qπ(s,A)的优化了。

如论文13页Proposition 3 和 论文14页公式21所示,对 Q ( s , A ) Q(s,A) Q(s,A)的最优化公式表示为: Q ( s , A ) = max ⁡ A ∈ I , ∣ A ∣ = k Q π ( S , A ) = max ⁡ A ∈ I , ∣ A ∣ = k ∑ i ∈ A P ( i ∣ s , A ) Q ‾ ( s , i ) Q(s,A)=\\max_{A\\in I,|A|=k}Q^\\pi(S,A)=\\max_{A\\in I,|A|=k}\\sum_{i\\in A}P(i|s,A)\\overline{Q}(s,i) Q(s,A)=AI,A=kmaxQπ(S,A)=week9——recommender systems

Item-Based Collaborative Recommender System

Ng第十六课:推荐系统(Recommender Systems)

推荐系统介绍:(协同过滤)—Intro to Recommender Systems: Collaborative Filtering

CreateML Recommender 训练错误:推荐模型中的项目 ID 必须编号为 0、1、...、num_items - 1

序列推荐系统:挑战进展和展望Sequential Recommender Systems