PCA – KPCA

PCA (Principal Component Analysis, Análisis de Componentes Principales ACP) es una una técnica estadística descrita por Karl Pearson en 1.901 y más tarde desarrollada por Harold Hotelling, en 1.933, teniendo ambas perspectivas muy diferentes. También debemos nombrar a Eugenio Beltrami y Ennemond Camille Jordan quienes en 1.873 y 1.874 respectivamente fueron los precursores, entre otros, de PCA a través de SVD (singular value decomposition) una forma subyacente de PCA.

Ennemond Camille Jordan PCA
Jordan
Eugenio Beltrami PCA
Beltrami

 

Ponemos un ejemplo sencillo:

 

Tenemos la posibilidad de adquirir un vehículo a 5 vendedores, el vehículo tiene 6 versiones distintas (con sus importes). Si queremos representar, en un gráfico, a los cinco vendedores con sus ofertas para las 6 versiones, necesitaríamos una nube de puntos de más de tres dimensiones (multidimensional). Lo que hace PCA es representarlo en dos o tres dimensiones, así de simple, ¡eso parece!.

Harold Hotelling
Hotelling
 Karl Pearson PCA
Pearson

 

Para adentranos en esta materia necesitamos conocer los conceptos matemáticos de la desviación estándar, covarianza, álgebra matricial, “Eigen” vectores propios y valores propios.

 

PCA es una técnica de aprendizaje no supervisado, se utiliza para identificar tendencias en un conjunto de datos multidimensionales y reducir su dimensionalidad (variables), transformando esas variables (posiblemente correlacionadas, indicativo de existencia de información redundante) en un conjunto más pequeño de nuevas variables denominado “Componentes principales” y expresarlos de tal manera que resalten sus similitudes y diferencias, tratando de perder la menor cantidad de información posible (varianza).  El nuevo conjunto de variables, componentes principales, son una función lineal de las variables originales, no correlacionadas y en un nuevo sistema de coordenadas, éstos pueden utilizarse a su vez en métodos de aprendizaje supervisado, como regresión de los componentes principales.

 

Matemáticamente existen varias formas de implementar el calculo, aquí partimos del caso de que las unidades de medida empleadas en las variables son las mismas, también de que todas las variables tienen una media de 0 y una desviación estándar 1, en caso contrario las variables con mayor varianza dominarían.

 

El proceso  se realiza mediante el cálculo de la matriz de covarianza del conjunto de datos, despues se realiza el cálculo de los “Eigen” vectores y valores de la matriz, despues del cálculo se clasifican los valores propios de forma decreciente (ignorando los valores muy pequeños), de tal forma que la mayor varianza de cualquier proyección de los datos llega a ser la primera coordenada, la segunda más grande la segunda coordenada y así sucesivamente.

 

PCA se aplica mayoritariamente en herramientas relacionadas con el reconocimiento facial y la compresión de imágenes.

 

KPCA (Kernel principal component analysis)  es una extensión de PCA que utiliza los métodos kernel. Tomamos un kernel y transformamos las operaciones lineales de PCA en un nuevo espacio con una asociación no lineal. Esta técnica necesita una alta capacidad computacional y mucho más tiempo que PCA. KPCA tiene otro inconveniente, en el supuesto de que tengamos un conjunto grande de datos produciremos una matriz grande (matriz de Gram) con una necesidad alta de memoria.

 

Para resolver los problemas de rendimiento, Fan de Zizhu, Jinghua Wang, Baogen Xu y Pengzhi Tang propusieron en 2.014 el KPCA eficiente (EKPCA). El algoritmo usa la evaluación de correlación de características para determinar los patrones básicos y luego los usa para reconstruir el modelo KPCA, realizando la extracción de características y clasificación de muestras de prueba. Dicen: como hay muchos menos patrones básicos que las muestras de entrenamiento, la extracción de funciones EKPCA es más eficiente computacionalmente logrando un rendimiento de clasificación similar.