Aprendizado Não Supervisionado

O que é Aprendizado Não Supervisionado

Aprendizado não supervisionado (unsupervised learning) é uma família de métodos de aprendizado de máquina (machine learning) que aprendem a partir de dados sem rótulos (unlabeled data) — conjuntos de dados em que você tem entradas (x), mas não tem rótulos-alvo (target labels) (y). O objetivo é descobrir estrutura: fatores latentes (latent factors), representações de baixa dimensionalidade (low-dimensional representations), distribuições geradoras de dados (data-generating distributions) ou grupos (clusters).

Em contraste com Aprendizado Supervisionado (Supervised Learning), em que o objetivo é prever rótulos conhecidos, o aprendizado não supervisionado faz perguntas como:

  • “Existem agrupamentos (clustering) naturais de clientes semelhantes?”
  • “Quais são os principais eixos de variação (axes of variation) nessas imagens?”
  • “Consigo aprender uma representação (incorporação) (embedding) compacta que torne tarefas subsequentes mais fáceis?”
  • “Consigo modelar a distribuição de dados (data distribution) subjacente para gerar novas amostras ou detectar anomalias?”

O aprendizado não supervisionado frequentemente serve como base para outros cenários — especialmente o aprendizado de representações (representation learning) usado mais tarde em tarefas supervisionadas ou para transferência entre domínios (ver Aprendizado Semi/Auto-Supervisionado (Semi/Self-Supervised Learning) e Aprendizado por Transferência (Não Profundo) (Transfer Learning (Non-Deep))).

Por que o Aprendizado Não Supervisionado Importa

Muitos conjuntos de dados do mundo real são “pobres em rótulos” mas “ricos em dados”:

  • Rótulos podem ser caros (anotação médica), lentos (revisão jurídica) ou ambíguos (intenção do usuário).
  • Dados podem chegar continuamente (logs, fluxos de cliques), sobrepondo-se a preocupações do Aprendizado Online (Online Learning).
  • Rótulos podem existir, mas ser ruidosos ou heurísticos, empurrando você em direção à Supervisão Fraca (Weak Supervision).

O aprendizado não supervisionado oferece formas de:

  • Explorar e entender conjuntos de dados (descoberta de estrutura, visualização).
  • Comprimir e reduzir ruído dos dados (redução de dimensionalidade).
  • Pré-treinar representações que melhorem a eficiência de dados em tarefas posteriores.
  • Detectar pontos atípicos (outliers) e anomalias sem ter exemplos rotulados de “fraude” ou “falha”.
  • Modelar distribuições complexas para geração, simulação ou estimativa de incerteza.

Tipos de Problemas Centrais em Aprendizado Não Supervisionado

Agrupamento (Descoberta de Grupos)

O agrupamento particiona pontos de dados em grupos de modo que pontos no mesmo grupo sejam mais semelhantes (sob alguma métrica) do que pontos em grupos diferentes.

Usos típicos:

  • Segmentação de clientes
  • Agrupamento de documentos/tópicos
  • Agrupamento de imagens por similaridade visual
  • Identificação de subtipos em dados biológicos (por exemplo, single-cell RNA-seq)

Ideia-chave: você escolhe (implicitamente ou explicitamente) uma noção de similaridade, e um algoritmo encontra um agrupamento consistente com ela.

Redução de Dimensionalidade (Descoberta de Estrutura de Baixa Dimensionalidade)

Dados de alta dimensionalidade (por exemplo, 10.000 características de expressão gênica) frequentemente estão próximos de uma variedade (manifold) de menor dimensionalidade. A redução de dimensionalidade busca encontrar uma representação compacta:

  • Métodos lineares: PCA, ICA, NMF
  • Métodos não lineares: PCA de kernel (kernel PCA), t-SNE, UMAP
  • Métodos neurais: autoencoders

Usos:

  • Visualização (2D/3D)
  • Redução de ruído
  • Extração de características antes de agrupamento ou classificação

Aprendizado de Representações (Aprendendo Incorporações Úteis)

Em vez de projetar características manualmente, o aprendizado de representações busca aprender um mapeamento [ f_\theta(x) \rightarrow z ] em que (z) é uma incorporação que captura estrutura saliente.

