• Nenhum resultado encontrado

Online boosting para problemas multiclasse

N/A
N/A
Protected

Academic year: 2021

Share "Online boosting para problemas multiclasse"

Copied!
135
0
0

Texto

(1)

Online Boosting para Problemas Multiclasse

Universidade Federal de Pernambuco [email protected] http://cin.ufpe.br/~posgraduacao

Recife 2019

(2)

Online Boosting para Problemas Multiclasse

Tese de Doutorado apresentada ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, como requisito parcial para ob-tenção do título de Doutor em Ciência da Com-putação.

Área de Concentração: inteligência

computa-cional

Orientador: Roberto Souto Maior de Barros

Recife 2019

(3)

# $ " % & , - ./, . ,0 , , , ' " 0 * 1 " , # 23 * " 4 - 5 % " " 6 " " 7 ) * , 8 9 " )(* ./, 8 * 9 (9 " , ., 8 9 )(* , , ( " : " " ) ;* , , ) ) *$ < * " " " , 8, * 1 " 2 " 4, 88, #< * , , 33 2 , ",4 567= 1=8 ./ //

(4)

“Online Boosting para Problemas Multiclasse”

Tese de Doutorado apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de Pernambuco, como re-quisito parcial para a obtenção do título de Dou-tor em Ciência da Computação.

Aprovado em: 18/03/2019.

Orientador: Prof. Roberto Souto Maior de Barros

BANCA EXAMINADORA

Prof. Dr. Paulo Jorge Leitão Adeodato Centro de Informática / UFPE

Prof. Dr. Ricardo Bastos Cavalcante Prudêncio Centro de Informática / UFPE

Prof. Dr. João Roberto Bertini Junior Faculdade de Tecnologia / UNICAMP Profa. Dra. Symone Gomes Soares Alcalá Faculdade de Ciências e Tecnologia / UFG

Prof. Dr. Rodrigo Fernandes de Mello

(5)

Inicialmente, agradeço a Deus por tudo que Ele tem feito na minha vida e por me dar serenidade na condução dos meus objetivos.

Ao longo dessa jornada muitas pessoas contribuíram de forma imensurável. Sem dú-vidas, uma dessas pessoas foi o meu orientador, professor Roberto Barros. Só tenho a agradecer por todo conhecimento compartilhado, sempre com boa vontade, paciência e simplicidade. Tive sorte em tê-lo como mentor durante esses anos.

Agradeço a todos os professores/funcionários do Centro de Informática (CIn-UFPE) que participaram direta e indiretamente da minha formação. Agradeço aos amigos que fiz em Recife, incluindo o pessoal do grupo de pesquisa: Bruno Maciel, Danilo Cabral, José Luís Perez, Juan Hidalgo, Paulo Gonçalves Júnior e Rohgi Toshio. Agradeço também à banca pelas sugestões fornecidas, contribuindo para melhoria desta tese.

Por fim, mas não menos importante, agradeço aos meu pais, Izabel Garrido e João Santos. Obrigado por todo amor dedicado de maneira incondicional. Vocês sempre serão a minha referência. Incluo também nos agradecimentos todos os parentes e amigos em geral; a minha irmã, Isabela Garrido; os meus avós, Mário Garrido e Lisete Teixeira; e os meus tios, Ana Garrido e Joabe Evangelista, que me receberam como um filho durante minha estadia em Recife. Serei eternamente grato a vocês.

(6)

A predição online em ambientes em que as informações fluem de forma contínua, rá-pida e em grandes quantidades vem se tornando cada vez mais importante na solução de problemas reais. Nesse tipo de cenário a distribuição dos dados geralmente evolui com o tempo, desencadeando uma situação conhecida como mudança de conceito (concept drift). Dentre os principais desafios da área, um deles é fazer com que os métodos lidem com muita informação de maneira satisfatória e levando em consideração as limitações compu-tacionais. Uma das técnicas que vem recebendo notoriedade também neste tipo de cenário é o boosting. Sua característica é combinar as hipóteses de diferentes classificadores fracos com o objetivo de transformá-los em um único classificador forte. A utilização do boosting de maneira online é uma prática relativamente nova, inspirada no sucesso da sua versão offline, e que vem se desenvolvendo com o objetivo de atender novas demandas. Por conta disso, diversos aspectos ainda permanecem pouco explorados, a exemplo dos problemas multiclasse. Esta tese propõe dois novos métodos online de boosting para problemas mul-ticlasse. O primeiro deles (OABM1) tem por objetivo realizar uma melhor distribuição dos pesos das instâncias equiparando suas características ao tradicional AdaBoost.M1 e com uma baixa complexidade computacional; já o segundo (OABM2) foca em um tra-tamento mais especializado para os problemas multiclasse e é baseado no AdaBoost.M2. Argumentações teóricas foram utilizadas para demonstrar que ambos mantêm as princi-pais características dos métodos em que são baseados e que convergem em cenários no qual os dados são independentes e identicamente distribuídos (IID). Experimentalmente, os métodos propostos foram comparados a outras abordagens semelhantes em termos de acurácia e consumo de memória. Foram utilizados cenários onde a convergência dos méto-dos é garantida (IID) e também cenários onde não existe essa garantia, ou seja, os daméto-dos podem mudar de distribuição e podem ter algum tipo de dependência entre eles, situação comum em ambientes com fluxo contínuo de dados. Em ambos os casos, tanto o OABM1 quanto o OABM2 apresentaram desempenho igual ou superior a outras abordagens relaci-onadas. Por fim, como contribuição adicional, esta tese propõe um método empírico com o objetivo de guiar na escolha de uma parametrização adequada para métodos detectores de mudanças de conceito no contexto de classificadores únicos (single classifiers). A base desse método vem de experimentos pré-processados em oito geradores artificiais, cada um deles com mudanças abruptas e graduais, além de seis bases reais, onze detectores e dois classificadores. A performance de todos os onze detectores foram comparadas utilizando seus parâmetros padrões e várias outras parametrizações prescritas pelo método. Resul-tados indicaram que a performance desses detectores aumenta consideravelmente com a utilização do método proposto.

Palavras-chave: Aprendizado de máquina online. Ambiente com fluxo contínuo de dados.

(7)

Predicting online on data streams, with data flowing continuously, quickly, and in large quantities, is becoming increasingly more important in tackling real-world prob-lems. In such scenarios, data distribution usually evolves over time, a situation known as concept drift. One of the main challenges is to allow the methods to handle a lot of information in a satisfactory manner, taking into account computational limitations. One of the techniques that has been gaining notoriety in this type of scenario is boosting. Its characteristic is to combine the hypotheses of different weak learners with the goal of turning them into a single strong learner. The use of boosting in an online way is a relatively new practice, inspired by the success of its offline version, and which has been developing in order to meet new demands. Because of this, several aspects remain unexplored, such as multiclass problems. This thesis proposes two new online boosting methods for multiclasse problems. The first one (OABM1) aims to perform a better dis-tribution of the weights of the instances, matching its characteristics to the traditional AdaBoost.M1 and with a low computational complexity; the second (OABM2) focuses on a more specialized treatment for multiclasse problems and is based on AdaBoost.M2. Theoretical arguments have been used to demonstrate that both retain the main char-acteristics of the methods on which they are based and that they converge in scenarios in which the data are independent and identically distributed (IID). Experimentally, the proposed methods were compared to other similar approaches in terms of accuracy and memory consumption. We used scenarios where the convergence of methods is guaranteed (IID) and also scenarios where there is no such guarantee, that is, the data can change distribution and may have some kind of dependency between them, a common situation in data stream. In both cases, both OABM1 and OABM2 showed equal or superior per-formance to other related approaches. Finally, as an additional contribution, this thesis proposes an empirical method with the purpose of guiding in the choice of a suitable parameterization for drift detection methods in the context of single classifiers. The ba-sis of this framework comes from pre-processed experiments using eight artificial dataset generators, each of them with five abrupt, fast gradual, and slow gradual concept drift versions, as well as six real-world datasets, for eleven different drift detectors and two different base learners. The performance of all eleven detectors were compared using their default parameters and several other parametrizations prescribed by the method. Results indicated that the performance of these detectors increases considerably with the use of the proposed method.

Keywords: Online learning. Data stream. Online boosting. Multiclass. Concept drift

(8)

Figura 1 – Os gráficos acima retratam os diferentes níveis de aproximação em re-lação ao modelo exato: quanto maior o limiar de precisão, maior essa proximidade. . . 53 Figura 2 – O gráfico acima mostra o decrescimento do erro dos métodos OABM1 e

OABM2 (com 𝐾 = 8) em função da quantidade de rodadas do boosting (𝑀). . . 60 Figura 3 – Ilustração com a base Sine (duas classes) de como as versões online se

aproximam das versões offline na medida que mais instâncias chegam. . 62 Figura 4 – Ilustração com a base LED (dez classes) de como as versões online se

aproximam das versões offline na medida que mais instâncias chegam. . 62 Figura 5 – Os métodos abaixo da linha vermelha são estatisticamente inferiores em

acurácia ao Online AdaBoost-based M1 (OABM1) com 95% de confiança. 74 Figura 6 – Os métodos abaixo da linha vermelha são estatisticamente inferiores em

acurácia ao Online AdaBoost-based M2 (OABM2) com 95% de confiança.. 75 Figura 7 – Os métodos abaixo da linha vermelha são estatisticamente inferiores

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

em acurácia ao OABM2 com 95% de confiança.. . . 84 Figura 9 – Os gráficos acima retratam o desempenho dos diferentes detectores

utilizando o OABM1 como classificador. O eixo 𝑦 representa a acurácia (através do rank de posicionamento) e o eixo 𝑥 representa as diferentes bases. . . 89 Figura 10 – Representação gráfica do desempenho dos detectores do OABM1

utili-zando o teste de Nemenyi e com 95% de confiança. . . 89 Figura 11 – Os gráficos acima retratam o desempenho dos diferentes detectores

utilizando o OABM2 como classificador. O eixo 𝑦 representa a acurácia (através do rank de posicionamento) e o eixo 𝑥 representa as diferentes bases. . . 91 Figura 12 – Representação gráfica do desempenho dos detectores do OABM2

utili-zando o teste de Nemenyi e com 95% de confiança. . . 92 Figura 13 – Comparação das parametrizações do Drift Detection Method (DDM)

+ Naïve Bayes (NB) utilizando o teste de Nemenyi em bases artificiais com 95% de confiança. . . 116 Figura 14 – Resultado simplificado dos melhores métodos + combinações de

pa-rametrização com o NB e utilizando o teste de Nemenyi com 95% de confiança em bases artificiais. . . 117

(9)

Tabela 1 – Os resultados abaixo indicam a acurácia dos classificadores persistente e majoritário e também a quantidade de mudanças de conceito iden-tificada pelo detector Drift Detection Method based on the Hoeffding’s

inequality (HDDM)𝐴 (utilizando o NB como classificador). . . 67 Tabela 2 – Características das bases de dados utilizadas nos experimentos. As

ta-belas do lado esquerdo e direito contém as bases binárias e multiclasse, respectivamente. . . 68 Tabela 3 – Acurácia dos métodos utilizando bases artificias e em intervalos com

95% de confiança. . . 72 Tabela 4 – Consumo de memória (B/s) dos métodos utilizando bases artificias e

em intervalos com 95% de confiança. . . 73 Tabela 5 – Acurácia dos métodos nas bases reais utilizando o classificador NB e o

Reactive Drift Detection Method (RDDM) como detector de mudanças. 76

Tabela 6 – Acurácia dos métodos nas bases reais utilizando o classificador

Hoeff-ding Anytime Tree (HATT) e o RDDM como detector de mudanças. . 77

Tabela 7 – Desempenho dos métodos nas bases reais (métrica 𝜅+) utilizando o classificador NB e o RDDM como detector de mudanças. . . 80 Tabela 8 – Desempenho dos métodos nas bases reais (métrica 𝜅+) utilizando o

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

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

uti-lizando o classificador HATT e o RDDM como detector de mudanças. . 83 Tabela 11 – Complexidade computacional dos métodos de comitê. . . 83 Tabela 12 – Acurácia do OABM1 com diferentes detectores nas bases artificiais em

intervalos com 95% de confiança. . . 88 Tabela 13 – Acurácia do OABM2 com diferentes detectores nas bases artificiais em

intervalos com 95% de confiança. . . 90 Tabela 14 – Desempenho do OABM1 utilizando diversos detectores e separados por

tipos de base (binárias e multiclasse). Por questões de legibilidade, as métricas FN, FP e VP tiveram seus valores divididos por 100 e VN por 1000. . . 92 Tabela 15 – Desempenho do OABM2 utilizando diversos detectores e separados por

tipos de base (binárias e multiclasse). Por questões de legibilidade, as métricas FN, FP e VP tiveram seus valores divididos por 100 e VN por 1000. . . 93

(10)

tipos de mudança (abrupta, gradual rápida e gradual lenta). Por ques-tões de legibilidade, as métricas FN, FP e VP tiveram seus valores divididos por 100 e VN por 1000. . . 95 Tabela 17 – Desempenho do OABM2 utilizando diversos detectores e separados por

tipos de mudança (abrupta, gradual rápida e gradual lenta). Por ques-tões de legibilidade, as métricas FN, FP e VP tiveram seus valores divididos por 100 e VN por 1000. . . 97 Tabela 18 – Tempo de execução médio (em minutos por 1000 instâncias) que o

Differential Evolution (DE) consumiu para encontrar os parâmetros

dos métodos recomendados com 95% de confiança. . . 109 Tabela 19 – Melhores detectores e parametrizações no cenário C2 utilizando o NB. 111 Tabela 20 – Acurácia dos resultados do DDM + NB nas bases artificiais em

inter-valos com 95% de confiança. . . 113 Tabela 21 – Acurácia do DDM + NB utilizando conjunto de parametrização

ge-ral e abrupta nas bases artificiais abruptas em intervalos com 95% de confiança. . . 114 Tabela 22 – Acurácia dos métodos recomendados em bases reais utilizando o NB. . 115 Tabela 23 – Rank das funções de agregação considerando os resultados de todos os

detectores utilizando o NB. . . 117 Tabela 24 – Acurácia referente a aplicação do método nas bases reais considerando

diferentes cenários e escolhas (utilizando o NB como classificador). . . 118 Tabela 25 – Melhores combinações de detectores e parametrizações no cenário C2

utilizando o Hoeffding Tree (HT). . . 119 Tabela 26 – Rank das funções de agregação considerando os resultados de todos os

(11)

AdaBoost Adaptive Boosting

AdaBoost.M1 Adaptive Boosting for Multiclass Learning 1 AdaBoost.M2 Adaptive Boosting for Multiclass Learning 2 AdaBoost.MR Adaptive Boosting for Multiclass Ranking AdaBoost.OL AdaBoost.OL

ADOB Adaptable Diversity-based Online Boosting

ADWIN Adaptive Windowing

AOLM AdaBoost.OLM

DDE Drift Detection Ensemble

DDM Drift Detection Method

DE Differential Evolution

ECDD EWMA for Concept Drift Detection EDDM Early Drift Detection Method

EWMA Exponentially Weighted Moving Average FHDDM Fast Hoeffding Drift Detection Method

FHDDMS Stacking Fast Hoeffding Drift Detection Method

GA Genetic Algorithm

HATT Hoeffding Anytime Tree

HDDM Drift Detection Method based on the Hoeffding’s inequality

HT Hoeffding Tree

MOA Massive Online Analysis

NB Naïve Bayes

OABM1 Online AdaBoost-based M1 OABM2 Online AdaBoost-based M2 OCBoost Online Coordinate Boosting OGBoost Online GradientBoost

OMBBM Online Multiclass Boost-by-Majority OnlineBBM Online Boost-by-Majority

OSBoost Online Smooth-Boost

OzaBag Online Bagging

OzaBoost Online Boosting

RDDM Reactive Drift Detection Method

SA Simulated Annealing

SeqDrift Sequential Drift

(12)
(13)

Geral

𝑐𝑤 Soma dos acumuladores 𝜉𝑐 e 𝜉𝑤

Hipótese do classificador

𝑚 Classificador arbitrário

𝑝 Expoente da função beta (𝛽)

𝑥 Conjunto de atributos

𝑤 Peso das instâncias

𝑦𝑖 Rótulo correto pertencente ao domínio 𝑌

𝐷 Peso das instâncias considerando dificuldade das classes

𝐻 Hipótese do comitê

𝐾 Quantidade de classes

𝐿 Limiar de precisão

𝑀 Quantidade de classificadores no comitê

𝑁 Quantidade de instâncias

𝑂 Notação assintótica 𝑂

𝑃 Peso inicial da instância

𝑌 Conjunto de rótulos

𝑍 Fator de normalização

𝑍 Fator de normalização aproximado

𝛼 Função alpha

𝛼 Função alpha aproximada

𝛽 Função beta

𝛽 Função beta aproximada

Δ𝛼 Diferença absoluta entre 𝛼 e

(14)

𝜀 Erro médio

𝜀 Erro médio aproximado

𝜉𝑐 Acumulador dos pesos das instâncias classificadas corretamente

𝜉𝑢 Acumulador dos numeradores da função peso das instâncias

𝜉𝑝𝑙 Acumulador da pseudo-perda

𝜉𝑤 Acumulador dos pesos das instâncias classificadas incorretamente 𝜉𝐷 Acumulador dos pesos das instâncias considerando dificuldade das

clas-ses

Θ Notação assintótica Θ

[[ℎ(𝑥) = 𝑦𝑖]] Booleano que retorna 1/0 para resposta correta/incorreta do classifica-dor

[[ℎ(𝑥) ̸= 𝑦𝑖]] Booleano que retorna 1/0 para resposta incorreta/correta do classifica-dor

Algoritmo 1

ℎ𝑚 Vetor de tamanho 𝑀 contendo a hipótese associada ao classificador 𝑚

𝑤𝑚,𝑖 Matriz de duas dimensões (𝑀 x 𝑁) contendo o peso da instância 𝑖

associada ao classificador 𝑚

𝑍𝑚 Vetor de tamanho 𝑀 contendo o fator de normalização associado ao

classificador 𝑚

𝛽𝑚 Vetor de tamanho 𝑀 contendo a função beta associada ao classificador

𝑚

𝜀𝑚 Vetor de tamanho 𝑀 contendo o erro médio associado ao classificador

𝑚

Algoritmo 2

ℎ𝑚 Vetor de tamanho 𝑀 contendo a hipótese associada ao classificador 𝑚

𝑤𝑚,𝑖,𝑦 Matriz de três dimensões (𝑀 x 𝑁 x 𝐾) contendo o peso da instância 𝑖 associada ao classificador 𝑚 e ao rótulo 𝑦

(15)

considerando a dificuldade das classes e associada ao classificador 𝑚

𝑍𝑚,𝑦 Matriz de duas dimensões (𝑀 x 𝐾) contendo o fator de normalização

associado ao classificador 𝑚 e ao rótulo 𝑦

𝛽𝑚 Vetor de tamanho 𝑀 contendo a função beta associada ao classificador

𝑚

𝜀𝑚 Vetor de tamanho 𝑀 contendo o erro médio associado ao classificador

𝑚

Algoritmos 3 e 7

𝑐𝑤𝑚 Vetor de tamanho 𝑀 contendo a soma de 𝜉𝑐𝑚 e 𝜉𝑤𝑚 associada ao

classificador 𝑚

ℎ𝑚 Vetor de tamanho 𝑀 contendo a hipótese associada ao classificador 𝑚

𝑤𝑚 Vetor de tamanho 𝑀 contendo o peso da instância associada ao classi-ficador 𝑚

𝛼𝑚 Vetor de tamanho 𝑀 contendo a função alpha associada ao classificador

𝑚

𝛽𝑚 Vetor de tamanho 𝑀 contendo a função beta associada ao classificador

𝑚

𝜀𝑚 Vetor de tamanho 𝑀 contendo o erro médio associado ao classificador

𝑚

𝜉𝑐𝑚 Vetor de tamanho 𝑀 contendo a soma dos pesos das instâncias classi-ficadas corretamente associada ao classificador 𝑚

𝜉𝑤𝑚 Vetor de tamanho 𝑀 contendo a soma dos pesos das instâncias classi-ficadas incorretamente associada ao classificador 𝑚

Algoritmos 4 e 8

ℎ𝑚 Vetor de tamanho 𝑀 contendo a hipótese associada ao classificador 𝑚

𝑝𝑚,𝑦 Matriz de duas dimensões (𝑀 x 𝐾) contendo o expoente da função

beta (Algoritmo 4) ou alpha (Algoritmo 8) associado ao classificador

(16)

diferente associado ao classificador 𝑚 e ao rótulo 𝑦

𝑤𝑚,𝑦 Matriz de duas dimensões (𝑀 x 𝐾) contendo o peso da instância asso-ciado ao classificador 𝑚 e ao rótulo 𝑦

𝐷𝑚 Vetor de tamanho 𝑀 contendo o peso da instância considerando a

dificuldade das classes e associado ao classificador 𝑚

𝑍𝑚,𝑦 Matriz de duas dimensões (𝑀 x 𝐾) contendo o fator de normalização

associado ao classificador 𝑚 e ao rótulo 𝑦

𝑍𝑚,𝑦 Matriz de duas dimensões (𝑀 x 𝐾) contendo o fator de normalização

aproximado associado ao classificador 𝑚 e ao rótulo 𝑦

𝛼𝑚 Vetor de tamanho 𝑀 contendo a função alpha associada ao classificador

𝑚

𝛼𝑚 Vetor de tamanho 𝑀 contendo a função alpha aproximada associada

ao classificador 𝑚

𝛽𝑚 Vetor de tamanho 𝑀 contendo a função beta associada ao classificador

𝑚

𝛽𝑚 Vetor de tamanho 𝑀 contendo a função beta aproximada associada ao

classificador 𝑚

𝜀𝑚 Vetor de tamanho 𝑀 contendo o erro médio associado ao classificador

𝑚

𝜀𝑚 Vetor de tamanho 𝑀 contendo o erro médio aproximado associado ao

classificador 𝑚

𝜉𝑢𝑚,𝑦,𝑙 Matriz de três dimensões (𝑀 x 𝐾 x 𝐿) contendo a soma dos numera-dores da função peso das instâncias associado ao classificador 𝑚, rótulo

𝑦 e limiar de precisão 𝑙

𝜉𝑝𝑙𝑚 Vetor de tamanho 𝑀 contendo a soma das pseudo-perdas das instâncias associada ao classificador 𝑚

𝜉𝐷𝑚 Vetor de tamanho 𝑀 contendo a soma dos pesos das instâncias

consi-derando a dificuldade das classes e associada ao classificador 𝑚

(17)

diferentes indivíduos após o processo de crossover

Matriz de duas dimensões (𝑃 +𝑈 x 𝐾) contendo inicialmente os

parâ-metros dos diferentes indivíduos definidos aleatoriamente e também os inseridos pelo usuário

𝑚 Matriz de duas dimensões (𝑃 +𝑈 x 𝐾) contendo os parâmetros dos

diferentes indivíduos após o processo de mutação

𝑟ℎ Matriz de duas dimensões (𝑃 x 𝐾) contendo os parâmetros dos

dife-rentes indivíduos definidos aleatoriamente

𝑢ℎ Matriz de duas dimensões (𝑈 x 𝐾) contendo os parâmetros dos

dife-rentes indivíduos inseridos pelo usuário

𝐶𝑅 Constante de crossover

𝐹 Variação diferencial

𝐺 Número de gerações

𝐾 Quantidade de parâmetros do detector de mudança de conceito

𝐿𝐵 Limite inferior do valor de um parâmetro

𝑃 Tamanho da população

𝑈 Quantidade de indivíduos inseridos na população pelo usuário

(18)

1 INTRODUÇÃO . . . 20 1.1 OBJETIVOS . . . 23 1.2 CONTRIBUIÇÕES . . . 23 1.3 ORGANIZAÇÃO . . . 23 2 REVISÃO DA LITERATURA . . . 25 2.1 APRENDIZAGEM ONLINE . . . 25 2.2 BOOSTING . . . 26 2.2.1 Métodos Offline . . . 26 2.2.1.1 AdaBoost.M1 . . . 27 2.2.1.2 AdaBoost.M2 . . . 29 2.2.2 Métodos Online. . . 31 2.2.2.1 OzaBoost . . . 31 2.2.2.2 OCBoost . . . 32 2.2.2.3 OSBoost . . . 33 2.2.2.4 OnlineBBM . . . 33 2.2.2.5 AdaBoost.OL . . . 34

2.2.3 Boosting à Luz do Dilema Viés-Variância . . . 34

2.3 MUDANÇAS DE CONCEITO . . . 36 2.3.1 DDM . . . 37 2.3.2 EDDM . . . 38 2.3.3 ADWIN . . . 38 2.3.4 STEPD. . . 39 2.3.5 ECDD . . . 39 2.3.6 SeqDrift . . . 40 2.3.7 HDDM . . . 40 2.3.8 FHDDM . . . 41 2.3.9 RDDM . . . 41 2.3.10 WSTD . . . 42 2.4 CONSIDERAÇÕES FINAIS . . . 43 3 MÉTODOS PROPOSTOS . . . 44 3.1 ONLINE ADABOOST-BASED M1 . . . 44

3.1.1 Comparação Teórica entre AdaBoost.M1 e OABM1 . . . 45

3.1.2 Comparação Teórica entre OzaBoost e OABM1 . . . 47

(19)

3.3.1 Discussão Teórica. . . 54

3.3.2 Discussão Empírica . . . 61

3.4 CONSIDERAÇÕES FINAIS . . . 63

4 ANÁLISE EMPÍRICA E ESTATÍSTICA . . . 64

4.1 CONFIGURAÇÕES . . . 64

4.2 BASE DE DADOS . . . 65

4.2.1 Bases Artificiais . . . 66

4.2.2 Bases Reais . . . 68

4.3 EXPERIMENTOS COM BASES ARTIFICIAIS. . . 71

4.3.1 Análise da Precisão . . . 71

4.3.2 Análise da Memória . . . 73

4.3.3 Análise Estatística . . . 74

4.4 EXPERIMENTOS COM BASES REAIS . . . 75

4.4.1 Análise da Precisão . . . 75

4.4.2 Análise Complementar da Precisão . . . 78

4.4.3 Análise da Memória e Complexidade Computacional . . . 80

4.4.4 Análise Estatística . . . 84

4.5 CONSIDERAÇÕES FINAIS . . . 85

5 AMBIENTES COM MUDANÇAS DE CONCEITO . . . 86

5.1 OABM1 E OABM2 COM DIFERENTES DETECTORES . . . 86

5.1.1 Análise Geral da Acurácia . . . 87

5.1.2 Análise de Outras Métricas da Perspectiva dos Problemas Binários e Multiclasse . . . 92

5.1.3 Análise de Outras Métricas da Perspectiva dos Tipos de Mudança de Conceito . . . 94

5.2 CONSIDERAÇÕES FINAIS . . . 98

6 CONTRIBUIÇÃO ADICIONAL: OTIMIZAÇÃO DE DETECTORES DE MUDANÇAS DE CONCEITO PARA CLASSIFICADORES ÚNI-COS . . . 99

6.1 EVOLUÇÃO DIFERENCIAL . . . 100

6.1.1 Inicialização da População . . . 101

6.1.2 Definição da Função Objetivo . . . 101

6.1.3 Operadores do Algoritmo Evolução Diferencial . . . 102

6.1.4 Seleção. . . 103

6.1.5 Estrutura do Algoritmo Evolução Diferencial . . . 103

(20)

6.2 CONFIGURAÇÃO DOS EXPERIMENTOS . . . 104

6.2.1 Bases Artificiais . . . 105

6.2.2 Bases Reais . . . 106

6.3 MÉTODO PROPOSTO . . . 106

6.3.1 Procedimento para os Experimentos . . . 107

6.3.2 Descrição do Método . . . 108

6.4 DETALHES SOBRE OS RESULTADOS DOS EXPERIMENTOS . . . 112

6.4.1 Análise Estatística da Acurácia . . . 114

6.4.2 Avaliação da Acurácia do Método (NB) . . . 117

6.4.3 Recomendações e comentários dos resultados utilizando o HT . . . 118

6.4.4 Avaliação Crítica dos Detectores de Mudanças . . . 120

6.5 CONSIDERAÇÕES FINAIS . . . 121

7 CONCLUSÕES . . . 122

REFERÊNCIAS . . . 125

(21)

1 INTRODUÇÃO

A produção e consequente circulação de grandes quantidades de dados é uma realidade. Como mostra Marr (2018), cerca de 2,5 quintilhões de bytes são gerados por dia. E essa quantidade tende a aumentar, já que 90% dos dados que temos hoje foram gerados nos últimos dois anos.

Com o surgimento de todo esse fluxo de dados, uma demanda que vem recebendo cada vez mais atenção na ciência de dados (data science) é a extração de conhecimento em tempo real. A ideia por trás dessa prática é buscar padrões nos dados que agreguem algum tipo de valor.

Um exemplo de serviço que gera grandes volumes de dados em tempo real são as plataformas de streaming de vídeo. Nesse caso, algoritmos inteligentes podem monitorar as atividades dos seus usuários com o objetivo de criar um padrão das suas preferências e, com isso, fazer recomendações corretas do que ele pode assistir no futuro. Quanto mais informações esses usuários fornecerem, mais acuradas serão essas recomendações.

Outro recurso esperado desses algoritmos inteligentes é que eles sejam capazes de identificar degradações nos dados ou mudanças de conceito (GAMA et al., 2014; BARROS; SANTOS, 2018). Voltando ao exemplo do parágrafo anterior, seria como se um determinado usuário deixasse de gostar de certos conteúdos e passasse a se interessar por outros. Assim, é desejável que esses algoritmos se adaptem ao novo comportamento e mantenha a precisão das recomendações.

Lidar com muitos dados, entretanto, não é uma tarefa trivial. Os principais desafios que os algoritmos designados para isso precisam levar em consideração são que: 1) os recursos computacionais são limitados; 2) todas as instâncias devem ser processadas; 3) essas instâncias podem chegar numa velocidade muito rápida; 4) podem ocorrer mudanças na distribuição dos dados; e 5) os parâmetros mais adequados vão variar de acordo com o cenário.

Diversos métodos de classificação foram propostos para processar fluxo de dados ( HUL-TEN; SPENCER; DOMINGOS, 2001; MANAPRAGADA; WEBB; SALEHI, 2018). Alguns deles utilizam um comitê de classificadores com o objetivo de melhorar suas performances (OZA; RUSSELL, 2001;CHEN; LIN; LU, 2012;BEYGELZIMER; KALE; LUO, 2015). Outros fazem uso do comitê para tornar os métodos mais sensíveis às mudanças de conceito (KOLTER; MA-LOOF, 2007;ELWELL; POLIKAR, 2011;BRZEZINSKI; STEFANOWSKI, 2013).

Outra forma comum de lidar com alterações na distribuição dos dados é por meio dos métodos detectores de mudanças de conceito (BIFET; GAVALDÀ, 2007; FRÍAS-BLANCO et al., 2015; BARROS et al., 2017). O propósito desses métodos é monitorar a atividade dos classificadores em busca de variações significativas em seus comportamentos. Utilizá-los é uma abordagem frequente tanto em classificadores únicos quanto em comitês (MINKU;

(22)

YAO, 2012;BIFET; HOLMES; PFAHRINGER, 2010;BARROS; SANTOS; GONÇALVES JR., 2016). Uma das técnicas mais populares que lida com comitê de classificadores é o boosting. Seu objetivo é transformar um conjunto de classificadores fracos (weak learners) em um único forte (strong learner). Dessa forma, vários classificadores são treinados utilizando diferentes distribuições dos dados e, posteriormente, são combinados em um comitê

(en-semble). Diversas variações dessa técnica já foram propostas tanto em ambientes offline

(batch) (FREUND; SCHAPIRE, 1997; FREUND, 2001;DEMIRIZ; BENNETT; SHAWE-TAYLOR, 2002) quanto em ambientes online (OZA; RUSSELL, 2001;GRABNER; BISCHOF, 2006; BEY-GELZIMER et al., 2015; BERTINI JUNIOR; NICOLETTI, 2019).

O boosting possui diversas particularidades que torna-o bastante robusto, e uma de-las é a sua habilidade de focar em exemplos difíceis sem ignorar os casos mais simples. Isso garante ao método uma boa performance em diferentes cenários. Adicionalmente, a característica de produzir classificadores com visões diferentes do problema contribui, dentre outras coisas, para redução da variância (mais detalhes serão apresentados na Sub-seção 2.2.3). Como Freund e Schapire (1996) argumentam, realizar um voto majoritário ponderado pelas diferentes hipóteses tem o efeito de reduzir a variabilidade aleatória da hipótese individual.

Outras técnicas populares que combinam diferentes classificadores em um comitê po-dem ser encontradas na literatura, a exemplo do bagging (BREIMAN, 1996a). Assim como o boosting, o bagging é capaz de melhorar o desempenho de um conjunto de classificado-res fracos em diversos cenários. Porém, não possui a característica de aumentar o foco do treinamento nas instâncias consideradas difíceis. Como pode ser visto em experimentos reportados posteriormente por Breiman (1998), essa característica é capaz de tornar o boosting mais efetivo que o bagging em termos de desempenho em um número maior de problemas reais.

Entretanto, enquanto as versões em lote do boosting já existem há algum tempo e estão bem consolidadas, as versões online são relativamente novas, surgindo para preencher uma demanda emergente. Um dos desafios é adaptar esses métodos para lidar com grandes volumes de dados sem perder suas características originais.

Oza e Russell (2001) foram um dos primeiros a adaptar as versões tradicionais do bo-osting para o contexto do aprendizado online. Neste trabalho eles propõem o Online

Boos-ting (OzaBoost), versão baseada no popular Adaptive Boosting for Multiclass Learning 1

(AdaBoost.M1) (FREUND; SCHAPIRE, 1997). Outros trabalhos foram propostos inspirados no OzaBoost, a exemplo de: 1) Online Coordinate Boosting (OCBoost) (PELOSSOF et al., 2009) que traz uma versão online proveniente da pesquisa de Schapire e Singer (1999); e 2)

Adaptable Diversity-based Online Boosting (ADOB) (SANTOS et al., 2014), que propõe um diferente esquema de distribuição da diversidade dos classificadores. Mais recentemente Beygelzimer, Kale e Luo (2015) propuseram o Online Boost-by-Majority (OnlineBBM) e o AdaBoost.OL (AdaBoost.OL), baseados no Boost-by-majority (FREUND, 1995) e no

(23)

AdaBoost.L (SCHAPIRE; FREUND, 2012f), respectivamente.

Outra questão relacionada aos métodos online de boosting é que várias das abordagens existentes tratam exclusivamente de problemas binários, deixando de lado uma importante gama de problemas que correspondem aos problemas multiclasse. Apesar de ser possível decompor problemas multiclasse em um conjunto de problemas binários para que um método binário lide também com esse tipo de problema, nem sempre essa é uma opção adequada. Um dos maiores empecilhos fica por conta da complexidade computacional: como a quantidade necessária de métodos binários cresce proporcionalmente à quanti-dade de classes, em certos casos essa opção torna-se inviável (SAFFARI et al., 2010). Além disso, geralmente os métodos que são inerentemente multiclasse trazem um tratamento mais especializado para esses problemas, como pode ser visto, por exemplo, em versões multiclasse do boosting. Nessas versões, o treinamento será mais intenso em instâncias que possuem classes consideradas de difícil classificação, contribuindo para um decresci-mento mais rápido do erro do treinadecresci-mento (mais detalhes serão apresentados na Subseção 2.2.1.2).

Levando em consideração as lacunas apresentadas, esta tese propõe duas versões online do boosting. A primeira é o Online AdaBoost-based M1 (OABM1), inspirada no AdaBo-ost.M1. Sua principal característica é realizar uma distribuição dos pesos das instâncias de forma mais eficiente quando comparado ao OzaBoost. Para isso, a função responsável pela atualização desses pesos é modificada, aproximando ainda mais sua característica à ver-são tradicional. Já a segunda verver-são, denominada Online AdaBoost-based M2 (OABM2), tem como objetivo lidar com problemas multiclasse, uma vez que as versões baseadas no AdaBoost.M1 – apesar de suportarem problemas dessa natureza – são limitadas por conta de restrições de desempenho do algoritmo (mais detalhes serão vistos na Subse-ção 2.2.1.1). OABM2 é uma adaptaSubse-ção do Adaptive Boosting for Multiclass Learning 2 (AdaBoost.M2) (FREUND; SCHAPIRE, 1997) para ambientes online e, de acordo com os levantamentos bibliográficos realizados, esta é a primeira vez que uma versão online do AdaBoost.M2 é proposta.

