Skip to content

Add max-min (Rawlsian) fairness explainer - #568

Open
propcgamer20-png wants to merge 1 commit into
yakew7:mainfrom
propcgamer20-png:docs/maxmin-fairness-explainer
Open

Add max-min (Rawlsian) fairness explainer#568
propcgamer20-png wants to merge 1 commit into
yakew7:mainfrom
propcgamer20-png:docs/maxmin-fairness-explainer

Conversation

@propcgamer20-png

Copy link
Copy Markdown
Collaborator

Closes #543.

New explainers/maxmin-fairness.md on the fairness objective that minimizes the maximum group-level loss (Rawls' difference principle) instead of equalizing a rate across groups.

Structure (follows fairness-metric-conflicts.md / mitigation-strategies.md)

  • Objective-function contrast - demographic parity's constrained average loss vs max-min's min of a max over per-group losses. No equality constraint; the between-group gap is not penalized.

  • Concrete example - Audit 03 German Credit, age (under 30), an independent minimal implementation (not the S0-S4 harness):

    older younger worst-group error overall acc selection-rate gap
    baseline LR 81.0% acc 70.9% acc 29.1% 77.0% 13.5 pts
    max-min reweighted 81.0% acc 72.2% acc 27.9% 77.5% 12.3 pts

    The loop lifts the worst group, leaves the other unchanged, keeps overall accuracy flat - and barely moves the demographic-parity gap, which is the teachable conflict. Cross-references the repo's own frozen accuracy_equality_diff (-0.153, p = 0.031 in paper/results-frozen/) as the gap max-min targets and none of S1-S4 do.

  • Runnable code - fit_maxmin (multiplicative-weights group reweighting) and maxmin_report. The pasted Script Execution Output is verified byte-for-byte against the extracted block; deterministic with pinned libs.

  • Limitations - tiny/noisy subgroups without a min_group_size floor (ties to faircode/significance.py); "worst-off" is only defined once a loss is fixed; silent on between-group gaps; levelling-down permitted at the margin without a Pareto constraint.

Citations (all verified against the proceedings, not the issue's paraphrase)

Rawls, A Theory of Justice (1971); Hashimoto, Srivastava, Namkoong & Liang, ICML 2018 (PMLR 80:1929-1938); Martinez, Bertran & Sapiro, ICML 2020 (PMLR 119:6755-6764); Diana, Gill, Kearns, Kenthapadi & Roth, AIES 2021 (DOI 10.1145/3461702.3462523).

Notes

  • The companion DRO explainer (Explainer: What Is Distributionally Robust Optimization (DRO) for Fairness? #544) is a separate PR; it will add the reciprocal cross-links between the two files. This PR references DRO in prose without a dead link so check_broken_links.py stays green.
  • check_em_dash.py, check_broken_links.py (1550 links), check_explainer_count.py (61), check_generated_files_current.py, tests/test_build_explainers.py all pass.

New explainers/maxmin-fairness.md. Covers the fairness objective that
minimizes the maximum group-level loss (Rawls' difference principle)
rather than equalizing a rate across groups, and the real conflict
between it and parity metrics: a model can move toward max-min fairness
while still failing demographic parity.

- Objective-function contrast: demographic parity's constrained average
  loss vs max-min's min-of-max over per-group losses.
- Concrete example on the Audit 03 German Credit data (age, under 30): a
  plain logistic-regression baseline (older 81.0% acc, younger 70.9%,
  worst-group error 29.1%) vs an iterative group-reweighting max-min loop
  (worst-group error 27.9%, older unchanged, overall accuracy flat) that
  leaves the ~12-point selection-rate gap almost untouched. Cross-refs the
  repo's own frozen accuracy_equality_diff (-0.153, p=0.031) as the gap
  max-min targets and S1-S4 do not.
- Fully runnable detection/implementation code (fit_maxmin + maxmin_report),
  deterministic output verified against the pasted block.
- Limitations: tiny/noisy subgroups without a min-group-size floor;
  worst-off is only defined once a loss is chosen; silent on between-group
  gaps; levelling-down permitted at the margin without a Pareto constraint.
- Citations verified: Rawls (1971); Hashimoto et al. ICML 2018; Martinez,
  Bertran & Sapiro ICML 2020; Diana et al. AIES 2021.

Regenerated the HTML page, OG images, explainers-data.{js,json}, package
mirror, sitemap.xml and llms-full.txt; check_explainer_count.py --fix
bumped the 60 -> 61 mentions. The companion DRO explainer (yakew7#544) will add
the reciprocal cross-links.
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

@propcgamer20-png is attempting to deploy a commit to the yashkewlani2020-gmailcom's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

Copy link
Copy Markdown

@yakew7 @Shreyash0712 - new PR touching a path you own, please review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explainer: What Is Max-Min (Rawlsian) Fairness?

1 participant