t-distributed Stochastic Neighbor Embedding (t-SNE)
Descubre cómo t-SNE visualiza datos de alta dimensionalidad. Aprende a revelar clústeres en características de visión artificial para Ultralytics YOLO26 y a optimizar modelos de machine learning.
La incrustación estocástica de vecinos distribuida según t (t-SNE) es un método estadístico para visualizar datos de alta dimensionalidad, asignando a cada punto de datos una ubicación en un mapa bidimensional o tridimensional. Esta técnica, una forma de reducción de dimensionalidad no lineal, se utiliza ampliamente en 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 tipo de tareas, 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 de t-SNE consiste en convertir las similitudes entre los puntos de datos en probabilidades conjuntas. En el espacio original de alta dimensionalidad, el algoritmo mide la similitud entre los puntos mediante una distribución gaussiana. Si dos puntos están cerca, tienen una alta probabilidad de ser «vecinos». A continuación, el algoritmo intenta asignar estos puntos a un espacio de menor dimensionalidad (normalmente 2D o 3D), manteniendo estas probabilidades.
Para conseguirlo, define una distribución de probabilidad similar en el mapa de menor dimensionalidad 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 en el que los puntos del espacio de alta dimensionalidad tienden a colapsar unos sobre otros al proyectarse a un espacio de menor dimensionalidad. Al alejar más los puntos disímiles en la visualización, t-SNE crea clústeres diferenciados y fáciles de interpretar que revelan la estructura subyacente de los datos de entrenamiento. El algoritmo aprende eficazmente la mejor representación del mapa mediante aprendizaje no supervisado, minimizando la divergencia entre las distribuciones de probabilidad de alta y baja dimensionalidad.
Aplicaciones reales en 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» qué está aprendiendo un modelo.
- Verificación de características de visión por ordenador: En los flujos de trabajo de detección de objetos que utilizan modelos como YOLO26, los desarrolladores suelen tener que 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» forman un clúster separado de las de «perros». Si los clústeres se mezclan, esto sugiere que las capacidades de extracción de características del modelo necesitan mejorar.
- Procesamiento del lenguaje natural (NLP): t-SNE se utiliza ampliamente para visualizar incrustaciones de palabras. Cuando los vectores de palabras de alta dimensionalidad (a menudo de más de 300 dimensiones) se proyectan en 2D, las palabras con significados semánticos similares se agrupan de forma natural. Por ejemplo, un gráfico de t-SNE podría mostrar un clúster que contenga «rey», «reina», «príncipe» y «monarca», demostrando que el modelo de Procesamiento del lenguaje natural (NLP) capta el concepto de realeza.
- Genómica y bioinformática: los investigadores utilizan t-SNE para visualizar datos de secuenciación de ARN de célula única. Al reducir miles de valores de expresión génica a un gráfico 2D, los científicos pueden identificar tipos celulares diferenciados y seguir trayectorias de desarrollo, lo que ayuda a descubrir nuevos conocimientos biológicos y marcadores de enfermedades.
Comparación con PCA#
Es importante distinguir t-SNE del análisis de componentes principales (PCA), otra técnica de reducción habitual.
- PCA es una técnica lineal que se centra en preservar la varianza global de los datos. Es determinista y eficiente desde el punto de vista computacional, por lo que resulta excelente para la compresión inicial de datos o la reducción del ruido.
- t-SNE es una técnica no lineal centrada en preservar los vecindarios locales. Es probabilística (estocástica) y exige más recursos computacionales, pero produce visualizaciones mucho mejores de variedades complejas y no lineales.
Una práctica recomendada habitual en el preprocesamiento de datos consiste en utilizar primero PCA para reducir los datos a un tamaño manejable (por ejemplo, 50 dimensiones) y aplicar después 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.
Ejemplo en 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ético. 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 es potente, t-SNE requiere un ajuste cuidadoso de los hiperparámetros. El parámetro «perplexity» es fundamental: básicamente estima cuántos vecinos cercanos tiene cada punto. Establecerlo 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 diferenciados 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 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 la Ultralytics Platform para organizar sus datos antes de realizar análisis tan exhaustivos.









