¿Qué es el aprendizaje por conjuntos?

Vista aérea de la autopista de Los Ángeles

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 machine learning que agrega dos o más aprendices (por ejemplo, modelos de regresión o neural networks) para producir mejores predicciones. En otras palabras, un modelo ensemble combina varios modelos individuales para producir predicciones más precisas que un único modelo por sí solo.1 En ocasiones, las fuentes pueden referir 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 global que un aprendiz individual.2 De hecho, la investigación apoya su eficacia con modelos de machine learning y neural networks convolucionales (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 conjuntos. La literatura divide aún más a los aprendices de base en aprendices fuertes y aprendices débiles. Los modelos débiles o aprendices se definen como aquellos que se desempeñan poco mejor que las conjeturas aleatorias. Para los problemas de clasificación binaria, los clasificadores débiles son más formalmente aquellos que logran una precisión de aproximadamente el cincuenta por ciento. Por el contrario, los modelos o aprendices sólidos logran un excelente rendimiento predictivo, que en la clasificación binaria se formaliza como igual o superior al ochenta por ciento de precisión.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

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿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

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

La investigación sugiere que, en general, cuanto mayor sea la diversidad entre los modelos combinados, más preciso será el modelo de conjunto resultante. Por lo tanto, el aprendizaje de conjuntos puede abordar problemas de regresión, como el sobreajuste, sin sacrificar el sesgo del modelo. De hecho, la investigación sugiere que los conjuntos compuestos por modelos diversificados poco regularizados (es decir, 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 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

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 conjunto a los aprendices base en un aprendiz final? Algunas técnicas, por ejemplo el apilamiento, utilizan algoritmos de machine learning separados para entrenar a un aprendiz conjunto a partir de los aprendices base. Pero un método habitual para consolidar las predicciones de los aprendices 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 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 aprendices que a las de otros.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 denominado agregación bootstrap. Utiliza réplicas modificadas de un conjunto de datos de entrenamiento dado para entrenar múltiples 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 específicamente, el bagging utiliza una técnica llamada bootstrap para derivar varios conjuntos de datos nuevos a partir de un conjunto de datos inicial con el fin de entrenar a varios aprendiz de base. ¿Cómo funciona? Digamos que un conjunto de datos contiene n ejemplos de entrenamiento. El Bootstrap copia n instancias de datos de ese conjunto en un nuevo conjunto de datos de submuestra, con algunas instancias iniciales que aparecen más de una vez y otras se excluyen por completo. Estos son ejemplos de bootstrap. Repetir este proceso x veces produce x iteraciones del conjunto de datos original, cada una con n muestras del conjunto inicial. Luego, cada iteración del conjunto inicial se utiliza para entrenar a un aprendiz base diferente con el mismo algoritmo de aprendizaje.13

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

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 aprendiz 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 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 derefuerzo son un método de conjunto secuencial. El refuerzo tiene muchas variantes, pero todas siguen el mismo procedimiento general. Boosting capacita a un aprendiz en un 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 da prioridad a las instancias de datos mal clasificadas del primer modelo o aprendiz. Se capacita un nuevo aprendiz en este nuevo conjunto de datos d2. A continuación, se compila un tercer conjunto de datos(d3) a partir de d1 y d2, priorizando las muestras mal clasificadas del segundo aprendiz y los casos en los que d1 y d2 no coinciden. El proceso se repite n veces para producir n aprendices. A continuación, el refuerzo combina y pondera todos los aprendices para producir las predicciones finales.18

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 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 aprendiz, AdaBoost añade ponderaciones a las muestras mal clasificadas del aprendiz anterior, lo que hace que el siguiente aprendiz 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 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.

Mixture of Experts | 28 de agosto, episodio 70

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

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.

Explore watsonx.ai
Soluciones de inteligencia artificial

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

Explore las soluciones de IA
Consultoría y servicios de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.

Explore 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
Notas de 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.

9 Gautam Kunapuli, Métodos de conjunto para el machine learning, Manning Publications, 2023.

10 Zhi-Hua Zhou, Métodos de Ensamble: Fundamentos y Algoritmos, CRC Press, 2012.

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

12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince and 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, No. 4, 2012, pp. 463-484, https://ieeexplore.ieee.org/document/5978225.

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

14 Gautam Kunapuli, Métodos de conjunto para el machine learning, Manning Publications, 2023.

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

16 Ibomoiye Domor Mienye and Yanxia Sun, “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects,” IEEE Access, Vol. 10, 2022, pp. 99129-99149, https://ieeexplore.ieee.org/document/9893798.

17 Zhi-Hua Zhou, Métodos de conjunto: fundamentos y algoritmos, CRC Press, 2012. Gautam Kunapuli, Métodos de conjunto para machine learning, Manning Publications, 2023.

18 Robi Palikar, “Ensemble Learning”, Ensemble Machine Learning: Métodos y aplicaciones, Springer, 2012. Zhi-Hua Zhou, Métodos de Ensamble: Fundamentos y Algoritmos, CRC Press

, 2012.

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

20 Devesh Walawalkar, Zhiqiang Shen, and 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.

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 por Computadora (ICCV), 2021, pp. 1584-1593, https:\/\/openaccess.thecvf.com\/content\/ICCV2021\/html\/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html.

22 Usman Gohar, Sumon Biswas, and Hridesh Rajan, "Towards Understanding Fairness and its Composition in Ensemble machine learning," 2023 IEEE/ACM 45th International conferencia on Software Engineering (ICSE), 2023, pp. 1533-1545, https:\/\/ieeexplore.ieee.org\/abstract\/document\/10172501. 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, No. 4, 2023, pp. 71-79, https:\/\/ieeexplore.ieee.org\/abstract\/document\/10098174. 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.