Sie sind auf Seite 1von 21

Anlise de Imagens

Aula 24: Bagging e Boosting

Prof. Alexandre Xavier Falcao


afalcao@ic.unicamp.br.
IC - UNICAMP

p.1/21
A.X. Falcao

Roteiro da Aula
Bagging
Boosting
Ver livro da Kuncheva.

p.2/21
A.X. Falcao

Bagging
Bagging (Bootstrap AGGregatING) e boosting so tcnicas
de treinamento para colees de classificadores instveis.
A idia criar uma coleo de classificadores distintos. Em
bagging, esta diversidade surge por amostragem aleatria,
independente e uniforme dos objetos em Z para criar um
conjunto de treinamento

(i)
Z1 ,

com N1 objetos, para cada

classificador Di , i = 1, 2, . . . , L. Os conjuntos

(i)
Z1

podem ter

um percentual de objetos em comum, mas devemos evitar


objetos repetidos em um mesmo conjunto. A classificao
feita por voto majoritrio.
p.3/21
A.X. Falcao

Bagging
Treinamento
1. Para um dado L, inicialize o conjunto de
classificadores D .
2. Para i = 1, 2, . . . , L, faa:
3.

(i)

Gere Z1 por amostragem em Z .


(i)

4. Construa Di por treinamento com Z1 .


5. Adicione D D Di .
6. Retorne D.
Classificao
1. Dada uma amostra x, cada classificador Di gera um
rtulo si = {w1 , w2 , . . . , wc }, i = 1, 2, . . . , L.
2. O rtulo final obtido por voto majoritrio.
p.4/21
A.X. Falcao

Bagging
Em bagging, os classificadores so quase independentes.
Nestas condies, sabemos que a exatido da coleo
maior que a individual. Espera-se, portanto, uma
correlao i,j 0 entre as sadas de quaisquer pares de
classificadores Di e Dj , i 6= j , da coleo. Para duas
classes, por exemplo:
N 11 N 00 N 01 N 10

i,j = p
(N 11 + N 10 )(N 01 + N 00 )(N 11 + N 01 )(N 10 + N 00 )

onde N ab o nmero de objetos em Z3 para os quais o


classificador Di gera a sada a e o classificador Dj gera a
sada b, a, b = {0, 1}.
p.5/21
A.X. Falcao

Bagging
O bagging com rvores de deciso denominado florestas
aleatrias. O mtodo pasting small votes outro variante
que busca minimizar o tamanho N1 dos conjuntos de treinamento. Conjuntos de treinamento com tamanho relativo
pequeno so denominados bites. O bagging com bites
chamado Rvotes e apresenta pssimos resultados. A variao mais interessante chamada Ivotes, onde a amos(i)

tragem para gerar os conjuntos Z1 , i = 1, 2, . . . , L, leva em


conta a importncia das amostras.

p.6/21
A.X. Falcao

Bagging
Em Ivotes, os classificadores so construdos um aps o
outro de forma que aproximadamente a metade das
(l+1)
so classificadas corretamente pela
amostras em Z1
coleo Dl = {D1 , D2 , . . . , Dl }, 1 < l L 1, e a outra
metade no. Seja Dl uma coleo com erro el < 0.5 em Z3 .
(l+1)
so obtidas pelo seguinte algoritmo.
As amostras em Z1
1. Obtenha aleatoriamente (com distribuio uniforme)
um objeto z de Z .
2. Identifique quais classificadores em Dl no possuem z
nos seus conjuntos de treinamento. Estes
classificadores so chamados out-of-bag. Se z estiver
em todos os conjuntos, ignore-o e volte para 1. Caso
contrrio...
p.7/21
A.X. Falcao

Bagging
3. Submeta z classificao pelos classificadores
out-of-bag e atribua-o um rtulo final por voto
majoritrio.
4. Se o rtulo de z estiver errado, insira z em
(l+1)

contrrio, insira ou no z em Z1
el
de insero.
probabilidade 1e
l

(l+1)
.
Z1

Caso

respeitando

5. Repita as etapas de 1 a 4 at obter N1 elementos em


(l+1)
.
Z1
As prximas etapas so treinar o classificador Dl+1 com
(l+1)
Z1

e estimar o erro el+1 . O processo todo se repete at

l = L.
p.8/21
A.X. Falcao

Boosting
O mtodo boosting foi inspirado em um algoritmo de aprendizado on-line, denominado Hedge( ). Este algoritmo atribui pesos para um conjunto de estratgias que predizem o
resultado de um certo evento. As estratgias aqui so classificadores e os pesos so suas probabilidades de acerto. O
algoritmo assume que dispomos de um conjunto de classificadores D = {D1 , D2 , . . . , DL } j treinados e de um conjunto
de avaliao Z2 = {z1 , z2 , . . . , zN2 }. O objetivo atualizar os
pesos de forma a identificar o classificador mais adequado
para o problema (o mais exato em Z2 ).
p.9/21
A.X. Falcao

Hedge()
Considere:
A taxa [0, 1] de aprendizado.
A perda lij = 1 do classificador Di quando erra o rtulo
de um objeto zj Z2 (lij = 0 quando Di acerta).
A perda i acumulada de Di .
A perda acumulada de D.
O peso pji de Di no instante que classifica zj Z2 ,
j = 1, 2, . . . , N2 .
O peso normalizado pji de Di quando classifica zj .

p.10/21
A.X. Falcao

Hedge()
1. Faa 0, i 0 e p1i =

1
L

para i = 1, 2, . . . , L.

