Towards Model-Agnostic Post-Hoc Adjustment for Balancing Ranking Fairness and Algorithm Utilit
arxiv链接
首先声明,我没有详细做过fairness相关的调研,尤其是涉及到医学领域的数据集(本文中使用的),因此可能会在理解上出现一些错误,欢迎在评论区指正探讨~
工作任务
近年来,人们发现由于数据统计的偏差,模型本身的设计甚至是人为引入偏见等因素的存在,使得算法也呈现出不公平的结果,最常见的unfairness的现象就是性别歧视和种族歧视。因此今年来,越来越多的许多工作都被提出来提升算法的公平性。二分排序(把正样本排在负样本前面)在现实生活中有广泛应用。最近人们注意到算法学习到的score function会在一些敏感的属性划分出的group间(比如按照性别将男性划为一个group,女性划为一个group)表现出偏差,也就是我们说的公平性(fairness)问题。这篇工作的研究内容就是排序问题下的公平性问题(fairness)和算法性能(algorithm utility)之间的平衡。作者提出的解决方法是一种模型无关的后处理框架,并且这个过程是非参数化的(non-parametric),通过动态规划的方法来解决,能够保证较好的时间复杂度。
概括性总结:
模型结果:先得到组内的排序,再将各组序列融合得到组件排序。
优化目标:最大化fairness metric 和 utility metric的加权求和
优化方法:组内排序不涉及fairness,因此按照score function给出的得分排序即可;对于组间融合排序:将排序结果看作一个路径,设计一个动态规划算法找到最优化目标的路径来得到组间融合排序。
工作思路
step1:如何量化评价fairness?
要做的是按照sensitive attribute划分两个group:a,b。分别计算一些指标,然后考虑指标之间的差异。
作者这里考虑的两个fairness metrics是: xAUC \textrm{xAUC} xAUC, PRF \textrm{PRF} PRF。
xAUC \textrm{xAUC} xAUC:计算一个组的正样本排在另一个组的负样本前面的概率。期望两个组能有相同的xAUC,从而实现最优的fairness,即 Δ xAUC = 0 \Delta \textrm{xAUC} = 0 ΔxAUC=0。
PRF \textrm{PRF} PRF:计算一个组的正样本排在所有负样本前面的概率。
step2:优化目标
对于我们的任务中,会根据某个sensitive attribute将样本划分成group a,b。首先按照score function对组内instances进行排序得到序列 p a = { p a ( 1 ) , p a ( 2 ) , . . . , p a ( n a ) } , p b = { p b ( 1 ) , p b ( 2 ) , . . . , p b ( n b ) } p^a=\{p^{a(1)},p^{a(2)},...,p^{a(n^a)}\},p^b=\{p^{b(1)},p^{b(2)},...,p^{b(n^b)}\} pa={
pa(1),pa(2),...,pa(na)},pb={
pb(1),pb(2),...,pb(nb)}。之后在保证utility和fairness的条件下将 p a , p b p^a,p^b pa,pb融合成最终的ranking sequence: o ( p a , p b ) = { p a ( 1 ) , p b ( 1 ) , p a ( 2 ) , . . . , p a ( n a ) , p b ( n b ) } o(p^a,p^b)=\{p^{a(1)},p^{b(1)},p^{a(2)},...,p^{a(n^a)},p^{b(n^b)}\} o(pa,pb)={
pa(1),pb(1),pa(2),...,pa(na),pb(nb)},这里面的组内顺序是和 p a , p b p^a,p^b pa,pb保持一致的。
因为要平衡algorithm utility 和 fairness,优化目标设计为对utility和fairness分别计算得分,然后加权求和。
首先是utility的计算
作者使用AUC值来表示algorithm utility。由于AUC可以理解为:从正负样本集合中分别随机采样一个样本,正样本能够排在负样本前面的概率。表示为:
AUC = Pr [ S 1 > S 0 ] = 1 n 1 n 0 ∑ i : Y i = 1 ∑ j : Y j = 0 I [ R ( X i ) > R ( X j ) ] \textrm{AUC}=\textrm{Pr}[S_1>S_0]=\frac{1}{n_1n_0}\sum_{i:Y_i=1}\sum_{j:Y_j=0}\mathbb{I}[R(X_i)>R(X_j)] AUC=Pr[S1>S0]=n1n01∑i:Yi=1∑j:Yj=0I[R(Xi)>R(Xj)]
X i X_i Xi表示正样本, X j X_j Xj表示负样本, n 1 n_1 n1表示正样本数量, Y i Y_i Yi表示样本 X i X_i Xi的标签。 R ( X i ) > R ( X j ) R(X_i)>R(X_j) R(Xi)>R(Xj)表示样本 X i X_i Xi排的比 X j X_j Xj高。
其次是fairness的计算
作者采用的 Δ xAUC \Delta\textrm{xAUC} ΔxAUC来衡量算法的fairness。对于最终的ordering o ( p a , p b ) o(p^a,p^b) o(pa,pb)来说,group a在group b上的 xAUC \textrm{xAUC} xAUC的计算如下:
xAUC ( a , b ) = Pr [ S 1 a > S 0 b ] = 1 n 1 a n 0 b ∑ i : i ∈ a , Y i = 1 ∑ j : j ∈ b , Y j = 0 I [ R ( X i , a ) > R ( X j , b ) ] \textrm{xAUC}(a,b)=\textrm{Pr}[S_1^a>S_0^b]=\frac{1}{n_1^an_0^b}\sum\limits_{i:i\in a,Y_i=1}\sum\limits_{j:j\in b, Y_j=0}\mathbb{I}[R(X_i, a)>R(X_j, b)] xAUC(a,b)=Pr[S1a

该文探讨了排序算法中的公平性和性能平衡问题,提出了一个模型无关的后处理框架。通过动态规划方法调整组内排序和组间融合,以最大化xAUC和AUC的加权和。优化目标是兼顾公平性和效率,通过调整不同组间的实例顺序来减少公平性差距。

625

被折叠的 条评论
为什么被折叠?



