• Nenhum resultado encontrado

Avaliação de desempenho de algoritmos de seleção de atributos aplicados à classificação de fluxos de dados com mudanças de conceito

N/A
N/A
Protected

Academic year: 2021

Share "Avaliação de desempenho de algoritmos de seleção de atributos aplicados à classificação de fluxos de dados com mudanças de conceito"

Copied!
95
0
0

Texto

(1)

Faculdade de Tecnologia

Matheus Bernardelli de Moraes

Avaliação de Desempenho de Algoritmos de Seleção de

Atributos Aplicados à Classificação de Fluxos de Dados

com Mudanças de Conceito

Limeira

2019

(2)

Avaliação de Desempenho de Algoritmos de Seleção de Atributos

Aplicados à Classificação de Fluxos de Dados com Mudanças de

Conceito

Dissertação apresentada à Faculdade de Tecnologia da Universidade Estadual de Campinas como parte dos requisitos para a obtenção do título de Mestre em Tecnologia, na área de Sistemas de Informação e Comunicação.

Orientador: Prof. Dr. André Leon Sampaio Gradvohl

Este exemplar corresponde à versão final da

Dissertação defendida por Matheus

Bernardelli de Moraes e orientada pelo Prof. Dr. André Leon Sampaio Gradvohl.

Limeira

2019

(3)

Universidade Estadual de Campinas Biblioteca da Faculdade de Tecnologia

Felipe de Souza Bueno - CRB 8/8577

Moraes, Matheus Bernardelli de,

M791a MorAvaliação de desempenho de algoritmos de seleção de atributos aplicados à classificação de fluxos de dados com mudanças de conceito / Matheus Bernardelli de Moraes. – Limeira, SP : [s.n.], 2019.

MorOrientador: André Leon Sampaio Gradvohl.

MorDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade de Tecnologia.

Mor1. Aprendizado de máquina. 2. Algoritmos online. 3. Desempenho -Avaliação. I. Gradvohl, André Leon Sampaio, 1973-. II. Universidade Estadual de Campinas. Faculdade de Tecnologia. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Performance evaluation of feature selection algorithms applied to data streams classification with concept drift

Palavras-chave em inglês: Machine learning

Online algorithms

Performance - Evaluation

Área de concentração: Sistemas de Informação e Comunicação Titulação: Mestre em Tecnologia

Banca examinadora:

André Leon Sampaio Gradvohl [Orientador] João Roberto Bertini Junior

Elaine Parros Machado de Sousa Data de defesa: 14-08-2019

Programa de Pós-Graduação: Tecnologia

Identificação e informações acadêmicas do(a) aluno(a)

- ORCID do autor: https://orcid.org/0000-0002-9485-0334 - Currículo Lattes do autor: http://lattes.cnpq.br/8841366260800985

(4)

Abaixo se apresentam os membros da comissão julgadora da sessão pública de defesa de dis-sertação para o Título de Mestre em Tecnologia na área de concentração de Sistemas de In-formação e Comunicação, a que submeteu o aluno Matheus Bernardelli de Moraes, em 14 de agosto de 2019 na Faculdade de Tecnologia – FT/UNICAMP, em Limeira/SP.

Prof. Dr. André Leon Sampaio Gradvohl Presidente da Comissão Julgadora

Prof. Dr. João Roberto Bertini Junior FT/UNICAMP

Profa. Dra. Elaine Parros Machado de Sousa ICMC/USP

Ata da defesa, assinada pelos membros da Comissão Examinadora, consta no SIGA/Sistema de Fluxo de Dissertação/Tese e na Secretaria de Pós Graduação da FT.

(5)

conquistado alguma vitória para a humanidade. (Horace Mann)

(6)

Agradeço primeiramente à Deus, pela oportunidade de vivenciar essa experiência. Aos meus Orixás, Oxóssi e Oxum, à Sagrada Umbanda e aos Mestres que tanto me fortaleceram, me guiaram e me mostraram, dia após dia, o que é viver a espiritualidade na matéria. Á Jaguatirica e à todos os Aliados de Poder que desde o início me provocaram a ter coragem de enfrentar os desafios, sempre trazendo à minha consciência que não existem obstáculos quando se busca o que é Verdade.

Agradeço aos meus amados pais, Sônia e Claudemir, por me incentivaram à ler, estudar e

buscar o conhecimento, e por serem o maior exemplo de amor, dedicação e renúncia

necessárias para se criar um filho. À minha amada noiva Giovana, por todo o apoio e

companheirismo durante todos os momentos dessa jornada, em especial quando as dúvidas e medos surgiam.

Agradeço especialmente ao meu orientador, Prof. Dr. André Leon Sampaio Gradvohl, por todo o apoio, confiança e fé que depositou em mim e neste trabalho. Aproveito a oportunidade para agradecer por todas as vezes que conseguiu me estimular e me direcionar quando me sentia perdido.

Agradeço aos meus irmãos do Templo de Umbanda Hermética Caminho da Serpente, da Associação Educacional Sirius-Gaia e dos Núcleos Xamânicos Casco da Tartaruga, do Pulo da Jaguatirica e do Círculo Branco. Em especial, agradeço ao meu professor Fernando Maiorino, por sempre me provocar a "pular"os galhos e assim alcançar novos patamares de consciência. Agradeço aos meus companheiros Rafael Sanches Rocha, Kauê Tartarotti Nepomuceno Duarte e Luís Fernando Lopes Grim, por todos os momentos, disciplinas e superações que compartilhamos nesses dois anos. À minha querida amiga Isis Ridão, pela criteriosa revisão deste texto. À Faculdade de Tecnologia e à UNICAMP pelo apoio financeiro para participação em eventos e pela oportunidade de cursar este mestrado.

O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – Brasil (CAPES) – Código de Financiamento 001.

(7)

Resumo

Fluxos de Dados são dados gerados de modo contínuo, potencialmente infinito, em grande

volume, alta velocidade e alta quantidade de atributos, tornando impraticável seu

armazenamento em sistemas tradicionais. Nesse caso, os fluxos de dados precisam ser

analisados e processados de modo on-line, na medida em que são recebidos, no menor tempo

possível. Entretanto, por serem potencialmente infinitos, espera-se que a distribuição

probabilística dos dados mude ao longo do tempo, fenômeno conhecido como Mudança de

Conceito. Esse fenômeno torna o processo de análise de dados on-line completamente

dinâmico. Uma forma de analisar esses fluxos é por meio da aplicação de algoritmos de

classificação on-line, que categorizam os dados em diferentes classes para tomadas de decisão

futuras. A alta quantidade de atributos dos fluxos, no entanto, dificulta o processo de

classificação por aumentar o custo computacional e o tempo necessário para o aprendizado,

além de agravar os impactos da mudança de conceito. Por isso, algoritmos de seleção de

atributos on-line vêm sendo propostos na literatura, com o objetivo de reduzir a quantidade de atributos a partir da remoção de atributos irrelevantes ou redundantes para o processo de classificação. No entanto, esses algoritmos não foram avaliados em cenários de mudança de conceito, o que dificulta sua real utilização nesses cenários. Neste sentido, o objetivo inicial

deste trabalho foi avaliar cinco algoritmos de seleção de atributos on-line propostos na

literatura em cenários de mudança de conceito. A partir dos resultados obtidos, que

demonstraram um baixo desempenho dos algoritmos comparados à utilização de um

classificador base considerando o domínio completo de atributos, esta pesquisa identificou

uma oportunidade de melhoria e propôs o algoritmo Modified Online Feature Selection.

Trata-se de uma versão modificada do algoritmo Online Feature Selection, que utiliza

regularização dinâmica para minimizar os impactos das mudanças de conceito no processo

de seleção de atributos on-line. Os experimentos – utilizando conjuntos de dados reais e

artificiais com três tipos de mudanças de conceito – apontam que o algoritmo proposto obteve acurácias até 13,73% superiores aos demais algoritmos, incluindo o classificador base que considerou o domínio completo de atributos, em cinco de sete cenários.

(8)

Data streams are continuous, potentially unbounded and high-dimensional data, transmitted

at high-volume and high-velocity, which turns impracticable its storage in traditional

database mechanisms. In such cases, data streams have to be processed and analyzed online.

However, as it is potentially unbounded, it is expected a change in data probabilistic

distribution over time, a phenomenon is known as Concept Drift. The concept drift

phenomenon turns the online data process and analysis completely dynamic. Using

classification algorithms is one approach to learn from data streams, as it will categorize the

data into different classes for future decisions. However, data streams high dimensionality

imposes a challenge on the classification process, since it increases both computational cost and time, as well as aggravate the concept drift impacts. To solve this problem, online feature

selection algorithms have been proposed to reduce data dimensionality by removing

irrelevant and redundant attributes from the data streams. However, none of these

algorithms were evaluated in concept drift environments. Therefore, this work firstly

intended to verify which algorithm performed better in concept drift environments. From

the obtained results, which showed low performance in comparison with a base classifier

using all attributes, we identified an improvement opportunity. Therefore, in this work, we

propose the Modified Online Feature Selection algorithm, a modified version of the Online

Feature Selection algorithm, which uses dynamic regularization to minimize the concept

drift impacts on the online feature selection process. The experiments using both real and

