Want to create interactive content? It’s easy in Genially!

Reuse this genially

ML06 Modelos de ensamble.pptx

CEAT (Proyecto 1)

Created on October 6, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Frayer Model

Math Calculations

Interactive QR Code Generator

Interactive Scoreboard

Interactive Bingo

Interactive Hangman

Secret Code

Transcript

Semana 6

Modelos de ensamble

  • Los modelos de ensamble en Machine Learning combinan varios modelos individuales para mejorar la precisión y la robustez de las predicciones. La idea detrás del ensamble es que diferentes modelos pueden captar distintos patrones en los datos, y al combinar sus predicciones, se puede reducir el error y aumentar la generalización.
  • Estos métodos suelen mejorar significativamente el rendimiento, especialmente en problemas complejos.

Modelos de ensamble

Modelos de ensamble

Existen varias técnicas de ensamble, entre las más comunes están:

  • Bagging (Bootstrap Aggregating): Se crean varios modelos entrenados en subconjuntos aleatorios de los datos y sus predicciones se promedian o votan, como en el caso de los algoritmos de árboles de decisión como el Random Forest.
  • Boosting: Los modelos se entrenan secuencialmente, de forma que cada modelo intenta corregir los errores del anterior. Ejemplos populares incluyen Gradient Boosting y AdaBoost.
  • Stacking: Combina diferentes tipos de modelos (por ejemplo, árboles de decisión, regresión, redes neuronales) y utiliza un modelo adicional para aprender cómo combinar sus predicciones de manera óptima.

Gradient Boosted Trees

Descripción técnica, algoritmo y consideraciones

Gradient Boosted Trees: ¿qué son?

Usados para clasificación y regresión Utiliza árboles secuenciales, en donde los resultados del último árbol entrenado son utilizados para entrenar el siguiente árbol Input: variables tanto discretas como continuas Output:

  • Árboles relacionados por su output en donde el último árbol devuelve probabilidades (si es usado para clasificación) o valores continuos (si es usado para regresión)

Gradient Boosted Trees: algoritmo para regresión

Normalmente, hemos utilizado árboles de decisión para encontrar categorías En este caso, enseñaremos como predecir valores continuos

Gradient Boosted Trees a grandes rasgos

Supongamos que tenemos un dataset en donde queremos predecir el peso:

Gradient Boosted Trees a grandes rasgos

  • El algoritmo comienza creando un leaf node en el cual intenta predecir los pesos de todas las observaciones
  • Cuando queremos predecir un valor continuo como el peso, la primera predicción para todas las observaciones es el promedio

Promedio = 71.2

Gradient Boosted Trees a grandes rasgos

El algoritmo crea un primer árbol y luego lo escala, crea un segundo árbol utilizando el error del anterior y lo escala, y sigue creando árboles hasta tener la cantidad de árboles solicitados o hasta que no mejoremos las predicciones

Promedio = 73.3

Gradient Boosted Trees: algoritmo

Comenzamos prediciendo todas las observaciones con el promedio de la variable a predecir y obtenemos el error

Residuales = peso real – peso predicho (promedio del peso)

Promedio = 71.2

Gradient Boosted Trees: algoritmo

El algoritmo luego crea un árbol para intentar predecir los residuales, utilizando las variables altura, color y género

Género = F

En este ejemplo, asumiremos que definimos el máximo de leaf nodes en 4. En la práctica se utiliza entre 8 y 32

Color no azul

Altura < 1.6

-14.2, -15.2

4.8

1.8,5.8

16.8

Gradient Boosted Trees: algoritmo

Reemplazamos los residuales en cada leaf node por el promedio de los residuales

Género = F

Color no azul

Altura < 1.6

-14.7

4.8

3.8

16.8

Gradient Boosted Trees: algoritmo

Como siguiente paso, el algoritmo combina la predicción original con las predicciones del árbol, escaladas con el learning rate, para generar nuevas predicciones

Género = F

Promedio = 71.2

Learning Rate

Color no azul

Altura < 1.6

-14.7

4.8

3.8

16.8

Gradient Boosted Trees: algoritmo

Learning rate: Valor entre 0 y 1 que es utilizado para escalar la contribución de cada nuevo árbol. Para este ejemplo, utilizaremos un learning rate de 0.1

