Saltar al contenido

Selección de algoritmos combinados y optimización de hiperparámetros (Optimización CASH)

17 de septiembre de 2020

La selección y configuración del modelo de aprendizaje de la máquina puede ser el mayor desafío en el aprendizaje aplicado de la máquina.

Se deben realizar experimentos controlados para descubrir qué es lo que mejor funciona para una determinada clasificación o tarea de modelado predictivo de regresión. Esto puede resultar abrumador dado el gran número de esquemas de preparación de datos, algoritmos de aprendizaje e hiperparámetros de modelos que podrían considerarse.

El enfoque común consiste en utilizar un atajo, como utilizar un algoritmo popular o probar un pequeño número de algoritmos con hiperparámetros predeterminados.

Una alternativa moderna es considerar la selección de la preparación de datos, el algoritmo de aprendizaje y los hiperparámetros del algoritmo como un gran problema de optimización global. Esta caracterización se conoce generalmente como Selección de Algoritmo Combinado y Optimización de Hiperparámetros, o «Optimización del efectivo» para abreviar.

En este post, descubrirá el desafío de la selección de modelos de aprendizaje automático y la solución moderna referida a la optimización del efectivo.

Después de leer este post, lo sabrás:

  • El reto de la selección del modelo de aprendizaje de la máquina y el hiperparámetro.
  • Los atajos de usar modelos populares o de tomar una serie de decisiones secuenciales.
  • La caracterización de la selección de algoritmos combinados y la optimización de hiperparámetros que subyace al moderno AutoML.

Empecemos.

Selección de algoritmos combinados y optimización de hiperparámetros (Optimización CASH)

Selección de algoritmos combinados y optimización de hiperparámetros (Optimización CASH)
Foto de Bernard Spragg. NZ, algunos derechos reservados.

Visión general

Este tutorial está dividido en tres partes; son:

  1. Desafío de la selección de modelos e hiperparámetros
  2. Soluciones a la selección de modelos e hiperparámetros
  3. Selección de algoritmos combinados y optimización de hiperparámetros

Desafío de la selección de modelos e hiperparámetros

No hay un mapeo definitivo de los algoritmos de aprendizaje de la máquina para las tareas de modelado predictivo.

No podemos mirar un conjunto de datos y conocer el mejor algoritmo a utilizar, y mucho menos las mejores transformaciones de datos a utilizar para preparar los datos o la mejor configuración para un modelo dado.

En su lugar, debemos usar experimentos controlados para descubrir qué funciona mejor para un conjunto de datos dado.

Como tal, el aprendizaje aplicado de la máquina es una disciplina empírica. Es ingeniería y arte más que ciencia.

El problema es que hay decenas, si no centenares, de algoritmos de aprendizaje de máquinas para elegir. Cada algoritmo puede tener hasta decenas de hiperparámetros a configurar.

Para un principiante, el alcance del problema es abrumador.

  • ¿Por dónde empiezas?
  • ¿Con qué empiezas?
  • ¿Cuándo se descarta a una modelo?
  • ¿Cuándo se dobla a una modelo?

Existen algunas soluciones estándar para este problema adoptadas por la mayoría de los profesionales, con experiencia y de otro tipo.

Soluciones a la selección de modelos e hiperparámetros

Veamos dos de los atajos más comunes para este problema de selección de transformaciones de datos, modelos de aprendizaje de máquinas e hiperparámetros de modelos.

Usar un algoritmo popular

Un enfoque es usar un popular algoritmo de aprendizaje de máquinas.

Puede ser un desafío tomar la decisión correcta cuando se enfrentan estos grados de libertad, dejando a muchos usuarios seleccionar algoritmos basados en la reputación o el atractivo intuitivo, y/o dejar los hiperparámetros establecidos en valores por defecto. Por supuesto, este enfoque puede dar un rendimiento mucho peor que el del mejor método y los ajustes de los hiperparámetros.

– Auto-WEKA: Selección combinada y optimización de hiperparámetros de los algoritmos de clasificación, 2012.

Recomendado:  Una suave introducción a los algoritmos de aprendizaje por conjuntos

Por ejemplo, si parece que todo el mundo está hablando de «bosque al azar,» entonces el bosque aleatorio se convierte en el algoritmo adecuado para todos los problemas de clasificación y regresión que encuentres, y limitas la experimentación a los hiperparámetros del algoritmo del bosque aleatorio.

  • Cortocircuito #1: Usar un algoritmo popular como «bosque al azar«o»xgboost“.

