Fundamentos de la IA

¿Qué es el Aprendizaje de Conjunto?

mm
Añade Unite.AI a tus fuentes preferidas en Google

Una de las técnicas de aprendizaje automático más potentes es el aprendizaje de conjunto. El aprendizaje de conjunto es el uso de múltiples modelos de aprendizaje automático para mejorar la confiabilidad y precisión de las predicciones. Sin embargo, ¿cómo el uso de múltiples modelos de aprendizaje automático conduce a predicciones más precisas? ¿Qué técnicas se utilizan para crear modelos de aprendizaje de conjunto? Exploraremos la respuesta a estas preguntas, analizando la razón detrás del uso de modelos de conjunto y los métodos principales para crear modelos de aprendizaje de conjunto.

¿Qué es el Aprendizaje de Conjunto?

En simple, el aprendizaje de conjunto es el proceso de entrenar múltiples modelos de aprendizaje automático y combinar sus salidas. Los diferentes modelos se utilizan como base para crear un modelo predictivo óptimo. Combinar un conjunto diverso de modelos de aprendizaje automático individuales puede mejorar la estabilidad del modelo general, lo que conduce a predicciones más precisas. Los modelos de aprendizaje de conjunto suelen ser más confiables que los modelos individuales, y como resultado, a menudo ocupan el primer lugar en muchos concursos de aprendizaje automático.

Existen diferentes técnicas que un ingeniero puede utilizar para crear un modelo de aprendizaje de conjunto. Las técnicas de aprendizaje de conjunto simples incluyen cosas como promediar las salidas de diferentes modelos, mientras que existen métodos más complejos y algoritmos desarrollados especialmente para combinar las predicciones de muchos modelos base/aprendices juntos.

¿Por qué Utilizar Métodos de Entrenamiento de Conjunto?

Los modelos de aprendizaje automático pueden ser diferentes entre sí por una variedad de razones. Diferentes modelos de aprendizaje automático pueden operar en diferentes muestras de los datos de la población, se pueden utilizar diferentes técnicas de modelado y se puede utilizar una hipótesis diferente.

Imagina que estás jugando un juego de trivia con un gran grupo de personas. Si estás en un equipo solo, es probable que haya algunos temas sobre los que tienes conocimiento y muchos temas sobre los que no tienes conocimiento. Ahora supongamos que estás en un equipo con otras personas. Al igual que tú, ellos tendrán algún conocimiento sobre sus propias especialidades y ningún conocimiento sobre otros temas. Sin embargo, cuando se combina su conocimiento, tienen conjeturas más precisas para más campos, y el número de temas sobre los que su equipo carece de conocimiento disminuye. Este es el mismo principio que subyace al aprendizaje de conjunto, combinando las predicciones de diferentes miembros del equipo (modelos individuales) para mejorar la precisión y minimizar los errores.

Los estadísticos han demostrado que cuando a una multitud de personas se les pide que adivinen la respuesta correcta para una pregunta determinada con un rango de posibles respuestas, todas sus respuestas forman una distribución de probabilidad. Las personas que realmente conocen la respuesta correcta elegirán la respuesta correcta con confianza, mientras que las personas que eligen las respuestas incorrectas distribuirán sus conjeturas en el rango de respuestas incorrectas posibles. Volviendo al ejemplo del juego de trivia, si tú y tus dos amigos saben que la respuesta correcta es A, los tres votarán A, mientras que las tres personas restantes en su equipo que no conocen la respuesta probablemente adivinarán B, C, D o E. El resultado es que A tiene tres votos y las otras respuestas probablemente tengan solo uno o dos votos como máximo.

Todos los modelos tienen algún grado de error. Los errores de un modelo serán diferentes de los errores producidos por otro modelo, ya que los modelos en sí son diferentes por las razones descritas anteriormente. Cuando se examinan todos los errores, no se agruparán alrededor de una respuesta u otra, sino que se dispersarán. Las conjeturas incorrectas se esparcirán esencialmente en todas las respuestas incorrectas posibles, cancelándose entre sí. Mientras tanto, las conjeturas correctas de los diferentes modelos se agruparán alrededor de la respuesta correcta. Cuando se utilizan métodos de entrenamiento de conjunto, la respuesta correcta se puede encontrar con mayor confiabilidad.

Métodos de Entrenamiento de Conjunto Simples

Los métodos de entrenamiento de conjunto simples suelen implicar solo la aplicación de técnicas de resumen estadísticas, como determinar el modo, la media o el promedio ponderado de un conjunto de predicciones.