2. Para zj , j = 1, 2, . . . , N2 , faa
pji

pji

para i = 1, 2, . . . , L.

3.

Calcule a distribuio

4.

Encontre as perdas lij para Di , i = 1, 2, . . . , L.


PL j j
Atualize + i=1 pi li .

5.
6.
7.

j
p
k=1 k

PL

Atualize i i + lij .
Atualize os pesos

8. Retorne , i , e

pj+1
i

+1
pN
i

j lij
pi .

+1
pN
PL i N +1 ,
k=1 pk

i = 1, 2, . . . , L.

p.11/21
A.X. Falcao

Hedge()


ln L

O algoritmo hedge( ) busca minimizar . Se = g


1
a estimativa de perda mxima do
onde g() = q
e
1+

melhor classificador, ento


L

p
ln L + ln L
min i + 2
i=1

p.12/21
A.X. Falcao

Adaboost
O algoritmo Adaboost (ADAptive BOOSTing) est relacionado ao problema de predio exata por combinar regras
mais simples e menos exatas. Os classificadores so construdos um aps o outro, e seus objetos de treinamento so
amostrados de Z de forma aleatria, inicialmente com distribuio uniforme e posteriormente com distribuio proporcional a sua dificuldade de classificao. A relao com
hedge( ) est em que os eventos so os classificadores,
as estratgias so os objetos, e as probabilidades de amostragem desses objetos so atualizadas durante o algoritmo.
p.13/21
A.X. Falcao

Adaboost
Considere:
A probabilidade pij do objeto zj Z , j = 1, 2, . . . , N , ser
(i)

escolhido para o conjunto de treinamento Z1 do


classificador Di .
O erro ei ponderado do classificador Di .
O suporte ln 1i associado ao classificador Di , onde
ei
, para ei (0, 0.5].
i = 1e
i
O treinamento e a classificao com o algoritmo Adaboost
so apresentados a seguir.

p.14/21
A.X. Falcao

Treinamento em Adaboost
1. Para um dado L, faa p1j

1
N,

j = 1, 2, . . . , N e D .

2. Para i = 1, 2, . . . , L faa
3.

Amostre os objetos em Z usando a distribuio de


probabilidades [pi1 , pi2 , . . . , piN ] e insira esses
(i)

objetos em Z1 .
4.
5.

(i)
Z1 .

Construa Di por treinamento com


PN i j
Calcule ei j=1 pj li , onde lij = 0 se Di rotula zj
corretamente e lij = 1 no caso contrrio.

p.15/21
A.X. Falcao

Treinamento em Adaboost
6.

Se ei = 0 ou ei 0.5, ignore Di , reinicialize os pesos


pij

1
N,

e continue. Caso contrrio, insira

D D Di , calcule i

e pi+1

j
i (1li )
pj i
PN
(1lk )
i
i
k=1 pk i

ei
1ei

, para j = 1, 2, . . . , N .

7. Retorne D e 1 , 2 , . . . , L .
Note que o nmero final de classificadores pode ser menor
que L.

p.16/21
A.X. Falcao

Classificao em Adaboost
1. Para uma amostra x, calcule o suporte
P
j (x) = Di (x)=wj ln 1i , para j = 1, 2, . . . , c.
2. A classe wj com o maior suporte escolhida como
rtulo de .
O algoritmo arc-x4 um variante do Adaboost que difere
em dois aspectos. Primeiro, o peso pij calculado como
a proporo de vezes que zj foi classificado errado pelos
i 1 classificadores construdos at o momento. Segundo,

a deciso final feita por voto majoritrio em vez de voto


majoritrio ponderado.
p.17/21
A.X. Falcao

Treinamento em arc-x4
1. Para um dado L, faa p1j

1
N,

j = 1, 2, . . . , N e D .

2. Para i = 1, 2, . . . , L faa
3.

Amostre os objetos em Z usando a distribuio de


(i)

probabilidades [pi1 , pi2 , . . . , piN ] e insira-os em Z1 .


(i)
Z1 .

4.

Construa Di por treinamento com

5.

Encontre a proporo mj de classificadores em D


que erram o rtulo de zj e atualize

pi+1
j

1+m4j
PN
4
k=1 1+mk

para j = 1, 2, . . . , N .
6. Retorne D.
p.18/21
A.X. Falcao

Classificao em arc-x4
A classificao igual a do algoritmo bagging (voto majoritrio). O desempenho equivalente ao do adaboost, apesar
do mtodo ser ad hoc.

p.19/21
A.X. Falcao

Teoria das margens


Uma das caractersticas interessantes do boosting que
mesmo aps o erro de treinamento chegar a zero, ele
continua reduzindo o erro de teste com o aumento do
nmero de classificadores. Uma das explicaes para o
sucesso do mtodo est na teoria das margens. O conceito
de margens vem da teoria de aprendizado estatstico com
relao dimenso de Vapnik-Chervonenkis. Esta
dimenso estabelece um limite superior para a habilidade
de classificao de modelos de classificadores. A margem
para um objeto z com caractersticas x definida como a
certeza de classificao
m(x) = k (x) max{j (x)}
j6=k

onde wk a classe verdadeira e

Pc

j=1 j (x)

= 1.
p.20/21
A.X. Falcao

Teoria das margens


Amostras classificadas erroneamente geram margens negativas e amostras classificadas corretamente geram margens positivas. Ns queremos colees de classificadores
que maximizam as margens. Portanto, esta medida pode
ser usada para comparar colees.

p.21/21
A.X. Falcao

Das könnte Ihnen auch gefallen