Historicamente, muitos métodos de aprendizado de representações são “não supervisionados” (por exemplo, autoencoders), enquanto muitos métodos modernos de alto desempenho são formulados como auto-supervisionados (self-supervised) (por exemplo, aprendizado contrastivo (contrastive learning) e predição mascarada (masked prediction)). A fronteira é difusa; na prática, ambos buscam aprender a partir de dados sem rótulos (ver Aprendizado Semi/Auto-Supervisionado).

Estimação de Densidade e Modelagem Generativa (Modelando a Distribuição dos Dados)

Aqui, o objetivo é modelar (p(x)): a distribuição de probabilidade que gerou os dados observados. Isso pode ser usado para:

  • Gerar novas amostras
  • Medir quão “típica” é uma amostra (detecção de anomalias)
  • Aprender variáveis latentes (latent variables) que expliquem a variação

Exemplos:

  • Modelos de mistura gaussiana (Gaussian mixture models, GMMs)
  • Autoencoders variacionais (variational autoencoders, VAEs)
  • Fluxos normalizantes (normalizing flows)
  • Modelos de difusão (diffusion models) (amplamente usados para imagens/áudio; treinados sem rótulos de classe)

Detecção de Anomalias / Pontos Atípicos (Encontrando Exemplos Raros ou Incomuns)

A detecção não supervisionada de anomalias tenta encontrar pontos que não se encaixam na estrutura aprendida (longe de clusters, baixa densidade, alto erro de reconstrução etc.). É comum em:

  • Detecção de fraude
  • Detecção de intrusão
  • Manutenção preditiva
  • Monitoramento de qualidade de dados

Fundamentos Teóricos (Intuição e Objetivos)

O aprendizado não supervisionado não é um único objetivo; é uma coleção de objetivos e vieses indutivos (inductive biases).

Similaridade, Distância e a Geometria dos Dados

Muitos métodos dependem de uma métrica de distância (distance metric) (euclidiana, cosseno, Mahalanobis) ou de um grafo de vizinhança. Uma verdade prática recorrente:

Sua métrica de distância frequentemente importa mais do que seu algoritmo de agrupamento.

Em altas dimensões, as distâncias podem se tornar menos informativas (“maldição da dimensionalidade (curse of dimensionality)”), então é comum:

  • Normalizar/padronizar características
  • Reduzir dimensionalidade (por exemplo, PCA) antes do agrupamento
  • Aprender incorporações em que a distância seja significativa

Objetivos de Otimização (O que o Modelo Está Fazendo de Fato)

Métodos diferentes otimizam critérios diferentes:

  • K-means minimiza distâncias quadráticas dentro do cluster: [ \min_{{\mu_k}} \sum_i \min_k \lVert x_i - \mu_k \rVert^2 ]
  • Métodos de máxima verossimilhança (maximum likelihood) ajustam distribuições maximizando (\sum_i \log p_\theta(x_i)).
  • Autocodificadores (autoencoders) minimizam a perda de reconstrução: [ \min_\theta \sum_i \lVert x_i - g_\theta(f_\theta(x_i)) \rVert ]
  • Objetivos contrastivos/auto-supervisionados maximizam o acordo entre “visões” da mesma amostra e separam amostras diferentes (frequentemente formulados via limites inferiores da informação mútua (mutual information)).

Viés Indutivo e Identificabilidade

Como não há rótulos para ancorar a solução, o aprendizado não supervisionado depende fortemente de suposições:

  • Clusters são esféricos (k-means) vs. formas arbitrárias (DBSCAN/HDBSCAN).
  • Os dados são gerados por uma mistura de distribuições (GMM).
  • Fatores importantes são linearmente separáveis (PCA) ou não negativos (NMF).
  • Variáveis latentes seguem um prior (prior) simples (VAE).

Diferentes suposições podem produzir diferentes “estruturas” no mesmo conjunto de dados — nenhuma com garantia de ser unicamente correta. Por isso, avaliação e validação no domínio são críticas.

Principais Famílias de Algoritmos (Com Observações Práticas)

Algoritmos de Agrupamento

