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
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
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
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.
conquistado alguma vitória para a humanidade. (Horace Mann)
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.
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.
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.
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
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
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
𝜒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
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 . . . 212.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
Referências bibliográficas 75
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
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
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
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
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
• 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
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,
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 à
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
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,
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 𝐶𝑡
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
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
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
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
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
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
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
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.
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
𝑆𝑈 (𝑑, 𝑦) = 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𝑆′
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𝑆′
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,
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,
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