66
Ensambles de Clasificadores Eduardo Morales Introducci ´ on Ensambles de Clasificadores Algoritmos as Conceptos Comentarios Finales Ensambles de Clasificadores Eduardo Morales INAOE Eduardo Morales (INAOE) Ensambles de Clasificadores 1 / 66

Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Ensambles de Clasificadores

Eduardo Morales

INAOE

Eduardo Morales (INAOE) Ensambles de Clasificadores 1 / 66

Page 2: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Contenido

1 Introduccion

2 Ensambles de Clasificadores

3 Algoritmos

4 Mas Conceptos

5 Comentarios Finales

Eduardo Morales (INAOE) Ensambles de Clasificadores 2 / 66

Page 3: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Motivacion

• Cuando las personas tienen que tomar decisionesdifıciles, normalmente toman en cuenta la opinion devarios expertos, buscando mejorar sus decisiones• En aprendizaje, cada modelo inducido se puede ver

como un “experto”, por lo que uno puede pensar en quese puedan producir predicciones mas confiables si secombinan las predicciones de varios modelos• Recientemente se han desarrollado tecnicas para

construir conjuntos de clasificadores cuyas decisionesson combinadas (de forma pesada o no) para clasificarnuevos ejemplos

Eduardo Morales (INAOE) Ensambles de Clasificadores 3 / 66

Page 4: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Motivacion

• No existe un clasificador dominante para todas lasdistribuciones de datos (no free lunch theorem) y deentrada no sabemos la distribucion de la tarea• Normalmente se prueban varios clasificadores y varias

de sus variantes sobre una muestra “representativa” delos datos y se selecciona el mejor (de menor erroraparente)• El problema es que el error aparente puede ser

diferente al error real (principalmente con pocos datos)

Eduardo Morales (INAOE) Ensambles de Clasificadores 4 / 66

Page 5: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Motivacion

• Lo que se ha encontrado es que en general sonmejores clasificadores que los clasificadoresindividuales que se usaron en su construccion• Las condiciones necesarias y suficientes para esto son

que los clasificadores individuales:1 tengan un buen desempeno ≈ errores menores al 50%

y2 que sean diversos ≈ cometen diferentes errores (son

independientes)

Eduardo Morales (INAOE) Ensambles de Clasificadores 5 / 66

Page 6: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Motivacion

Eduardo Morales (INAOE) Ensambles de Clasificadores 6 / 66

Page 7: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Motivacion

• Si los errores de las hipotesis son menores a 0.5 y sison independientes, la probabilidad de que la clasemayoritaria cometa un error es equivalente al area deuna distribucion binomial donde mas de la mitad de lashipotesis estan mal• Por ejemplo, para 21 hipotesis, cada una con 0.3 de

probabilidad de error, el area de que 11 o mas hipotesisesten al mismo tiempo mal es 0.026 (ver figura 1).• Basicamente lo que se necesita entonces es construir

clasificadores individuales con errores menores a 0.5 yque de alguna forma no esten correlacionados

Eduardo Morales (INAOE) Ensambles de Clasificadores 7 / 66

Page 8: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Ensambles

Figure: Distribucion binomial de que 21 hipotesis cometan unerror suponiendo que todas cometen errores en un 30% y queestos son independientes entre si.

Eduardo Morales (INAOE) Ensambles de Clasificadores 8 / 66

Page 9: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

¿Porque funcionan los ensambles declasificadores?

Los ensambles permiten que errores no correlacionados declasificadores individuales puedan eliminarse por votacionmayoritaria. Podemos, tambien, mencionar al menos otrastres razones relacionadas:

1 Estadıstica: Los ejemplos de entrenamiento pueden noproporcionar informacion suficiente para seleccionar almejor clasificador (y existen muchas posibles hipotesisde donde escoger).Con datos menores al numero posible de hipotesis, elalgoritmo puede encontrar muchas hipotesisequivalentes.Al “promediar” sus resultados se reduce el riesgo deseleccionar un mal clasificador.

