autoML 综述 : Evaluación comparativa y estudio de marcos de aprendizaje automático automatizados

Benchmark y encuesta de marcos de aprendizaje automático automatizados

Enlace del artículo

Inserte la descripción de la imagen aquí

Resumen:

1. Descripción general de los métodos actuales de autoML y los puntos de referencia de los marcos automáticos populares sobre datos reales.
2. Resumir las tecnologías importantes de automl importantes para crear canales de aprendizaje automático.

Introducción:

La canalización de ML requiere:
1. Científicos de datos con profundos algoritmos de ML y habilidades estadísticas
2. Expertos en el dominio con experiencia a largo plazo en un campo específico.
Estos dos juntos pueden crear una canalización de ML razonable que incluya preprocesamiento de datos personalizados y significado basado en el dominio Ingeniería de características y un modelo ajustado con suficiente poder predictivo. Pero debido a que este es un problema muy complejo que requiere prueba y error constante, crear una buena canalización de ML sigue siendo una tarea a largo plazo y requiere mucho esfuerzo. Los profesionales generalmente solo usan una canalización de ML subóptima predeterminada.

Contribución del artículo:

1. La definición de la fórmula matemática de la canalización automática que cubre el proceso completo
2. Revisar la canalización automática del marco de código abierto
3. La evaluación de la experiencia de
diferentes bibliotecas de algoritmos de ajuste de hiperparámetros 4. La evaluación de la experiencia de diferentes marcos automáticos

2.Formulación del problema

3.Creación de estructura de tubería

