Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

t-distributed Stochastic Neighbor Embedding (t-SNE)

Descubra cómo t-SNE visualiza datos de alta dimensión. Aprenda a revelar clústeres en características de visión artificial para Ultralytics y optimizar modelos de aprendizaje automático.

La incrustación estocástica de vecinos distribuida t (t-SNE) es un método estadístico para visualizar datos de alta dimensión asignando a cada punto de datos una ubicación en un mapa de dos o tres dimensiones. Esta técnica, una forma de reducción de dimensionalidad no lineal, se utiliza ampliamente en el aprendizaje automático para explorar conjuntos de datos que contienen cientos o miles de características. A diferencia de los métodos lineales que se centran en preservar las estructuras globales, t-SNE destaca por mantener juntas las instancias similares, revelando clústeres y variedades locales que de otro modo podrían permanecer ocultos. Esto lo convierte en una herramienta invaluable para todo, desde la investigación genómica hasta la comprensión de la lógica interna de las redes neuronales profundas.

Cómo funciona t-SNE

La idea central detrás de t-SNE consiste en convertir las similitudes entre puntos de datos en probabilidades conjuntas. En el espacio original de alta dimensión, el algoritmo mide la similitud entre puntos utilizando una distribución gaussiana. Si dos puntos están cerca, tienen una alta probabilidad de ser «vecinos». A continuación, el algoritmo intenta mapear estos puntos a un espacio de menor dimensión (normalmente 2D o 3D) manteniendo estas probabilidades.

Para lograrlo, define una distribución de probabilidad similar en el mapa de menor dimensión utilizando una distribución t de Student. Esta distribución específica tiene colas más pesadas que una distribución gaussiana normal, lo que ayuda a abordar el «problema de aglomeración», un fenómeno por el cual los puntos en un espacio de alta dimensión tienden a colapsar unos sobre otros cuando se proyectan hacia abajo. Al separar más los puntos diferentes en la visualización, t-SNE crea grupos distintos y legibles que revelan la estructura subyacente de los datos de entrenamiento. El algoritmo aprende eficazmente la mejor representación del mapa a través del aprendizaje no supervisado, minimizando la divergencia entre las distribuciones de probabilidad de alta y baja dimensión.

Aplicaciones reales de la IA

t-SNE es una herramienta estándar para el análisis exploratorio de datos (EDA) y el diagnóstico de modelos . Permite a los ingenieros «ver» lo que está aprendiendo un modelo.

  • Verificación de las características de la visión artificial: En los flujos de trabajo de detección de objetos que utilizan modelos como YOLO26, los desarrolladores a menudo necesitan comprobar si la red puede distinguir entre clases visualmente similares. Al extraer los mapas de características de las capas finales de la red y proyectarlos con t-SNE, los ingenieros pueden visualizar si las imágenes de «gatos» se agrupan por separado de las de «perros». Si los grupos están mezclados, esto sugiere que las capacidades de extracción de características del modelo necesitan mejorar.
  • Procesamiento del lenguaje natural (NLP): t-SNE se utiliza mucho para visualizar incrustaciones de palabras . Cuando se proyectan vectores de palabras de alta dimensión (a menudo más de 300 dimensiones) en 2D, las palabras con significados semánticos similares se agrupan de forma natural. Por ejemplo, un gráfico t-SNE podría mostrar un clúster que contenga «rey», «reina», «príncipe» y «monarca», lo que demuestra que el modelo de procesamiento del lenguaje natural (PLN) capta el concepto de realeza.
  • Genómica y bioinformática: los investigadores utilizan t-SNE para visualizar datos de secuenciación de ARN unicelular. Al reducir miles de valores de expresión génica a un gráfico bidimensional, los científicos pueden identificar distintos tipos de células y trazar trayectorias de desarrollo, lo que contribuye al descubrimiento de nuevos conocimientos biológicos y marcadores de enfermedades.

Comparación con PCA

Es importante distinguir el t-SNE del análisis de componentes principales (PCA), otra técnica de reducción común.

  • El PCA es una técnica lineal que se centra en preservar la varianza global de los datos. Es determinista y computacionalmente eficiente, lo que lo hace excelente para la compresión inicial de datos o la reducción de ruido.
  • t-SNE es una técnica no lineal centrada en preservar las vecindades locales. Es probabilística (estocástica) y computacionalmente más pesada, pero produce visualizaciones mucho mejores para variedades complejas y no lineales .

Una práctica recomendada habitual en el preprocesamiento de datos es utilizar primero PCA para reducir los datos a un tamaño manejable (por ejemplo, 50 dimensiones) y, a continuación, aplicar t-SNE para la visualización final . Este enfoque híbrido reduce la carga computacional y filtra el ruido que podría degradar el resultado de t-SNE .

Python : Visualización de características

El siguiente ejemplo muestra cómo utilizar scikit-learn para aplicar t-SNE a un conjunto de datos sintéticos. Este flujo de trabajo refleja cómo se podrían visualizar las características extraídas de un modelo de aprendizaje profundo.

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE

# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)

# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)

# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()

Consideraciones clave

Aunque potente, t-SNE requiere un cuidadoso ajuste de los hiperparámetros. El parámetro «perplejidad» es fundamental; básicamente, calcula cuántos vecinos cercanos tiene cada punto. Si se establece en un valor demasiado bajo o demasiado alto, puede dar lugar a visualizaciones engañosas. Además, t-SNE no conserva bien las distancias globales, lo que significa que la distancia entre dos clústeres distintos en el gráfico no refleja necesariamente su distancia física en el espacio original. A pesar de estos matices, sigue siendo una técnica fundamental para validar las arquitecturas de visión por ordenador (CV) y comprender conjuntos de datos complejos. Los usuarios que gestionan conjuntos de datos a gran escala suelen aprovechar Ultralytics para organizar sus datos antes de realizar este tipo de análisis en profundidad.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora