Descomposicion en valores singulares: SVD, la navaja de la algebra numerica
La auto-diagonalizacion solo funciona con matrices cuadradas y simetricas; la SVD funciona con CUALQUIER matriz, rectangular, mal condicionada y hasta llena de ceros. Es la herramienta detras de PCA en scikit-learn, de los sistemas de recomendacion por filtrado colaborativo y del compresor de imagenes mas elegante que conoceras. Este objeto la construye desde la intuicion geometrica hasta la aproximacion de rango k con las manos.

Intuicion geometrica primero
Aplica A a todos los vectores unitarios del plano: la imagen del circulo es una ELIPSE. La SVD factoriza esa elipse en tres movimientos: Vᵀ rota el circulo para alinear sus ejes con los de la elipse; Σ estira cada eje por su factor sigma; U rota el resultado hacia su posicion final. Los ejes de la elipse son los vectores singulares; su longitud, los valores singulares.
Ejemplo rango 1: la SVD mas pequena del mundo
Paso 1 · Matriz
Tomemos A = [[2, 4], [1, 2]]. Sus filas son proporcionales: rango 1. Toda la informacion cabe en un vector de filas u = (2,1)/√5 y uno de columnas v = (1,2)/√5.Paso 2 · Factorizar
Prueba el producto exterior: σ·u·vᵀ con σ = √5·√5 = 5 da 5·(2/√5)·(1/√5) = 2 en (1,1); 5·(2/√5)(2/√5) = 4; 5·(1/√5)(1/√5) = 1; 5·(1/√5)(2/√5)=2. Recupera A EXACTA.Paso 3 · Chequeo
Verifica con AᵀA = [[5,10],[10,20]]: autovalores 25 y 0 → σ = √25 = 5 y √0 = 0: un unico valor singular no nulo confirma rango 1.Paso 4 · Generalizar
Leccion: una matriz rango k es k matrices rango 1 sumadas. Ese es TODO el secreto de la aproximacion de bajo rango y del factorizado de recomendadores.
Paso 1 de 4
La mejor aproximacion de rango bajo: Eckart-Young
Guarda las k primeras componentes: A_k = suma de σᵢ uᵢ vᵢᵀ para i de 1 a k. El teorema de Eckart-Young promete que es la MEJOR aproximacion de rango k posible (en norma de Frobenius y espectral): truncar la SVD no es un atajo, es el optimo. Los valores singulares decaen rapido cuando los datos tienen estructura: esa curva de decaimiento es la que justifica reducir dimensiones.
Compresion de imagen a mano
Paso 1 · Plantear
Una imagen es una matriz de brillo. SVD sobre A (digamos 100x100, valores singulares desde 30 hasta casi 0).Paso 2 · Rango 1
k=1: toda la imagen por 100+100+1 numeros en vez de 10.000: se ve un borrón de contraste bajisimo. La energia retenida es σ1²/Σσ².Paso 3 · Escalar
k=10: usualmente el 80-95% de la energia: retrato irreconocible pero con estructura. k=30: casi indistinguible. El umbral de energia (95% por ejemplo) decide k, no el gusto.Paso 4 · Codigo
En scikit-learn y numpy: U, s, Vt = np.linalg.svd(A); A_k = U[:, :k] @ np.diag(s[:k]) @ Vt[:k, :]. La misma cuenta, con el optimo garantizado.import numpy as np\nU, s, Vt = np.linalg.svd(A)\nAk = U[:, :10] @ np.diag(s[:10]) @ Vt[:10, :]
Paso 1 de 4
SVD en tus futuras bibliotecas
- PCA en scikit-learn: por dentro usa SVD sobre la matriz centrada; los autovalores de la covarianza son sigma²/(n−1).
- Pseudo-inversion: A⁺ = V·Σ⁺·Uᵀ invirtiendo solo los sigma mayores que un epsilon: la solucion estable de minimimos cuadrados cuando A no tiene inversa o esta mal condicionada (recuerda metn problema 7).
- Recomendadores: matriz usuario-item incompleta → factorizacion de rango bajo (SVD truncada o ALS) predice items que el usuario no vio.
- Numeros: en problemas de rango y nullspace, SVD da base ortonormal de los cuatro subespacios fundamentales con estabilidad numerica total.
Para que uso SVD
- U Σ Vᵀ
- Comprimir
- Truncar por energia retenida
- Reducir dimension
- PCA como caso particular
- Estabilizar
- Pseudo-inversion con corte epsilon
- Recomendar
- Factorizacion usuario-item
- Comprimir
Autoexamen cronometrado (15 minutos)
¿Cual es la VENTAJA de SVD frente a diagonalizacion de autovalores?
Los valores singulares de A son las raices de los autovalores de AᵀA.
Para A diagonal [[3, 0], [0, 2]], sus valores singulares son 3 y 2. ¿Cual es sigma1?
En el ejemplo rango 1, AᵀA tuvo autovalores 25 y 0. ¿Cuantos valores singulares NO nulos tiene A?
Truncar la SVD a k componentes es la mejor aproximacion de rango k gracias al teorema de Eckart-.
Empareja factor con su papel geometrico.
Para profundizar
3Blue1Brown: algebra linealLa serie geometrica que hace VER las transformaciones; capitulo 15 y siguientes tocan factorizaciones.
Setosa: autovalores ilustradosInteractivo del capitulo anterior; su hermano de SVD es la mejor puerta intuitiva.
La compresion por rango bajo presume que la matriz "realmente" tiene rango cerca de k. Piensa en una matriz de interacciones usuario-pelicula o en genes x pacientes: ¿por que un rango 50 captaria millones de datos? Escribe la hipotesis estructural que hace plausible la factorizacion.
Tu texto se guarda sólo en este dispositivo.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.