in

PCA y SVD explicados con numpy

PCA y SVD explicados con numpy

Zichen Wang

16 de marzo de 2019·6 min de lectura

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

0. Actualización de álgebra lineal

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

  • Producto escalar y multiplicación de matrices: el producto C=AB de dos matrices A (n × m) y B (m × p) debería tener una forma de n × p. Solo se pueden multiplicar dos matrices cuando 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:
1*VZHjd2Wu6IYOBSHZV5HJHA

Los elementos de la matriz de producto de dos matrices son los productos escalares de los vectores de fila y de columna correspondientes.
  • Transposición conjugada: definida como la transpuesta de una matriz conjugada. Normalmente se denota con un * o H (Hermitian) como superíndice. Una matriz conjugada es una matriz que se obtiene al tomar el conjugado complejo de todos los elementos de la matriz original:
1*zdtsSoTplkE80 5RFGlB w

Transposición conjugada

1*AYBSMG

Matriz unitaria, donde la transpuesta conjugada iguala la matriz inversa
1*cK

Covarianza

Matriz de covarianza de una matriz centrada en 0 X

1. PCA

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

1*XGaA7KWUlhWZLIezYEBIHA

Entender el PCA al encajar en un conjunto de datos 2-D (fuente)

Descomposición propia de la matriz de covarianza C

Proyectar datos en los primeros k PC

2. SVD

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

1*6wkgGgBy2NLVmRVOw8K86w

Ilustración de SVD, modificada de la fuente.

3. Relación entre PCA y SVD

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:

1*KDHJvxd HuY0WfWqj42otw

1*pbeokBeMGhunDRdFPeCtGw

Relación entre valor propio y valores singulares

Referencias:

  • Wolfram MathWorld
  • Entender el análisis de componentes principales, autovectores y autovalores
  • Relación entre SVD y PCA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

hnDLJXhbK9ECo7jmFep5ZA 1200 80

Xbox One S | TechRadar

Página de inicio de oracleIdentity Governance