# Equidad (aprendizaje automático)

En aprendizaje automático, un algoritmo es justo, o tiene equidad si sus resultados son independientes de un cierto conjunto de variables que consideramos sensibles y no relacionadas con él (p.e.: género, etnia, orientación sexual, etc.).

## Contexto

Las investigaciones sobre equidad en algoritmos de aprendizaje automático son bastante recientes. Sin ir más lejos la mayoría de los artículos publicados sobre este tema son de los últimos tres años. Algunos de los hechos más destacados en este ámbito han sido los siguientes:
* En 2018 IBM introduce AI Fairness 360, una librería de Python con diversos algoritmos para redurcir el sesgo algorítmico de un programa, aumentando así su equidad.
* Facebook afirmó en 2018 que hace uso de una herramienta, Fairness Flow, que detecta sesgos en su IA. Sin embargo, no se puede acceder al código de dicha herramienta ni se sabe si realmente corrige estos sesgos.
* En 2019, Google publica un conjunto de herramientas en Github para estudiar los efectos de la equidad a largo plazo.
A pesar de que se siguen perfeccionando los algoritmos utilizados, los principales avances vienen de la concienciación por parte de algunas grandes empresas de la importancia que va a tener en la sociedad la reducción del sesgo en los algoritmos de aprendizaje automático en un futuro.

## Criterios de equidad en problemas de clasificación

En problemas de clasificación, un algoritmo aprende una función para predecir una característica discreta Y{\textstyle Y}, la variable objetivo, a partir de unas características conocidas X{\textstyle X}. Modelizamos A{\textstyle A} como una variable aleatoria que codifica algunas características contenidas o implícitamente codificadas en X{\textstyle X} que consideramos características protegidas (género, etnia, orientación sexual, etc.). Por último, denotamos por R{\textstyle R} la predicción del clasificador. Ahora pasamos a definir tres criterios principales para evaluar si un clasificador es justo, es decir, si sus predicciones no están influenciadas por algunas de las variables protegidas.

### Independencia

Decimos que las variables aleatorias (R, A){\textstyle (R, A)} satisfacen la independencia si las características protegidas A{\textstyle A} son estadísticamente independientes a la predicción R{\textstyle R}, y escribimos R⊥A{\textstyle R\bot A}.
También podemos expresar esta noción con la siguiente fórmula: $P(R=r|A=a)=P(R=r|A=b)\quad \forall r\in R\quad \forall a,b\in A$ Esto significa que la probabilidad de ser clasificado por el algoritmo en cada uno de los grupos es la misma para dos individuos con características protegidas distintas.
Se puede dar otra noción equivalente de independencia utilizando el concepto de información mutua entre variables aleatorias, definida como $I(X,Y)=H(X)+H(Y)-H(X,Y)$ En esta fórmula, H{\textstyle H} es la entropía de la variable estadística. Entonces (R, A){\textstyle (R, A)} satisface independencia si I(R, A)=0{\textstyle I(R, A)=0}.
Una posible relajación de la definición de independencia pasa por la introducción de una variable positiva ϵ>0{\textstyle \epsilon >0}, y viene dada por la fórmula: $P(R=r|A=a)\geq P(R=r|A=b)-\epsilon \quad \forall r\in R\quad \forall a,b\in A$
Por último, otra posible relajación pasa por requerir I(R, A)≤ϵ{\textstyle I(R, A)\leq \epsilon }.

### Separación

