¿Qué es el aprendizaje por conjuntos?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

El aprendizaje por conjuntos combina múltiples aprendices para mejorar el rendimiento predictivo. Se adoptó en respuesta a problemas derivados de conjuntos de datos limitados.

El aprendizaje por conjuntos es una técnica de aprendizaje automático que agrega dos o más aprendices (por ejemplo, modelos de regression , redes neuronales) para producir mejores predicciones. En otras palabras, un modelo por conjuntos combina varios modelos individuales para producir predicciones más precisas que un solo modelo.1 A veces, las fuentes pueden referirse a esta técnica como aprendizaje basado en comités. El aprendizaje por conjuntos se basa en el principio de que una colectividad de aprendices produce una mayor precisión general que un aprendiz individual.2 De hecho, la investigación respalda su eficacia con modelos de aprendizaje automático y neural networks (CNN).

Una nota sobre la terminología: aprendiz base, modelo base y, en algunos casos, estimador base se refieren al modelo o modelos individuales empleados en algoritmos de conjuntos. La literatura divide además a los estudiantes básicos en estudiantes fuertes y estudiantes débiles. Los modelos o aprendices débiles se definen como aquellos cuyo desempeño es apenas un poco mejor que el de adivinar al azar. Para los problemas de clasificación binaria, los clasificadores débiles son formalmente aquellos que logran una precisión de aproximadamente el cincuenta por ciento. Por el contrario, los modelos o aprendices fuertes logran un excelente desempeño predictivo, que en la clasificación binaria se formaliza como una precisión igual o mayor al ochenta por ciento.3

Tenga en cuenta que algunas fuentes combinan el aprendiz débil y el aprendiz base dado que los métodos de conjunto, particularmente los secuenciales, impulsan efectivamente a los aprendices débiles a aprendices fuertes.4

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Por qué emplear el aprendizaje por conjuntos?

Compensación entre sesgo y varianza

La compensación de sesgos y varianza es un problema bien conocido en machine learning y un principio motivador detrás de muchas técnicas de regularización . Podemos definirlos como:

- El sesgo mide la diferencia promedio entre los valores predichos y los valores verdaderos. A medida que aumenta el sesgo, un modelo predice con menor precisión en un conjunto de datos de entrenamiento. Un alto sesgo se refiere a un alto error en el entrenamiento. La optimización significa intentos de reducir el sesgo.

- La varianza mide la diferencia entre las predicciones en varias realizaciones de un modelo determinado. A medida que aumenta la varianza, un modelo predice con menos precisión sobre datos no vistos. Una varianza alta se refiere a un error alto durante las pruebas y la validación. La generalización se refiere a los intentos de reducir la varianza.

Por lo tanto, el sesgo y la varianza representan inversamente la precisión del modelo en los datos de entrenamiento y prueba respectivamente.5 Son dos de los tres términos que componen la tasa de error total de un modelo, siendo el tercero el error irreducible. Este tercer término denota un error resultante de la aleatoriedad inherente en un conjunto de datos. El error total del modelo se puede definir mediante la fórmula:6

Fórmula de error total para el aprendizaje por conjuntos

Muchos modelos frente a uno

Cualquier algoritmo de entrenamiento de un modelo consta de numerosas variables, por ejemplo, datos de entrenamiento, hiperparámetros, etc., que afectan el error total del modelo consecuente. Por lo tanto, incluso un único algoritmo de entrenamiento puede producir diferentes modelos, cada uno con su propio sesgo, varianza y tasas de error irreducibles. Al combinar varios modelos diversos, los algoritmos de conjunto pueden producir una tasa de error general más baja, al tiempo que conservan las complejidades y beneficios propios de cada modelo individual, como un sesgo notablemente bajo para un subconjunto de datos específico.7

Las investigaciones sugieren que, en general, cuanto mayor sea la diversidad entre los modelos combinados, más preciso será el modelo del conjunto resultante. De esta manera, el aprendizaje conjunto puede abordar problemas de regression como el sobreajuste sin eliminar el sesgo del modelo. De hecho, las investigaciones sugieren que los conjuntos compuestos por diversos modelos subregularizados (es decir, los modelos que se sobreajustan a sus datos de entrenamiento) superan a los modelos regularizados individuales.8 Además, las técnicas de aprendizaje por conjuntos pueden ayudar a resolver problemas derivados de datos de alta dimensión y, por lo tanto, servir eficazmente como una alternativa a la reducción de la dimensionalidad.

