Cómo transformar una compañía (XI): Interpretación de modelos de Machine Learning

Santiago Rodríguez Sordo    2 diciembre, 2020
Modelos interpretables

La toma de decisiones en las compañías es un proceso continuo que define su comportamiento en todo momento, en todas las áreas y a todos los niveles. El proceso de transformación digital ayuda a la toma de decisiones apoyándose progresivamente en datos y en modelos predictivos de aprendizaje automático. De manera que una de las consecuencias directas del proceso de transformación digital es imprimir confianza a las decisiones basadas en criterios de negocio mediante datos.

Por ello, a pesar de la gran expectativa que presentan los últimos avances en Machine Learning, los sistemas que ayuden a la toma de decisiones deben ser confiables por expertos en el negocio. Esta «exploración de la confianza» se realiza en pruebas de concepto, y también en sistemas productivos, ya que acompañan a las predicciones realizadas con motivaciones basadas en datos.

El efecto de las decisiones

Todas las decisiones tienen consecuencias, así que los sistemas estimativos y predictivos deben ser confiables. Sin embargo las decisiones pueden tener diferentes impactos e implicaciones, de manera que cuando se utilizan modelos predictivos para apoyar una decisión, su peso o relevancia final final dependerá de la criticidad de la consecuencia.

Por ejemplo, no es lo mismo dar una estimación del precio de una vivienda, que la cantidad de un medicamento. En cada caso, la fiabilidad necesaria del modelo predictivo la marcará el experto de negocio.

Por esto, los modelos predictivos deben ser confiables y sopesar el valor de las métricas de precisión. Ya que, el efecto y responsabilidad de las decisiones tomadas a consecuencia de sistemas predictivos recae en la compañía. 

Figura 1: Cuanto más crítica sea la consecuencia de la decisión que apoya un modelo predictivo, mayor es la necesidad de confianza en el estimador
Figura 1: Cuanto más crítica sea la consecuencia de la decisión que apoya un modelo predictivo, mayor es la necesidad de confianza en el estimador (Ampliar imagen)

Modelo Confiable = Buenas métricas + Interpretable

Durante bastante tiempo, el éxito de Machine Learning ha estado fuera de toda duda. Hemos aprendido a conocer a nuestros clientes, a predecir un fraude o un churn, o a estimar el volumen de ventas de una campaña mejor que nunca antes. A la hora de evaluar un modelo predictivo nos fijábamos en métricas como Recall, Precission, Accuracy, RMSE u otros. Sin embargo, estas métricas agregadas, que son valores sueltos, pierden la sensibilidad necesaria en entornos cada vez más exigentes y detallados. Dada la repercusión y detalle que se exigen en algunos entornos, se necesitan herramientas que ayuden

Esta situación ha empezado a cambiar recientemente. Si hasta ahora resultaba suficiente con conocer la salida de un modelo de ML (p.ej., la probabilidad de que un cliente abandone la compañía), cada vez más surge la necesidad de acompañar con el por qué de esa salida (en nuestro ejemplo, qué factores son los que hacen que un determinado cliente abandone la compañía) o cómo se comporta el modelo en general a largo de las variables.

Interpretabilidad de modelos predictivos

Uno de los problemas de muchos modelos de predictivos utilizados actualmente, a pesar de ser realmente útiles, es que se basan en algoritmos complejos. La complejidad representa un problema ya que complica (e incluso imposibilita) entender que está pasando «dentro» del modelo. Este tipo de modelos se conocen como black-box models (o modelos de caja negra).

Esquemáticamente, el funcionamiento es el siguiente: el modelo recibe unos datos de entrada (input data) y proporciona unos datos de salida (predicciones o output data). Sin embargo, no conocemos los motivos que han llevado a nuestro modelo a realizar esas predicciones y no otras.

Interpretability is the degree to which a human can understand the cause of a decision.

Tim Miller, 2017

Es en este punto cuando surge el concepto de «interpretabilidad». No existe una definición matemática de interpretabilidad ni un consenso global sobre su significado en el contexto de ML. No obstante, se han llevado a cabo diferentes investigaciones al respecto.

Una posible definición podría ser la proporcionada por Miller (2017): la interpretabilidad es el grado según el cual un humano puede entender las causas de una determinada decisión. Doshi-Velez & Kim (2017) definen la interpretabilidad como la habilidad de explicar o presentar algo en términos entendibles para un humano.

Siguiendo estas definiciones, podemos considerar que un modelo será más interpretable cuanto más sencillas de entender sean las predicciones o decisiones tomadas por el mismo.