Decimos que las variables aleatorias (R, A, Y){\textstyle (R, A, Y)} satisfacen la separación si las características protegidas A{\textstyle A} son estadísticamente independientes a la predicción R{\textstyle R} dado el valor objetivo Y{\textstyle Y} , y escribimos R⊥A|Y{\textstyle R\bot A|Y}.
También podemos expresar esta noción con la siguiente fórmula: $P(R=r|Y=q,A=a)=P(R=r|Y=q,A=b)\quad \forall r\in R\quad q\in Y\quad \forall a,b\in A$ Esto significa que la probabilidad de ser clasificado por el algoritmo en cada uno de los grupos es la misma para dos individuos con características protegidas distintas dado que ambos pertenecen al mismo grupo (tienen la misma variable objetivo).
Otra expresión equivalente, en el caso de tener una variable objetivo binaria, es la que exige que la tasa de verdaderos positivos y la tasa de falsos positivos sean iguales (y por tanto la tasa de falsos negativos y la tasa de verdaderos negativos también lo sean) para cada valor de las características protegidas: $P(R=1|Y=1,A=a)=P(R=1|Y=1,A=b)\quad \forall a,b\in A$ $P(R=1|Y=0,A=a)=P(R=1|Y=0,A=b)\quad \forall a,b\in A$
Por último, una posible relajación de las definiciones dadas es que la diferencia entre tasas sea un número positivo menor que una cierta variable ϵ>0{\textstyle \epsilon >0}, en lugar de igual a cero.

### Suficiencia

Decimos que las variables aleatorias (R, A, Y){\textstyle (R, A, Y)} satisfacen la suficiencia si las características protegidas A{\textstyle A} son estadísticamente independientes al valor objetivo Y{\textstyle Y} dada la predicción R{\textstyle R}, y escribimos Y⊥A|R{\textstyle Y\bot A|R}.
También podemos expresar esta noción con la siguiente fórmula: $P(Y=q|R=r,A=a)=P(Y=q|R=r,A=b)\quad \forall q\in Y\quad r\in R\quad \forall a,b\in A$ Esto significa que la probabilidad de estar en realidad en cada uno de los grupos es la misma para dos individuos con características protegidas distintas dado que la predicción los englobe en el mismo grupo.

### Relaciones entre definiciones

Por último, resumimos algunos de los principales resultados que relacionan las tres definiciones dadas arriba:
* Si A{\textstyle A} y Y{\textstyle Y} no son estadísticamente independientes, entonces la suficiencia y la independencia no pueden darse a la vez.
* Asumiendo que Y{\textstyle Y} es binaria, si A{\textstyle A} y Y{\textstyle Y} no son estadísticamente independientes, y R{\textstyle R} y Y{\textstyle Y} tampoco son estadísticamente independientes, entonces la independencia y la separación no pueden darse a la vez.
* Si (R, A, Y){\textstyle (R, A, Y)} como distribución conjunta tiene probabilidad positiva para todos sus posibles valores y A{\textstyle A} y Y{\textstyle Y} no son estadísticamente independientes, entonces la separación y la suficiencia no pueden darse a la vez.

## Métricas

