2 Setembro 2025
A Deteção de Anomalias consiste na identificação de padrões ou comportamentos invulgares nos dados que se desviam do esperado. Estas variações podem sinalizar eventos críticos, como fraudes, falhas de sistema ou violações de segurança. A deteção de anomalias é utilizada em diversos domínios, como finanças, cibersegurança, indústria ou saúde, com o objetivo de identificar e atuar de forma proativa perante estas irregularidades.
Com a crescente digitalização dos sistemas nos últimos anos, são gerados e armazenados volumes de dados muito grandes. Estes incluem séries temporais provenientes de sensores, registos textuais de aplicações e sistemas, e inputs de elevada dimensionalidade como imagens ou vídeos. A disponibilidade crescente destes dados cria oportunidades significativas para a deteção de anomalias. No entanto, os dados assinalados como anomalias continuam a ser escassos, dado que são naturalmente raros, dependentes do domínio e exigem tempo para identificar. Assim, a eficácia de abordagens tradicionais de supervised learning é limitada, reforçando a necessidade de outras soluções. Além disso, à medida que estes sistemas se tornam mais automatizados e integrados em pipelines que suportam a tomada de decisões, crescem também as preocupações com temas como a parcialidade, transparência e responsabilidade.
A construção de sistemas eficazes de deteção de anomalias apresenta diversos desafios. Como mencionado, as anomalias são tipicamente raras, mal definidas e podem evoluir ao longo do tempo, resultando numa falta de exemplos assinalados para o treino de modelos. Em muitos casos, os registos assinalados como anomalias representam menos de 1% dos dados, criando um forte desequilíbrio de classes. Como consequência, métodos de supervised learning tradicionais têm dificuldade em generalizar, com maior risco de overfitting face ao número limitado de exemplos de anomalias.
Historicamente, a deteção de anomalias começou com sistemas baseados em regras e thresholds estatísticos. Hoje, as abordagens de Machine Learning são as mais utilizadas.
Métodos de supervised learning, como árvores de decisão ou redes neuronais, requerem dados classificados com registos anómalos ou normais. Os dados classificados são usados para treinar o modelo, permitindo-lhe aprender os padrões subjacentes, que depois são aplicados na previsão de novos dados, como ilustrado no diagrama abaixo.
Métodos de unsupervised learning, por outro lado, concentram-se em aprender os padrões de comportamento normal e em sinalizar como potenciais anomalias quaisquer observações que se desviem significativamente desses padrões aprendidos, conforme ilustrado no diagrama abaixo. Ao contrário das abordagens de supervised learning, não necessitam de dados classificados, uma vez que o modelo aprende padrões a partir dos dados de treino e aplica-os para detetar anomalias em dados novos. Técnicas como Isolation Forest, One-Class SVM e algoritmos de clustering são frequentemente usadas como base. Contudo, estes métodos enfrentam dificuldades em distinguir comportamentos verdadeiramente anómalos, especialmente em conjuntos de dados complexos ou com ruído, onde a elevada variabilidade e aleatoriedade tornam difícil estabelecer uma definição de um comportamento normal. A tarefa torna-se ainda mais complexa quando os tipos e padrões de anomalias são desconhecidos à partida, obrigando o sistema a identificar anomalias sem exemplos prévios.
Métodos de semi-supervised learning integram aspetos das técnicas supervised e unsupervised, aproveitando uma pequena quantidade de dados com anomalias assinaladas juntamente com um volume maior de dados não classificados. Existem várias técnicas de semi-supervised learning disponíveis, sendo apenas duas descritas em detalhe abaixo.
1.Self-Training
O self-training é uma das técnicas mais simples de semi-supervised learning. Inicia-se com um pequeno conjunto de dados classificados utilizado para treinar um modelo inicial. O modelo gera depois previsões para os dados não rotulados e, caso esteja suficientemente confiante em algumas dessas previsões, estas são adicionadas ao conjunto de treino rotulado. O modelo é novamente treinado com este conjunto de treino alargado, repetindo-se o processo de forma iterativa, por um número pré-definido de N ciclos, até não existirem mais previsões de elevada confiança, ou quando todos os registos tenham sido rotulados.
Esta abordagem pode ser eficaz quando as previsões iniciais do modelo são precisas, mas, caso o modelo esteja excessivamente confiante em previsões incorretas, esses erros podem propagar-se e degradar o desempenho do modelo ao longo do tempo. O diagrama abaixo ilustra um exemplo típico do processo de self-training. A primeira parte mostra o treino inicial com um pequeno conjunto de dados classificados, enquanto a segunda parte representa a adição de previsões de elevada confiança, resultando num conjunto de treino mais amplo para a próxima iteração.
2.Co-Training
O co-training é uma técnica de semi-supervised learning que utiliza múltiplas perspetivas dos mesmos dados. São usados conjuntos de dados de atributos complementares, cada um contendo informação distinta e independente relevante para a variável a prever.
O método começa com um pequeno conjunto de dados rotulados, como no self-training, e um conjunto maior de dados não rotulados. Os dados são então divididos em dois grupos separados com base nas variáveis, cada um contendo informação diferente e complementar. De seguida, treinam-se dois modelos distintos usando estes conjuntos de atributos, e em cada iteração ambos os modelos fazem previsões para os dados não rotulados. As previsões de elevada confiança de um modelo são então adicionadas ao conjunto já classificado do outro, permitindo uma estratégia de rotulagem cruzada que faz com que ambos os modelos melhorem iterativamente, usando as previsões confiantes um do outro. Este processo continua durante N iterações, até não serem possíveis mais previsões de elevada confiança ou quando todos os dados estejam rotulados, conforme ilustrado no diagrama abaixo. O co-training é particularmente eficaz quando cada conjunto de atributos fornece informação suficiente e independente para a classificação, como por exemplo o texto de páginas web e os seus hiperlinks.
Para apoiar estes métodos, outras técnicas são frequentemente implementadas em cenários onde as anomalias são escassas e não rotuladas:
- Técnicas de resampling, como o SMOTE (Synthetic Minority Over-sampling Technique), ajudam a lidar com o desequilíbrio entre classes nos métodos de supervised learning, por exemplo, quando existem anomalias assinaladas, mas sub-representadas.
- Técnicas de Synthetic anomaly generation, como Generative Adversarial Networks (GANs) ou métodos simulation-based, podem ser utilizadas para criar anomalias realistas. Estas são úteis para aumentar os dados de treino ou testar modelos em cenários de eventos raros, permitindo treino ou avaliação em situações de baixa disponibilidade de dados.
Embora estas técnicas aumentem a robustez dos modelos de deteção de anomalias, é importante reconhecer que tais sistemas são frequentemente aplicados em domínios sensíveis, como finanças, saúde e segurança. Isto levanta várias preocupações, como a interpretabilidade, que desempenha um papel crucial em machine learning. Embora modelos complexos possam oferecer alto desempenho, a sua natureza de “caixa negra” pode dificultar a explicação dos resultados. Para mitigar este problema, ferramentas como SHAP (SHapley Additive exPlanations) e LIME (Local Interpretable Model-agnostic Explanations) são muito utilizadas para demonstrar como os modelos tomam as suas decisões. Outras preocupações também devem ser consideradas, como o enviesamento nos dados de treino, a falta de transparência e as questões de privacidade, que podem resultar em resultados injustos ou prejudiciais. Garantir uma utilização responsável requer um desenho cuidado dos modelos, validação rigorosa e monitorização contínua.
Olhando para o futuro, a deteção de Anomalias está a ganhar relevância crescente, com cada vez mais foco na deteção em tempo real, na interpretabilidade e na adaptação entre domínios. Em muitos contextos, como segurança ou manutenção preditiva, detetar anomalias no momento em que ocorrem é crítico. Como resultado, estão a surgir novas soluções com forte ênfase em capacidades em tempo real. Paralelamente, a interpretabilidade está a ganhar ainda mais importância, sobretudo em áreas sensíveis ou reguladas, onde é essencial compreender os fatores ou variáveis que mais contribuem para as anomalias. Este conhecimento ajuda os decisores não só a confiar nos resultados da deteção, mas também a agir de forma direcionada para resolver os problemas de base. Em simultâneo, há um interesse crescente em transfer learning, uma técnica onde um modelo treinado numa tarefa ou conjunto de dados é adaptado para uma tarefa diferente, mas relacionada. No contexto da deteção de anomalias, isto permite que um modelo aprenda padrões num domínio com muitos dados classificados e aplique esse conhecimento a um novo domínio onde as anomalias classificadas são escassas. Ao transferir características previamente aprendidas, o modelo pode melhorar o desempenho na deteção em novos ambientes, reduzindo a necessidade de rotulagem manual extensiva.
No futuro, o foco estará em construir sistemas mais rápidos, transparentes e adaptativos, capazes de lidar com dados multivariados, reagir em tempo real e justificar as suas decisões.
Bibliografia
IBM. (2023). semi-supervised-learning. Retrieved from www.ibm.com: https://www.ibm.com/think/topics/semi-supervised-learning
Matthew Lau, T.-Y. Z. (2025). Bridging Unsupervised and Semi-Supervised Anomaly Detection: A Theoretically-Grounded and Practical Framework with Synthetic Anomalies. arXiv. Retrieved from https://arxiv.org/abs/2506.13955
Milvus. (2025). what-is-the-future-of-anomaly-detection. Retrieved from milvus.io: https://milvus.io/ai-quick-reference/what-is-the-future-of-anomaly-detection