Saltar al contenido

Una suave introducción a la diversidad de conjuntos para el aprendizaje automático

4 de junio de 2021

El aprendizaje por conjuntos combina las predicciones de los modelos de aprendizaje automático para clasificación y regresión.

Buscamos utilizar métodos de conjunto para lograr rendimiento predictivo mejorado, y es esta mejora sobre cualquiera de los modelos contribuyentes lo que define si un conjunto es bueno o no.

Una propiedad que está presente en un buen conjunto es la diversidad de las predicciones hechas por los modelos contribuyentes. La diversidad es un concepto escurridizo ya que no se ha definido con precisión; no obstante, proporciona una heurística práctica útil para diseñar buenos modelos de conjuntos.

En este post, descubrirás diversidad de conjuntos en aprendizaje automático.

Después de leer esta publicación, sabrá:

  • Un buen conjunto es aquel que tiene un mejor desempeño que cualquier modelo que contribuya.
  • La diversidad de conjuntos es una propiedad de un buen conjunto en el que los modelos contribuyentes cometen diferentes errores para la misma entrada.
  • La búsqueda de modelos independientes y predicciones no correlacionadas proporciona una guía para pensar e introducir la diversidad en los modelos de conjunto.

Pon en marcha tu proyecto con mi nuevo libro Ensemble Learning Algorithms With Python, que incluye tutoriales paso a paso y el Código fuente de Python archivos para todos los ejemplos.

Empecemos.

Una suave introducción a la diversidad de conjuntos para el aprendizaje automático

Una suave introducción a la diversidad de conjuntos para el aprendizaje automático
Foto de Bernd Thaller, algunos derechos reservados.

Descripción general del tutorial

Este tutorial se divide en tres partes; ellos son:

  1. Qué hace a un buen conjunto
  2. ¿Qué es la diversidad de conjuntos?
  3. Métodos para aumentar la diversidad

Qué hace a un buen conjunto

Un conjunto es un modelo de aprendizaje automático que combina las predicciones de muchos otros modelos.

Esto a menudo tiene el efecto de reducir el error de predicción y mejorar la generalización del modelo. Pero este no es siempre el caso.

A veces, el conjunto no se desempeña mejor que un miembro que contribuye bien al conjunto. Peor aún, a veces un conjunto se desempeñará peor que cualquier miembro que contribuya.

Esto plantea la pregunta de qué hace un buen conjunto.

Un buen conjunto es un conjunto que se desempeña mejor que cualquier miembro que contribuya. Es decir, es un modelo que tiene un menor error de predicción para la regresión o una mayor precisión para la clasificación.

  • Buen conjunto: Un modelo que funciona mejor que cualquier modelo contribuyente.

Esto se puede evaluar empíricamente usando un tren y un conjunto de prueba o una técnica de remuestreo como la validación cruzada de k-fold. Los resultados se pueden estimar de manera similar para cada modelo contribuyente y los resultados se pueden comparar directamente para ver si la definición de un «buen conjunto» se cumple.

¿Qué propiedades de un buen conjunto lo diferencian de otros conjuntos que se desempeñan tan bien o peor que cualquier miembro contribuyente?

Esta es una pregunta ampliamente estudiada con muchas ideas. La consistencia es que un buen conjunto tiene diversidad.

¿Qué es la diversidad de conjuntos?

La diversidad del conjunto se refiere a las diferencias en las decisiones o predicciones hechas por los miembros del conjunto.

La diversidad de conjuntos, es decir, la diferencia entre los alumnos individuales, es un tema fundamental en los métodos de conjuntos.

– Página 99, Métodos de conjunto, 2012.

Recomendado:  Generación de datos sintéticos mediante una red generativa de adversarios (GAN) con PyTorch - Visual Studio Magazine

Dos miembros del conjunto que hacen predicciones idénticas se consideran no diversos.

Los conjuntos que hacen predicciones completamente diferentes en todos los casos son sumamente diversos, aunque esto es muy poco probable.

Cometer diferentes errores en cualquier muestra dada es de suma importancia en los sistemas basados ​​en conjuntos. Después de todo, si todos los miembros del conjunto proporcionan el mismo resultado, no se gana nada con su combinación.

– Página 5, Ensemble Machine Learning, 2012.

Por lo tanto, se desea o incluso se requiere cierto nivel de diversidad en las predicciones para construir un buen conjunto. Esto a menudo se simplifica en la discusión al deseo de miembros del conjunto diversos, por ejemplo, los modelos mismos, que a su vez producirán predicciones diversas, aunque lo que realmente buscamos es la diversidad en las predicciones.