Eduardo Morales (INAOE) Ensambles de Clasificadores 9 / 66

Page 10: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

¿Porque funcionan los ensambles declasificadores?

2 Computacional: Muchos algoritmos realizan un tipo debusqueda local y pueden quedar atrapados en unmınimo local (e.g., gradiente descendente de NN o hillclimbing de Arboles de decision)Encontrar el arbol o la red neuronal mas pequenos sonproblemas NP duros. Un ensamble puede dar unamejor aproximacion

Eduardo Morales (INAOE) Ensambles de Clasificadores 10 / 66

Page 11: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

¿Porque funcionan los ensambles declasificadores?

3 Representacional: Nuestro espacio de busqueda puedeno contener a la funcion objetivo. Sin embargo, alformar un espacio pesado de hipotesis es posibleexpandir el espacio de representacion de nuestrasfunciones.Por ejemplo, en las figuras 2 y 3 podemos ver que unclasificador de varios pedazos de clasificadores linealeses mas expresivo que un solo clasificador lineal(figura 2) y como un conjunto de arboles de decision seaproximan mejor a una diagonal (figura 3).

Eduardo Morales (INAOE) Ensambles de Clasificadores 11 / 66

Page 12: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

¿Porque funcionan los ensambles declasificadores?

Figure: Un esamble de clasificadores lineales. La lınea fuertemuestra la clasificacion regresada por voto mayoritario.

Eduardo Morales (INAOE) Ensambles de Clasificadores 12 / 66

Page 13: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

¿Porque funcionan los ensambles declasificadores?

Figure: Tres arboles de decision aproximando individualmenteuna lınea diagonal (izquierda) y su combinacion con voto simple(derecha).

Eduardo Morales (INAOE) Ensambles de Clasificadores 13 / 66

Page 14: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Eduardo Morales (INAOE) Ensambles de Clasificadores 14 / 66

Page 15: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Eduardo Morales (INAOE) Ensambles de Clasificadores 15 / 66

Page 16: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Introduccion

Ensambles de Clasificadores

Eduardo Morales (INAOE) Ensambles de Clasificadores 16 / 66

Page 17: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Ensambles de Clasificadores

Ensambles de Clasificadores

• La idea basica es correr algoritmos de induccion variasveces y combinar los resultados de alguna forma paraobtener un mejor resultado final• La combinacion de varios modelos se puede hacer de

diferentes formas, la mas simple es usar votomayoritario (e.g., bagging), realizar un voto pesado(e.g., boosting) o usar un nuevo clasificador que decidacomo combinar esos resultados (e.g., stacking)• La desventaja que presentan es que los resultados son

difıciles de analizar

Eduardo Morales (INAOE) Ensambles de Clasificadores 17 / 66

Page 18: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Algoritmos

• Existe una gran cantidad de algorıtmos, la mayorıa sonvariantes de:• Bagging• Boosting• Stacking

Eduardo Morales (INAOE) Ensambles de Clasificadores 18 / 66

Page 19: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Bagging

Eduardo Morales (INAOE) Ensambles de Clasificadores 19 / 66

Page 20: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Bagging

• Bagging (Bootstrap Aggregating) genera clasificadoresde varias muestras de los ejemplos• Funciona especialmente para algoritmos de

aprendizaje inestables (cambian mucho sus estructurasal cambiar un poco los ejemplos), por ejemplo, losarboles de decision• El error de combinar varios clasificadores se explica por

lo que se conoce como bias-variance decomposition. Elsesgo (bias) de cada clasificador esta dado por su errorintrınseco y mide que tan bien un clasificador explica elproblema. La varianza esta dada por los datos que seusan para construir el modelo.

Eduardo Morales (INAOE) Ensambles de Clasificadores 20 / 66

Page 21: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Bagging

