Unbiased Learning to Rank with Biased Continuous Feedback

Ren Y., Tang H. and Zhu S. Unbiased learning to rank with biased continuous feedback. In International Conference on Information and Knowledge Management (CIKM), 2022.

如何把 IPS 推广到连续的情形.

符号说明

  • \(u\), user;
  • \(x_i\), item \(x_i\) 在第 \(i\) 个位置被推荐给 \(u\);
  • \(r_i \in \{0, 1\}\), \(x_i, u\) 存在紧密联系, 若 \(r_i=1\);
  • \(c_i \in \{0, 1\}\), \(u\) 点击 \(x_i\);
  • \(e_i \in \{0, 1\}\), \(x_i\) 是否被 \(u\) 看到;
  • \(\theta_i = P(e_i=1|i)\);
  • \(\theta_i^- = P(e_i=1|i, c_i=0\);
  • \(\epsilon_{ij}^+ = P(c_i > c_j|e_i=1, e_j=1, r_i > r_j, i, j)\);
  • \(\epsilon_{ij}^- = P(c_i > c_j|e_i=1, e_j=1, r_i \le r_j, i, j)\);
  • \(\gamma_{u, x_i, x_j} = P(r_i > r_|u, x_i, x_j)\);
  • \(\beta_{u, x_i} = P(r_i > 0|u, x_i)\).

Motivation

  • 在推荐系统中, 存在严重的 position bias, 即 \(c_i=1\) 可能是仅仅是因为 \(x_i\) 被推荐的位置 \(i\) 比较靠前, 并非代表用户对它的兴趣很高 (\(r_i=1\)).

  • 为了描述这种结构, 我们可以假设

    \[\tag{1} \begin{array}{ll} P(c_i=1|u, x_i, i) &=P(r_i=1|u, x_i, i) P(e_i=1|u, x, i) \\ &=P(r_i=1|u, x_i) P(e_i=1|i), \\ \end{array} \]

    即一个样本 \(x_i\) 得到正反馈的概率取决于:
    1. 用户对它是否感兴趣 \(r_i=1\);
    2. 它是否被看到了 \(e_i=1\).

    这里最后一个等式成立, 是因为我们假设兴趣和 \(x_i\) 的位置无关, \(e_i\) 仅和它的位置有关, 直观上来说还是容易理解的.

  • 我们自然是希望能够直接优化一个理想的目标:

    \[R_{rel}(f) = \mathbb{E}_{P(r_i=1, u, x_i)} L(f(u, x_i), r_i), \]

    但是, 我们往往只能优化

    \[\mathbb{E}_{P(c_i=1, u, x_i)} L(f(u, x_i), c_i), \]

    既然 \(r_i\) 通常是难以直接观测和度量的.

  • 幸而, 在 \(c_i = \{0, 1\}\) 这种二元的情况, 我们可以通过如下方式得到一个无偏估计:

    \[\begin{array}{ll} R_{unbiased}(f) &= \mathbb{E}_{P(c_i=1, u_i, x_i, i)} [\frac{L(f(u, x_i), c_i)}{P(e_i=1|i)}] \\ &= \mathbb{E}_{P(c_i=1, u_i, x_i, i)/ P(e_i=1|i)} [L(f(u, x_i)] \\ &= \mathbb{E}_{P(r_i=1, u_i, x_i)} [L(f(u, x_i)] \\ &= R_{rel}. \end{array} \]

  • 那么倘若 \(c_i\) 是一个连续的变量呢 ? 怎么将上面的方法推广到连续标签问题呢 ?

连续的推广

  • 假设 \(c_i\) 是一个连续的 score, 越大表示越好的一个正反馈, 同样定义 \(r_i\).

  • 但是这么定义, 直接套用模型 (1) 是不合适的, 作者奇妙地将它限定为一个 pairwise 地问题:

    \[\begin{array}{ll} P(c_i > c_j|u, x_i, x_j, i, j) &=P(r_i > r_j|u, x_i, x_j, i, j) P(e_i=1|u, x, i)P(e_j=1|u, x, j) \\ \\ &=P(r_i=1|u, x_i, x_j) P(e_i=1|i) P(e_j=1|j). \\ \end{array} \]

    即考察用户喜欢 \(x_i\) 胜过 \(x_j\) 的概率.

  • 理想中, 我们希望优化:

    \[R_{rel}(f) = \mathbb{E}_{P(r_i > r_j, u, x_i, x_j)}[L(\hat{y}_i, r_i, \hat{y}_j, r_j)], \]

    这里 \(\hat{y} = f(u, x)\) 代表预测的 score.

  • 相应地, 我们可以用如下方式估计:

    \[\begin{array}{ll} R_{unbiased}(f) &= \mathbb{E}_{P(c_i> c_j, u_i, x_i, x_j, i, j)} [\frac{L(\hat{y}_i, c_i, \hat{y}_j, c_j)}{\theta_i \theta_j}] \\ &= \mathbb{E}_{P(c_i> c_j, u_i, x_i, x_j, i, j) / (\theta_i \theta_j)} [L(\hat{y}_i, c_i, \hat{y}_j, c_j)] \\ &= \mathbb{E}_{P(r_i > r_j, u, x_i, x_j)} [L(\hat{y}_i, c_i, \hat{y}_j, c_j)] \\ &= R_{rel}. \end{array} \]

注: 作者还讨论了 trust bias 的处理方法, 这里就不记录了.

代码

[official]

posted @ 2022-10-25 21:20  馒头and花卷  阅读(67)  评论(0编辑  收藏  举报