# Preventing Fairness Gerrymandering: Auditing and Learning for Subgroup Fairness

Michael Kearns, Seth Neel, Aaron Roth, Steven Wu

[arXiv] See this blog post for a longer informal exposition.

The most prevalent notions of fairness in machine learning are statistical definitions: they fix a small collection of pre-defined groups,
and then ask for parity of some statistic of the classifier (like classification rate or false positive rate) across these groups.
Constraints of this form are susceptible to (intentional or inadvertent) *fairness gerrymandering*, in which a classifier appears to be fair on each individual group,
but badly violates the fairness constraint on one or more structured *subgroups* defined over the protected attributes
(such as certain combinations of protected attribute values).
We propose instead to demand statistical notions of fairness
across exponentially (or infinitely) many subgroups, defined by a structured class of functions over the protected attributes. This interpolates between statistical definitions of fairness, and recently proposed individual notions of fairness, but it raises several computational challenges. It is no longer clear how to even check or *audit* a fixed classifier to see if it satisfies such a strong definition of fairness. We prove that the computational problem of auditing subgroup fairness for both equality of false positive rates and statistical parity is equivalent to the problem of weak agnostic learning --- which means it is computationally hard in the worst case, even for simple structured subclasses. However, it also suggests that common heuristics for learning can be applied to successfully solve the auditing problem in practice. We then derive an algorithm that provably converges to the best fair distribution over classifiers in a given class, given access to oracles which can optimally solve the agnostic learning problem and the auditing problem.
The algorithm is based on a formulation of subgroup fairness
as fictitious play in a two-player zero-sum game between a Learner (the primal player) and
an Auditor (the dual player).
Finally, we implement our algorithm using linear regression as a heuristic oracle, and show that we can effectively both audit and learn fair classifiers on real datasets.