3.1 Fixed Shape
tiene dos canales fijos: canalización ML prototípica y canalización ML fija
-w578
[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace anti-sanguijuela, se recomienda guardar la imagen y cargarla directamente (img-gfiMcjSM-1583023864585) (http : //anki190912.xuexihaike.com/mweb/15813263917669-2020-03-01.jpg)]

3.2 Forma variable
Otros métodos para crear pipelines ML más flexibles son: programación genética, redes de tareas jerárquicas, búsqueda de árboles de Monte Carlo, auto-reproducción

4.Selección de algoritmos y optimización de hiperparámetros Selección de algoritmos y optimización de hiperparámetros

selección de algoritmos combinados y optimización de hiperparámetros (CASH) selección de algoritmos y ajuste de parámetros

Dificultades:
1. Los dos pasos se realizan al mismo tiempo.
2. Es un problema de optimización de caja negra
. 3. El espacio de búsqueda es demasiado grande y complicado
. 4. Los hiperparámetros contienen valores tanto discretos como reales. Es un problema de optimización no lineal de enteros mixtos.
5. Hiperparámetros Contiene dos categorías: hiperparámetro obligatorio e hiperparámetro condicional

La solución propuesta: entender el espacio de parámetros como un árbol y forzar que el hiperparámetro sea un nodo secundario, y el hiperparámetro condicional es un nodo secundario del hiperparámetro forzado
[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo de enlace antirrobo, se recomienda guardar la imagen directamente Subir (img-VXlJL2aw-1583023864586) (http://anki190912.xuexihaike.com/mweb/15816064033401-2020-03-01.jpg)]

4.1 Búsqueda de cuadrícula


Se enumeran todas las configuraciones posibles. Ventajas: fácil de implementar y en paralelo.
Desventajas:
1. La combinación de parámetros aumenta exponencialmente con el número de parámetros
2. El superparámetro de la estructura jerárquica no tiene en cuenta la combinación de superparámetros redundantes
3. No está bien explorado El espacio que funciona bien, pero que se puede eliminar parcialmente. La solución es simplemente buscar primero en una cuadrícula aproximada y luego buscar con precisión en buenos lugares.

4.2 Búsqueda aleatoria

Ventajas: simple de implementar y en paralelo, y adecuado para funciones sin gradiente con muchos óptimos locales. La velocidad de convergencia es más rápida que la búsqueda de cuadrícula, que es necesaria cuando no hay un buen espacio de búsqueda conocido.
Desventajas: tiempo de búsqueda largo

4.3 Optimización secuencial basada en modelos (SMBO)

Los puntos clave a estudiar
se basan en el proceso gaussiano y la regresión de bosque aleatorio como funciones proxy

4.4 Algoritmos evolutivos

Ventajas: adecuado para muchos problemas de optimización porque no hay suposiciones sobre la función objetivo.
La optimización del enjambre de partículas es útil, pero los hiperparámetros discretos y enteros deben mapearse en un espacio continuo.

4.5 Aprendizaje de bandidos con múltiples armas

Muchos métodos SMBO se limitan a espacios de búsqueda mixtos y condicionales, porque la búsqueda de cuadrícula solo puede contener hiperparámetros discretos. Este método divide todo el espacio de hiperparámetros en un espacio de parámetros pequeño finito basado en los hiperparámetros discretos de la búsqueda de cuadrícula. Se llama hiperpartición, que contiene solo hiperparámetros continuos, y en cada partición se utiliza la optimización bayesiana,
método que suele combinarse con otros métodos de optimización.

4.6 Descenso de gradiente

Disponible cuando la función objetivo es diferenciable y cerrada

5. Limpieza automática de datos

El propósito de la limpieza de datos es mejorar la calidad del código mediante la eliminación de datos incorrectos. Los errores de datos comunes incluyen: datos faltantes, datos redundantes, valores no válidos o enlaces rotos entre varios conjuntos de datos.
La limpieza de datos incluye dos tareas: detección de errores y reparación de errores

El objetivo de la mayoría de los métodos es ayudar a los científicos de datos a limpiar los datos y no pueden realizar una limpieza automática de datos.

Por lo general, los pasos de limpieza de datos fijos son: completar los valores que faltan, eliminar muestras con valores incorrectos, como valores infinitos y valores atípicos, y normalizar características. A veces, los pasos posteriores de la canalización de
AA requieren datos específicos para requerir que el marco de autoML actual no Considere el trabajo de investigación de limpieza de datos avanzada

La limpieza de datos que incluye el conocimiento del dominio mejorará enormemente la calidad de los datos

6. Ingeniería de funciones automática

Dividido en 3 subtareas: extracción de características, construcción de características, selección de características. La
construcción de características en la ingeniería de características depende en gran medida del conocimiento del dominio y es extremadamente difícil de usar como conocimiento general

6.1 Generación de funciones

Generación de características El método para generar nuevas características es mapear las características originales (extracción de características) a nuevas características a través de funciones, o descubrir las relaciones faltantes en las características de origen. Este paso depende en gran medida del conocimiento del dominio y es difícil de automatizar

Diagrama de flujo de generación de características automatizado: generalmente se basa en los datos de origen para generar una serie de características candidatas y ordenarlas, las que tienen una evaluación de alto rango se incluirán en el conjunto de datos
[La transferencia de la imagen del enlace externo falla, el sitio de origen puede tener un mecanismo anti-sanguijuela, se recomienda guardar la imagen y cargarla directamente (img-ytxTOdF0-1583023864587) (http://anki190912.xuexihaike.com/mweb/15816411215647-2020-03-01.jpg)]

Métodos predefinidos de generación de nuevas características:
unario: características unidimensionales, discretización, estandarización, normalización, extracción de fecha, log
binario: prueba de correlación y generación de nuevas características (requiere investigación)
Orden superior: generalmente SQL agrupado por , Todos los datos se agrupan de acuerdo con una característica determinada, y se utilizan estadísticas como el promedio máximo y mínimo y la cantidad

La práctica habitual es predefinir una serie de métodos de generación de características. Una vez que la característica se extrae y se genera mediante este método, la nueva característica se utiliza para determinar que la nueva característica puede realmente mejorar el rendimiento del modelo y luego se agrega a los datos de origen. Las rondas iterativas de
este método consumen mucho tiempo. Y la mayoría de los métodos no contienen información útil.

6.2 Selección de funciones

Elimina las características redundantes y engañosas para mejorar la interpretabilidad del modelo de entrenamiento.
Los métodos integrados por autoML moderno incluyen: selección univariante, selección de varianza, importancia de característica, matrices de correlación o selección de estabilidad

La selección de funciones prueba si se debe mejorar el rendimiento en un modelo de AA específico a través de funciones contenedoras. La
forma más sencilla de encontrar el mejor subconjunto de funciones es realizar una búsqueda aleatoria o probar el subconjunto en detalle. El método heurístico consiste en agregarle funciones individuales gradualmente o mediante una combinación de la selección hacia adelante y hacia atrás, así como el uso de la selección de subconjuntos como un problema de refuerzo y la programación genética (a estudiar)

También hay un cálculo de meta-características para cada característica nueva, como la diversidad de valores y la información mutua con otras características (a estudiar).

7 mejoras de rendimiento

7.1 Aproximaciones de multifidelidad (por estudiar)

Uno de los principales problemas de autoML y CASH es el tiempo de respuesta extremadamente alto. Una forma de evitar este problema son las Aproximaciones de Fidelidad Múltiple, es decir, los científicos de datos generalmente usan un subconjunto o subcaracterísticas de los datos de entrenamiento para probar los parámetros seleccionados primero, porque En este caso, los parámetros incorrectos se pueden descartar rápidamente.

Un método simple es seleccionar al azar varios subconjuntos aleatorios del conjunto de entrenamiento. Un método más refinado es

7.2 Parada anticipada

El marco de autoML generalmente utiliza la detención anticipada, es decir, cuando el rendimiento del primer compromiso de la siguiente validación cruzada se degrada gravemente, se detendrá.
También se mencionan dos métodos: 1. Al
considerar simultáneamente múltiples configuraciones en un procedimiento iterativo a la vez, la configuración más prometedora se puede optimizar en cada paso.
La observación simultánea de múltiples configuraciones en un procedimiento iterativo a la vez, la configuración más prometedora se puede optimizar en cada paso. La configuración del hiperparámetro se puede optimizar en cada paso.
2. Ejecutar varias instancias de problemas en paralelo. Algunas instancias de problemas pueden llevar mucho tiempo. Se pueden obtener umbrales de tiempo dinámicos durante el proceso en ejecución, y las instancias de largo plazo se pueden interrumpir

7.3 Escalabilidad

Utilice el paralelismo de múltiples núcleos o clústeres para resolver el problema del cálculo excesivo. Debido a que autoML tiene muchos pasos de modelado,
es relativamente sencillo asignar diferentes instancias a cada clúster en búsquedas aleatorias, búsquedas de cuadrícula y algoritmos evolutivos en paralelo, mientras que SMBO es más difícil. es una secuencia de pasos como
una posible solución es seleccionar la mejor configuración de topk en lugar de la configuración en la configuración después de la evaluación de todos, se actualiza un modelo de proxy y el inicio de evaluación el siguiente lote
puede utilizar adicionalmente el servicio de manera autoML
[exterior Error en la transferencia de la imagen del vínculo. Es posible que el sitio de origen tenga un mecanismo de vínculo anti-sanguijuelas. Se recomienda guardar la imagen y cargarla directamente (img-W5W2jgFG-1583023864588) (http://anki190912.xuexihaike.com/mweb/15816537047503-2020-03-01.jpg )]

7.4 Aprendizaje en conjunto

Combinando las predicciones de varios modelos para mejorar el
apilamiento de modelos :

7.5 Metaaprendizaje (para estudiar)

Los
beneficios del proceso de aprendizaje de los algoritmos de aprendizaje automático son:
1. Los hiperparámetros sin importancia se pueden eliminar del espacio de hiperparámetros evaluando la importancia de los hiperparámetros individuales
. 2. Los candidatos con un rendimiento empírico deficiente pueden filtrarse del rendimiento predicho. Consulte la configuración
3. Arranque en caliente
4. Adecuado para construir la búsqueda de estructuras de tuberías

8.Marcos seleccionados

8.1 Algoritmos de EFECTIVO

[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-Tly95P4J-1583023864588) (http://anki190912.xuexihaike.com/mweb/15816607573240-2020-03-01 .jpg)]

8.1.1 Métodos de referencia

El clasificador ficticio utiliza un muestreo estratificado para generar resultados aleatorios
Random Forest

8.1.2 Búsqueda de cuadrícula

Use GRIDSEARCHCV en scikit-learn, que puede ser paralelo a una sola máquina

8.1.3 Búsqueda aleatoria

Utilice RamdomSearchCV en scikit-learn, paralelo independiente

8.1.4 RoBO

Marco general de optimización bayesiana, los modelos proxy compatibles incluyen el proceso gaussiano, el bosque aleatorio y la red neuronal bayesiana.
Una limitación es que no se admiten los hiperparámetros discretos

8.1.5 BTB

BTB utiliza el aprendizaje de bandidos con múltiples brazos para evitar la restricción de que RoBO no admite superparámetros discretos

8.1.6 Hiperopía

El SMBO que usa el modelo sustituto TPE usa múltiples instancias para modelar los hiperparámetros jerárquicos, y el número de iteraciones se limita al número en lugar del tiempo, que es
fácil de paralelizar. Genere muchas configuraciones nuevas de hiperparámetros candidatos a través de la distribución, mejorando así la eficiencia

8.1.7 SMAC

El primer marco que admite explícitamente variables discretas, puede admitir iteraciones por tiempos y tiempo, utilizando el
soporte integrado de modelado de regresión de bosque aleatorio para detener la optimización de hiperparámetros después de un tiempo fijo, este método puede detener rápidamente cierto rendimiento después de un cierto tiempo Los modelos deficientes (importantes)
pueden ser paralelos

8.1.8 BOHB

La combinación de optimización Bayesiana e Hiperbanda. La limitación de Hiperbanda es generar hiperparámetros al azar para ser probados. BOHB usa SMBO (TPE) para reemplazar este proceso.

8.1.9 Optunidad

Hay muchos solucionadores. Aquí se utiliza el algoritmo de enjambre de partículas. Los superparámetros discretos se asignan a superparámetros enteros (es decir, tratamiento continuo de superparámetros)

8.2 Marco automático

-w750

8.2.1 Métodos de referencia

El clasificador ficticio utiliza un muestreo estratificado para generar resultados aleatorios.
Una canalización simple incluye el llenado de valores perdidos y el bosque aleatorio

8.2.2 TPOT

Utilice la programación genética para crear tuberías de manera flexible y seleccionar algoritmos en cada etapa de la tubería.
Solo se pueden usar variables discretas. Como la búsqueda de cuadrícula, todas las variables continuas primero deben discretizarse. La diferencia es que la programación genética
se puede usar para ajustar el algoritmo. La capacidad de crear tuberías es muy fácil de sobreajustar. Para compensar esto, TPOT optimiza una combinación de alto rendimiento y baja complejidad de la tubería. Por lo tanto, las tuberías se seleccionan desde un frente de Pareto utilizando una estrategia de selección multiobjetivo. La evaluación del desempeño de todos Los individuos de una sola generación se paralelizan para acelerar la optimización. Al final, TPOT devuelve la canalización con el mejor rendimiento
. No hay límite para la capacidad de crear una canalización de forma arbitraria. No hay límite para la canalización que no cumple con las reglas. RECPIE propone mejoras y admite todos los métodos de scikit-learn.

8.2.3 Hyperopt-sklearn (HPSKLEARN)

La canalización fija tiene solo un preprocesamiento y un modelo de clasificación o regresión. Todos los modelos son sklearn y se usa hyperopt para el ajuste. El uso de la validación cruzada para evitar el
preprocesamiento de sobreajuste solo admite PCA, escalamiento estándar o mínimo-máximo y normalización. La codificación y el preprocesamiento de cadenas están deshabilitados de forma predeterminada.

8.2.4 auto-sklearn

Procesamiento fijo, pasos de limpieza de datos fijos: codificación categórica opcional, imputación, eliminación de variables con baja varianza y escalado
opcional , preprocesamiento opcional y algoritmos de modelado obligatorios serán seleccionados y ajustados por SMAC

Mejorado mediante la conexión en paralelo en una sola máquina o clúster, cada ajuste tiene un límite de tiempo
. El metaaprendizaje se utiliza para inicializar el proceso de optimización, que se realiza con 140 conjuntos de datos adicionales,
utilizando un método integrado

8.2.5 Búsqueda aleatoria

Utilice la búsqueda aleatoria de auto-sklearn como otra línea de base

8.2.6 ATM

Este es un servicio colaborativo que pone gran énfasis en la paralelización para permitir que una única evaluación se distribuya en el clúster.
Utilice resultados de canalización simples, incluido n
PCA opcional, una escala opcional estándar o mínima-máxima seguida de un algoritmo de clasificación ajustable.
Utilice sklearn y otros algoritmos, utilice El ajuste de BTB
utiliza una base de datos central para almacenar todos los conjuntos de datos. La configuración y el rendimiento probados
también utilizan metaaprendizaje

8.2.7 H2O AUTOML

H2O es un marco de ML distribuido.
H2O automl puede omitir el preprocesamiento para seleccionar y ajustar el algoritmo de clasificación, utilizar la búsqueda de cuadrícula (cartesiana) o aleatoria y
finalmente integrar los buenos resultados

10 Discusión y oportunidades para investigaciones futuras

1. A excepción de todos los algoritmos CASH de búsqueda en cuadrícula, el rendimiento es muy similar y el rendimiento de la búsqueda aleatoria no es malo. El resultado final muestra que la diferencia en el mejor rendimiento de todos los conjuntos de datos no es más del 1%.
2. El rendimiento del marco de autoML también es muy similar, con un solo dato. La mayor diferencia en el conjunto es del 6%.
3. Actualmente, el potencial de las canalizaciones especializadas no se utiliza en absoluto.
4. Actualmente, autoML solo se centra en el aprendizaje supervisado.
5. Actualmente, solo el problema de EFECTIVO está automatizado, porque EFECTIVO no está relacionado con el dominio, sino con un solo dato Los científicos gastan entre el 60% y el 80% de la limpieza de datos y la ingeniería de características reales, y solo el 4% del tiempo ajustando modelos
. 6. Hay 3 áreas: limpieza de datos avanzada, construcción de características y construcción de tuberías flexibles. No hay muchos artículos en la actualidad, pero esto Son tres direcciones importantes para mejorar el rendimiento de autoML.
7. Solo la combinación de canalización dinámica + ingeniería automática de funciones + método de EFECTIVO sofisticado puede derrotar al marco actual de autoML, pero el objetivo a largo plazo debe ser construir automáticamente una canalización completa, y cada componente es Optimizado

8. Dos desventajas principales de los usuarios sin experiencia que usan autoML:
(1) El conocimiento profundo de los expertos en el dominio del conjunto de datos puede reducir en gran medida el espacio de búsqueda
(2) La interpretabilidad de ML será menos conocida

11 Conclusión

1. Proporcionó una prueba del algoritmo CASH en 114 conjuntos de datos públicos.
2. Probó el marco autoML.
3. Resumió las tecnologías utilizadas en estos marcos.
4. Amplió la definición del problema actual.

El marco automático avanzado actual puede ayudar a los expertos en el dominio a construir pipelines ML para evitar el trabajo tedioso, pero la construcción automática de un marco general sigue siendo muy básica y no se puede comparar con la experiencia humana.

Supongo que te gusta

Origin blog.csdn.net/u011703187/article/details/104586791
Recomendado
Clasificación