Detecção de Anomalias: ISOLATION FOREST, ONE-CLASS SVM, DBSCAN, AUTOENCONDERS, LSTM

poda
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 é uma anomalia? Imagine que você tem mil transações bancárias. De repente, uma compra de R$50.000 aparece em outro país. Isso é uma anomalia! O aprendizado não supervisionado encontra esses eventos raros sem precisar de exemplos anteriores. Os padrões incomuns são identificados apenas pelo comportamento dos dados. Vamos explorar cinco modelos poderosos para essa tarefa.

O que é detecção de anomalias no contexto não supervisionado?

Nesse cenário, o algoritmo nunca viu “anomalias” antes durante o treinamento. Ele apenas recebe um grande volume de dados normais. O objetivo é encontrar pontos que fogem da maioria. Frequentemente, essas observações são chamadas de outliers. Muitas aplicações usam essa técnica: segurança cibernética, detecção de fraudes e manutenção preditiva. Porém, o desafio é definir o que é realmente anormal. Os dados normais podem conter ruídos acidentais. Ainda assim, modelos robustos conseguem separar o joio do trigo. Isso é feito sem nenhum rótulo de “normal” ou “anomalia”. É uma forma poderosa de descobrir problemas escondidos.

Por que usar aprendizado não supervisionado para detectar anomalias?

Os dados rotulados são extremamente raros em problemas reais. Coletar exemplos de fraudes é caro e demorado. Por isso, métodos não supervisionados são tão valiosos. Eles conseguem operar apenas com dados normais. Além disso, novas anomalias imprevistas também são descobertas. A voz passiva é frequentemente usada nesse contexto: “os dados são analisados sem intervenção humana”. Os modelos aprendem a densidade ou o comportamento esperado. Pontos que violam essa expectativa são sinalizados. Consequentemente, as empresas reduzem perdas financeiras. Esse tipo de detecção salva vidas em diagnósticos médicos. Portanto, dominar esses algoritmos é um grande diferencial.

Modelos essenciais: isolation forest, one‑class svm, dbscan, autoencoders e lstm

Isolation Forest (iForest)

Características: Esse modelo isola anomalias em vez de descrever dados normais. Ele constrói árvores de decisão aleatórias. As anomalias são isoladas mais rapidamente (caminhos mais curtos). É rápido e escala bem para grandes volumes. Muito eficaz em dados tabulares.

Hiperparâmetros principais: n_estimators (número de árvores, padrão 100), max_samples (amostras por árvore) e contamination (proporção esperada de anomalias).

Matemática (Isolation Forest):

\( s(x,n) = 2^{-\frac{E(h(x))}{c(n)}} \)
\( c(n) = 2H(n-1) – \frac{2(n-1)}{n} \)

O score \( s \) próximo de 1 indica anomalia. \( E(h(x)) \) é o comprimento médio do caminho. Quanto menor o caminho, mais anômalo é o ponto. Essa abordagem é extremamente intuitiva e poderosa.

One‑Class Support Vector Machine

Características: O One‑Class SVM aprende uma fronteira que envolve os dados normais. Ele encontra a região onde a maioria dos pontos reside. Pontos fora dessa região são anomalias. Funciona bem para dados de média dimensionalidade. É inspirado no conceito de separação máxima.

Hiperparâmetros: nu (limite superior de anomalias, entre 0 e 1) e kernel (rbf, linear, poly). O parâmetro gamma controla a influência de cada ponto.

Matemática (One‑Class SVM):

\( \min_{w,\xi,\rho} \frac{1}{2}\|w\|^2 + \frac{1}{\nu n}\sum_i \xi_i – \rho \)
\( \text{sujeito a: } w \cdot \phi(x_i) \geq \rho – \xi_i, \quad \xi_i \geq 0 \)

O algoritmo maximiza a distância da origem até a fronteira. Os vetores de suporte definem o limite da região normal. A margem é ajustada pelo hiperparâmetro nu. Essa formulação foi projetada especificamente para detecção de novidades.

DBSCAN (Density‑Based Clustering)

