Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Ensambles de Clasificadores
Eduardo Morales
INAOE
Eduardo Morales (INAOE) Ensambles de Clasificadores 1 / 66
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
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
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Introduccion
Motivacion
Eduardo Morales (INAOE) Ensambles de Clasificadores 6 / 66
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
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
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
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
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
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Introduccion
Eduardo Morales (INAOE) Ensambles de Clasificadores 14 / 66
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Introduccion
Eduardo Morales (INAOE) Ensambles de Clasificadores 15 / 66
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Introduccion
Ensambles de Clasificadores
Eduardo Morales (INAOE) Ensambles de Clasificadores 16 / 66
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Algoritmos
Bagging
Eduardo Morales (INAOE) Ensambles de Clasificadores 19 / 66
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
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
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
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
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Algoritmos
Boosting
Eduardo Morales (INAOE) Ensambles de Clasificadores 26 / 66
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Algoritmos
Boosting
Eduardo Morales (INAOE) Ensambles de Clasificadores 27 / 66
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
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
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
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Algoritmos
Stacking
Eduardo Morales (INAOE) Ensambles de Clasificadores 33 / 66
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ensambles deClasificadores
EduardoMorales
Introduccion
Ensambles deClasificadores
Algoritmos
MasConceptos
ComentariosFinales
Mas Conceptos
Combinacion por Seleccion
Eduardo Morales (INAOE) Ensambles de Clasificadores 49 / 66
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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