El aprendizaje automático automatizado ( AutoML ) es el proceso de automatizar las tareas de aplicar el aprendizaje automático a problemas del mundo real. AutoML cubre la canalización completa desde el conjunto de datos sin procesar hasta el modelo de aprendizaje automático implementable. AutoML se propuso como una solución basada en inteligencia artificial para el desafío cada vez mayor de aplicar el aprendizaje automático. [1] [2]El alto grado de automatización en AutoML permite a los no expertos hacer uso de modelos y técnicas de aprendizaje automático sin necesidad de que se conviertan en expertos en aprendizaje automático. La automatización del proceso de aplicación del aprendizaje automático de un extremo a otro ofrece además las ventajas de producir soluciones más simples, una creación más rápida de esas soluciones y modelos que a menudo superan a los modelos diseñados a mano. AutoML se ha utilizado para comparar la importancia relativa de cada factor en un modelo de predicción. [3]
Comparación con el enfoque estándar
En una aplicación típica de aprendizaje automático, los profesionales tienen un conjunto de puntos de datos de entrada que se utilizarán para la formación. Es posible que los datos sin procesar no estén en una forma en la que se puedan aplicar todos los algoritmos. Para que los datos susceptibles de aprendizaje automático, un experto puede tener que aplicar adecuada pre-procesamiento de datos , ingeniería de función , extracción de características , y la selección de características métodos. Después de estos pasos, los profesionales deben realizar la selección de algoritmos y la optimización de hiperparámetros para maximizar el rendimiento predictivo de su modelo. Cada uno de estos pasos puede ser un desafío, lo que genera obstáculos importantes para el uso del aprendizaje automático.
AutoML simplifica drásticamente estos pasos para los no expertos.
Objetivos de la automatización
El aprendizaje automático automatizado puede apuntar a varias etapas del proceso de aprendizaje automático. [2] Los pasos para automatizar son:
- Preparación e ingestión de datos (a partir de datos brutos y formatos diversos)
- Detección de tipo de columna ; p. ej., booleano, numérico discreto, numérico continuo o texto
- Detección de intención de columna; por ejemplo, objetivo / etiqueta, campo de estratificación , característica numérica, característica de texto categórico o característica de texto libre
- Detección de tareas; p. ej., clasificación binaria , regresión , agrupación o clasificación
- Ingeniería de características
- Selección de características
- Extracción de características
- Metaaprendizaje y aprendizaje por transferencia
- Detección y manejo de datos asimétricos y / o valores perdidos
- Selección de modelo
- Optimización de hiperparámetros del algoritmo de aprendizaje y caracterización
- Selección de canalizaciones bajo restricciones de tiempo, memoria y complejidad
- Selección de métricas de evaluación y procedimientos de validación.
- Comprobación de problemas
- Detección de fugas
- Detección de configuración incorrecta
- Análisis de los resultados obtenidos
- Creación de visualizaciones e interfaces de usuario
Implementaciones
Fuente abierta
- auto-sklearn, una herramienta AutoML de código abierto implementada en Python , construida alrededor de la biblioteca scikit-learn [4]
- Amazon AutoGluon de código abierto toolkit AutoML 's para profundo de aprendizaje , también disponible como AWS CloudFormation plantilla [5]
- TransmogrifAI, kit de herramientas de AutoML de extremo a extremo para datos estructurados escritos en Scala , que se ejecuta en Apache Spark [6]
- Neural Network Intelligence, Microsoft 's de código abierto AutoML conjunto de herramientas [7]
Comercial
- Servicio en la nube AutoML Microsoft Azure [8]
- Solución Google Cloud AutoML en Google Cloud Platform [9]
- AutoAI en IBM Watson Studio para la automatización de la preparación de datos, desarrollo de modelos, ingeniería de funciones y optimización de hiperparámetros [10]
- SDK de Oracle Accelerated Data Science (ADS), [11] una biblioteca de Python incluida como parte del servicio Oracle Cloud Infrastructure Data Science [12]
Ver también
- Búsqueda de arquitectura neuronal
- Neuroevolución
- Autoajuste
- Inteligencia de redes neuronales
- AutoAI
- ModelOps
Referencias
- ^ Thornton C, Hutter F, Hoos HH, Leyton-Brown K (2013). Auto-WEKA: Selección combinada y optimización de hiperparámetros de algoritmos de clasificación . KDD '13 Actas de la 19ª conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos. págs. 847–855.
- ^ a b Hutter F, Caruana R, Bardenet R, Bilenko M, Guyon I, Kegl B y Larochelle H. "AutoML 2014 @ ICML" . Taller de AutoML 2014 @ ICML . Consultado el 28 de marzo de 2018 .
- ^ Li RYM, Chau KW, Li HCY, Zeng F., Tang B., Ding M. (2021) Detección remota, efecto isla de calor y predicción del precio de la vivienda a través de AutoML. En: Ahram T. (eds) Avances en Inteligencia Artificial, Ingeniería de Software y Sistemas. AHFE 2020. Advances in Intelligent Systems and Computing, vol 1213. Springer, Cham. https://doi.org/10.1007/978-3-030-51328-3_17
- ^ auto-sklearn en GitHub
- ^ "AutoGluon: AutoML para texto, imagen y datos tabulares" . AutoGluon . Consultado el 3 de abril de 2021 .
- ^ "TransmogrifAI: aprendizaje automático automatizado para datos estructurados" . TransmogrifAI . Consultado el 3 de abril de 2021 .
- ^ Inteligencia de redes neuronales en GitHub
- ^ "Documentación de Azure ML: ¿Qué es AutoML?" . Microsoft . Consultado el 3 de abril de 2021 .
- ^ "Google Cloud AutoML" . Google Cloud . Consultado el 3 de abril de 2021 .
- ^ "AutoAI con IBM Watson Studio" . IBM . Consultado el 3 de abril de 2021 .
- ^ "La canalización de Oracle AutoML" . Oracle . Consultado el 3 de abril de 2021 .
- ^ "Plataforma de ciencia de datos" . Oracle . Consultado el 3 de abril de 2021 .
Otras lecturas
- "Herramientas AutoML de código abierto: AutoGluon, TransmogrifAI, Auto-sklearn y NNI" . Bizety . 2020-06-16.