El bosque aleatorio, de hecho, funciona bien en una amplia gama de tareas de predicción. Pero no podemos saber si será bueno o incluso mejor para un conjunto de datos dado. El riesgo es que podemos ser capaces de lograr mejores resultados con un modelo lineal mucho más simple.

Una solución podría ser probar una serie de algoritmos populares, que lleven al siguiente atajo.

Secuencialmente prueba las transformaciones, los modelos y los hiperparámetros

Otro enfoque consiste en abordar el problema como una serie de decisiones secuenciales.

Por ejemplo, revisar los datos y seleccionar las transformaciones de datos que hacen que los datos sean más gaussianos, eliminar los valores atípicos, etc. A continuación, pruebe un conjunto de algoritmos con hiperparámetros predeterminados y seleccione uno o varios que funcionen bien. Luego ajuste los hiperparámetros de esos modelos de alto rendimiento.

  • Cortocircuito #2: Selecciona secuencialmente transformaciones de datos, modelos e hiperparámetros de modelos.

Este es el enfoque que recomiendo para obtener buenos resultados rápidamente; por ejemplo:

Este atajo también puede ser efectivo y reduce la probabilidad de que se pierda un algoritmo que funcione bien en su conjunto de datos. La desventaja aquí es más sutil y te impacta si buscas grandes o excelentes resultados en lugar de simplemente buenos resultados rápidamente.

El riesgo de seleccionar las transformaciones de datos antes de seleccionar los modelos puede significar que se pierda la secuencia de preparación de datos que saca el máximo provecho de un algoritmo.

De manera similar, seleccionar un modelo o subconjunto de modelos antes de seleccionar los hiperparámetros del modelo significa que podría faltar un modelo con hiperparámetros distintos de los valores por defecto que funcione mejor que cualquiera de los subconjuntos de modelos seleccionados y sus configuraciones posteriores.

Dos problemas importantes en el AutoML son que (1) ningún método de aprendizaje de máquinas por sí solo funciona mejor en todos los conjuntos de datos y (2) algunos métodos de aprendizaje de máquinas (por ejemplo, los SVM no lineales) dependen crucialmente de la optimización de hiperparámetros.

– Página 115, Aprendizaje automático de máquinas: Métodos, sistemas, desafíos, 2019.

Una solución alternativa podría ser la comprobación puntual de las configuraciones buenas o de buen rendimiento de cada algoritmo como parte de la comprobación puntual del algoritmo. Esta es sólo una solución parcial.

Hay un mejor enfoque.

Recomendado:  Las 10 mejores bibliotecas de aprendizaje profundo para principiantes

Selección de algoritmos combinados y optimización de hiperparámetros

La selección de una tubería de preparación de datos, el modelo de aprendizaje de la máquina y el modelo de hiperparámetros es un problema de búsqueda.

Las posibles opciones en cada paso definen un espacio de búsqueda, y una sola combinación representa un punto en ese espacio que puede ser evaluado con un conjunto de datos.

Navegar por el espacio de búsqueda de forma eficiente se conoce como optimización global.

Esto se ha comprendido bien durante mucho tiempo en el campo del aprendizaje de las máquinas, aunque tal vez tácitamente, centrándose típicamente en un elemento del problema, como la optimización de los hiperparámetros.

Lo importante es que hay dependencias entre cada paso, lo que influye en el tamaño y la estructura del espacio de búsqueda.

… [the problem] puede considerarse como un problema de optimización de hiperparámetro jerárquico único, en el que incluso la elección del propio algoritmo se considera un hiperparámetro.

– Página 82, Aprendizaje automático de máquinas: Métodos, sistemas, desafíos, 2019.

Esto requiere que el modelo de preparación de datos y de aprendizaje automático, junto con los hiperparámetros del modelo, formen el alcance del problema de optimización y que el algoritmo de optimización sea consciente de las dependencias entre ellos.

Se trata de un difícil problema de optimización global, en particular debido a las dependencias, pero también porque la estimación del rendimiento de un modelo de aprendizaje automático en un conjunto de datos es estocástica, lo que da lugar a una ruidosa distribución de las puntuaciones de rendimiento (por ejemplo, mediante la validación cruzada repetida de k).

… el espacio combinado de los algoritmos de aprendizaje y sus hiperparámetros es muy difícil de buscar: la función de respuesta es ruidosa y el espacio es muy dimensional, implica tanto elecciones categóricas como continuas, y contiene dependencias jerárquicas (por ejemplo, los hiperparámetros de un algoritmo de aprendizaje sólo tienen sentido si se elige ese algoritmo; las elecciones de algoritmos en un método de conjunto sólo tienen sentido si se elige ese método de conjunto; etc.).

– Auto-WEKA: Selección combinada y optimización de hiperparámetros de los algoritmos de clasificación, 2012.

