¿Qué es el aprendizaje conjunto?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

El aprendizaje conjunto combina varios alumnos para mejorar el rendimiento predictivo. Se ha adoptado en respuesta a problemas derivados de conjuntos de datos limitados.

El aprendizaje conjunto es una técnica de machine learning que agrega dos o más aprendices (p. ej. modelos de regresión, redes neuronales) para producir mejores predicciones. En otras palabras, un modelo de conjunto combina varios modelos individuales para producir predicciones más precisas que un solo modelo.1 En ocasiones, las fuentes pueden referirse a esta técnica como aprendizaje basado en comités. El aprendizaje conjunto se basa en el principio de que un grupo de aprendices produce una mayor precisión general que un aprendiz individual.2 De hecho, las investigaciones respaldan su eficacia con modelos de machine learning y redes neuronales (CNN).

Una nota sobre la terminología: aprendiz base, modelo base y, en algunos casos, estimador base se refiere al modelo o modelos individuales utilizados en los algoritmos de conjunto. La bibliografía divide además a los aprendices de base en aprendices fuertes y aprendices débiles. Los modelos o aprendices débiles se definen como aquellos que funcionan poco mejor que las conjeturas aleatorias. Para los problemas de clasificación binaria, los clasificadores débiles son más formalmente aquellos que consiguen aproximadamente un cincuenta por ciento de precisión. Por el contrario, los modelos o aprendices fuertes logran un excelente rendimiento predictivo, que en la clasificación binaria se formaliza como una precisión igual o superior al ochenta por ciento.3

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

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados 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! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. 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é utilizar el aprendizaje conjunto?

Equilibrio entre sesgo y varianza

El equilibrio entre el sesgo y la varianza es un problema muy conocido en el machine learning y un principio que motiva muchas de técnicas de regularización. Podemos definirlos como:

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

- 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 elevada implica un alto nivel de error durante las pruebas y la validación. La generalización se refiere a los intentos de reducir la varianza.

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 comprenden la tasa de error total de un modelo, siendo el tercero el error irreducible. Este tercer término denota el error resultante de la aleatoriedad inherente a 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 conjunto

Muchos modelos frente a uno

Cualquier algoritmo de entrenamiento de modelos consta de numerosas variables, por ejemplo, los datos de entrenamiento, los hiperparámetros, etc., que afectan al error total del modelo consecuente. Así, incluso un único algoritmo de entrenamiento puede producir modelos diferentes, 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 mismo tiempo que conservan las complejidades y ventajas propias 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 de conjunto resultante. De esta manera, el aprendizaje conjunto puede abordar problemas de regresión 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 ajustan en exceso a sus datos de entrenamiento) superan a los modelos regularizados individuales.8 Además, las técnicas de aprendizaje conjunto 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 conjunto

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

- Los métodos paralelos entrenan a cada alumno base a diferenciarse de los demás. Por tanto, según su nombre, los conjuntos paralelos entrenan a los aprendices base en paralelo e independientemente unos de otros.

- Los métodos secuenciales entrenan a un nuevo aprendiz base para minimizar los errores cometidos por el modelo anterior entrenado en el paso anterior. En otras palabras, los métodos secuenciales construyen modelos base de forma secuencial por etapas.9

Diagrama que representa conjuntos paralelos frente a secuenciales.

Los métodos paralelos se dividen a su vez 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 componentes. Los conjuntos paralelos heterogéneos utilizan diferentes algoritmos para producir aprendices base.10

Votación

¿Cómo combinan los métodos de conjunto a los alumnos base en un alumno final? Algunas técnicas, por ejemplo el stacking, utilizan algoritmos de machine learning separados para entrenar a un alumno conjunto a partir de los alumnos base. Pero un método habitual para consolidar las predicciones de los alumnos base es la votación y, más concretamente, la votación por mayoría.

La votación por mayoría tiene en cuenta la predicción de cada aprendiz base para un caso de datos determinado y emite una predicción final determinada por lo que predice la mayoría de los aprendices. 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 utiliza la predicción mayoritaria como predicción final. La votación por mayoría ponderada es una extensión de esta técnica que da mayor peso a las predicciones de ciertos aprendices sobre otros.11

Técnicas de aprendizaje conjunto

Quizás tres de las técnicas de aprendizaje conjunto más populares son bagging, boosting y stacking. De hecho, todos ellos ejemplifican las distinciones entre los tipos secuencial, paralelo, homogéneo y heterogéneo de métodos de conjunto.

Tenga en cuenta que esta descripción general no es exhaustiva; existen varios métodos de conjunto adicionales, como conjuntos de mezcla y de promedio ponderado. Este artículo tiene como único objetivo examinar algunos de los métodos más destacados de la literatura.

Bagging

