boosting e bagging

Upload: wagner-jorge

Post on 07-Jan-2016

233 views

Category:

Documents


0 download

DESCRIPTION

Machine Learning

TRANSCRIPT

  • Anlise de ImagensAula 24: Bagging e Boosting

    Prof. Alexandre Xavier Falcao

    [email protected].

    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