Idealmente, la diversidad significaría que las predicciones hechas por cada miembro del conjunto son independientes y no están correlacionadas.

… Las salidas del clasificador deben ser independientes o preferiblemente correlacionadas negativamente.

– Página 5, Ensemble Machine Learning, 2012.

La independencia es un término de la teoría de la probabilidad y se refiere al caso en el que un evento no influye en la probabilidad de que ocurra otro evento. Los eventos pueden influirse entre sí de muchas formas diferentes. Un conjunto puede influir en otro si intenta corregir las predicciones hechas por él.

Como tal, dependiendo del tipo de conjunto, los modelos pueden ser naturalmente dependientes o independientes.

  • Independencia: Si la ocurrencia de un evento afecta la probabilidad de eventos posteriores.

La correlación es un término de las estadísticas y se refiere a dos variables que cambian juntas. Es común calcular una puntuación de correlación normalizada entre -1,0 y 1,0 donde una puntuación de 0,0 indica que no hay correlación, por ejemplo, no correlacionada. Una puntuación de 1.0 o -1.0 indica una correlación perfecta positiva y negativa respectivamente e indica dos modelos que siempre predicen el mismo resultado (o inverso).

… si los alumnos son independientes, es decir, [correlation] = 0, el conjunto logrará un factor T de reducción del error que los alumnos individuales; si los alumnos están totalmente correlacionados, es decir, [correlation] = 1, no se pueden obtener ganancias de la combinación.

– Página 99, Métodos de conjunto, 2012.

En la práctica, los conjuntos suelen mostrar una correlación positiva débil o modesta en sus predicciones.

  • Correlación: El grado en que las variables cambian juntas.

Como tales, los modelos de conjuntos se construyen a partir de modelos constituyentes que pueden tener o no alguna dependencia y alguna correlación entre las decisiones o predicciones realizadas. Construir buenos conjuntos es una tarea desafiante.

Por ejemplo, la combinación de varios modelos de alto rendimiento probablemente resultará en un conjunto deficiente, ya que las predicciones hechas por los modelos estarán altamente correlacionadas. De manera poco intuitiva, es mejor que combine las predicciones de algunos modelos individuales de alto rendimiento con la predicción de algunos modelos más débiles.

Por lo tanto, se desea que los alumnos individuales sean precisos y diversos. Combinar solo alumnos precisos es a menudo peor que combinar algunos precisos junto con algunos relativamente débiles, ya que la complementariedad es más importante que la precisión pura.

– Página 100, Métodos de conjunto, 2012.

Recomendado:  Investigadores que utilizan inteligencia artificial para ayudar con la detección temprana del trastorno del espectro autista

Lamentablemente, no existe una medida generalmente aceptada de la diversidad de conjuntos y las ideas de independencia y correlación son solo guías o sustitutos para pensar en las propiedades de los buenos conjuntos.

Desafortunadamente, aunque la diversidad es crucial, todavía no tenemos una comprensión clara de la diversidad; por ejemplo, actualmente no existe una definición formal de diversidad bien aceptada.

– Página 100, Métodos de conjunto, 2012.

Sin embargo, como guías, son útiles ya que podemos idear técnicas que intenten reducir la correlación entre los modelos.

¿Quiere empezar con Ensemble Learning?

Realice ahora mi curso intensivo gratuito de 7 días por correo electrónico (con código de muestra).

Haga clic para registrarse y obtener también una versión gratuita en formato PDF del curso.

Descarga tu minicurso GRATIS

Métodos para aumentar la diversidad

El objetivo de desarrollar buenos conjuntos se considera a través de la lente de aumentar la diversidad de los miembros del conjunto.

Los modelos de un conjunto pueden ser más dependientes si comparten el mismo algoritmo utilizado para entrenar el modelo y / o el mismo conjunto de datos utilizado para entrenar el modelo. Los modelos de un conjunto pueden tener una mayor correlación entre sus predicciones por las mismas razones generales.

Por lo tanto, son deseables enfoques que hagan que los modelos y / o los datos de entrenamiento sean más diferentes.

La diversidad se puede obtener a través de diferentes presentaciones de los datos de entrada, como en el empaquetado, variaciones en el diseño del alumno o agregando una penalización a los resultados para fomentar la diversidad.

– Página 93, Clasificación de patrones utilizando métodos de conjunto, 2010.

