Anda di halaman 1dari 46

ADABOOST (BOOSTING)

13 de octubre de 2016

Lic. Diego Gabriel Surez


Santiago

CLASIFICADORES DBILES
En ingls son llamados weak learners, los cuales pueden ser clasificadores o
predictores.
Son moderadamente precisos (simples y funcionan solo ligeramente mejor que una
clasificacin aleatoria).
Algunos ejemplos de ellos son [1]:
Stub
Histogramas
Nave Bayes
Regresin logstica
Decision stumps (o rboles de decisin poco profundos).

13 de octubre de 2016

BOOSTING
Fue propuesto por Freund y Schapire en 1989 [2].
La idea del boosting es generar un clasificador muy preciso a partir de
clasificadores dbiles (weak)[3] o simples[2], en lugar de tener un solo clasificador
complejo[2].
Por ejemplo, en lugar de entrenar una red neural grande, se entrenan varias
pequeas y se combina su salida con el fin de producir la salida final[2].
El boosting es relacionado con otras tcnicas, tales como el bootstrap y el bagging.

Nota: A los clasificadores se les llaman tambin hiptesis.


13 de octubre de 2016

BOOSTING
Difiere del bagging en el sentido que no permite reemplazo (prueba de precisin
estadstica, deja los mejores clasificadores).
La clasificacin final se realiza por un voto mayoritario (3 clasificadores).

13 de octubre de 2016

ESTRUCTURA DEL BOOSTING


H1(x), , HM(x) son clasificadores dbiles.
La decisin de clasificacin de salida es
dada por H(x)
Cada clasificador Hm tiene una contribucin
m asociada.
=
=1

Clasificadores
dbiles

Combinacin de
clasificadores

Figura: Diagrama del boosting[2].


13 de octubre de 2016

BOOSTING (ALGORITMO)
Entrada:
Conjunto de entrenamiento Z={z1, z2, , zN}, con zi=(xi,yi).
Salida:
H(x), un clasificador adecuado para el conjunto de entrenamiento.

Paso 1 Dibuja, sin reemplazo, L < N muestras del conjunto de entrenamiento Z,


obteniendo Z*1; el entrenamiento con el clasificador H1 sobre Z*1
Paso 2 - Selecciona L2< N muestras de Z con la mitad de las muestras mal
clasificadas por H1 para obtener Z*2; entrena el clasificador dbil H2 en l.

13 de octubre de 2016

BOOSTING (ALGORITMO)
Paso 3 Selecciona todas las muestras de Z que H1 y H2 estn en desacuerdo;
entrena el clasificador dbil H3 usando estas muestras.
Paso 4 Se produce el clasificador final como un voto de tres clasificadores dbiles.
= 3=1

13 de octubre de 2016

BOOSTING

13 de octubre de 2016

VENTAJAS Y DESVENTAJAS
1. Rpido.
2. Simple (fcil para programar).

3. No hay parmetros para sintonizar (que no sea el tiempo de parada).


4. Demostrablemente efectivo, siempre y cuando podamos encontrar buenos
clasificadores dbiles.

13 de octubre de 2016

ADABOOST
Adaboost (adaptative boosting) es un nuevo algoritmo de boosting presentado por
Freund y Schapire en el artculo A Decision-Theoretic Generalization of On-Line
Learning and an Application to Boosting[1] en 1996.
El trmino Adaptive hace alusin a su principal diferencia con su predecesor.
Ambos algoritmos buscan crear un clasificador fuerte cuya base sea la combinacin
de clasificadores dbiles ht(x).

13 de octubre de 2016

10

ADABOOST
AdaBoost propone entrenar una serie de clasicadores dbiles de manera iterativa,
de modo que cada nuevo clasicador o weak learner" se enfoque en los datos que
fueron errneamente clasificados por su predecesor.
De esta manera el algoritmo se adapta y logra obtener mejores resultados
Puede haber AdaBoost binario y multiclase.

13 de octubre de 2016

11

ESTRUCTURA DEL ADABOOST

Estructura 1 del AdaBoost[2].


13 de octubre de 2016

12

ESTRUCTURA DEL ADABOOST

Estructura 2 del AdaBoost[4].


13 de octubre de 2016

13

ADABOOST (ALGORITMO)
Inicialmente, cuando T=1 (T=Tiempo) todos los ejemplos son igualmente
probables.
En las siguientes iteraciones, es ms probable seleccionar los ejemplos ms
difciles (los que hacen fallar al clasificador).
Sea t el error asociado a ht
El valor de t (peso) surge de intentar optimizar dicho error y es:

13 de octubre de 2016

14

ADABOOST (ALGORITMO)

13 de octubre de 2016

Algoritmo de AdaBoost[4].

15

ACTUALIZA LOS PESOS

Actualizacin de pesos[2].

13 de octubre de 2016

16

EJEMPLO DE ADABOOST

13 de octubre de 2016

17

EJEMPLO DE ADABOOST
0.1
0.1
0.1

0.1
0.1

0.1

0.1

0.1

0.1
0.1

13 de octubre de 2016

18

EJEMPLO DE ADABOOST
0.1
0.1
0.1

0.1
0.1

0.1

0.1

0.1

0.1
0.1

Vertical or horizontal
half planes (decision
stumps)
= error
=
1 < 0,
sign = obtiene el signo de un nmero 0 = 0,
1 > 0.

13 de octubre de 2016

19

EJEMPLO DE ADABOOST
0.1
0.1
0.1

0.1
0.1

0.1

0.1

0.1

0.1
0.1

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

20