artificial datasets showed the proposed algorithm obtained accuracies up to 13,73% better than the other algorithms, including the base classifier, in five out of seven scenarios.

(9)

Lista de Figuras

2.1 Tipos de mudanças de conceito, em relação à razão de mudança. . . 26

2.2 Tipos de mudanças de conceito, em relação à velocidade de mudança. . . 27

4.1 Ilustração sobre perdas e tamanho do passo . . . 42

4.2 Ilustração sobre a distribuição dos valores dos pesos baseado no parâmetro de

regularização . . . 44

4.3 Comparação dos atributos selecionados e seus pesos para a base Usenet1 . . . 49

6.1 Gráficos de métricas no conjunto de dados spam_assassin para redução

considerando 10% dos atributos. . . 64

6.2 Gráficos de métricas no conjunto de dados spam_data para redução

considerando 30% dos atributos. . . 65

6.3 Gráficos de métricas no conjunto de dados spam_data para redução

considerando 20% dos atributos. . . 66

6.4 Gráficos de métricas no conjunto de dados Usenet2 para redução considerando

20% dos atributos. . . 67

6.5 Gráficos de métricas no conjunto de dados Emailing_List para redução

considerando 20% dos atributos. . . 68

6.6 Gráficos de métricas no conjunto de dados Usenet3 para redução considerando

10% dos atributos. . . 69

6.7 Gráficos de métricas no conjunto de dados Gas_Sensor para redução

considerando 20% dos atributos. . . 70

A.1 Gráficos de métricas no conjunto de dados Spam_Assassin para redução

considerando 20% dos atributos. . . 82

A.2 Gráficos de métricas no conjunto de dados Spam_Assassin para redução

considerando 30% dos atributos. . . 83

A.3 Gráficos de métricas no conjunto de dados Spam_Data para redução

considerando 10% dos atributos. . . 84

A.4 Gráficos de métricas no conjunto de dados Spam_Data para redução

considerando 20% dos atributos. . . 85

A.5 Gráficos de métricas no conjunto de dados Usenet1 para redução considerando

10% dos atributos. . . 86

A.6 Gráficos de métricas no conjunto de dados Usenet1 para redução considerando

30% dos atributos. . . 87

A.7 Gráficos de métricas no conjunto de dados Usenet2 para redução considerando

10% dos atributos. . . 88

A.8 Gráficos de métricas no conjunto de dados Usenet2 para redução considerando

(10)

A.10 Gráficos de métricas no conjunto de dados Usenet3 para redução considerando

20% dos atributos. . . 91

A.11 Gráficos de métricas no conjunto de dados Emailing_List para redução

considerando 10% dos atributos. . . 92

A.12 Gráficos de métricas no conjunto de dados Emailing_List para redução

considerando 30% dos atributos. . . 93

A.13 Gráficos de métricas no conjunto de dados Gas_Sensor para redução

considerando 10% dos atributos. . . 94

A.14 Gráficos de métricas no conjunto de dados Gas_Sensor para redução

(11)

Lista de Tabelas

2.1 Principais diferenças entre fluxos de dados e dados estáticos . . . 23

3.1 Algoritmos de seleção de atributos para fluxos de dados . . . 33

5.1 Bases de dados selecionadas e suas características. . . 54

5.2 Recorrência de interesses na base Emailing_List e Usenet1. . . 54

5.3 Recorrência de interesses na base Usenet2. . . 54

6.1 Acurácia final (em %) considerando redução para 10% dos atributos . . . 61

6.2 Acurácia final (em %) considerando redução para 20% dos atributos . . . 61

6.3 Acurácia final (em %) considerando redução para 30% dos atributos . . . 61

(12)

𝜒2 Qui-quadrado

EFS Extremal Feature Selection

FCBF Fast Correlation-Based Filter

FOSFS Fast-Online Streaming Feature Selection

GDO Gradiente Descendente On-line

GI Ganho de Informação

MBW Modified Balanced Winnow

MOA Massive Online Analysis

MOFS Modified Online Feature Selection

NB Naïve Bayes

OFS Online Feature Selection

OGFS Online Group Feature Selection

OSFS Online Streaming Feature Selection

SPFD Sistemas de Processamento de Fluxos de Dados

SU Simmetrical Uncertainty

(13)

Sumário

1 Introdução 15 1.1 Objetivos . . . 19 1.2 Objetivos Específicos . . . 19 1.3 Estrutura do Texto . . . 20 2 Referencial Teórico 21 2.1 Fluxos de Dados . . . 21

2.2 Classificação de Fluxos de Dados . . . 23

2.3 Mudanças de Conceito . . . 25

2.4 Seleção de Atributos . . . 27

2.5 Considerações finais deste capítulo . . . 31

3 Levantamento Bibliográfico 32 3.1 Algoritmos selecionados e critérios de seleção . . . 32

3.2 Ganho de Informação . . . 34

3.3 Fast Correlation-Based Filter . . . 34

3.4 Qui-quadrado . . . 37

3.5 Extremal Feature Selection . . . 37

3.6 Outros algoritmos . . . 38

3.7 Considerações finais deste capítulo . . . 40

4 Modified Online Feature Selection 41 4.1 Conceitos fundamentais . . . 41

4.2 Online Feature Selection . . . 44

4.3 Versão proposta neste trabalho para o algoritmo OFS . . . 45

4.4 Considerações finais deste capítulo . . . 50

5 Metodologia 51 5.1 Configuração do ambiente . . . 51 5.2 Métricas observadas . . . 52 5.3 Bases de dados . . . 53 5.4 Experimentos . . . 55 5.5 Teste de Hipótese . . . 57

5.6 Considerações finais deste capítulo . . . 59

6 Resultados 60 6.1 Apresentação e discussão dos resultados . . . 60

(14)

Referências bibliográficas 75

(15)

Capítulo 1

Introdução

Com o desenvolvimento tecnológico e a difusão de tecnologias, o volume de dados gerados

diariamente impressiona. De acordo com Dobre e Xhafa (2014), 2,5 Exabyte de dados são

gerados todos os dias. Isso implica que 90% de todo conteúdo digital existente atualmente

foi criado apenas nos últimos dois anos. Esse conjunto de dados em constante crescimento,

transmitido em altas velocidades e que torna cada vez mais difícil seu armazenamento em

bancos de dados tradicionais, é conhecido comoBig Data (SIDDIQA et al., 2016).

Dentre esses conjuntos de dados, encontram-se caracteres, textos, números, imagens, sons

e vídeos, caracterizando um grande volume heterogêneo de diferentes tipos de conteúdo. Neste

sentido, a área de Aprendizado de Máquina especializa-se no desenvolvimento e aplicação

de técnicas para busca de padrões implícitos em grandes volumes de dados que representem

conhecimento para tomadas de decisão futuras (HAN; KAMBER; PEI, 2011).

Uma das técnicas que permite a extração de conhecimento de grandes volumes de dados

é a classificação de dados. Esse procedimento consiste na utilização de um modelo, conhecido

como classificador, para identificar em qual categoria (também conhecido como classe) um

dado pertence (HAN; KAMBER; PEI, 2011). Desse modo, cada dado fará parte de uma

determinada classe, permitindo que sejam categorizados de acordo com suas próprias

características.

O processo de classificação é realizado em duas etapas: a etapa de treinamento (ou

aprendizado) e a etapa de classificação (ZHOU et al., 2019). No treinamento, um algoritmo de

classificação utiliza conjuntos de dados que contêm classes previamente definidas e

conhecidas. Esse modelo é treinado com dados que já foram classificados previamente. Como

(16)

considerado supervisionado (HAN; KAMBER; PEI, 2011). Por fim, a etapa de classificação é

utilizada para classificar novas tuplas recebidas.

A classificação supervisionada de dados persistentes, aqueles armazenados em conjuntos

de dados estáticos, completos e previamente conhecidos é tema difundido na literatura

acadêmica. Entretanto, esse cenário tem se tornado cada vez mais obsoleto. A quantidade de

sistemas que precisam processar, classificar e analisar dados transmitidos em tempo real, por

sua criticidade, necessidade de atuação rápida ou simplesmente pela impossibilidade de

armazenamento e consultas posteriores é cada vez maior, devido às grandes velocidades e

volumes de transmissão.

Essa sequência de dados que chegam continuamente aos sistemas para o processamento

é chamada de fluxo de dados (GAMA et al., 2014). São exemplos de aplicações que lidam

com fluxos de dados: a análise de tendências em redes sociais, o gerenciamento de desastres

naturais, o gerenciamento de ataques em redes de computadores e a filtragem despam, dentre

outros (GRADVOHL et al., 2014).

A necessidade de análise em tempo real, aliada à característica inerente dos fluxos de dados

de serem potencialmente infinitos, demanda soluções para que ocorra a redução da dimensão

desses dados. Essas dimensões podem ser: quantidade de atributos, quantidade de instâncias

e cardinalidade dos atributos (RAMÍREZ-GALLEGO et al., 2017). À medida que as dimensões

dos dados aumentam, crescem também as possibilidades de ocorrência de problemas oriundos

desta condição. Esse fenômeno, chamado de Maldição da Dimensionalidade, acontece quando

ocorrem problemas que apenas são observáveis em cenários com grande número de atributos,

