Heimdall: an architecture for online machine learning through imbalanced data - Vargas, Vitor Werner de (2023)
Algoritmos de aprendizado de máquina têm sido crescentemente utilizado em áreas de aplicação que possuem dados disponíveis para automação de processos. No entanto, no caso de aplicações com dados desbalanceados, o processo de treinamento é desafiador, visto que algoritmos de aprendizado de máquina são desenvolvidos para aprender, intrinsicamente, de distribuições balanceadas. Esta pesquisa propõe Heimdall, uma arquitetura com diversos recursos para aprendizagem de máquina ativa através de dados desbalanceados. Projetado como um serviço para atendimento de requisições de previsões e análises, Heimdall serve aplicações existentes de sistemas externos, estendendo recursos de inteligência artificial e automatização de processos a aplicações tradicionais supervisionadas por especialistas. A arquitetura soluciona o desbalanceamento através de uma série de boas práticas compiladas em mapeamentos de trabalhos relacionados – como otimização do limiar de probabilidade, amostragem de alto desempenho e aprendizado em conjunto. Adicionalmente, Heimdall propõe e avalia a eficiência de funcionalidades inovadoras. Primeiramente, uma nova métrica de performance corrige o equilíbrio entre precision-recall de acordo com as necessidades da aplicação, aprimorando a otimização do limiar de probabilidade. Segundamente, a arquitetura automatiza processos de gerenciamento de dados e aprendizado de máquina, de forma independente, através de dois agentes reativos baseados em regras, os quais monitoram constantemente as mudanças de dados e degradação de performance do modelo para acionar processos. Esses agentes reativos compõem uma estratégia para eficiência adaptativa, habilitando uma performance melhor e mais estável ao sacrificar eficiência em condições iniciais de implantação, e mantendo excelentes performance e eficiência em condições normais da aplicação. Para avaliar a arquitetura de forma adequada, o presente estudo implementou um protótipo para uma aplicação conhecida contendo dados severamente desbalanceados – detecção de fraudes em cartões de crédito. Isolando a melhoria de cada funcionalidade proposta, a análise avaliou a performance no decorrer do tempo e performance global versus trabalhos relacionados através de cinco cenários. Especificamente, os resultados indicam que o protótipo alcançou performance excelente mesmo com poucas anomalias e melhorou a eficiência sistêmica no decorrer do tempo. Por fim, a performance global obteve resultados similares aos melhores resultados em trabalhos relacionados.