Ranking with Fairness Constraints
概
本文讨论在一种'强硬'的 Fairness 约束下, 如何 (快速) re-ranking 以保留尽可能多的收益. 这里只是单纯记一笔.
基本概念
对于 items \(i \in [m]\), \([m] := \{1,2, \cdots, m\}\), 我们希望找到一个排序算法 \(X \in \{0, 1\}^{m \times n}\) 以将这些 items 排出一个 top-\(n\) \(n \ll m\) 的结果. 注意 \(x_{ij} = 1\) 表示将 item \(i\) 置于第 \(j\) 个位置, 同时 \(X\) 需要满足
即每个 item 至多被置于一个位置 \(j\), 每个位置也仅安排一个 item.
通常, 排序算法 \(X\) 是根据权重矩阵 \(W \in \mathbb{R}^{m \times n}\) 进行设计的. 且本文的权重矩阵 \(W\) 满足:
对于任意的 \(1 \preceq i_1 \prec i_2 \preceq m, 1 \le j_1 < j_2 \le n\) 成立. 这里,
表示 item \(i_1\) 比 \(i_2\) 有更好的质量. 这个假设意味着, 更高质量的 item 被置于更靠前的序的权重应当更高!
这个可以和 DCG 联系在一起, 注意到, 如果定义
这里 \(a_i\) 可以看作是 item \(i\) 的质量. 则 DCG 可以通过下式计算
此时显然对于 \(a_{i_1} \ge a_{i_2}, f(j_1) \ge f(j_2)\) 的有
另外两个条件是显然的.
Fairness 约束
Fairness 的概念是多种多样的, 本文也只讨论了一种比较强硬的约束:
其中 \(P_{\ell} \subseteq [m]\) 表示满足性质 \(\ell\) 的那些 item 的集合. 这个条件表示那些具有性质 \(\ell\) 的 items 在 top-k 中出现的次数需要在 \([L_{k\ell}, U_{k\ell}]\) 之间. 比如: 价格大于 100 的 items 在 top-10 (\(k=10\)) 推荐列表中出现的次数不能超过 2 (\(U_{k\ell} = 2, L_{k \ell} = 0\)).
优化问题
作者几个不同的假设下对上面的问题进行了研究 (特别是时间复杂度的讨论).