BBVA Open4u - Deep Feature Synthesis, el algoritmo que automatizará el machine learning

Deep Feature Synthesis, el algoritmo que automatizará el machine learning

Deep Feature Synthesis es un algoritmo capaz de crear de forma automática características entre conjuntos de datos relacionales para sintetizar procesos de aprendizaje automático. Se implementa con base de datos MySQL y Python.

BBVAOpen4U
|
26 Ene. 2016

Hace años el problema para lograr la obtención de conocimiento presente o futuro (predicciones) con la ciencia de datos era la falta de sistemas para el almacenamiento y procesamiento de grandes cantidades de información, hoy en día ya no es así. Y por tanto los esfuerzos se centran en cómo analizar los datos para extraer verdadero valor. Deep Feature Synthesis ayuda en esa tarea porque es un algoritmo que automatiza el aprendizaje automático.

El machine learning es el conjunto de procesos por los que un algoritmo es capaz de realizar predicciones a partir de los datos, y que el resultado de esa proyección facilite a la máquina su propio aprendizaje para mejorar en sus predicciones. Máquinas aprendiendo de sus errores y aciertos. Es, por tanto, una rama específica de la inteligencia artificial que se aplica en campos tan dispares como la banca para detectar procesos de fraude; la sanidad para la gestión de hospitales, o el retail para el cálculo optimizado de precios.

Los dos creadores del algoritmo son dos miembros destacados del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT (Massachusetts Institute of Technology), en Cambridge. Sus nombres: James Max Kanter y Kalyan Veeramachaneni. Ambos presentaron el proyecto en un documento titulado ‘Deep Feature Synthesis: Towards Automating Data Science Endeavors’ (PDF), en el que resumen las características de su ‘criatura’.   

Deep Feature Synthesis se encarga exactamente de lo que anuncia su propio nombre. Es un algoritmo que es capaz de crear de forma automática características entre conjuntos de datos relacionales para sintetizar procesos de aprendizaje automático. El algoritmo lo que hace es aplicar funciones matemáticas a los conjuntos de datos en el campo de origen y los transforma en nuevos grupos con nuevas características más profundas.

En ese proceso de evolución de los datos de origen, se puede comenzar con unas variables de información referidas al género o la edad, y al acabar con el proceso aplicado por Deep Feature Synthesis disponer de características que permitirían realizar otros cálculos más profundos como porcentajes.

Deep Feature Synthesis y la cópula gaussiana

Este proceso automático de machine learning se perfecciona, según sus creadores, gracias a la teoría de probabilidades de la cópula gaussiana. Muchas de las etapas de un proceso de aprendizaje automático tienen parámetros que, en busca de un resultado adecuado, exigen un proceso de afinado. Cuanto menos afinado, menos predictivo será el modelo.

Pequeñas variaciones en esa perfección pueden suponer un caos. La gran cantidad de combinaciones de parámetros entre sí hace que cualquier mínima desviación en el inicio suponga una falla enorme al final. En modelos predictivos económicos, eso se materializa en miles de millones de euros. La cópula gaussiana facilita a los creadores del algoritmo modelar la relación entre las opciones de los parámetros y el rendimiento del modelo entero. De ahí se decide qué parámetros son los mejores para optimizar el resultado.

La cópula gaussiana fue el método estadístico utilizado para evitar una gran crisis del crédito como la que hubo en 2008 y evidentemente no tuvo éxito. Este método se empleaba dentro de los análisis VAR (Valor en Riesgo), que miden las pérdidas que podría tener el mercado en condiciones normales con un nivel de confianza del 95%. Es decir, que un inversor con una cartera de un millón de euros, solo puede perder 25.000 euros uno de cada 20 días (1/20=5% restante del nivel de confianza). Los días del estallido de la gran crisis internacional de 2008, esos valores se dispararon fuera de los márgenes.

Implementación de Deep Feature Synthesis

El algoritmo de Deep Feature Synthesis y su máquina de Ciencia de Datos se implementa en la parte superior de una base de datos MySQL, usando InmoDB como motor para las tablas, una solución de almacenamiento de datos de código abierto para este tipo de base de datos relacional. InmoDB sustituye a la anterior tecnología de tablas para MySQL, MyISAM. Es más fiable, más consistente, más escalable y por tanto con más rendimiento.

Todos los conjuntos de datos con los que trabaja Deep Feature Synthesis se convierten al esquema de datos con el que trabaja MySQL. La lógica de cálculo, la gestión y la manipulación de las características de toda esa información se hace mediante el lenguaje de programación Python, la sintaxis más utilizada en el diseño y la configuración de procesos de Ciencia de Datos.

¿Por qué utilizaron los creadores de Deep Feature Synthesis una base de datos relacional como MySQL? Porque los requisitos del algoritmo y la forma de ordenación de los datos de este tipo de BD son similares. La máquina de Ciencia de Datos de los creadores del algoritmo implementa funciones del tipo AVG (), MAX (), MIN (), SUM (), STD () y COUNT (). Además, añade otras para otro tipo de operaciones con los datos como length () o WEEKDAY () y MONTH () para convertir las fechas en los días de la semana y el mes en que ocurrieron.

El uso de funciones más el de la creación de filtros permiten al algoritmo dos cuestiones realmente importantes en modelos predictivos:

●      Aplicación de funciones solo a los casos en los que se da como cierta una condición determinada. Sin filtrado de los datos es imposible.

●      Construcción de valores de intervalo de tiempo, con límites por arriba y también por debajo, basados en una fecha temporal.

Esto facilita mucho la optimización de las consultas a la base de datos.

Los tres procesos de Deep Feature Synthesis

La Ciencia de Datos basada en Deep Feature Synthesis utiliza los tres procesos habituales con los datos para la elaboración de modelos predictivos: 

●      Preprocesamiento de datos: el trabajo previo con los datos es esencial antes de plantear trabajos de aprendizaje automático. Es necesario revisar los parámetros para descartar, por ejemplo, valores nulos.

●      Selección de características y reducción de la dimensionalidad: el algoritmo genera una gran cantidad de características por cada entidad y es necesario hacer una labor de selección y reducción previa.

●      Modelado: para el modelado de los datos se utilizan árboles de decisión.

Síguenos en @BBVAAPIMarket

¡Suscríbete!

Recibe nuestro boletín semanal. No te pierdas nuestros trucos, consejos, artículos y los eventos más innovadores.