K-means (Rápido, Simples, Forte Linha de Base)

  • Funciona bem quando os clusters são aproximadamente esféricos e de tamanho semelhante.
  • Sensível à escala das características e a outliers.
  • Requer escolher (K) (número de clusters).

Dicas práticas:

  • Padronize características (z-score) para dados numéricos.
  • Use múltiplas inicializações aleatórias (n_init) para reduzir mínimos locais (local minima) ruins.
  • Considere MiniBatchKMeans para conjuntos de dados grandes.
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

X = ...  # shape (n_samples, n_features)

X_scaled = StandardScaler().fit_transform(X)

kmeans = KMeans(n_clusters=5, n_init=20, random_state=0)
clusters = kmeans.fit_predict(X_scaled)

print(np.bincount(clusters))

Modelos de Mistura Gaussiana (Agrupamento Suave + Probabilidades)

GMMs modelam dados como uma mistura de gaussianas e produzem probabilidades de pertencimento ao cluster. Eles podem representar clusters elípticos e fornecer pontuações de verossimilhança.

Use quando:

  • Você quer incerteza / atribuição suave.
  • Os clusters não são esféricos.

Conceito relacionado: Maximização da Expectativa (Expectation-Maximization, EM), uma abordagem padrão para modelos com variáveis latentes.

Agrupamento Hierárquico (Dendrogramas, Interpretabilidade)

Constrói uma hierarquia de fusões ou divisões. Útil quando você quer agrupamentos em múltiplas resoluções, mas pode ser caro para conjuntos de dados muito grandes.

DBSCAN / HDBSCAN (Agrupamento Baseado em Densidade)

  • Pode encontrar clusters com formas arbitrárias.
  • Pode rotular outliers como “ruído”.
  • DBSCAN requer um tamanho de vizinhança epsilon; HDBSCAN costuma ser mais robusto.

Use quando:

  • Você espera formas irregulares ou densidades variáveis.
  • Detecção de outliers é importante.

Agrupamento Espectral (Baseado em Grafos)

Usa autovetores do Laplaciano de um grafo de similaridade. É poderoso, mas pode ser computacionalmente pesado; sensível à forma como você constrói o grafo de similaridade.

Redução de Dimensionalidade

PCA (Análise de Componentes Principais — Principal Component Analysis)

Encontra direções ortogonais que capturam a variância máxima. A PCA costuma ser a primeira ferramenta para:

  • Redução de ruído
  • Pré-processamento antes de agrupamento
  • Visualização rápida
from sklearn.decomposition import PCA

pca = PCA(n_components=20, random_state=0)
Z = pca.fit_transform(X_scaled)

print("Explained variance ratio (first 5):", pca.explained_variance_ratio_[:5])

t-SNE e UMAP (Visualização)

Essas são principalmente ferramentas de visualização (2D/3D), não extratores de características de uso geral:

  • t-SNE enfatiza vizinhanças locais, mas pode distorcer distâncias globais.
  • UMAP frequentemente preserva mais estrutura global e escala melhor.

Boa prática:

  • Execute PCA primeiro (por exemplo, para 30–100 dims) e então t-SNE/UMAP.
  • Não interprete em excesso separações de clusters em gráficos 2D; valide quantitativamente.

Aprendizado Neural de Representações

Autocodificadores

Um autocodificador aprende:

  • um codificador (z = f_\theta(x))
  • um decodificador (\hat{x} = g_\theta(z))

Ao forçar (z) a ser menor (gargalo) ou regularizado, o modelo aprende características comprimidas e informativas.

Variantes:

  • Autocodificadores de remoção de ruído (denoising autoencoders): reconstroem a entrada limpa a partir de uma entrada corrompida (características robustas).
  • Autocodificadores esparsos (sparse autoencoders): incentivam ativações latentes esparsas (comportamento semelhante à seleção de características).

Usados para:

  • Compressão
  • Redução de ruído
  • Pré-treinamento de incorporações para tarefas subsequentes

Autocodificadores são treinados com Descida do Gradiente e frequentemente construídos com Redes Neurais.

Autoencoders Variacionais (VAEs)