Este desafío fue quizás mejor caracterizado por Chris Thornton, et al. en su trabajo de 2013 titulado «Auto-WEKA: Selección combinada y optimización de hiperparámetros de los algoritmos de clasificación». En el documento, se refieren a este problema como «Selección de algoritmos combinados y optimización de hiperparámetros…o…Optimización del efectivo» para abreviar.

… un desafío natural para el aprendizaje de la máquina: dado un conjunto de datos, para elegir automática y simultáneamente un algoritmo de aprendizaje y establecer sus hiperparámetros para optimizar el rendimiento empírico. Lo llamamos el problema de selección de algoritmos combinados y optimización de hiperparámetros (corto: CASH).

– Auto-WEKA: Selección combinada y optimización de hiperparámetros de los algoritmos de clasificación, 2012.

Esta caracterización también se denomina a veces «Selección de modelo completo…o FMS para abreviar.

El problema del FMS consiste en lo siguiente: dado un conjunto de métodos de preprocesamiento, selección de características y algoritmos de aprendizaje, seleccione la combinación de éstos que obtenga el menor error de clasificación para un determinado conjunto de datos. Esta tarea incluye también la selección de hiperparámetros para los métodos considerados, lo que da lugar a un vasto espacio de búsqueda que se adapta bien a las técnicas de optimización estocástica.

– Selección del modelo de enjambre de partículas, 2009.

Recomendado:  Bienes raíces de BC: la IA se usa para buscar títulos de propiedad racistas

Thornton, y otros procedieron a utilizar algoritmos de optimización global que son conscientes de las dependencias, los llamados algoritmos de optimización global secuencial, como versiones específicas de la optimización bayesiana. Luego procedieron a implementar su enfoque para el banco de trabajo de aprendizaje automático de WEKA, llamado Proyectos AutoWEKA.

Un enfoque prometedor es la optimización bayesiana y, en particular, la optimización secuencial basada en modelos (SMBO), un marco versátil de optimización estocástica que puede funcionar tanto con hiperparámetros categóricos como continuos, y que puede explotar la estructura jerárquica derivada de los parámetros condicionales.

– Página 85, Aprendizaje automático de máquinas: Métodos, sistemas, desafíos, 2019.

Esto proporciona ahora el paradigma dominante para un campo de estudio llamado «Aprendizaje automático de la máquina…o AutoML para abreviar. El AutoML se ocupa de proporcionar herramientas que permiten a los profesionales con una capacidad técnica modesta encontrar rápidamente soluciones eficaces para las tareas de aprendizaje automático, como la clasificación y el modelado predictivo de regresión.

El AutoML tiene por objeto proporcionar sistemas de aprendizaje eficaces y listos para usar, que liberen a expertos y no expertos por igual de las tediosas y largas tareas de seleccionar el algoritmo adecuado para un conjunto de datos en cuestión, junto con el método de preprocesamiento adecuado y los diversos hiperparámetros de todos los componentes involucrados.

– Página 136, Aprendizaje automático de máquinas: Métodos, sistemas, desafíos, 2019.

Las técnicas de AutoML son proporcionadas por bibliotecas de aprendizaje automático y cada vez más como servicios, el llamado aprendizaje automático como servicio, o MLaaS para abreviar.

Más lecturas

Esta sección proporciona más recursos sobre el tema si desea profundizar en él.

Documentos

Libros

Artículos

Resumen

En este post, descubriste el desafío de la selección de modelos de aprendizaje automático y la moderna solución conocida como Optimización del Efectivo.

Específicamente, aprendiste:

  • El reto de la selección del modelo de aprendizaje de la máquina y el hiperparámetro.
  • Los atajos de usar modelos populares o de tomar una serie de decisiones secuenciales.
  • La caracterización de la selección de algoritmos combinados y la optimización de hiperparámetros que subyace al moderno AutoML.

¿Tiene alguna pregunta?
Haga sus preguntas en los comentarios de abajo y haré lo posible por responder.

Descubre el aprendizaje rápido de la máquina en Python!

Aprendizaje de la máquina maestra con Python

Desarrolle sus propios modelos en minutos

…con sólo unas pocas líneas de código de aprendizaje científico…

Aprende cómo en mi nuevo Ebook:
Dominio de la máquina de aprendizaje con la pitón

Cubre Tutoriales de auto-estudio y proyectos integrales como:
Cargando datos, visualización, modelado, tuningy mucho más…

Finalmente traer el aprendizaje automático a
Sus propios proyectos

Sáltese los académicos. Sólo los resultados.

Ver lo que hay dentro