• Nenhum resultado encontrado

Análise da Memória e Complexidade Computacional

No documento Online boosting para problemas multiclasse (páginas 81-87)

4.4 EXPERIMENTOS COM BASES REAIS

4.4.3 Análise da Memória e Complexidade Computacional

A quantidade de memória utilizada (em bytes por segundo) por cada método e com diferentes classificadores são apresentados nas Tabelas 9 e 10. Adicionalmente, a Tabela 11 mostra a complexidade do tempo dos métodos.3 Novamente, os melhores resultados (menores números) foram destacados em negrito. Porém, como os melhores resultados são sempre dos classificadores base (NB e HATT) pelo fato deles não serem um comitê, o segundo melhor resultado de cada base foi também destacado em itálico e negrito. Apesar do uso da memória estar diretamente relacionado com a complexidade do espaço, 3 As complexidades foram definidas levando em consideração as implementações disponibilizadas por

Tabela 8 – Desempenho dos métodos nas bases reais (métrica 𝜅+) utilizando o classifica- dor HATT e o RDDM como detector de mudanças.

Bases AOLM HATT OABM1 OABM2 OCBoost OMBBM OSBoost OzaBag OzaBoost Problemas Binários Credit-a 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Credit-g 22,43 29,60 36,16 31,94 33,99 19,45 34,74 29,16 38,91 Diabetes 18,97 32,49 31,02 31,34 28,15 30,91 32,41 28,07 29,11 Electricity 22,45 0,00 50,55 50,12 38,48 37,94 0,00 0,00 39,07 Ionosphere 62,90 67,22 66,78 68,29 64,89 71,60 61,90 59,29 68,35 Kr.vs.kp 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Mushroom 97,04 92,41 98,16 97,71 97,72 97,31 93,49 92,22 97,58 NslKdd 87,28 88,05 89,91 90,07 85,69 89,69 91,29 90,45 91,45 Sonar 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Weather 10,90 21,78 28,78 18,66 22,48 24,84 25,99 24,31 28,75 Rank 6,80 5,60 3,40 4,30 5,30 5,00 4,80 6,40 3,40 Problemas Multiclasse Covertype 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Glass 11,06 10,39 24,44 23,96 8,70 16,95 13,41 18,34 21,03 Iris 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Letter 50,64 53,43 58,58 60,49 2,50 53,70 53,75 57,41 45,12 Lymph 30,35 43,06 43,73 43,31 0,00 35,63 40,72 44,89 35,44 Pokerhand 12,82 17,44 30,90 33,94 14,76 23,24 23,36 15,50 28,28 Segment 73,39 69,73 77,38 77,85 13,35 75,69 71,02 70,54 75,16 Splice 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Vowel 58,99 52,31 58,69 62,20 3,60 56,38 55,74 50,25 62,01 Wave-5000 67,26 69,39 71,19 71,00 27,48 70,89 70,48 70,17 71,15 Rank 6,20 6,10 2,90 2,70 7,70 4,80 5,10 5,10 4,40 All 6,50 5,85 3,15 3,50 6,50 4,90 4,95 5,75 3,90

o fato da memória ser mensurada em bytes por segundo torna seus resultados relacionados também à complexidade do tempo.

Apesar do consumo da memória já ter sido medido para esses métodos na Subseção 4.3.2, somente bases artificiais foram levadas em consideração. Além disso, nesta subseção, os métodos são acompanhados de um detector de mudança de conceito, podendo também influenciar nos resultados.

Analisando os ranks dos comitês em relação ao consumo de memória, tanto na Tabela 9 (NB) quanto na Tabela 10 (HATT) os métodos OzaBag, OzaBoost e OABM1 obtiveram os melhores desempenhos em termos gerais. O OSBoost, apesar de ter a complexidade igual aos melhores métodos, obteve desempenho inferior em termos gerais. Essas diferenças ocorrem devido a existência de outras variáveis que influenciam no consumo de memória dos métodos, como detalhes de implementação e atuação do detector de mudança.

Tabela 9 – Consumo de memória (B/s) dos métodos nas bases de dados reais utilizando o classificador NB e o RDDM como detector de mudanças.

Bases AOLM NBayes OABM1 OABM2 OCBoost OMBBM OSBoost OzaBag OzaBoost

Problemas Binários Credit-a 102,32 1,69 98,97 113,99 95,69 112,65 97,48 102,29 97,27 Credit-g 193,53 3,40 178,01 253,61 182,15 202,69 190,02 174,51 174,90 Diabetes 94,39 0,99 85,46 127,29 86,04 94,28 90,16 83,79 85,19 Electricity 4182,26 32,79 4188,78 6320,48 4266,10 5073,36 4115,42 4115,87 4168,45 Ionosphere 128,53 2,00 122,09 144,28 141,44 152,89 166,29 126,65 123,16 Kr.vs.kp 525,28 12,74 514,48 273,25 525,04 548,94 513,27 515,43 523,82 Mushroom 1262,24 34,97 1187,48 1812,34 1242,83 1354,59 1331,08 1328,21 1190,43 NslKdd 76522,20 963,24 73125,90 89126,40 85848,00 88371,50 94807,60 89073,90 77910,30 Sonar 139,09 2,20 132,64 43,22 128,99 137,92 131,04 130,73 133,07 Weather 1791,14 12,75 1915,77 2924,77 1850,34 2033,37 1822,15 1642,41 1905,95 Rank 6,00 1,00 4,20 7,30 4,90 7,80 5,50 4,10 4,20 Problemas Multiclasse Covertype 259367,00 4382,10 368538,00 552721,00 266944,00 390224,00 250723,00 301094,00 380489,00 Glass 40,73 0,53 39,32 67,78 40,95 53,96 38,24 37,11 36,00 Iris 17,75 0,31 15,52 17,00 16,96 20,58 16,87 15,55 15,61 Letter 16188,70 118,37 14412,40 34540,70 14735,10 29108,80 14693,60 14332,70 14087,70 Lymph 32,63 0,78 31,09 45,69 33,30 39,91 32,99 30,99 26,62 Pokerhand 96874,60 995,58 101054,00 244672,00 96339,90 157399,00 92072,60 94427,20 101214,00 Segment 633,57 6,19 612,89 1053,04 639,05 840,83 616,04 613,47 610,46 Splice 3809,11 1026,38 3745,26 2890,60 3827,29 3893,03 3781,61 3788,24 3761,15 Vowel 348,83 4,06 276,49 595,96 332,67 479,20 355,01 288,96 280,51 Wave-5000 3199,73 32,89 2408,62 3339,48 3853,46 2923,15 3518,07 3371,43 2456,66 Rank 5,80 1,00 3,70 7,80 6,30 7,80 4,90 4,10 3,60 All 5,90 1,00 3,95 7,55 5,60 7,80 5,20 4,10 3,90

métodos tem relação direta com uma funcionalidade chamada estado de alerta (warning). Para um detector, entrar nesse estado significa que existe uma alta probabilidade de ter ocorrido um mudança na distribuição, porém, mais instâncias ainda são necessárias para confirmar essa detecção. Assim, para fins de otimização, um classificador alternativo passa a ser treinado em paralelo ao classificador atual e, caso a mudança se confirme posteriormente, o classificador atual é substituído pelo que foi treinado em paralelo.

Apesar de ser uma boa estratégia utilizar um classificador em paralelo para otimizar a acurácia, o consumo de memória é aumentado consideravelmente no pior caso, quando todos os membros do ensemble estão nesse estado. Logo, quanto mais tempo o detector passar em estado de alerta, maior o consumo. É importante destacar também que um estado de alerta pode ser ativado e a mudança não ser confirmada mais adiante. Essa é uma situação que pode ocorrer algumas vezes em um fluxo de dados, elevando a utilização da memória e sem nenhuma melhora de desempenho.

Investigando agora os métodos com maior consumo – e em concordância com os re- sultados da Tabela 11 – OMBBM, OABM2 e AOLM foram os piores. Ainda que existam outros fatores que influenciam no consumo de memória, ser assintoticamente mais lento acabou sendo um aspecto dominante. No caso do OCBoost, apesar de ser assintoticamente inferior aos métodos mais eficientes, seu consumo de memória não difere muito deles. Isso

Tabela 10 – Consumo de memória (B/s) dos métodos nas bases de dados reais utilizando o classificador HATT e o RDDM como detector de mudanças.

Bases AOLM HATT OABM1 OABM2 OCBoost OMBBM OSBoost OzaBag OzaBoost

Problemas Binários Credit-a 478,73 4,17 465,02 408,07 475,59 487,48 468,68 458,03 403,22 Credit-g 764,97 7,86 768,95 859,05 789,44 896,98 820,53 789,56 676,57 Diabetes 501,01 3,47 485,06 520,19 511,86 512,73 492,10 464,45 401,72 Electricity 25318,50 124,54 25908,80 29272,80 24962,90 26408,20 24760,00 24428,80 25515,20 Ionosphere 562,87 5,32 515,17 494,55 550,26 599,81 640,12 540,56 531,82 Kr.vs.kp 2324,22 25,42 2279,70 1386,16 2270,44 2269,29 2255,15 2213,35 2131,64 Mushroom 6070,06 73,21 5280,28 6068,52 6217,53 7180,26 7139,30 5523,38 5047,28 NslKdd 3219750,00 80340,30 933752,00 1117660,00 457092,00 3750640,00 12966600,00 10522600,00 1375250,00 Sonar 544,12 5,67 543,24 197,06 502,55 549,68 538,82 495,31 525,58 Weather 11802,20 50,27 12628,80 16357,40 10830,30 11299,40 10794,50 9695,54 12219,00 Rank 6,40 1,00 5,20 5,30 5,30 7,80 6,10 4,10 3,80 Problemas Multiclasse Covertype 841252,00 8971,12 1470690,00 1972970,00 1073710,00 1034540,00 826799,00 1354950,00 1905010,00 Glass 184,61 1,57 177,22 245,37 176,29 214,25 178,43 180,95 147,25 Iris 103,16 0,87 96,60 82,47 93,62 101,59 92,70 90,29 80,47 Letter 38769,20 214,95 37630,20 74708,50 38498,70 62590,90 38246,20 35919,70 35152,10 Lymph 136,01 1,76 117,73 153,72 130,49 145,00 128,23 133,94 116,12 Pokerhand 501072,00 3339,88 510703,00 803741,00 488743,00 701874,00 474141,00 492518,00 528907,00 Segment 2726,00 15,78 2410,70 3083,09 2385,13 2976,64 2422,16 2235,47 2235,25 Splice 7841,39 1065,06 7990,55 5759,01 7644,91 7795,75 7628,08 7553,80 7720,92 Vowel 1155,69 8,85 972,57 1518,84 1118,01 1385,92 1149,71 954,76 983,35 Wave-5000 12367,60 123,27 9536,56 12132,80 10325,10 11851,00 12817,10 13644,30 9379,66 Rank 6,70 1,00 5,10 7,40 4,60 7,20 4,70 4,60 3,70 All 6,55 1,00 5,15 6,35 4,95 7,50 5,40 4,35 3,75

Tabela 11 – Complexidade computacional dos métodos de comitê.

AOLM OABM1 OABM2 OCBoost OMBBM OSBoost OzaBag OzaBoost 𝑂(𝑀.𝐾2) 𝑂(𝑀) 𝑂(𝑀.(𝐾 − 1).𝐿) Θ(𝑀2) Θ(𝑀.𝐾3.𝑀) 𝑂(𝑀) 𝑂(𝑀) 𝑂(𝑀 )

acontece pois o seu comportamento não é refletido por Θ(𝑀2) em todos os casos, como indica a notação Θ (CORMEN et al., 2009). Em vários cenários, sua complexidade será mais próxima de Θ(𝑀) do que Θ(𝑀2).

Em constraste ao OCBoost, o OMBBM – que também utiliza a notação Θ por ser tec- nicamente mais precisa para representá-lo – no melhor caso terá complexidade Θ(𝑀.𝐾2). Essa situação ocorrerá quando as funções potenciais não precisarem ser estimadas por uma simulação de Monte Carlo (representado pela variável 𝑀) pelo fato de já terem sido calculadas em iterações anteriores4. Ainda assim, o melhor caso do OMBBM continua sendo assintoticamente inferior às melhores opções.

Por fim, em relação ao OABM2, seu comportamento mais especializado com relação às manipulações dos pesos das classes demandará maior tempo e memória. Entretanto, geralmente os valores de 𝐾 e 𝐿 (ver Tabela 11) não são tão grandes a ponto de inviabilizar a utilização do OABM2 em ambientes com fluxo contínuo de dados. Caso o tempo e a memória seja algo extremamente crítico, uma alternativa seria definir um valor pequeno 4 Essa técnica de otimização é conhecida como memoization.

para 𝐿. Dessa maneira, perde-se precisão na definição dos pesos das instâncias e classes em troca de desempenho computacional.

4.4.4 Análise Estatística

Para realizar a análise estatística do desempenho dos métodos, o teste de Friedman (DEM- SAR, 2006) e o pós-teste de Bonferroni-Dunn (GARCÍA; HERRERA, 2008) foram aplicados, da mesma forma como aplicado na Subseção 4.3.3. Baseando-se nas Tabelas 5 e 6, as Figuras 7 e 8 detalham os resultados do teste de Bonferroni-Dunn utilizando o OABM1 e o OABM2 como métodos base, respectivamente. Os métodos que serão comparados (representados pelas barras) que possuírem uma altura (P-Value) menor que 0,05 (li- mite tracejado em vermelho) serão consideradas estatisticamente inferiores, com 95% de confiança.

OABM1 - Bonferroni-Dunn com 95% de confiança

P-

Valor

Figura 7 – Os métodos abaixo da linha vermelha são estatisticamente inferiores em acu- rácia ao OABM1 com 95% de confiança.

P-

Valor

OABM2 - Bonferroni-Dunn com 95% de confiança

Figura 8 – Os métodos abaixo da linha vermelha são estatisticamente inferiores em acu- rácia ao OABM2 com 95% de confiança..

Utilizando o NB como classificador base, o OABM1 foi estatisticamente superior ao OCBoost e ao OzaBag. Já com o HATT, o OABM1 foi superior aos mesmos métodos que foi com o NB e também ao AOLM e ao HATT (classificador único). Com relação

ao OABM2, em ambos os classificadores base ele foi estatisticamente superior ao AOLM, OCBoost, OzaBag e aos classificadores únicos (NB e HATT). O OABM2 foi também superior ao OSBoost, mas somente utilizando o HATT.

O mesmo teste foi aplicado aos dados das Tabelas 7 e 8. Considerando os dois classifica- dores base (NB e HATT), o OABM1 foi estatisticamente superior aos métodos OCBoost, OzaBag, AOLM e ao classificador único (NB e HATT). Já o OABM2 obteve superioridade estatística ao método OzaBag utilizando o NB; ao método OCBoost utilizando o HATT; e ao método AOLM tendo qualquer um dos dois classificadores como base.

Por fim, o teste estatístico foi utilizado também no consumo de memória dos méto- dos (Tabelas 9 e 10). Os resultados apontaram que o OABM1, utilizando o NB como classificador, foi estatisticamente superior ao OABM2 e ao OMBBM e inferior ao classi- ficador único em termos de consumo de memória. O mesmo não aconteceu utilizando o HATT, onde o OABM1 não foi estatisticamente superior a nenhum método e foi inferior ao classificador único. Por fim, com relação ao OABM2 utilizando o NB, além dele ser estatisticamente inferior ao OABM1, foi também inferior aos métodos OzaBoost, OzaBag e ao classificador único. Por outro lado, com o HATT, o OABM2 foi inferior somente ao classificador único e ao OzaBoost.

4.5 CONSIDERAÇÕES FINAIS

Este capítulo comparou empiricamente e estatisticamente o OABM1 e o OABM2 em relação a outros métodos. Na parte inicial da comparação, foram utilizadas bases de da- dos artificiais independentes e identicamente distribuídas, cenário no qual existe garantia teórica de convergência dos métodos propostos. Em seguida foram utilizadas bases reais com características diversas, incluindo possíveis dependências temporais e/ou mudanças na distribuição de probabilidade, cenário onde a convergência dos métodos não pode ser garantida. Em ambos os casos, tanto o OABM1 quando o OABM2 apresentaram desem- penhos satisfatórios com relação à acurácia.

Em termos de consumo de memória e complexidade computacional, o OABM1 apresen- tou desempenho igual ou superior a todas as outras abordagens utilizadas na comparação. O OABM2, por sua vez, por ter um comportamento mais especializado em relação aos problemas multiclasse demandou um maior custo computacional em termos gerais. Ainda assim, esse custo não é tão elevado a ponto de inviabilizar a sua utilização. Um outro ponto é que seu consumo também pode ser reduzido através do parâmetro 𝐿: quanto menor o valor, menor a precisão do algoritmo, porém, mais econômico em termos de memória e complexidade ele será.

O próximo capítulo traz uma discussão mais detalhada do comportamento dos métodos propostos em ambientes com mudanças de conceito.

5 AMBIENTES COM MUDANÇAS DE CONCEITO

Este capítulo aprofunda a discussão dos métodos propostos em cenários com mudanças de conceito. Para este fim, um estudo comparativo é realizado, analisando empiricamente a influência de diferentes detectores no OABM1 e no OABM2. Como na Seção 4.4, por ser um cenário no qual haverá mudanças na distribuição de probabilidade dos dados, não exis- tirá garantia teórica de convergência para os métodos propostos, sendo os experimentos reportados aqui exclusivamente empíricos.

No documento Online boosting para problemas multiclasse (páginas 81-87)