Resumen
El episodio 147 de enCoders explica la reducción de dimensionalidad con foco en la intuición geométrica de tres métodos: PCA, t-SNE y UMAP. Se parte de qué es una dimensión en datos tabulares, imágenes, audio y texto, y de por qué reducirlas: menos costo computacional, menos riesgo de sobreajuste e información irrelevante o espuria. PCA rota la base hacia las direcciones de máxima varianza (vectores propios de la matriz de covarianza) y luego se queda con las primeras componentes, pero solo captura relaciones lineales. Para casos no lineales se puede transformar los datos a un espacio donde sean lineales (kernel trick) o usar t-SNE, que preserva la distribución de distancias entre vecinos minimizando la divergencia de Kullback-Leibler de forma iterativa, a costa de ser lento y sensible a parámetros como la perplexity. UMAP se menciona al final como un enfoque basado en grafos y topología, rápido y flexible. Entre medio hay digresiones sobre notación matemática, métodos numéricos, memes, el nuevo PC de Mati y consejos de streaming.
Capítulos
- 00:00Introducción a la Reducción de DimensionalidadSe presentan los tres métodos del episodio: PCA (el clásico), t-SNE (más flexible pero lento) y UMAP (flexible y no tan lento), y se anuncia el repaso de espacios vectoriales y funcionales.
- 01:57Entendiendo la Dimensionalidad en los DatosEn datos tabulares cada columna es una dimensión; en imágenes son n×m píxeles (×3 con canales RGB, más el alfa en PNG); en audio, los instantes de tiempo. En texto se habla de un espacio de palabras de dimensión infinita que se lleva a uno finito, como hacen los LLM.
- 06:04Desafíos con Datos de Alta DimensionalidadMás dimensiones hacen el cálculo más lento y caro, y pueden empeorar el modelo por información irrelevante o relaciones falsas. Se discute también la explicación al gerente, el riesgo de descartar variables que sí tenían señal y la complicación del análisis exploratorio.
- 11:57Intuición Geométrica Detrás de PCACon dos dimensiones y una nube alineada, una regresión lineal (roja vs. una recta peor, verde) permite recuperar x2 a partir de x1, así que sobra una dimensión. Se aclara que PCA es lineal y se menciona Kernel PCA (con referencia al libro de Bishop, figura 12.6). Hay una digresión sobre métodos numéricos (Runge-Kutta, Navier-Stokes) y soluciones analíticas frente a iterativas.
- 28:20Maximizando la Varianza en PCALa dirección P1 minimiza el error de proyección y maximiza la varianza; P2 es perpendicular. Más varianza separa mejor los datos y da más información. Con 100 dimensiones se ordenan las componentes por varianza y se conservan, por ejemplo, 20. Se relaciona con menor riesgo de overfitting y con la entropía.
- 34:53Calculando PCA: Matriz de Covarianza y Valores PropiosSe centran los datos restando el promedio (matriz B), se calcula la matriz de covarianza y se obtienen sus vectores y valores propios. Estos últimos ordenan las componentes. Se recomienda un video de Steve Brunton.
- 38:23Transformando base y Reduciendo DimensionesPCA primero rota la base sin cambiar el número de dimensiones (de n a n) y después se cortan las primeras m componentes, por ejemplo de 100 a 20.
- 39:07Eligiendo las Dimensiones Correctas para separa bien puntosSe elige la dimensión de mayor varianza porque datos más esparcidos permiten separar clases, por ejemplo clientes que se van frente a los que no.
- 40:52Entendiendo las Transformaciones de FuncionesUna función G lleva una relación no lineal f a una lineal. Ejemplo: con f = seno, aplicar el arco seno da la identidad, y entonces se puede aplicar PCA.
- 43:11Aplicando PCA a Datos No LinealesPCA solo sirve para relaciones lineales, pero se pueden linealizar los datos antes. Se comenta por qué el canal es teórico y la crítica de que algunos data scientists aplican fórmulas sin entender lo que hay detrás.
- 46:53Análisis de Componentes Principales en Dimensiones SuperioresEn 3D, si los puntos están en un plano se pasa de tres a dos dimensiones. Un ejemplo con datos ruidosos en una superficie enrollada (la imagen del thumbnail) requiere una transformación no lineal.
- 48:29MemesMemes sobre el PC de Mati, la prueba de que la dirección es la de máxima varianza, la varianza explicada ("Titanic": componentes casi iguales hacen inútil el PCA) y la notación matemática densa. Se critica la sobrecarga de índices en libros y papers.
- 57:35PC y setup nuevo de MatiMati estrena PC con Windows 11, un i7 de 28 CPU, 32 GB de RAM y una Nvidia GeForce RTX; se comenta qué se necesita para correr LLM localmente.
- 01:00:23Invitada especialRodo tiene a su bebé en el fular durante el stream y comenta cómo se duerme.
- 01:02:00Tips de streamingLa fluidez de la imagen depende sobre todo de la cámara y su configuración, más que del PC. Se recomienda al youtuber Harris Heller para equipo de streaming y se comentan micrófonos como el Shure SM7B y el efecto de configurar bien el audio.
- 01:05:38Explorando Métodos No Lineales: t-SNE y UMAPCuando los datos son no lineales (varias nubes de puntos), las proyecciones lineales mezclan los grupos. Se motiva el uso de t-SNE y UMAP. Los participantes cuentan experiencias poco exitosas al usarlos por desesperación.
- 01:06:04t-SNE: Stochastic Neighbour EmbeddingLa "t" viene de la distribución t de Student agregada después sobre el método base SNE (stochastic neighbor embedding). Se recomienda un video de DiPía sobre PCA y t-SNE. Aparece una digresión sobre NLP y un próximo episodio sobre RAG y parseo de documentos.
- 01:12:00Qué es un embedding y para qué sirve en este casoUn embedding es una función inyectiva que preserva distancias relativas; en el uso coloquial se llama así al espacio de llegada. El objetivo es llevar los datos a menos dimensiones (a menudo R2, para graficar) manteniendo cercanos los puntos cercanos.
- 01:17:04Analizando distancia entre vecinos y estimando vecinos con distribuciones gaussianasSe modelan las distancias entre puntos con una distribución normal (por ahora, antes de cambiarla a t de Student). Se busca que la distribución de distancias sea similar en el espacio de partida y en el de llegada.
- 01:19:24Optimizando Distribuciones con Divergencia KLLa divergencia de Kullback-Leibler mide qué tan parecidas son dos distribuciones y vale cero si coinciden. Se minimiza cambiando el embedding. Las distancias son euclidianas (norma 2 al cuadrado, dividida por la varianza y pasada por una exponencial). Como toda distribución integra 1, se pueden comparar espacios de distinta dimensión.
- 01:27:59Proceso Iterativo de t-SNESiempre se pierde información al reducir. Se parte de una configuración aleatoria en el espacio de llegada y se itera moviendo los puntos según la derivada de la divergencia KL. Se normaliza dividiendo por la suma de todas las comparaciones entre puntos distintos.
- 01:31:50Desafíos y Parámetros en t-SNEt-SNE es muy lento frente a PCA y sirve para pocos datos o dimensiones bajas. Se discute el efecto de los outliers y que no es robusto ante ellos. Se explica que no es invertible tras reducir, mientras que el cambio de base de PCA sí lo es antes de cortar. Se define la perplexity como 2 elevado a la entropía, que depende de la varianza y es un parámetro sensible. Se recomienda un video de Lemnismath sobre entropía.
- 01:41:06Introducción a UMAPUMAP trabaja con grafos y topología en vez de distancias directas: conecta cada punto con vecinos mediante conexiones de distinta fuerza y deforma el espacio. Se recomienda un video del creador del método y su documentación. Se menciona el concepto de manifold.
- 01:44:05CierreReflexión sobre la importancia de entender la intuición matemática y no solo aplicar librerías. Hay una conversación sobre topología y espacios métricos, y se despiden pidiendo suscripción, like y participación en Discord.