• El error esperado total de clasificacion esta dado por lasuma del sesgo y la varianza. Al combinar multiplesclasificadores se reduce el error esperado al reducir lavarianza• En la practica un problema es que existe solo un

conjunto de entrenamiento y puede no ser facil obtenermas• Una muestra de ejemplos bootstrap se genera al

muestrear uniformemente m instancias del conjunto deentrenamiento con reemplazo.

Eduardo Morales (INAOE) Ensambles de Clasificadores 21 / 66

Page 22: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Algoritmo de Bagging

• Se generan T muestras, B1, . . . ,BT y se construye unclasificador Ci para cada muestra. Con estos, seconstruye un clasificador final C∗ de todos los C1 a CTcuya salida es la clase mayoritaria de los clasificadores.• Para una de las muestras, un ejemplo tiene la

probabilidad de 1− (1− 1/m)m de ser seleccionado porlo menos una vez en las m veces que se seleccionauna instancia. Para valores grandes de m esto seaproxima a 1− 1/e = 63.2%. Por lo que cada muestratiene aproximadamente un 63% de aparecer en losejemplos de entrenamiento.

Eduardo Morales (INAOE) Ensambles de Clasificadores 22 / 66

Page 23: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Algoritmo de Bagging

for i = 1 to T doS’ = muestra de S (i.i.d. con reemplazo)Ci = Ind(S′) {construye clasificador}C∗ = argmaxy∈Y

∑i:Ci (x)=y 1

end fori.i.d = Independiente e identicamente distribuido

Eduardo Morales (INAOE) Ensambles de Clasificadores 23 / 66

Page 24: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Bagging

• Bagging tambien se puede usar para clases convalores continuos, la diferencia es que la salida de losclasificadores se promedia. En este caso se reduce elvalor esperado del error cuadratico medio.• En general, se puede mejorar el resultado si se quita la

opcion de podado en los arboles de decision, lo que loshace mas inestables.• Si los modelos nos regresan probabilidades, hace

sentido combinar estas probabilidades, y lo que nosregresa Bagging es una probabilidad.

Eduardo Morales (INAOE) Ensambles de Clasificadores 24 / 66

Page 25: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Bagging

• Los resultados de bagging, como ya lo mencionamos,son difıciles de interpretar. Una posibilidad es usarMetaCost• La idea es construir un ensamble de clasificadores

usando Bagging, usar la clasificacion producida por elensamble para re-etiquetar todos los datos y despuesaprender un clasificar unico con esa re-etiquetacion.• El re-etiquetado de cada ejemplo se hace tratando de

minimizar un costo esperado obtenido de lasprobabilidades arrojadas por bagging. Al final seobtiene un nuevo clasificador unico que toma encuentan los costos que ya se pusieron en las etiquetas.

Eduardo Morales (INAOE) Ensambles de Clasificadores 25 / 66

Page 26: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Boosting

Eduardo Morales (INAOE) Ensambles de Clasificadores 26 / 66

Page 27: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Boosting

Eduardo Morales (INAOE) Ensambles de Clasificadores 27 / 66

Page 28: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Boosting

• Boosting y su variante mas usada AdaBoost (AdaptingBoosting) genera igual un conjunto de clasificadores.Sin embargo, Adaboost los genera secuencialmente(Bagging los puede generar en paralelo).• A todos los ejemplos, les asigna inicialmente un peso

igual. Cada vez que se genera un clasificador, secambian los pesos de los nuevos ejemplos usados parael siguiente clasificador. La idea es forzar al nuevoclasificador a minimizar el error esperado. Para esto seles asigna mas peso a los ejemplos mal clasificados ymenos a los bien clasificados.

Eduardo Morales (INAOE) Ensambles de Clasificadores 28 / 66

Page 29: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Boosting

• La idea es alentar crear modelos que se vuelvan“expertos” en los datos que no pudieron ser explicadospor los modelos anteriors.• Despues de cada interaccion los pesos reflejan que tan

