Saiba como a redução da dimensionalidade otimiza os fluxos de trabalho de ML. Explore técnicas como PCA e t-SNE para melhorar o desempenho Ultralytics e a visualização de dados.
A redução da dimensionalidade é uma técnica transformadora em aprendizagem automática (ML) e ciência de dados usada para reduzir o número de variáveis de entrada — frequentemente chamadas de características ou dimensões — num conjunto de dados, mantendo as informações mais críticas. Na era do big data, os conjuntos de dados frequentemente contêm milhares de variáveis, levando a um fenómeno conhecido como maldição da dimensionalidade. Esse fenómeno pode fazer com que o treinamento do modelo se torne computacionalmente caro, propenso a sobreajuste e difícil de interpretar. Ao projetar dados de alta dimensionalidade em um espaço de dimensionalidade inferior, os profissionais podem melhorar a eficiência, a visualização e o desempenho preditivo.
Reduzir a complexidade dos dados é um passo fundamental nos pipelines de pré-processamento de dados. Oferece várias vantagens tangíveis para a construção de sistemas robustos de inteligência artificial (IA):
Os métodos para reduzir dimensões são geralmente categorizados com base na preservação da estrutura linear global ou da variedade não linear local dos dados.
A técnica linear mais estabelecida é a Análise de Componentes Principais (PCA). A PCA funciona identificando os «componentes principais» — eixos ortogonais que capturam a variação máxima nos dados. Ela projeta os dados originais nesses novos eixos, descartando efetivamente as dimensões que contribuem com pouca informação. Esse é um elemento básico em fluxos de trabalho de aprendizagem não supervisionada.
Para estruturas de dados complexas, como imagens ou incorporações de texto, métodos não lineares são frequentemente necessários. Técnicas como t-Distributed Stochastic Neighbor Embedding (t-SNE) e UMAP (Uniform Manifold Approximation and Projection) se destacam na preservação de vizinhanças locais, tornando-as ideais para visualizar clusters de alta dimensão. Além disso, os autoencoders são redes neurais treinadas para comprimir entradas numa representação do espaço latente e reconstruí-las, aprendendo efetivamente uma codificação compacta dos dados.
A redução da dimensionalidade é fundamental em vários domínios da aprendizagem profunda (DL):
É importante distinguir este conceito da seleção de características, pois eles alcançam objetivos semelhantes através de mecanismos diferentes:
O exemplo a seguir ilustra como pegar uma saída de alta dimensão (simulando um vetor de incorporação de imagem) e reduzi-la usando PCA. Esse é um fluxo de trabalho comum ao visualizar como um modelo como o YOLO26 agrupa classes semelhantes.
import numpy as np
from sklearn.decomposition import PCA
# Simulate high-dimensional embeddings (e.g., 10 images, 512 features each)
# In a real workflow, these would come from a model like YOLO26n
embeddings = np.random.rand(10, 512)
# Initialize PCA to reduce from 512 dimensions to 2
pca = PCA(n_components=2)
reduced_data = pca.fit_transform(embeddings)
# Output shape is now (10, 2), ready for 2D plotting
print(f"Original shape: {embeddings.shape}") # (10, 512)
print(f"Reduced shape: {reduced_data.shape}") # (10, 2)