El bagging es un método paralelo homogéneo que a veces se denomina agregación de bootstrapp. Utiliza réplicas modificadas de un conjunto de datos de entrenamiento determinado para entrenar a varios aprendices 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 utiliza una técnica llamada remuestreo de bootstrap para derivar múltiples conjuntos de datos nuevos a partir de un conjunto de datos de entrenamiento inicial con el fin de entrenar múltiples aprendices base. ¿Cómo funciona? Digamos que un conjunto de datos de entrenamiento contiene n ejemplos de entrenamiento. El remuestreo de bootstrap copia n instancias de datos de ese conjunto en un nuevo conjunto de datos de submuestra, con algunas instancias iniciales apareciendo más de una vez y otras excluidas por completo. Estos son ejemplos de bootstrap. La repetición de 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 aprendiz base independiente con el mismo algoritmo de aprendizaje.13

Diagrama que representa el bagging en el contexto del aprendizaje conjunto.

Un bosque aleatorio es una extensión de bagging que denota específicamente el uso de bagging para construir conjuntos de árboles de decisión aleatorios. Esto difiere de los árboles de decisión estándar en que estos últimos muestrean cada característica para identificar la mejor para la división. Por el contrario, los bosques aleatorios muestrean iterativamente subconjuntos aleatorios de características para crear un nodo de decisión.14

Stacking

El stacking, o generalización apilada,15 es un método paralelo heterogéneo que ejemplifica lo que se conoce como metaaprendizaje. El metaaprendizaje consiste en entrenar a un metaaprendiz a partir de los resultados de varios aprendices base. El stacking entrena específicamente a varios aprendices base a partir del mismo conjunto de datos utilizando un algoritmo de entrenamiento diferente para cada aprendiz. Cada aprendiz base hace predicciones en un conjunto de datos no visto. Estas primeras predicciones del modelo se compilan y se utilizan para entrenar un modelo final, que es el metamodelo.16

Diagrama que representa el stacking en el contexto del aprendizaje conjunto.

Tenga en cuenta la importancia de utilizar un conjunto de datos distinto del utilizado para entrenar a los aprendices de base con el fin de entrenar al metaaprendiz. Utilizar el mismo conjunto de datos para entrenar a los aprendices base y al metaaprendiz puede dar lugar a un sobreajuste. Esto puede requerir excluir instancias de datos de los datos de entrenamiento del aprendiz base para que sirvan como datos de prueba, que a su vez se convierten en datos de entrenamiento para el metaaprendiz. La bibliografía suele recomendar técnicas como la validación cruzada para garantizar que estos conjuntos de datos no se solapen.17

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

Boosting

Los algoritmos de boosting son un método de conjunto secuencial. El boosting tiene muchas variaciones, pero todas siguen el mismo procedimiento general. El boosting entrena un aprendiz en algún conjunto de datos inicial, d. El aprendiz resultante suele ser débil y clasifica erróneamente muchas muestras del conjunto de datos. Al igual que el bagging, el boosting muestrea instancias del conjunto de datos inicial para crear un nuevo conjunto de datos (d2). Sin embargo, a diferencia del bagging, el boosting prioriza las instancias de datos mal clasificadas del primer modelo o aprendiz. Un nuevo aprendiz recibe formación sobre este nuevo conjunto de datos d2. A continuación, se compila un tercer conjunto de datos (d3) a partir de d1 y d2, que 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. A continuación, el boosting combina y pondera todos los aprendices para producir predicciones finales.18

Diagrama que representa el boosting en el contexto del aprendizaje conjunto.

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

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

- El boosting de gradiente utiliza los errores residuales al entrenar a los nuevos aprendices. En lugar de ponderar las muestras mal clasificadas, el boosting de gradiente utiliza los errores residuales de un modelo anterior para establecer predicciones objetivo para el modelo siguiente. De este modo, intenta cerrar la brecha de error dejada por un modelo.19

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

Investigación reciente

Dadas las dificultades para adquirir grandes conjuntos de datos etiquetados y de uso justo para entrenar los aprendices, el aprendizaje conjunto ha visto muchas aplicaciones en un intento de mejorar el rendimiento de los aprendices con menos datos. Por ejemplo, varios estudios recientes muestran resultados prometedores al mejorar la generalización del modelo utilizando métodos de conjunto para tareas de visión artificial, como entrenar varios modelos con diferentes representaciones de un conjunto de datos20 o combinar varios modelos sesgados.21

A pesar de la capacidad de los métodos de conjunto para mejorar la generalización, pueden sufrir injusticias. En machine learning, la equidad denota los intentos de mitigar el sesgo algorítmico (a menudo contra grupos minoritarios) en los sistemas automatizados, normalmente como resultado de aprendices entrenados con datos sensibles. Algunos estudios proponen técnicas de medición, preprocesamiento y 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 la investigación futura.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree 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 líder en IA del sector de IBM y junto a su cartera de soluciones.

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

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

Explore los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo