Ciencia de datos

Los tipos de aprendizaje por conjuntos (Ensemble Learning)

Al evaluar y comparar el rendimiento de diferentes modelos de aprendizaje automático es habitual observar que las mejores predicciones no siempre proceden del mismo modelo. En un subconjunto de datos los mejores resultados los ofrece la regresión lineal, pero en otro funcionan mejor los árboles de decisión. Lo que indica que el mejor modelo sería una combinación de los mejores. Afortunadamente para estas situaciones tan habituales se cuenta con los métodos de aprendizaje por conjuntos (Ensemble Learning). Métodos con los que se entrena diferentes modelos empleando el mismo conjunto de datos y combina el conjunto de predicciones realizadas por cada modelo para obtener una que sea más precisa y menos propensa a errores. Básicamente, los métodos existentes de aprendizaje por conjuntos se pueden dividir en tres tipos: Votación (Voting), Bagging y Boosting. Tipos que se describirán a continuación.

Votación (Voting)

Los modelos de aprendizaje por conjuntos basados en votación son posiblemente los más sencillos. Tal como su nombre indica en estos se entrenan diferentes modelos con el mismo conjunto de datos y se selecciona la mejor predicción por un sistema de votación. Cada uno de los modelos entrenados emite su predicción en cada caso y la más votada será la seleccionada por el conjunto.

Por ejemplo, se pueden entrenar con un conjunto de datos tres modelos diferentes. Uno basado en árboles de decisión, otro en el que se use una regresión logística y un tercero construido con k-vecinos. Tras el entrenamiento cada modelo podrá realizar predicciones para cada uno de los casos que se le presente, las cuales no tienen porqué ser la misma en los tres modelos. Siendo la predicción del conjunto aquella en la que más modelos coinciden. Esto es, si los árboles de decisión y la regresión logística realizan una predicción cuyo valor es verdadero, mientras que en el caso de k-vecinos es falsa. El resultado final será verdadero ya que esta tiene dos votos frente a uno para el caso de falso.

Votación dura, votación blanda (Hard Voting, Soft Voting)

Los modelos de votación se pueden dividir en dos tipos dependiendo de cómo se cuenten los votos: votación dura o votación blanda. En el caso de votación dura cada uno de los modelos realiza una predicción y todos los modelos tienen el mismo peso. Seleccione, como en el ejemplo de la sección anterior, la predicción que más veces se repite. Por otro lado, en el caso de la votación blanda, cada uno de los modelos además de la predicción debe indicar la confianza que tiene en esta. Seleccionando la predicción del conjunto mediante un sistema de votación ponderada, dando mayor peso a los modelos que devuelve una mayor confianza en sus predicciones. Por lo que no todas las familias de modelos se pueden emplear para este tipo de votación, es necesario que pueden estimar una probabilidad para la predicción. Seleccionando la predicción en base

Bagging

En el caso de Bagging solamente se entrenan modelos basados en una única familia de algoritmos, pero usando en cada caso un subconjunto de datos diferente generado de manera aleatoria. Por ejemplo, Random Forest es un caso de Bagging en el que se usan árboles de decisión. Pero, al igual que en el caso de Votación, la predicción del conjunto se obtiene mediante la votación de todos los modelos entrenados.

Los modelos finales creados mediante Bagging tienen una menor variabilidad y una mayor precisión. Reduciendo la probabilidad de sobreajuste, ya que ninguno de los modelos es entrenado con la totalidad de los datos.

Boosting

Finalmente, está Boosting, en el que se entrena varios modelos en serie y cada uno de ellos aprende de los errores de los anteriores e intenta corregir sus predicciones. Siendo los dos métodos más populares de esta familia Ada Boost y Gradient Boosting.

Ada Boosting

Ada Boost o Adaptive Boosting es un método de aprendizaje por conjuntos en el que cada modelo se centra especialmente en las predicciones erróneas de su antecesor. Asignado un mayor peso a las instancias que clasifican erróneamente los datos.

Gradient Boosting

En el Gradient Boosting se busca hacer que los modelos que aprenden mal mejoren, actualizando para ello los pesos de los modelos. Empleando para ello la técnica de Stochastic Gradient Boosting donde se usan subconjuntos aleatorios de datos para mejorar las predicciones.

Conclusiones

Los modelos de aprendizaje por conjuntos (Ensemble Learning) son una excelente herramienta para mejorar las predicciones en aprendizaje automático. Combinando las fortalezas de las diferentes familias de modelo con los que contamos para la creación de estos.

Imagen de Ben Kerckx en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

1 día ago

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

3 días ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

1 semana ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

This website uses cookies.