Agrupamento escalável de fluxos contínuos de dados com estimativa do número de grupos

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: Candido, Paulo Gustavo Lopes
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Viçosa
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.locus.ufv.br/handle/123456789/25440
Resumo: Avanços da tecnologia têm mudado a forma como dados são coletados, armaze- nados e analisados. Novas abordagens têm sido utilizadas para agrupamento não supervisionado de dados, tais como agrupamento de dados gerados em tempo real (fluxos contínuos de dados), e agrupamento escalável de dados. Ambas as abor- dagens descartam o armazenamento do conjunto completo de dados em memória principal devido a restrições físicas, utilizando técnicas como leitura linear e com- putação distribuída, respectivamente, para lidar com grande volume de dados. O agrupamento de fluxos contínuos de dados precisa lidar com características especí- ficas desse formato: são virtualmente e potencialmente ilimitados e possuem uma distribuição não-estacionária. Apesar de pouco exploradas, técnicas para estimação dinâmica do número de grupos mostraram ser eficazes na manutenção dos mode- los de agrupamento, uma vez que grupos podem surgir e desaparecer ao longo do tempo. Considerando ainda um cenário de aumento exponencial na quantidade de dados gerados em tempo real, surge a necessidade de algoritmos escaláveis (capazes de distribuir o processamento) para agrupamento de fluxos de dados, capazes de estimar o número de grupos, a fim de manter um alto nível de qualidade. Neste trabalho são apresentados cinco algoritmos com essa finalidade, dos quais quatro são baseados na computação evolutiva. O modelo funcional MapReduce é utilizado para prover escalabilidade por meio de um sistema distribuído, garantindo confiabilidade, resiliência e tolerância a falhas. Os algoritmos foram experimentados, analisados e comparados estatisticamente a fim de verificar sua qualidade e desempenho. Os resultados mostram que os algoritmos propostos são capazes de obter modelos de alta qualidade para fluxos de dados de alta velocidade que precisem ser escalados, mesmo com variações de distribuição e número de grupos.