boosting e bagging
DESCRIPTION
Machine LearningTRANSCRIPT
-
Anlise de ImagensAula 24: Bagging e Boosting
Prof. Alexandre Xavier Falcao
IC - UNICAMP
A.X. Falcao p.1/21
-
Roteiro da Aula
BaggingBoosting
Ver livro da Kuncheva.
A.X. Falcao p.2/21
-
Bagging
Bagging (Bootstrap AGGregatING) e boosting so tcnicasde treinamento para colees de classificadores instveis.A idia criar uma coleo de classificadores distintos. Embagging, esta diversidade surge por amostragem aleatria,independente e uniforme dos objetos em Z para criar umconjunto de treinamento Z(i)1 , com N1 objetos, para cadaclassificador Di, i = 1, 2, . . . , L. Os conjuntos Z(i)1 podem terum percentual de objetos em comum, mas devemos evitarobjetos repetidos em um mesmo conjunto. A classificao feita por voto majoritrio.
A.X. Falcao p.3/21
-
Bagging
Treinamento1. Para um dado L, inicialize o conjunto de
classificadores D .2. Para i = 1, 2, . . . , L, faa:3. Gere Z(i)1 por amostragem em Z.4. Construa Di por treinamento com Z(i)1 .5. Adicione D D Di.6. Retorne D.Classificao1. 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.
A.X. Falcao p.4/21
-
Bagging
Em bagging, os classificadores so quase independentes.Nestas condies, sabemos que a exatido da coleo maior que a individual. Espera-se, portanto, umacorrelao i,j 0 entre as sadas de quaisquer pares declassificadores Di e Dj , i 6= j, da coleo. Para duasclasses, por exemplo:
i,j =N11N00 N01N10
(N11 +N10)(N01 +N00)(N11 +N01)(N10 +N00)
onde Nab o nmero de objetos em Z3 para os quais oclassificador Di gera a sada a e o classificador Dj gera asada b, a, b = {0, 1}.
A.X. Falcao p.5/21
-
Bagging
O bagging com rvores de deciso denominado florestasaleatrias. O mtodo pasting small votes outro varianteque busca minimizar o tamanho N1 dos conjuntos de trei-namento. Conjuntos de treinamento com tamanho relativopequeno so denominados bites. O bagging com bites chamado Rvotes e apresenta pssimos resultados. A va-riao mais interessante chamada Ivotes, onde a amos-tragem para gerar os conjuntos Z(i)1 , i = 1, 2, . . . , L, leva emconta a importncia das amostras.
A.X. Falcao p.6/21
-
Bagging
Em Ivotes, os classificadores so construdos um aps ooutro de forma que aproximadamente a metade dasamostras em Z(l+1)1 so classificadas corretamente pelacoleo Dl = {D1, D2, . . . , Dl}, 1 < l L 1, e a outrametade no. Seja Dl uma coleo com erro el < 0.5 em Z3.As amostras em Z(l+1)1 so obtidas pelo seguinte algoritmo.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. Estesclassificadores so chamados out-of-bag. Se z estiverem todos os conjuntos, ignore-o e volte para 1. Casocontrrio...
A.X. Falcao p.7/21
-
Bagging
3. Submeta z classificao pelos classificadoresout-of-bag e atribua-o um rtulo final por votomajoritrio.
4. Se o rtulo de z estiver errado, insira z em Z(l+1)1 . Casocontrrio, insira ou no z em Z(l+1)1 respeitando probabilidade el1el de insero.
5. Repita as etapas de 1 a 4 at obter N1 elementos emZ
(l+1)1 .
As prximas etapas so treinar o classificador Dl+1 comZ
(l+1)1 e estimar o erro el+1. O processo todo se repete at
l = L.A.X. Falcao p.8/21
-
Boosting
O mtodo boosting foi inspirado em um algoritmo de apren-dizado on-line, denominado Hedge(). Este algoritmo atri-bui pesos para um conjunto de estratgias que predizem oresultado de um certo evento. As estratgias aqui so clas-sificadores e os pesos so suas probabilidades de acerto. Oalgoritmo assume que dispomos de um conjunto de classifi-cadores D = {D1, D2, . . . , DL} j treinados e de um conjuntode avaliao Z2 = {z1, z2, . . . , zN2}. O objetivo atualizar ospesos de forma a identificar o classificador mais adequadopara o problema (o mais exato em Z2).
A.X. Falcao p.9/21
-
Hedge()Considere:
A taxa [0, 1] de aprendizado.A perda lji = 1 do classificador Di quando erra o rtulode um objeto zj Z2 (lji = 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 .
A.X. Falcao p.10/21
-
Hedge()1. Faa 0, i 0 e p1i = 1L para i = 1, 2, . . . , L.2. Para zj , j = 1, 2, . . . , N2, faa
3. Calcule a distribuio pji =pjiPL
k=1 pj
k
para i = 1, 2, . . . , L.
4. Encontre as perdas lji para Di, i = 1, 2, . . . , L.
5. Atualize +L
i=1 pji lji .
6. Atualize i i + lji .
7. Atualize os pesos pj+1i pji
lji.
8. Retorne , i, e pN+1i =pN+1iPLk=1 p
N+1k
, i = 1, 2, . . . , L.
A.X. Falcao p.11/21
-
Hedge()O algoritmo hedge() busca minimizar . Se = g
(
lnL
)
onde g() = 11+
q2
e a estimativa de perda mxima do
melhor classificador, ento
L
mini=1
i +2 lnL+ lnL
A.X. Falcao p.12/21
-
AdaboostO algoritmo Adaboost (ADAptive BOOSTing) est relacio-nado ao problema de predio exata por combinar regrasmais simples e menos exatas. Os classificadores so cons-trudos um aps o outro, e seus objetos de treinamento soamostrados de Z de forma aleatria, inicialmente com distri-buio uniforme e posteriormente com distribuio propor-cional a sua dificuldade de classificao. A relao comhedge() est em que os eventos so os classificadores,as estratgias so os objetos, e as probabilidades de amos-tragem desses objetos so atualizadas durante o algoritmo.
A.X. Falcao p.13/21
-
AdaboostConsidere:
A probabilidade pij do objeto zj Z, j = 1, 2, . . . , N , serescolhido para o conjunto de treinamento Z(i)1 doclassificador Di.O erro ei ponderado do classificador Di.O suporte ln 1
iassociado ao classificador Di, onde
i =ei
1ei, para ei (0, 0.5].
O treinamento e a classificao com o algoritmo Adaboostso apresentados a seguir.
A.X. Falcao p.14/21
-
Treinamento em Adaboost
1. Para um dado L, faa p1j 1N , j = 1, 2, . . . , N e D .2. Para i = 1, 2, . . . , L faa3. Amostre os objetos em Z usando a distribuio de
probabilidades [pi1, pi2, . . . , piN ] e insira esses
objetos em Z(i)1 .4. Construa Di por treinamento com Z(i)1 .5. Calcule ei
Nj=1 p
ijlji , onde l
ji = 0 se Di rotula zj
corretamente e lji = 1 no caso contrrio.
A.X. Falcao p.15/21
-
Treinamento em Adaboost6. Se ei = 0 ou ei 0.5, ignore Di, reinicialize os pesos
pij 1N
, e continue. Caso contrrio, insiraD D Di, calcule i ei1ei
e pi+1j pij
(1lji)
iPNk=1 p
ik
(1lki)
i
, para j = 1, 2, . . . , N .
7. Retorne D e 1, 2, . . . , L.
Note que o nmero final de classificadores pode ser menorque L.
A.X. Falcao p.16/21
-
Classificao em Adaboost
1. Para uma amostra x, calcule o suportej(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 difereem dois aspectos. Primeiro, o peso pij calculado comoa proporo de vezes que zj foi classificado errado pelosi 1 classificadores construdos at o momento. Segundo,a deciso final feita por voto majoritrio em vez de votomajoritrio ponderado.
A.X. Falcao p.17/21
-
Treinamento em arc-x4
1. Para um dado L, faa p1j 1N , j = 1, 2, . . . , N e D .2. Para i = 1, 2, . . . , L faa3. Amostre os objetos em Z usando a distribuio de
probabilidades [pi1, pi2, . . . , piN ] e insira-os em Z(i)1 .
4. Construa Di por treinamento com Z(i)1 .5. Encontre a proporo mj de classificadores em D
que erram o rtulo de zj e atualize pi+1j =1+m4jPNk=1 1+m
4k
para j = 1, 2, . . . , N .6. Retorne D.
A.X. Falcao p.18/21
-
Classificao em arc-x4
A classificao igual a do algoritmo bagging (voto majori-trio). O desempenho equivalente ao do adaboost, apesardo mtodo ser ad hoc.
A.X. Falcao p.19/21
-
Teoria das margens
Uma das caractersticas interessantes do boosting quemesmo aps o erro de treinamento chegar a zero, elecontinua reduzindo o erro de teste com o aumento donmero de classificadores. Uma das explicaes para osucesso do mtodo est na teoria das margens. O conceitode margens vem da teoria de aprendizado estatstico comrelao dimenso de Vapnik-Chervonenkis. Estadimenso estabelece um limite superior para a habilidadede classificao de modelos de classificadores. A margempara um objeto z com caractersticas x definida como acerteza de classificao
m(x) = k(x)maxj 6=k
{j(x)}
onde wk a classe verdadeira ec
j=1 j(x) = 1.A.X. Falcao p.20/21
-
Teoria das margens
Amostras classificadas erroneamente geram margens ne-gativas e amostras classificadas corretamente geram mar-gens positivas. Ns queremos colees de classificadoresque maximizam as margens. Portanto, esta medida podeser usada para comparar colees.
A.X. Falcao p.21/21
Roteiro da Aulaemph {Bagging}emph {Bagging}emph {Bagging}emph {Bagging}emph {Bagging}emph {Bagging}emph {Boosting}emph {Hedge($eta $)}emph {Hedge($eta $)}emph {Hedge($eta $)}emph {Adaboost}emph {Adaboost}Treinamento em emph {Adaboost}Treinamento em emph {Adaboost}Classificao em emph {Adaboost}Treinamento em emph {arc-x4}Classificao em emph {arc-x4}Teoria das margensTeoria das margens