Diferencia entre revisiones de «Equidad y corrección de sesgos en Aprendizaje Automático»
(→MetricsSahil Verma; Julia Rubin, Fairness Definitions Explained. Retrieved 15 December 2019) |
(/* 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 46 ediciones intermedias de 4 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, | + | 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> == |
− | + | En problemas de [[wikipedia:es:clasificación estadística | clasificación]], un algoritmo aprende una función para predecir una característica discreta <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]], la variable objetivo, a partir de unas características conocidas <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]]. Modelizamos <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] como una [[wikipedia:es:variable aleatoria | variable aleatoria]] que codifica algunas características contenidas o implícitamente codificadas en <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]] que consideramos características protegidas (género, etnia, orientación sexual, etc.). Por último, denotamos por <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] 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 [[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: | ||
<!-- <math display="block"> P(R = r | A = a) = P(R = r | A = b) \quad \forall r \in R \quad \forall a,b \in A </math> --> | <!-- <math display="block"> P(R = r | A = a) = P(R = r | A = b) \quad \forall r \in R \quad \forall a,b \in A </math> --> | ||
[[File: IndependenceDef.JPG|1000x1000px|frameless|center]] | [[File: IndependenceDef.JPG|1000x1000px|frameless|center]] | ||
− | + | Esto significa que la [[wikipedia:es:teoría de la probabilidad | 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 [[wikipedia:es:información mutua | información mutua]] entre [[wikipedia:es:variable aleatoria | variables aleatorias]], definida como | |
<!-- <math display="block"> I(X,Y) = H(X) + H(Y) - H(X,Y) </math> --> | <!-- <math display="block"> I(X,Y) = H(X) + H(Y) - H(X,Y) </math> --> | ||
[[File:MutInf.JPG|1000x1000px|frameless|center]] | [[File:MutInf.JPG|1000x1000px|frameless|center]] | ||
− | + | En esta fórmula, <!-- <math display="inline"> H </math> --> [[File: H.JPG|1000x1000px|frameless|text-bottom]] es la [[wikipedia:es:entropía |entropía]] de la [[wikipedia:es:variable estadística | variable estadística]]. Entonces <!-- <math display="inline"> (R,A) </math> --> [[File: R,A.JPG|1000x1000px|frameless]] satisface independencia si <!-- <math display="inline"> I(R,A) = 0 </math> --> [[File: I(R,A).JPG|1000x1000px|frameless]]. | |
− | + | Una posible relajación de la definición de independencia pasa por la introducción de una variable positiva <!-- <math display="inline> \epsilon > 0 </math> --> [[File: EpsMq0.JPG|1000x1000px|frameless]], y viene dada por la fórmula: | |
<!-- <math diplay="block"> P(R = r | A = a) \geq P(R = r | A = b) - \epsilon \quad \forall r \in R \quad \forall a,b \in A </math> --> | <!-- <math diplay="block"> P(R = r | A = a) \geq P(R = r | A = b) - \epsilon \quad \forall r \in R \quad \forall a,b \in A </math> --> | ||
[[File: IndependenceRel1.JPG|1000x1000px|frameless|center]] | [[File: IndependenceRel1.JPG|1000x1000px|frameless|center]] | ||
− | + | Por último, otra posible relajación pasa por requerir <!-- <math display="inline"> I(R,A) \leq \epsilon </math> --> [[File:IndependenceRel2.JPG|1000x1000px|frameless]]. | |
− | === | + | === 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]]. | |
− | + | También podemos expresar esta noción con la siguiente fórmula: | |
<!-- <math display="block"> 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 </math> --> | <!-- <math display="block"> 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 </math> --> | ||
[[File: SeparationDef.JPG|1000x1000px|frameless|center]] | [[File: SeparationDef.JPG|1000x1000px|frameless|center]] | ||
− | + | Esto significa que la [[wikipedia:es:teoría de la probabilidad | 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 [[wikipedia:es: sensibilidad y especificidad (estadística) | tasa de verdaderos positivos]] y la [[wikipedia:es: sensibilidad y especificidad (estadística) | tasa de falsos positivos]] sean iguales (y por tanto la [[wikipedia:es: sensibilidad y especificidad (estadística) | tasa de falsos negativos]] y la [[wikipedia:es: sensibilidad y especificidad (estadística) | tasa de verdaderos negativos]] también lo sean) para cada valor de las características protegidas: | |
<!-- <math display="block"> P(R = 1 | Y = 1, A = a) = P(R = 1 | Y = 1, A = b) \quad \forall a,b \in A </math> --> | <!-- <math display="block"> P(R = 1 | Y = 1, A = a) = P(R = 1 | Y = 1, A = b) \quad \forall a,b \in A </math> --> | ||
[[File: SeparationDef1.JPG|1000x1000px|frameless|center]] | [[File: SeparationDef1.JPG|1000x1000px|frameless|center]] | ||
Línea 43: | Línea 51: | ||
[[File: SeparationDef2.JPG|1000x1000px|frameless|center]] | [[File: SeparationDef2.JPG|1000x1000px|frameless|center]] | ||
− | + | 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 <!-- <math display="inline> \epsilon > 0 </math> --> [[File: EpsMq0.JPG|1000x1000px|frameless]], en lugar de igual a cero. | |
− | === | + | === 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]]. | |
− | + | También podemos expresar esta noción con la siguiente fórmula: | |
<!-- <math display="block"> 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 </math> --> | <!-- <math display="block"> 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 </math> --> | ||
[[File: SufficiencyDef.JPG|1000x1000px|frameless|center]] | [[File: SufficiencyDef.JPG|1000x1000px|frameless|center]] | ||
− | + | Esto significa que la [[wikipedia:es:teoría de la probabilidad | 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 <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] y <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] no son [[wikipedia:es:Independencia (probabilidad)|estadísticamente independientes]], entonces la suficiencia y la independencia no pueden darse a la vez. |
− | * | + | * Asumiendo que <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] es binaria, si <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] y <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] no son [[wikipedia:es:Independencia (probabilidad)|estadísticamente independientes]], y <!-- <math display="inline"> R </math> --> [[File: R.JPG|1000x1000px|frameless|text-bottom]] y <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] tampoco son [[wikipedia:es:Independencia (probabilidad)|estadísticamente independientes]], entonces la independencia y la separación no pueden darse a la vez. |
− | * | + | * Si <!-- <math display="inline">(R,A,Y)</math> --> [[File: R,A,Y.JPG|1000x1000px|frameless]] como [[wikipedia:es:distribución conjunta | distribución conjunta]] tiene [[wikipedia:es:teoría de la probabilidad | probabilidad]] positiva para todos sus posibles valores y <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] y <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] no son [[wikipedia:es:independencia (probabilidad)|estadísticamente independientes]], entonces la separación y la suficiencia no pueden darse a la vez. |
− | ==Métricas<ref name="metrics_paper">Sahil Verma; Julia Rubin, [https://fairware.cs.umass.edu/papers/Verma.pdf ''Fairness Definitions Explained'']. Consultado 15 | + | == Métricas <ref name="metrics_paper">Sahil Verma; Julia Rubin, [https://fairware.cs.umass.edu/papers/Verma.pdf ''Fairness Definitions Explained'']. Consultado el 15 de diciembre de 2019</ref> == |
− | 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| | + | 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]] | ||
− | == | + | == Otros criterios de equidad == |
− | [[File: | + | [[File: relacionesEsp.JPG|250x400px|frame|50px|Relación entre los criterios de equidad como se muestra en Barocas y otros.<ref name="Barocas"/>]] |
− | + | 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. | |
− | + | 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. | |
− | + | 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. | |
− | === | + | === Definiciones basadas en el resultado predicho === |
− | + | 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''', | + | * '''''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'''. | + | * '''''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]] | ||
− | === | + | === Definiciones basadas en el resultado predicho y el real === |
− | + | 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''', | + | * '''''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]] | ||
− | : | + | : 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''', | + | * '''''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]] | ||
− | : | + | : 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''', | + | * '''''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]] | ||
− | : | + | : 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''', | + | * '''''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'''. | + | * '''''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'''. | + | * '''''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'''. | + | * '''''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]] | ||
− | === | + | === Definiciones basadas en las probabilidades predichas y el resultado real === |
− | + | 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''', | + | * '''''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''' | + | * '''''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'''. | + | * '''''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'''. | + | * '''''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]] | ||
− | == | + | ==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 <!-- <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. | ||
+ | |||
+ | 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 <ref name="zemel"> Richard Zemel; Yu (Ledell) Wu; Kevin Swersky; Toniann Pitassi; Cyntia Dwork, [https://www.cs.toronto.edu/~toni/Papers/icml-final.pdf ''Learning Fair Representations'']. Consultado el 1 de Diciembre de 2019</ref> 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. <ref name="datascience"> Ziyuan Zhong, [https://towardsdatascience.com/a-tutorial-on-fairness-in-machine-learning-3ff8ba1040cb ''Tutorial on Fairness in Machine Learning'']. Consultado el 1 de Diciembre de 2019</ref> | |
− | + | ==== ''Reweighing'' <ref name="reweighing"> Faisal Kamiran; Toon Calders, [https://link.springer.com/content/pdf/10.1007%2Fs10115-011-0463-8.pdf ''Data preprocessing techniques for classification without discrimination'']. Consultado el 17 de Diciembre de 2019</ref> ==== | |
− | + | 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 <!-- <math display="inline"> D </math> --> [[File: D.jpg|1000x1000px|frameless|text-bottom]] fuera no sesgado, la variable protegida <!-- <math display="inline"> A </math> --> [[File: A.JPG|1000x1000px|frameless|text-bottom]] y la variable objetivo <!-- <math display="inline"> Y </math> --> [[File: Y.JPG|1000x1000px|frameless|text-bottom]] serían [[wikipedia:es:independencia (probabilidad) | estadísticamente independientes]] y la probabilidad de la [[wikipedia:es:distribución conjunta|distribución conjunta]] sería el producto de las probabilidades de la siguiente manera: | |
− | |||
<!-- <math display="block"> 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|}</math> --> | <!-- <math display="block"> 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|}</math> --> | ||
[[File: fairness_formula_1.JPG|1000x1000px|frameless|center]] | [[File: fairness_formula_1.JPG|1000x1000px|frameless|center]] | ||
− | + | Sin embargo, en la vida real el conjunto de datos suele estar sesgado y las variables no son [[wikipedia:es:independencia (probabilidad) | estadísticamente independientes]] por lo que la probabilidad observada es: | |
<!-- <math display="block"> P_{obs}(A = a \wedge Y = +) = \frac{|\{X \in D | X(A) = a \wedge X(Y) = +\}|}{|D|} </math> --> | <!-- <math display="block"> P_{obs}(A = a \wedge Y = +) = \frac{|\{X \in D | X(A) = a \wedge X(Y) = +\}|}{|D|} </math> --> | ||
[[File: fairness_formula_2.JPG|1000x1000px|frameless|center]] | [[File: fairness_formula_2.JPG|1000x1000px|frameless|center]] | ||
− | + | Para compensar el sesgo, se asignan mayores pesos a los puntos no favorecidos y menores a los favorecidos. Para cada <!-- <math display="inline"> X \in D </math> --> [[File: X_D.JPG|1000x1000px|frameless]] obtenemos: | |
<!-- <math display="block"> W(X) = \frac{P_{exp}(A = X(A) \wedge Y = X(Y))}{P_{obs}(A = X(A) \wedge Y = X(Y))} </math> --> | <!-- <math display="block"> W(X) = \frac{P_{exp}(A = X(A) \wedge Y = X(Y))}{P_{obs}(A = X(A) \wedge Y = X(Y))} </math> --> | ||
[[File: fairness_formula_3.JPG|1000x1000px|frameless|center]] | [[File: fairness_formula_3.JPG|1000x1000px|frameless|center]] | ||
− | + | Una vez tenemos asignado a cada <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]] un peso asociado <!-- <math display="inline"> W(X) </math> --> calculamos la discriminación ponderada con respecto al grupo <!-- <math display="inline"> A = a </math> --> [[File: A_a.JPG|47x16px|framelesss|text-bottom]] de la siguiente manera: | |
<!-- <math display="block"> 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 \}} </math> --> | <!-- <math display="block"> 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 \}} </math> --> | ||
[[File: fairness_formula_4.JPG|1000x1000px|frameless|center]] | [[File: fairness_formula_4.JPG|1000x1000px|frameless|center]] | ||
− | + | 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.<ref name="zafar"> Muhammad Bilal Zafar; Isabel Valera; Manuel Gómez Rodríguez; Krishna P. Gummadi, [https://people.mpi-sws.org/~mzafar/papers/disparate_mistreatment.pdf ''Fairness Beyond Disparate Treatment & Disparate Impact: Learning Classification without Disparate Mistreatment'']. Consultado el 1 de Diciembre de 2019</ref> 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.<ref name="datascience"/> | |
− | ==== 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'']. | + | ==== ''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| | + | [[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_{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''. | |
− | + | A continuación, actualizamos <!-- <math display="inline"> U </math> --> [[File: U.JPG|20x20px|frameless]] para minimizar <!-- <math display="inline"> L_{A} </math> --> [[File: LA.JPG|24x21px|frameless]] en cada paso del entrenamiento según el [[wikipedia:es:gradiente|gradiente]] <!-- <math display="inline"> \nabla_{U}L_{A} </math> --> [[File: grad_ula.JPG|1000x1000px|frameless]] y modificamos <!-- <math display="inline"> W </math> --> [[File: W.JPG|1000x1000px|frameless|text-bottom]] conforme a la expresión: | |
<!-- <math display="block"> \nabla_{W}L_{P} - proj_{\nabla_{W}L_{A}}\nabla_{W}L_{P} - \alpha \nabla_{W}L_{A} </math> --> | <!-- <math display="block"> \nabla_{W}L_{P} - proj_{\nabla_{W}L_{A}}\nabla_{W}L_{P} - \alpha \nabla_{W}L_{A} </math> --> | ||
[[File: fairness_formula_5.JPG|1000x1000px|frameless|center]] | [[File: fairness_formula_5.JPG|1000x1000px|frameless|center]] | ||
− | + | donde <!-- <math display="alpha"> \alpha </math> --> [[File: Alpha.JPG|1000x1000px|frameless|text-bottom]] es un hiperparámetro a elegir que puede variar en cada paso. | |
+ | |||
+ | [[File:AdvFig2.JPG|100x150px|frame|50px|Representación gráfica de los vectores usados en ''adversarial debiasing'' como se muestra en Zhan y otros.<ref name=adversarial1/>]] | ||
− | + | La idea intuitiva consiste en que el ''predictor'' intente minimizar <!-- <math display="inline"> L_{P} </math> --> [[File: LP.JPG|1000x1000px|frameless]] ((y de ahí el término <!-- <math display="inline"> \nabla_{W}L_{P} </math> --> [[File: grad_wlp.JPG|1000x1000px|frameless]]) mientras, al mismo tiempo, maximice <!-- <math display="inline"> L_{A} </math> --> [[File: LA.JPG|24x21px|frameless]] (y de ahí el término <!-- <math display="inline"> - \alpha \nabla_{W}L_{A} </math> --> [[File: alfa_grad_wla.JPG|1000x1000px|frameless]]), de tal manera que el ''adversario'' fracase al predecir la variable sensible a partir de <!-- <math display="inline"> \hat{Y} </math> --> [[File: Ygorro.JPG|1000x1000px|frameless|text-bottom]]. | |
− | + | ||
− | + | El término <!-- <math display="inline"> -proj_{\nabla_{W}L_{A}}\nabla_{W}L_{P} </math> --> [[File: fairness_formula_6.JPG|1000x1000px|frameless]] 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 [[#Definiciones basadas en el resultado predicho | 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.<ref name="hardt"> Moritz Hardt; Eric Price; Nathan Srebro, [https://arxiv.org/pdf/1610.02413.pdf ''Equality of Opportunity in Supervised Learning'']. Consultado el 1 de diciembre de 2019</ref> | |
− | + | 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.<ref name="datascience"/> | |
− | ==== Reject Option based Classification | + | ==== ''Reject Option based Classification'' <ref name="roc"> Faisal Kamiran; Asim Karim; Xiangliang Zhang, [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.722.3030&rep=rep1&type=pdf ''Decision Theory for Discrimination-aware Classification'']. Consultado el 17 de Diciembre de 2019</ref> ==== |
− | + | Dado un [[wikipedia:es:clasificación estadística | clasificador]], sea <!-- <math display="inline"> P(+|X) </math> --> [[File: roc_formula_1.JPG|1000x1000px|frameless]] la probabilidad calculada por este de que el sujeto <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]] pertenezca a la clase positiva. Cuando <!-- <math display="inline"> P(+|X) </math> --> [[File: roc_formula_1.JPG|1000x1000px|frameless]] sea cercano a 1 o 0, el sujeto <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]] será clasificado, con un alto grado de seguridad, como perteneciente a la clase positiva o negativa respectivamente. Sin embargo, cuando <!-- <math display="inline"> P(+|X) </math> --> [[File: roc_formula_1.JPG|1000x1000px|frameless]] está más próximo a 0.5 la clasificación no está clara. | |
− | + | Decimos que <!-- <math display="inline"> X </math> --> [[File: X.JPG|1000x1000px|frameless|text-bottom]] es un ''sujeto rechazado'' si <!-- <math display="inline"> max(P(+|X), 1-P(+|X)) \leq \theta </math> --> [[File: roc_formula_2.JPG|1000x1000px|frameless]] con cierto <!-- <math display="inline"> \theta </math> --> [[File: Theta.JPG|1000x1000px|frameless|text-bottom]] tal que <!-- <math display="inline"> 0.5 < \theta < 1 </math> --> [[File: roc_formula_3.JPG|1000x1000px|frameless|text-bottom]]. | |
− | + | 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 (<!-- <math>X(A) = a</math> --> [[File: roc_formula_3.JPG|1000x1000px|frameless|text-bottom]]) entonces clasificarla como positivo, en el otro caso, clasificarla como negativo. | |
− | + | Podemos optimizar diferentes medidas de discriminación como funciones de <!-- <math display="inline"> \theta </math> --> [[File: Theta.JPG|1000x1000px|frameless|text-bottom]] para encontrar el <!-- <math display="inline"> \theta </math> --> [[File: Theta.JPG|1000x1000px|frameless|text-bottom]] óptimo para cada problema y evitar volvernos discriminatorios contra el grupo privilegiado. | |
== References == | == References == | ||
<references /> | <references /> |
Ú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.).
Contenido
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 , la variable objetivo, a partir de unas características conocidas . Modelizamos como una variable aleatoria que codifica algunas características contenidas o implícitamente codificadas en que consideramos características protegidas (género, etnia, orientación sexual, etc.). Por último, denotamos por 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 satisfacen la independencia si las características protegidas son estadísticamente independientes a la predicción , y escribimos .
También podemos expresar esta noción con la siguiente fórmula:
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
En esta fórmula, es la entropía de la variable estadística. Entonces satisface independencia si .
Una posible relajación de la definición de independencia pasa por la introducción de una variable positiva , y viene dada por la fórmula:
Por último, otra posible relajación pasa por requerir .
Separación
Decimos que las variables aleatorias satisfacen la separación si las características protegidas son estadísticamente independientes a la predicción dado el valor objetivo , y escribimos .
También podemos expresar esta noción con la siguiente fórmula:
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:
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 , en lugar de igual a cero.
Suficiencia
Decimos que las variables aleatorias satisface la suficiencia si las características protegidas son estadísticamente independientes al valor objetivo dada la predicción , y escribimos .
También podemos expresar esta noción con la siguiente fórmula:
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 y no son estadísticamente independientes, entonces la suficiencia y la independencia no pueden darse a la vez.
- Asumiendo que es binaria, si y no son estadísticamente independientes, y y tampoco son estadísticamente independientes, entonces la independencia y la separación no pueden darse a la vez.
- Si como distribución conjunta tiene probabilidad positiva para todos sus posibles valores y y no son estadísticamente independientes, entonces la separación y la suficiencia no pueden darse a la vez.
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:- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
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 [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: 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. representa la clasificación final predicha por el algoritmo, y su valor es comunmente derivado de , por ejemplo será positivo cuando esté por encima de cierto valor. representa el resultado real, es decir, la clasificación real del sujeto y, finalmente, denota las variables protegidas del sujeto.
Definiciones basadas en el resultado predicho
Las definiciones en estas secciones se centran en el resultado predicho 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:
- 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:
Definiciones basadas en el resultado predicho y el real
Estas definiciones no sólo consideran el resultado predicho pero también lo comparan con el resultado real .
- 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:
- Matemáticamente, si un clasificador tiene el mismo PPV para ambos grupos, también tiene el mismo FDR, satisfaciendo la fórmula:
- 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:
- Matemáticamente, si un clasificador tiene el mismo FPR para ambos grupos, también tiene el mismo TNR, satisfaciendo la fórmula:
- 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:
- Matemáticamente, si un clasificador tiene el mismo FNR para ambos grupos, también tiene el mismo TPR, satisfaciendo la fórmula:
- 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:
- 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:
- 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:
- 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:
Definiciones basadas en las probabilidades predichas y el resultado real
Estas definiciones se basan en el resultado real y en la probabilidad predicha (la puntuación) .
- Test-fairness, también conocido como calibration o matching conditional frequencies. Un clasificador satisface esta definición si individuos con la misma puntuación tienen la misma probabilidad de ser clasificados en la clase positiva independientemente de si pertenecen a los grupos protegidos o no:
- 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 deben tener la misma probabilidad de ser clasificados en la clase positiva, y esta probabilidad debe ser igual 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 . Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real positiva es la misma, satisfaciendo la fórmula:
- 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 .Esto quiere decir que la esperanza de la puntuación para los grupos protegidos y los no protegidos con clase real negativa es la misma, satisfaciendo la fórmula:
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 con respecto al grupo se puede definir como sigue:
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 e igual 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 [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 fuera no sesgado, la variable protegida y la variable objetivo serían estadísticamente independientes y la probabilidad de la distribución conjunta sería el producto de las probabilidades de la siguiente manera:
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:
Para compensar el sesgo, se asignan mayores pesos a los puntos no favorecidos y menores a los favorecidos. Para cada obtenemos:
Una vez tenemos asignado a cada un peso asociado calculamos la discriminación ponderada con respecto al grupo de la siguiente manera:
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]
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 dada la entrada , modificando sus pesos para minimizar una función de pérdida . El segundo (el adversario) intenta resolver el problema de predecir la variable sensible , dado modificando sus pesos para minimizar otra función de pérdida .
Una puntualización importante es que, para que se propague correctamente, la variable 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 , se podría referir a la salida de la capa softmax.
A continuación, actualizamos para minimizar en cada paso del entrenamiento según el gradiente y modificamos conforme a la expresión:
donde es un hiperparámetro a elegir que puede variar en cada paso.
La idea intuitiva consiste en que el predictor intente minimizar ((y de ahí el término ) mientras, al mismo tiempo, maximice (y de ahí el término ), de tal manera que el adversario fracase al predecir la variable sensible a partir de .
El término 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 la probabilidad calculada por este de que el sujeto pertenezca a la clase positiva. Cuando sea cercano a 1 o 0, el sujeto será clasificado, con un alto grado de seguridad, como perteneciente a la clase positiva o negativa respectivamente. Sin embargo, cuando está más próximo a 0.5 la clasificación no está clara.
Decimos que es un sujeto rechazado si con cierto tal que .
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 ( ) entonces clasificarla como positivo, en el otro caso, clasificarla como negativo.
Podemos optimizar diferentes medidas de discriminación como funciones de para encontrar el óptimo para cada problema y evitar volvernos discriminatorios contra el grupo privilegiado.
References
- ↑ Moritz Hardt, Berkeley. Consultado el 18 de diciembre de 2019
- ↑ IBM AI Fairness 360. Consultado el 18 de diciembre de 2019
- ↑ Fairness Flow el detector de sesgos de Facebook. Consultado el 18 de diciembre de 2019
- ↑ ML-Fairness gym. Consultado el 18 de diciembre de 2019
- ↑ 5,0 5,1 5,2 Solon Barocas; Moritz Hardt; Arvind Narayanan, Fairness and Machine Learning. Consultado el 15 de diciembre de 2019.
- ↑ 6,0 6,1 Sahil Verma; Julia Rubin, Fairness Definitions Explained. Consultado el 15 de diciembre de 2019
- ↑ Richard Zemel; Yu (Ledell) Wu; Kevin Swersky; Toniann Pitassi; Cyntia Dwork, Learning Fair Representations. Consultado el 1 de Diciembre de 2019
- ↑ 8,0 8,1 8,2 Ziyuan Zhong, Tutorial on Fairness in Machine Learning. Consultado el 1 de Diciembre de 2019
- ↑ Faisal Kamiran; Toon Calders, Data preprocessing techniques for classification without discrimination. Consultado el 17 de Diciembre de 2019
- ↑ 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,0 11,1 Brian Hu Zhang; Blake Lemoine; Margaret Mitchell, Mitigating Unwanted Biases with Adversarial Learning. Consultado el 17 de diciembre de 2019
- ↑ 12,0 12,1 Joyce Xu, Algorithmic Solutions to Algorithmic Bias: A Technical Guide. Consultado el 17 de diciembre de 2019
- ↑ Moritz Hardt; Eric Price; Nathan Srebro, Equality of Opportunity in Supervised Learning. Consultado el 1 de diciembre de 2019
- ↑ Faisal Kamiran; Asim Karim; Xiangliang Zhang, Decision Theory for Discrimination-aware Classification. Consultado el 17 de Diciembre de 2019