seguido las instancias han sido mal clasificadas por losclasificadores que se tienen hasta ese momento.• Se generan igual T clasificadores de muestras de

ejemplos pesadas. El clasificador final se forma usandoun esquema de votacion pesado que depende deldesempeno de cada clasificador en su conjunto deentrenamiento.

Eduardo Morales (INAOE) Ensambles de Clasificadores 29 / 66

Page 30: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Algoritmo de Boosting

S′ = S con pesos igual a 1for i = 1 to T do

Ci = Ind(S′) y εi = 1m∑

xj∈S′:Ci (xj )6=yjpeso(x)

if εi > 1/2 {limitado a N veces} thencambia todos los pesos a 1 y regresa al principio

end ifend forβi = εi/(1− εi)for each xj ∈ S′ do

if Ci(xj) = yj thenpeso(xj) = peso(xj) · βi

end ifNormaliza los pesos para que el peso total de S′ sea m

end forC∗(x) = argmaxy∈Y

∑i:Ci (x)=y log 1

βi

Eduardo Morales (INAOE) Ensambles de Clasificadores 30 / 66

Page 31: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Boosting

• Este algoritmo requiere de clasificadores debiles quecambian su estructura con cambios en los datos y queno dan errores mayores al 50%.• El algoritmo se para cuando el error en los datos de

entrenamiento pesados son mayores o iguales a 0.5 ocuando el error es cero (donde todos los pesos de lasinstancias se vuelven 0).• Si no se pueden incorporar ejemplos pesados dentro

del clasificador, se puede tener un efecto parecido pormedio de un muestreo con reemplazo, seleccionandolos ejemplos de acuerdo a su peso.

Eduardo Morales (INAOE) Ensambles de Clasificadores 31 / 66

Page 32: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Algunos detalles

• Se puede tener problemas de underflow, por lo que escomun eliminar ejemplos con pesos muy pequenos.• En general, AdaBoost es mejor que Bagging, pero no

es siempre uniformemente mejor que cada clasificador,mientras que Bagging si.• Bagging sin pruning a veces reduce el error, Boosting

solo lo aumenta.• En Boosting, si un clasificador tiene error cero, recibe

recompensa infinita y es el unico ganador, por lo quegeneralmente se elimina.

Eduardo Morales (INAOE) Ensambles de Clasificadores 32 / 66

Page 33: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Stacking

Eduardo Morales (INAOE) Ensambles de Clasificadores 33 / 66

Page 34: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Stacking

• Stacking construye un conjunto de modelos usandodiferentes algoritmos de aprendizaje.• Una forma de combinar los clasificadores es usando

voto mayoritario, sin embargo, esto hace sentidocuando los clasificadores se desempenan en formaparecida.• Para producir una clasificacion utiliza un meta-algoritmo

(meta learner) que aprende de acuerdo a las salidas delos clasificadores base (en lugar de voto mayoritario).• En resumen, se construyen N clasificadores a partir de

los datos usando algoritmos diferentes. Las salidas delos clasificadores se usan como atributos (por lo que setienen tantos atributos para el meta-clasificador comoclasificadores) de un nuevo clasificador.

Eduardo Morales (INAOE) Ensambles de Clasificadores 34 / 66

Page 35: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Algoritmos

Stacking

• Para estimar el desempeno de cada clasificador seutiliza una conjunto de ejemplos de prueba. Esto sepuede hacer con validacion cruzada generando unasalida por cada conjunto de prueba o con leave-one-outcross validation, generando una salida por cadaejemplo.• Otra posibilidad es utilizar el valor de la probabilidad

mas alta de cada clasificador.• Como meta-clasificador normalmente se utiliza algo

simple.

Eduardo Morales (INAOE) Ensambles de Clasificadores 35 / 66

Page 36: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Ensambles de Clasificadores

Las tecnicas desarrolladas para ensambles declasificadores las podemos dividir por:

1 Su arquitectura o topologıa2 El ensamble de clasificadores; el tipo y numero de

clasificadores base3 La forma de combinar los resultados

Eduardo Morales (INAOE) Ensambles de Clasificadores 36 / 66

Page 37: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Arquitectura de Ensambles

1 Paralela: Multiples clasificadores operan en paralelo yse usa una funcion de combinacion para la salida decada clasificador (e.g., Bagging),

2 Serial o Condicional: Los clasificadores se aplican ensucesion y cada clasificador produce un conjuntoreducido de posibles clases (e.g., Boosting)

3 Hıbridos: Por ejemplo, varios clasificadores en serie

Eduardo Morales (INAOE) Ensambles de Clasificadores 37 / 66

Page 38: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Tipo de Clasificadores

Los ensambles de clasificadores se pueden dividir por losque:

1 Usan el mismo clasificador (la mayorıa).2 Combinan diferentes clasificadores (Stacking)

En general se prefieren clasificadores que den resultadosprobabilıstas

Eduardo Morales (INAOE) Ensambles de Clasificadores 38 / 66

Page 39: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Regla de Combinacion

1 Funcion de integracion (fusion): todos los clasificadorescontribuyen a la decision final (clasificadorescompetitivos)

2 Funcion de seleccion: se selecciona solo unclasificador (o subconjunto) para la decision final(clasificadores complementarios)

3 Se puede hacer una combinacion de seleccion eintegracion

Eduardo Morales (INAOE) Ensambles de Clasificadores 39 / 66

Page 40: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Ensambles de Clasificadores

Las tecnicas desarrolladas de clasificacion por votacion oconjunta, las podemos dividir en tres grupos:

1 Los que cambian la distribucion de los ejemplos deentrenamiento (Boosting),

2 Los que no cambian la distribucion de los ejemplos(Bagging)

3 Los que combinan diferentes clasificadores (Stacking)

Eduardo Morales (INAOE) Ensambles de Clasificadores 40 / 66

Page 41: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Combinacion de Clasificadores

1 Voto mayoritario2 Voto Bayesiano3 Por “ranqueo”4 Combinacion lineal5 Por producto6 Pesada7 Stacking8 Seleccionador de regiones/clasificadores

Eduardo Morales (INAOE) Ensambles de Clasificadores 41 / 66

Page 42: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Voto Bayesiano

• Desde el punto de vista bayesiano, lo que se quiere estener la hipotesis mas probable dado los datos:

P(h | D) =P(D | h)P(h)

P(D)

• Cuando tenemos muchas hipotesis, podemos combinaresas hipotesis:

P(vj | D) =∑hi∈H

P(vj | hi)P(hi | D)

• Esto es, las probabilidades sobre cada valor que nos dacada hipotesis pesada por la probabilidad posterior quenos da la hipotesis dado los datos

Eduardo Morales (INAOE) Ensambles de Clasificadores 42 / 66

Page 43: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Voto Bayesiano

• Esto es, por Bayes, proporcional a la probabilidad delos datos dada la hipotesis por la probabilidad de lahipotesis:

P(h | D) ∝ P(D | h)P(h)

• Podriamos tener un enfoque completo bayesiano sipudieramos evaluar las expresiones anteriores paratodas las posibles hipotesis• Los ensambles se pueden ver como una aproximacion

tomando en cuenta las hipotesis “mas probables”

Eduardo Morales (INAOE) Ensambles de Clasificadores 43 / 66

Page 44: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Voto Bayesiano

• Por lo que una forma de construir ensambles esgenerar varias hipotesis y combinarlas desde unenfoque bayesiano• La parte mas idealizada del enfoque es P(h) ya que

muchas veces tanto el espacio de hipotesis (H) comoP(h) se seleccionan por razones computacionales

Eduardo Morales (INAOE) Ensambles de Clasificadores 44 / 66

Page 45: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Combinacion por “Ranqueo”

1 Transformar las salidas en un orden2 Combinar usando por ejemplo el metodo de conteo de

