<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://curiousml.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://curiousml.github.io/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-08-13T19:08:26+02:00</updated><id>https://curiousml.github.io/feed.xml</id><title type="html">François HU</title><subtitle>Personal site of François HU, Associate Professor in AI and Actuarial Science at ISFA, Université Claude Bernard Lyon 1, and Head of the R&amp;D AI Lab at Milliman France. Research on trustworthy AI, algorithmic fairness, and statistical learning for insurance and finance.</subtitle><author><name>François HU</name><email>hu.faugon@gmail.com</email></author><entry><title type="html">A sequentially fair mechanism for multiple sensitive attributes</title><link href="https://curiousml.github.io/blog/fairness-for-more-than-one-attribute/" rel="alternate" type="text/html" title="A sequentially fair mechanism for multiple sensitive attributes" /><published>2026-06-10T00:00:00+02:00</published><updated>2026-06-10T00:00:00+02:00</updated><id>https://curiousml.github.io/blog/fairness-for-more-than-one-attribute</id><content type="html" xml:base="https://curiousml.github.io/blog/fairness-for-more-than-one-attribute/"><![CDATA[<!--
  Adapted from the research summary Philipp Ratz and I wrote for the Montreal
  AI Ethics Institute:
  https://montrealethics.ai/a-sequentially-fair-mechanism-for-multiple-sensitive-attributes/
  Paper: https://arxiv.org/abs/2309.06627 (AAAI 2024)
-->

<p>Fairness is rarely about one variable. A model touches age, sex, origin,
location and a dozen proxies for all of them at once, and yet most
bias-correction techniques are built to handle a single sensitive variable in
isolation. That leaves practitioners with an awkward question: which bias do you
correct first, and what does that choice do to everyone else?</p>

<p>This is the question behind our AAAI 2024 paper with Arthur Charpentier. The
short version of the answer: correcting for one sensitive variable and then the
other gives the same outcome as doing it the other way round. Because the
destination does not depend on the route, you can study the route itself, and
see who is affected at each step when you cannot correct everything at once.</p>

<h2 id="why-excluding-the-variable-is-not-enough">Why excluding the variable is not enough</h2>

<p>Algorithms reproduce the biases in their training data even when the sensitive
variables have been removed, because they learn proxies for them. Postcode
stands in for origin, occupation for sex, purchase history for almost anything.
The goal is therefore not to hide the attribute but to make the model’s
predictive distribution indistinguishable across its values.</p>

<h2 id="fairness-gerrymandering">Fairness gerrymandering</h2>

<p>There is a temptation to pick the sensitive features that make a model look best
and to evaluate only those. Correcting for sex alone can produce a model that is
defensible on sex and quietly worse on the intersection of sex and origin.
Evaluating all the variables together, rather than one convenient one, is what
stops the exercise from becoming presentational.</p>

<p>The obvious alternative is to treat the combination of all sensitive attributes
as a single variable. That is clean in theory and difficult in practice: with a
handful of attributes you get a large number of subgroups, most of them nearly
empty, and estimates that are mostly noise.</p>

<h2 id="the-mechanism">The mechanism</h2>

<p>Our approach removes the biases sequentially, transporting the score
distributions towards a multi-marginal Wasserstein barycenter at each step. Two
things fall out of it.</p>

<p>The final result does not depend on the order of correction. That is what makes
the sequential view legitimate rather than arbitrary.</p>

<p>And because each step works with the marginal distributions rather than the full
cross-product of subgroups, estimation does not depend on tiny cells. Adding a
new sensitive attribute later is cheap, which matters when the list of protected
characteristics is set by a regulator rather than by you.</p>

<h2 id="what-it-looks-like-on-real-data">What it looks like on real data</h2>

<p>On US Census wage data, correcting for racial disparities improves outcomes for
minority women and can make them worse for majority women. That is not an
argument against correcting. It is the kind of trade-off that is usually
invisible and is better stated out loud. With the effect of each step
quantified, deciding which sensitive variables to prioritise becomes an explicit,
arguable decision rather than an implicit one.</p>

<h2 id="what-this-does-not-settle">What this does not settle</h2>

<p>The method does not answer what fairness ought to mean. It makes the consequences
of a particular definition measurable, so the discussion can be about evidence
rather than intuition. There is also a real cost: fairness and accuracy trade
against each other, and the size of that trade is something to measure rather
than assume.</p>

<p>The algorithms are implemented in <a href="/projects/equipy/">EquiPy</a>, so none of this
requires reimplementing the paper.</p>

<hr />

<p><strong>Further reading.</strong> The <a href="https://arxiv.org/abs/2309.06627">paper</a> (AAAI 2024,
with Philipp Ratz and Arthur Charpentier), and the
<a href="https://montrealethics.ai/a-sequentially-fair-mechanism-for-multiple-sensitive-attributes/">research summary</a>
Philipp and I wrote for the Montreal AI Ethics Institute, which this post
follows closely.</p>]]></content><author><name>François HU</name><email>hu.faugon@gmail.com</email></author><category term="Fairness" /><category term="Optimal transport" /><category term="Insurance" /><summary type="html"><![CDATA[]]></summary></entry></feed>