Tendo em vista ainda os desafios apresentados no início desta introdução, uma dificul-dade recorrente relacionada aos métodos detectores de mudanças de conceito diz respeito à sua parametrização. Definir valores adequados pode ter uma grande influência no de-sempenho do detector, e nem sempre a escolha desses valores é algo intuitivo.

Assim, como contribuição adicional, esta tese propõe uma forma eficiente e simples de parametrizar os métodos detectores de mudanças de conceito em ambientes com único classificador. Essa contribuição é motivada pelo fato de que nem sempre os parâmetros padrões que são disponibilizados pelos autores dos detectores são as melhores opções, sobretudo por muitas vezes serem definidos a partir de cenários específicos. Além disso, até o presente momento, nenhum outro estudo na área foi realizado com o intuito de guiar na escolha de parâmetros adequados para detectores de mudanças de conceito.

(24)

1.1 OBJETIVOS

De forma mais geral, esta tese tem como propósito contribuir para avançar o estado da arte da área de aprendizagem de máquina online em cenários de classificação. Sendo assim, em termos mais específicos e de acordo com as lacunas apresentadas anteriormente (início do Capítulo 1), os objetivos são: (1) propor métodos online de classificação que lidem bem tanto com problemas binários quanto com problemas multiclasse e que mantenham as principais características das versões offline em que são baseados; e (2) propor formas eficientes de parametrizar métodos detectores de mudanças de conceito no contexto de classificadores únicos.

1.2 CONTRIBUIÇÕES

Os próximos itens destacam as principais contribuições realizadas por esta tese.

• Propõe um novo método online de boosting (OABM1) que mantém as principais ca-racterísticas do método offline AdaBoost.M1. Argumentações lógicas são utilizadas para demonstrar as semelhanças entre ambos, mesmo em cenários diferentes (online vs offline);

• Propõe um segundo método online de boosting (OABM2) que lida bem com proble-mas multiclasse e que é baseado no AdaBoost.M2. Como no OABM1, argumentações lógicas também são utilizadas para demonstrar que as principais funcionalidades da versão offline (AdaBoost.M2) são mantidas em ambiente online;

• Demonstra que tanto o OABM1 quanto o OABM2 convergem em cenários no qual os dados são independentes e identicamente distribuídos (IID);

• Compara empiricamente um conjunto de métodos online que utilizam comitê de classificadores, apontando virtudes e deficiências dos mesmos;

• Propõe um método que serve como um guia na escolha de parâmetros para os detectores de mudanças de conceito no contexto de classificadores únicos.

1.3 ORGANIZAÇÃO

Os capítulos desta tese estão organizados da seguinte maneira:

• O Capítulo 2 realiza uma revisão da literatura, trazendo as definições da aprendi-zagem online, do boosting e de mudanças de conceito. Os métodos utilizados nesta tese também são descritos;

• O Capítulo 3 detalha o funcionamento tanto do OABM1 quanto do OABM2. Ar-gumentos lógicos são utilizados para demonstrar que os métodos propostos mantém

(25)

as principais características das abordagens em que são baseados. É demonstrado também que ambos os métodos reduzem o erro do treinamento de forma exponencial ao longo de suas iterações.

• O Capítulo 4 realiza experimentos com o objetivo de verificar o desempenho dos métodos propostos tanto em cenários onde existe garantia teórica de convergência (bases IID) quanto em cenários onde não há essa garantia (bases com possíveis mudanças na distribuição e/ou dependência temporal);

• O Capítulo 5 discute a utilização de diferentes detectores de mudanças de conceito nos métodos propostos. Para embasar a discussão cenários artificiais com mudanças abruptas e graduais são utilizados;

• O Capítulo 6 discorre sobre a contribuição adicional desta tese, que é propor uma forma eficiente de parametrizar detectores utilizando como base um algoritmo evo-lucionário;

• Por fim, o Capítulo 7 apresenta as conclusões, incluindo as possibilidades de traba-lhos futuros.

(26)

2 REVISÃO DA LITERATURA

Este capítulo faz uma revisão da literatura dos principais tópicos que serão abordados ao longo desta tese bem como os métodos relacionados.

2.1 APRENDIZAGEM ONLINE

Aprendizagem online é um paradigma de aprendizagem cujo objetivo é realizar uma sequência de predições precisas levando em consideração o conhecimento adquirido das predições anteriores (SHALEV-SHWARTZ, 2012). Assim, dada uma sequência de exemplos (instâncias), um método online supervisionado possui como característica a execução dos seguintes passos: (1) realização da predição do exemplo; (2) recebimento do rótulo correto para que seja comparado com o rótulo da predição; e (3) inclusão do exemplo no treina-mento para aperfeiçoatreina-mento das próximas predições. Basicamente, esses três passos são repetidos a cada novo exemplo, e um erro ocorre quando a previsão realizada é diferente da resposta esperada. Dessa forma, o objetivo do método é minimizar a quantidade de erros (SCHAPIRE; FREUND, 2012c).

Formalmente, de acordo com as definições de Shalev-Shwartz (2012), para cada ro-dada 𝑖 (considerando uma sequência de roro-dadas) um método receberá uma instância 𝑥𝑖 pertencente ao domínio 𝑋 com o objetivo de retornar uma hipótese ℎ(𝑥𝑖). Em seguida, a hipótese ℎ(𝑥𝑖) será comparada à resposta correta 𝑦𝑖 (pertencente ao domínio 𝑌 ), sendo aplicada posteriormente a uma função de perda 𝑙(ℎ(𝑥𝑖), 𝑦𝑖). O intuito da função é medir o quanto a resposta do método difere-se da respostas correta. Em termos de classificação, geralmente utiliza-se a função de perda 0-1, definida como: 𝑙(ℎ(𝑥𝑖), 𝑦𝑖) = [[ℎ(𝑥𝑖) ̸= 𝑦𝑖]], onde [[ℎ(𝑥𝑖) ̸= 𝑦𝑖]] retornará 1 caso a hipótese seja diferente da resposta esperada e 0 caso contrário. Essa será a função de perda adotada ao longo desta tese.

Para ilustrar um exemplo real, Shalev-Shwartz (2012) traz um cenário de previsão meteorológica. Em um dia 𝑖, um classificador recebe um vetor contendo um conjunto de medições meteorológicas (representando a instância 𝑥𝑖). O objetivo é predizer se vai chover no dia seguinte considerando as condições fornecidas (ℎ(𝑥𝑖)). Assim, no próximo dia, o classificador terá acesso à resposta 𝑦𝑖 (choveu ou não choveu) e estará apto tanto para aprimorar a suas próximas previsões quanto para atualizar seu desempenho (através da função de perda 𝑙(ℎ(𝑥𝑖), 𝑦𝑖)).

Comparando a aprendizagem online com a offline, a principal diferença é que na se-gunda existe uma divisão bem definida entre a fase de treinamento e de teste. Dessa forma, uma vez que o treinamento encontra-se concluído, nenhuma alteração adicional será feita na regra de previsão escolhida (SCHAPIRE; FREUND, 2012c). Por outro lado, no aprendi-zado online, o teste e o treinamento ocorrem juntos. Cada nova instâncias servirá tanto

(27)

como um teste do que foi aprendido no passado pelo método quanto para o treinamento, com o objetivo de melhorar as previsões futuras.

2.2 BOOSTING

Boosting é uma técnica que tem como característica a utilização de um conjunto de clas-sificadores fracos visando obter um único classificador forte (SCHAPIRE; FREUND, 2012d). Entende-se por classificador fraco aquele que possui desempenho levemente superior à su-posição aleatória. Assim, esses classificadores serão treinados com instâncias distribuídas de maneira diferente com o intuito de formar diferentes visões do problema.

Outra característica do boosting é que, durante a distribuição das instâncias, as consi-deradas mais difíceis terão uma maior probabilidade de serem selecionadas. Dessa forma, ao longo das iterações, o objetivo do método é minimizar o erro do treinamento. Sua hipótese final será uma agregação das hipóteses parciais, provenientes dos classificadores fracos.

As próximas subseções trazem exemplos de métodos de boosting em ambientes offline e online. Além disso, traz uma discussão do seu comportamento à luz do dilema viés-variância.

2.2.1 Métodos Offline

No contexto dos métodos offline de boosting, o objetivo é encontrar um modelo que me-lhor se ajuste a um determinado problema. A construção desse modelo é realizada a partir de um conjunto finito de instâncias que caracterizam uma parcela desse problema (amostra). Assim, dada uma instância desconhecida – porém pertencente ao mesmo do-mínio da amostra utilizada – idealmente esses métodos devem ser capazes de classificá-la corretamente (SCHAPIRE; FREUND, 2012d).

