← Reconocimiento de Patrones
Clase 03
Ing. Rubén Omar Azuara Domínguez · 4 sep 2026 · Tema 3 — Reducción de dimensionalidad II. Reconstrucción con PCA, EigenFaces, LDA y otros métodos (t-SNE, Kernel PCA, QDA). El audio de esta sesión es parcial (solo el tramo final, sobre la práctica); la teoría se completa con el deck del profesor «Clase 6 — Reducción de dimensionalidad II».
🔢 Numeración del profesor: corresponde a sus diapositivas Clase 6 — no coincide 1:1 con "Clase 03" de este sitio.
En corto
- Reconstrucción con PCA: como es una transformación lineal, se puede volver del espacio reducido al original:
X̂ = Z·Wₖᵀ + μ. No es perfecta salvo que se usen todos los componentes; el error ‖X − X̂‖² es mínimo con los k componentes de mayor varianza (mejor aproximación de rango k).
- EigenFaces: PCA sobre una matriz de rostros
N×P (N imágenes, P píxeles). Las primeras componentes capturan rasgos anatómicos; las últimas son ruido.
- LDA = reducción supervisada: maximiza separación entre clases y minimiza dispersión intra-clase. Da como máximo
min(K−1, d) discriminantes.
- Elegir K: regla del codo · umbral de varianza (90–95 %) · criterio de Kaiser (
λ > 1).
- Audio: sin estandarizar, el primer componente absorbe casi toda la varianza; estandarizando, la curva acumulada sube de forma uniforme. Las diferencias de signo entre métodos (covarianza / SVD /
sklearn) no afectan: los vectores siguen siendo ortogonales.
🎯 Para el examen
- Centrado y escalado: entender cómo la ausencia de estandarización sesga los componentes principales hacia las variables de mayor magnitud numérica.
- Criterios para elegir K: regla del codo, criterio de Kaiser (
λ > 1) y umbral de varianza explicada acumulada (90–95 %).
- EigenFaces: por qué las primeras componentes capturan rasgos faciales reconocibles (ojos, boca, contorno) y las últimas solo ruido de alta frecuencia.
- Reconstrucción: el error de reconstrucción decrece al aumentar k y es mínimo con los k componentes de mayor varianza; se relaciona con la varianza descartada.
Reconstrucción con PCA
PCA es una transformación lineal; si se puede proyectar a un espacio reducido, también se puede aplicar el camino inverso. La reconstrucción no es perfecta a menos que se usen todos los componentes, y permite ver cuánta información se conservó tras reducir la dimensionalidad.
X ∈ ℝ^(m×n) datos originales
Xc = X − μ datos centrados
Wₖ ∈ ℝ^(n×k) k eigenvectores
Z = Xc·Wₖ ∈ ℝ^(m×k) datos proyectados
X̂c = Z·Wₖᵀ (W ortonormal) → X̂ = Z·Wₖᵀ + μ
Error de reconstrucción: ‖X − X̂‖². Es mínimo cuando se usan los k componentes que aportan mayor varianza; esa reconstrucción minimiza el MSE entre todos los subespacios de dimensión k → es la mejor aproximación posible de rango k.
Del audio (práctica, dataset Wine): 13 características originales. Reconstruyendo con 1, 2, 3, … 13 componentes y graficando el MSE, el error baja paulatinamente desde un valor alto (1 componente) hasta cero al usar las 13. Cada reconstrucción tiene un margen de error que depende directamente del número de componentes retenidos.
EigenFaces
Conjunto de vectores propios que pueden usarse para el reconocimiento facial.
- Las imágenes deben estar en una matriz
X de N×P: N = número de imágenes de rostros, P = número total de píxeles por imagen. Se centra la matriz y se aplica PCA (por SVD).
- Rostro promedio (media de
X): primera visualización obligatoria. Se ve completamente liso, sin facciones particulares de ninguno de los rostros de la muestra.
- Primeras ~10 eigenfaces: capturan la mayor cantidad de información y rasgos estructurales; se distinguen boca, ojos, contorno.
- Últimas ~10 eigenfaces: sin información estructural útil; visualmente son como la estática / ruido blanco de una TV sin señal.
- Validación: reconstruir una imagen del dataset con subconjuntos progresivos de 10, 20, 50, 100 … hasta 300 eigenfaces, mostrar los resultados en una sola figura y analizar cómo decrece el MSE conforme aumenta el número de eigenfaces. El error disminuye porque se recupera más varianza; se relaciona inversamente con la varianza descartada.
Cómo elegir K (criterios definidos en el audio)
- Regla del codo (Elbow): localizar el punto de inflexión / cambio abrupto de pendiente en la gráfica de varianza explicada acumulada y ahí fijar el número de componentes.
- Criterio de Kaiser: conservar solo los vectores propios cuyo valor propio sea estrictamente
λ > 1.
- Umbral de varianza: conservar los componentes indispensables para explicar en conjunto un objetivo del 90–95 % de la varianza total.
LDA — Análisis Discriminante Lineal (del deck «Clase 6», no confirmado en el audio)
Técnica de reducción de dimensionalidad supervisada: maximiza la separabilidad entre clases preservando la separación de clases. Busca una proyección lineal donde las clases queden lo más separadas posible y los datos dentro de cada clase, lo más compactos posible.
- Supuestos: distribución gaussiana por clase, misma matriz de covarianza en todas las clases, datos linealmente separables.
- Dispersión entre clases
S_B = Σᵢ nᵢ (μᵢ − μ)(μᵢ − μ)ᵀ — qué tan separadas están las medias de cada clase respecto a la media global.
- Dispersión dentro de clases
S_W = Σᵢ Σ_{x∈Cᵢ} (x − μᵢ)(x − μᵢ)ᵀ — varianza interna de cada clase.
- Coeficiente de Rayleigh (LDA lo maximiza):
J(w) = (wᵀ S_B w) / (wᵀ S_W w). Numerador = separación entre clases; denominador = dispersión interna.
- Cálculo: resolver
S_B w = λ S_W w, equivalente a S_W⁻¹ S_B w = λ w (requiere que S_W⁻¹ exista). Los autovectores de mayor autovalor son los ejes discriminantes. A diferencia de PCA, LDA da K−1 vectores propios; máximo min(K−1, d). Proyección Z = X·W.
- Si
S_W es singular (determinante 0, sin inversa): aplicar PCA antes de LDA · regularizar S_W(α) = (1−α)S_W + αI · pseudoinversa por SVD.
- Ventajas: reducción supervisada, interpretable, eficiente, también sirve como clasificador. Desventajas: supone gaussianidad y covarianza compartida, no capta relaciones no lineales, límite de
min(K−1, d) discriminantes.
Otros métodos (del deck «Clase 6», no confirmado en el audio)
- t-SNE (t-Distributed Stochastic Neighbor Embedding): método no lineal para visualización (2D/3D). Mide similitudes en el espacio original y en el reducido con una distribución gaussiana y una t de Student respectivamente, y minimiza la divergencia KL entre ambas.
- Kernel PCA: extensión no lineal de PCA con el truco del kernel — se mapean los datos a un espacio de mayor dimensión con una función kernel y ahí se aplica PCA; todo se calcula con la matriz de kernel
K(xᵢ, xⱼ) sin computar el mapeo explícito.
- QDA (Quadratic LDA): extensión de LDA con fronteras cuadráticas; no asume covarianza igual entre clases — cada clase tiene su propia matriz.
Lo que el profesor recalcó en el audio
- Efecto de la estandarización en la varianza: con datos crudos (sin estandarizar), el primer componente principal absorbe prácticamente toda la varianza del sistema por la disparidad de escalas; al estandarizar, la curva de varianza explicada acumulada asciende de forma paulatina y uniforme.
- Diferencias de signo entre métodos: al comparar autovalores/autovectores por el cálculo clásico de covarianza, por SVD y con la clase
PCA de scikit-learn, es normal que aparezcan diferencias de signo en los vectores. No afecta el análisis: los vectores conservan estrictamente su ortogonalidad.
- Estandarización (definición): restar la media de cada característica y dividir entre su desviación estándar, para eliminar las diferencias de escala antes de aplicar PCA.
- SVD en Python: no hay que programar la descomposición a mano; el módulo
numpy.linalg tiene SVD nativa y también una función directa para la matriz de covarianza.
Pendiente / próxima clase
Al terminar las instrucciones de la práctica (reporte IEEE a dos columnas), el profesor cierra la sesión. La próxima clase: revisión presencial del código en las computadoras de los alumnos y continuación de la planeación hacia LDA y la selección avanzada de características.