公平(群体公平 vs 个体公平)(fairness, group vs individual)
/ FAIR-nis, groop vur-sus in-di-VIJ-oo-ul /
当我们问一套算法是否「公平」时,其实可能指的是两件很不一样的事,而它们常常彼此拉扯、背道而驰。群体公平问的是:各个群体之间的结果是否均衡——男性与女性,或不同族裔,通过的比率是否相近?个体公平问的则更细:两个在一切「应当重要」之处都相似的人,是否得到了相同的对待,而不论他们属于哪个群体?后者的口号是「相似的人,相似地对待」。
难就难在这里。设想一个奖学金算法。为了让两个社区的录取率相等(群体公平),你也许不得不录取某个区里稍弱的申请者,而舍弃另一个区里稍强的——这对被拿来比较的两个个体而言,又显得不公平(违反了个体公平)。反过来,如果你纯粹按「成绩」分数给所有人排序,而这个分数本身又是由资源不均的学校塑造出来的,那么完美的个体公平反而会把失衡的群体结果固化下来。研究者已经证明:在现实条件下,你通常无法同时满足每一种合理的公平定义。它们是真的相互冲突的。
它为何重要:「公平」并没有唯一的数学公式。公平是一种价值判断,关乎我们想要怎样的社会,而数学只是逼我们把其中的取舍说清楚。一个团队若只说「我们的模型是公平的」,却不说它选了哪一种定义、为此牺牲了什么,那它并没有回答这个问题——它是在回避。有用的做法是:先说清你最想避免的伤害是哪一种,再挑选能防住它的那个定义。
两位贷款申请人收入、负债、信用记录完全相同——只是住在不同的社区。个体公平要求他们必须得到相同的决定。但群体公平仍可能发出警报:如果在成千上万对这样的人之中,某个社区的通过率明显更低,那就暴露出这些「相同」的输入,其实是由不平等的历史塑造出来的。
同一个案例,按一种定义看是公平的,按另一种看却是不公平的——这正是为什么你必须做出选择,并把它说出来。
有一个著名的「不可能性」结论:除了一些平凡的特例,一个模型无法既在各群体间「校准」一致,又同时在各群体间「错误率」相等。所以像2016年美国那场关于再犯风险评估工具的争论,并不是谁算错了——双方都对,只是用了不同的公平定义。