instâncias ou cardinalidades (DONOHO, 2000).

Tratando-se da dimensão de atributos, uma solução que permite a redução dessa

dimensão é a utilização de algoritmos de Seleção de Atributos. Esses algoritmos visam a

eliminação de atributos irrelevantes ou redundantes de um determinado conjunto de dados,

reduzindo sua alta quantidade de atributos (BARDDAL et al., 2017). Dentre os principais

benefícios da utilização de seleção de atributos, destacam-se tanto as reduções do espaço para

armazenamento dos dados, do consumo de memória, da complexidade do modelo e do tempo

para treinamento e para processamento das instâncias, quanto o aumento da

interpretabilidade dos dados – ou seja, o quão facilmente os dados podem ser entendidos por

(17)

Entretanto, a aplicação de seleção de atributos em fluxos de dados não é trivial devido a

natureza volátil desses dados. Os fluxos de dados estão sujeitos a um fenômeno conhecido

como Mudança de Conceito. Segundo Gama et al. (2014), esse fenômeno corresponde às

mudanças na distribuição probabilística dos dados que podem acontecer ao longo do tempo.

Essas transformações ocorrem de diferentes formas, como mudanças nas características

gerais ou na relação entre os atributos do conjunto.

Existem quatro tipos conhecidos de mudanças de conceito. São eles: a mudança gradual,

quando as mudanças não ocorrem de forma abrupta, mas continuam retornando a padrões

antigos por um tempo; as mudanças súbitas, representadas por repentinas alterações na

distribuição dos dados; as mudanças incrementais, que consistem em várias alterações

intermediárias entre dois conceitos consideravelmente distintos; e, por fim, as mudanças

recorrentes, quando distribuições vistas anteriormente reaparecem após um intervalo de

tempo (GAMA et al., 2014).

Essas mudanças podem causar um impacto tão significativo no conjunto de dados que os

algoritmos utilizados previamente se tornam obsoletos ou incapazes de lidar com o novo

cenário. Isso acontece porque, em uma mudança de conceito, um subconjunto de atributos

relevantes em um momento anterior podem se tornar irrelevantes para o novo conceito, ou

atributos antes irrelevantes se tornam relevantes a partir da mudança (BARDDAL et al.,

2017). Com base nisto, a utilização de um algoritmo de seleção de atributos pode otimizar o

desempenho de um classificador, pois diante de um cenário de mudanças de conceito em que

a relação entre os atributos e a classe é alterada, a rápida seleção de novos atributos que

sejam relevantes para a nova distribuição pode contribuir para manter o processo de

aprendizado eficiente.

Contudo, para que isso aconteça, o algoritmo de seleção de atributos também deve

possuir mecanismos de adaptação às mudanças de conceito, principalmente aquelas que

exigirem uma completa reavaliação da relevância dos atributos no menor tempo possível.

Diante desta necessidade, faz-se necessária a utilização de algoritmos de seleção de atributos

que possam ser usados para fluxos de dados, ou seja, de modo on-line e que ao mesmo tempo

se adaptem com eficiência às mudanças de conceito.

Neste sentido, diversos autores propuseram nos últimos anos algoritmos de seleção de

atributos para fluxos de dados. Katakis, Tsoumakas e Vlahavas (2005) propõem a utilização

(18)

de Qui-quadrado (𝜒2) (PEARSON, 1992), difundidos e muito utilizados em dados estáticos, que

possam trabalhar de modo incremental, ou seja, avaliar a relevância dos atributos na medida

em que as instâncias são recebidas.

Yu e Liu (2003), por sua vez, propõem o Fast Correlation-Based Filter (FCBF) , um

algoritmo que se vale do conceito de entropia, calculando a Incerteza Simétrica de cada

atributo e sua relação com determinada classe. Carvalho e Cohen (2006) propõem oExtremal

Feature Selection (EFS) , um algoritmo que utiliza um classificador interno conhecido como Modified Balanced Winnow (MBW) para promover ou rebaixar os pesos dos atributos de

modo online. Há também o algoritmo Online Feature Selection (OFS), proposto por J. Wang

et al. (2014), que utiliza projeção esparsa para zerar os pesos de todos os atributos com

exceção dos mais relevantes, garantindo baixos consumo de memória e tempo de resposta.

Esses algoritmos estão dentre os mais relevantes disponíveis na literatura por serem

propostos para fluxos de dados, trabalharem de modoonline e serem independentes, podendo

trabalhar com diferentes classificadores base (RAMÍREZ-GALLEGO et al., 2017). No entanto,

alguns fatores devem ser analisados antes da utilização destes algoritmos.

Em primeiro lugar, nenhum dos algoritmos mencionados foi avaliado em cenários de

mudança de conceito. Necessita-se, portanto, uma avaliação sistemática desses algoritmos

neste tipo de cenário. Além disto, muitos desses algoritmos são simples adaptações

incrementais de algoritmos propostos para dados estáticos, não considerando em sua

estrutura mecanismos de adaptação às diferentes mudanças de conceito

(RAMÍREZ-GALLEGO et al., 2017).

Ademais, alguns desses algoritmos apresentam altos consumo de memória e tempo de

resposta, processo incompatível com a análise em tempo real e de baixo custo computacional

necessários para os fluxos de dados. Por fim, tais algoritmos não apresentam soluções para

lidar diretamente com as mudanças de conceito recorrentes, um dos tipos de mudança mais

presentes em fluxos de dados (RAMÍREZ-GALLEGO et al., 2017).

A partir disto, faz-se necessária a avaliação de qual algoritmo é a melhor opção

considerando a qualidade (medida pela acurácia), a adaptação às mudanças de conceito e o

baixo custo computacional. Dessa forma, este trabalho avaliou o desempenho dos algoritmos

GI, 𝜒2, FCBF, EFS e OFS, comparando seu desempenho com um classificador base Naïve

Bayes (NB) , considerando o domínio completo de atributos. O objetivo foi verificar se algum

(19)

Com os resultados preliminares, as evidências apontaram que a classificação sem seleção

de atributos oferecia as melhores acurácias em quase todos os cenários. Neste sentido, a

partir das evidências observadas, propõe-se neste trabalho o algoritmo Modified Online

Feature Selection (MOFS) , uma versão modificada do algoritmo OFS que utiliza regularização

dinâmica para reduzir os impactos da mudança de conceito no processo de seleção de

atributos on-line, garantindo uma melhor acurácia para o classificador, sem oferecer um

aumento no consumo de memória e um tempo resposta substancial. Os resultados apontam

acurácias até 13,73% superiores aos demais algoritmos, incluindo a classificação sem seleção

de atributos, em cenários de mudanças graduais e recorrentes.

1.1

Objetivos

O objetivo deste trabalho foi avaliar o desempenho dos algoritmos de seleção de atributos mais

relevantes em fluxos de dados, diante de diferentes cenários de mudança de conceito. A partir

dos resultados obtidos, identificou-se uma oportunidade de melhoria, que resultou na proposta

do algoritmo MOFS.

1.2

Objetivos Específicos

Para atingir o objetivo principal deste trabalho, foram propostos os seguintes objetivos

específicos:

• Caracterizar e selecionar bases de dados contendo diferentes tipos de mudança de

conceito.

• Implementar os algoritmos de seleção de atributos selecionados usando a linguagem de

programação Java, selecionada por ser a mesma linguagem das ferramentas de

benchmark usadas nos experimentos, facilitando a comunicação e integração entre os algoritmos;

• Implementar o algoritmo MOFS, modificando o algoritmo OFS, para considerar a

(20)

• Analisar e comparar o desempenho do algoritmo MOFS a partir de diversos

experimentos, considerando as bases de dados selecionadas previamente, em diferentes

métricas como qualidade, tempo de resposta e consumo de memória.

1.3

Estrutura do Texto

Este texto está organizado em sete capítulos da seguinte forma:

• O Capítulo 2 apresenta um referencial teórico dos principais conceitos referentes aos

Fluxos de Dados, Mudanças de Conceito e sobre os algoritmos de Seleção de Atributos.

• O Capítulo 3 apresenta um levantamento bibliográfico contendo os principais trabalhos

da literatura relacionados ao tema dessa dissertação de mestrado.

• O Capítulo 4 apresenta em detalhes a fundamentação teórica do algoritmo OFS e a versão

proposta nesse trabalho, MOFS, incluindo o funcionamento da regularização dinâmica

e suas aplicações.

• O Capítulo 5 apresenta a metodologia dos experimentos realizados nesse trabalho,

incluindo a caracterização dos algoritmos e bases de dados selecionadas, as métricas

observadas e o teste de hipótese utilizado para verificação da qualidade estatística do

algoritmo MOFS.

• Os resultados obtidos são apresentados no Capítulo 6.

• O Capítulo 7 apresenta as conclusões obtidas nessa dissertação de mestrado.

• Por fim, o Apêndice A apresenta as figuras com os resultados complementares aos

(21)

Capítulo 2

Referencial Teórico

Esse capítulo apresenta os principais conceitos abordados neste trabalho. Entre esses

conceitos destacam-se as definições de fluxos de dados, suas características principais e como

são processados, o funcionamento do processo de classificação, os tipos de mudanças de

