Want to create interactive content? It’s easy in 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:
View
Frayer Model
View
Math Calculations
View
Interactive QR Code Generator
View
Interactive Scoreboard
View
Interactive Bingo
View
Interactive Hangman
View
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)
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
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
Razones para elegir y precauciones
Preguntas
- Describa los pasos para construir un modelo random forest
- ¿Cuáles son los dos principales opciones que se deben seleccionar en un modelo de Random Forest?
- ¿Cómo Random Forest calcula el error OOB?
- ¿Qué se hace cuando la votación resulta en empate?
- ¿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/