La mayoría de medidas de equidad dependen de diferentes métricas, de modo que comenzaremos por definirlas. Cuando trabajamos con un clasificador binario, tanto la clase predicha por el algoritmo como la real pueden tomar dos valores: positivo y negativo. Empecemos ahora explicando las posibles relaciones entre el resultado predicho y el real:
* Verdadero positivo (TP): Cuando el resultado predicho y el real pertenecen a la clase positiva.
* Verdadero negativo (TN): Cuando el resultado predicho y el real pertenecen a la clase negativa.
* Falso positivo (FP): Cuando el resultado predicho es positivo pero el real pertenece a la clase negativa.
* Falso negativo (FN): Cuando el resultado predicho es negativo pero el real pertenece a la clase positiva.
Estas relaciones pueden ser representadas fácilmente con una matriz de confusión, una tabla que describe la precisión de un modelo de clasificación. En esta matriz, las columnas y las filas representan instancias de las clases predichas y reales, respectivamente.
Utilizando estas relaciones, podemos definir múltiples métricas que podemos usar después para medir la equidad de un algoritmo:
* Valor predicho positivo (PPV): la fracción de casos positivos que han sido predichos correctamente de entre todas las predicciones positivas. Con frecuencia, se denomina como precisión, y representa la probabilidad de que una predicción positiva sea correcta. Viene dada por la siguiente fórmula:
$PPV=P(actual=+|prediction=+)={\frac {TP}{TP+FP}}$
* Tasa de descubrimiento de falsos (FDR): la fracción de predicciones positivas que eran en realidad negativas de entre todas las predicciones positivas. Representa la probabilidad de que una predicción positiva sea errónea, y viene dada por la siguiente fórmula:
$FDR=P(actual=-|prediction=+)={\frac {FP}{TP+FP}}$
* Valor predicho negativo (NPV): la fracción de casos negativos que han sido predichos correctamente de entre todas las predicciones negativas. Representa la probabilidad de que una predicción negativa sea correcta, y viene dada por la siguiente fórmula:
$NPV=P(actual=-|prediction=-)={\frac {TN}{TN+FN}}$
* Tasa de omisión de falsos (FOR): la fracción de predicciones negativas que eran en realidad positivas de entre todas las predicciones negativas. Representa la probabilidad de que una predicción negativa sea errónea, y viene dada por la siguiente fórmula:
$FOR=P(actual=+|prediction=-)={\frac {FN}{TN+FN}}$
* Tasa de verdaderos positivos (TPR): la fracción de casos positivos que han sido predichos correctamente de entre todos los casos positivos. Con frecuencia, se denomina como exhaustividad, y representa la probabilidad de que los sujetos positivos sean clasificados correctamente como tales. Viene dada por la fórmula:
$TPR=P(prediction=+|actual=+)={\frac {TP}{TP+FN}}$
* Tasa de falsos negativos (FNR): la fracción de casos positivos que han sido predichos de forma errónea como negativos de entre todos los casos positivos. Representa la probabilidad de que los sujetos positivos sean clasificados erróneamente como negativos, y viene dada por la fórmula:
$FNR=P(prediction=-|actual=+)={\frac {FN}{TP+FN}}$
* Tasa de verdaderos negativos (TNR): la fracción de casos negativos que han sido predichos correctamente de entre todos los casos negativos. Representa la probabilidad de que los sujetos negativos sean clasificados correctamente como tales, y viene dada por la fórmula:
$TNR=P(prediction=-|actual=-)={\frac {TN}{TN+FP}}$
* Tasa de falsos positivos (FPR): la fracción de casos negativos que han sido predichos de forma errónea como positivos de entre todos los casos negativos. Representa la probabilidad de que los sujetos negativos sean clasificados erróneamente como positivos, y viene dada por la fórmula:
$FPR=P(prediction=+|actual=-)={\frac {FP}{TN+FP}}$

## Otros criterios de equidad

Los criterios siguientes se pueden entender como métricas de las tres definiciones dadas en la primera sección, o una relajación de las mismas. En la tabla de la derecha podemos ver cómo se relacionan.
Para definir estas métricas específicamente, se dividen en tres grandes grupos como en el trabajo de Verma y otros.: definiciones basadas en el resultado predicho, en el resultado predicho y el real, y definiciones basadas en las probabilidades predichas y el resultado real.
En la siguiente sección se trabaja con un clasificador binario y la siguiente notación: S{\textstyle S} se refiere a la puntuación dada por el clasificador, la cual es la probabilidad que cierto sujeto se encuentre en la clase positiva o negativa. R{\textstyle R} representa la clasificación final predicha por el algoritmo, y su valor es comúnmente derivado de S{\textstyle S} , por ejemplo será positivo cuando S{\textstyle S} esté por encima de cierto valor. Y{\textstyle Y} representa el resultado real, es decir, la clasificación real del sujeto y, finalmente, A{\textstyle A} denota las variables protegidas del sujeto.

### Definiciones basadas en el resultado predicho

Las definiciones en estas secciones se centran en el resultado predicho R{\textstyle R} para varias distribuciones de sujetos. Son las nociones más simples e intuitivas de equidad.
* Group fairness, también llamado statistical parity, demographic parity, acceptance rate y benchmarking. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen la misma probabilidad de ser asignados a la clase positiva. Es decir, si se satisface la siguiente fórmula:
$P(R=+|A=a)=P(R=+|A=b)\quad \forall a,b\in A$
* Conditional statistical parity. Consiste básicamente en la definición anterior, pero restringida solo a un subconjunto de los atributos. En notación matemática:
$P(R=+|L=l,A=a)=P(R=+|L=l,A=b)\quad \forall a,b\in A\quad \forall l\in L$

### Definiciones basadas en el resultado predicho y el real

