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
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) 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.
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):
\( 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.
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_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.
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{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.
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):
\( \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!