Características: DBSCAN agrupa pontos densos e rotula pontos isolados como ruído. Ele não exige o número de clusters. Consegue encontrar formas arbitrárias. Ótimo para dados com regiões de densidade variável. As anomalias são os pontos que não pertencem a nenhum grupo.

Hiperparâmetros essenciais: eps (raio da vizinhança) e min_samples (número mínimo de pontos para formar um cluster). Valores típicos: eps entre 0.1 e 1.0, min_samples entre 5 e 20.

Matemática (DBSCAN):

\( N_{\text{eps}}(p) = \{ q \in D \mid dist(p,q) \leq \text{eps} \} \)
\( \text{p é núcleo se } |N_{\text{eps}}(p)| \geq \text{min\_samples} \)

Pontos que não são núcleo nem alcançáveis por densidade são anomalias. Esses pontos são classificados como ruído. A vantagem é não assumir nenhuma distribuição estatística. É um método totalmente baseado na densidade local.

Autoencoders (Redes Neurais)

Características: Um autoencoder aprende a reconstruir dados normais. Anomalias geram alto erro de reconstrução. A arquitetura possui um gargalo (bottleneck) que força a compressão. É não linear e muito flexível. Excelente para imagens, séries temporais e dados complexos.

Hiperparâmetros comuns: encoding_dim (tamanho da camada comprimida), número de camadas, funções de ativação (ReLU, tanh), learning_rate, epochs e batch_size.

Matemática (Autoencoder para anomalias):

\( h = f(W_e x + b_e) \quad \text{(encoder)} \)
\( \hat{x} = g(W_d h + b_d) \quad \text{(decoder)} \)
\( \text{score}(x) = \|x – \hat{x}\|^2 \)

Se o erro de reconstrução for maior que um limiar, o ponto é marcado como anomalia. O modelo só é treinado com dados normais. Consequentemente, ele não consegue reconstruir comportamentos anômalos. Esse princípio é amplamente usado em detecção de fraudes com imagens.

LSTM (Long Short‑Term Memory)

Características: LSTM é uma rede recorrente especializada em sequências. Ela memoriza padrões de longo prazo. Ideal para detecção de anomalias em séries temporais (sensores, logs, finanças). A arquitetura contém células de memória com portas (input, forget, output). Esse modelo prevê o próximo passo e compara com o real.

Hiperparâmetros: número de unidades LSTM, window_size (tamanho da sequência de entrada), dropout (regularização), optimizer (Adam), learning_rate e epochs.

Matemática (LSTM para anomalias):

\( f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \)
\( i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \)
\( \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \)
\( C_t = f_t * C_{t-1} + i_t * \tilde{C}_t \)
\( \text{Erro de predição} = \|x_{t+1} – \hat{x}_{t+1}\|^2 \)

O LSTM aprende a prever o próximo valor de uma série. Quando o erro de predição ultrapassa um limiar, uma anomalia é detectada. Essas portas controlam o fluxo de informação. Esse método é padrão em manutenção preditiva de máquinas.


Resumo prático: Para dados tabulares, comece com Isolation Forest. Para séries temporais, use LSTM ou Autoencoders. DBSCAN é ótimo quando você não sabe quantos grupos existem. O One‑Class SVM funciona bem em médias dimensões. Lembre-se: sempre normalize os dados antes! Teste diferentes limiares de detecção. Com esses cinco modelos, você já pode criar sistemas antifraude, detectar falhas em equipamentos e encontrar comportamentos suspeitos. A prática leva à perfeição. Explore e descubra anomalias escondidas!

Redução de Dimensionalidade: PCA, t-SNE, LDA, UMAP, Autoencoders

1.2 – Nao Supervisionado
1.2.2 – Reducao de Dimensionalidade
1.2.2.1 – PCA, t-SNE, LDA, UMAP, Autoencoders
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura
O que você vai aprender aqui: Imagine que você tem uma planilha com 100 colunas (dimensões). Isso fica confuso e lento para analisar. A redução de dimensionalidade comprime essas colunas em apenas 2 ou 3, mas sem perder o sentido dos dados. É como resumir um livro enorme em um parágrafo que mantém a essência. Incrível, não é? Vamos explorar isso com exemplos simples.

