Inicio

Topics

Aprendizaje conjunto

¿Qué es el aprendizaje conjunto?
Explore watsonx.ai
Ilustración de estilo isométrico para aprendizaje conjunto

Publicado: 18 de marzo de 2024
Colaboradores: Jacob Murel Ph.D., Eda Kavlakoglu

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 alumnos (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 alumnos produce una mayor precisión general que un alumno individual.2 De hecho, las investigaciones respaldan su eficacia con modelos de machine learning y redes neuronales (CNN).

Una nota sobre la terminología: alumno 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 alumnos de base en alumnos fuertes y alumnos débiles. Los modelos o alumnos 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 alumnos 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 alumno débil y el alumno base, dado que los métodos de conjunto, especialmente los secuenciales, impulsan eficazmente a los aprendices débiles a aprendices fuertes.4

Realice una visita guiada de IBM watsonx

Explore IBM watsonx y aprenda a crear modelos de machine learning utilizando conjuntos de datos estadísticos.

Contenido relacionado Suscríbase al boletín de IBM
¿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

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 alumno 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

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 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 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 alumnos 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.

Embolsar

El bagging es un método paralelo homogéneo que a veces se denomina bootstrapping. Utiliza réplicas modificadas de un conjunto de datos de entrenamiento determinado 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 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 alumno base independiente con el mismo algoritmo de aprendizaje.13

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 metaalumno a partir de los resultados de varios aprendices base. El stacking entrena específicamente a varios alumnos base a partir del mismo conjunto de datos utilizando un algoritmo de entrenamiento diferente para cada alumno. Cada alumno 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

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 metaalumno. Utilizar el mismo conjunto de datos para entrenar a los alumnos base y al metaalumno puede dar lugar a un sobreajuste. Esto puede requerir excluir instancias de datos de los datos de entrenamiento del alumno base para que sirvan como datos de prueba, que a su vez se convierten en datos de entrenamiento para el metaalumno. 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.

Impulsar

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 a un alumno en algún conjunto de datos inicial, d. El alumno 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 alumno. Un nuevo alumno 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 alumno y las instancias en las que d1 y d2 no están de acuerdo. El proceso se repite n veces para producir n alumnos. A continuación, el boosting combina y pondera a todos los alumnos para producir predicciones finales.18

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 a los alumnos, el aprendizaje conjunto ha visto muchas aplicaciones en un intento de mejorar el rendimiento de los alumnos 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 el 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.

Dé el siguiente paso

Cree una estrategia de IA para su empresa en una plataforma colaborativa de IA y datos: IBM watsonx. Entrene, valide, ajuste e implemente modelos de IA para ayudarle a escalar y acelerar el impacto de la misma con datos de confianza en toda su empresa.

Explore watsonx Solicite una demostración en directo
Notas a pie de página

1 Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012.

2 Gavin Brown, “Ensemble Learning”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017.

3 Gautam Kunapuli. Ensemble Methods for Machine Learning. Manning Publications. 2023. Lior Rokach. Pattern Classification Using Ensemble Methods. World Scientific Publishing Company. 2010.

4 Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012.

5 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani y Jonathan Taylor. An Introduction to Statistical Learning with Applications in Python. Springer. 2023.

6 George Kyriakides y Konstantinos G. Margaritis. Hands-On Ensemble Learning with Python. Packt Publishing. 2019.

7 Zhi-Hua Zhou. Machine Learning. Traducido por Shaowu Liu. Springer. 2021. George Kyriakides y Konstantinos G. Margaritis. Hands-On Ensemble Learning with Python. Packt Publishing. 2019.

8 Peter Sollich y Anders Krogh. "Learning with ensembles: How overfitting can be useful". Advances in Neural Information Processing Systems. Vol. 8. 1995. https://papers.nips.cc/paper_files/paper/1995/hash/1019c8091693ef5c5f55970346633f92-Abstract.html (enlace externo a ibm.com).

9 Gautam Kunapuli. Ensemble Methods for Machine Learning. Manning Publications. 2023.

10 Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012.

11 Ibomoiye Domor Mienye y Yanxia Sun. “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects”. IEEE Access. Vol. 10. 2022. Págs 99129-99149. https://ieeexplore.ieee.org/document/9893798 (enlace externo a ibm.com). Lior Rokach. “Ensemble-based Classifiers”. Artificial Intelligence Review. Vol. 33. 2010. Págs. 1-39. https://link.springer.com/article/10.1007/s10462-009-9124-7 (enlace externo a ibm.com).

12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince y F. Herrera. "A Review on Ensembles for the Class Imbalance Problem: Bagging-, Boosting-, and Hybrid-Based Approaches". IEEE Transactions on Systems, Man, and Cybernetics. Vol. 42. N.º 4. 2012. Págs. 463-484. https://ieeexplore.ieee.org/document/5978225 (enlace externo a ibm.com).

13 Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012.

14 Gautam Kunapuli. Ensemble Methods for Machine Learning. Manning Publications. 2023.

15 Robi Palikar. “Ensemble Learning”. Ensemble Machine Learning: Methods and Applications. Springer. 2012.

16 Ibomoiye Domor Mienye y Yanxia Sun. “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects”. IEEE Access. Vol. 10. 2022. Págs. 99129-99149. https://ieeexplore.ieee.org/document/9893798 (enlace externo a ibm.com).

17 Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012. Gautam Kunapuli. Ensemble Methods for Machine Learning. Manning Publications. 2023.

18 Robi Palikar. “Ensemble Learning”. Ensemble Machine Learning: Methods and Applications. Springer. 2012. Zhi-Hua Zhou. Ensemble Methods: Foundations and Algorithms. CRC Press. 2012.

19 Gautam Kunapuli. Ensemble Methods for Machine Learning. Manning Publications. 2023.

20 Devesh Walawalkar, Zhiqiang Shen y Marios Savvides. "Online Ensemble Model Compression Using Knowledge Distillation". 2020. Págs. 18-35. https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2 (enlace externo a ibm.com).

21 Xinzhe Han, Shuhui Wang, Chi Su, Qingming Huang y Qi Tian. "Greedy Gradient Ensemble for Robust Visual Question Answering". Actas de la conferencia internacional IEEE/CVF sobre visión artificial (ICCV). 2021. Págs. 1584-1593. https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html (enlace externo a ibm.com).

22 Usman Gohar, Sumon Biswas y Hridesh Rajan. "Towards Understanding Fairness and its Composition in Ensemble Machine Learning". 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). 2023, pp. 1533-1545. https://ieeexplore.ieee.org/abstract/document/10172501 (enlace externo a ibm.com). Khaled Badran, Pierre-Olivier Côté, Amanda Kolopanis, Rached Bouchoucha, Antonio Collante, Diego Elias Costa, Emad Shihab y Foutse Khomh. "Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness?" Computer. Vol. 56. N.º 4. 2023. Págs. 71-79. https://ieeexplore.ieee.org/abstract/document/10098174 (enlace externo a ibm.com). Swanand Kadhe, Anisa Halimi, Ambrish Rawat y Nathalie Baracaldo. "FairSISA: Ensemble Post-Processing to Improve Fairness of Unlearning in LLMs". Socially Responsible Language Modelling Research Workshop. 2023. https://neurips.cc/virtual/2023/78908 (enlace externo a ibm.com).