Tipos de modelos de conjuntos

La literatura clasifica ampliamente los métodos de aprendizaje por conjuntos en el machine learning en dos grupos: paralelo y secuencial.

- Los métodos paralelos capacitan a cada aprendiz base aparte de los demás. Por su nombre, entonces, los conjuntos paralelos capacitan a los aprendices base en paralelo e independientes entre sí.

- Los métodos secuenciales capacitan a un nuevo aprendiz base para que minimice los errores cometidos por el modelo anterior capacitado en el paso anterior. En otras palabras, los métodos secuenciales construyen modelos base secuencialmente en etapas.9

Diagrama que representa conjuntos paralelos frente a secuenciales.

Los métodos paralelos se dividen además en métodos homogéneos y heterogéneos. Los conjuntos paralelos homogéneos utilizan el mismo algoritmo de aprendizaje base para producir todos los aprendices base de componentes. Los conjuntos paralelos heterogéneos utilizan diferentes algoritmos para producir aprendices base.10

Votación

¿Cómo combinan los métodos de conjuntos a los aprendices base en un aprendiz final? Algunas técnicas, por ejemplo, apilamiento, utilizan algoritmos de aprendizaje automático separados para capacitar a un aprendiz conjunto a partir de los aprendices base. Pero un método común para consolidar las predicciones base de los aprendices es la votación, y más precisamente, la votación mayoritaria.

La votación por mayoría tiene en cuenta la predicción de cada alumno base para un caso de datos determinado y emite una predicción final determinada por lo que predice la mayoría de los alumnos. Por ejemplo, en un problema de clasificación binaria, la votación por mayoría toma las predicciones de cada clasificador base para una instancia de datos dada y emplea la predicción mayoritaria como predicción final. El voto por mayoría ponderada es una extensión de esta técnica que da más peso a las predicciones de ciertos alumnos que a las deotros.11

Técnicas de aprendizaje por conjuntos

Quizás tres de las técnicas de aprendizaje por conjuntos más populares son el bagging, el impulso y el apilamiento. De hecho, estos juntos ejemplifican las distinciones entre tipos secuenciales, paralelos, homogéneos y heterogéneos de los métodos de conjuntos.

Tenga en cuenta que esta descripción general no es exhaustiva; existen varios métodos de conjunto adicionales, como la combinación y los conjuntos de promedio ponderado. Esto simplemente pretende examinar algunos de los métodos más destacados en la literatura.

Bagging

El bagging es un método paralelo homogéneo a veces llamado agregación bootstrap. Utiliza réplicas modificadas de un conjunto de datos de entrenamiento dado para entrenar a varios alumnos base con el mismo algoritmo de entrenamiento.12 El módulo de conjunto de Scikit-Learn en Python contiene funciones para implementar el bagging, como BaggingClassifier.

Más concretamente, el bagging emplea una técnica denominada remuestreo bootstrap para derivar múltiples conjuntos de datos nuevos a partir de un conjunto de datos de entrenamiento inicial con el fin de capacitar múltiples aprendices base. ¿Cómo funciona? Supongamos que un conjunto de datos de entrenamiento contiene n ejemplos de entrenamiento. El remuestreo bootstrap copia n instancias de datos de ese conjunto en un nuevo conjunto de datos de submuestra, en el que algunas instancias iniciales aparecen más de una vez y otras se excluyen por completo. Estas son muestras de bootstrap. Repetir este proceso x veces produce x iteraciones del conjunto de datos original, cada una de las cuales contiene n muestras del conjunto inicial. Cada iteración del conjunto inicial se utiliza para entrenar a un alumno base separado con el mismo algoritmo de aprendizaje.13

Diagrama que representa el bagging en el contexto del aprendizaje por conjuntos.

El bosque aleatorio es una extensión del bagging que denota específicamente el uso de bagging para construir conjuntos de árboles de decisión aleatorios. Esto difiere de los decision trees estándar en que este último muestrea cada característica para identificar lo mejor para dividir. Por el contrario, los bosques aleatorios muestrean iterativamente subconjuntos aleatorios de características para crear un nodo de decisión.14

Apilamiento

El apilamiento, o generalización apilada,15 es un método paralelo heterogéneo que ejemplifica lo que se conoce como meta aprendizaje. El meta aprendizaje consiste en capacitar a un meta aprendiz a partir de la producción de varios aprendices base. El apilamiento capacita específicamente a varios alumnos base a partir del mismo conjunto de datos empleando un algoritmo de entrenamiento diferente para cada alumno. Cada aprendiz base hace predicciones en un conjunto de datos no visto. Estas primeras predicciones del modelo se compilan y se emplean para capacitar un modelo final, que es el meta modelo.16

