Minha IBM Efetue login Inscreva-se

Detecção de anomalias em aprendizado de máquina: encontrando valores discrepantes para otimização de funções de negócios

19 de dezembro de 2023

5 min. de leitura

À medida que as organizações coletam conjuntos de dados maiores com possíveis insights sobre a atividade comercial, detectar dados anômalos ou discrepâncias nesses conjuntos de dados é essencial para descobrir ineficiências, eventos raros, a causa raiz dos problemas ou oportunidades de melhorias operacionais. Mas o que é uma anomalia e por que é importante detectá-la?

Os tipos de anomalias variam de acordo com a empresa e a função de negócios. A detecção de anomalias significa simplesmente definir padrões e métricas "normais", com base em funções e objetivos empresariais, e identificar pontos de dados que estão fora do comportamento normal de uma operação. Por exemplo, tráfego acima da média em um site ou aplicação em um determinado período pode sinalizar uma ameaça à cibersegurança , caso em que você desejaria um sistema que pudesse acionar automaticamente alertas de detecção de fraude. Também pode ser apenas um sinal de que uma determinada iniciativa de marketing está funcionando. As anomalias não são inerentemente ruins, mas estar ciente delas e ter dados para contextualizá-las é essencial para entender e proteger o seu negócio.

O desafio para os departamentos de TI que trabalham com ciência de dados é entender os pontos de dados em expansão e em constante mudança. Neste blog, veremos como as técnicas de aprendizado de máquina, alimentadas por inteligência artificial, são aproveitadas para detectar comportamentos anômalos por meio de três métodos diferentes de detecção de anomalias: detecção supervisionada de anomalias, detecção de anomalias não supervisionada e detecção de anomalias semissupervisionada.

Aprendizado supervisionado

As técnicas de aprendizado supervisionado usam dados de entrada e saída do mundo real para detectar anomalias. Esses tipos de sistemas de detecção de anomalias exigem que um analista de dados rotule os pontos de dados como normais ou anormais para serem usados como dados de treinamento. Um modelo de aprendizado de máquina treinado com dados rotulados será capaz de detectar valores discrepantes com base nos exemplos fornecidos. Esse tipo de aprendizado de máquina é útil na detecção de valores discrepantes conhecidos, mas não é capaz de descobrir anomalias desconhecidas ou prever problemas futuros.

Algoritmos comuns de aprendizado de máquina para aprendizado supervisionado incluem:

  • Algoritmo K-vizinhos mais próximos (KNN): esse algoritmo é um classificador baseado em densidade ou uma ferramenta de regressão usada para detecção de anomalias. A modelagem de Regression é uma ferramenta estatística usada para encontrar a relação entre dados rotulados e dados variáveis. Ele funciona através da suposição de que pontos de dados semelhantes serão encontrados próximos uns dos outros. Se um ponto de dados parecer mais distante de uma seção densa de pontos, ele será considerado uma anomalia.
  • Fator de valor discrepante local (LOF): o fator de valor discrepante local é semelhante ao KNN, pois é um algoritmo baseado em densidade. A principal diferença é que, enquanto o KNN faz suposições com base em pontos de dados que estão mais próximos, o LOF usa os pontos mais distantes para tirar suas conclusões.

Aprendizado não supervisionado

Técnicas de aprendizado não supervisionado não requerem dados rotulados e podem lidar com conjuntos de dados mais complexos. O aprendizado não supervisionado é alimentado por aprendizado profundo e neural networks ou codificadores automáticos que imitam a maneira como os neurônios biológicos sinalizam uns para os outros. Essas ferramentas avançadas podem encontrar padrões nos dados de input e fazer suposições sobre quais dados são percebidos como normais.

Essas técnicas podem ajudar muito a descobrir anomalias desconhecidas e a reduzir o trabalho de examinar manualmente grandes conjuntos de dados. No entanto, cientistas de dados devem monitorar os resultados coletados por meio de aprendizado não supervisionado. Como essas técnicas estão fazendo suposições sobre os dados que estão sendo inseridos, é possível que elas rotulem incorretamente as anomalias.

Os algoritmos de aprendizado de máquina para dados não estruturados incluem:

K-means: Este algoritmo é uma técnica de visualização de dados que processa pontos de dados por meio de uma equação matemática com a intenção de agrupar pontos de dados semelhantes. "Médias", ou dados médios, referem-se aos pontos no centro do cluster aos quais todos os outros dados estão relacionados. Por meio da análise de dados, esses agrupamentos podem ser usados para encontrar padrões e fazer inferências sobre dados considerados fora do comum. 

Floresta de isolamento: este tipo de algoritmo de detecção de anomalias usa dados não supervisionados. Ao contrário das técnicas de detecção de anomalias supervisionadas, que funcionam a partir de pontos de dados normais rotulados, essa técnica tenta isolar anomalias como a primeira etapa. Semelhante a uma “floresta aleatória”, ele cria “decision trees”, que mapeiam os pontos de dados e selecionam aleatoriamente uma área para analisar. Esse processo é repetido, e cada ponto recebe uma pontuação de anomalia entre 0 e 1, com base em sua localização em relação aos outros pontos; valores abaixo de 0,5 são geralmente considerados normais, enquanto valores que excedem esse limite têm maior probabilidade de serem anômalos. Modelos de floresta de isolamento podem ser encontrados na biblioteca de aprendizado de máquina gratuita para Python, scikit-learn (link externo ao site ibm.com).