Borda

Valor Clasif. 1 Clasif. 2 Clasif. 34 c a b3 b b a2 d d c1 a c d

Eduardo Morales (INAOE) Ensambles de Clasificadores 45 / 66

Page 46: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Combinacion por “Ranqueo”

1 Lo que tenemos entonces es:ra = r1

a + r2a + r3

a = 1 + 4 + 3 = 8rb = r1

b + r2b + r3

b = 3 + 3 + 4 = 10rc = r1

c + r2c + r3

c = 4 + 1 + 2 = 7rd = r1

d + r2d + r3

d = 2 + 2 + 1 = 52 La clase ganadora es entonces b3 Utiles con muchas clases, al combinar varios

clasificadores, pero dependen de los numerosasociados

Eduardo Morales (INAOE) Ensambles de Clasificadores 46 / 66

Page 47: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Otros Esquemas de Combinacion

1 El promedio simple es la mejor opcion conclasificadores con el mismo desempeno y mismacorrelacion entre ellos

2 La combinacion lineal:

p(x) =n∑

i=1

wipi(x)

3 Producto:

p(x) =n∏

i=1

pi(x)

4 Otros esquemas: el maximo, el mınimo, la media5 Esquemas pesados asociados al desempeno del

clasificador, a la clase, tomados de la matriz deconfusion, etc.

Eduardo Morales (INAOE) Ensambles de Clasificadores 47 / 66

Page 48: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Combinacion por Seleccion

1 Seleccionar el mejor clasificador2 Definir regiones “de dominio”: por clustering o basadas

en desempenos locales3 Seleccionar al clasificador

Eduardo Morales (INAOE) Ensambles de Clasificadores 48 / 66

Page 49: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Combinacion por Seleccion

Eduardo Morales (INAOE) Ensambles de Clasificadores 49 / 66

Page 50: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Esquemas de Ensambles

Algunos esquemas generales para construir ensamblesson:

1 Usando conocimiento del dominio2 Manipulando los ejemplos de entrenamiento3 Manipulando los atributos4 Inyectando aleatoriedad5 Manipulando las salidas

Eduardo Morales (INAOE) Ensambles de Clasificadores 50 / 66

Page 51: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Manipulando los ejemplos deentrenamiento

• Otra forma de construir ensambles es manipulando losejemplos de entrenamiento para generar multipleshipotesis• Esto funciona cuando tenemos clasificadores

inestables, esto es, algoritmos que pueden tenergrandes cambios en sus resultados con pequenoscambios en los datos• Arboles de decision, redes neuronales y reglas de

clasificacion son inestables. Regresiones lineales yvecinos mas cercanos tienden a ser estables

Eduardo Morales (INAOE) Ensambles de Clasificadores 51 / 66

Page 52: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Manipulando los ejemplos deentrenamiento

Las formas mas faciles de manipular los ejemplos deentrenamiento son:

1 Muestreando con reemplazo los datos (Bagging)2 Creando muestras disjuntas (cross-validated

committees)3 Pesando los datos (AbaBoost)

Eduardo Morales (INAOE) Ensambles de Clasificadores 52 / 66

Page 53: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Manipulando los Atributos

• Otra forma de crear ensambles o clasificadoresmultiples, es cambiando los atributos de entrada(Random Subspace Method).• Esto funciona mejor cuando se tienen atributos

redundantes• Se puede hacer una seleccion aleatoria entre todos o

entre los mejores N atributos (hay que definir N)• Se pueden hacer transformaciones (e.g., aplicando

Kernels)

Eduardo Morales (INAOE) Ensambles de Clasificadores 53 / 66

Page 54: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Inyectando Aleatoriedad

• Finalmente, se puede introducir aleatoriedad a losalgoritmos, esto es facil en arboles de decision endonde en lugar de seleccionar el mejor atributo en cadapaso, se selecciona uno aleatoriamente dentro de losprimeros N• Otra posibilidad es seleccionar el mejor atributo dentro

de un subconjunto aleatorio de atributos. Usandobagging, con esto se pueden construir varios arboles.Esto es lo que hace random forest.• Se puede estimar la invertidumbre sacando la

desviacion estandar en las predicciones de los arboles• Para determinar el numero de atributos a seleccionar,

muchas veces se usa√

p donde p es el numero deatributos y para problemas de regresion p/3 con unmınimo de 5.

Eduardo Morales (INAOE) Ensambles de Clasificadores 54 / 66

Page 55: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Introducir Aleatoriedad

• Una forma de generar diversos clasificadores esintroduciendo aleatoriedad en estos.• La aleatoriedad se puede introducir en los datos o en

los clasificadores.• Wagging (Weight Aggregation) funciona como Bagging

pero introduce un ruido Gaussiano con media cero acada peso de los ejemplos.• Algunos algoritmos ya tienen incorporado un

componente aleatorio. Por ejemplo, la asignacion inicialen las redes neuronales. Se pueden hacer variasasignaciones iniciales y combinar los resultadosusango bagging.

Eduardo Morales (INAOE) Ensambles de Clasificadores 55 / 66

Page 56: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Mas Conceptos

Manipulando las Salidas

• Otra forma es manipulando las salidas• Lo mas comun es usar error-correcting codes, en

donde un problema multiclase, se convierte en unacombinacion de muchos clasificadores binarios con unasalida cambiada

Eduardo Morales (INAOE) Ensambles de Clasificadores 56 / 66

Page 57: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Error-correcting output codes

• Se utilizan para mejorar el desempeno declasificadores con clases multiples.• Existen clasificadores que solo funcionan con clases

binarias, como era originalmente con las maquinas desoporte vectorial (support vector machines). Paraaplicarlos a mas clases, se dividen los datos enconjuntos independientes de datos con dos clases.• Se puede hacer como sigue, crear un clasificador

binario para cada clase, e.g., pertenece a una clase ono. Para 4 clases, tendrıamos 4 clasificadores. Al finalnos quedamos con el de la clase mas probable.

Eduardo Morales (INAOE) Ensambles de Clasificadores 57 / 66

Page 58: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Error-correcting output codes

• El riesgo es que un clasificador que tenga unaprobabilidad alta se puede “comer” a los demas.• Otra forma de hacerlo es generar n(n − 1)/2

clasificadores para todos los pares de clases yquedarse con la clase mayoritaria.• Las tecnicas de correccion de errores basados en

codigos de salida generan una codificacion para cadaclase que permita facilmente identificar errores en unclasificador.• Se corre el algoritmo en cada uno y los resultados se

combinan. El metodo funciona en general bien, tanto,que a veces se usa aunque los clasificadores funcionencon multiples clases

Eduardo Morales (INAOE) Ensambles de Clasificadores 58 / 66

Page 59: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Error-correcting output codes

• Por ejemplo, si tenemos 4 clases podemos generar lossiguientes codigos:Clase Codigoa 1111111b 0000111c 0011001d 0101010

• El primer clasificador me predice 1 si la clase es a y 0 sies b, c o d . El segundo clasificador me predice 1 si laclase es a o d y 0 si es b o c, etc. Aquı en lugar degenerar 4 clasificadores, uno para cada clase, segeneran 7 clasificadores.

Eduardo Morales (INAOE) Ensambles de Clasificadores 59 / 66

Page 60: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Error-correcting output codes

• Cuando tengo un nuevo ejemplo me fijo a que codigose parece mas usando distancia Hamming. Porejemplo, si la salida de los 7 clasificadores con unnuevo ejemplo es: 1011111, es claro que el clasificador2 fue el que se equivoco.• Lo importante es que exista la mayor distancia

Hamming entre cada renglon.• Para k clases, cada codigo va a tener 2k−1 − 1 bits. La