Puede resultar útil tener un marco para pensar en las técnicas para gestionar la diversidad de conjuntos, y hay muchas para elegir.

Por ejemplo, Zhi-Hua Zhou en el Capítulo 5 de su libro de 2012 titulado “Métodos de conjunto: fundamentos y algoritmos” propone un marco de cuatro enfoques para generar diversidad. En resumen, son:

  • Manipulación de muestras de datos: por ejemplo, muestrear el conjunto de datos de entrenamiento de forma diferente para cada modelo.
  • Manipulación de características de entrada: por ejemplo, entrene cada modelo en diferentes grupos de características de entrada.
  • Manipulación de parámetros de aprendizaje: por ejemplo, modelos de trenes con diferentes valores de hiperparámetros.
  • Manipulación de la representación de salida: por ejemplo, modelos de trenes con valores objetivo modificados de forma diferente.

Quizás los enfoques más comunes son cambios en los datos de entrenamiento, es decir, muestras de datos y características de entrada, a menudo combinadas en un solo enfoque.

Recomendado:  Bibliotecas de aprendizaje automático (AutoML) para Python

Para otro ejemplo de una taxonomía para generar un conjunto diverso, Lior Rokach en el Capítulo 4 de su libro de 2010 titulado “Clasificación de patrones usando métodos de conjuntos” sugiere una taxonomía similar, resumida como:

  • Manipulación del inductor, por ejemplo, manipulando cómo se entrenan los modelos.
    • Varíe los hiperparámetros.
    • Punto de partida variable.
    • Varíe el algoritmo de optimización.
  • Manipulación de la muestra de entrenamiento, por ejemplo, manipulando los datos utilizados para la formación.
  • Cambiar la representación del atributo de destino, por ejemplo, manipulando la variable de destino.
    • Varíe la codificación.
    • Códigos de corrección de errores.
    • Cambio de etiqueta.
  • Partición del espacio de búsqueda, por ejemplo, manipulando el número de características de entrada.
    • Subespacio aleatorio.
    • Selección de características.
  • Hibridación, por ejemplo, tipos de modelos variables o una combinación de los métodos anteriores.

El enfoque de hibridación es común tanto en los métodos de conjuntos populares que combinan múltiples enfoques para generar diversidad en un solo algoritmo, como en simplemente variar los algoritmos (tipos de modelos) que componen el conjunto.

La combinación de modelos competidores en conjuntos casi siempre mejora la generalización, y el uso de diferentes algoritmos como operador de perturbación es una forma eficaz de obtener la diversidad de componentes necesaria.

– Página 89, Métodos de conjunto en minería de datos, 2010.

Esto resalta que aunque podríamos investigar cuantificando cuán diverso es un conjunto, en cambio, la mayor parte del esfuerzo está en desarrollar técnicas que generen diversidad.

Podemos aprovechar este conocimiento para desarrollar nuestros propios métodos de conjunto, primero probando métodos de aprendizaje de conjunto estándar y bien entendidos, luego adaptándolos para nuestro conjunto de datos específico con la independencia del modelo y la correlación de predicciones en mente en un esfuerzo por aprovecharlos al máximo.

Otras lecturas

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

Libros

Artículos

Resumen

En esta publicación, descubrió la diversidad de conjuntos en el aprendizaje automático.

Específicamente, aprendiste:

  • Un buen conjunto es aquel que tiene un mejor desempeño que cualquier modelo que contribuya.
  • La diversidad de conjuntos es una propiedad de un buen conjunto en el que los modelos contribuyentes cometen diferentes errores para la misma entrada.
  • La búsqueda de modelos independientes y predicciones no correlacionadas proporciona una guía para pensar e introducir la diversidad en los modelos de conjunto.

¿Tiene usted alguna pregunta?
Haga sus preguntas en los comentarios a continuación y haré todo lo posible para responder.

¡Controle el aprendizaje conjunto moderno!

Algoritmos de aprendizaje por conjuntos con Python

Mejore sus predicciones en minutos

… con solo unas pocas líneas de código Python

Descubra cómo en mi nuevo libro electrónico:
Algoritmos de aprendizaje por conjuntos con Python

Proporciona tutoriales de autoaprendizaje con código de trabajo completo en:
Apilado, Votación, Impulso, Harpillera, Mezcla, Súper aprendiz, y mucho más…

Lleve las técnicas modernas de aprendizaje por conjuntos a
Sus proyectos de aprendizaje automático

Mira lo que hay dentro