Estas definiciones no sólo consideran el resultado predicho R{\textstyle R} pero también lo comparan con el resultado real Y{\textstyle Y}.
* Predictive parity, también llamado outcome test. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo PPV. Es decir, si se satisface la siguiente fórmula:
$P(Y=+|R=+,A=a)=P(Y=+|R=+,A=b)\quad \forall a,b\in A$
    Matemáticamente, si un clasificador tiene el mismo PPV para ambos grupos, también tiene el mismo FDR, satisfaciendo la fórmula:
$P(Y=-|R=+,A=a)=P(Y=-|R=+,A=b)\quad \forall a,b\in A$
* False positive error rate balance, también llamado predictive equality. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo FPR. Es decir, si se satisface la siguiente fórmula:
$P(R=+|Y=-,A=a)=P(R=+|Y=-,A=b)\quad \forall a,b\in A$
    Matemáticamente, si un clasificador tiene el mismo FPR para ambos grupos, también tiene el mismo TNR, satisfaciendo la fórmula:
$P(R=-|Y=-,A=a)=P(R=-|Y=-,A=b)\quad \forall a,b\in A$
* False negative error rate balance, también llamado equal opportunity. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo FNR. Es decir, si se satisface la siguiente fórmula:
$P(R=-|Y=+,A=a)=P(R=-|Y=+,A=b)\quad \forall a,b\in A$
    Matemáticamente, si un clasificador tiene el mismo FNR para ambos grupos, también tiene el mismo TPR, satisfaciendo la fórmula:
$P(R=+|Y=+,A=a)=P(R=+|Y=+,A=b)\quad \forall a,b\in A$
* Equalized odds, también llamado conditional procedure accuracy equality and disparate mistreatment. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo TPR y el mismo FPR, satisfaciendo la fórmula:
$P(R=+|Y=y,A=a)=P(R=+|Y=y,A=b)\quad y\in \{+,-\}\quad \forall a,b\in A$
* Conditional use accuracy equality. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo PPV y el mismo NPV, satisfaciendo la fórmula:
$P(Y=y|R=y,A=a)=P(Y=y|R=y,A=b)\quad y\in \{+,-\}\quad \forall a,b\in A$
* Overall accuracy equality. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen la misma precisión de predicción, es decir, la probabilidad de predecir correctamente a qué clase pertenece un sujeto. Es decir, si se satisface la siguiente fórmula:
$P(R=Y,A=a)=P(R=Y|A=b)\quad \forall a,b\in A$
* Treatment equality. Un clasificador satisface esta definición si los sujetos en los grupos protegidos y en los no protegidos tienen el mismo ratio de FN y FP, satisfaciendo la fórmula:
${\frac {FN_{A=a}}{FP_{A=a}}}={\frac {FN_{A=b}}{FP_{A=b}}}$

### Definiciones basadas en las probabilidades predichas y el resultado real

Estas definiciones se basan en el resultado real Y{\textstyle Y} y en la probabilidad predicha (la puntuación) S{\textstyle S}.
* Test-fairness, también conocido como calibration o matching conditional frequencies. Un clasificador satisface esta definición si individuos con la misma puntuación S{\textstyle S} tienen la misma probabilidad de ser clasificados en la clase positiva independientemente de si pertenecen a los grupos protegidos o no:
$P(Y=+|S=s,A=a)=P(Y=+|S=s,A=b)\quad \forall s\in S\quad \forall a,b\in A$
* Well-calibration. Es una extensión de la definición anterior. Añade que, cuando individuos dentro o fuera de los grupos protegidos tienen la misma puntuación S{\textstyle S} deben tener la misma probabilidad de ser clasificados en la clase positiva, y esta probabilidad debe ser igual a S{\textstyle S} :
$P(Y=+|S=s,A=a)=P(Y=+|S=s,A=b)=s\quad \forall s\in S\quad \forall a,b\in A$
* Balance for positive class. Un clasificador satisface esta definición si los individuos que constituyen la clase positiva pertenecientes tanto los grupos protegidos como de los no protegidos tienen la misma media de puntuación S{\textstyle S}. Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real positiva Y{\textstyle Y} es la misma, satisfaciendo la fórmula:
$E(S|Y=+,A=a)=E(S|Y=+,A=b)\quad \forall a,b\in A$
* Balance for negative class. Un clasificador satisface esta definición si los individuos que constituyen la clase negativa pertenecientes tanto los grupos protegidos como de los no protegidos tienen la misma media de puntuación S{\textstyle S}. Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real negativa Y{\textstyle Y} es la misma, satisfaciendo la fórmula:
$E(S|Y=-,A=a)=E(S|Y=-,A=b)\quad \forall a,b\in A$

