Saltar al contenido

[2021] PCA y SVD explicados con numpy {DH}

junio 19, 2022

16 de marzo de 2019·6 minutos de lectura

¿Cómo se relacionan exactamente el análisis de componentes principales y la descomposición de valores singulares y cómo se implementan con numpy?

Primero, repasemos rápidamente algunos conceptos básicos de álgebra lineal, ya que tanto PCA como SVD implican cierta descomposición de matrices.

  • producto escalar y multiplicación de matrices: el producto C=LEJOS de dos matrices A (n×m) Y B. (m × profundidad) debe tener una forma norte × pag Dos matrices solo se pueden multiplicar si la segunda dimensión de la primera coincide con la primera dimensión de la última. El elemento c_{ij} en la matriz resultante C se calcula como:
Los elementos del producto matricial de dos matrices son los productos punto de los vectores fila y columna correspondientes.
  • reordenamiento conjugado: definida como la transpuesta de una matriz conjugada. Suele estar marcado con un * o H (Hermitian) como superíndice. Una matriz conjugada es una matriz que se obtiene tomando el complejo conjugado de todos los elementos de la matriz original:
reordenamiento conjugado
Matriz unitaria donde la transpuesta conjugada es igual a la inversa de la matriz
covarianza
Matriz de covarianza de una matriz centrada en 0 X

PCA tiene como objetivo encontrar ejes ortogonales linealmente no correlacionados, también conocidos como componentes principales (PC) en el metro espacio dimensional para proyectar los puntos de datos en estas PC. La primera PC captura la mayor parte de la variación en los datos. Entendamos intuitivamente PCA colocándolo en una matriz de datos 2-D que se puede representar convenientemente mediante un diagrama de dispersión 2-D:

Comprender PCA ajustándolo a un conjunto de datos 2-D (fuente)
Autodescomposición de la matriz de covarianza C
Datos del proyecto en los primeros k PC

SVD es otro método de descomposición de matrices reales y complejas. Descompone una matriz en el producto de dos matrices unitarias (O, v*) y una matriz diagonal rectangular de valores singulares (Σ):

Ilustración SVD modificada de la fuente.

PCA y SVD son enfoques estrechamente relacionados y ambos se pueden aplicar para descomponer cualquier matriz rectangular. Podemos analizar su relación realizando SVD en la matriz de covarianza. C:

Relación entre valor propio y valores singulares
  • Wolfram MathWorld
  • Comprender el análisis de componentes principales, vectores propios y valores propios
  • Relación entre SVD y PCA

. Contenido relacionado:

[2021] PCA y SVD explicados con numpy {DH}