conceito e, finalmente, inclui-se uma explicação detalhada sobre o processo de seleção de

atributos.

2.1

Fluxos de Dados

O rápido desenvolvimento de tecnologias emergentes e a alta difusão dos dispositivos móveis

culminaram em uma geração contínua e massiva de dados, o chamadoBig Data, termo utilizado

para se referir ao rápido crescimento de vastos volumes de dados que tornam ineficientes os

mecanismos tradicionais de armazenamento, análise e processamento dos dados (SIDDIQA et

al., 2016). Esses dados gerados de forma contínua, potencialmente infinita, em grande volume

e em alta velocidade são denominados Fluxos de Dados (GAMA et al., 2014).

Pela impraticabilidade de armazenamento, processamento e análise em sistemas

tradicionais, os fluxos de dados precisam ser analisados de modo on-line. Para que isso seja

possível, uma categoria específica de sistemas pode ser utilizada, os Sistemas de

Processamento de Fluxos de Dados (SPFD) (DE ASSUNÇÃO; VEITH; BUYYA, 2018). Os SPFD

possuem uma arquitetura específica, geralmente distribuída e com sistemas multicamadas

acoplados que, quando combinados, funcionam como um sistema integrado. Essa arquitetura

multicamadas é composta por diferentes componentes, dentre eles, os Geradores de Dados,

(22)

encontram-se os leitores de identificação por radiofrequência(Radio Frequency Identification

– RFID), os sensores elétricos, os dispositivos móveis, os sistemas de posicionamento global

(Global Positioning Systems – GPS), e os sites na world wide web, dentre outros (GRADVOHL

et al., 2014).

Desse modo, os fluxos de dados não podem ser armazenados, mas sim precisam ser

analisados e processados em tempo real (também denominado on-line). Por serem

potencialmente infinitos, espera-se que suas características se alterem ao longo do tempo,

tornando o processo de aprendizado completamente dinâmico a partir desses dados. Os

fluxos de dados são muitas vezes denominados dados evolutivos ou não estacionários por

essa característica (GAMA et al., 2014).

Por fluxo de dados, entende-se todo o conjunto de dados transmitidos em um

determinado espaço de tempo. Esse espaço de tempo também é denominado janela de

processamento (RAMÍREZ-GALLEGO et al., 2017). Cada fluxo contém uma ou mais

instâncias (também denominadas tuplas ou objetos), que podem respeitar um formato

previamente definido (estruturado), ou ter um formato completamente aleatório (não

estruturado) e que também se altera ao longo do tempo. Neste trabalho, são considerados

apenas fluxos de dados com instâncias estruturadas. Portanto, define-se um fluxo de dados

do seguinte modo: seja 𝑆 = {𝑥1, 𝑥2, …} um fluxo de dados contendo uma quantidade

potencialmente infinita de instâncias 𝑥𝑖. Cada instância 𝑥𝑖 é um vetor de atributos

𝐷-dimensional, sendo que 𝐷 representa a quantidade de colunas ou valores referentes àquela instância.

As características dos fluxos de dados são consideravelmente distintas daquelas

encontradas em conjuntos de dados estáticos (off-line), segundo Ramírez-Gallego et al.

(2017). As principais diferenças são apresentadas na Tabela 2.1 e, conforme indicado na

própria tabela, as características das instâncias não são conhecidas previamente. As

instâncias são processadas e analisadas na medida em que chegam ao sistema, de modo

sequencial, respeitando a ordem de chegada. Além disso, cada instância pode ser transmitida

em uma frequência completamente diferente de outra. Embora alguns padrões possam ser

encontrados, não é possível definir em que momento cada instância é transmitida.

Como são potencialmente infinitos, na medida em que começam a ser transmitidos, não

se pode dizer quando o fluxo cessará. Por seu grande volume e alta velocidade, aliado à

(23)

Tabela 2.1: Principais diferenças entre fluxos de dados e dados estáticos. Adaptadas de Ramírez-Gallego et al. (2017)

Dados Estáticos Fluxos de Dados

Instâncias são conhecidas previamente

Instâncias não são conhecidas, mas

disponibilizadas sequencialmente

Todas as instâncias presentes no conjunto

Instâncias podem ser recebidas em

frequências completamente diferentes

Instâncias finitas Instâncias infinitas

Instâncias podem ser acessadas quantas

vezes forem necessárias

Instâncias precisam ser analisadas em um tempo limitado

Instâncias não sofrem alterações

Características das instâncias evoluem ao

longo do tempo

tempo limitado. Refazer o processamento e análise em fluxos já processados é, na maioria das

vezes, inviável.

Por fim, como principal fator que os diferencia dos dados estáticos, os fluxos de dados

podem sofrer alterações em suas características probabilísticas ao longo do tempo. Esse

fenômeno é conhecido como mudança de conceito (GAMA et al., 2014).

2.2

Classificação de Fluxos de Dados

Em muitos casos, sistemas e usuários se deparam com a necessidade de categorizar

determinados dados. Por exemplo, se um investimento financeiro é seguro ou arriscado, se

um paciente está saudável ou doente, se um veículo está em condições ou não de realizar

uma viagem de longa distância, se um estudante atingiu ou não as notas mínimas para passar

em seus exames finais, entre outras situações.

Esse processo de categorização pode ser realizado computacionalmente através da

aplicação de algoritmos de classificação. Em aprendizado de máquina, esse processo de

categorização é conhecido como Classificação de Dados (HAN; KAMBER; PEI, 2011). Um

algoritmo de classificação constrói um modelo de classificação (ou simplesmente um

classificador) capaz de prever ou classificar as categorias (ou classes) de uma determinada

instância. Para que isso seja possível, são necessárias duas etapas, a Etapa de Treinamento e a

(24)

Na primeira etapa, o algoritmo de classificação é treinado utilizando um conjunto de

treinamento que contém as classes associadas a cada uma das instâncias. Visto que as classes

de cada instância são fornecidas previamente, esse processo é conhecido como aprendizado

supervisionado. Quando as classes não são disponibilizadas no conjunto de treinamento, o

aprendizado é não supervisionado (também conhecido como agrupamento) (ZHOU et al.,

2019). Neste trabalho, é considerado o aprendizado supervisionado. A divisão das instâncias

em treinamento e testes também é conhecido como método deholdout (HAN; KAMBER; PEI,

2011).

Já na segunda etapa, o classificador construído anteriormente é submetido a um conjunto

de testes que contém instâncias distintas daquelas utilizadas no processo de treinamento.

Esse procedimento é necessário para reduzir a possibilidade deoverfitting, situação em que o

classificador incorpora algumas particularidades das instâncias de treinamento que podem

não estar presentes nos demais dados, resultando em alto desempenho nas instâncias de

treinamento, porém baixo desempenho nos dados não conhecidos (HAN; KAMBER; PEI,

2011).

Sendo assim, pode-se definir formalmente a classificação do seguinte modo: dado um fluxo

de dados𝑆 = {𝑥1, 𝑥2, …} contendo uma quantidade potencialmente infinita de instâncias 𝑥𝑖, um

classificador𝑓 deve classificar uma instância 𝑥𝑖para sua respectiva classe𝑦, tal que 𝑓 (𝑥𝑖) → 𝑦,

onde𝑦 ∈ 𝑌 , sendo 𝑌 = {𝑦1, 𝑦2, … , 𝑦𝑚} o conjunto de possíveis classes. Neste trabalho,

adota-se o problema de classificação binária, em que existem apenas duas clasadota-ses possíveis tal que

𝑌 = {−1, 1}.

Outra forma de abordar a classificação é com a Teoria Bayesiana (BARDDAL et al., 2017).

De acordo com essa teoria, a classificação pode ser colocada como uma função de

probabilidades prévias de uma classe (𝑃 [𝑦]) e a função de densidade de probabilidade

condicional (𝑃 [𝑥 ∣ 𝑦]) para todas as possíveis classes 𝑦𝑖 ∈ 𝑌 . A decisão de classificar uma

instância em uma determinada classe é executada de acordo com a probabilidade posterior

das classes, em que a Equação 2.1 define a probabilidade posterior de uma classe arbitrária𝑦𝑖

e𝑃 [𝑥] = ∑ 𝑦𝑖∈𝑌𝑃 [𝑦𝑖] × 𝑃 [𝑥 ∣ 𝑦𝑖]. 𝑃 [𝑦𝑖 ∣ 𝑥] = 𝑃 [𝑦𝑖] × 𝑃 [𝑥 ∣ 𝑦𝑖] 𝑃 [𝑥] (2.1)

Embora a abordagem de holdout possa ser aplicada nas instâncias dos fluxos de dados,

(25)

infinitos, sujeitos a variações, transmitidos em alta velocidade e com a necessidade de serem

analisados online, pois um conjunto de treinamento e testes em um determinado momento

pode refletir de maneira incorreta os dados futuros. Além disso, esse processo precisaria ser

refeito periodicamente para acompanhar a natureza evolutiva dos dados (BIFET; HOLMES

et al., 2010). Uma abordagem para contornar esse cenário é a utilização de outro método de

treinamento e avaliação, o Teste-Treinamento-Intercalado (BIFET; KIRKBY, 2009).

Nessa abordagem, cada instância recebida é utilizada para testar o modelo antes de ser