Gradient Boosted Trees: algoritmo

  • Utilizar un learning rate implica que damos pequeños pasos en la dirección correcta
  • Evidencia empírica demuestra que tomar múltiples pequeños pasos en la dirección correcta devuelve mejores predicciones en mi test set

Gradient Boosted Trees: algoritmo

Como siguiente paso, volvemos a calcular los residuales con el último árbol entrenado

Gradient Boosted Trees: algoritmo

Note que los nuevos residuales son menores, por lo que hemos tomado un pequeño paso en la dirección correcta

Gradient Boosted Trees: algoritmo

El algoritmo crea un nuevo árbol para intentar predecir los nuevo residuales

Género = F

Nota: en este ejemplo las decisiones en cada nivel son las mismas que el árbol anterior. En la práctica, los árboles pueden ser diferentes

Color no azul

Altura < 1.6

-12.7, -13.7

4.3

1.4, 5.4

15.1

Gradient Boosted Trees: algoritmo

Reemplazamos los residuales en cada leaf node por el promedio de los residuales

Género = F

Color no azul

Altura < 1.6

-13.2

4.3

3.4

15.1

Gradient Boosted Trees: algoritmo

Luego, se combina el leaf node inicial con los dos árboles ya entrenados

Género = F

Género = F

0.1

Promedio = 71.2

0.1

Color no azul

Color no azul

Altura < 1.6

Altura < 1.6

-13.2

4.3

3.4

15.1

-14.7

4.8

3.8

16.8

Gradient Boosted Trees: algoritmo

Gradient Boosted Trees: algoritmo

Como siguiente paso, volvemos a calcular los residuales con el último árbol entrenado algoritmo

Gradient Boosted Trees: algoritmo

Seguimos añadiendo árboles hasta que lleguemos a la cantidad máxima de árboles especificados o si al añadir un nuevo árbol no se reducen de manera significativa los residuales

Preguntas

  • ¿Qué es el learning rate y para que se usa?
  • ¿Cuál es la diferencia en la creación de árboles entre random forest y gradient boosted trees?
  • ¿Cuál es mi primera predicción en gradient boosted trees?

Random Forest

Descripción técnica, algoritmo y consideraciones

Random Forest a grandes rasgos

Consiste de n árboles de decisión

  • Cada uno construido a partir de un subconjunto random de la data
  • Cada subconjunto de la data es obtenido utilizando un muestreo con reemplazo (también llamado bootstrap o bagging)
  • Cualquier observación no incluida en el muestreo se le llama out of bag (OOB)
Por cada vector de variables de input, cada árbol asigna una clasificación La clasificación final es determinada por el voto mayoritario

Como construir un modelo de Random Forest con n árboles

Algoritmo incluye dos procesos aleatorios:

  • Bootstrap o bagging: cada árbol se construye a partir de un subconjunto de datos aleatorio
  • Selección aleatoria de características (variables): en cada nodo de cada árbol, solo una muestra aleatoria de todas las variables se usan para determinar la siguiente división.

Random Forest: resultados

Cada vector de variables son procesadas por cada árbol dentro del modelo

  • Con n árboles, existirán n respuestas por cada vector
La clasificación final será la que la mayoría de árboles asigne

Out of bag error (oob)

Optimizar el número de árboles a utilizar

Más variables = más árboles necesarios Graficar el error vs # árboles

  • Identificar en donde el error se mantiene
  • Elegir el número de árboles correspondientes
Tener exceso de árboles no afecta negativamente el modelo, pero si consume cpu extra Implementar el modelo más pequeño

Razones para elegir y precauciones

Preguntas

  1. Describa los pasos para construir un modelo random forest
  2. ¿Cuáles son los dos principales opciones que se deben seleccionar en un modelo de Random Forest?
  3. ¿Cómo Random Forest calcula el error OOB?
  4. ¿Qué se hace cuando la votación resulta en empate?
  5. ¿Cómo se previenen empates en las votaciones?

Laboratorio 3.3

Random Forest: Evaluación de riesgo de crédito vs árbol de decisión simple

Este material digital es propiedad de la Universidad Rafael Landívar, se comparte por medio de una licencia Creative Commons CC BY-NC-ND del tipo "Atribución-No Comercial-Compartir igual", la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales, ni se realicen obras derivadas. https://creativecommons.org/licenses/by-nc-nd/3.0/gt/