Título: | Meta-aprendizado para seleção de algoritmos em fluxos de dados |
Autor(es): | Silva, Leonardo Maffei da |
Orientador(es): | Garcia, Luís Paulo Faina |
Assunto: | Aprendizado de máquina Meta-aprendizado Fluxo de dados |
Data de apresentação: | 11-Mai-2022 |
Data de publicação: | 29-Jun-2022 |
Referência: | SILVA, Leonardo Maffei da. Meta-aprendizado para seleção de algoritmos em fluxos de dados. 2022. xiv, 60 f., il. Trabalho de conclusão de curso (Bacharelado em Ciência da Computação) — Universidade de Brasília, Brasília, 2022. |
Resumo: | Dentre os diversos paradigmas existentes para extrair informação de fluxos de dados (Data Streams, DS), Aprendizado de Máquina (AM) destaca-se como uma alternativa muito apreciada por conta de sua aptidão a realizar predições e revelar padrões. Entretanto, há muitos algoritmos para essas tarefas, e não existe um único que obtém desempenho superior em um cenário qualquer. Nesse contexto, uma possibilidade para resolver a tarefa de decidir qual algoritmo utilizar é modelá-la como um problema de AM. Pode-se
caracterizar trechos de um DS e associá-los ao desempenho de modelos de AM. Por envolver informações extraídas a partir da aplicação de sistemas de AM, dizemos tratar-se de Meta-Aprendizado (Meta-Learning, MtL). Em cenários onde os dados se comportam de maneira estacionária, a abordagem acima precisa ser aplicada uma vez. Porém, DS não costumam ser estacionários. Desse modo, um modelo recomendado antes pode não ser mais apropriado aos novos dados. Não apenas isso, mas é possível que outro algoritmo possua viés mais adequado a eles. Assim, é desejável um sistema que continuamente recomende o algoritmo mais promissor. BLAST e Meta-Stream, são frameworks que utilizam Meta-Aprendizado para resolver desse problema, porém de maneiras bem diferentes. Ambos foram criados para aplicação em DS e possuem bons resultados relatados por seus autores. Entretanto, não há trabalhos comparando-os. Neste trabalho, realizamos essa comparação utilizando seis DS com mudança de conceito, empregando-os como seletores entre dois modelos, cada qual induzido por um algoritmo diferente. Os resultados indicam superioridade do BLAST quanto aos ganhos conseguidos, mas capacidade inferior de detectar os casos em que o algoritmo correto não obteve os melhores resultados num passado recente. Os códigos utilizados para implementação dos framerowks foram organizados e disponibilizados em uma biblioteca Python. Portanto, este trabalho remove essa ausência
de comparação e propõe um biblioteca de código aberto que implementa ambos. |
Abstract: | There are several approaches for knowledge extraction from data streams (DS). Machine Learning (ML) stands out due to its native capability to make predictions and reveal patterns. However, there are plenty of algorithms for those tasks, and there is no single one that outperforms all the other ones at an arbitrary scenario. In these conditions, it is possible to cast the task of deciding which algorithm to a ML problem. One can characterize streams slices and map these extracted features to the performances of ML models. Since it takes into account information extracted from ML systems, we say this is a Meta-Learning (MtL). Stationary scenarios require just one application of the abstract description above. However, DS usually are dynamic, originated from non-stationary phenomena. Therefore, a recommended model can stop performing well. Besides, it is possible another algorithm to have a more appropriate bias to new current data. Thus, a system that continuously recommends the most promising algorithm is desirable. BLAST and MetaStream are frameworks that exploit MtL for solving this problem, but on quite different ways. Both were developed to be applied on DS scenarios and theirs authors report good results. Meanwhile, the literature lacks empirical comparisons of them. This
work provides an empirical evaluation on both frameworks, using six databases having concept drift. The results points to a clear advantage on BLAST over MetaStream regard ing final performance gain, but also to a weaker capacity of recommending an algorithm that does not performed well on recent data. Additionally, the frameworks implementa tion code is available as a Python library. Therefore, this work fills the gap on comparison between these frameworks and proposes an open source library implementing both. |
Informações adicionais: | Trabalho de conclusão de curso (graduação) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2022. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Ciência da Computação
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.