Diagrama que representa el apilamiento en el contexto del aprendizaje por conjuntos.

Tenga en cuenta la importancia de emplear un conjunto de datos diferente del empleado para capacitar a los aprendices base para entrenar al meta aprendiz. El uso del mismo conjunto de datos para capacitar a los aprendices base y al meta aprendiz puede resultar en un sobreajuste. Esto puede requerir excluir instancias de los datos de entrenamiento del aprendiz base para que sirvan como datos de su conjunto de prueba, que a su vez se convierten en datos de entrenamiento para el meta aprendiz. La literatura a menudo recomienda técnicas como la validación cruzada para garantizar que estos conjuntos de datos no se superpongan.17

Al igual que el bagging, el módulo sklearn.ensemble en Python proporciona varias funciones para implementar técnicas de apilamiento.

Boosting

Los algoritmos de refuerzo son un método de conjunto secuencial. El impulso tiene muchas variaciones, pero todas siguen el mismo procedimiento general. Boosting capacita a un aprendiz en algún conjunto de datos inicial, d. El aprendiz resultante suele ser débil, ya que clasifica erróneamente muchas muestras en el conjunto de datos. Al igual que el bagging, el boosting toma muestras de instancias del conjunto de datos inicial para crear un nuevo conjunto de datos (d2). Sin embargo, a diferencia del bagging, el impulso prioriza las instancias de datos mal clasificados del primer modelo o aprendiz. Un nuevo aprendiz recibe capacitación sobre este nuevo conjunto de datos d2. Luego, se compila un tercer conjunto de datos (d3) a partir de d1 y d2, prioriza las muestras mal clasificadas del segundo aprendiz y las instancias en las que d1 y d2 no están de acuerdo. El proceso se repite n veces para producir n aprendices. Luego, Boosting combina y pondera a todos los aprendices para producir predicciones finales.18

Diagrama que representa el impulso en el contexto del aprendizaje por conjuntos.

Los algoritmos de refuerzo difieren en gran medida en cómo priorizan las instancias de datos predichas erróneamente al crear un nuevo conjunto de datos. Dos de los métodos de refuerzo más destacados pueden ilustrarlo:

- El impulso adaptativo (AdaBoost) pondera los errores del modelo. Es decir, al crear una nueva iteración de un conjunto de datos para capacitar al siguiente alumno, AdaBoost agrega ponderaciones a las muestras mal clasificadas del alumno anterior, lo que hace que el siguiente alumno priorice esas muestras mal clasificadas.

- El aumento del gradiente utiliza errores residuales al capacitar a los nuevos aprendices. En lugar de ponderar muestras mal clasificadas, el aumento de gradiente emplea errores residuales de un modelo anterior para establecer predicciones objetivo para el siguiente modelo. De esta manera, intenta cerrar la brecha de error que deja un modelo.19

Desafortunadamente, sklearn no contiene funciones predefinidas para implementar el aumento. Sin embargo, la biblioteca de código abierto Extreme Gradient Boosting (XGBoost) proporciona código para implementar el aumento de gradiente en Python.

Investigación reciente

Dadas las dificultades para adquirir grandes conjuntos de datos etiquetados y de uso justo para capacitar a los estudiantes, el aprendizaje por conjuntos tuvo muchas aplicaciones en un intento de mejorar el desempeño de los estudiantes con menos datos. Por ejemplo, varios estudios recientes muestran resultados prometedores en la mejora de la generalización de modelos por medio de métodos de conjunto para tareas de visión artificial, como el entrenamiento de varios modelos con diferentes representaciones de un conjunto de datos20 o la combinación de varios modelos sesgados.21

A pesar de la capacidad de los métodos de conjunto para mejorar la generalización, pueden sufrir injusticias. En el machine learning, la equidad denota intentos de aliviar el sesgo algorítmico (a menudo contra grupos minoritarios) en sistemas automatizados, generalmente como resultado de aprendices capacitados con datos confidenciales. Un puñado de estudios proponen métricas, preprocesamiento y técnicas de posprocesamiento para mejorar la equidad en los modelos de conjuntos.22 Los esfuerzos continuos para mejorar la equidad y las prácticas éticas en la IA siguen siendo un área muy necesaria para futuras investigaciones.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo