Unbox the black box o cómo interpretar los algoritmos de machine learning

Innovación

Óscar del Ama Esteban, Chief Analytics Officer de Cognodata explica paso a paso como enfrentarse a los algoritmos de machine learning consiguiendo los resultados deseados.

El uso de algoritmos de machine learning para resolver problemas (en los que principalmente se requiera obtener una predicción o estimación de que un evento ocurra) se ha extendido de tal manera que ya prácticamente todas las corporaciones que gestionan clientes poseen modelos para adelantarse a los eventos clave que definen su negocio. Sin embargo, los resultados analíticos y la aplicación estratégica al negocio suelen hablar idiomas diferentes y no siempre se consiguen los resultados esperados (en forma de retorno de la inversión) por la dificultad de aunar estas dos áreas.

Por ello, nos centraremos precisamente en cómo aplicar los resultados de los algoritmos de machine learning a aquellas soluciones de negocio que requieran una palanca de acción, esto es, no solo se requiere tener una estimación del evento a predecir (generalmente comportamientos de cliente asociados a retención, cross/up selling, satisfacción, estrategia de e-mail marketing), sino también qué acción realizar para incentivar o evitar dicho comportamiento (qué hacer para retenerlo, para potenciar la atracción de nómina, para maximizar el click-through rate, etc.)

Dentro de machine learning existen multitud de algoritmos (cada uno con diversos hiperparámetros a ajustar) que proveen de diferentes resultados en términos de acierto ante un mismo fenómeno que queremos predecir. En esta fase de selección del modelo ganador, pueden entrar varios criterios. Dependiendo de los recursos disponibles suelen ser: acierto, complejidad, tiempo de cómputo, etc. siendo en general una ponderación de todos ellos la que determine el modelo a poner en producción

Hoy día el hardware y las librerías de machine learning permiten la ejecución de modelos computacionales complejos con un alto nivel de abstracción, que suelen presentar una estimación muy sólida respecto al evento que queremos predecir, pero dicha abstracción implica una pérdida de control y entendimiento respecto a lo que ocurre dentro de la máquina , la cual básicamente está recalculando en cada iteración una matriz de pesos que relaciona las entradas con la salida.

Por ello, describir (incluso matemáticamente) el proceso de aprendizaje de la máquina es muy complejo, ya que pasa por varios estados hasta llegar al final del proceso. En todo algoritmo de machine learning existe una intrínseca deficiencia de transparencia en lo que está haciendo la máquina (aprende automáticamente, sin supervisión), pero precisamente esa falta de transparencia en el aprendizaje automático permite que puedan llegar a resultados óptimos ante problemas complejos que un ser humano no podría alcanzar.

No obstante, ello no debe implicar tener una fe absoluta en los resultados ni dejar en un segundo plano la interpretación de los mismos. Por lo general, modelos que puedan ser explicados en términos de negocio suelen ser más estables en el tiempo y presentar unos mejores retornos de la inversión. Por ello, para poder esclarecer y entender cómo “piensa” la máquina se proponen las siguientes técnicas:

  • Probar la máquina ya entrenada usando valores test de entrada con el valor conocido de la salida para ver cómo la variación de la estimación y del error depende de qué valores de entrada y en qué medida. Con ello podríamos comprobar si variables sociodemográficas como edad o ingresos son relevantes y en qué grado sobre la salida.
  • Extraer las reglas que la máquina ha codificado. No es necesario intentar interpretar la máquina según los pesos de las conexiones, ya que mediante los árboles de decisión se puede obtener una aproximación representativa de la máquina. Para lo cual, se debe tomar el output que provee la máquina (no el output real) como target a la hora de ejecutar el árbol de decisión. Este proceso nos permite obtener una “visualización” de las reglas que permiten obtener insights y comprobar qué features son relevantes a la hora de realizar predicciones
  • Del mismo modo, se puede ejecutar una segmentación con el top X% de registros según la estimación que provee la máquina, y comprobar cuáles son y en qué medida influyen las features a la hora de encontrar grupos homogéneos entre sí y heterogéneos entre los registros de entrada. A pesar de que pueda haber comportamientos mezclados, sí que se tienen las características principales del conjunto de datos que la máquina decide que son más propensos al evento
  • Se puede entrenar la máquina con un conjunto reducido de features y comprobar la degradación de los resultados comparándolo con el dataset entero. De esta manera, se tiene una aproximación de la importancia de cada feature e incluso comprobar si la información que aporta puede ser inferida a través de otras features. De igual manera, se puede entrenar la máquina con features a las que hemos añadido una perturbación (generalmente ruido gaussiano) y de nuevo ver cómo se han degradado las prestaciones en función de a qué variables hemos añadido el ruido
  • Por último, existen librerías y software propio que realizan una selección automática del mejor algoritmo y sus hiperparámetros, proveyendo de la importancia de cada feature, con lo que se puede estimar cuáles son las más determinantes

De esta manera, además de tener otro criterio mediante el cual elegir al modelo ganador (la interpretabilidad del mismo) podemos definir palancas de acción según qué features son las que determinan el comportamiento de los clientes, y realmente poder accionar modelos de caja negra mediante campañas en modo prescriptivo.

Read also :