VAEs são probabilísticos: aprendem uma distribuição latente e podem gerar novas amostras. Eles otimizam um limite inferior da log-verossimilhança (limite inferior da evidência (Evidence Lower Bound, ELBO)), equilibrando qualidade de reconstrução e regularização latente (via divergência KL (KL divergence)).

Use quando:

  • Você quer um espaço latente estruturado e amostragem generativa.
  • Você precisa de incorporações conscientes de incerteza.

Fluxos Normalizantes e Modelos de Difusão

  • Fluxos normalizantes fornecem verossimilhanças exatas e transformações invertíveis, mas podem ser limitados pela arquitetura.
  • Modelos de difusão aprendem a remover ruído de dados progressivamente corrompidos; atualmente são dominantes para geração de imagens de alta fidelidade e são treinados sem rótulos de classe (embora frequentemente condicionados quando rótulos existem).

Embora estes sejam frequentemente discutidos sob “IA generativa (generative AI)”, eles são fundamentalmente técnicas não supervisionadas de modelagem de densidade.

Modelagem de Tópicos (Texto)

Para sacos de palavras (bags-of-words) ou características do tipo contagem, métodos clássicos não supervisionados incluem:

  • Alocação Latente de Dirichlet (Latent Dirichlet Allocation, LDA): documentos são misturas de tópicos; tópicos são distribuições sobre palavras.
  • Fatoração de Matriz Não Negativa (Non-negative Matrix Factorization, NMF): fatoriza uma matriz não negativa em componentes interpretáveis.

Incorporações modernas de texto frequentemente vêm de pré-treinamento auto-supervisionado de Transformers (ver Arquitetura Transformer e Aprendizado Semi/Auto-Supervisionado), mas a modelagem de tópicos continua útil para interpretabilidade e pipelines leves.

Detecção Não Supervisionada de Anomalias

Estratégias comuns:

  • Baseadas em densidade: pontos com baixo (p(x)) são anomalias (GMM, fluxos).
  • Baseadas em distância: longe de vizinhos/centros de cluster.
  • Floresta de Isolamento (Isolation Forest): anomalias são mais fáceis de isolar via particionamento aleatório.
  • Baseadas em reconstrução: autocodificadores reconstroem bem padrões normais; anomalias geram alto erro.

Ressalva importante: muitas “anomalias” são apenas raras, não necessariamente ruins — o contexto do domínio importa.

Exemplo Prático: Fluxo de Trabalho de Segmentação de Clientes

Suponha que você tenha características em nível de transação por cliente: recência, frequência, valor monetário, proporções de mix de produtos etc.

Um pipeline não supervisionado pragmático pode ser:

  1. Agregar eventos brutos em características por cliente.
  2. Lidar com a escala: aplicar transformação log em variáveis monetárias de cauda pesada; padronizar.
  3. Reduzir dimensionalidade (opcional): PCA para 10–50 componentes para redução de ruído.
  4. Agrupar: k-means ou GMM.
  5. Traçar o perfil dos clusters: calcular média/mediana dos valores de características por cluster para interpretar segmentos.
  6. Validar estabilidade: reexecutar com diferentes seeds/amostras; ver se os segmentos persistem.
  7. Operacionalizar: usar segmentos para estratégias de marketing; monitorar deriva ao longo do tempo.

O que torna isso “não supervisionado” é que os segmentos não são “verdade de terreno” — eles são abstrações úteis que devem ser confrontadas com resultados de negócio (conversão, churn) depois.

Avaliação e Seleção de Modelo (Sem Rótulos)

Avaliar aprendizado não supervisionado é mais difícil porque pode não haver uma única resposta “correta”.

Métricas Intrínsecas (Baseadas em Geometria)

Métricas comuns de agrupamento:

  • Pontuação de silhueta (silhouette score) (quanto maior, melhor): compara coesão intra-cluster vs. separação.
  • Índice Davies–Bouldin (quanto menor, melhor).
  • Índice Calinski–Harabasz (quanto maior, melhor).

Elas podem ajudar a comparar hiperparâmetros, mas podem enganar se sua métrica de distância não for significativa.

Métricas Baseadas em Verossimilhança

