• No se han encontrado resultados

5.2 Algoritmos para la extracción de patrones y reducción de dimensionalidad

5.2.4 Linear Discriminant Analysis (LDA)

En este paso se hará uso de la operación matemática llamada Linear Discriminant Analysis (LDA)

con el objetivo de reducir la dimensionalidad de los datos producidos por la AC. Este bloque esta implementado en un objeto llamado LDA que recibe como parámetro en su constructor el número de dimensiones en que los datos quedan reducidos.

LDA es un algoritmo muy común usado para el proceso de reducción de dimensionalidad en aplicaciones de machine learning. Se utiliza como un paso previo a la clasificación de patrones. El objetivo de LDA es proyectar un conjunto de datos de N dimensiones en una dimensión menor tal que las clases queden bien separadas. Para conseguir esto el estadístico Ronald Fisher en 1988 propuso, proyectar los datos de N dimensiones en una dimensión menor k, (con k £ clases -1) donde se maximice la media inter-class y se minimice la varianza intra-class [59 60 61]. Para este caso, las clases son los sujetos a identificar. En la Figura 64 se representa gráficamente este proceso:

Figura 64 – Ideas fundamentales de LDA [61].

La aplicación de LDA para el propósito se resume en 5 pasos, no obstante, para que no todo sea formulación matemática y haya una representación gráfica en cada uno de los pasos vamos a fijar el número de sujetos en 3. Entonces, si se sabe que N es la dimensión del vector aleatorio de AC, k es la dimensión a reducir, p es el número total de observaciones formado por el conjunto de datos y s

§ Calcular los vectores de medias m, de 1 x N dimensiones de los diferentes sujetos, del conjunto de datos a usar. Cabe recordar que el conjunto de datos serán las observaciones de los vectores aleatorios N dimensionales por cada sujeto.

Figura 65 – Vectores de medias de cada sujeto.

Calcular las matrices de dispersión inter-subject o between-subject (Sb) e intra-subject o within-subject Sw .

Para el cálculo de estas matrices de dispersión se tienen las siguientes ecuaciones:

𝑆h= 𝑆h@ i @A?

( 13)

𝑆j = 𝑆k− 𝑆h ( 14)

Donde s, se recuerda que es el número de sujetos, 𝑆@ representa las matrices de covarianza muestral de cada uno de los vectores aleatorios N dimensional de cada sujeto y 𝑆k representa la matriz de covarianzas de todo el conjunto de observaciones de todos los sujetos. Estos cálculos se representan gráficamente en las Figuras 66 y 67.

Figura 67 – Cálculo del matriz Sb.

§ Calcular los autovectores (e1, e2,… ,eN) y sus correspondientes autovalores (λ1,λ1, …, λN)

correspondientes a la matriz Sw-1Sb mediante la ecuación:

𝐴𝑣 = 𝜆𝑣 ( 15)

Donde𝑨 =Sw-1Sb. La ecuación (15) es la ecuación más importante de este apartado porque

nos permite entender el funcionamiento de LDA. Al estar Sw-1 invertida y multiplicada por

Sb, al resolver la ecuación (15) estaremos encontrando las direcciones de los ejes de una nueva base que maximicen la separación entre múltiples clases y minimicen la varianza dentro de cada clase. Es decir, v será la matriz de cambio de base que proyecte los datos en una nueva dimensión, para que cumplan condiciones impuestas por A. Esta idea es fundamental para entender LDA y, por tanto, la idea que subyace a todo el trabajo. Sin embargo, v no reduce la dimensionalidad de los datos, es necesario escoger los k autovectores de la matriz

v cuyos autovalores sean los más grandes para reducir la dimensión de los datos.

§ Ordenar los autovectores según el orden decreciente a sus autovalores y elegir los k primeros para formar la matriz W de dimensión Nxk, donde cada columna representa un autovector. Es decir, W será una matriz que contenga los k autovectores a los que les corresponden los

Figura 68 – k autovectores más grandes.

§ Utilizar la matriz W para transformar los datos de N dimensiones a la dimensión menor k, mediante la multiplicación Y=X x W. Donde X es una matriz de p x N que contiene todas las observaciones de todos los sujetos, e Y es la matriz, de dimensiones p x k, transformada al espacio de dimensión k donde los sujetos están bien separados. Cada fila de Y representa las coordenadas de cada observación en la nueva dimensión y es lo que se considera como patrón.

Figura 69 – Proyección de los datos a en una dimensión más reducida.

En las Figuras 65 a 69 se ha representado un ejemplo con 3 clases o sujetos, pero la idea es extrapolable a un mayor número de clases o sujetos. Aunque los 5 pasos anteriores puedan parecer bastante liosos, la idea es que este algoritmo es capaz de encontrar una matriz de transformación a una nueva dimensión, mediante la ecuación (15) para conseguir proyectar los datos en esa nueva dimensión más reducida en la que se maximiza la separación entre múltiples clases y se minimiza la varianza dentro de cada clase. Por ello, se consideran patrones las coordenadas de cada observación en la nueva dimensión, quedando el esquema de este bloque como el de la Figura 70:

Figura 70 – Esquema funcional de LDA.

Por otro lado, la representación gráfica de los resultados cuando estos tienen un gran número de variables aleatorias es imposible. Por ello, se procede a realizar un ejemplo sencillo que permita ver gráficamente la potencia de este algoritmo:

§ Se escogen 8 sujetos de la base de datos PTB y se estructuran las observaciones de cada uno de ellos de la misma manera que en la matriz X de la Figura 70. Si el vector aleatorio N dimensional consta de 500 variables aleatorias resultaría imposible visualizar una observación en 3 dimensiones. Pero si se aplica LDA y se reduce un dato de 500 variables aleatorias a una nueva dimensión en la que con solo 3 coordenadas seamos capaces de visualizar los datos se podría observar cómo está operando LDA. Esto se puede ver en la Figura 71:

Figura 71 – Reducción a 3 dimensiones de las observaciones de 8 sujetos.

Se observa como cada nube de puntos está asociada a cada sujeto. De hecho, cada punto de esa nube de puntos representa una observación proyectada sobre un espacio tridimensional. Se puede observar también como cada sujeto está separado completamente uno respecto del otro por lo que los patrones, que en este caso son las coordenadas en ese espacio tridimensional son únicas para cada uno.

Sin embargo, LDA presenta un problema a tener en cuenta, y es que Sw podría no llegar a ser invertible. Esto sucede porque las filas y columnas de la matriz Sw no son linealmente independientes, es decir, el determinante de Sw es 0, o desde otro punto de vista, el rango es menor que la dimensión de Sw [60].

Por último, y no por ello menos importante, debemos de tener claro que LDA, para conseguir la matriz que transforme los datos a una dimensión menor, necesita conocer el par observación-etiqueta del sujeto al que pertenece tal como se ve en la Figura 70, es por esto que se suele decir que LDA es un algoritmo supervisado. También hay que mencionar que k, es el número de dimensiones a reducir y va a ser considerado como un parámetro a optimizar por el sistema en el capítulo de simulaciones. Afortunadamente, existe un Toolbox4 de Matlab que tiene implementada la función LDA. Sin embargo, su uso no es para nada trivial y es necesario conocer la forma matricial de colocar los datos y los resultados que se obtienen.