## Algoritmos

Se puede aplicar la equidad al aprendizaje automático desde tres perspectivas: pre-procesando los datos utilizados en el algoritmo, optimizando los objetivos durante el entrenamiento o procesando las respuestas tras la ejecución del algoritmo.

### Preprocesamiento

Normalmente, el clasificador no es el único problema, el conjunto de datos también está sesgado. La discriminación de un conjunto de datos D{\textstyle D} con respecto al grupo A=a{\textstyle A=a} se puede definir como sigue: $disc_{A=a}(D)={\frac {|\{X\in D|X(A)\neq a,X(Y)=+\}|}{|\{X\in D|X(A)\neq a\}|}}-{\frac {|\{X\in D|X(A)=a,X(Y)=+\}|}{|\{X\in D|X(A)=a\}|}}$
Esto es, una aproximación de la diferencia entre las probabilidades de pertenecer a la clase positiva dado que el sujeto tiene una característica protegida distinta de a a{\textstyle a} e igual a a{\textstyle a}.
Los algoritmos que corrigen el sesgo mediante preprocesamiento intentan eliminar información sobre ciertos atributos de los datos que pueden provocar un comportamiento injusto de la IA, al mismo tiempo que tratan de alterar estos datos lo menos posible. Eliminar del conjunto de datos una variable protegida no es suficiente, ya que otras variables pueden estar correlacionadas con ella.
Una posible forma de hacerlo consiste en asociar cada individuo del conjunto de datos a una representación intermedia en la que sea imposible determinar si pertenece o no a un grupo protegido, a la vez que se mantiene el resto de la información tanto como sea posible. Después, se ajusta la nueva representación del conjunto de datos para buscando el máximo acierto del algoritmo.
De este modo, los individuos se vinculan a una nueva representación en la que la probabilidad de que un miembro de un grupo protegido sea asociado a cierto valor de la nueva representación es la misma que la de un individuo no protegido. Así, es la nueva representación la que se utiliza para obtener la predicción para el individuo en vez de los datos originales. Como la representación intermedia se ha construido dando la misma probabilidad a cada individuo independientemente de si pertenecen al grupo protegido o no, esto queda oculto para el clasificador.
Se puede encontrar un ejemplo en Zemel y otros en el que se utiliza una variable aleatoria multinomial como representación intermedia. En el proceso, se preserva toda la información excepto la que pueda conducir a decisiones sesgadas a la vez que se busca una predicción lo más correcta que sea posible.
Por un lado, este procedimiento tiene la ventaja de que los datos preprocesados se pueden utilizar para cualquier tarea de aprendizaje automático. Además, no hay que modificar el código del clasificador, ya que la corrección se aplica a los datos que se van a introducir en él. Por otro lado, los otros métodos obtienen mejores resultados tanto en acierto como en equidad.

#### Reweighing