Importancia de la interpretabilidad de modelos de ML

Tomando una analogía médica, la estimación o predicción serían el tratamiento médico prescrito y la interpretabilidad el diagnóstico que ayuda a confiar en el tratamiento.

Existen multitud de factores por los cuales la interpretabilidad de un modelo de ML se ha convertido recientemente en un aspecto muy importante.

Curiosidad

El ser humano tiene una necesidad inherente de interpretar o entender todo lo que le rodea. Está en su ADN. No solo queremos saber que un determinado cliente va a abandonar la compañía, sino qué motivos le llevan a tomar esa decisión.

Inconsistencias

Continuamente, cuando sucede algo fuera de lo esperado, necesitamos dar una interpretación de qué ha ocurrido. Por ejemplo: si nuestro modelo de ML proporciona una predicción que va en contra de nuestro conocimiento previo o nuestra intuición, ¿la aceptamos sin más? Lo cierto es que cada vez más necesitamos entender por qué una predicción es distinta a la que esperábamos. No poder dar respuesta a esa pregunta genera insatisfacción.

Conocimiento

En muchas ocasiones, lo importante no es solo que un modelo sea más o menos preciso, sino el conocimiento que se pueda extraer de él. En nuestro ejemplo, no solo queremos que nuestro modelo sea capaz de predecir con precisión qué clientes son los más propensos a abandonar la compañía. Sino que además nos gustaría conocer los factores o causas que hay detrás de esa decisión. Esta información o ganancia de conocimiento es de vital importancia para las compañías hoy en día.

Sesgos y fairness

Si no se hace nada por evitarlo, es muy posible que un modelo de ML se vea afectado por bias o sesgos en sus predicciones. Estos sesgos pueden hacer que un modelo se convierta, por ejemplo, en un modelo racista o sexista en la toma de decisiones. Este tipo de modelos serían discriminatorios con respecto a grupos protegidos, lo cual iría en contra de lo que se conoce como fairness en Machine Learning. No obstante, cuanto más interpretable es un modelo, más fácil es corregir sus sesgos.

Privacidad

Es imprescindible que un modelo de ML mantenga la privacidad de los datos de los cuales aprende. Son diversos los trabajos de investigación que se han llevado a cabo a este respecto (e.g., Hardt & Talwar, 2009). Cuanto más interpretable sea un modelo, más sencillo será asegurar que la información sensible permanece protegida.

Auditoría de modelos

Un modelo de ML solo puede ser auditado cuando puede ser interpretado de algún modo. Si podemos disponer de una interpretación de una predicción errónea, podremos entender las causas que hay detrás de ese error. Y esto nos dará las claves necesarias para resolverlo.

Seguridad

Otro aspecto muy importante es la seguridad que debe proporcionar un modelo de ML. Un ejemplo muy claro podría ser el algoritmo de un coche autónomo como los desarrollados por Google o Tesla. Cuanto mejor podamos interpretar dicho algoritmo, más seguro será ese coche autónomo, ya que podríamos corregir posibles errores o decisiones equivocadas en el mismo.

Confianza y robustez

Para poder aplicar un modelo de ML en la vida real, debemos tener la confianza suficiente de que va a funcionar correctamente en este ambiente. Por ejemplo, saber si el modelo será capaz de generalizar correctamente ante nuevos datos y situaciones. Asimismo, es necesario que el modelo se comporte de manera robusta. Es decir, que ligeros cambios en los datos de entrada no provoquen grandes cambios en la salida. Un modelo interpretable generará más confianza y robustez que un modelo de caja negra.

Causalidad

Por último, debemos asegurarnos que nuestro modelo se basa en relaciones causales para aprender. Esto no siempre es así, lo que provoca que tengamos modelos erróneos que se basan en correlaciones espurias. De nuevo, un modelo interpretable permite diagnosticar más fácilmente este tipo de problemática.

Model Insights

Para añadir confianza en los modelos y dar respuesta a este tipo de preguntas, se ha desarrollado la herramienta Model Insights. Esta herramienta ayuda a explorar el modelo, permitiendo extraer un mayor número de insights que ayuden a entender mejor las predicciones del mismo.

Para entender mejor cual es la motivación detrás de Model Insights, profundicemos en como funciona un modelo de ML.

¿Qué es Model Insights?

