Ranking with Fairness Constraints

Celis L. E., Straszak D. and Vishnoi N. K. Ranking with fairness constraints. arXiv preprint arXiv:1704.06840, 2017.

本文讨论在一种'强硬'的 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\) 需要满足

\[\sum_{j} x_{ij} \le 1, \: \sum_{i} x_{ij} = 1, \]

即每个 item 至多被置于一个位置 \(j\), 每个位置也仅安排一个 item.

通常, 排序算法 \(X\) 是根据权重矩阵 \(W \in \mathbb{R}^{m \times n}\) 进行设计的. 且本文的权重矩阵 \(W\) 满足:

\[W_{i_1j_1} \ge W_{i_2 j_1}, W_{i_1j_1} \ge W_{i_1j_2}, W_{i_1j_1} + W_{i_2j_2} \ge W_{i_1j_2} + W_{i_2j_1}, \]

对于任意的 \(1 \preceq i_1 \prec i_2 \preceq m, 1 \le j_1 < j_2 \le n\) 成立. 这里,

\[i_1 \prec i_2 \]

表示 item \(i_1\)\(i_2\)更好质量. 这个假设意味着, 更高质量的 item 被置于更靠前的序的权重应当更高!

这个可以和 DCG 联系在一起, 注意到, 如果定义

\[W_{ij} = a_i \cdot f(j), \: a_i := rel(i), f(j) := \frac{1}{\log (j + 1)}, \]

这里 \(a_i\) 可以看作是 item \(i\) 的质量. 则 DCG 可以通过下式计算

\[DCG_n = \sum_{j=1}^n \mathbb{I}_{x_{ij} = 1} W_{ij} = \sum_{i \in [m]} \sum_{j \in [n]} W_{ij} x_{ij}. \]

此时显然对于 \(a_{i_1} \ge a_{i_2}, f(j_1) \ge f(j_2)\) 的有

\[\begin{array}{ll} (W_{i_1j_1} + W_{i_2j_2}) - (W_{i_1j_2} + W_{i_2j_1}) &= (a_{i_1}f(j_1) + a_{i_2} f(j_2)) - (a_{i_1} f(j_2) + a_{i_2} f(j_1)) \\ &= (a_{i_1} - a_{i_2})(f(j_1) - f(j_2)) \ge 0. \end{array} \]

另外两个条件是显然的.

Fairness 约束

Fairness 的概念是多种多样的, 本文也只讨论了一种比较强硬的约束:

\[L_{k\ell} \le \sum_{1 \le j \le k} \sum_{i \in P_{\ell}} x_{ij} \le U_{k\ell}, \: k \in [n], \ell \in [p] \]

其中 \(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\)).

优化问题

\[\begin{array}{rl} \max_{X \in \{0, 1\}^{m \times n}} & \sum_{i \in [m], j \in [n]} W_{ij} x_{ij} \\ \text{s.t.} & L_{k\ell} \le \sum_{1 \le j \le k} \sum_{i \in P_{\ell}} x_{ij} \le U_{k\ell}, \: \forall k \in [n], \ell \in [p] \end{array} \]

作者几个不同的假设下对上面的问题进行了研究 (特别是时间复杂度的讨论).

posted @ 2022-07-09 16:31  馒头and花卷  阅读(49)  评论(0编辑  收藏  举报