La técnica del reweighing, en español reasignación de pesos, es un ejemplo de algoritmo de preprocesamiento. La idea consiste en asignar un peso a cada punto del conjunto de datos de tal manera que la discriminación ponderada es 0 respecto al grupo de interés.
Si el conjunto de datos D{\textstyle D} fuera no sesgado, la variable protegida A{\textstyle A} y la variable objetivo Y{\textstyle Y} serían estadísticamente independientes y la probabilidad de la distribución conjunta sería el producto de las probabilidades de la siguiente manera:
$P_{exp}(A=a\wedge Y=+)=P(A=a)\times P(Y=+)={\frac {|\{X\in D|X(A)=a\}|}{|D|}}\times {\frac {|\{X\in D|X(Y)=+\}|}{|D|}}$
Sin embargo, en la vida real el conjunto de datos suele estar sesgado y las variables no son estadísticamente independientes por lo que la probabilidad observada es: $P_{obs}(A=a\wedge Y=+)={\frac {|\{X\in D|X(A)=a\wedge X(Y)=+\}|}{|D|}}$
Para compensar el sesgo, se asignan mayores pesos a los puntos no favorecidos y menores a los favorecidos. Para cada X∈D{\textstyle X\in D} obtenemos: $W(X)={\frac {P_{exp}(A=X(A)\wedge Y=X(Y))}{P_{obs}(A=X(A)\wedge Y=X(Y))}}$
Una vez tenemos asignado a cada X{\textstyle X} un peso asociado W(X){\textstyle W(X)} calculamos la discriminación ponderada con respecto al grupo A=a{\textstyle A=a} de la siguiente manera: $disc_{A=a}(D)={\frac {\sum W(X)X\in \{X\in D|X(A)\neq a,X(Y)=+\}}{\sum W(X)X\in \{X\in D|X(A)\neq a\}}}-{\frac {\sum W(X)X\in \{X\in D|X(A)=a,X(Y)=+\}}{\sum W(X)X\in \{X\in D|X(A)=a\}}}$
Se puede demostrar que después de la asignación de los pesos la discriminación ponderada es 0.

### Optimización durante el entrenamiento

Otra aproximación al problema es corregir el sesgo durante el entrenamiento. Esto puede hacerse añadiendo restricciones al objetivo del algoritmo. Estas restricciones obligan al algoritmo a tener en cuenta la equidad, de forma que el máximo éxito no sea su único objetivo, sino también mantener ciertas métricas iguales tanto para el grupo protegido como para el resto de individuos. Por ejemplo, se puede añadir al algoritmo la condición de que la tasa de falsos positivos sea la misma para individuos del grupo protegido y para los que no lo son.
Las principales métricas que se utilizan en esta técnica son la tasa de falsos positivos, la tasa de falsos negativos y la tasa general de fallo. Es posible añadir sólo una o varias de estas restricciones al objetivo. Nótese que la igualdad de las tasas de falsos negativos implica la igualdad también de las tasas de verdaderos positivos, lo que significa igualdad de oportunidad. Tras añadir las restricciones al algoritmo, el problema puede volverse infactible y por tanto puede ser necesario relajarlas.
Esta técnica obtiene buenos resultados al mejorar la equidad, al mismo tiempo que mantiene una exactitud alta, y permite al programador elegir las métricas que mejor se ajusten a sus necesidades. Sin embargo, la técnica y las métricas utilizadas varían en función del problema y es necesario modificar el código del algoritmo, lo que no siempre es posible.

#### Adversarial debiasing

Se entrenan dos clasificadores al mismo tiempo con algún método basado en el gradiente (p.e.: descenso de gradiente). El primero (el predictor) intenta resolver el problema de predecir la variable objetivo Y{\textstyle Y} dada la entrada X{\textstyle X}, modificando sus pesos W{\textstyle W} para minimizar una función de pérdida L$_P$(y$^^$, y){\textstyle L_{P}({\hat {y}}, y)}. El segundo (el adversario) intenta resolver el problema de predecir la variable sensible A{\textstyle A}, dado Y$^^${\textstyle {\hat {Y}}} modificando sus pesos U{\textstyle U} para minimizar otra función de pérdida L$_A$(a$^^$, a){\textstyle L_{A}({\hat {a}}, a)}.
Una puntualización importante es que, para que se propague correctamente, la variable Y$^^${\textstyle {\hat {Y}}} de arriba debe referirse a la salida en bruto del clasificador y no a la salida discreta; por ejemplo, con una red neuronal artificial y un problema de clasificación Y$^^${\textstyle {\hat {Y}}}, se podría referir a la salida de la capa softmax.
A continuación, actualizamos U{\textstyle U} para minimizar L$_A${\textstyle L_{A}} en cada paso del entrenamiento según el gradiente ∇$_U$L$_A${\textstyle \nabla _{U}L_{A}} y modificamos W{\textstyle W} conforme a la expresión: $\nabla _{W}L_{P}-proj_{\nabla _{W}L_{A}}\nabla _{W}L_{P}-\alpha \nabla _{W}L_{A}$ donde α\alpha es un hiperparámetro a elegir que puede variar en cada paso.
La idea intuitiva consiste en que el predictor intente minimizar L$_P${\textstyle L_{P}} ((y de ahí el término ∇$_W$L$_P${\textstyle \nabla _{W}L_{P}}) mientras, al mismo tiempo, maximice L$_A${\textstyle L_{A}} (y de ahí el término −α∇$_W$L$_A${\textstyle -\alpha \nabla _{W}L_{A}}), de tal manera que el adversario fracase al predecir la variable sensible a partir de Y$^^${\textstyle {\hat {Y}}}.
El término −proj$_{∇WLA}$∇$_W$L$_P${\textstyle -proj_{\nabla _{W}L_{A}}\nabla _{W}L_{P}} evita que el predictor cambie de una forma que pueda ayudar al advesario disminuir su función de pérdida.
Se puede demostrar que entrenar un modelo de clasificación predictor con este algoritmo mejora la paridad demográfica con respecto a entrenarlo sin el adversario.

### Post-procesamiento

La última técnica trata de corregir las respuestas del clasificador para alcanzar la equidad. En este método, necesitamos hacer una predicción binaria para los individuos y tenemos un clasificador que devuelve una puntuación asociada a cada uno de ellos. Los individuos con puntuaciones altas tenderán a obtener una respuesta positiva, mientras que aquellos con una puntuación baja tendrán una respuesta negativa, pero necesitamos determinar el umbral a partir del cual se responde positiva o negativamente. Nótese que variar el umbral afecta al compromiso entre la tasa de verdaderos positivos y la tasa de verdaderos negativos, y en función del problema nos puede interesar mejorar una a costa de la otra.
Si la función de puntuación es justa, en el sentido de que es independiente del atributo protegido, entonces cualquier elección del valor umbral será también justa, pero este tipo de clasificadores tienden a sesgarse con facilidad, por lo que puede que necesitemos especificar un umbral distinto para cada grupo protegido. Una forma de hacerlo es estudiar las gráficas de la tasa de verdaderos positivos frente a la de verdaderos negativos para distintos valores del umbral (a esto se le conoce como curva ROC) y comprobar para qué valor del umbral las tasas son iguales para el grupo protegido y para el resto de individuos.
Entre las ventajas del post-procesamiento están que la técnica se puede aplicar después de usar cualquier clasificador, sin necesidad de modificarlo, y obtiene buenos resultados mejorando métricas de equidad. Entre los inconvenientes, es necesario consultar el valor del atributo protegido durante el post-procesamiento y se restringe la libertad del programador para regular el compromiso entre equidad y exactitud.

#### Reject Option based Classification

Dado un clasificador, sea P(+|X){\textstyle P(+|X)} la probabilidad calculada por este de que el sujeto X{\textstyle X} pertenezca a la clase positiva. Cuando P(+|X){\textstyle P(+|X)} sea cercano a 1 o 0, el sujeto X{\textstyle X} será clasificado, con un alto grado de seguridad, como perteneciente a la clase positiva o negativa respectivamente. Sin embargo, cuando P(+|X){\textstyle P(+|X)} está más próximo a 0.5 la clasificación no está clara.
Decimos que X{\textstyle X} es un sujeto rechazado si max(P(+|X), 1−P(+|X))≤θ{\textstyle max(P(+|X), 1-P(+|X))\leq \theta } con cierto θ{\textstyle \theta } tal que 0.5<θ<1{\textstyle 0.5<\theta <1}.
El algoritmo consiste en clasificar los sujetos no rechazados siguiendo la regla explicada al principio y los rechazados de la siguiente manera: si la instancia es un ejemplo de grupo desprivilegiado ($X(A)=a$) entonces clasificarla como positivo, en el otro caso, clasificarla como negativo.
Podemos optimizar diferentes medidas de discriminación como funciones de θ{\textstyle \theta } para encontrar el θ{\textstyle \theta } óptimo para cada problema y evitar volvernos discriminatorios contra el grupo privilegiado.