A la hora de poner un modelo de Machine Learning en producción hay que tener en cuenta varios requisitos. Normalmente se suele elegir el modelo con mejor rendimiento durante el proceso de evaluación, pero en según qué casos es necesario además entender las razones por las que el modelo toma una decisión. Esto puede aplicar tanto a problemas de clasificación, es decir, entender por qué el modelo elige una clase en concreto entre otras tantas; como a problemas de regresión en los que el valor a predecir es un número.
Machine Learning = Cajas Negras por….
Por Rodrigo Barbado
Founding Data Scientist at Calliper
El concepto de entender cómo está tomando decisiones un modelo se denomina interpretabilidad, y es un campo sobre el que cada vez se ha puesto más foco. No siempre es un requisito entender en qué se basan las decisiones de un modelo, pero siempre es aconsejable ya que esto puede arrojar información sobre posibles sesgos internos del propio modelo que no sean generalizables una vez lo utilicemos en producción. Sin embargo, en según qué sectores o aplicaciones, la interpretabilidad puede ser un requisito imprescindible para poder utilizar un modelo.
Como ejemplo, en el sector financiero podemos encontrarnos modelos de admisión de crédito en los cuales un cliente pide un préstamo y el modelo tiene que determinar si dicho cliente tiene capacidad de asumirlo. El modelo tiene que ser capaz de dar la razón por la que se toma la decisión final, por ejemplo: los ingresos son altos, el endeudamiento es bajo, el cliente tiene trabajo estable… Si por el contrario encontramos que una de las razones para dar los préstamos son por ejemplo un nivel bajo de ingresos, descubriremos seguramente algún sesgo en los datos con los que se ha entrenado el modelo. Esto por tanto nos ayudaría a ver potenciales errores del modelo, pero además en muchas ocasiones la interpretabilidad será un requisito debido a la propia regulación del sector.
Sin embargo, modelos como las redes neuronales son más complicados de interpretar, ya que en ellas se producen un gran número de operaciones internas que hacen muy complicado entender en qué medida afecta cada variable a la decisión final
En el ejemplo anterior hemos visto cómo la interpretabilidad hace referencia a qué variables de entrada del modelo han influido en la decisión final, así como la forma en que lo han hecho. Dependiendo del algoritmo de aprendizaje que utilicemos, tendremos un modelo más o menos interpretable. Por ejemplo, un modelo de Regresión Lineal o Logística es muy interpretable ya que la predicción viene dada por unos pesos asociados a cada una de las variables de entrada. Los árboles de decisión también se interpretan con facilidad ya que crean unas reglas sobre los valores de las variables de entrada para llegar a la predicción final.
Sin embargo, modelos como las redes neuronales son más complicados de interpretar, ya que en ellas se producen un gran número de operaciones internas que hacen muy complicado entender en qué medida afecta cada variable a la decisión final. Por suerte existen métodos que se pueden utilizar para conseguir la deseada interpretabilidad, y que son agnósticos del modelo a evaluar. Dichos métodos pueden producir interpretabilidad a dos niveles distintos:
- Interpretabilidad Global: Describen el comportamiento promedio del modelo, y suelen representar valores esperados en función de la distribución de los datos. Algunas técnicas utilizadas son partial dependence plots o permutation feature importance.
- Interpretabilidad Local: Explican predicciones individuales. Algunos ejemplos de este tipo son LIME o SHAP.
Dependiendo del algoritmo de aprendizaje que utilicemos, tendremos un modelo más o menos interpretable
Como resumen, a pesar de que no siempre es necesario exigir que un modelo sea interpretable, siempre es preferible tener el mayor conocimiento posible sobre el modelo que ponemos en producción. Para ello, a igualdad de rendimiento siempre es aconsejable utilizar modelos que sean interpretables por naturaleza. En caso de que esto no sea posible, podemos utilizar técnicas de interpretabilidad global o local como las que hemos descrito anteriormente para asegurarnos de que nuestros modelos tienen un funcionamiento razonable.