Detecção de Anomalias : Isolation Forest, One-Class SVM, DBSCAN, Autoencoders, LSTM

1.2 – Nao Supervisionado
1.2.4 – Deteccao de Anomalias
1.2.4.1 – Isolation Forest, One-Class SVM, DBSCAN, Autoencoders, LSTM
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é detecção de anomalias

Detecção de anomalias é uma técnica não supervisionada. Primeiramente, ela identifica padrões raros ou diferentes nos dados. Por exemplo, transações fraudulentas em cartões de crédito. Geralmente, essas anomalias são muito diferentes da maioria. Inicialmente, o modelo aprende o comportamento normal. Em seguida, ele sinaliza pontos que fogem desse padrão. Diferentemente da classificação, não há exemplos de anomalias. Além disso, os dados normais são abundantes e as anomalias são raras. Cinco modelos principais são usados para essa tarefa. São eles: Isolation Forest, One-Class SVM, DBSCAN, Autoencoders e LSTM. Cada um tem uma arquitetura e vantagens específicas. Por essa razão, é fundamental conhecê-los bem.

Esses modelos podem ser aplicados em diversas áreas. Por exemplo, detecção de falhas em máquinas industriais. Outro exemplo é monitoramento de redes de computadores. Além disso, eles são usados na saúde para diagnósticos raros. Contudo, a escolha do modelo depende do tipo de dado. Dados tabulares funcionam bem com Isolation Forest. Por outro lado, dados sequenciais (séries temporais) usam LSTM. Da mesma forma, imagens frequentemente utilizam Autoencoders. Por conseguinte, é importante conhecer cada abordagem. Assim, este guia explora os cinco modelos principais. Portanto, continue lendo para entender as diferenças.

Arquitetura dos modelos

O Isolation Forest isola anomalias por meio de divisões aleatórias. Primeiramente, ele constrói árvores de decisão onde anomalias são isoladas rapidamente. Quanto mais curto o caminho na árvore, mais anômala é a amostra. Essa arquitetura é eficiente e escalável para grandes dados. O One-Class SVM aprende uma fronteira ao redor dos dados normais. Em seguida, ele mapeia os dados para um espaço de características. Pontos fora dessa fronteira são considerados anomalias. O kernel RBF é frequentemente usado nesse modelo. A fórmula do One-Class SVM minimiza: \(\min_{w,\xi,\rho} \frac{1}{2}||w||^2 + \frac{1}{\nu N}\sum \xi_i – \rho\). O DBSCAN agrupa pontos densos e marca isolados como anomalias. Além disso, ele não precisa do número de clusters antecipadamente. Pontos em regiões de baixa densidade são anomalias. Autoencoders usam redes neurais para reconstruir dados. Anomalias têm erro de reconstrução alto porque são raras. O codificador comprime e o decodificador reconstrói a entrada. LSTM é ideal para séries temporais e sequências. Primeiramente, ele aprende padrões temporais normais ao longo do tempo. Desvios desses padrões indicam anomalias na sequência. Portanto, cada modelo tem seu domínio de aplicação.

Hiperparâmetros e fórmulas matemáticas

Cada modelo tem hiperparâmetros específicos importantes. No Isolation Forest, o número de árvores é o principal. Além disso, a contaminação esperada também deve ser informada. Para One-Class SVM, o parâmetro nu é crucial. Ele define o limite superior da fração de anomalias. O kernel e seu coeficiente gamma afetam a suavidade. No DBSCAN, eps é o raio da vizinhança. Da mesma forma, min_samples é o número mínimo de pontos para formar cluster. Autoencoders têm taxa de aprendizado e número de camadas. A perda de reconstrução é calculada como: \(L = \frac{1}{N}\sum_{i=1}^{N} ||x_i – \hat{x}_i||^2\). LSTM possui número de unidades, camadas e dropout. O tamanho da janela temporal é outro hiperparâmetro. Um limiar de anomalia é definido após o treinamento. Geralmente, esse limiar é frequentemente um percentil do erro. A escolha dos hiperparâmetros é feita por validação. Dados rotulados (quando disponíveis) ajudam na calibração. Por fim, todos esses parâmetros precisam de ajuste cuidadoso.

Enunciado do exemplo clássico (dados sintéticos)

Você recebeu dados sintéticos com 95% de pontos normais. Primeiramente, os 5% restantes são anomalias inseridas manualmente. Seu objetivo é detectar essas anomalias usando três modelos. Use Isolation Forest, One-Class SVM e DBSCAN. Em seguida, compare os resultados com os rótulos verdadeiros. Calcule a precisão, recall e F1-score de cada modelo. Além disso, exiba um gráfico de dispersão mostrando os pontos. Pinte os pontos normais e as anomalias detectadas. O código abaixo resolve este enunciado completamente. Ele roda no Google Colab sem necessidade de ajustes. Portanto, boa prática! A detecção de anomalias é muito útil.

Esse código compara três modelos de detecção de anomalias. Primeiramente, os dados sintéticos têm 5% de anomalias espalhadas. O Isolation Forest apresenta bom desempenho geral. O One-Class SVM também detecta bem as anomalias. Além disso, o DBSCAN marca pontos isolados como anomalias. O gráfico de dispersão mostra a distribuição dos pontos. Em seguida, o gráfico de barras compara os F1-scores obtidos. Para séries temporais, use LSTM ou Autoencoders. Contudo, Autoencoders exigem mais dados para treinamento. Portanto, a detecção de anomalias é essencial em segurança e finanças. Parabéns por identificar padrões raros nos dados!

`

Deixe um comentário