Model Insights extrae la información interpretativa y explicativa más relevante de un modelo y genera un dashboard que ayuda a calibrar su confiabilidad. Este dashboard puede ser utilizado por áreas de negocio (e.g., Business Consultants) o por equipos técnicos analíticos (e.g., Data Scientists). De esta forma, el cliente puede conocer en mucha más profundidad cuál está siendo el funcionamiento del modelo. Y esto a su vez desemboca en la generación de insights muy valiosos para la toma de decisiones de la compañía.

Para generar el dashboard interactivo, Model Insights necesita:

  • Los datos que se han utilizado para entrenar el modelo (training data)
  • Los datos que se han utilizado para evaluar el modelo (test data)
  • El modelo entrenado

Una vez proporcionados estos tres requisitos, uno puede generar el dashboard de manera ágil, flexible y cómoda. Además, es posible customizar el dashboard dependiendo del contexto (p.ej., incluyendo un tipo de gráficos u otros).

Estos son algunos de los insights que se pueden generar con Model Insights y las técnicas utilizadas para ello.

Importancia de variables

La importancia de variables (feature importance) es un concepto sencillo de entender. No es más que una medida de como de importante o relevante para el modelo es una determinada feature a la hora de realizar la predicción.

La técnica más extendida actualmente para el cálculo de la importancia de variables se conoce como Permutation Feature Importance. La idea es simple: una feature se dice que es importante si tras permutar o mezclar sus valores aumenta el error del modelo. Esto significa que el modelo se basó en esta feature para realizar su predicción. En cambio, una feature no es importante si tras permutar sus valores, el error del modelo no se ve prácticamente alterado. En este caso, la interpretación es que el modelo no ha tenido en cuenta esta feature para realizar su predicción, y por tanto, no es una feature relevante.

Se han llevado a cabo diferentes trabajos en este campo. Un ejemplo es el estudio realizado por Fisher, Rudin & Dominici, 2018, en el que proponen una versión de la importancia de variables «agnóstica» al modelo.

Gracias a la herramienta Model Insights, el usuario puede ver de manera automática que features son las más relevantes para el modelo, independientemente del algoritmo utilizado. Además, dependiendo del problema en cuestión, puede decidir cuantas variables desea mostrar en el gráfico de feature importance.

Figura 2: Top 5 variables más importantes en el modelo
Figura 2: Top 5 variables más importantes en el modelo (Ampliar imagen)

En este ejemplo clásico de predicción de la probabilidad de supervivencia en el Titanic, vemos como las 5 variables más importantes para el modelo proporcionado son isMale, pclass, fare, age, C. Además, en este gráfico podemos observar la importancia relativa de unas variables frente a otras.

Gráficos de dependencia parcial

Los gráficos de dependencia parcial (partial dependence plots o PDPs) muestran el efecto marginal de una o dos variables sobre la salida del modelo (J.H. Friedman, 2001). Este tipo de gráficos permiten estudiar cual es la relación entre la variable objetivo (target) y una determinada feature. De esta manera, uno puede, no solo conocer si esa variable es importante o no para el modelo, sino observar cual es el efecto que esa feature tiene sobre la predicción.

Con Model Insights se pueden generar este tipo de gráficos de manera muy sencilla. Por un lado, tendríamos los PDPs de una sola feature. Automáticamente, Model Insights te muestra cual es el PDP de cada una de las features más importantes para el modelo (las mostradas en la Figura 1). Pero el usuario tiene libertad de elegir cualquier feature sobre la cual quiere generar su PDP.

Figura 3: Variación del target (survived) con respecto a una de las variable más importantes, far
Figura 3: Variación del target (survived) con respecto a una de las variable más importantes, fare
(Ampliar imagen)

Además, este tipo de gráficos son interactivos, lo que permite al usuario analizar los resultados de una manera muy ágil.

Por otro lado, tendríamos los PDPs de dos features. En este caso, Model Insights genera PDPs de dos features que muestran cual es el efecto marginal que esas dos features tiene sobre el target. Por defecto, Model Insights muestra todas las posibles combinaciones (por pares) de las variables más importantes para el modelo. Pero de nuevo, el usuario tiene libertad para elegir sobre que dos features quiere generar su PDP.

Figura 4: Variación del target (survived) con respecto a dos de las variables más importantes, fare y isMale
Figura 4: Variación del target (survived) con respecto a dos de las variables más importantes, fare y isMale (Ampliar imagen)

Este tipo de gráficos se generan después de que el modelo haya sido entrenado. La ventaja principal de esto, es que uno puede estudiar los PDPs tanto para los valores reales del target, como para los predichos por el modelo. Y seguidamente compararlos. De tal manera que es posible valorar, no solo cómo de bien está funcionando el modelo, sino en qué intervalos o rangos de una determinada feature el modelo es más preciso, o por el contrario, tiene más incertidumbre.