Máquina de vetores de suporte de uma classe (SVM): essa técnica de detecção de anomalias usa dados de treinamento para estabelecer limites em torno do que é considerado normal. Os pontos agrupados dentro dos limites definidos são considerados normais e os que estão fora são rotulados como anomalias.

Aprendizado semissupervisionado

Métodos de detecção de anomalias semissupervisionadas combinam os benefícios dos dois métodos anteriores. Os engenheiros podem aplicar métodos de aprendizado não supervisionado para automatizar o aprendizado de recursos e trabalhar com dados não estruturados. No entanto, ao combiná-lo com a supervisão humana, eles têm a oportunidade de monitorar e controlar que tipo de padrões o modelo aprende. Isso geralmente ajuda a tornar as previsões do modelo mais precisas.

Regression linear: essa ferramenta preditiva de aprendizado de máquina usa variáveis dependentes e independentes. A variável independente é utilizada como base para determinar o valor da variável dependente por meio de uma série de equações estatísticas. Essas equações usam dados rotulados e não rotulados para prever resultados futuros quando apenas algumas das informações são conhecidas.

Casos de uso de detecção de anomalias

A detecção de anomalias é uma ferramenta importante para manter as funções comerciais em diversos setores. O uso de algoritmos de aprendizado supervisionado, não supervisionado e semissupervisionado dependerá do tipo de dados que estão sendo coletados e do desafio operacional a ser resolvido. Exemplos de casos de uso de detecção de anomalias incluem:

Casos de uso de aprendizado supervisionado:

Varejo

 

O uso de dados rotulados dos totais de vendas do ano anterior pode ajudar a prever as metas de vendas futuras. Ele também pode ajudar a definir referências para funcionários de vendas específicos com base em seu desempenho anterior e nas necessidades gerais da empresa. Como todos os dados de vendas são conhecidos, os padrões podem ser analisados para obter insights sobre produtos, marketing e sazonalidade.

Previsão meteorológica

 

Ao usar dados históricos, algoritmos de aprendizado supervisionado podem auxiliar na previsão de padrões climáticos. Analisar dados recentes relacionados à pressão barométrica, temperatura e velocidade do vento permite que os meteorologistas criem previsões mais precisas que levam em conta as mudanças nas condições.

Casos de uso do aprendizado não supervisionado:

Sistema de detecção de intrusão

 

Esses tipos de sistemas vêm na forma de software ou hardware, que monitoram o tráfego de rede em busca de sinais de violações de segurança ou atividades maliciosas. Algoritmos de aprendizado de máquina podem ser treinados para detectar possíveis ataques a uma rede em tempo real, protegendo as informações do usuário e as funções do sistema.

Esses algoritmos podem criar uma visualização do desempenho normal com base em dados de séries temporais, que analisam pontos de dados em intervalos definidos por um período prolongado de tempo. Picos no tráfego de rede ou padrões inesperados podem ser sinalizados e examinados como possíveis violações de segurança.

Manufatura (IIoT - Industrial IoT)

 

Garantir que o maquinário esteja funcionando corretamente é fundamental para a fabricação de produtos, otimizando a garantia de qualidade e mantendo as cadeias de suprimentos. Os algoritmos de aprendizado não supervisionado podem ser usados para a manutenção preditiva, obtendo dados não rotulados de sensores conectados ao equipamento e fazendo previsões sobre possíveis falhas ou mau funcionamento. Isso permite que as empresas façam reparos antes que ocorra uma pane crítica, reduzindo o tempo de inatividade da máquina.

Exemplos de uso do aprendizado semissupervisionado:

Médico

 

Usando algoritmos de aprendizado de máquina, profissionais médicos podem rotular imagens que contêm doenças ou distúrbios conhecidos. No entanto, como as imagens variam de pessoa para pessoa, é impossível rotular todas as possíveis causas de preocupação. Uma vez treinados, esses algoritmos podem processar as informações do paciente e fazer inferências em imagens não rotuladas e sinalizar possíveis motivos de preocupação.

Detecção de fraudes

 

Os algoritmos preditivos podem usar aprendizado semissupervisionado que requer dados rotulados e não rotulados para detectar fraudes. Como a atividade do cartão de crédito de um usuário é rotulada, ela pode ser usada para detectar padrões de gastos incomuns.

No entanto, as soluções de detecção de fraude não dependem apenas de transações previamente rotuladas como fraude; elas também podem fazer suposições com base no comportamento do usuário, incluindo a localização atual, o dispositivo de login e outros fatores que exigem dados não rotulados.

Observabilidade na detecção de anomalias

A detecção de anomalias é alimentada por soluções e ferramentas que fornecem maior observabilidade aos dados de desempenho. Essas ferramentas possibilitam identificar anomalias rapidamente, ajudando a prevenir e corrigir problemas. O IBM® Instana Observability aproveita a inteligência artificial e o aprendizado de máquina para oferecer a todos os membros da equipe uma imagem detalhada e contextualizada dos dados de desempenho, ajudando a prever com precisão e a solucionar erros de forma proativa.

O IBM watsonx.ai oferece uma poderosa ferramenta de IA generativa que pode analisar grandes conjuntos de dados para extrair insights significativos. Por meio de uma análise rápida e abrangente, o IBM watsonx.ai é capaz de identificar padrões e tendências que podem ser usados para detectar anomalias atuais e fazer previsões sobre valores discrepantes futuros. O watsonx.ai pode ser usado em vários setores para uma variedade de necessidades de negócios.

Autor

Camilo Quiroz-Vázquez

IBM Staff Writer