La inteligencia artificial del futuro en el desarrollo de modelos

26 de marzo de 2019

Las últimas tendencias en inteligencia artificial del futuro y machine learning cada vez proveen de un mayor número de algoritmos y de modificaciones de los mismos.

 

En consecuencia, la capacidad de cómputo aumenta. Así, es posible probar un mayor número de combinaciones hasta encontrar el modelo ganador para resolver el problema definido por los datos.

No obstante, aunque la fase de modelación y los resultados concuerden con las premisas de negocio, siempre es posible plantearse si realmente se ha llegado al límite del acierto para un conjunto de datos determinado o si, por el contrario, puede haber alguna modificación del algoritmo que lo mejore aún más. Esta casuística puede ser fundamental en determinadas áreas, sobre todo en problemas donde lo esencial es acertar y no se requiere una acción comercial segmentada, como en el caso de la detección de fraude.

Inteligencia artificial del futuro: cómo conseguir mejores resultados en un algoritmo

Independientemente de la justificación que pueda tener la inversión de tiempo y recursos para ganar algunas centésimas en el área bajo la curva ROC o en accuracy, existen básicamente tres caminos para conseguir mejores resultados en un algoritmo de por sí bueno y dar un paso hacia la inteligencia artificial del futuro:

  • Ensembles. Combinan técnicas simples; por ejemplo, la decision tree para crear algoritmos más complejos, como los populares random forest o los gradient boosting machines.
  • Hyperparameter tunning. Modifican los hiperparámetros del algoritmo; por ejemplo, el número de neuronas o capas de una red neuronal y el learning rate para comprobar si una estructura diferente de aprendizaje puede mejorar los resultados.
  • Feature engineering. Da un paso atrás en el proceso de modelación e intenta construir nuevos rasgos que posean un mayor grado de correlación con el target y que, por tanto, sean más predictivos. Esta es la solución más costosa, pero también la que ofrece resultados más diferenciales.

En este artículo se centra en las dos primeras técnicas, los ensembles y el hyperparameter tunning, que se engloban dentro del llamado automated machine learning (‘automatización del aprendizaje automático’), una de las ramas más preeminentes en la inteligencia artificial del futuro.

Este tipo de solución ofrece máquinas que no solo proveen una estimación ante un evento que se quiere predecir, sino que también encuentran la mejor configuración de hiperparámetros, lo que asegura que ningún algoritmo va a obtener mejores resultados, siempre que no se añadan más features.

Desarrollo del algoritmo óptimo con la plataforma H2O

La plataforma de código abierto H2O es un ejemplo de solución basada en el modelo de ensembles e hyperparameter tunning. H2O es uno de los software referentes en data science y en plataformas de machine learning, y se encarga de proporcionar librerías de código abierto que pueden ejecutarse bajo R o Python. Estas librerías se pueden distribuir con facilidad y, además, H2O tiene implementados la mayor parte de los algoritmos principales en machine learning.

Librerías de H2O para aplicar machine learning automatizado

Las librerías de las que dispone H20 y que permiten aplicar técnicas de automated machine learning son las siguientes:

Grid search

Permite aplicar el hyperparameter tunning del algoritmo mediante dos técnicas:

  • Grid cartesiano. Consiste en especificar una lista de valores para cada hiperparámetro que se quiere cambiar para realizar todas las combinaciones posibles en el rango definido.
  • Random grid. Se especifican los valores de la misma manera, pero estableciendo un criterio de parada (número máximo de modelos, máximo tiempo, un valor a superar en la métrica objetivo, etc.) y la búsqueda se realiza en todo el rango definido, no hay un número máximo de combinaciones.

Normalmente, funciona mejor el random grid (ver la figura de la derecha) que el grid cartesiano (ver la figura de la izquierda), ya que explora un área mayor de posibles combinaciones debido a su carácter aleatorio.

inteligencia artificial futuro, Grid searchStacked ensembles

Permite realizar ensamblados de cualquier tipo de modelo, pero antes hay que definir los siguientes rasgos:

  • Decidir qué algoritmos se quieren utilizar (red neuronal, GBM, etc.).
  • Entrenarlos por separado y obtener las predicciones de cada uno.
  • Generar la matriz de train del meta-algoritmo, cuyos rasgos son, básicamente, la salida de todos los algoritmos primitivos.
  • Entrenar el nuevo algoritmo obteniendo la predicción final.

inteligencia artificial futuro, Grid searchAutoML

Permite hacer un stacked ensemble a partir de los modelos que va obteniendo, generados también con grid search. Así se genera una tabla de marcadores con los mejores modelos construidos según la métrica conveniente para cada problema (AUC, MSE, desviance, etc).

Con todas estas funcionalidades, gracias a H2O se puede obtener el mejor de los algoritmos que pueda construir entrenado y listo para pasar a producción, todo ello en un tiempo muy razonable y sin prácticamente escribir código.

Para dar con este algoritmo entrenado y listo para pasar a producción, se han de probar una gran cantidad de combinaciones de algoritmos ensamblados. El modelo obtenido gracias a las técnicas que marcarán la inteligencia artificial del futuro será el mejor posible de acuerdo con las características definidas.