El modo se refiere al elemento más frecuente dentro de un conjunto de números. Para obtener el modo, los modelos de aprendizaje individual devuelven sus predicciones y estas predicciones se consideran votos hacia la predicción final. Determinar la media de las predicciones se hace simplemente calculando la media aritmética de las predicciones, redondeada al número entero más cercano. Finalmente, se puede calcular un promedio ponderado asignando diferentes pesos a los modelos utilizados para crear predicciones, con los pesos que representan la importancia percibida de ese modelo. La representación numérica de la predicción de clase se multiplica junto con un peso de 0 a 1,0, las predicciones ponderadas individuales se suman juntas y el resultado se redondea al número entero más cercano.

Métodos de Entrenamiento de Conjunto Avanzados

Existen tres técnicas de entrenamiento de conjunto avanzadas principales, cada una diseñada para tratar un tipo específico de problema de aprendizaje automático. Las técnicas de “bagging” se utilizan para disminuir la varianza de las predicciones de un modelo, con varianza que se refiere a cuánto difiere el resultado de las predicciones cuando se basa en la misma observación. Las técnicas de “boosting” se utilizan para combatir el sesgo de los modelos. Finalmente, el “empilamiento” se utiliza para mejorar las predicciones en general.

Los métodos de aprendizaje de conjunto en sí pueden dividirse generalmente en dos grupos diferentes: métodos secuenciales y métodos de conjunto paralelos.

Los métodos de conjunto secuenciales obtienen el nombre de “secuenciales” porque los aprendices/base se generan secuencialmente. En el caso de los métodos secuenciales, la idea esencial es que la dependencia entre los aprendices se explota para obtener predicciones más precisas. Los ejemplos mal etiquetados tienen sus pesos ajustados, mientras que los ejemplos correctamente etiquetados mantienen los mismos pesos. Cada vez que se genera un nuevo aprendiz, los pesos cambian y la precisión (esperemos) mejora.

En contraste con los métodos de conjunto secuenciales, los métodos de conjunto paralelos generan los aprendices/base en paralelo. Cuando se realiza el aprendizaje de conjunto paralelo, la idea es explotar el hecho de que los aprendices/base son independientes, ya que la tasa de error general se puede reducir promediando las predicciones de los aprendices individuales.

Los métodos de entrenamiento de conjunto pueden ser homogéneos o heterogéneos en naturaleza. La mayoría de los métodos de aprendizaje de conjunto son homogéneos, lo que significa que utilizan un solo tipo de modelo de aprendizaje base/algoritmo. En contraste, los conjuntos heterogéneos utilizan diferentes algoritmos de aprendizaje, diversificando y variando los aprendices para garantizar que la precisión sea lo más alta posible.

Ejemplos de Algoritmos de Aprendizaje de Conjunto

Visualización del impulso de conjunto. Foto: Sirakorn a través de Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Ejemplos de métodos de conjunto secuenciales incluyen AdaBoost, XGBoost y impulso de árbol de gradiente. Estos son todos modelos de impulso. Para estos modelos de impulso, el objetivo es convertir a los aprendices débiles y de bajo rendimiento en aprendices más poderosos. Los modelos como AdaBoost y XGBoost comienzan con muchos aprendices débiles que funcionan solo ligeramente mejor que adivinando al azar. A medida que continúa el entrenamiento, se aplican pesos a los datos y se ajustan. Las instancias que fueron clasificadas incorrectamente por los aprendices en rondas anteriores de entrenamiento se les da más peso. Después de que se repite este proceso durante el número deseado de rondas de entrenamiento, las predicciones se unen a través de una suma ponderada (para tareas de regresión) y un voto ponderado (para tareas de clasificación).

El proceso de aprendizaje de bagging. Foto: SeattleDataGuy a través de Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Un ejemplo de un modelo de conjunto paralelo es un clasificador de bosque aleatorio, y los bosques aleatorios también son un ejemplo de una técnica de bagging. El término “bagging” proviene de “agregación de bootstrap”. Se toman muestras del conjunto de datos total utilizando una técnica de muestreo llamada “muestreo de bootstrap”, que se utilizan para que los aprendices base hagan predicciones. Para tareas de clasificación, las salidas de los modelos base se agregan utilizando votación, mientras que se promedian juntas para tareas de regresión. Los bosques aleatorios utilizan árboles de decisión individuales como sus aprendices base, y cada árbol en el conjunto se genera utilizando una muestra diferente del conjunto de datos. También se utiliza un subconjunto aleatorio de características para generar el árbol. Lo que lleva a árboles de decisión individuales muy aleatorizados, que se combinan para proporcionar predicciones confiables.

Visualización del empilamiento de conjunto. Foto: Supun Setunga a través de Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

En cuanto a las técnicas de empilamiento de conjunto, múltiples modelos de regresión o clasificación se combinan a través de un modelo meta de nivel superior. Los modelos base de nivel inferior se entrenan alimentándolos con el conjunto de datos completo. Las salidas de los modelos base se utilizan como características para entrenar el modelo meta. Los modelos de conjunto de empilamiento suelen ser heterogéneos en naturaleza.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.