Descubra cómo la reducción de dimensionalidad optimiza los flujos de trabajo de ML. Explore técnicas como PCA y t-SNE para mejorar el rendimiento Ultralytics y la visualización de datos.
La reducción de dimensionalidad es una técnica transformadora en el aprendizaje automático (ML) y la ciencia de datos que se utiliza para reducir el número de variables de entrada —a menudo denominadas características o dimensiones— en un conjunto de datos, conservando al mismo tiempo la información más importante. En la era del big data, los conjuntos de datos suelen contener miles de variables, lo que da lugar a un fenómeno conocido como la maldición de la dimensionalidad. Este fenómeno puede hacer que el entrenamiento de modelos resulte computacionalmente costoso, propenso al sobreajuste y difícil de interpretar. Al proyectar datos de alta dimensionalidad en un espacio de menor dimensionalidad, los profesionales pueden mejorar la eficiencia, la visualización y el rendimiento predictivo.
Reducir la complejidad de los datos es un paso fundamental en los procesos de preprocesamiento de datos. Ofrece varias ventajas tangibles para crear sistemas robustos de inteligencia artificial (IA):
Los métodos para reducir dimensiones se clasifican generalmente en función de si conservan la estructura lineal global o la variedad no lineal local de los datos.
La técnica lineal más consolidada es el análisis de componentes principales (PCA). El PCA funciona identificando los «componentes principales», ejes ortogonales que capturan la máxima varianza en los datos. Proyecta los datos originales en estos nuevos ejes, descartando eficazmente las dimensiones que aportan poca información. Se trata de un elemento básico en los flujos de trabajo de aprendizaje no supervisado.
Para estructuras de datos complejas, como imágenes o incrustaciones de texto, a menudo se requieren métodos no lineales. Técnicas como la incrustación estocástica de vecinos distribuida t (t-SNE) y UMAP (aproximación y proyección uniformes de variedades) destacan por preservar las vecindades locales, lo que las hace ideales para visualizar clústeres de alta dimensión. Además, los autoencoders son redes neuronales entrenadas para comprimir las entradas en una representación del espacio latente y reconstruirlas, aprendiendo de forma eficaz una codificación compacta de los datos.
La reducción de la dimensionalidad es fundamental en varios ámbitos del aprendizaje profundo (DL):
Es importante distinguir este concepto de la selección de características, ya que ambos alcanzan objetivos similares a través de mecanismos diferentes:
El siguiente ejemplo ilustra cómo tomar una salida de alta dimensión (simulando un vector de incrustación de imagen) y reducirla utilizando PCA. Este es un flujo de trabajo común cuando se visualiza cómo un modelo como YOLO26 agrupa clases similares.
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)