primera clase se contruye con puros 1’s. La segundacon 2k−2 0’s seguida de 2k−2 − 1, 1’s. La tercera, 2k−3,0’s seguida de 2k−3, 1’s, seguida de 2k−3, 0’s, seguidade 2k−3 − 1, 1’s, ası sucesivamente hasta el codigo dela ultima que tiene 0’s y 1’s alternados.

Eduardo Morales (INAOE) Ensambles de Clasificadores 60 / 66

Page 61: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Variantes

• Option trees: en lugar de producir muchos arboles, losarboles con opciones generan una sola estructura querepresenta en forma compacta varios arboles dedecision.• Los arboles de opciones tienen dos tipos de nodos, los

nodos de decision y los nodos de opcion. En un nodode decision se sigue un camino, en un nodo de opcionse siguen todos, por lo que los ejemplos ahoraterminan en varias hojas.• Al final se combinan los resultados de cada hoja.

Eduardo Morales (INAOE) Ensambles de Clasificadores 61 / 66

Page 62: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Variantes

• Una forma de crearlos es generar nodos de opcioncada vez que se tienen medidas “parecidas” enganancia de informacion. Para podar se toman loserrores promedios de los nodos de opcion.• Otra forma de construirlos es ir anadiendo nodos, que

se hace normalmente al hacer boosting, aquı losarboles se llaman alternating decision trees, los nodosde decision, splitter nodes y los nodos de opcion sellaman prediction nodes.

Eduardo Morales (INAOE) Ensambles de Clasificadores 62 / 66

Page 63: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Problemas

• Tratar adecuadamente el ruido para no compensardemasiado ejemplos erroneos.• Se requiere mas computo y memoria. Metodos para

eliminar redundancia y paralelizar.• Obscurecen las decisiones tomadas.

Eduardo Morales (INAOE) Ensambles de Clasificadores 63 / 66

Page 64: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Algunos tips (no son ley!)

• Si el clasificador es inestable (e.g., arboles de decision)entonces usar bagging.• Si el clasificador es estable y simple (e.g., Naive Bayes)

entonces usar boosting.• Si el clasificador es estable y complejo (e.g., Redes

Neuronales) entonces inyectar aleatoriedad• Si se tienen muchas clases con clasificacion binaria,

entonces usar codigos de correccion de errores

Eduardo Morales (INAOE) Ensambles de Clasificadores 64 / 66

Page 65: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Comentarios Finales

• Bagging y crear aleatoriedad ayudan a muestrear elespacio de hipotesis con un sesgo hacia buenosclasificadores. Por otro lado, boosting ataca elproblema de la representacion, pero aumenta laposibilidad de realizar sobreajustes. Por lo que conpoco ruido AdaBoost tiene un buen desempeno, perocon mucho ruido puede sobreajustar mucho.• Las razones por las cuales AdaBoost no sobreajusta de

mas todo el tiempo, tiene que ver con la forma en quese realiza, ya que el ajuste de pesos es uno a la vez.

Eduardo Morales (INAOE) Ensambles de Clasificadores 65 / 66

Page 66: Conceptos Eduardo Morales - INAOEemorales/Cursos/Aprendizaje2/Acetatos/ens… · Algoritmos Mas´ Conceptos Comentarios Finales Algoritmos Algoritmo de Bagging Se generan T muestras,

Ensambles deClasificadores

EduardoMorales

Introduccion

Ensambles deClasificadores

Algoritmos

MasConceptos

ComentariosFinales

Comentarios Finales

Comentarios Finales

• Para bases de datos grandes, introducir aleatoriedadpuede tener mejores resultados que Bagging, ya quecon muchos datos es mas probable que los conjuntosde entrenamiento de Bagging sean muy parecidos ypor lo tanto los resultados tambien.• Por otro lado, introducir aleatoriedad crea diversidad

bajo cualquier condicion, con el riesgo de crearclasificadores de baja calidad.

Eduardo Morales (INAOE) Ensambles de Clasificadores 66 / 66