Explicación individual de muestras

Una pregunta que surge a menudo cuando hacemos predicciones con un modelo de ML es: ¿por qué para esta muestra en particular, el modelo predice este valor y no otro distinto? En casos de regresión, se trata de un número. En casos de clasificación, una clase. Pero no tenemos una respuesta exacta al por qué de la predicción.

Cada día se hace más necesario poder dar una respuesta a este tipo de preguntas. Son numerosos los ámbitos en los que tener una interpretación de los resultados es cada día más importante: desde la medicina, a la detección de fraude, o a la asignación de un crédito bancario.

Para satisfacer esta necesidad, en Model Insights hemos hecho uso de las técnicas más avanzadas en este campo para poder dar una explicación de las predicciones de un modelo de ML a nivel individual o local (esto es, muestra a muestra).

SHAP values

Una de las técnicas de explicación de muestras individuales hace uso de los conocidos como SHAP values (SHapley Additive exPlanation). Mediante estos SHAP values, es posible determinar el impacto que ha tenido cada feature en el valor final de la predicción para esa muestra (ya sea un número o una clase).

Sin entrar en mucho detalle, los SHAP values tienen su origen en el trabajo realizado por Shapley en 1953. En este trabajo, basado en la teoría de juegos, se utilizan los SHAP values (o Shapley values) para determinar cuánto ha contribuido cada jugador a su éxito en un juego colaborativo.

Con Model Insights es posible generar diferentes gráficos que hacen uso de los SHAP values. Un ejemplo de ellos es el force plot o gráfico de fuerzas.

Figura 5: Impacto de los valores de las variables en la predicción para una muestra individual
Figura 5: Impacto de los valores de las variables en la predicción para una muestra individual (Ampliar imagen)

En este ejemplo de gráfico de fuerzas es posible observar cual es la contribución que cada feature tiene sobre la predicción final. En rojo aquellas features con impacto positivo (i.e., aumentan el valor de la predicción), y en azul aquellas features con un impacto negativo (i.e., disminuyen el valor de la predicción).

LIME

Otra de las técnicas de explicación de muestras individuales más avanzadas actualmente hace uso de los llamados modelos surrogados. En particular, los modelos surrogados locales son modelos interpretables que se utilizan para explicar las predicciones individuales de los modelos de ML de caja negra (black-box models). La idea detrás de estos modelos surrogados es entrenar un modelo interpretable que sea capaz de estimar las predicciones del modelo original.

Una de las herramientas utilizadas para generar estos modelos surrogados locales es LIME (Local Interpretable Model-Agnostic Explanations). Dado que nuestro interés es proporcionar una explicación de una muestra individual (esto es, a nivel local), el modelo surrogado no tiene por qué ser una buena aproximación del modelo original a nivel global. Por el contrario, el modelo aprendido debe ser una buena aproximación de las predicciones del modelo original a nivel local. Esto es lo que se conoce como fidelidad local (o local fidelity).

Con Model Insights es posible también generar gráficos de LIME para explicación de muestras individuales.

Figura 6: Impacto de los valores de las variables en la predicción para una muestra individual
Figura 6: Impacto de los valores de las variables en la predicción para una muestra individual (Ampliar imagen)

Al igual que en el gráfico de fuerzas, en el gráfico de LIME es posible observar qué contribución tiene cada feature sobre la predicción final. Se muestran en rojo aquellas features con impacto positivo (i.e., aumentan el valor de la predicción), y en azul aquellas features con un impacto negativo (i.e., disminuyen el valor de la predicción).

Los resultados obtenidos con SHAP y LIME son complementarios y se basan en estrategias distintas. A pesar de ello, ambas forman parte de las técnicas más avanzadas a día de hoy en esta materia. Model Insights facilita así enormemente la generación de explicaciones locales de un modelo de ML.

Conclusión

Con el aumento de la complejidad de los modelos predictivos y la repercusión de sus decisiones cada vez es más necesario aumentar y mejorar la confianza en los modelos predictivos de Machine Learning. Por ello, la interpretabilidad de modelos de ML es una necesidad que ha llegado para quedarse y Model Insights ha dado un paso más en esta línea simplificando la complejidad para calibrar cuán confiables son nuestros modelos.

Lee todos los posts de la serie «Cómo transformar una compañía» aquí.

Para mantenerte al día con LUCA visita nuestra página web suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *