Detalles de la derivación e implementación de algoritmo básico para la reducción de dimensionalidad con PCA
Details on the algorithm for dimensionality reduction via Principal Components Analysis
Detalhes da derivação e implementação do algoritmo básico para redução de dimensionalidade com PCA
![]() |
![]() |
Correspondencia: zenaida.castillo@espoch.edu.ec
Ciencias Técnicas y Aplicadas
Artículo de Investigación
*Recibido: 04 de enero de 2022 *Aceptado: 31 de enero de 2022 * Publicado: 21 de febrero de 2022
- Escuela Superior Politécnica de Chimborazo (ESPOCH), Facultad de Ciencias, Escuela de Matemática, Grupo CIDED, Riobamba, Ecuador.
- Universidad de Investigación de Tecnología Experimental Yachay, Escuela de Ciencias Matemáticas y Computacionales, Urcuquí, 060150, Ecuador.
- Escuela Superior Politécnica de Chimborazo (ESPOCH), Facultad de Ciencias, Escuela de Matemática, Grupo CIDED, Riobamba, Ecuador.
- Escuela Superior Politécnica de Chimborazo (ESPOCH), Facultad de Administración y Empresas, Escuela de Finanzas, Grupo CIDED, Riobamba, Ecuador.
Resumen
Los problemas que requieren de análisis de datos, a menudo son difíciles de resolver, debido principalmente a la cantidad de variables involucradas en el modelo matemático. Los científicos de datos generalmente trabajan con millones de variables para hacer estimaciones que soportan decisiones importantes. En el procesamiento digital de imágenes, por ejemplo, el número de puntos que representan pixeles en tres dimensiones podría muy grande en imágenes a color. En estos casos, el costo computacional que requiere el manejo de estos datos puede resultar inaceptable, y la reducción de dimensionalidad de estos datos se hace necesaria. Aún cuando se cuente con la tecnología adecuada, la reducción en tiempo de cómputo siempre es deseable. El manejo de datos con alta dimensionalidad, el análisis y la interpretación se dificulta y en el caso de imágenes, su visualización podría verse afectada considerando las limitaciones de memoria. En la mayoría de los casos, estos datos son redundantes, y la información importante puede revelarse con solo parte de los mismos. La reducción de dimensionalidad es el proceso mediante el cual se descarta parte de la data que no aporta información relevante; y uno de los métodos más usados en todos los ámbitos es el análisis de componentes principales, o PCA, el cual se basa en el cálculo de algunos autovalores de la matriz de covarianzas de los datos. En este trabajo revisamos las herramientas matemáticas detrás del análisis del PCA, y detallamos los pasos de un algoritmo para reducir dimensionalidad que luego es implementado en Matlab. Se presenta también un ejemplo de aplicación para ilustrar el proceso.
Palabras claves: PCA; Reducción de dimensionalidad; Autovalores; Análisis de datos.
Abstract
In data analysis, we often deal with millions of variables to make estimations for decisions. Also, in digital image processing the number of data points representing pixels in three dimensions could become very large for color images. In all these cases computational costs for solving associated problems could not be affordable, and a reduction of dimensionality it is necessary. When working with high dimensional data, analysis and interpretation of results is difficult, and visualization of images could be prohibited in terms of memory. Frequently the data contains redundancy, and the important information can be found just with part of the data. In a color image, for example, with four channels, red, blue, green and grey-scale channel, one could combine the first three channels to get the information of the gray-scale channel. Dimensional reduction is a technique that allow us to work with a reduced part of the data without lost losing important information, and one of the methods used for dimensional reduction is the principal analysis component or PCA, which is based in the computation of a few eigenvalues of the covariance matrix. In this work we review the math tools and the steps to generate a classical algorithm for dimensionality reduction using PCA. We present mathematical elements and concepts involved in a principal component analysis algorithm for the projection of high dimensional data in a lower dimensional subspace. A practical example is presented to show how these mathematical tools work together to produce similar results in lower dimensional spaces.
Keywords: PCA; Dimensionality reduction; Eigenvalues; Data analysis.
Resumo
Problemas que requerem análise de dados são muitas vezes difíceis de resolver, principalmente devido ao número de variáveis envolvidas no modelo matemático. Os cientistas de dados normalmente trabalham com milhões de variáveis para fazer estimativas que apoiam decisões importantes. No processamento digital de imagens, por exemplo, o número de pontos representando pixels em três dimensões pode ser muito grande em imagens coloridas. Nesses casos, o custo computacional necessário para lidar com esses dados pode ser inaceitável, e a redução da dimensionalidade desses dados torna-se necessária. Mesmo quando a tecnologia apropriada está disponível, a redução do tempo de computação é sempre desejável. O manuseio de dados com alta dimensionalidade, análise e interpretação é difícil e, no caso de imagens, sua visualização pode ser afetada por limitações de memória. Na maioria dos casos, esses dados são redundantes e informações importantes podem ser reveladas apenas com parte deles. A redução de dimensionalidade é o processo pelo qual parte dos dados que não fornecem informações relevantes é descartada; e um dos métodos mais utilizados em todas as áreas é a análise de componentes principais, ou PCA, que se baseia no cálculo de alguns autovalores da matriz de covariância dos dados. Neste artigo, revisamos as ferramentas matemáticas por trás da análise de PCA e detalhamos as etapas de um algoritmo para reduzir a dimensionalidade que é implementado no Matlab. Um exemplo de aplicação também é apresentado para ilustrar o processo.
Palavras-chave: PCA; Redução de dimensionalidade; Autovalores; Analise de dados.
Introducción
La reducción de dimensionalidad no es más que la determinación de un número de variables mínimo con el cual se puedan representar los datos, y consiste en eliminar variables que no sean relevantes o que no aporten suficiente información. Actualmente existen técnicas o algoritmos para hacer esta tarea, la cual ha pasado a ser una actividad obligada en disciplinas como la ciencia de datos, una vez que simplifica el manejo de los datos y al mismo tiempo reduce el costo computacional en tiempo de procesamiento y utilización de memoria. Una técnica usada para reducir la dimensionalidad es eficiente mientras logra esta reducción de costos al mismo tiempo que mantiene una buena representación del modelo.
En la actualidad muchas aplicaciones dependen del manejo apropiado de datos, y a menudo los datos suelen presentarse en muchas dimensiones, dependiendo de la cantidad de variables involucradas, que en principio se justifican para la toma de decisiones; por lo tanto se espera que al tener representación en muchas dimensiones la información sea más completa. Sin embargo, el manejo y la interpretación de los datos se hace más complicado, sin contar el costo computacional que a veces es imposible de afrontar, véase por ejemplo (James, 2013)
La reducción de dimensionalidad explota la estructura del problema respetando la correlación entre variables, lo cual permite un manejo más eficiente de los datos sin pérdida de la información relevante.
Este trabajo está orientado a describir en forma simple para lectores que se inician en el tópico, las herramientas matemáticas que se usan en el proceso de la reducción lineal de dimensionalidad a través del análisis de componentes principales o PCA (por sus siglas en inglés). Se mostrará la derivación y posterior implementación en Matlab del algoritmo clásico que define esta técnica para el análisis de datos.
En las próximas secciones estaremos definiendo conceptos básicos asociados al análisis de datos a través de la estadística, con el objetivo de identificar el aporte del análisis de componentes principales al manejo eficiente y significativo de datos con altas dimensiones.
Medidas estadísticas empíricas de los datos
Generalmente, el manejo de los datos, a través de una muestra de ellos, a fin de obtener información de interés, comienza por establecer parámetros estadísticos como la media y la varianza, que nos dan información sobre la dispersión de los datos. En esta sección se presentan estos conceptos que miden la variabilidad de los datos. Comenzaremos considerando datos en una dimensión (1D) y luego extenderemos los conceptos a dos 2D o más dimensiones.
Sea , un conjunto de datos u
observaciones en una dimensión donde cada
, se define la media del conjunto como:
En este caso, cada xi representa una característica o variable que se desea estudiar.
La varianza se define como:
En algunas aplicaciones
se divide por para que sea insesgado.
La varianza, como estadístico de dispersión, mide la variabilidad de los datos de su medida central o media aritmética. Una medida que suele darnos más información sobre los datos es la desviación estándar s, o la raíz cuadrada de la varianza, la cual indica el rango de la variabilidad en los datos. La desviación estándar se indica en las mismas unidades de la media, mientras que la varianza se especifica en unidades al cuadrado por lo que no es tan fácil conjeturar sobre la información que brinda.
Se entiende por población a un conjunto bien definido de elementos; por ejemplo, los habitantes de una comunidad o los estudiantes de una Universidad. Si por cada elemento de una población se mide un conjunto de variables estaremos hablando de estadística multivariante, y los estadísticos como la media y la varianza se extienden apropiadamente. Por ejemplo, en el caso de los estudiantes de una Universidad pudiéramos recoger datos como la edad, género, promedio de calificaciones, carrera que cursa, etc., y por cada estudiante obtener esta información con el fin de analizarla para tomar alguna decisión gerencial.
Cada característica o variable puede tomar valores cuantitativos o cualitativos; sin embargo, en la práctica los variables cualitativas como color o género podrán representarse en una escala numérica; de esta manera si tenemos n individuos y medimos k características o variables podemos utilizar una matriz para representar estos datos:
Donde es el vector que
representa las características del i-ésimo individuo. En este caso tendremos un vector de medias con k
componentes, cada una representando la media de los valores de la variable
respectiva.
La dispersión o variabilidad de los datos en el caso multivariable puede ser analizada a través de las relaciones lineales entre las variables y representada mediante una matriz llamada matriz de varianzas y covarianzas, o simplemente matriz de covarianza.
Las entradas de la diagonal de esta matriz son las varianzas de cada variable, mientras que las entradas fuera de la diagonal son las covarianzas o los indicadores bivariantes. La entrada Sij (i ≠ j) de esta matriz mide la variación conjunta de las variables xi, y xj; si Sij es positiva significa que a valores altos/bajos de la variable xi podemos esperar valores altos/bajos de xi. Si el valor de Sij es negativo significa que la covariación es en sentido inverso. Si la covarianza es cero no se puede establecer una relación entre la variabilidad e las variables.
El cálculo de S también puede realizarse como:
Para efectos prácticos es importante reconocer que la matriz S es simétrica y semidefinida positiva, lo cual garantiza, entre otras cosas, que:
- Para
cualquier vector
de
.
- Todos
los autovalores de
son positivos o cero.
La covarianza de dos
variables x, y, con medias ,
respectivamente, puede
calcularse directamente como:
Cuando los datos están centrados alrededor de la media, la esperanza o valor esperado de la variable aleatoria es E[x]=0. En este caso la matriz de covarianzas es:
Otro estadístico
importante que señala en qué proporción una variable y está explicada por la
influencia lineal de otra variable x, es el coeficiente de correlación lineal, denotado por
El coeficiente de
correlación lineal toma valores en [-1,1], si se dice que las variables están directamente relacionadas si una
crece/decrece la otra crece/decrece; y si
, la relación es contraria, si una crece/decrece la otra
decrece/crece. Cuando
decimos que las variables no están correlacionadas.
Una explicación detallada de estos estadísticos con ejemplos incluidos puede ser hallada en (Salazar, 2017, Rencher, 1994).
Transformaciones lineales de los datos
En muchas aplicaciones
se desea conocer lo que pasa con estos estadísticos si a los datos se les suma
una cantidad o si se multiplican por un escalar; es decir, si son sometidos a
transformaciones de desplazamiento o de compresión/estiramiento. Para analizar
matemáticamente esta situación, consideremos un conjunto de datos , donde
(1-dimensión),
, y
.
Si cada se modifica como
, con para a y c dados,
entonces,
E[D] + c Þ
Ilustremos este
resultado con un ejemplo, sea , y tomemos
. Entonces
.
.
Una situación similar se presenta con la varianza.
V[D] Þ
Ejemplificamos estas propiedades con los datos del ejemplo anterior.
2/3,
.
.
.
El detalle de estas propiedades y su deducción puede ser hallado en (De la Puente, 2018, Rencher 1994).
Algunos conceptos de espacios vectoriales
A continuación revisamos brevemente conceptos del álgebra lineal, dentro del tópico de espacios vectoriales, cuyo entendimiento nos permitirá entender cómo proyectar en espaciós de menor dimensión.
Producto escalar: Sean y
dos vectores de
, se define su producto escalar o producto punto como:
.
El producto escalar es
un producto interior, o producto interno, este último definido como una función
que toma dos elementos de un espacio vectorial V y devuelve un número
real, usualmente se denota como , y satisface las siguientes propiedades:
- Simetría:
para todo par de vectores x, y se cumple que
.
- Definida
positiva: Para
se cumple que
, y
.
- Bilineal:
Para toto
, y
se cumple que:
La norma de un vector x está vinculada al
producto interno , y podría
ser diferente para dos funciones que definan productos internos distintos. Por
ejemplo, en
tomando dos vectores genéricos
pudiéramos definir el siguiente producto interno:
Una inspección de esta
función nos hará concluir que en efecto satisface las propiedades I, II y III,
mencionadas previamente, que definen un producto interno. En este producto
interno, la longitud del vector será
= 1, mientras que en el
producto punto
= 2.
Otro ejemplo de funciones que definen un producto interno es la covarianza, que por definición es bilineal, simétrica y definida positiva.
De igual manera podemos predecir que la distancia entre vectores depende del producto interno que se utilice. Si usamos el producto punto, más generalmente conocido, obtenemos lo que se conoce como la distancia euclídea.
En general, dado un
producto interno la distancia entre dos vectores x, y se define
como:
Otro aspecto geométrico a considerar en el análisis de datos es la orientación de los datos, la cual como veremos en la próxima sección puede establecerse mediante direcciones dadas por vectores. Así, la medida del ángulo entre dos vectores puede decirnos qué tan similar son sus direcciones, y esta medida también está relacionada con el producto interno y la norma de los vectores; por ejemplo:
Ortogonalidad: Se dice que dos vectores, distintos de cero, son ortogonales si
su producto interno es cero. Por ejemplo, los vectores y
son ortogonales ya que
su producto escalar es cero; haciendo notar que en el producto interno definido
en (1) estos vectores no serían ortogonales ya que
.
Una base de un espacio
vectorial V es un conjunto de vectores de V que son linealmente
independientes y generan a cualquier otro vector de V a través de alguna
combinación lineal. Por ejemplo, en los conjuntos B1 y B2
cumplen con tales requisitos.
La base B1 del
ejemplo, conocida como la base canónica de , contiene dos vectores ortogonales entre sí y de norma 1, por lo
que decimos que es una base ortonormal de
. Existen otras bases con estas características que resultan
provechosas cuando se hacen proyecciones a espacios de menor dimensión. Todas
las bases de un espacio vectorial tienen el mismo número de vectores, y a este
número se le conoce como la dimensión del espacio. El concepto se puede
extender a
y también a espacios vectoriales de funciones.
Una base ortonormal de
vectores en es un subconjunto de n
vectores de
los cuales son ortogonales dos a dos, y cada uno tiene norma 1. Siempre es
posible ortonormalizar vectores linealmente independientes para producir una
base ortogonal, por ejemplo mediante el proceso de Gram Schmidt (Lay, 2012,
Datta, 2010).
Los subespacios de un espacio vectorial V son subconjuntos propios de V que también son espacios vectoriales y por lo tanto disponen de bases para representar sus elementos.
Proyección en espacios de menor dimensión
Los grandes volúmenes de datos, generados por datos con alta dimensionalidad, son difíciles de analizar o de visualizar, por ejemplo, en el caso de las imágenes a colores, que son representadas por una matriz de pixeles, cada uno de los cuales representa 3 dimensiones, una para cada color (rojo, verde y azul), lo que significa que en alta resolución, la compresión y visualización son tareas que requieren de algoritmos eficientes; afortunadamente, con frecuencia, los datos pueden ser representados con tan solo algunas de las dimensiones. En particular, los procedimientos para comprimir imágenes utilizan técnicas para reducir su tamaño manteniendo la información más relevante o significativa. La reducción de dimensionalidad está fuertemente ligada al concepto de proyección ortogonal ya que se trata de proyectar la data en un subespacio de menor dimensión en el cual se puedan manejar los datos con mayor facilidad y extraer información relevante a menor costo.
Comencemos mostrando
como se proyecta un vector x de en un subespacio de menor dimensión, por ejemplo una recta con
vector director
. La recta es un subespacio de dimensión 1 que denotaremos con
. La proyección de x sobre U es un vector de U que denotaremos
, la figura 1 ilustra el proceso.
De acuerdo con la
definición, el vector proyección se puede escribir como combinación lineal de
los vectores en la base del subespacio U, en este caso la base
está formada solo por el vector v, por lo tanto , para algún escalar
.
Fig. 1. Proyección en un subespacio de dimensión 1.
En este caso, la
proyección es el vector de U más cercano a x, lo que significa que es mínima y en consecuencia el segmento
es ortogonal a v, esto se caracteriza como:
para algún escalar
Tomando en cuenta que el producto interno es bilineal, inferimos que
Nótese que conociendo
los vectores que generan el subespacio U, solo necesitamos el
valor de para obtener la proyección. En el ejemplo, si el vector v,
que es la base del subespacio de proyección, tiene norma 1, entonces conseguir
la proyección de x en U se reduce a hallar el
escalar
= < v, x >, y posteriormente la
proyección
.
Si usamos el producto punto como producto interno tendremos que
En esta última
expresión notamos que el vector es calculado como el
escalar
multiplicado por el vector v; sin embargo, esto es
equivalente a calcularlo como el producto de la matriz
por el vector v. A esta matriz P la llamamos matriz de proyección. Nótese que en este caso, sólo
necesitamos al escalar
para representar la proyección, lo cual señala el camino hacia la
reducción de la dimensionalidad.
Proyección en espacios de gran dimensión
Supongamos ahora que
queremos proyectar un vector de un espacio tridimensional en un subespacio U de dos dimensiones
generado por los vectores
. Haciendo la analogía con la proyección en un subespacio de una
dimensión, el vector proyección será una combinación lineal de
.
Adicionalmente,
considerando que la proyección ortogonal nos dará la menor distancia, el vector
será ortogonal al plano
expandido por
, lo cual significa que es ortogonal a
y a
, ver figura 2.
En términos
matriciales, consideremos B la matriz que tiene como columnas a , y sea
el vector de escalares, entonces, las siguientes dos condiciones
deben cumplirse:
1)
2) = 0 y
Sustituyendo (1) en (2) obtenemos
= 0 y
= 0 y
= 0
= 0 y
Una vez que los
vectores son linealmente independientes, la matriz
es cuadrada de orden 2 con columnas independientes, lo que
significa que su inversa
existe, y en consecuencia los escalares de la combinación pueden
obtenerse como:
Una vez que obtenemos , la proyección será
.
A la matriz se le conoce como
matriz de proyección. Si los vectores columnas de B son ortonormales,
entonces
es la matriz identidad
y el cálculo de la proyección se reduce a
, siendo
la matriz de
proyección. En este caso, para representar al vector
de
en el subespacio U basta con tener
, cumpliendo con el propósito de reducir la dimensionalidad.
En el caso general de
la proyección de un vector n-dimensional en un subespacio U de dimensión k << n, del cual se conoce una base
} de vectores ortonormales, la matriz B tendrá como como
columnas los vectores
, y por lo tanto será de
, la
será un vector n-dimensional que podrá
ser representado por un vector
que es k-dimensional.
Este resultado es la base que sustenta la reducción de dimensionalidad vía análisis de componentes principales.
Análisis de Componentes Principales y reducción de dimensionalidad
El análisis de componentes principales (PCA por sus siglas en inglés) es una de las técnicas más usadas para la comprensión y manejo de datos con altas dimensiones. Se ha utilizado por muchos años en el almacenamiento, compresión y visualización, de imágenes, aprovechando la característica de que generalmente las imágenes pueden ser representadas solo con algunas de las direcciones, y que muchas direcciones están altamente correlacionadas.
La siguiente gráfica ilustra la situación en dos dimensiones, en la cual los datos no están necesariamente en la misma recta; sin embargo su variación en un espacio de una dimensión es poco significativa, por lo que bien pudieran ser modelados por la recta que mejor los represente; este último término debe estar bien establecido, por ejemplo podríamos hablar de la recta de mejor ajuste en algún sentido; un modelo sugerido muchas veces es la recta que minimiza los errores cuadráticos en cada punto, sustentado por el método de los mínimos cuadrados lineales. La figura 3 muestra el caso de variables linealmente correlacionadas, en el cual los datos bien pueden ser modelados por una recta.
Fig. 3. Correlación lineal entre variables
Supongamos que tenemos
un conjunto de datos X que contiene N vectores , cada uno de ellos representando d características, es
decir cada uno es d-dimensional. Hablamos entonces de una muestra de N objetos en un espacio d-dimensional que
quisiéramos representar en un espacio k-dimensional de menor
dimensión (k << d) de tal forma que esta representación sea lo más similar posible
a la muestra original X. El objetivo del análisis de componentes principales es minimizar
el error de reconstrucción promedio de las proyecciones ortogonales con
respecto a la data original.
Ahora bien, sea } una base ortonormal de un espacio d-dimensional, entonces cada elemento
de
, del conjunto de datos, se puede escribir como
una combinación lineal de los vectores de la base
, esto es, existe un
vector de escalares
tal que:
Una vez que son ortonormales
, con
, lo cual significa que
representa la
proyección de
sobre el subespacio
unidimensional generado por
. Si ahora tomamos dos vectores
de
, obtendremos que
= [
] es una representación de
en un espacio de dos dimensiones. Es claro que con este
procedimiento podríamos obtener siempre una representación de los datos en un
espacio de menor dimensión, y también pudiéramos reconocer que para un cierto k
<< n la representación es adecuada.
Con todas estas
consideraciones, podríamos seleccionar k vectores de (k << d) y definir B como la matriz cuyas columnas son los k vectores ortonormales seleccionados, y la proyección del dato
sobre el subespacio U generado por estos k vectores se calcula como
, y puede ser
representada por un vector de coordenadas (reconocido como code)
.
Como hemos dicho
anteriormente, la proyección es un elemento del
espacio d-dimensional, y por lo tanto se puede expresar como combinación
lineal de los vectores de
,
.
Sin pérdida de
generalidad, asúmanos que los k vectores que generan el subespacio U son los vectores de
, los cuales son las columnas de la matriz B; entonces
.
La primera suma es la aproximación a los datos en el subespacio U, con
, y la segunda suma es
un vector en el complemento ortogonal de U. Lo que se plantea en
el análisis de componentes principales es descartar la segunda suma, tal como
lo hemos indicado previamente, y definir al subespacio generado por los
vectores
como el subespacio
principal, aceptando al vector
como la representación o aproximación de
en el subespacio U de menor dimensión.
Considerando N objetos en el conjunto
de datos el objetivo entonces es
hallar el vector de coordenadas
y los vectores
, con
, tal que el error
cuadrático de reconstrucción promedio se minimice. Si denotamos
este error de reconstrucción cuando deseamos representar la data
a un espacio k-dimensional, el problema consiste en:
=
Con el propósito de
facilitar la notación asumimos que la esperanza del conjunto de datos es cero y
que disponemos de una base de vectores ortonormales en el espacio d-dimensional donde se
encuentran los datos, y que para todo n queremos hallar
similar a
.
La medida de
similaridad que se plantea es el cuadrado de la distancia euclídea , siendo el objetivo
minimizar el promedio de los errores cuadráticos o el error de reconstrucción
(Pearson, 1901).
Se plantea entonces un
problema de optimización, y para hallar el óptimo, para un n dado n = 1, …, N, debemos
encontrar el conjunto de escalares
y el conjunto de
vectores
óptimos, por lo tanto se trata
de un problema de optimización multivariable. Una forma simple de
lograr este objetivo es hallar primero el conjunto de escalares óptimos dada
una base fija de vectores
, y luego hallar los
vectores óptimos, que conformarán el subespacio principal.
Una vez que hemos
escogido la norma euclídea, como la herramienta para medir la similaridad, el
conjunto de escalares óptimos, para un dado, es aquel que anula las
derivadas parciales de
con respecto a cada
coordenada en
, las cuales son funciones de
, por lo tanto debemos aplicar la
regla de la cadena.
Considerando que el
error de reconstrucción viene dado por , tenemos que para un dato particular
el término
correspondiente en la sumatoria es:
Por lo tanto,
Ahora bien, una vez
que se deduce que:
Por lo tanto, el valor
óptimo para el parámetro viene dado por:
(1)
De esta manera, para
cada podemos obtener
reconociendo que el
valor óptimo de
coincide con aquel que
nos da la proyección ortogonal del elemento
de la data original en
el subespacio 1-dimensional generado por el vector
. La generalización de
este resultado apoya la propuesta inicial de considerar la proyección ortogonal
como una
representación de la de la data original d-dimensional X en el subespacio k-dimensional U (k << d) producido por k-vectores dados. El
próximo paso será la escogencia de los vectores
que definen el subespacio principal.
Tal como quedó
establecido en el resultado (1) cada coordenada del vector de escalares para un determinado se calcula como
, y la proyección se
expresa en términos de la combinación lineal
por lo tanto,
La última igualdad en (2) se justifica por la simetría del producto interno.
De igual manera, se expresa como combinación lineal de todos los vectores de la
base
, lo cual podemos expresar en términos de dos sumatorias, esto es:
Por lo tanto, el error
al aproximar por
, en la medida establecida, es igual a la aproximación que
resultaría si usáramos el complemento ortogonal del subespacio principal, y
este hecho puede ser usado equivalentemente para hallar la solución óptima, tal
como veremos a continuación.
Veamos como reformular
la expresión del error cuadrático
promedio que queremos optimizar usando el resultado en (3).
En esta última
expresión podemos identificar escalares que intervienen en una combinación lineal de los vectores
del complemento ortogonal.
Por lo tanto, la norma euclídea al cuadrado no es más que el producto escalar de un vector del complemento ortogonal por si mismo.
En donde = 0 si
y
= 1 si
, por ser estos vectores
ortonormales. De esta manera
Luego, sustituyendo este resultado en el objetivo a optimizar, tenemos que:
El último resultado, que obedece a la simetría de del producto interno, y una vez que las sumas son intercambiables, tenemos que:
Podemos identificar en esta nueva expresión del error cuadrático de reconstrucción a la matriz S como la matriz de covarianzas de datos centrados.
Con esta reformulación
de , el problema se traduce en hallar los vectores
con j en
del complemento
ortogonal al subespacio principal, sujeto a que estos vectores sean
ortonormales. Esto lo podemos escribir como:
minimizar
sujeto a:
con
.
Podemos resolver este problema usando el método de los multiplicadores de Lagrange (ver Thomas, 2005). La función Lagrangiana sería:
.
La solución se hallaría
resolviendo el sistema de Lagrange, para lo cual se igualan a cero las
derivadas parciales con respecto a cada multiplicador , y también las
derivadas parciales con respecto a los vectores
.
Finalmente, podemos notar, que los vectores que optimizan el error cuadrático promedio son autovectores de la matriz de covarianzas. En este caso, el valor del objetivo estaría dado por:
Así, para saber el
valor mínimo de basta con hallar los d-k
autovalores de menor valor de S, que por ser una matriz simétrica y semidefinida positiva tiene
autovalores reales no negativos. Sin embargo, los correspondientes autovectores
pertenecen al complemento ortogonal del subespacio principal.
Por lo tanto, y los vectores que necesitamos en la base B son los
autovectores correspondientes a los k
autovalores de mayor valor.
Esto puede apreciarse en la figura 4, que presenta una data en dos dimensiones y señala los dos autovectores de la matriz de covarianzas; se puede observar que el autovector asociado al mayor autovalor (resaltado en rojo) representará la mejor base para la proyección, mientras que el autovector asociado al autovalor de módulo mínimo sugiere la magnitud del error.
Fig. 4. Representación del subespacio principal
Algoritmo básico (reducción de dimensionalidad vía PCA)
Una vez que entendemos
cómo obtener la base del espacio de proyección, podemos retomar el cálculo de
los escalares (el code) de la combinación lineal que permite construir la
proyección para cada dato , con
. Esto nos habilita para definir un algoritmo con los pasos básicos del
proceso.
En la solución del problema hemos asumido que la data es centrada, o que la media es cero; solo para disminuir la dificultad en la derivación, pero obtendríamos el mismo resultado con cualquier valor de la media; aunque por cuestiones numérico-computacionales, es preferible restar la media a los datos en este tipo de análisis. Para mayor información sobre estas prácticas y otras técnicas eficientes para implementaciones de PCA se sugiere ver Deisenroth 2020, y James, 2013)
Otra práctica conveniente es normalizar la data; y esto lo hacemos dividiendo en cada dirección por la desviación estándar, lo cual libera la dependencia de unidades y garantiza una varianza unitaria en cada dimensión sin alterar la correlación entre variables.
En resumen, los
primeros pasos del algoritmo consisten en centrar y normalizar la data; eso es,
por cada punto :
Luego, debemos hallar
la matriz de covarianzas S de la data , y calcular los k autovalores de mayor valor. Los k
autovectores asociados a estos autovalores formarán las columnas de la matriz
de proyección, con la cual finalmente obtenemos la data proyectada.
Implementación en Matlab
A continuación, se presenta un código básico para la reducción de dimensionalidad; en el cual se crea una data aleatoria, que será sujeta a la reducción de dos dimensiones a una dimensión. La salida es el vector de escalares alfa (en este caso un escalar, ya que el subespacio de proyección es unidimensional).
Fig. 5. Código básico en Matlab para PCA
La figura 6 muestra los resultados de la ejecución del código (Fig. 5) para un conjunto N=500 datos aleatorios.
Fig. 6. PCA para reducción de datos de 2 dimensiones a una dimensión
Esta filosofía puede extenderse al caso general de N datos con d características que se desee proyectar en un espacio de k << d dimensiones; así, seleccionaríamos k autovectores asociados a los k autovalores de mayor valor de la matriz de covarianzas.
Nótese que en el paso 20 del código estamos calculando la descomposición espectral de la matriz que representa a los datos; sin embargo, lo conveniente en la práctica es calcular solo k autovectores asociados a los autovalores de mayor valor, y esto puede hacerse con métodos de proyección para el cálculo de autovalores; lo que sería recomendable en el caso general de aplicaciones con alta dimensionalidad. Para una explicación detallada de estas técnicas se recomienda ver (Trefethen, 1997). Una vez que la matriz S es simétrica y deficiente en rango, una propuesta con cálculo estable sería hallar la descomposición en valores singulares truncada de la matriz X. El tópico ha sido tratado ampliamente en bibliografías recientes, ver por ejemplo (Deisenroth, 2020).
Conclusiones
Bajo la suposición de
tener un conjunto de N datos con media 0, en un espacio d-dimensional, y
disponer de una base ortogonal de vectores para este espacio, se han descrito
en forma detallada los elementos de la matemática que sirven de base para uno
de los algoritmos más usado en la reducción de dimensionalidad, como lo es el
análisis de componentes principales o PCA. En forma incremental se describieron
las bases del algoritmo que soluciona el problema.
El análisis de componentes principales ha sido por muchos años la referencia para hacer reducción de dimensionalidad y existen muchas referencias que lo definen y documentan, generalmente desde perspectivas de alto nivel de especialización en estadística, o bajo el enfoque de nuevos paradigmas como el aprendizaje automático (o Machine Learning) sin embargo, las herramientas básicas para entender el funcionamiento del algoritmo y programarlo en el lenguaje de programación de preferencia, yacen en el álgebra lineal, por lo que puede ser considerado como una aplicación del álgebra lineal.
Otro esquema de derivación del algoritmo consiste en maximizar la varianza en el subespacio de proyección para retener información de interés (Deisenroth, 2020). El enfoque es elegante pero requiere de elementos más sofisticados ligados a la estadística. En este trabajo hemos querido usar herramientas más básicas de la matemática.
Describimos normas relacionadas con diferentes productos internos, aunque usamos el producto escalar clásico en la derivación del algoritmo, por lo cual queda abierta la posibilidad de generar y comparar con otros algoritmos basados en diferentes normas. De igual manera trabajos para el cálculo efectivo y de bajo costo computacional de los autovalores de módulo máximo de la matriz de covarianza se proponen a futuro.
Referencias
- Datta, B.N (2010). Numerical Linear Algebra and Applications. Society for Industrial and Applied Mathematics; 2a. Edición.
- De la Puente, V., C. (2018). Estadística descriptiva e inferencial, Ediciones IDT CB, Madrid, España.
- Deisenroth, M.P., Faisal, A., Soon, C. (2020). Mathematics for Machine Learning. Cambridge University Press. https://mml-book.com.
- James, G., Witten, D., Hastie, T., Tibshirani, R. (2013). An introduction to Statistical learning with applications in R, Springer, New York.
- Lay, D. (2012). Álgebra lineal y sus aplicaciones. Pearson Education, México.
- Pearson, K. (1901). On lines and planes of closest fit to systems of points in space. Philosophical Magazine, 2(6), 559 – 572
- Rencher, A.C., Bruce Schaalje G.B. (1996). (2008). Linear models in statistics. Hoboken, N.J: Wiley-Interscience, 6a. Edición.
- Thomas, G.B. (2005). Cálculo. Varias Variables, Pearson, Addison Wesley, 11a. Edición.
- Salazar, P., C., Del Castillo, G., S. (2017). Fundamentos Básicos de Estadística, http://www.dspace.uce.edu.ec/handle/25000/13720, 1ª. Edición
- Trefethen, L. N. & Bau III, D. (1997). Numerical linear algebra. Siam, Philadelphia.
© 2022 por los autores. Este artículo es de acceso abierto y distribuido según los términos y condiciones de la licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
(https://creativecommons.org/licenses/by-nc-sa/4.0/).
Enlaces de Referencia
- Por el momento, no existen enlaces de referencia
Polo del Conocimiento
Revista Científico-Académica Multidisciplinaria
ISSN: 2550-682X
Casa Editora del Polo
Manta - Ecuador
Dirección: Ciudadela El Palmar, II Etapa, Manta - Manabí - Ecuador.
Código Postal: 130801
Teléfonos: 056051775/0991871420
Email: polodelconocimientorevista@gmail.com / director@polodelconocimiento.com
URL: https://www.polodelconocimiento.com/