Para modelos probabilísticos (por exemplo, GMM, fluxos), avalie:

  • log-verossimilhança em dados reservados (held-out data)
  • critérios de informação (information criteria) (AIC/BIC) para penalizar complexidade (com ressalvas)

Análise de Estabilidade e Sensibilidade

Uma abordagem prática:

  • Reajustar modelos com diferentes seeds aleatórias ou amostras de bootstrap (bootstrap).
  • Medir quão consistentes são clusters/incorporações.

Se pequenas mudanças produzem grandes diferenças estruturais, a “estrutura” descoberta pode não ser confiável.

Avaliação a Jusante (“Extrínseca”)

Frequentemente, o teste mais significativo é: a representação não supervisionada ajuda em outra coisa?

Exemplos:

  • Treinar um pequeno modelo supervisionado usando a incorporação aprendida e ver se o desempenho melhora.
  • Avaliar qualidade de recuperação (vizinhos mais próximos fazem sentido para humanos).
  • Verificar métricas de negócio após implantação (ganho ao segmentar públicos).

Isso se conecta naturalmente a Aprendizado Supervisionado e Aprendizado Semi/Auto-Supervisionado.

Armadilhas Comuns e Boas Práticas

Armadilha: Ignorar Escala de Características e Tipos de Dados

  • K-means em características não escaladas pode ser dominado por uma única variável em grande escala.
  • Variáveis categóricas precisam de codificação apropriada (codificação one-hot (one-hot), codificações sem alvo (target-free encodings)) e distâncias adequadas (por exemplo, distância de Gower (Gower distance) para tipos mistos).

Boa prática: padronize características numéricas; considere distâncias apropriadas ao domínio.

Armadilha: Interpretar Visualizações em Excesso

Incorporações 2D (t-SNE/UMAP) podem criar clusters aparentes mesmo quando nenhum existe, ou esconder relações globais.

Boa prática: trate gráficos como exploratórios; confirme com verificações quantitativas e validação no domínio.

Armadilha: “Clusters” que na Verdade São Gradientes

Alguns dados variam continuamente, em vez de formar grupos discretos. Forçar clusters pode criar fronteiras arbitrárias.

Boa prática: considere métodos contínuos de fatores latentes (PCA/VAEs) ou agrupamento suave (GMM).

Armadilha: Vazamento de Viés Humano em Resultados “Não Supervisionados”

Escolhas sobre características, pré-processamento, métricas de distância e hiperparâmetros codificam suposições fortes. Aprendizado não supervisionado não é livre de suposições.

Boa prática: documente suposições; teste sensibilidade; envolva especialistas do domínio.

Armadilha: Uso Indevido de Detecção de Anomalias

Eventos raros nem sempre são anomalias; anomalias podem ser comuns sob mudança de distribuição (distribution shift).

Boa prática: monitore deriva de dados (data drift), calibre limiares e integre revisão humana quando necessário (relacionado a Aprendizado Ativo).

Onde o Aprendizado Não Supervisionado se Encaixa no Panorama de ML

  • Versus supervisionado: sem rótulos; avaliação e objetivos são menos diretos. Veja Aprendizado Supervisionado.
  • Versus auto-supervisionado: o auto-supervisionado constrói rótulos proxy (proxy labels) (por exemplo, tokens mascarados (masked tokens)), frequentemente gerando representações fortes; é amplamente usado para modelos de base (foundation models). Veja Aprendizado Semi/Auto-Supervisionado.
  • Com supervisão fraca: estrutura não supervisionada pode ajudar a criar funções heurísticas de rotulagem ou descobrir classes. Veja Supervisão Fraca.
  • Em cenários online: agrupamento e detecção de anomalias frequentemente precisam ser atualizados conforme distribuições mudam. Veja Aprendizado Online.

Resumo

O aprendizado não supervisionado trata de descobrir estrutura sem rótulos — por meio de agrupamento, redução de dimensionalidade, aprendizado de representações e modelagem de densidade. É essencial para explorar dados, construir incorporações que se transferem para muitas tarefas e operar em domínios onde rótulos são escassos ou caros. Como a “verdade de terreno” frequentemente está ausente, o sucesso depende de suposições cuidadosas, avaliação robusta e validação orientada ao domínio, e não apenas da escolha do algoritmo.