Creo que todos estamos de acuerdo con la idea de que Machine Learning ha mejorado enormemente los productos de tecnología y, por lo tanto, el bienestar de todos nosotros. Sin embargo, las compañías e investigadores que trabajan en Aprendizaje automático enfrentan un gran desafío: evitar el desarrollo de “algoritmos de caja negra” .
Los algoritmos de caja negra pueden definirse libremente como algoritmos cuya salida no es fácil de interpretar o no es interpretable en total. Lo que significa que obtiene una salida de una entrada pero no entiende por qué. Por no mencionar el refuerzo por parte de GDPR del “ derecho a la explicación “, evitar los algoritmos de caja negra es una cuestión de transparencia y responsabilidad, dos valores que cualquier empresa debería esforzarse.
Con eso en mente, una muy buena idea. La herramienta que recientemente pude explorar fue SHAP, que significa SHapley Additive ExPlanations .
¿Qué es SHAP?
Este framework permite que cualquier algoritmo de Aprendizaje Automático sea esencialmente “explicado” “Al proporcionar visualizaciones intuitivas e interactivas que apuntan a mostrar qué características son más relevantes para una determinada predicción y para el modelo en su conjunto.
No me sumergiré demasiado en la parte teórica: el equipo de investigación de UWashington está detrás de SHAP. Explíquelo en su NIPS paper pero la idea básica es entrenar un modelo mucho más simple e interpretable (es decir, una regresión lineal o un árbol de decisión) sobre el mo originalmente entrenado. Del para que se aproxime a las predicciones originales. De esa manera, estas predicciones ahora se pueden explicar con un modelo más simple.
Quiero compartir con ustedes mi implementación del marco en un conjunto de datos abierto y qué tipo de explicaciones podemos esperar de él.
¿Qué enseña SHAP? us?
Empecé con el conjunto de datos de Boston (consulte el enlace para conocer el significado de las siglas). Este conjunto de datos contiene información recopilada por el Servicio del Censo de los EE. UU. Sobre viviendas en el área de Boston, donde la variable objetivo es el valor medio de la vivienda. Entrené a un alumno de XGBoost en este conjunto de datos con optimización de hiperparámetros usando GridSearch.
Ahora, echemos un vistazo a la salida de SHAP.
Explicación de predicciones
Este primer gráfico tiene como objetivo explicar las predicciones individuales. En este caso, seleccioné la primera muestra del conjunto de prueba. Podemos ver que el modelo predijo un valor promedio de 16.51 (16 510 $). Además, podemos ver qué funciones contribuyen a que ese valor sea más alto (rojo) o más bajo (azul). En este caso, LSTAT es igual a 4.98 y es la característica más definitoria que corrobora la variable objetivo, lo que significa que mejora el valor de predicción. Por otro lado, los valores de RM, NOX y DIS empujan la predicción hacia abajo.
Explicador del modelo
Este cuadro tiene el propósito de explicar el modelo en su totalidad. Básicamente, tiene todas las muestras trazadas en el eje x (en este caso, ordenadas por similitud, pero se pueden cambiar en el cuadro combinado) y sus valores de predicción se trazan en el eje y. Además, tiene las contribuciones individuales de cada característica para cada muestra, según el valor de la característica.
En este ejemplo, seleccioné el número de muestra 60 (eje x), que tiene un valor de predicción de 10.01 (eje y) y donde RM y LSTAT son las características más relevantes, aunque empujan la predicción hacia abajo. Sin embargo, al simplemente sobre otras muestras, es posible ver cómo cambian los valores de las características y su impacto, así como las predicciones.
Diagrama de dependencia
En esta tabla podemos ver cómo se relacionan dos características entre sí en términos de su impacto en el modelo (medido por el Valor SHAP que es una medida de la relevancia de la característica en el modelo). Los valores de SHAP también se pueden ver como impares: un valor de -2 significa que observar esa característica reduce las probabilidades de ganar en 2, donde “ganar” aquí solo significa tener una casa más cara.
En este caso, podemos ver para valores de RM por debajo de 7 (eje x), los valores SHAP (eje y) son virtualmente siempre negativos, lo que significa que los valores más bajos de esta característica empujan el valor de predicción hacia abajo. Además, si tiene un RM igual a 6, entonces puede tener un valor SHAP entre -2.5 y 0, dependiendo del valor de RAD. Esto significa que tener menos habitaciones (RM) es menos malo si también tiene una buena accesibilidad a las autopistas (RAD). Tenga en cuenta que esta dispersión vertical se reduce mucho con un RM por debajo de 5 y por encima de 7, lo que prueba que otras características (como RAD) pierden gran parte del impacto que tuvieron.
Gráfico de resumen
Estas dos gráficas muestran una visualización diferente de El mismo resultado, que es una evaluación general de la relevancia de las características en el modelo en su conjunto. El primer cuadro tiene información adicional, ya que considera la relevancia de la característica para cada predicción individual (representada como un punto). Además, para cada característica, muestra cómo un valor mayor o menor de esa característica influye en el hecho de que está de acuerdo o en desacuerdo con la predicción.
Como ejemplo, podemos ver que LSTAT es, con mucho, la característica más influyente, sea Positivamente o negativamente. En este caso, los valores más bajos de LSTAT parecen influir positivamente en la predicción. También podemos ver que la RM tiene el comportamiento opuesto: los valores más altos conducen a valores de predicción más altos.
Todo esto tiene sentido cuando consideramos el significado de las siglas. Se espera que un menor porcentaje de un menor estado de la población (LSTAT) y un mayor número de habitaciones (RM) conduzcan a casas más caras.
Envolviendo …
Realmente no hay nada como intentarlo, ¿verdad? Mi sugerencia: comience con un conjunto de datos abierto, tal vez una clasificación tal como el conjunto de datos de Iris adiestre un modelo adecuado y ejecute el marco.
SUGERENCIA: también, eche un vistazo a Scott Lundberg post en TDS, es uno de los creadores originales de SHAP