EJEMPLO DE ADABOOST
0.1
0.1
0.1

0.1
0.1

0.1

0.1

0.1

0.1
0.1

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

21

EJEMPLO DE ADABOOST
0.1
0.1
0.1

0.1
0.1

0.1

0.1

0.1

0.1
0.1

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

22

EJEMPLO DE ADABOOST
0.153
0.153
0.07
0.07

0.07
0.153

0.07
0.07
0.07

0.07

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

23

EJEMPLO DE ADABOOST
0.153
0.153
0.07
0.07

0.07
0.153

0.07
0.07
0.07

0.07

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

24

EJEMPLO DE ADABOOST
0.153
0.153
0.07
0.07

0.07
0.153

0.07
0.07
0.07

0.07

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

25

EJEMPLO DE ADABOOST
0.153
0.153
0.07
0.07

0.07
0.153

0.07
0.07
0.07

0.07

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

26

EJEMPLO DE ADABOOST

= error
=
sign = obtiene el signo de un nmero

13 de octubre de 2016

27

EJEMPLO DE ADABOOST

= error
=
sign = obtiene el signo de un
nmero

13 de octubre de 2016

28

EJEMPLO DE ADABOOST

Por ejemplo

13 de octubre de 2016

29

EJEMPLO DE ADABOOST

Por ejemplo
sign( (0,42*-1) + (0,65*1) + (0,92*1) ) = sign(1,15) = 1

13 de octubre de 2016

30

EJEMPLO DE ADABOOST
-1

Por ejemplo
sign( (0,42*-1) + (0,65*1) + (0,92*1) ) = sign(1,15) = 1

13 de octubre de 2016

31

EJEMPLO DE ADABOOST
-1

Por ejemplo
sign( (0,42*-1) + (0,65*1) + (0,92*1) ) = sign(1,15) = 1

13 de octubre de 2016

32

EJEMPLO DE ADABOOST
-1

Por ejemplo
sign( (0,42*-1) + (0,65*1) + (0,92*1) ) = sign(1,15) = 1

13 de octubre de 2016

33

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*-1) + (0,65*-1) + (0,92*1) ) = sign(-0,15) = -1

13 de octubre de 2016

34

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*-1) + (0,65*-1) + (0,92*1) ) = sign(-0,15) = -1

13 de octubre de 2016

35

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*-1) + (0,65*1) + (0,92*-1) ) = sign(-0,69) = -1

13 de octubre de 2016

36

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*-1) + (0,65*1) + (0,92*-1) ) = sign(-0,69) = -1

13 de octubre de 2016

37

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*1) + (0,65*1) + (0,92*-1) ) = sign(0,15) = 1


13 de octubre de 2016

38

EJEMPLO DE ADABOOST
-1

Por ejemplo

sign( (0,42*1) + (0,65*1) + (0,92*-1) ) = sign(0,15) = 1


13 de octubre de 2016

39

EJEMPLO DE ADABOOST
-1

Por ejemplo
sign( (0,42*-1) + (0,65*1) + (0,92*1) ) = sign(1,15) = 1
sign( (0,42*-1) + (0,65*-1) + (0,92*1) ) = sign(-0,15) = -1
sign( (0,42*-1) + (0,65*1) + (0,92*-1) ) = sign(-0,69) = -1
sign( (0,42*1) + (0,65*1) + (0,92*-1) ) = sign(0,15) = 1
13 de octubre de 2016

40

OTRO EJEMPLO CON ADABOOST

13 de octubre de 2016

Clasificacin con ms objetos utilizando la tcnica de AdaBoost [7].

41

VENTAJAS Y DESVENTAJAS
Ventajas

Desventajas

Simple y sencillo de programar.

Clasificadores dbiles complejos pueden llevar a


overtting.

El nico parmetro a establecer son las


iteraciones.

Clasificadores dbiles demasiado dbiles pueden


producir un bajo margen y overtting.

El clasificador dbil no requiere conocimiento


previo.

Es vulnerable al ruido.

Verstil y rpido.
Ventajas y desventajas del AdaBoost[5,6].

13 de octubre de 2016

42

APLICACIONES CON ADABOOST


Deteccin de rostros.

Diversos trabajos en donde utilizaron AdaBoost[2].

Reconocimiento de dgitos.
13 de octubre de 2016

43

VARIANTES DE ADABOOST

Variantes del AdaBoost[2].

13 de octubre de 2016

44

COMPARACIN ENTRE BOOSTING Y ADABOOST


Caracterstica

Boosting
azar

AdaBoost

Procesamiento de datos

Muestreo
al
reemplazamiento

sin Ponderacin
muestras)

(sin

Nmero de clasificadores

Hasta M

Decisin

Voto mayoritario

Voto ponderado

toma

de

Tabla de comparacin[2].

13 de octubre de 2016

45

REFERENCIAS BIBLIOGRFICAS
[1]

http://www.cs.cmu.edu/~10701/lecture/boosting.pdf

[2]

http://www.slideshare.net/kangdaeki/boosting

[3]https://eva.fing.edu.uy/file.php/514/ARCHIVO/2008/TrabajosFinales2008/Nest

orPaz2008_informe.pdf
[4]

http://jboost.sourceforge.net/presentations/BoostingLightIntro.pdf

[5]

http://www.robots.ox.ac.uk/~az/lectures/cv/adaboost_matas.pdf

[6]http://catarina.udlap.mx/u_dl_a/tales/documentos/lmt/morales_s_aa/capitulo3.p

df
[7]

http://srl.informatik.uni-freiburg.de/videos

13 de octubre de 2016

46