Como um exemplo prático, é possível considerar o seguinte problema: dada uma série de instâncias contendo informações clínicas de pacientes, o objetivo do método é predizer se esses pacientes possuem ou não determinada enfermidade. Inicialmente, uma amostra desses dados é repassada para que o método offline possa ser treinado. Uma vez trei-nado, este método será capaz de diagnosticar se pacientes desconhecidos (não inclusos no treinamento) possuem ou não a enfermidade.

A precisão do diagnóstico realizado pelo método dependerá de uma série de fatores, a exemplo de: 1) capacidade deste em lidar com determinado problema e realizar uma boa generalização; 2) escolha de uma amostra adequada, que represente bem o problema; e 3) capacidade do método em lidar com dados contendo informações inconsistentes, ruídos, redundâncias, etc.

As próximas subseções descrevem em detalhes o AdaBoost.M1 e o AdaBoost.M2, dois tradicionais métodos offline que implementam a ideia do boosting.

(28)

2.2.1.1 AdaBoost.M1

Adaptive Boosting (AdaBoost) (FREUND; SCHAPIRE, 1996) é um dos principais algoritmos que implementa o boosting e é voltado para problemas binários. AdaBoost.M1 é uma extensão do AdaBoost, utilizado em problemas com duas ou mais classes. Uma de suas características é o requerimento que os classificadores tenham erro médio inferior ou igual a 1/2. Assim, é garantido um decrescimento exponencial desse erro médio durante o treinamento. O Algoritmo 1 descreve em detalhes o comportamento do AdaBoost.M1.

Algoritmo 1:AdaBoost.M1

Entrada: sequência contendo 𝑁 exemplos < (𝑥1, 𝑦1), ..., (𝑥𝑁, 𝑦𝑁) > com rótulos

𝑦𝑖 ∈ 𝑌 = {1, ..., 𝐾}; classificador 𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛; número de classificadores

𝑀

1 for 𝑖= 1 to 𝑁 do

2 𝑤1,𝑖1/𝑁;

3 for 𝑚= 1 to 𝑀 do

4 Treina 𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛𝑚 considerando distribuição 𝑤𝑚;

5 Recebe hipótese ℎ𝑚 : 𝑋 → 𝑌 ; 6 𝜀𝑚 ←∑︀𝑁𝑖=1𝑤𝑚,𝑖×[[ℎ𝑚(𝑥𝑖) ̸= 𝑦𝑖]]; 7 if 𝜀𝑚 >1/2 then 8 Interrompe Algoritmo; 9 𝛽𝑚 ← 𝜀𝑚/(1 − 𝜀𝑚); 10 𝑍𝑚 =∑︀𝑁𝑖=1𝑤𝑚,𝑖× 𝛽𝑚1−[[ℎ𝑚(𝑥𝑖)̸=𝑦𝑖]]; 11 for 𝑖= 1 to 𝑁 do 12 𝑤𝑚+1,𝑖(𝑤𝑚,𝑖× 𝛽𝑚1−[[ℎ𝑚(𝑥𝑖)̸=𝑦𝑖]])/𝑍𝑚;

Saída da Hipótese Final:

13 𝐻(𝑥) ← 𝑎𝑟𝑔 max𝑦∈𝑌 ∑︀𝑀𝑚=1 (︁ 𝑙𝑜𝑔𝛽1 𝑚 )︁ ×[[ℎ𝑚(𝑥) = 𝑦]]; 𝑍𝑚é um fator de normalização.

Como entrada, o Algoritmo 1 recebe um conjunto de 𝑁 instâncias, que serão utilizadas para o treinamento dos classificadores. Cada instância será composta por um par (𝑥, 𝑦), sendo 𝑥 um vetor contendo os atributos e 𝑦 uma variável contendo o rótulo (𝑦 ∈ 𝑌 = {1, ..., 𝐾}, onde 𝐾 representa a quantidade de classes). Além disso, a entrada também recebe um vetor contendo os classificadores fracos (𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛) e uma variável 𝑀 que irá definir o tamanho desse vetor.

Uma das características do AdaBoost é aumentar o peso das instâncias consideradas “difíceis”. Esses pesos serão representados pela matriz 𝑤 (𝑀 × 𝑁), com 𝑀 linhas e 𝑁 colunas, sendo 𝑀 a quantidade de classificadores e 𝑁 a quantidade total de instâncias. A linha 2 do Algoritmo 1 representa a inicialização dos pesos das instâncias, definidos de maneira proporcional e uniforme.

A partir da linha 3, cada um dos classificadores será treinado. O objetivo principal do método é gerar uma hipótese final (𝐻) com baixo erro de classificação. É importante observar que o primeiro classificador terá os pesos das instâncias iguais, ou seja, 𝑤1 = 1/𝑁.

(29)

A partir do segundo classificador e, considerando que o anterior alcançou a linha 12, os pesos das instâncias classificadas incorretamente sofrerão um acréscimo.

A linha 4 descreve o que seria o treinamento de um classificador. Cada uma das 𝑁 instâncias tem probabilidade 𝑤𝑚,𝑖 (𝑖 ∈ 𝑁) de serem selecionadas para treinamento, sendo que uma mesma instância pode ser selecionada mais de uma vez. Como dito anteriormente, o objetivo desta abordagem é fazer com que as instâncias consideradas “difíceis” (que terão pesos maiores) tenham uma maior probabilidade de serem selecionadas. Assim, o foco dos classificadores tende a ser direcionado para elas. A linha 5 recebe a hipótese do classificador – considerando todas as instâncias da amostra – após seu treinamento.

O erro médio (𝜀) de cada classificador (𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛𝑚) é calculado como mostra a li-nha 6. Basicamente, a resposta será o somatório dos pesos (𝑤) das instâncias classificadas incorretamente. Para realização do cálculo, a expressão [[ℎ𝑚(𝑥𝑖) ̸= 𝑦𝑖]] é utilizada, retor-nando 0 quando uma instância for classificada corretamente e 1 quando for classificada incorretamente.

O AdaBoost.M1 possui uma importante fundamentação teórica que garante, durante o treinamento, um decrescimento exponencial do erro médio. Assim, a probabilidade do erro do treinamento dada uma distribuição arbitrária (𝑃 𝑟𝑖∼𝑤1[𝐻(𝑥𝑖) ̸= 𝑦𝑖]), pode ser limitada

pela Equação 2.1, como mostra o teorema abaixo.

Teorema 1 (Freund e Schapire (1997)). Dada a notação do Algoritmo 1, assuma que 𝜀𝑚1/2 para todo 𝑚 e que 𝛾𝑚 = 1/2−𝜀𝑚. Se 𝑤1 é um vetor de tamanho 𝑁 contendo uma

distribuição inicial arbitrária, então o erro do treinamento do AdaBoost.M1, combinado com a hipótese final 𝐻, é limitado por

𝑃 𝑟𝑖∼𝑤1[𝐻(𝑥𝑖) ̸= 𝑦𝑖] ≤ 𝑀 ∏︁ 𝑚=1 √︁ 1 − 4𝛾2 𝑚. (2.1)

Como visto, uma das restrições do Teorema 1 é que 𝜀𝑚1/2. A linha 7 mostra o momento que essa restrição é imposta, interrompendo o algoritmo caso esse limiar seja ultrapassado (linha 8).

Para que os próximos classificadores aumentem o foco nos exemplos “difíceis” e di-minuam nos exemplos “fáceis”, os pesos (𝑤) devem ser atualizados a cada iteração, de acordo com a hipótese do classificador atual. A linha 12 do Algoritmo 1 mostra como essa atualização é realizada. Os acréscimos/decréscimos são feitos por 𝛽𝑚, que trabalha em função de 𝜀𝑚. O fato de uma variável estar em função da outra permite que: quanto mais próximo de 0,0 o 𝜀𝑚 de um classificador estiver, maior sua influência na alteração dos pesos; quanto mais próximo de 0,5, menor a sua influência.

Por fim, a linha 13 mostra como a hipótese final será calculada. Cada um dos classifi-cadores terá suas respostas ponderadas de acordo com seu 𝜀𝑚 e incrementadas no rótulo correspondente. A hipótese final irá corresponder ao rótulo com maior valor.

(30)

2.2.1.2 AdaBoost.M2

Uma das limitações do AdaBoost.M1 está relacionada com sua incapacidade de lidar com classificadores que possuam erro médio maior que 50%. Como descrito por Freund e Schapire (1996), para problemas binários (𝐾 = 2), essa restrição é aceitável uma vez que os classificadores precisarão ter um erro médio um pouco melhor que a suposição aleatória (1 − 1/𝐾). Entretanto, quando a quantidade de classes for maior que dois, a restrição passa a ser forte e difícil de satisfazer.

Para obter melhores resultados nas situações anteriormente descritas, o algoritmo AdaBoost.M2 foi desenvolvido. Sua principal característica é o emprego da pseudo-perda, uma métrica mais sofisticada para o cálculo do erro médio. Como será detalhado nos próximos parágrafos, para sua utilização, uma maior comunicação entre o algoritmo e o classificador (𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛) será necessária. Dessa forma, o retorno dos classificadores deixará de ser somente o rótulo da classe prevista e passará a ser um vetor de tamanho

𝐾 (quantidade de classes). Cada posição desse vetor conterá um grau de plausibilidade

no intervalo [0, 1] relacionado à classe em questão. Quanto mais próximo de 1, maior a confiança do classificador.

A ideia da utilização do grau de plausibilidade é fazer com que o AdaBoost.M2, além de focar nas instâncias difíceis, foque também nas classes difíceis. Assim, para o cálculo da pseudo-perda, cada classe terá um peso associado. As consideradas mais difíceis – de acordo com as previsões dos classificadores – terão uma maior influência na métrica. O objetivo principal é minimizar a pseudo-perda a partir de uma distribuição 𝐷 e uma matriz de pesos 𝑤.

O Algoritmo 2 detalha o funcionamento do AdaBoost.M2. A sua entrada recebe um conjunto de 𝑁 instâncias contendo 𝐾 classes juntamente com o vetor de classificadores

𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛 e seu respectivo tamanho (𝑀). Cada instância será composta por um par

(𝑥, 𝑦) representando os atributos e o rótulo esperado. O algoritmo é inicializado distri-buindo os pesos de forma proporcional à quantidade de instâncias e classes, como mostram as linhas 2 e 5. É importante observar que somente as classes incorretas (𝑦 ̸= 𝑦𝑖) terão uma ponderação associada. A principal razão para isso é que a atualização desses pesos, como será visto nos próximos parágrafos, leva em conta a plausibilidade das classes incorretas em relação a plausibilidade da classe correta.

A partir da linha 6, cada um dos classificadores será treinado levando em conta a dis-tribuição 𝐷𝑚 que, por sua vez, será atualizada a partir das hipóteses retornadas. Assim, instâncias consideradas difíceis e com classes de difícil previsão terão seus pesos aumen-tados. A variável 𝑤 é a responsável direta pelos aumentos e reduções desses pesos. Já 𝐷 corresponde à normalização da soma dos pesos de cada classe de 𝑤.

A principal função da matriz 𝐷 é compactar os pesos (𝑤) das diferentes classes. Dessa forma, cada uma das 𝑁 instâncias terá um peso que levará em consideração tanto a dificuldade de um classificador predizer a resposta correta quanto o nível de dificuldade

(31)

Algoritmo 2:AdaBoost.M2

Entrada: sequência contendo 𝑁 exemplos < (𝑥1, 𝑦1), ..., (𝑥𝑁, 𝑦𝑁) > com rótulos

𝑦𝑖 ∈ 𝑌 = {1, ..., 𝐾}; classificador 𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛; número de classificadores

𝑀 1 for 𝑖= 1 to 𝑁 do 2 𝐷1,𝑖1/𝑁; 3 for 𝑦= 1 to 𝐾 do 4 if 𝑦 ̸= 𝑦𝑖 then 5 𝑤1,𝑖,𝑦 ← 𝐷1,𝑖/(𝐾 − 1); 6 for 𝑚= 1 to 𝑀 do

7 Treina 𝑊 𝑒𝑎𝑘𝐿𝑒𝑎𝑟𝑛𝑚 considerando distribuição 𝐷𝑚;

8 Recebe hipóteses ℎ𝑚 : 𝑋 × 𝑌 → [0, 1]; 9 𝜀𝑚 ← 1 2 × ∑︀𝑁 𝑖=1𝐷𝑚,𝑖× (︁ 1 − ℎ𝑚(𝑥𝑖, 𝑦𝑖) +∑︀𝑦̸=𝑦𝑖𝑤𝑚,𝑖,𝑦× ℎ𝑚(𝑥𝑖, 𝑦) )︁ ; 10 𝛽𝑚 ← 𝜀𝑚/(1 − 𝜀𝑚); 11 for 𝑦= 1 to 𝐾 do 12 if 𝑦 ̸= 𝑦𝑖 then 13 𝑍𝑚,𝑦 =∑︀𝑁𝑖=1𝑤𝑚,𝑖,𝑦× 𝛽0,5×(1+ℎ𝑚(𝑥𝑖,𝑦𝑖)−ℎ𝑚(𝑥𝑖,𝑦)) 𝑚 ; 14 for 𝑖= 1 to 𝑁 do 15 for 𝑦= 1 to 𝐾 do 16 if 𝑦 ̸= 𝑦𝑖 then 17 𝑝 ←0, 5 × (1 + ℎ𝑚(𝑥𝑖, 𝑦𝑖) − ℎ𝑚(𝑥𝑖, 𝑦)); 18 𝑤𝑚+1,𝑖,𝑦(𝑤𝑚,𝑖,𝑦× 𝛽𝑚𝑝)/𝑍𝑚,𝑦; 19 for 𝑖= 1 to 𝑁 do 20 𝐷𝑚,𝑖 ← (︁ ∑︀ 𝑦̸=𝑦𝑖𝑤𝑚,𝑖,𝑦 )︁ /𝑁; Saída da Hipótese Final:

21 𝐻(𝑥) ← 𝑎𝑟𝑔 max𝑦∈𝑌 ∑︀𝑀𝑚=1 (︁ 𝑙𝑜𝑔𝛽1 𝑚 )︁ × ℎ𝑚(𝑥, 𝑦); 𝑍𝑚,𝑦 é um fator de normalização.

de cada classe. A linha 20 mostra como a matriz 𝐷 é atualizada, levando em consideração

𝑤. Já a linha 7 mostra o momento em que ocorre a seleção das instâncias que serão

utilizadas para treinamento, fazendo uso de 𝐷. Quanto maior o valor de 𝐷𝑚,𝑖, maior a probabilidade da i-ésima instância ser selecionada, com reamostragem.

Uma vez que as instâncias foram selecionadas e utilizadas no treinamento do classifi-cador 𝑚, este deve retornar um vetor contendo o grau de plausibilidade para cada classe (linha 8). A partir dessas informações, a pseudo-perda será calculada, como mostra a linha 9 do Algoritmo 2. Como o objetivo dos classificadores é minimizar essa função, o peso 𝑤 associado a cada classe é a maneira de aumentar/diminuir o foco em cada uma delas. Assim, instâncias cujas respostas possuam classes que os classificadores geralmente tenham dificuldade de predizer, serão priorizadas.

A linha 18 corresponde ao momento em que os pesos serão atualizados. Para isso, a pseudo-perda, em função do 𝛽, é levada em consideração juntamente com as hipóteses (ℎ).

(32)

É importante observar que classes incorretas com plausibilidade alta receberão maiores pesos. Além disso, caso a plausibilidade da classe incorreta seja maior que a da classe correta, esse aumento será ainda mais reforçado.

A saída do AdaBoost.M2, de forma semelhante ao AdaBoost.M1, retornará a classe que receber mais votos. Os votos de cada um dos classificadores serão ponderados de acordo com seus respectivos erros (pseudo-perda), de tal maneira que quanto menor o erro, maior será a influência do voto na hipótese final.

Finalmente, como o AdaBoost.M1, o AdaBoost.M2 também garante um decrescimento exponencial do erro durante o treinamento. Seu comportamento é definido por:

Teorema 2 (Freund e Schapire (1997)). Dada a notação do Algoritmo 2, assuma que 𝜀𝑚1/2 para todo 𝑚 e que 𝛾𝑚 = 1/2−𝜀𝑚. Se 𝑤1 é um vetor de tamanho 𝑁 contendo uma

distribuição inicial arbitrária, então o erro do treinamento do AdaBoost.M2, combinado com a hipótese final 𝐻, é limitado por

𝑃 𝑟𝑖∼𝑤1[𝐻(𝑥𝑖) ̸= 𝑦𝑖] ≤ (𝐾 − 1) 𝑀 ∏︁ 𝑚=1 √︁ 1 − 4𝛾2 𝑚. (2.2) 2.2.2 Métodos Online

Diferente dos métodos por lote (offline), os métodos online não conhecem a priori a quanti-dade de instâncias que irão receber para o treinamento. Neste tipo de ambiente geralmente as informações chegam ao longo do tempo, de forma contínua. Cabe ao algoritmo de apren-dizagem adaptar-se a cada nova informação, consumindo o mínimo de processamento e memória que for possível (GAMA et al., 2014).

Um problema inerentemente online é o monitoramento do histórico de compras de clientes de cartão de crédito. Como não se sabe até quando aquele cliente possuirá o cartão, as informações (instâncias) geradas por ele devem ser tratadas como algo infinito. Assim, um método de classificação online pode ser utilizado para criar um padrão do comportamento desse cliente, por exemplo, para definir um perfil de consumo. Com isso, será possível enviar propagandas relacionadas com uma maior precisão.

As próximas subseções apresentam alguns métodos online de boosting populares na literatura.

2.2.2.1 OzaBoost

Online Boosting (OzaBoost) (OZA; RUSSELL, 2001) é uma versão adaptada do AdaBo-ost.M1 para ambientes com fluxo contínuo de dados. A quantidade de treinamento que cada classificador receberá – indicada por meio dos pesos das instâncias – será calculada utilizando uma distribuição de Poisson. Mais especificamente, um parâmetro real (𝜆) será aumentado ou diminuído na medida que os membros do comitê forem errando ou acer-tando as predições, respectivamente. Assim, quanto maior o valor desse parâmetro, maior

(33)

será a chance dos classificadores receberem mais treinamento, comportamento semelhante à versão em lote.

Em relação à convergência do algoritmo, como argumentam seus autores, o fato de ser uma versão incremental torna-o menos eficiente que o AdaBoost.M1. Um dos principais motivos para isso está relacionado ao fato de que o conjunto completo de instâncias não é conhecido a priori, como acontece na versão offline. Entretanto, na medida que 𝑁 (que representa a quantidade de instâncias conhecidas) torna-se suficientemente grande, o comportamento dos algoritmos se aproxima e a diferença na velocidade da convergência é reduzida.

Em termos gerais, o OzaBoost apresenta desempenho satisfatório nos mais variados cenários, como pode ser visto em Oza e Russell (2001). Entretanto, em algumas situações durante o treinamento, o método deixa de focar nas instâncias consideradas mais difíceis, característica contrária à esperada. Isso ocorre por conta de algumas exceções na função de atualização dos pesos, como será melhor explorado no Capítulo 3.

As limitações da função de atualização dos pesos do OzaBoost serviu como motivação para criação de um dos métodos propostos nesta tese (OABM1). Em linhas gerais, o OABM1 corresponde ao OzaBoost com uma função de atualização sem exceções, ou seja, que mantém as mesmas características do AdaBoost.M1. Por conta dessas diferenças, uma discussão mais aprofundada foi elaborada na Subseção 3.1.2, ilustrando os casos de exceções do OzaBoost e os impactos que eles podem trazer no desempenho do método. 2.2.2.2 OCBoost

Online Coordinate Boosting (OCBoost) (PELOSSOF et al., 2009) é outra abordagem que tem como objetivo criar uma versão online próxima da versão em lote do AdaBoost. Como afirmam seus autores, o OCBoost faz uso da mesma técnica de otimização do AdaBoost (função de perda ou loss-function). Entretanto, sua aplicação diferencia-se da original pelo fato de ser realizada de maneira incremental. Essa característica, inclusive, é um dos motivos que torna inviável que uma versão online tenha um comportamento idêntico ao da versão em lote.

Outro aspecto do OCBoost é que os pesos dos classificadores serão atualizados utili-zando uma regra multiplicativa. Além disso, seus autores mostram também que o OCBoost pode ser modificado para ter um comportamento semelhante ao do método proposto por Oza e Russell (2001). Basicamente, a modificação é realizada na função que altera o peso das instâncias.

Apesar de apresentar bom desempenho geral em termos de acurácia, como é ilustrado na parte experimental de Pelossof et al. (2009), o OCBoost possui limitações em cenários multiclasse, como será visto na parte experimental desta tese. Além disso, em termos de complexidade computacional do tempo, o OCBoost é assintoticamente inferior ao método no qual é baseado (OzaBoost).

(34)

2.2.2.3 OSBoost

Chen, Lin e Lu (2012) propõem um método que faz uso do conceito de distribuições suaves para definir novos requerimentos para os classificadores fracos. Assim, baseando-se no SmoothBoost (SERVEDIO, 2003), o Online Smooth-Boost (OSBoost) é proposto buscando atualizar os pesos de maneira mais conservadora e apresentando garantias teóricas quanto ao desempenho. Desde que os classificadores fracos obedeçam às restrições de possuírem erro médio melhor que a suposição aleatória numa distribuição suave, a hipótese final terá um baixo erro médio.

Experimentalmente, o OSBoost foi comparado aos métodos OzaBoost e Online

Gra-dientBoost (OGBoost) (LEISTNER et al., 2010), utilizando os classificadores Naïve Bayes e Perceptron. Para a maioria das bases utilizadas, o OSBoost obteve um desempenho su-perior às outras abordagens. Adicionalmente, conseguiu melhorar o desempenho do Per-ceptron sozinho em todos os cenários. Já com o Naïve Bayes, das doze bases utilizadas, o OSBoost obteve vantagem em oito.

Um dos aspectos que pode influenciar no desempenho do OSBoost é o fato dele não ser um algoritmo adaptativo. Uma das consequências dessa característica é que todos os classificadores serão tratados da mesma maneira no momento da classificação, sem levar em conta que diferentes membros do comitê podem ter desempenhos distintos. Essa é uma clara desvantagem em relação aos métodos baseados no AdaBoost, que ponderam as respostas dos classificadores de acordo com seus respectivos erros.

2.2.2.4 OnlineBBM

Online Boost-by-Majority (OnlineBBM) (BEYGELZIMER; KALE; LUO, 2015) é uma ver-são online do boost-by-majority (FREUND, 1995). Uma de suas características é o não requerimento de ponderações nos classificadores fracos, ou seja, todos são tratados da mesma maneira, independente da precisão. Dessa forma, em termos teóricos, é possível estabelecer uma quantidade ótima de classificadores.

Posteriormente, esse método foi estendido por Jung, Goetz e Tewari (2017) para li-dar também com problemas multiclasse, sendo nomeado de Online Multiclass

Boost-by-Majority (OMBBM). Como argumentam seus autores, o método também possui

caracte-rística ótima em termos teóricos, necessitando de um número mínimo de classificadores e de quantidade de amostra para alcançar um nível específico de precisão. Quando inserido no contexto de problemas binários, seu comportamento é idêntico ao OnlineBBM.

Como no OSBoost, o OnlineBBM não é um algoritmo adaptativo e também não faz distinções entre os classificadores do comitê. Segundo Beygelzimer, Kale e Luo (2015), a adaptabilidade tem forte influência no sucesso prático do AdaBoost e, levando em con-sideração esse aspecto, propõe também o AdaBoost.OL (Subseção 2.2.2.5). Outro ponto que deve ser levado em consideração em relação ao OnlineBBM (mais precisamente sobre

(35)

a sua versão multiclasse) é o seu custo mais elevado em termos de consumo de memória e também a sua alta complexidade em termos de processamento. Essas questões serão exploradas com mais detalhes no Capítulo 4.

2.2.2.5 AdaBoost.OL

AdaBoost.OL (AdaBoost.OL) (BEYGELZIMER; KALE; LUO, 2015) é uma versão online do boosting baseada no AdaBoost.L (SCHAPIRE; FREUND, 2012f). Proposto pelos mesmos autores do OnlineBBM, seu objetivo principal é implementar a ideia da adaptabilidade do comitê em relação à precisão dos métodos. Assim, a classificação das instâncias ocorrerá levando em consideração o erro médio de cada classificador, funcionalidade considerada chave para o sucesso do AdaBoost. Por outro lado, seus autores argumentam que a adap-tabilidade torna o AdaBoost.OL sub-ótimo em termos de tamanho de comitê.

Como no OnlineBBM, Jung, Goetz e Tewari (2017) também propuseram uma versão multiclasse para o AdaBoost.OL, chamada de AdaBoost.OLM (AOLM). Apesar de ser uma versão menos eficiente que o OMBBM em termos teóricos, ele mantém a mesma característica da adaptabilidade do AdaBoost e do AdaBoost.OL. Em problemas binários, seu comportamento é equivalente ao AdaBoost.OL.

De acordo com os experimentos reportados em Beygelzimer, Kale e Luo (2015), na prática, a versão adaptativa teve desempenho inferior à versão ótima. Das treze bases reais testadas, a versão ótima alcançou melhor acurácia em onze deles. Entretanto, ainda assim, a versão adaptativa pode ser preferível em determinados contextos.

2.2.3 Boosting à Luz do Dilema Viés-Variância

Uma característica desejável para um método que aprende determinado problema a partir de um conjunto de dados de treinamento é que ele seja capaz de fazer uma boa previsão em dados desconhecidos, isto é, que não foram incluídos no treino. Dessa forma, é desejável que esse método faça uma boa generalização.

Para problemas de classificação, uma das formas de estimar o erro de predição de um método em exemplos desconhecidos é através da decomposição viés-variância baseada na função de perda 0-1 (KONG; DIETTERICH, 1995; BREIMAN, 1996b; KOHAVI; WOLPERT, 1996; DOMINGOS, 2000). Apesar dos detalhes de como essa decomposição é realizada variar de autor para autor, para fins de exemplificação será considerada a proposta em Kohavi e Wolpert (1996), que é definida por:

Erro =∑︁ 𝑥

𝑃(𝑥)(︁𝜎𝑥2+ viés2𝑥+ variância𝑥 )︁

Referências

Documentos relacionados

(Use o dedo indicador para chamar alguém e diga:) Eu fiz você vir até aqui usando só um dedo, imagina o que eu faria com a mão inteira.. Posso fazer cócegas na

&#34;Volta, volta, volta!&#34; quando ela olhar pra trás toda feliz complete a frase: &#34;Volta pro inferno!&#34;.. Você é tão gorda que o seu cinto tem o tamanho da linha

10.Queria que você fosse meu mouse, pra eu poder passar a mão em você toda hora7. 11.Oie eu sou Dragão

 [coloque aqui o nome dela] , meu coração não bate por você

Resposta: Estou, mas com você por perto vai ficar muito mais difícil encontrar!. Cantada: Hum,

O terceiro capítulo é, portanto, dedicado à proposição de ações de gestão, tendo como base a confirmação das questões apontadas para este trabalho de pesquisa, quais sejam: o

Considerando que o MeHg é um poluente ambiental altamente neurotóxico, tanto para animais quanto para seres humanos, e que a disfunção mitocondrial é um

The 41 care workers agreed that the major problems in care work are: lack of staff and being overworked (88%); conflict within work teams (83%); insufficient or poor training