O que é aprendizado de máquina não supervisionado?

Nesse tipo de aprendizado, o algoritmo não recebe respostas prontas. Ele mesmo precisa encontrar padrões escondidos. Não há professor para corrigir os erros. É como aprender a separar frutas apenas observando suas formas e cores. Frequentemente, os dados são agrupados ou reorganizados sem rótulos. Essa abordagem é poderosa para explorar informações desconhecidas. Muitas empresas usam essa técnica para segmentar clientes. O objetivo é descobrir relações que ninguém havia notado antes. Os métodos não supervisionados são ideais quando não se tem um alvo definido. Eles revelam a estrutura natural dos dados. Isso é fundamental para a redução de dimensionalidade.

O problema da redução de dimensionalidade

Dados com muitas variáveis causam a chamada “maldição da dimensionalidade”. O desempenho dos modelos cai drasticamente. A visualização se torna impossível com mais de três dimensões. Além disso, o custo computacional cresce de forma absurda. É por isso que reduzir dimensões é tão necessário. Esse processo transforma um espaço enorme em algo mais compacto. As informações mais relevantes são preservadas durante essa compressão. O ruído e a redundância são eliminados automaticamente. Pode-se dizer que os dados ficam mais limpos e eficientes. Essa técnica é amplamente aplicada antes de outros modelos de IA. Sem ela, muitos projetos de machine learning seriam inviáveis na prática.

Modelos populares: características, hiperparâmetros e matemática

Modelo 1

Principal Component Analysis (PCA)

Características: O PCA é um método linear que busca direções de máxima variância. Ele projeta os dados em novos eixos chamados componentes principais. É muito usado para visualização e pré-processamento. Sua maior limitação é não capturar relações não lineares.

Hiperparâmetros principais: n_components (número de dimensões de saída) e whiten (normalização opcional). Geralmente mantêm-se 2 ou 3 componentes para gráficos.

Matemática (PCA):

\( \text{Cov}(X) = \frac{1}{n-1} X^T X \)
\( \text{Cov}(X) v_i = \lambda_i v_i \)
\( X_{\text{pca}} = X V_k \) onde \( V_k \) são os primeiros \( k \) autovetores.

Primeiro calcula-se a matriz de covariância. Depois resolvem-se os autovalores (\( \lambda_i \)) e autovetores (\( v_i \)). Os dados originais são projetados nos autovetores mais importantes. Essa transformação garante a máxima preservação da variância.

Modelo 2

T‑SNE (t‑Distributed Stochastic Neighbor Embedding)

Características: Especialista em visualizar agrupamentos locais. Ele converte similaridades entre pontos em probabilidades. É muito usado em bioinformática e visão computacional. Contudo, é caro computacionalmente para grandes datasets. Sua natureza não linear revela estruturas que o PCA não mostra.

Hiperparâmetros essenciais: perplexity (equilíbrio entre vizinhos locais e globais), learning_rate e n_iter. Perplexidade típica entre 5 e 50.

Matemática (t‑SNE):

\( p_{j|i} = \frac{\exp(-\|x_i – x_j\|^2 / 2\sigma_i^2)}{\sum_{k \neq i} \exp(-\|x_i – x_k\|^2 / 2\sigma_i^2)} \)
\( q_{ij} = \frac{(1 + \|y_i – y_j\|^2)^{-1}}{\sum_{k \neq l} (1 + \|y_k – y_l\|^2)^{-1}} \)
\( \text{Custo} = \sum_i \sum_j p_{ij} \log\frac{p_{ij}}{q_{ij}} \)

A primeira equação mede similaridades no espaço original. A segunda calcula similaridades no espaço reduzido (usando distribuição t-Student). O algoritmo minimiza a divergência de Kullback-Leibler entre elas. Assim, vizinhos próximos permanecem próximos após a redução.

Modelo 3

Linear Discriminant Analysis (LDA)