usada para treinamento, conforme indicam Bifet e Kirkby (2009). Se a classe prevista estiver

incorreta, o classificador é treinado com a instância. Isso garante uma curva de aprendizado

mais suave, visto que cada instância tende a ter menos significância no desempenho geral.

Além disso, essa abordagem permite um melhor uso dos dados disponíveis e um cenário mais

próximo da realidade, pois considera a natureza evolutiva e dinâmica das instâncias.

Como desvantagem, o classificador é impactado por falhas no início do aprendizado,

mesmo que tenha o potencial de alcançar um melhor desempenho. Contudo, esse

comportamento tende a ser suavizado ao longo do processo de aprendizado. Neste trabalho,

o Teste-Treinamento-Intercalado é o método de avaliação utilizado.

2.3

Mudanças de Conceito

Ao lidar com fluxos de dados, por suas características inerentes, entende-se que serão

transmitidos em tempo real, formando um fluxo potencialmente infinito. São inúmeras as

possibilidades de distribuição de dados, considerando esse cenário. Espera-se, portanto, que

os dados evoluam ao longo do tempo, tornando o ambiente para a classificação das instâncias

contidas nos fluxos extremamente dinâmico. Essas mudanças ocorrem nos conceitos das

instâncias.

Segundo Nguyen et al. (2012), a Equação 2.2 define um conceito𝐶 como um conjunto de

probabilidades prévias das classes e funções de densidade probabilísticas das classes

condicionais. 𝐶 = ⋃ 𝑦∈𝑌 { (𝑃 [𝑦𝑖], 𝑃 [𝑥 ∣ 𝑦𝑖]) } (2.2)

Portanto, seja𝑆 um fluxo de dados com uma quantidade 𝑖𝑡 de instâncias, e tal fluxo𝑆 com

um conceito 𝐶𝑡. Para todo tempo 𝑡𝑖 do fluxo, se 𝐶𝑡

(26)

Caso contrário, se entre dois intervalos de tempo𝑡𝑖 e𝑡𝑗 = 𝑡𝑖 + Δ (com Δ ≥ 1) 𝐶𝑡

𝑖 ≠ 𝐶𝑡𝑗, então uma mudança de conceito aconteceu (BARDDAL et al., 2017). Sendo assim, as probabilidades

prévias das classes𝑃 [𝑦𝑖] podem mudar, as probabilidades condicionais das classes 𝑃 [𝑥 ∣ 𝑦𝑖]

podem se alterar e as probabilidades posteriores de𝑃 [𝑦𝑖 ∣ 𝑥] também podem variar.

Existem duas categorias em que uma mudança de conceito pode acontecer na distribuição

probabilística dos dados ao longo do tempo. Uma separa as mudanças de conceito por

velocidade de mudança, enquanto a outra as divide pelo motivo da mudança (GONÇALVES

JR.; SANTOS et al., 2014).

De acordo com Gama et al. (2014), quanto à velocidade de mudança, as categorias são:

súbita (ou abrupta), incremental, gradual e recorrente. Já a respeito das razões de mudança, as

mesmas podem ser reais ou virtuais.

As razões de mudança são ilustradas na Figura 2.1. Uma mudança real ocorre quando há

variações na relação𝑃 [𝑦𝑖 ∣ 𝑥], ou seja, quando as instâncias de um fluxo de dados possuem

uma classe legítima em determinado momento e outra classe legítima em outro momento. Em

contrapartida, uma mudança virtual ocorre quando há mudanças apenas em𝑃 [𝑥], quando a

distribuição das instâncias é alterada, mas a relação entre as instâncias e o conceito (classe)

permanece o mesmo. No geral, ambas ocorrem de forma conjunta (GONÇALVES JR.; SANTOS

et al., 2014).

Figura 2.1: Tipos de mudanças de conceito, em relação à razão de mudança. Círculos

representam instâncias; cores diferentes representam classes diferentes. Adaptado de Gama

et al. (2014).

O comportamento das mudanças em relação à velocidade de mudança é apresentado na

Figura 2.2. Nesta figura, há o exemplo de um conjunto de dados em que o conceito é referente

a um atributo média. Conforme ilustrado, uma mudança de conceito súbita ou abrupta ocorre

quando os fluxos variam de um conceito para outro repentinamente (e. g. a troca de um sensor

(27)

Figura 2.2: Tipos de mudanças de conceito, em relação à velocidade de mudança. Adaptado de Gama et al. (2014).

A mudança pode acontecer incrementalmente, consistindo em vários pontos

intermediários dentre dois conceitos consideravelmente distintos (e. g. um sensor que

lentamente se torna menos preciso ao longo do tempo). Há, ainda, a mudança gradual,

quando as mudanças não acontecem de forma abrupta, mas continuam voltando ao mesmo

padrão antigo por um tempo (e. g. tópicos de interesse em um jornal para uma pessoa que

passará suas férias em outro lugar, sendo que o indivíduo não mudará repentinamente seus

interesses, visualizando os interesses anteriores por um tempo). A mudança recorrente, que

ocorre quando conceitos vistos previamente reaparecem após um intervalo de tempo (e. g.

vendas de um produto sobem no verão e caem no inverno). Por fim, é preciso distinguir a

diferença entre mudanças de conceito e outliers, que são pontos que não representam

corretamente a distribuição dos dados, podendo ser causados, por exemplo, por algum tipo

de erro (HAN; KAMBER; PEI, 2011).

Essas características afetam a capacidade de aprendizado e de utilização dos algoritmos

de classificação (GAMA et al., 2014). Um algoritmo treinado em um determinado momento

pode se tornar totalmente obsoleto no momento seguinte. Por este motivo, um grande esforço

vem sendo empregado nos últimos anos para lidar com esse fenômeno. Uma técnica que pode

auxiliar os classificadores a se adaptarem a essas mudanças é a seleção de atributos, descrita

na Seção 2.4 a seguir.

2.4

Seleção de Atributos

Além das características da natureza evolutiva dos fluxos de dados e a necessidade de

algoritmos que possam se adaptar as mudanças de conceito, em alguns casos, outro fator

pode ampliar os desafios no processo de classificação das instâncias recebidas desse modo: a

(28)

médicos, ecológicos, de imagens e na classificação de textos, as dimensões podem ir de

algumas dezenas até trilhões de atributos, como nos trabalhos de Weinberger et al. (2009) e

Tan, Tsang e L. Wang (2014). Essa grande quantidade de atributos é conhecida como alta ou

ultradimensionalidade.

A ultradimensionalidade implica em uma necessidade massiva de memória e um alto custo

computacional para treinamento e utilização dos algoritmos de aprendizado, além de dificultar

sua otimização pela quantidade exaustiva de atributos, processo conhecido como “Maldição da

Dimensionalidade”. Esse termo, de acordo com Donoho (2000), foi utilizado para descrever os

fenômenos que ocorrem quando são analisados e organizados dados em grandes dimensões de

atributos. Porém, não ocorrem quando se tratam de dados em baixa dimensão de atributos.

Para lidar com a “maldição de dimensionalidade”, os conjuntos de dados podem ser

sumarizados em representações menores, porém mantendo, de certa forma, a qualidade

original dos dados. Portanto, são utilizadas de forma mais eficiente e rápida do que suas

versões originais. O processo para sumarização desses conjuntos de dados é conhecido como

Redução de Dimensionalidade (BOLÓN-CANEDO; SÁNCHEZ-MAROÑO;

ALONSO-BETANZOS, 2015).

Uma das técnicas de redução da quantidade de atributos é a Seleção de Atributos. Essa

técnica visa detectar atributos relevantes e descartar atributos irrelevantes ou redundantes de

um determinado conjunto de dados, obtendo uma representação reduzida do conjunto

original, com perdas mínimas em termos estatísticos (HAN; KAMBER; PEI, 2011). Desse

modo, o processo de classificação torna-se mais rápido, a representação dos dados mais

legível (menor quantidade de dados irrelevantes), o custo computacional é reduzido e, em

alguns casos, a qualidade preditiva é superada (BARDDAL et al., 2017).

Como em outros cenários, a mudança de conceito impõe um desafio ao selecionar os

atributos relevantes em fluxos de dados. A mudança de conceito nos atributos ou mudança

de atributos é o fenômeno que implica na alteração da relação entre os atributos e a classe

(BARDDAL et al., 2017). Desse modo, a relevância dos atributos também evolui ao longo do

tempo.

Isso implica na necessidade de algoritmos que possam trabalhar de modo incremental.

Na medida em que novos conceitos são experienciados, os seletores devem ser capazes de

(29)

o processo de classificação quanto o de seleção de atributos são contínuos e devem ocorrer em

conjunto.

Existem diferentes definições sobre o que é a relevância de um atributo. Para este

trabalho, serão utilizadas as definições propostas por Barddal et al. (2017), descritas a seguir.

De acordo com a Definição 2.1 a seguir, assumindo um fluxo de dados𝑆 que contém todos os

atributos𝐷 com exceção de um atributo 𝐷𝑖 (𝑆 = 𝐷⧵{𝐷𝑖}), entende-se que 𝐷𝑖 é relevante se e

somente se, para toda instância𝑥𝑖, a não utilização do atributo𝐷𝑖 reduzirá a capacidade geral

de classificação de um algoritmo. Essa definição engloba duas possibilidades para um

atributo ser estatisticamente significante para um processo de aprendizado: ou (i) está

fortemente correlacionado com uma classe; ou (ii) em conjunto com outros atributos, forma

um padrão fortemente correlacionado a uma classe.

Definição 2.1. Atributo relevante Assumindo 𝑆 = 𝐷⧵{𝐷𝑖}, um atributo 𝐷𝑖 é relevante se e

somente se

∃𝑥𝑖 ⊂ 𝑆, sendo que 𝑃 [𝑦 ∣ 𝐷𝑖, 𝑥𝑖] ≠ 𝑃 [𝑦 ∣ 𝑥𝑖]

De outra forma, 𝐷𝑖 é considerado irrelevante.

Uma segunda definição é necessária para estabelecer outro objetivo dos algoritmos de

seleção de atributos, i. e. a remoção de atributos redundantes. Um atributo se torna

redundante quando existem outros que produzem a mesma capacidade de classificação e

aprendizado.

Segundo a Definição 2.2 a seguir, assumindo um fluxos de dados 𝑆 que contém todos os

atributos 𝐷, com exceção de um atributo 𝐷𝑖, entende-se que 𝐷𝑖 é redundante se e somente

se, para toda instância𝑥𝑖, a capacidade de classificação de um algoritmo permanece a mesma,

independente de𝐷𝑖 estar ou não presente.

Definição 2.2. Atributo redundante Assumindo 𝑆 = 𝐷⧵{𝐷𝑖}, um atributo 𝐷𝑖 é redundante

se e somente se

∃𝑥𝑖 ⊂ 𝑆, sendo que 𝑃 [𝑦 ∣ 𝐷𝑖, 𝑥𝑖] = 𝑃 [𝑦 ∣ 𝑥𝑖]

Em relação à tarefa de seleção de atributos em fluxos de dados, esta pode ser entendida

como um problema de otimização, para obter o subconjunto ótimo𝐷⋆ ⊆ 𝐷 de atributos que

representam adequadamente os conceitos de determinados fluxos de dados. O principal

(30)

redundantes, enquanto mantém a distribuição probabilística das classes originais𝑃 [𝑦]. Para

este trabalho, a definição formal da tarefa de seleção de atributos adotada será aquela

proposta por Barddal et al. (2017).

Definição 2.3. Seleção de atributos Assumindo o conjunto total de atributos 𝐷, o objetivo

é selecionar um subconjunto de atributos 𝐷⋆ que contém apenas informações relevantes de 𝑆.

Suponha-se que a qualidade do subconjunto de atributos 𝐷′⊆ 𝐷 (argmax) é dada por 𝑄(.), então

a tarefa de seleção de atributos pode ser definida conforme a Equação 2.3 a seguir, onde 𝑑𝑚𝑎𝑥 é o

número de atributos selecionados.

𝐷⋆ = argmax 𝑄(𝐷′) sujeito a |𝐷′| ≤ ⌈𝑑𝑚𝑎𝑥⌉ (2.3)

Por fim, os algoritmos de seleção de atributos são divididos em três categorias distintas:

filtros, envelopadores e métodos embarcados. As características e objetivos de cada um são

descritos a seguir, de acordo com as definições propostas por Guyon e Elisseeff (2003).

• Filtros. Esses algoritmos aplicam medidas estatísticas para calcular uma pontuação

para cada atributo. Os atributos são ranqueados baseados em suas pontuações e depois

mantidos ou removidos. Esses métodos geralmente consideram que cada atributo é

independente de outro. Os algoritmos de filtragem são independentes do processo de

classificação e aprendizado.

• Envelopadores. Esses algoritmos consideram a seleção de atributos como um

problema de busca. Envelopadores utilizam um classificador para avaliar a acurácia de

cada combinação de atributos, até que a melhor combinação seja atingida. Como

vantagem, esses métodos possuem um bom desempenho em fluxos de dados com

mudanças de conceito, conforme apontam Ramírez-Gallego et al. (2017), visto que

sempre que novos fluxos são recebidos, o processo de aprendizado é refeito.

Entretanto, uma desvantagem desses métodos é o alto custo computacional, já que são

necessárias grandes quantidades de operações para se atingir o resultado.

• Embarcados. Os algoritmos embarcados selecionam os atributos durante o processo de

treinamento de um classificador, sendo geralmente utilizados para determinados tipos

de algoritmos. Conforme ilustra Barddal et al. (2017), o aprendizado feito por árvores

(31)

da árvore e a seleção de atributos estão interligadas, embora o processo de seleção de

atributos em si seja por meio de filtragem.

2.5

Considerações finais deste capítulo

Este capítulo apresentou os conceitos e as características principais dos fluxos de dados, o

que são sistemas de processamento de fluxos, os tipos de mudança de conceito que podem

ocorrer na distribuição probabilística dos fluxos. Por fim, neste capítulo explicou-se o que

são algoritmos de seleção de atributos, bem como definiu-se o que são atributos relevantes,

irrelevantes e redundantes. Esses conceitos são importantes para a utilização dos algoritmos

(32)

Capítulo 3

Levantamento Bibliográfico

Este capítulo apresenta os algoritmos de seleção de atributos que operam de modo on-line

para fluxos de dados selecionados para a avaliação de desempenho. São apresentadas suas

características e comportamentos, suas vantagens e desvantagens e seus tipos. Os algoritmos

aqui descritos foram utilizados nos experimentos para avaliação de desempenho descrita no

Capítulo 5.

3.1

Algoritmos selecionados e critérios de seleção

Embora o aprendizado on-line receba atenção considerável de pesquisadores, o mesmo não

pode se dizer dos algoritmos de seleção de atributos que operem de forma contínua e em

tempo real, segundo Bolón-Canedo, Sánchez-Maroño e Alonso-Betanzos (2015). Por outro

lado, o presente trabalho reconhece a existência de alguns algoritmos e propostas para esse

tipo de técnica de redução de dados na literatura científica. Nesse sentido, apresentam-se casos

considerados relevantes por Ramírez-Gallego et al. (2017), devido à capacidade de execução

on-line, à independência em relação aos classificadores e aos bons resultados quando aplicados

em fluxos de dados, como mostra a Tabela 3.1.

O método Ganho de Informação (GI) (QUINLAN, 1986) é um algoritmo comumente

utilizado na seleção de atributos em dados estáticos. Por sua vez, esse tipo de algoritmo

baseado em informação utiliza o conceito de entropia para avaliar a relevância dos atributos.

Por sua simplicidade e eficácia ao definir pesos, o emprego deste método é bastante indicado

(33)

Tabela 3.1: Algoritmos de seleção de atributos para fluxos de dados

Método Tipo de seleção Tipo de algoritmo

Ganho de Informação Filtro Baseado em informação

Qui-quadrado Filtro Baseado em informação

Fast Correlation-Based Filter Filtro Baseado em correlação

Online Feature Selection Envelopador Projeção Esparsa

Extremal Feature Selection Envelopador Baseado em erros

O𝜒2 (PEARSON, 1992) é um método que, assim como o FCBF, descrito a seguir, e o GI,

calcula a correlação entre uma variável alvo (a classe) e um ou mais atributos. Quanto maior

o valor de um atributo, maior sua correlação com a classe, tornando-o mais relevante. Assim

como o GI, o𝜒2é um dos métodos mais utilizados para seleção de atributos em dados estáticos.

O métodoFast Correlation-Based Filter (FCBF) (YU; LIU, 2003) baseia-se em correlação entre

os atributos e a classe da instância. Diferentemente do GI, no entanto, vale-se do conceito de

Incerteza Simétrica para calcular a correlação entre duas variáveis aleatórias (no caso, um

atributo e sua relação com a classe).

O métodoOnline Feature Selection (OFS) (J. WANG et al., 2014) é um algoritmo baseado em

projeção esparsa para seleção de atributos em fluxos de dados on-line. Ele pode ser utilizado

tanto em conjuntos de dados com o domínio completo de atributos disponíveis, quanto em

cenários nos quais o domínio não está acessível e é reconhecido apenas ao longo do processo

de aprendizado. Neste trabalho, utiliza-se a versão que considera o conhecimento prévio do

domínio de atributos.

OExtremal Feature Selection (EFS) (CARVALHO; COHEN, 2006) é um método de seleção

de atributos on-line que utiliza os pesos computados por um classificador internoModified

Balanced Winnow (MBW) para medir a relevância dos atributos. O MBW é considerado um algoritmo de aprendizado on-line baseado em erros.

Desse modo, os algoritmos descritos foram selecionados pelos seguintes critérios: i)

execução on-line; ii) independência dos classificadores (podem ser usados com qualquer

classificador base); iii) por serem propostos para utilização em fluxos de dados; e iv)

trabalharem com aprendizado supervisionado.

Nas seções a seguir, são apresentados cálculos, pseudocódigos, estrutura e como cada

algoritmo realiza a avaliação da relevância dos atributos, com exceção do algoritmo OFS.

(34)

3.2

Ganho de Informação

O algoritmo GI vale-se do conceito de entropia para avaliar um atributo. A entropia de um

atributo𝑑, designada por 𝐻 (𝑑), é dada pela Equação 3.1 a seguir.

𝐻 (𝑑) = − ∑

𝑖

𝑃 (𝑑𝑖) log2( 𝑃 (𝑑𝑖) ) (3.1)

E a entropia de𝑑 após uma observação de outra variável 𝑦 (classe), designada por 𝐻 (𝑑 ∣ 𝑦),

é definida de acordo com a Equação 3.2 a seguir.

𝐻 (𝑑 ∣ 𝑦) = − ∑

𝑗

𝑃 (𝑦𝑖) ∑ 𝑖

( 𝑃 (𝑑𝑖 ∣ 𝑦𝑗) log2(𝑃 (𝑑𝑖 ∣ 𝑦𝑗) ) (3.2)

nas quais P(𝑑𝑖) é a probabilidade anterior para todos os valores de𝑑, e P(𝑑𝑖 ∣ 𝑦𝑖) é a probabilidade

posterior de𝑑 dados os valores de 𝑦. O montante pelo qual o valor da entropia de 𝑑 diminui

reflete informações adicionais sobre 𝑑 fornecidas por 𝑦, o que é conhecido como Ganho de

Informação (QUINLAN, 1986), dado pela Equação 3.3 a seguir.

GI(𝑑 ∣ 𝑦) = 𝐻 (𝑑) − 𝐻 (𝑑 ∣ 𝑦) (3.3)

Para que este cálculo possa ser realizado, o GI precisa construir uma tabela de

contingência. Essa tabela armazena, para cada atributo, todos os valores observados até o

momento e sua frequência. Com base nessa tabela, é possível calcular as probabilidades

anteriores e posteriores de, no futuro, um determinado atributo possuir um valor observado.

Neste sentido, espera-se que os dados observados sejam discretos. Portanto, esse cálculo não

pode ser utilizado em instâncias com dados contínuos.

3.3

Fast Correlation-Based Filter

Yu e Liu (2003) apontam que o GI é simétrico para duas variáveis 𝑋 e 𝑌 ; e tendencioso em

favor dos atributos que contenham maiores valores. Nesse caso, os valores precisam ser

normalizados para garantir que a comparação seja imparcial. Nesse sentido, Yu e Liu (2003)

utilizam a Incerteza Simétrica (Simmetrical Uncertainty – SU) para calcular a correlação entre

duas variáveis aleatórias (no caso, um atributo e sua relação com a classe). A SU é definida

(35)

𝑆𝑈 (𝑑, 𝑦) = 2[𝐻 (𝑑) + 𝐻 (𝑦) ]GI(𝑑 ∣ 𝑦) (3.4)

Os autores propõem que, a partir da utilização de𝑆𝑈 como uma medida de qualidade, é

possível a construção de um algoritmo de seleção de atributos que contenha uma correlação

relevante e não redundante com a classe. Para que isso seja possível, os autores propõem o

uso de três heurísticas para identificar atributos relevantes e remover atributos redundantes.

Assim, seja𝑆𝑈𝑖,𝑦 o valor de 𝑆𝑈 que mede a correlação entre um atributo 𝑑𝑖 e a classe 𝑦.

Essas heurísticas implicam que, se 𝑑𝑗 for igual a 𝑑𝑖, o primeiro é chamado de um atributo

redundante para𝑑𝑖 e é armazenado em uma lista𝑆𝑝𝑖, contendo todos os pares redundantes de

𝑑𝑖. Dado𝑑𝑖 ∈ 𝑆′ e𝑆𝑝𝑖 ≠ ∅, a lista 𝑆𝑝𝑖 é divida em duas partes,𝑆𝑝𝑖+ e𝑆𝑝𝑖−, onde 𝑆𝑝𝑖+ = {𝑑𝑗 ∣ 𝑑𝑗 ∈

𝑆𝑝𝑖, 𝑆𝑈𝑗,𝑦 > 𝑆𝑈𝑖,𝑦} e 𝑆𝑝𝑖− = {𝑑𝑗 ∣ 𝑑𝑗 ∈ 𝑆𝑝𝑖, 𝑆𝑈𝑗,𝑦 ≤ 𝑆𝑈𝑖,𝑦}. As heurísticas são descritas em detalhes

a seguir:

Definição 3.1. Heurística 1 (Se 𝑆+

𝑝𝑖 = ∅). Trate 𝑑𝑖 como um atributo relevante, remova todos os

atributos em 𝑆−

𝑝𝑖, e pule a identificação de pares redundantes para esse atributo.

Heurística 2 (Se 𝑆+

𝑝𝑖 ≠ ∅). Processa todos os atributos em 𝑆𝑝𝑖+ antes de tomar uma decisão em

𝑑𝑖. Se nenhum deles se tornar relevante, siga com a Heurística 1; caso contrário remova apenas 𝑑𝑖

e decida se remove ou não os atributos em 𝑆𝑝𝑖− baseado em outros atributos em 𝑆′.

Heurística 3 (ponto de partida). O atributo com o maior valor para 𝑆𝑈𝑖,𝑦 é sempre um

atributo relevante e pode ser usado como um ponto de partida para remoção de outros atributos.

O Algoritmo 1 apresenta o FCBF. Dado um conjunto de dados𝑆, contendo 𝑁 atributos e

uma classe𝑦, o algoritmo encontra o melhor conjunto de atributos predominantes 𝑆𝑚𝑒𝑙ℎ𝑜𝑟 para

uma determinada classe. O algoritmo consiste de duas etapas. Na primeira (entre as linhas

2 e 8), o algoritmo calcula o𝑆𝑈 para cada atributo, seleciona os atributos relevantes na lista

𝑆′

𝑙𝑖𝑠𝑡𝑎baseado no parâmetro de limiar𝛿, e os ordena em ordem decrescente de acordo com seus

valores𝑆𝑈 .

Já na segunda etapa (entre as linhas 9 e 25), a lista 𝑆′

𝑙𝑖𝑠𝑡𝑎 é processada para remoção de

atributos redundantes. De acordo com a Heurística 1, um atributo𝑑𝑝 que já foi determinado

como relevante pode sempre ser utilizado para filtrar outros atributos que foram avaliados com

menor valor do que𝑑𝑝e possuem𝑑𝑝 como um par redundante. A iteração inicia do primeiro

elemento (Heurística 3) no atributo𝑆′

(36)

Algoritmo 1: Fast Correlation-Based Filter (FCBF) Entrada:

𝑆(𝑑1, 𝑑2, … , 𝑑𝑁, 𝑦) : um conjunto de treinamento

𝛿 : parâmetro pré-definido Saída:

𝑆𝑚𝑒𝑙ℎ𝑜𝑟: o subconjunto ótimo de atributos

1 início

2 para 𝑖 = 1 até 𝑁 faça

3 CalculaSU𝑖,𝑦 para𝑑𝑖 4 se SU𝑖,𝑦 ≥ 𝛿 então 5 Acrescenta𝑑𝑖 em𝑆′ 𝑙𝑖𝑠𝑡𝑎 6 fim 7 fim 8 Ordena𝑆′ 𝑙𝑖𝑠𝑡𝑎de forma descrescente 9 𝑑𝑝 = primeiroElemento(𝑆𝑙𝑖𝑠𝑡𝑎′ )

10 enquanto 𝑑𝑝 ≠ NULL faça

11 𝑑𝑞 = proximoElemento(𝑆𝑙𝑖𝑠𝑡𝑎′ , 𝑑𝑝)

12 se 𝑑𝑞 ≠ NULL então

13 enquanto 𝑑𝑞 ≠ NULL faça

14 𝑑𝑞′ = 𝑑𝑞 15 se SU𝑝,𝑞 ≥ SU𝑞,𝑦 então 16 remove𝑑𝑞 de𝑆′ 𝑙𝑖𝑠𝑡𝑎 17 𝑑𝑞 = proximoElemento(𝑆𝑙𝑖𝑠𝑡𝑎′ , 𝑑𝑞′) 18 fim 19 senão 20 𝑑𝑞 = proximoElemento(𝑆𝑙𝑖𝑠𝑡𝑎′ , 𝑑𝑞) 21 fim 22 fim 23 fim 24 𝑑𝑝 = proximoElemento(𝑆𝑙𝑖𝑠𝑡𝑎′ , 𝑑𝑝) 25 fim 26 𝑆𝑚𝑒𝑙ℎ𝑜𝑟 = 𝑆𝑙𝑖𝑠𝑡𝑎′ 27 fim

atributos restantes (para o primeiro à direita de𝐹𝑝 até o último na lista𝑆′

𝑙𝑖𝑠𝑡𝑎), se𝑑𝑝for um par

redundante para outro atributo𝑑𝑞, então𝑑𝑞será removido de𝑆′

𝑙𝑖𝑠𝑡𝑎 (Heurística 2).

Após uma rodada de atributos filtrados baseados em 𝑑𝑝, o algoritmo tomará o próximo

atributo restante à direita de𝑑𝑝 como nova referência (linha 24) para repetir o processo de

filtragem. O algoritmo encerra sua execução até não existirem atributos para serem removidos

de𝑆′

(37)

O FCBF necessita de uma tabela de contingências, assim como o GI, para calcular o valor

de SU para cada atributo. Para uma execução incremental, o algoritmo deve calcular o SU dos

atributos à medida em que as instâncias são recebidas.

3.4

Qui-quadrado

O método 𝜒2, também conhecido como teste de independência de 𝜒2, verifica se duas

variáveis são relacionadas em uma determinada população. Para o problema de classificação,

esse método verifica a existência de uma relação forte ou fraca entre um atributo e a classe da

instância. Esse método é difundido na seleção de atributos em dados estáticos justamente por

sua natureza comparativa. É proposto para ser utilizado em fluxos de dados pela capacidade

de trabalhar de modo on-line (KATAKIS; TSOUMAKAS; VLAHAVAS, 2005). Para que isso

ocorra, os mesmos procedimentos descritos no método GI devem ser utilizados.

Dada uma tabela de contingências com os valores observados𝑂𝑖e esperados𝐸𝑖, a fórmula

para o cálculo do valor de𝜒2de um atributo𝑑 é mostrada na Equação 3.5. Essa equação vale-se

de uma hipótese nula de que um atributo𝑑 e uma classe 𝑦 são independentes, indicado pela

similaridade de seus valores observados e esperados.

𝜒𝑑2= ∑(𝑂𝑖− 𝐸𝑖)

2

𝐸𝑖

(3.5)

A partir dessa equação, um alto valor de𝜒2indica que a hipótese de independência está

incorreta. Assim, o atributo𝑑 é relevante e pode ser útil no processo de classificação.

3.5

Extremal Feature Selection

O algoritmo EFS e seu classificador interno, MBW, supõe que cada instância 𝑥𝑡 é um vetor

de pesos positivos, i. e.,𝑥𝑗

𝑖 ≥ 0, ∀𝑡 e ∀𝑗. Para cada nova instância 𝑥𝑡, o modelo realizará uma

predição𝑦̂𝑡 ∈ {−1, 1} e comparará o resultado com a verdadeira classe 𝑦𝑡 ∈ {−1, 1}. A predição

será baseada na função de score 𝑓 , utilizando a instância 𝑥𝑡 e o vetor de pesos 𝑤𝑖. Caso a

predição esteja incorreta, o modelo será atualizado. Oscore 𝑓 é atribuído a partir da diferença

absoluta entre os pesos positivos e negativos de cada atributo.

O MBW é composto de alguns parâmetros, sendo eles um parâmetro de promoção𝛼 > 1,

(38)

Dentro desse cenário, seja⟨𝑥𝑡, 𝑤𝑖⟩ o produto interno dos vetores 𝑥𝑡e𝑤𝑖. Neste caso, o modelo

𝑤𝑡 é a combinação de duas partes: um modelo positivo𝑢𝑡 e um modelo negativo𝑣𝑡. A função

descore é dada por 𝑓 = ⟨𝑥𝑡, 𝑢𝑖⟩ − ⟨𝑥𝑡, 𝑣𝑖⟩ − 𝜃𝑡ℎ.

Em relação às suas variações, oPositive Winnow e o Balanced Winnow, o MBW possui duas

grandes modificações. A primeira é que a predição é considerada incorreta não só quando

a classe original𝑦𝑡 é diferente da classe prevista 𝑦̂𝑡, mas também quando a função de score

multiplicada por𝑦𝑡 é menor que uma margem pré-definida 𝑀, onde 𝑀 > 0. Sendo assim, a

condição de erro é dada por(𝑦𝑡 ⋅ (⟨𝑥𝑡, 𝑢𝑖⟩ − ⟨𝑥𝑡, 𝑣𝑖⟩ − 𝜃𝑡ℎ)) ≤ 𝑀.

Carvalho e Cohen (2006) afirmam que o algoritmo possui um melhor desempenho

quando seus dados são aumentados e normalizados, como uma etapa de pré-processamento,

antes da realização da classificação. Durante o aprendizado, o algoritmo recebe um novo

exemplo𝑥𝑡 com 𝑚 atributos, e inicialmente aumenta o exemplo com um atributo adicional

(𝑚 + 1)𝑡ℎ, cujo valor é permanentemente definido como 1. Esse atributo é geralmente

conhecido como o atributo “bias”. Depois da etapa de aumento, o algoritmo normaliza a

soma dos pesos da instância 𝑥𝑡 para 1, restringindo assim todos os pesos dos atributos para

0 ≤ 𝑥𝑖𝑗 ≤ 1. O Algoritmo 2 apresenta o pseudocódigo para a implementação do MBW.

Além disso, Carvalho e Cohen (2006) indicam que o desempenho deste algoritmo é

aumentado ao selecionar não só os 𝐼 atributos com o maior peso (e teoricamente mais

relevantes), mas também uma parcela dos atributos com os menores pesos. Os autores

indicam que a melhor seleção se dá ao selecionar 90% dos atributos mais relevantes e 10%

daqueles que se encontram na outra ponta, com os menores pesos. Por meio dessa medida, o

desempenho do algoritmo EFS é aumentado.

3.6

Outros algoritmos

Além dos algoritmos utilizados neste trabalho, existem outros que abordam o problema de

seleção de atributos on-line. O algoritmoOFS-Density utiliza igualdade de fuzzy para análise

de redundância de atributos (ZHOU et al., 2019). Já o algoritmoOnline Group Feature Selection

(OGFS) segmenta os atributos em dois grupos, interno e externo, utilizando de análise espectral

e da metodologia Lasso para selecionar um subgrupo ótimo de atributos (L. WANG; SHEN,

(39)

Algoritmo 2: Modified Balanced Winnow (MBW) 1 início 2 𝑖 = 0 3 contador𝑐𝑖 = 0 4 𝑢0= 0 5 𝑣0= 0 6 para 𝑡 = 1, 2, … , 𝑇 faça

7 Recebe uma nova instância𝑥𝑡, adiciona o atributo “bias”

8 Normaliza𝑥𝑡para 1

9 Calcula o𝑠𝑐𝑜𝑟𝑒 = ⟨𝑥𝑡, 𝑢𝑖⟩ − ⟨𝑥𝑡, 𝑢𝑖⟩ − 𝜃𝑡

10 Recebe a classe verdadeira𝑦𝑡

11 se predição estava incorreta, i. e., se (𝑠𝑐𝑜𝑟𝑒 ⋅ 𝑦𝑡) ≤ 𝑀 então

12 i. Atualiza os modelos. Para todos os atributos𝑗 s.t. 𝑥𝑡 > 0:

13 𝑢𝑗𝑖+1= { 𝑢𝑖𝑗⋅ 𝛼 ⋅ (1 + 𝑥𝑗𝑡), se 𝑦𝑡 > 0 𝑢𝑖𝑗⋅ 𝛽 ⋅ (1 − 𝑥𝑗𝑡), se 𝑦𝑡 < 0 14 𝑣𝑗𝑖+1= { 𝑣𝑖𝑗 ⋅ 𝛽 ⋅ (1 − 𝑥𝑗𝑡), se 𝑦𝑡 > 0 𝑣𝑖𝑗 ⋅ 𝛼 ⋅ (1 + 𝑥𝑗𝑡), se 𝑦𝑡 < 0 15 ii.𝑖 = 𝑖 + 1 16 fim 17 senão 18 𝑐𝑖 = 𝑐𝑖 + 1 19 fim 20 fim 21 fim

Os algoritmosOnline Streaming Feature Selection (OSFS) e Fast-Online Streaming Feature

Selection (FOSFS), propostos por Wu et al. (2013), recorrem à análise de redundância e relevância on-line para cada atributo. Por sua vez, o algoritmo K-OFSD vale-se da teoria dos

vizinhos mais próximos para selecionar os atributos mais relevantes (ZHOU et al., 2017).

Finalmente, os algoritmos OSFSMI e OSFSMI-k baseiam-se em informação mútua para

análise de relevância e redundância (RAHMANINIA; MORADI, 2018).

Contudo, esses algoritmos trabalham com o problema de fluxos de atributos, quando as

instâncias são fixas, mas os atributos são recebidos sequencialmente, aumentando o domínio

dos atributos ao longo do tempo. Desse modo, os atributos não são conhecidos previamente.

Além disso, esses trabalhos não abordam o fenômeno de mudança de conceito.

Além dos algoritmos que trabalham com fluxos de atributos, existem classificadores que

Referências

Documentos relacionados

 Numéricos das das Propriedades Propriedades do do Ar Ar Úmido, Úmido, Cartas Cartas Psicrométricas, Psicrométricas, Processos Processos Psicrométricos, Psicrométricos,

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Jorge, Madalena, Maria, Miranda e Manuel de Sousa, entrando com vários Criados que o seguem, alguns com brandões acesos. Já, sem mais detença! Não apaguem esses brandões;

MADALENA (Repetindo maquinalmente e devagar o que acabava de ler.) – “Naquele engano d’alma ledo e cego / Que a fortuna não deixa durar muito...” Com a paz e a alegria de

Resultados: Os parâmetros LMS permitiram que se fizesse uma análise bastante detalhada a respeito da distribuição da gordura subcutânea e permitiu a construção de

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

F IG U R A I - Amplitudes de variação, médias e intervalos de confiança dos valores das análises sanguíneas de machos e fêmeas de Brycon sp, por estádio de

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e