Diferencia entre revisiones de «Equidad y corrección de sesgos en Aprendizaje Automático»

De FdIwiki ELP
Saltar a: navegación, buscar
(/* Adversarial debiasing Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, Mitigating Unwanted Biases with Adversarial Learning. Consultado el 17 de diciembre de 2019 Joyce Xu, Algorithmic Solutions to Algorithmic Bias: A Technical Guide. Consultado...)
(/* Adversarial debiasing Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, Mitigating Unwanted Biases with Adversarial Learning. Consultado el 17 de diciembre de 2019 Joyce Xu, Algorithmic Solutions to Algorithmic Bias: A Technical Guide. Consultado...)
 
(No se muestran 22 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
 
''Versión en inglés: [[Fairness and bias correction in Machine Learning|Fairness and bias correction in Machine Learning]]''
 
''Versión en inglés: [[Fairness and bias correction in Machine Learning|Fairness and bias correction in Machine Learning]]''
  
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, raza, orientación sexual, etc.).
+
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 <ref name="Articles">[https://fairmlclass.github.io/1.html#/4 ''Moritz Hardt, Berkeley'']. Consultado el 18 de diciembre de 2019</ref>. 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. <ref name="IBM">[https://aif360.mybluemix.net/ ''IBM AI Fairness 360'']. Consultado el 18 de diciembre de 2019</ref>
 +
* 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. <ref name="Facebook">[https://qz.com/1268520/facebook-says-it-has-a-tool-to-detect-bias-in-its-artificial-intelligence/ ''Fairness Flow el detector de sesgos de Facebook'']. Consultado el 18 de diciembre de 2019</ref>
 +
* En 2019, Google publica un conjunto de herramientas en Github para estudiar los efectos de la equidad a largo plazo. <ref name="Google">[https://github.com/google/ml-fairness-gym ''ML-Fairness gym'']. Consultado el 18 de diciembre de 2019</ref>
 +
 
 +
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<ref name="Barocas">Solon Barocas; Moritz Hardt; Arvind Narayanan, [http://www.fairmlbook.org ''Fairness and Machine Learning'']. Consultado el 15 de diciembre de 2019.</ref> ==
 
== Criterios de equidad en problemas de clasificación<ref name="Barocas">Solon Barocas; Moritz Hardt; Arvind Narayanan, [http://www.fairmlbook.org ''Fairness and Machine Learning'']. Consultado el 15 de diciembre de 2019.</ref> ==
Línea 10: Línea 18:
 
=== Independencia ===
 
=== Independencia ===
  
Decimos que las [[wikipedia:es:variable aleatoria | variables aleatorias]] <!-- <math display="inline">(R,A)</math> --> [[File: R,A.JPG|1000x1000px|frameless]] satisfacen la independencia si las características protegidas<!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] a la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> R \bot A </math> --> [[File: RbotA.JPG|1000x1000px|frameless]].
+
Decimos que las [[wikipedia:es:variable aleatoria | variables aleatorias]] <!-- <math display="inline">(R,A)</math> --> [[File: R,A.JPG|1000x1000px|frameless]] satisfacen la '''independencia''' si las características protegidas<!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] a la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> R \bot A </math> --> [[File: RbotA.JPG|1000x1000px|frameless]].
  
 
También podemos expresar esta noción con la siguiente fórmula:
 
También podemos expresar esta noción con la siguiente fórmula:
Línea 30: Línea 38:
 
=== Separación ===
 
=== Separación ===
  
Decimos que las [[wikipedia:es:variables aleatorias | variables aleatorias]] <!-- <math display="inline">(R,A,Y)</math> --> [[File: R,A,Y.JPG|1000x1000px|frameless]] satisfacen la separación si las características protegidas <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] a la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] dado el valor objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> R \bot A | Y </math> --> [[File: RbotAbarY.JPG|1000x1000px|frameless]].
+
Decimos que las [[wikipedia:es:variables aleatorias | variables aleatorias]] <!-- <math display="inline">(R,A,Y)</math> --> [[File: R,A,Y.JPG|1000x1000px|frameless]] satisfacen la '''separación''' si las características protegidas <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] a la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] dado el valor objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> R \bot A | Y </math> --> [[File: RbotAbarY.JPG|1000x1000px|frameless]].
  
 
También podemos expresar esta noción con la siguiente fórmula:
 
También podemos expresar esta noción con la siguiente fórmula:
Línea 47: Línea 55:
 
=== Suficiencia ===
 
=== Suficiencia ===
  
Decimos que las [[wikipedia:es: variable aleatoria | variables aleatorias]] <!-- <math display="inline">(R,A,Y)</math> --> [[File: R,A,Y.JPG|1000x1000px|frameless]] satisface la suficiencia si las características protegidas <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] al valor objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] dada la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> Y \bot A | R </math> --> [[File: YbotAbarR.JPG|1000x1000px|frameless]].
+
Decimos que las [[wikipedia:es: variable aleatoria | variables aleatorias]] <!-- <math display="inline">(R,A,Y)</math> --> [[File: R,A,Y.JPG|1000x1000px|frameless]] satisface la '''suficiencia''' si las características protegidas <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]] al valor objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] dada la predicción <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]], y escribimos <!-- <math display="inline"> Y \bot A | R </math> --> [[File: YbotAbarR.JPG|1000x1000px|frameless]].
  
 
También podemos expresar esta noción con la siguiente fórmula:
 
También podemos expresar esta noción con la siguiente fórmula:
Línea 66: Línea 74:
 
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: [[File:Matriz_confusion_binaria.JPG|200x150px|frame|50px|Matriz de confusión]]
 
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: [[File:Matriz_confusion_binaria.JPG|200x150px|frame|50px|Matriz de confusión]]
  
* Verdadero positivo (TP): Cuando el resultado predicho y el real pertenecen a la clase positiva.
+
* '''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.
+
* '''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 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.
+
* '''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 [[wikipedia:matriz de confusión | 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.
 
Estas relaciones pueden ser representadas fácilmente con una [[wikipedia:matriz de confusión | 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:
 
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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción positiva sea correcta. Viene dada por la siguiente fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción positiva sea correcta. Viene dada por la siguiente fórmula:
 
<!-- <math display="block"> PPV = P(actual=+|prediction=+) = \frac{TP}{TP+FP}</math> -->
 
<!-- <math display="block"> PPV = P(actual=+|prediction=+) = \frac{TP}{TP+FP}</math> -->
 
[[File:PPV.JPG|1000x1000px|frameless|center]]
 
[[File:PPV.JPG|1000x1000px|frameless|center]]
* 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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción positiva sea errónea, y viene dada por la siguiente fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción positiva sea errónea, y viene dada por la siguiente fórmula:
 
<!-- <math display="block"> FDR = P(actual=-|prediction=+) = \frac{FP}{TP+FP} </math> -->
 
<!-- <math display="block"> FDR = P(actual=-|prediction=+) = \frac{FP}{TP+FP} </math> -->
 
[[File:FDR.JPG|1000x1000px|frameless|center]]
 
[[File:FDR.JPG|1000x1000px|frameless|center]]
* Valor predicho negativo (NPV):  la fracción de casos negativos que han sido predichos correctamente de entre todas las predicciones negativas. Representa la [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción negativa sea correcta, y viene dada por la siguiente fórmula:
+
* '''Valor predicho negativo (NPV)''':  la fracción de casos negativos que han sido predichos correctamente de entre todas las predicciones negativas. Representa la [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción negativa sea correcta, y viene dada por la siguiente fórmula:
 
<!-- <math display="block"> NPV = P(actual=-|prediction=-) = \frac{TN}{TN+FN} </math> -->
 
<!-- <math display="block"> NPV = P(actual=-|prediction=-) = \frac{TN}{TN+FN} </math> -->
 
[[File:NPV.JPG|1000x1000px|frameless|center]]
 
[[File:NPV.JPG|1000x1000px|frameless|center]]
* 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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción negativa sea errónea, y viene dada por la siguiente fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que una predicción negativa sea errónea, y viene dada por la siguiente fórmula:
 
<!-- <math display="block"> FOR = P(actual=+|prediction=-) = \frac{FN}{TN+FN} </math> -->
 
<!-- <math display="block"> FOR = P(actual=+|prediction=-) = \frac{FN}{TN+FN} </math> -->
 
[[File:FOR.JPG|1000x1000px|frameless|center]]
 
[[File:FOR.JPG|1000x1000px|frameless|center]]
* 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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos positivos sean clasificados correctamente como tales. Viene dada por la fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos positivos sean clasificados correctamente como tales. Viene dada por la fórmula:
 
<!-- <math display="block"> TPR = P(prediction=+|actual=+) = \frac{TP}{TP+FN} </math> -->
 
<!-- <math display="block"> TPR = P(prediction=+|actual=+) = \frac{TP}{TP+FN} </math> -->
 
[[File:TPR.JPG|1000x1000px|frameless|center]]
 
[[File:TPR.JPG|1000x1000px|frameless|center]]
* 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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos positivos sean clasificados erróneamente como negativos, y viene dada por la fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos positivos sean clasificados erróneamente como negativos, y viene dada por la fórmula:
 
<!-- <math display="block"> FNR = P(prediction=-|actual=+) = \frac{FN}{TP+FN} </math> -->
 
<!-- <math display="block"> FNR = P(prediction=-|actual=+) = \frac{FN}{TP+FN} </math> -->
 
[[File:FNR.JPG|1000x1000px|frameless|center]]
 
[[File:FNR.JPG|1000x1000px|frameless|center]]
* Tasa de verdaderos negativos (TNR): la fracción de casos negativos que han sido predichos correctamente de entre todos los casos negativos. Representa la [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos negativos sean clasificados correctamente como tales, y viene dada por la fórmula:
+
* '''Tasa de verdaderos negativos (TNR)''': la fracción de casos negativos que han sido predichos correctamente de entre todos los casos negativos. Representa la [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos negativos sean clasificados correctamente como tales, y viene dada por la fórmula:
 
<!-- <math display="block"> TNR = P(prediction=-|actual=-) = \frac{TN}{TN+FP} </math> -->
 
<!-- <math display="block"> TNR = P(prediction=-|actual=-) = \frac{TN}{TN+FP} </math> -->
 
[[File:TNR.JPG|1000x1000px|frameless|center]]
 
[[File:TNR.JPG|1000x1000px|frameless|center]]
* 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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos negativos sean clasificados erróneamente como positivos, y viene dada por la fórmula:
+
* '''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 [[wikipedia:teoría de la probabilidad | probabilidad]] de que los sujetos negativos sean clasificados erróneamente como positivos, y viene dada por la fórmula:
 
<!-- <math display="block"> FPR = P(prediction=+|actual=-) = \frac{FP}{TN+FP} </math> -->
 
<!-- <math display="block"> FPR = P(prediction=+|actual=-) = \frac{FP}{TN+FP} </math> -->
 
[[File:FPR.JPG|1000x1000px|frameless|center]]
 
[[File:FPR.JPG|1000x1000px|frameless|center]]
  
== Other fairness criteria ==
+
== Otros criterios de equidad ==
  
[[File: relacionesIngles.JPG|250x400px|frame|50px|Relationship between fairnes criteria as shown in Barocas et al.<ref name="Barocas"/>]]
+
[[File: relacionesEsp.JPG|250x400px|frame|50px|Relación entre los criterios de equidad como se muestra en Barocas y otros.<ref name="Barocas"/>]]
The following criteria can be understood as measures of the three definitions given on the first section, or a relaxation of them. In the table<ref name="Barocas"/> to the right we can see the relationships between them.
+
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 <ref name="Barocas"/> de la derecha podemos ver cómo se relacionan.
  
To define this measures specifically, we will divide them into three big groups as done in Verma et al.<ref name="metrics_paper"/>: definitions based on predicted outcome, on predicted and actual outcomes, and definitions based on predicted probabilities and actual outcome.
+
Para definir estas métricas específicamente, se dividen en tres grandes grupos como en el trabajo de Verma y otros.<ref name="metrics_paper"/>: definiciones basadas en el resultado predicho, en el resultado predicho y el real, y definiciones basadas en las probabilidades predichas y el resultado real.
  
We will be working with a binary classifier and the folowing notation: <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] refers to the score given by the classifier, which is the probability of a certain subject to be in the positive or the negative class.<!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] represents the final classification predicted by the algorithm, and its value is usually derived from <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]], for example will be positive when <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] is above a certain threshold.<!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] represents the actual outcome, that is, the real classification of the individual and, finally, <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] denotes the sensitive attributes of the subjects.
+
En la siguiente sección se trbaja con un clasificador binario y la siguiente notación: <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] 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.<!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] representa la clasificación final predicha por el algoritmo, y su valor es comunmente derivado de <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]], por ejemplo será positivo cuando <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] esté por encima de cierto valor.<!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] representa el resultado real, es decir, la clasificación real del sujeto y, finalmente, <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] denota las variables protegidas del sujeto.
  
=== Definitions based on predicted outcome ===
+
=== Definiciones basadas en el resultado predicho ===
  
The definitions in this section focus on a predicted outcome <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] for various distributions of subjects. They are the simplest and most intuitive notions of fairness.
+
Las definiciones en estas secciones se centran en el resultado predicho <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] para varias distribuciones de sujetos. Son las nociones más simples e intuitivas de equidad.
  
* '''Group fairness''', also referred to as '''statistical parity''', '''demographic parity''', '''acceptance rate''' and '''benchmarking'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have equal probability of being assigned to the positive predicted class. This is, if the following formula is satisfied:
+
* '''''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:
 
<!-- <math display="block"> P(R = +|A = a) = P(R = +|A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = +|A = a) = P(R = +|A = b) \quad \forall a,b \in A </math> -->
 
[[File: group_fairness.JPG|1000x1000px|frameless|center]]
 
[[File: group_fairness.JPG|1000x1000px|frameless|center]]
  
* '''Conditional statistical parity'''. Basically consists in the definition above, but restricted only to a subset of the attributes. With mathematical notation this would be:
+
* '''''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:
 
<!-- <math display="block"> P(R = +|L = l, A = a) = P(R = +|L = l, A = b) \quad \forall a,b \in A \quad \forall l \in L </math> -->
 
<!-- <math display="block"> P(R = +|L = l, A = a) = P(R = +|L = l, A = b) \quad \forall a,b \in A \quad \forall l \in L </math> -->
 
[[File: definitions1.JPG|1000x1000px|frameless|center]]
 
[[File: definitions1.JPG|1000x1000px|frameless|center]]
  
=== Definitions based on predicted and actual outcomes ===
+
=== Definiciones basadas en el resultado predicho y el real ===
  
This definitions not only consider de predicted outcome <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] but also compare it to the actual outcome <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]].
+
Estas definiciones no sólo consideran el resultado predicho <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] pero también lo comparan con el resultado real <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]].
  
* '''Predictive parity''', also referred to as '''outcome test'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have equal PPV. This is, if the following formula is satisfied:
+
* '''''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:
 
<!-- <math display="block"> P(Y = + | R = +, A = a) = P(Y = + | R = +, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(Y = + | R = +, A = a) = P(Y = + | R = +, A = b) \quad \forall a,b \in A </math> -->
 
[[File: predictive_parity.JPG|1000x1000px|frameless|center]]
 
[[File: predictive_parity.JPG|1000x1000px|frameless|center]]
: Mathematically, if a classifier has equal PPV for both groups, it will also have equal FDR, satisfying the formula:
+
: Matemáticamente, si un clasificador tiene el mismo PPV para ambos grupos, también tiene el mismo FDR, satisfaciendo la fórmula:
 
<!-- <math display="block"> P(Y = - | R = +, A = a) = P(Y = - | R = +, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(Y = - | R = +, A = a) = P(Y = - | R = +, A = b) \quad \forall a,b \in A </math> -->
 
[[File: predictive_parity2.JPG|1000x1000px|frameless|center]]
 
[[File: predictive_parity2.JPG|1000x1000px|frameless|center]]
  
* '''False positive error rate balance''', also referred to as '''predictive equality'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have aqual FPR. This is, if the following formula is satisfied:
+
* '''''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:
 
<!-- <math display="block"> P(R = + | Y = -, A = a) = P(R = + | Y = -, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = + | Y = -, A = a) = P(R = + | Y = -, A = b) \quad \forall a,b \in A </math> -->
 
[[File: predictive_equality.JPG|1000x1000px|frameless|center]]
 
[[File: predictive_equality.JPG|1000x1000px|frameless|center]]
: Mathematically, if a classifier has equal FPR for both groups, it will also have equal TNR, satisfying the formula:
+
: Matemáticamente, si un clasificador tiene el mismo FPR para ambos grupos, también tiene el mismo TNR, satisfaciendo la fórmula:
 
<!-- <math display="block"> P(R = - | Y = -, A = a) = P(R = - | Y = -, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = - | Y = -, A = a) = P(R = - | Y = -, A = b) \quad \forall a,b \in A </math> -->
 
[[File: predictive_equality2.JPG|1000x1000px|frameless|center]]
 
[[File: predictive_equality2.JPG|1000x1000px|frameless|center]]
  
* '''False negative error rate balance''', also referred to as '''equal opportunity'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have equal FNR. This is, if the following formula is satisfied:
+
* '''''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:
 
<!-- <math display="block"> P(R = - | Y = +, A = a) = P(R = - | Y = +, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = - | Y = +, A = a) = P(R = - | Y = +, A = b) \quad \forall a,b \in A </math> -->
 
[[File: equal_opportunity.JPG|1000x1000px|frameless|center]]
 
[[File: equal_opportunity.JPG|1000x1000px|frameless|center]]
: Mathematically, if a classifier has equal FNR for both groups, ti will also have equal TPR, satisfying the formula:
+
: Matemáticamente, si un clasificador tiene el mismo FNR para ambos grupos, también tiene el mismo TPR, satisfaciendo la fórmula:
 
<!-- <math display="block"> P(R = + | Y = +, A = a) = P(R = + | Y = +, A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = + | Y = +, A = a) = P(R = + | Y = +, A = b) \quad \forall a,b \in A </math> -->
 
[[File: equal_opportunity2.JPG|1000x1000px|frameless|center]]
 
[[File: equal_opportunity2.JPG|1000x1000px|frameless|center]]
  
* '''Equalized odds''', also referred to as '''conditional procedure accuracy equality''' and '''disparate mistreatment'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have equal TPR and equal FPR, satisfying the formula:
+
* '''''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:
 
<!-- <math display="block"> P(R = + | Y = y, A = a) = P(R = + | Y = y, A = b) \quad y \in \{+,-\} \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = + | Y = y, A = a) = P(R = + | Y = y, A = b) \quad y \in \{+,-\} \quad \forall a,b \in A </math> -->
 
[[File: equalized_odds.JPG|1000x1000px|frameless|center]]
 
[[File: equalized_odds.JPG|1000x1000px|frameless|center]]
  
* '''Conditional use accuracy equality'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have equal PPV and equal NPV, satisfying the formula:
+
* '''''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:
 
<!-- <math display="block"> P(Y = y | R = y, A = a) = P(Y = y | R = y, A = b) \quad y \in \{+,-\} \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(Y = y | R = y, A = a) = P(Y = y | R = y, A = b) \quad y \in \{+,-\} \quad \forall a,b \in A </math> -->
 
[[File: conditional.JPG|1000x1000px|frameless|center]]
 
[[File: conditional.JPG|1000x1000px|frameless|center]]
  
* '''Overall accuracy equality'''. A classifier satisfies this definition if the subject in the protected and unprotected groups have equal prediction accuracy, that is, the probability of a subject from one class to be assigned to it. This is, if it satisfies the following formula:
+
* '''''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:
 
<!-- <math display="block"> P(R = Y , A = a) = P(R = Y | A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(R = Y , A = a) = P(R = Y | A = b) \quad \forall a,b \in A </math> -->
 
[[File: overall.JPG|1000x1000px|frameless|center]]
 
[[File: overall.JPG|1000x1000px|frameless|center]]
  
* '''Treatment equality'''. A classifier satisfies this definition if the subjects in the protected and unprotected groups have an equal ratio of FN and FP, satisfying the formula:  
+
* '''''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:
 
<!-- <math display="block"> \frac{FN_{A=a}}{FP_{A=a}} = \frac{FN_{A=b}}{FP_{A=b}} </math> -->
 
<!-- <math display="block"> \frac{FN_{A=a}}{FP_{A=a}} = \frac{FN_{A=b}}{FP_{A=b}} </math> -->
 
[[File: treatment.JPG|1000x1000px|frameless|center]]
 
[[File: treatment.JPG|1000x1000px|frameless|center]]
  
=== Definitions based on predicted probabilities and actual outcome ===
+
=== Definiciones basadas en las probabilidades predichas y el resultado real ===
  
These definitions are based in the actual outcome <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] and the predicted probability score <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]].
+
Estas definiciones se basan en el resultado real <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] y en la probabilidad predicha (la puntuación) <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]].
  
* '''Test-fairness''', also known as '''calibration''' or '''matching conditional frequencies'''. A classifier satisfies this definition if individuals with the same predicted probability score <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] have the same probability to be classified in the positive class when they belong to either the protected or the unprotected group:
+
* '''''Test-fairness''''', también conocido como '''''calibration''''' o '''''matching conditional frequencies'''''. Un clasificador satisface esta definición si individuos con la misma puntuación <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] tienen la misma probabilidad de ser clasificados en la clase positiva independientemente de si pertenecen a los grupos protegidos o no:
 
<!-- <math display="block"> P(Y = +|S = s,A = a) = P(Y = +|S = s,A = b) \quad \forall s \in S \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(Y = +|S = s,A = a) = P(Y = +|S = s,A = b) \quad \forall s \in S \quad \forall a,b \in A </math> -->
 
[[File: definitions2.JPG|1000x1000px|frameless|center]]
 
[[File: definitions2.JPG|1000x1000px|frameless|center]]
  
* '''Well-calibration'''. It's an extension of the previous definition. It states that when individuals inside or outside the protected group have the same predicted probability score <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] they must have the same probability of being classified in the positive class, and this probability must be equal to <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]]:
+
* '''''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 <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]] deben tener la misma probabilidad de ser clasificados en la clase positiva, y esta probabilidad debe ser igual a <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]]:
 
<!-- <math display="block"> P(Y = +|S = s,A = a) = P(Y = +|S = s,A = b) = s \quad \forall s \in S \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> P(Y = +|S = s,A = a) = P(Y = +|S = s,A = b) = s \quad \forall s \in S \quad \forall a,b \in A </math> -->
 
[[File: definitions3.JPG|1000x1000px|frameless|center]]
 
[[File: definitions3.JPG|1000x1000px|frameless|center]]
  
* '''Balance for positive class'''. A classifier satisfies this definition if the subjects constituting the positive class from both protected and unprotected groups have equal average predicted probability score <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]]. This means that the expected value of probability score for the protected and unprotected groups with positive actual outcome <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] is the same, satisfying the formula:
+
* '''''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 <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]]. Esto quiere decir que la [[wikipedia:es:Esperanza matemática | esperanza]] de la puntuación para los grupos protegidos y los no protegidos con clase real positiva <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] es la misma, satisfaciendo la fórmula:
 
<!-- <math display="block"> E(S|Y = +,A = a) = E(S|Y = +,A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> E(S|Y = +,A = a) = E(S|Y = +,A = b) \quad \forall a,b \in A </math> -->
 
[[File: balance_positive.JPG|1000x1000px|frameless|center]]
 
[[File: balance_positive.JPG|1000x1000px|frameless|center]]
  
* '''Balance for negative class'''. A classifier satisfies this definition if the subjects constituting the negative class from both protected and unprotected groups have equal average predicted probability score <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]]. This means that the expected value of probability score for the protected and unprotected groups with negative actual outcome <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] is the same, satisfying the formula:
+
* '''''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 <!-- <math display="inline"> S </math> --> [[File: S.JPG|1000x1000px|frameless|text-bottom]].Esto quiere decir que la [[wikipedia:es:Esperanza matemática | esperanza]] de la puntuación para los grupos protegidos y los no protegidos con clase real negativa <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] es la misma, satisfaciendo la fórmula:
 
<!-- <math display="block"> E(S|Y = -,A = a) = E(S|Y = -,A = b) \quad \forall a,b \in A </math> -->
 
<!-- <math display="block"> E(S|Y = -,A = a) = E(S|Y = -,A = b) \quad \forall a,b \in A </math> -->
 
[[File: balance_negative.JPG|1000x1000px|frameless|center]]
 
[[File: balance_negative.JPG|1000x1000px|frameless|center]]
Línea 186: Línea 194:
  
 
===Preprocesamiento===
 
===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 <!-- <math display="inline"> D </math> --> [[File: D.jpg|1000x1000px|frameless|text-bottom]] con respecto al grupo <!-- <math display="inline"> A = a </math> --> [[File: A_a.JPG|47x16px|framelesss|text-bottom]] se puede definir como sigue:
 +
<!-- <math display="block"> 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 \}|}</math> -->
 +
[[File: datasetDisc.JPG|1000x1000px|frameless|center]]
 +
 +
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 <!-- <math display="inline"> a </math> --> [[File: Aminus.JPG|16x26px|framelesss|text-bottom]] e igual a <!-- <math display="inline"> a </math> --> [[File: Aminus.JPG|16x26px|framelesss|text-bottom]].
  
 
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.
 
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.
Línea 230: Línea 244:
 
==== ''Adversarial debiasing'' <ref name="adversarial1"> Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, [https://arxiv.org/pdf/1801.07593.pdf ''Mitigating Unwanted Biases with Adversarial Learning'']. Consultado el 17 de diciembre de 2019</ref> <ref name="adversarial2"> Joyce Xu, [https://towardsdatascience.com/algorithmic-solutions-to-algorithmic-bias-aef59eaf6565 ''Algorithmic Solutions to Algorithmic Bias: A Technical Guide'']. Consultado el 17 de diciembre de 2019</ref> ====
 
==== ''Adversarial debiasing'' <ref name="adversarial1"> Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, [https://arxiv.org/pdf/1801.07593.pdf ''Mitigating Unwanted Biases with Adversarial Learning'']. Consultado el 17 de diciembre de 2019</ref> <ref name="adversarial2"> Joyce Xu, [https://towardsdatascience.com/algorithmic-solutions-to-algorithmic-bias-aef59eaf6565 ''Algorithmic Solutions to Algorithmic Bias: A Technical Guide'']. Consultado el 17 de diciembre de 2019</ref> ====
  
[[File:AdvFig1.JPG|200x150px|frame|50px|Interacción entre "predictor" y "adversario" como se muestra en Joyce Xu<ref name=adversarial2/>]]
+
[[File:AdvFig1.JPG|200x150px|frame|50px|Interacción entre ''predictor'' y ''adversario'' como se muestra en Joyce Xu<ref name=adversarial2/>]]
Se entrenan dos [[wikipedia:es:clasificación estadística | clasificadores]] al mismo tiempo con algún método basado en el gradiente (p.e.: [[wikipedia:Gradient descent | descenso de gradiente]]). El primero (el ''predictor'') intenta resolver el problema de predecir la variable objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] dada la entrada <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]], modificando sus pesos <!-- <math display="inline"> W </math> --> [[File: W.JPG|1000x1000px|frameless|text-bottom]] para minimizar una [[wikipedia:es:función de pérdida|función de pérdida]]  <!-- <math display="inline">L_{P}(\hat{y},y)</math> --> [[File: lpyy.JPG|1000x1000px|frameless]]. El segundo (el ''adversario'') intenta resolver el problema de predecir la variable sensible <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]], dado <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]] modificando sus pesos <!-- <math display="inline"> U </math> --> [[File: U.JPG|20x20px|frameless]] para minimizar otra función de pérdida <!-- <math display="inline">L_{P}(\hat{z},z) </math> --> [[File: lpzz.JPG|1000x1000px|frameless]].
+
Se entrenan dos [[wikipedia:es:clasificación estadística | clasificadores]] al mismo tiempo con algún método basado en el gradiente (p.e.: [[wikipedia:Gradient descent | descenso de gradiente]]). El primero (el ''predictor'') intenta resolver el problema de predecir la variable objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] dada la entrada <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]], modificando sus pesos <!-- <math display="inline"> W </math> --> [[File: W.JPG|1000x1000px|frameless|text-bottom]] para minimizar una [[wikipedia:es:función de pérdida|función de pérdida]]  <!-- <math display="inline">L_{P}(\hat{y},y)</math> --> [[File: lpyy.JPG|1000x1000px|frameless]]. El segundo (el ''adversario'') intenta resolver el problema de predecir la variable sensible <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]], dado <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]] modificando sus pesos <!-- <math display="inline"> U </math> --> [[File: U.JPG|20x20px|frameless]] para minimizar otra función de pérdida <!-- <math display="inline">L_{A}(\hat{a},a) </math> --> [[File: lpzz.JPG|1000x1000px|frameless]].
  
 
Una puntualización importante es que, para que se propague correctamente, la variable <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]] de arriba debe referirse a la salida en bruto del clasificador y no a la salida discreta; por ejemplo, con una [[wikipedia:es:red neuronal artificial|red neuronal artificial]] y un problema de clasificación <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]], se podría referir a la salida de la capa ''softmax''.
 
Una puntualización importante es que, para que se propague correctamente, la variable <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]] de arriba debe referirse a la salida en bruto del clasificador y no a la salida discreta; por ejemplo, con una [[wikipedia:es:red neuronal artificial|red neuronal artificial]] y un problema de clasificación <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless]], se podría referir a la salida de la capa ''softmax''.

Última revisión de 23:19 18 dic 2019

Versión en inglés: Fairness and bias correction in Machine Learning

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 [1]. 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. [2]
  • 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. [3]
  • En 2019, Google publica un conjunto de herramientas en Github para estudiar los efectos de la equidad a largo plazo. [4]

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[5]

En problemas de clasificación, un algoritmo aprende una función para predecir una característica discreta Y.JPG, la variable objetivo, a partir de unas características conocidas X.JPG. Modelizamos A.JPG como una variable aleatoria que codifica algunas características contenidas o implícitamente codificadas en X.JPG que consideramos características protegidas (género, etnia, orientación sexual, etc.). Por último, denotamos por R.JPG 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.JPG satisfacen la independencia si las características protegidas A.JPG son estadísticamente independientes a la predicción R.JPG, y escribimos RbotA.JPG.

También podemos expresar esta noción con la siguiente fórmula:

IndependenceDef.JPG

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

MutInf.JPG

En esta fórmula, H.JPG es la entropía de la variable estadística. Entonces R,A.JPG satisface independencia si I(R,A).JPG.

Una posible relajación de la definición de independencia pasa por la introducción de una variable positiva EpsMq0.JPG, y viene dada por la fórmula:

IndependenceRel1.JPG

Por último, otra posible relajación pasa por requerir IndependenceRel2.JPG.

Separación

Decimos que las variables aleatorias R,A,Y.JPG satisfacen la separación si las características protegidas A.JPG son estadísticamente independientes a la predicción R.JPG dado el valor objetivo Y.JPG, y escribimos RbotAbarY.JPG.

También podemos expresar esta noción con la siguiente fórmula:

SeparationDef.JPG

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:

SeparationDef1.JPG
SeparationDef2.JPG

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 EpsMq0.JPG, en lugar de igual a cero.

Suficiencia

Decimos que las variables aleatorias R,A,Y.JPG satisface la suficiencia si las características protegidas A.JPG son estadísticamente independientes al valor objetivo Y.JPG dada la predicción R.JPG, y escribimos YbotAbarR.JPG.

También podemos expresar esta noción con la siguiente fórmula:

SufficiencyDef.JPG

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:

Métricas [6]

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:
Matriz de confusión
  • 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.JPG
  • 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.JPG
  • 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.JPG
  • 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.JPG
  • 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.JPG
  • 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.JPG
  • 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.JPG
  • 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.JPG

Otros criterios de equidad

Relación entre los criterios de equidad como se muestra en Barocas y otros.[5]

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 [5] 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.[6]: 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 trbaja con un clasificador binario y la siguiente notación: S.JPG 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.JPG representa la clasificación final predicha por el algoritmo, y su valor es comunmente derivado de S.JPG, por ejemplo será positivo cuando S.JPG esté por encima de cierto valor. Y.JPG representa el resultado real, es decir, la clasificación real del sujeto y, finalmente, A.JPG denota las variables protegidas del sujeto.

Definiciones basadas en el resultado predicho

Las definiciones en estas secciones se centran en el resultado predicho R.JPG 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:
Group fairness.JPG
  • 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:
Definitions1.JPG

Definiciones basadas en el resultado predicho y el real

Estas definiciones no sólo consideran el resultado predicho R.JPG pero también lo comparan con el resultado real Y.JPG.

  • 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:
Predictive parity.JPG
Matemáticamente, si un clasificador tiene el mismo PPV para ambos grupos, también tiene el mismo FDR, satisfaciendo la fórmula:
Predictive parity2.JPG
  • 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:
Predictive equality.JPG
Matemáticamente, si un clasificador tiene el mismo FPR para ambos grupos, también tiene el mismo TNR, satisfaciendo la fórmula:
Predictive equality2.JPG
  • 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:
Equal opportunity.JPG
Matemáticamente, si un clasificador tiene el mismo FNR para ambos grupos, también tiene el mismo TPR, satisfaciendo la fórmula:
Equal opportunity2.JPG
  • 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:
Equalized odds.JPG
  • 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:
Conditional.JPG
  • 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:
Overall.JPG
  • 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:
Treatment.JPG

Definiciones basadas en las probabilidades predichas y el resultado real

Estas definiciones se basan en el resultado real Y.JPG y en la probabilidad predicha (la puntuación) S.JPG.

  • 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.JPG tienen la misma probabilidad de ser clasificados en la clase positiva independientemente de si pertenecen a los grupos protegidos o no:
Definitions2.JPG
  • 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.JPG deben tener la misma probabilidad de ser clasificados en la clase positiva, y esta probabilidad debe ser igual a S.JPG:
Definitions3.JPG
  • 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.JPG. Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real positiva Y.JPG es la misma, satisfaciendo la fórmula:
Balance positive.JPG
  • 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.JPG.Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real negativa Y.JPG es la misma, satisfaciendo la fórmula:
Balance negative.JPG

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.jpg con respecto al grupo framelesss se puede definir como sigue:

DatasetDisc.JPG

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 framelesss e igual a framelesss.

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 [7] 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. [8]

Reweighing [9]

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.jpg fuera no sesgado, la variable protegida A.JPG y la variable objetivo Y.JPG serían estadísticamente independientes y la probabilidad de la distribución conjunta sería el producto de las probabilidades de la siguiente manera:

Fairness formula 1.JPG

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:

Fairness formula 2.JPG

Para compensar el sesgo, se asignan mayores pesos a los puntos no favorecidos y menores a los favorecidos. Para cada X D.JPG obtenemos:

Fairness formula 3.JPG

Una vez tenemos asignado a cada X.JPG un peso asociado calculamos la discriminación ponderada con respecto al grupo framelesss de la siguiente manera:

Fairness formula 4.JPG

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.[10] 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.[8]

Adversarial debiasing [11] [12]

Interacción entre predictor y adversario como se muestra en Joyce Xu[12]

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.JPG dada la entrada X.JPG, modificando sus pesos W.JPG para minimizar una función de pérdida Lpyy.JPG. El segundo (el adversario) intenta resolver el problema de predecir la variable sensible A.JPG, dado Ygorro.JPG modificando sus pesos U.JPG para minimizar otra función de pérdida Lpzz.JPG.

Una puntualización importante es que, para que se propague correctamente, la variable Ygorro.JPG 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 Ygorro.JPG, se podría referir a la salida de la capa softmax.

A continuación, actualizamos U.JPG para minimizar LA.JPG en cada paso del entrenamiento según el gradiente Grad ula.JPG y modificamos W.JPG conforme a la expresión:

Fairness formula 5.JPG

donde Alpha.JPG es un hiperparámetro a elegir que puede variar en cada paso.

Representación gráfica de los vectores usados en adversarial debiasing como se muestra en Zhan y otros.[11]

La idea intuitiva consiste en que el predictor intente minimizar LP.JPG ((y de ahí el término Grad wlp.JPG) mientras, al mismo tiempo, maximice LA.JPG (y de ahí el término Alfa grad wla.JPG), de tal manera que el adversario fracase al predecir la variable sensible a partir de Ygorro.JPG.

El término Fairness formula 6.JPG 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 éste 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.[13]

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.[8]

Reject Option based Classification [14]

Dado un clasificador, sea Roc formula 1.JPG la probabilidad calculada por este de que el sujeto X.JPG pertenezca a la clase positiva. Cuando Roc formula 1.JPG sea cercano a 1 o 0, el sujeto X.JPG será clasificado, con un alto grado de seguridad, como perteneciente a la clase positiva o negativa respectivamente. Sin embargo, cuando Roc formula 1.JPG está más próximo a 0.5 la clasificación no está clara.

Decimos que X.JPG es un sujeto rechazado si Roc formula 2.JPG con cierto Theta.JPG tal que Roc formula 3.JPG.

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 ( Roc formula 3.JPG) entonces clasificarla como positivo, en el otro caso, clasificarla como negativo.

Podemos optimizar diferentes medidas de discriminación como funciones de Theta.JPG para encontrar el Theta.JPG óptimo para cada problema y evitar volvernos discriminatorios contra el grupo privilegiado.

References

  1. Moritz Hardt, Berkeley. Consultado el 18 de diciembre de 2019
  2. IBM AI Fairness 360. Consultado el 18 de diciembre de 2019
  3. Fairness Flow el detector de sesgos de Facebook. Consultado el 18 de diciembre de 2019
  4. ML-Fairness gym. Consultado el 18 de diciembre de 2019
  5. 5,0 5,1 5,2 Solon Barocas; Moritz Hardt; Arvind Narayanan, Fairness and Machine Learning. Consultado el 15 de diciembre de 2019.
  6. 6,0 6,1 Sahil Verma; Julia Rubin, Fairness Definitions Explained. Consultado el 15 de diciembre de 2019
  7. Richard Zemel; Yu (Ledell) Wu; Kevin Swersky; Toniann Pitassi; Cyntia Dwork, Learning Fair Representations. Consultado el 1 de Diciembre de 2019
  8. 8,0 8,1 8,2 Ziyuan Zhong, Tutorial on Fairness in Machine Learning. Consultado el 1 de Diciembre de 2019
  9. Faisal Kamiran; Toon Calders, Data preprocessing techniques for classification without discrimination. Consultado el 17 de Diciembre de 2019
  10. Muhammad Bilal Zafar; Isabel Valera; Manuel Gómez Rodríguez; Krishna P. Gummadi, Fairness Beyond Disparate Treatment & Disparate Impact: Learning Classification without Disparate Mistreatment. Consultado el 1 de Diciembre de 2019
  11. 11,0 11,1 Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, Mitigating Unwanted Biases with Adversarial Learning. Consultado el 17 de diciembre de 2019
  12. 12,0 12,1 Joyce Xu, Algorithmic Solutions to Algorithmic Bias: A Technical Guide. Consultado el 17 de diciembre de 2019
  13. Moritz Hardt; Eric Price; Nathan Srebro, Equality of Opportunity in Supervised Learning. Consultado el 1 de diciembre de 2019
  14. Faisal Kamiran; Asim Karim; Xiangliang Zhang, Decision Theory for Discrimination-aware Classification. Consultado el 17 de Diciembre de 2019