Módulo 6: Embedding Operations

Dimensionality Reduction

Por qué reducir dimensiones

# OpenAI embeddings: 1536 dims
# Problema: Difícil visualizar

# Solución: Reducir a 2-3 dims para visualización
# ADVERTENCIA: Solo para visualización, NO para producción

PCA (Principal Component Analysis)

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

# Embeddings (N × 1536)
embeddings = np.array([...])

# Reducir a 2D
pca = PCA(n_components=2)
embeddings_2d = pca.fit_transform(embeddings)

# Plot
plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1])
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('Embeddings in 2D (PCA)')
plt.show()

UMAP (mejor que PCA)

import umap

# UMAP preserva estructura local mejor que PCA
reducer = umap.UMAP(n_components=2)
embeddings_2d = reducer.fit_transform(embeddings)

# Plot (clusters más claros que PCA)
plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1])

Limitaciones

NO usar para producción:

  • Pérdida de información (~90%)
  • Solo para visualización/exploración

Usar para:

  • Visualizar clusters
  • Debugging (ver outliers)
  • Presentations

Resumen

  • PCA: Rápido, linear
  • UMAP: Mejor preservación de estructura
  • Producción: NO reducir dims (pérdida info)
  • Visualización: OK

Módulo 6 - Cápsula 05