Características: Embora seja supervisionado por natureza, o LDA é frequentemente adaptado para tarefas não supervisionadas. Ele maximiza a separabilidade entre classes conhecidas. Mas, na ausência de rótulos, pode ser usado após clustering. É ótimo para problemas onde se deseja máxima separação. Muito eficiente para reconhecimento facial.

Hiperparâmetros relevantes: n_components (no máximo número de classes – 1) e solver (svd, lsqr, eigen).

Matemática (LDA):

\( S_B = \sum_{c} N_c (\mu_c – \mu)(\mu_c – \mu)^T \)
\( S_W = \sum_{c} \sum_{i \in c} (x_i – \mu_c)(x_i – \mu_c)^T \)
\( S_W^{-1} S_B w = \lambda w \)

A matriz de espalhamento entre classes \( S_B \) mede a distância das médias das classes. A matriz de espalhamento intra-classe \( S_W \) mede a dispersão dentro de cada classe. O LDA busca autovetores que maximizam a razão \( S_B / S_W \). Isso garante que as classes fiquem bem separadas no novo espaço.

Modelo 4

Uniform Manifold Approximation and Projection (UMAP)

Características: UMAP é um método moderno, rápido e não linear. Ele preserva tanto a estrutura local quanto a global dos dados. É considerado um sucessor do t‑SNE com melhor escalabilidade. Frequentemente, mantém mais informações de topologia. Ideal para conjuntos de dados com milhões de amostras.

Hiperparâmetros críticos: n_neighbors (número de vizinhos, entre 5 e 50), min_dist (distância mínima entre pontos no espaço reduzido) e metric (euclidiana, coseno, etc.).

Matemática (UMAP):

\( \text{Vizinhança fuzzy: } \mu_{ij} = \exp\left(-\frac{d(x_i,x_j) – \rho_i}{\sigma_i}\right) \)
\( \text{Custo atrativo-repulsivo: } \sum_{i \neq j} \left[ \mu_{ij} \log \frac{\mu_{ij}}{\nu_{ij}} + (1-\mu_{ij}) \log \frac{1-\mu_{ij}}{1-\nu_{ij}} \right] \)

Primeiro, UMAP constrói um grafo fuzzy baseado na vizinhança local. Depois, otimiza uma representação de baixa dimensão com forças atrativas e repulsivas. A fórmula usa entropia cruzada para alinhar as similaridades. O resultado é uma projeção rápida e informativa.

Modelo 5

Autoencoders (Redes Neurais)

Características: Autoencoders são redes neurais que aprendem a comprimir dados em um “gargalo” (bottleneck). Eles são não lineares e extremamente flexíveis. A arquitetura possui um codificador (encoder) e um decodificador (decoder). O treinamento é feito para reconstruir a entrada original. Excelentes para extração de características e remoção de ruído.

Hiperparâmetros típicos: encoding_dim (tamanho da camada comprimida), número de camadas, função de ativação (ReLU, sigmoid), taxa de aprendizado, epochs e batch_size.

Matemática (Autoencoder):

\( h = f(W_e x + b_e) \quad \text{(codificador)} \)
\( \hat{x} = g(W_d h + b_d) \quad \text{(decodificador)} \)
\( \mathcal{L} = \|x – \hat{x}\|^2 \quad \text{(erro de reconstrução)} \)

A camada intermediária \( h \) é a representação de baixa dimensão. O codificador mapeia a entrada \( x \) para esse espaço comprimido. O decodificador tenta reconstruir \( \hat{x} \) o mais próximo possível do original. O treinamento minimiza o erro quadrático médio entre entrada e saída. Após o treinamento, apenas o codificador é usado para reduzir a dimensionalidade.


💡 Dica final: Para dados lineares, comece com PCA. Para visualização de clusters, use t‑SNE ou UMAP. Autoencoders são indicados quando você tem muitos dados e precisa de flexibilidade. LDA exige rótulos, mas adaptações existem. Experimente cada método em pequenos datasets. A prática é a melhor professora. Agora você já conhece as principais ferramentas de redução de dimensionalidade. Coloque a mão no código e explore!

Conteúdo para iniciantes · Redução de dimensionalidade explicada de forma simples · Fórmulas matemáticas em LaTeX