Subido por JHOSUA TORRES CORONADO

DM R Sesion5

Anuncio
Introducción a
Data Mining
• David Allende Quintana
w w w. d m c . p e
01
Métodos Ensamblados
2
Ensemble Methods
Variación vs. Sesgo
● El error de cualquier modelo se puede
descomponer en tres partes matemáticamente
○ ¿Por qué es importante saberlo?
■ Para entender qué aporta un Ensemble Method
■ Que básicamente es corregir problemas relacionados con los errores de
los modelos
3
Ensemble Methods
Variación vs. Sesgo (II)
● Sesgo
○ La diferencia entre el valor que se predice y el valor
actual
○ Un error de sesgo grande querrá decir que tenemos un
modelo que no está rindiendo al nivel que se esperaba
○ El modelo está omitiendo tendencias importantes
4
Ensemble Methods
Variación vs. Sesgo (III)
● Variación
○ La diferencia entre las
predicciones hechas sobre
la misma observación
○ Un modelo con alta
variación tendrá overfit
sobre la población de
entrenamiento y tendrá un
rendimiento
malo
en
cualquier observación más
allá del entrenamiento
5
Ensemble Methods
Variación vs. Sesgo (IV)
● Normalmente, a medida que aumenta la
complejidad del modelo, observarás una
reducción del error por un menor sesgo
● Sin embargo, esto solo se produce hasta cierto
punto
○ A medida que el modelo se hace más complejo, acabarás
teniendo un overfitting, y así empezará a tener mucha
variación/diferencia
● Por lo tanto, hay que mantener un equilibrio de
estos dos errores → los Ensemble Methods
ayudan a esto
6
Ensemble Methods
Variación vs. Sesgo (V)
Fuente: https://www.analyticsvidhya.com/wp-content/uploads/2015/07/model_complexity.png
7
Ensemble Methods
¿Qué son?
● Arte de combinar un conjunto diverso de
modelos predictivos
● ¡¡ Importante !!
○ Diversidad
■ Del lat. diversĭtas, -ātis.
■ 1. f. Variedad, desemejanza, diferencia.
■ 2. f. Abundancia, gran cantidad de varias cosas distintas.
○ Diferencia
■
■
■
■
Del lat. differentia.
1. f. Cualidad o accidente por el cual algo se distingue de otra cosa.
2. f. Variedad entre cosas de una misma especie.
3. f. Controversia, disensión u oposición de dos o más personas entre
sí.
8
Ensemble Methods
¿Qué son? (II)
● Pero, ¿diferencia de qué?
○ Cuatro elementos fundamentales en Machine Learning
■
■
■
■
(1) Población
(2) Hipótesis
(3) Técnica de modelado
(4) Seed inicial
9
Ensemble Methods
¿Qué son? (III)
● Son técnicas que crean múltiples modelos que se
combinan posteriormente para obtener mejores
resultados
● Son modelos que crean mejores resultados que
cada uno de los modelos por sí mismos
○ Hablamos de algoritmos como los modelos de regresión
logística, árboles, de decisión, etc.
○ Cuando estos modelos son usados como entradas a los
Ensemble Methods, los denominamos “modelos de
base” (base models)
10
Ensemble Methods
¿Qué son? (IV)
● A pesar de su indudable valor y su precisión, hay
industrias que priorizan la interpretabilidad
○ Éste, no es justo su fuerte, dado que son difíciles de
entender en ocasiones
● Nada es gratis
● Además, nada garantiza que vayan a ofrecer
mejores resultados que los modelos a título
individual
○ Lo que sí que hace es reducir el riesgo de seleccionar un
mal algoritmo
11
Ensemble Methods
Ventajas y desventajas
Ventajas
Desventajas
Mejora la precisión
Difícil interpretación de los resultados
Funciona en la gran mayoría de problemas y
situaciones
Así, se dificulta la obtención de conclusiones de
negocio en ocasiones
Modelos ganadores en hackathones y concursos
Lleva mucho más tiempo que otros modelos → difícil
integración en sectores y negocios con decisiones en
tiempo real
Aportan robustez y estabilidad
La selección de modelos a ensamblar es un arte que
suele costar
Son buenos modelizando relaciones lineales y no
lineales
12
Ensemble Methods
Muchos pocos datos
● Los Ensemble Methods funcionan bien tanto con
grandes como con pequeños volúmenes de
datos
○ Cuando son muchos datos, pueden ser estratégicamente
separados para cada que cada parte entrene un modelo
diferente
○ Cuando hay pocos datos, la técnica del bootstrapping
puede ser empleada para hacer diferentes muestras
“bootstrap” (siendo cada una de ellas una muestra
aleatoria e independiente de la distribución de los datos
originales)
13
Ensemble Methods
Divide y vencerás
● ¿Qué pasa aquí?
Fuente: http://www.scholarpedia.org/w/images/thumb/e/e6/Figure1a.jpg/300px-Figure1a.jpg
14
Ensemble Methods
Divide y vencerás (II)
● Hay algunos problemas que son difíciles de
resolver por un clasificador
○ La decisión de separar datos en diferentes “límites”
(boundary) puede ser compleja (como en la imagen
anterior)
○ Un clasificador lineal, no podría aprenderlo por sí solo
○ Sin embargo, una combinación apropiada de
clasificadores lineales pueden aprender cualquier límite
no lineal (como es el caso)
○ Cada modelo (clasificador), aprende una pequeña parte
de los datos (divide y vencerás)
15
Ensemble Methods
¿Cómo funcionan?
● Los métodos ensamblados incorporan las
predicciones de todos los modelos de base
○ Se puede entender como una sala de reuniones en la que
hay múltiples expertos tomando una decisión
○ Para decidir si fortalecer o cerrar una línea de negocio
con dudas, son consideradas las diferentes visiones, con
sus entendimientos del mercado
○ La decisión final es más robusta, precisa y con menos
riesgo a tener sesgo
16
Ensemble Methods
¿Cómo funcionan? (II)
● Hay varias técnicas para juntar los modelos base
○ Media: literalmente, coger la media de los modelos base
en caso que sea un problema de regresión o la predicción
de las probabilidades en un problema de clasificación
○ Voto de la mayoría: coger la predicción con mayor
número de votos/recomendaciones de los modelos base
en un problema de clasificación
17
Ensemble Methods
¿Cómo funcionan? (III)
● Hay varias técnicas para juntar los modelos base
○ Voto de la mayoría
18
Ensemble Methods
¿Cómo funcionan? (IV)
● Hay varias técnicas para juntar los modelos base
○ Media ponderada: diferentes pesos son aplicados a las
predicciones de diferentes modelos, de tal manera que a
la hora de hacer la media, hay algunos modelos que han
aportado más que otros
19
Ensemble Methods
Ejemplo (IV)
● Hay multitud de maneras en las que se podrían
ensamblar los modelos
● Pero los más usados son cuatro:
○
○
○
○
(1) Bagging
(2) Boosting
(3) Stacking
(4) Mixture of experts
20
Métodos de ensamblado
Bagging
21
Métodos de ensamblado
Bagging (III)
● Se entrenan muchos clasificadores débiles
independientes y al final se combinan todos en
un clasificador fuerte
● Bootstrap Aggregating entrena cada clasificador
débil con un conjunto de datos diferente
○ Los conjuntos de datos se generan con el método de
bootstrapping.
○ El bootstrap significa generar nuevos conjuntos de datos
con el mismo tamaño usando un muestreo con
reemplazamiento
○ En promedio una muestra bootstrap contiene 62,3 % de
los muestras originales
22
Métodos de ensamblado
Bagging (IV)
23
Métodos de ensamblado
Bagging (V)
● También
conocido
como
“Bootstrap
Aggregating” (Bagging)
● Para entender el Bagging, primero tenemos que
entender el Bootstrapping
○ Es una técnica de muestreo en la que seleccionamos “n”
observaciones de un dataset de “n” filas también
○ Cada fila es seleccionada igualmente en cada iteración
24
Métodos de ensamblado
Bagging (VI)
● De esta manera, podemos tener múltiples
muestras “boostrapped” de los mismos datos
○ Algunas observaciones pueden aparecer varias veces
○ Algunas observaciones pueden no aparecer
● Ahora, podemos hacer “crecer árboles” de estas
muestras, y luego utilizar o bien el “voto
mayoritario” o la “media” para hacer la
predicción final
● Esto se hace para reducir la variación
25
Métodos de ensamblado
Bagging (VII)
● Cada sub-muestra, se puede generar de manera
independiente a la anterior
● La generación y el entrenamiento se pueden
hacer en paralelo
● También hay algoritmos que implementan esta
estrategia de bagging
○ Random Forest, por ejemplo, utilizar una selección
aleatoria de características, y su modelo de algoritmo
base es un árbol de decisión
26
Métodos de ensamblado
Bagging (VIII)
27
Métodos de ensamblado
Bagging (IX)
28
Métodos de ensamblado
Boosting
● Se entrena una serie de clasificadores débiles,
así que en cada paso mejoramos el clasificador
anterior, terminando en un clasificador fuerte.
29
Métodos de ensamblado
Boosting (II)
30
Métodos de ensamblado
Boosting (III)
31
Métodos de ensamblado
Boosting (IV)
● El término “boosting” hace referencia a una
familia de algoritmos que son capaces de
convertir modelos débiles en fuertes
○ Un modelo es “débil” cuando tiene una tasa de error
importante, pero su rendimiento no es aleatorio (por
ejemplo, un 0.5 de tasa de error para un clasificador
binario)
● De manera incremental, la estrategia “boosting”
entrena cada modelo con el mismo dataset
○ Pero con pesos ajustados al error de la última
predicción
32
Métodos de ensamblado
Boosting (V)
● La idea principal es obligar a los modelos a
enfocarse en las instancias que dificultan la
predicción
● A diferencia del bagging, el boosting es un
método secuencial
○ Por ello, no se pueden usar las opciones de paralelización
● Su principal objetivo es reducir el “sesgo”
○ Por ello, son propensos a sufrir “overfitting”
○ Así, es fundamental hacer una buena configuración de
los parámetros, y así evitar el “overfitting”
33
Métodos de ensamblado
Boosting (VI)
34
Métodos de ensamblado
Boosting (VII)
● La función “adjust_dataset”, contiene un dataset
con las instancias más difíciles
○ Pueden luego ser usadas para forzar al algoritmo base a
aprender sobre ellas
● De esta manera, con la estrategia Boosting:
○ (1) El primer algoritmo es entrenado con todo el
conjunto de datos
○ (2) El segundo algoritmo, solo procesan los “residuos”
(instancias más difíciles) del primero
■ Le dan más peso a estas instancias que eran más complejas de predecir
35
Métodos de ensamblado
Boosting (VIII)
● Confía en crear una serie de predictores débiles
que no son buenos para todo el conjunto de
datos, pero sí para parte del mismo
● De esta manera, cada modelo, “boosts”
(aumenta) el rendimiento de todo el conjunto
de modelos
● Algunos ejemplos
○ XGBoost, GBM, AdaBoost, etc. (luego los veremos ;-)
36
Métodos de ensamblado
Stacking
37
Métodos de ensamblado
Stacking (II)
● Una pila (“stack”) de
modelos de machine
learning
○ De esta manera, cada
modelo, le pasa al siguiente
sus predicciones
○ El modelo en la cima de la
pila, toma las decisiones en
función de los modelos
sobre los que se apila
38
Métodos de ensamblado
Stacking (III)
● En el ejemplo a la derecha,
tenemos dos capas o
niveles:
○ Bottom layer models (d1, d2, d3
)
■ Reciben los datos brutos originales
del dataset
○ Top layer model, f()
■ Recoge la salida de los modelos de la
capa anterior y predice la salida final
● Puede haber tantas capas o
niveles como se quiera, así
como modelos por capa
39
Métodos de ensamblado
Stacking (IV)
● Dos de los principios fundamentales para
seleccionar modelos:
○ Cada modelo individual cumple algún criterio de
precisión particular
○ No hay correlación entre las predicciones de unos
modelos con otros
● Otra opción es que la salida final, pueda
calcularse con:
○ Media
○ Voto mayoritario
○ Media ponderada
40
Métodos de ensamblado
Stacking (V)
● En la práctica, funciona muy bien
○ Es conocido en Netflix por haber conseguido grandes
resultados en sus concursos
Fuente: http://www.chioka.in/stacking-blending-and-stacked-generalization/
41
Métodos de ensamblado
Stacking (VI)
42
Descargar