Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Proyecto Fin de Máster Máster Universitario en Ingeniería de Telecomunicaciones Estudio del método Common Spatial Patterns y sus variantes en interfaces cerebro-ordenador Autor: F. Javier Olías Sánchez Tutor: Sergio A. Cruces Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016
Proyecto Fin de Máster Máster Universitario en Ingeniería de Telecomunicaciones Estudio del método Common Spatial Patterns y sus variantes en interfaces cerebro-ordenador Autor: F. Javier Olías Sánchez Tutor: Sergio A. Cruces Profesor Titular Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016
Proyecto Fin de Máster: Estudio del método Common Spatial Patterns y sus variantes en interfaces cerebro-ordenador Autor: F. Javier Olías Sánchez Tutor: Sergio A. Cruces El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos El desarrollo de este trabajo pone final a mis estudios de máster y a una etapa de mi vida. Es por eso que en esta página quiero agradecer a todas las personas que me han empujado a conseguir mis objetivos y a crearlos, porque debo admitir que no los he formado yo solo. En primer lugar y aunque nunca lo lleguen a saber, quiero darles las gracias a mis músicos favoritos (Kase-O, Morodo, Soldiers of Jah Army, Stick Figure, The Green, etc...) por hacer las canciones que me han acompañado durante todos mis años de estudiante y en especial durante la realización de este trabajo porque sin su música todo hubiese sido más difícil. Tampoco me puedo olvidar de mi primo Manolo, ni de mis amigos Ángel y Mayte porque siempre han estado a mi lado y con los que tantos buenos momentos he pasado. Ellos nunca han dudado en echarme una mano y me han enseñado muchas más cosas de las que he aprendido estudiando. Quien no puede faltar en esta página es mi familia, porque sin su ayuda hoy yo no estaría aquí. Agradezco a mis padres la educación que me han dado. Ellos me han enseñado a no rendirme nunca, a ser tan cabezón como soy; me han educado para que sea libre y tome mis propias decisiones y me siento realmente afortunado por ello, ya que es algo que no todo el mundo ha podido disfrutar. Le doy las gracias a mis hermanas Isabel y Macarena por darme siempre su amor, por haber estado siempre de mi parte, porque junto a ellas formé mi primer equipo (aunque solo fuese para afrontar problemas de niños) y porque se que ellas nunca me van fallar. Finalmente quiero agradecerle a Carmen todo su amor y cariño. Ella me ha enseñado a estudiar, a organizarme, a dedicarle el tiempo que cada cosa necesita. Quiero agradecerle todas las tardes, mañanas y noches que hemos pasado en las bibliotecas o en el cuarto de estudio. Quiero agradecerle todos los besos, todas las veces que me ha animado a seguir cuando ya no podía más, todas las fuerzas que me ha dado, porque ella ha estado conmigo durante la mayor parte de mis años de estudiante, con ella he aprobado todas las asignaturas de este máster y ha hecho que esta carrera sea mucho más fácil. I
Resumen La s comunicaciones Brain Computer Interface (BCI) consisten en una tecnología que permite que las personas puedan comunicarse con una máquina o un ordenador, usando para ello el cerebro y en la mayoría de los casos un casco de EEG. Este campo supone un gran reto para la ingeniería (junto con muchas otras ramas de conocimiento) y en la actualidad se está investigando mucho y se están realizando grandes avances. La importancia de investigar y avanzar en la realización de estos sistemas se debe a que los sistemas BCI pueden ser de gran ayuda a personas que sufren de algunos trastornos de parálisis cerebral, o que padecen de otras enfermedades o discapacidades que impidan el uso normal de sus habilidades motoras. Se cree que estos sistemas pueden mejorar considerablemente la calidad de vida de estas personas, para las cuales pequeños avances y cambios implican grandes mejoras. Common Spatials Patterns (CSP) es un algoritmo muy conocido y ampliamente usado que ha cobrado gran importancia durante los últimos años por sus aplicaciones en BCI para los sistemas basados en EEG multicanales. El algoritmo CSP consiste en encontrar un filtro espacial óptimo, que reduzca la dimensionalidad de las señales originales pudiendo tomar tantos canales como se desee. El objetivo de este trabajo consiste en realizar un repaso sobre esta técnica y también sobre Linear Discriminant Analysis (LDA), que se trata de una técnica de clasificación lineal. Además, se ha implementado un algoritmo basado en CSP con el que se consiguen mejorar los resultados que se obtienen usando únicamente la técnica de CSP. El algoritmo desarrollado es capaz de distinguir entre dos clases y además, se ha realizado una extensión en la que se distingue entre cuatro clases usando un sistema de votaciones simple. Para poder probar y comprobar el correcto funcionamiento de ambos algoritmos desarrollados, se han usado los datos procedentes de una competición pública de BCI, que ha sido usada como referencia en numerosos artículos. Esto nos ha permitido comparar los resultados obtenidos con nuestros algortimos con aquellos obtenidos mediante otras técnicas y variantes de CSP, como sería el caso del algoritmo RSTFC, que también ha sido implementado y probado durante este trabajo. Por último, se han obtenido unas conclusiones de los sistemas BCI, así como de las distintas técnicas mencionadas anteriormente. Para ello nos hemos ayudado de gráficas y medidas obtenidas a partir de los resultados obtenidos. También hemos podido extraer conclusiones a partir de ilustraciones de los filtros espaciales calculados con CSP III
Índice Resumen III abstract V Índice Abreviado VII 1 Introducción 1 1.1 Brain Computer Interface 2 1.2 Método de adquisición 4 Electroencefalograma 4 1.3 El cerebro humano 5 1.3.1 Las ondas cerebrales 7 1.4 Sistemas BCI 8 1.4.1 Ondas µ 8 1.4.2 La onda P300 9 1.5 Conclusiones 11 2 Principales técnicas usadas 13 2.1 CSP 13 2.1.1 Extracción de características 17 2.2 LDA 19 2.2.1 Teorema de Bayes 19 2.2.2 LDA para dos clases 20 2.3 Conclusiones 22 3 Conjunto de datos 25 3.1 Datos experimentales 25 3.2 Grabación de los datos 26 3.3 Descripción de los datos 27 3.4 Conclusiones 29 4 Algoritmo Implementado 31 4.1 Visión general 31 4.2 Elección de parámetros 32 4.3 Partición de señales 33 4.4 Iniciación de CV 34 XI
XII Índice 4.5 Banco de filtros 34 4.6 Cálculo de filtros espaciales 35 4.7 Extracción de características 36 4.8 Entrenamiento del clasificador 37 4.9 Pruebas de CV 37 4.10 Test 37 4.11 Extensión a cuatro clases 38 4.12 Conclusiones 40 5 RSTFC: A Novel Algorithm for Spatio-Temporal Filtering and Clasification of Single-Trial EEG 41 5.1 Metodología 41 5.2 Conclusiones 44 6 Resultados 45 6.1 Mano izquierda - Mano derecha 47 6.1.1 Usando una sola banda (Alfa y Beta a la vez) 47 6.1.2 Usando dos bandas (Alfa y Beta por separado) 48 6.1.3 Usando cuatro bandas 49 6.2 Mano izquierda - Ambos pies 52 6.3 Mano izquierda - Lengua 53 6.4 Mano derecha - Ambos pies 53 6.5 Mano derecha - Lengua 55 6.6 Ambos pies - Lengua 57 6.7 Multiclase 59 6.8 Regularized Spatio-Temporal Filtering and Classification 60 6.9 Conclusiones 63 7 Análisis de los resultados 65 7.1 Descomposición en bandas de frecuencia 65 7.2 Zonas de cerebro 66 7.3 Porcentajes de acierto 68 7.4 Multiclase 69 7.4.1 Regiones de decisión 69 7.4.2 Aciertos por clase 71 7.5 Conclusiones 72 8 Conclusiones 75 Índice de Figuras 79 Índice de Tablas 83 Bibliografía 85
Notación Tabla 1 Tabla de signos matemáticos usados en el trabajo. Notación matemática usada TNúmero de muestras temporales de un ensayo. NNúmero de filtros espaciales. CNúmero de canales (número de sensores de la prueba EEG). XSeñales de cada uno de los sensores (filtradas con un filtro paso de banda). wFiltro espacial simple. WMatriz de filtros espaciales. YSeñales filtradas espacialmente. ySeñal filtrada espacialmente. ΣMatrices de estimación de covarianza de las señales X. σ2Varianzas de las señales filtradas. uVector que satisface que: uu>=1 SiVariable auxiliar: Si=U>Σ−1/2 TΣLΣ−1/2U λSímbolo usado para representar autovalores. φSímbolo usado para representar autovectores. zvector de características obtenidas de las señales X CNúmero de clases en una clasificación. cVariable que se refiere a las clases. zVariable que se refiere al conjunto de las obsevaciones. oVariable que se refiere a una observación en concreto. znPuntos del plano. aCoeficientes que definen un plano. bTérmino independiente en la definición de un plano. ρCoeficiente de regularización X(τ)Matriz de señales, retrasada τmuestras temporales. ˜ XMatriz de señales aumentada. XIII
1 Introducción Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. Albert Einstein Los sistemas BCI proporcionan un canal de comunicaciones novedoso para que las personas puedan interactuar con su entorno. La principal idea de estos sistemas es decodificar el estado mental de un sujeto a partir de su actividad cerebral y usar esta información para controlar una aplicación en concreto o un dispositivo electrónico. El objetivo de este trabajo es realizar un algoritmo de procesamiento de señales para poder decodificar en que parte del cuerpo está pensando una persona a través de un sistema BCI. Como ya se ha dicho, los sistemas BCI ofrecen una forma de comunicación entre el cerebro y el entorno de una persona sin que intervengan otros órganos o músculos, de manera que podemos encontrar en esto una gran utilidad para aquellas personas que tengan algún tipo de discapacidad asociada al sistema motor. Esta tecnología les permitiría manejar ordenadores o máquinas que les proporcionen una mayor autonomía, aumentando así considerablemente su nivel de vida. Además de esta motivación, se espera que el progreso de los sistemas BCI nos ayude a avanzar en el estudio del cerebro, del que aun a día de hoy se sabe muy poco a pesar de ser considerado uno de los órganos más importantes del cuerpo humano. Al trabajar con estos sistemas, cada vez vamos aprendiendo más acerca de como el cerebro codifica y decodifica la información, los estados mentales y los impulsos que genera, entre otras muchas cosas. Por otro lado los sistemas BCI suponen un reto científico, abarcando diferentes ramas del conocimiento en ingeniería y medicina. 1
2Capítulo 1. Introducción Para la realización y comprobación de los resultados obtenidos con el algoritmo desarrollado, se han usado los datos proporcionados por una competición BCI, de manera que podemos comparar nuestro algoritmo con el resto de algoritmos y técnicas desarrolladas, abstrayéndonos así de los problemas surgidos en la etapa de adquisición de los datos, como podrían ser el uso de diferentes sistemas de adquisición de datos, aparición de artefactos, ruido o entrenamiento de los pacientes. 1.1 Brain Computer Interface La actividad cerebral produce señales que son detectables sobre el cuero cabelludo, en la superficie del cerebro o dentro del mismo. La Interfaz Cerebro Ordenador BCI, traduce estas señales en salidas que permiten al usuario comunicarse sin la participación de músculos debido a que las señales cerebrales no dependen del control neuromuscular [ 30 ]. Al hablar de una comunicación BCI nos referimos a una comunicación en un único sentido: desde el cerebro al ordenador. La comunicación desde el computador a la persona se realiza normalmente mediante estímulos visuales o auditivos, por lo que no supone un problema y no es un campo a abordar en el estudio de BCI. Para conseguir una comunicación fiable se debe conseguir una tasa de acierto igual o superior al 70%. Este límite se ha establecido porque según el programa de soporte lingüístico del departamento de educación de Australia 1 la comunicación verbal es posible a ese nivel [ 26 ], y además este límite ha usado en numerosas publicaciones sobre BCI como [21] [5]. En un principio, cuando se comenzaron a desarrollar los sistemas BCI, conseguir este porcentaje de acierto era una tarea muy dura, ya que era necesario un entrenamiento muy intensivo del usuario para conseguir la capacidad de interactuar correctamente con un sistema BCI [ 44 ] [ 45 ]. Sin embargo en la última década, gracias a las aportaciones de las técnicas de aprendizaje máquina, se han conseguido numerosos avances que han facilitado y acortado el tiempo de entrenamiento de los usuarios de BCI, como son las técnicas de Support Vector Machine (SVM) y CSP. 1Education and Training Departament: http://www.education.vic.gov.au/Pages/default.aspx
1.1 Brain Computer Interface 3 Figura 1.1 Esquema BCI. Fuente: Imagen modificada [2] . Como cualquier sistema de comunicaciones, un sistema BCI se compone de: •Una entrada, que en este caso sería la intención 2del usuario. •Una salida que serían los comandos que interpreta la máquina. • Un canal de comunicaciones que posibilite la transmisión de señales desde el cerebro al ordenador. Para este propósito se usarán los cascos de Electroencefalograma (del inglés Electroencephalography) (EEG). • Un codificador de fuente. En BCI el propio cerebro humano es el encargado de realizar la tarea de codificador de fuente por lo que es necesario disponer de un lenguaje que el cerebro sea capaz de codificar directamente en señales que puedan ser transmitidas a través del canal. Es decir, disponer de un conjunto de símbolos que los cascos de EEG sean capaces de captar. • Un decodificador de fuente, para que el ordenador sea capaz de interpretar esa información. Teniendo en cuenta los distintos elementos que componen un sistema BCI, podemos ver que este tipo de comunicaciones abarcan un gran número de ramas. Entre las que más importancia tienen podemos encontrar la ingeniería electrónica que tiene gran importancia en el desarrollo del casco que capta las señales cerebrales. Por otro lado, tiene especial importancia el procesado de señales, que será la ciencia que usemos para interpretar las señales cerebrales y en la que se centra este trabajo y por último, aunque no menos importante, la neurología, que es la ciencia que estudia el cerebro desde un punto de vista fisiológico y biológico y nos permite entender el funcionamiento del cerebro. 2Desplazar un selector en una dirección, detener un contador...etc
4Capítulo 1. Introducción 1.2 Método de adquisición Existen varias alternativas para lograr la adquisición de las señales propias de la actividad cerebral y con ella los símbolos en los que el usuario va a codificar la información. Entre ellas podemos destacar todas las técnicas basadas en campos magnéticos: Magnetoencefalografía (MEG), functional Magnetic Resonance Imaging (fMRI) y functional Near-Infrared Spectroscopy (fNRI). Sin embargo, para la adquisición de señales mediante estas técnicas son necesarios grandes dispositivos que requieren de mucha energía por lo que son pruebas que se realizan en un periodo de tiempo acotado, debido al consumo de energía y a la comodidad a la hora de trabajar con ellos (tamaño, precio,...), pero a pesar de ello existen varios estudios que han explorado la posibilidad de estas técnicas de adquisición para su uso en BCI [ 13 ][ 14 ][ 27 ][ 46 ]. El resultado de la prueba suele ser representado con una imagen o con un volumen, pero no proporcionan una medida por cada instante de tiempo durante el transcurso de la prueba, es decir, tienen una baja resolución temporal. Este es el motivo por el que en BCI se suelen usar únicamente dos técnicas de adquisición de señales: Electrocorticografía (del inglés Electrocorticography) (ECoG) y EEG. Ambas técnicas permiten ser usadas en tiempo real y permiten la movilidad de la persona que se somete a la prueba. No hay que olvidar que el objetivo de BCI es proporcionar a las personas una comunicación lo más cómoda posible. La electrocorticografía (ECoG) consiste en realizar un implante de una formación de electrodos en la corteza cerebral para poder medir la actividad de las distintas zonas del cerebro. De esta manera se consigue tener una relación señal a ruido mucho mayor que al usar EEG, consiguiendo además un ancho de banda mucho mayor (de 0 a 500HZ). Se ha demostrado que en estas bandas superiores a la banda gamma existe información importante relacionada con las funciones motoras y del habla [37] [4]. El principal problema de usar esta técnica es que, como ya se ha comentado, es necesario realizar un implante, lo que implica una operación quirúrgica en la cabeza del paciente para colocar una formación de sensores. Lógicamente los riesgos de esta operación son muy elevados, por lo que la gran mayoría de los estudios se realizan usando EEG. A continuación estudiamos este método de adquisición. Electroencefalograma El electroencefalograma se trata de un método de adquisición de señales para monitorizar la actividad cerebral. Se trata de un método no invasivo en el que se colocan unos electrodos sobre la corteza craneal que miden la variación de voltaje resultado de las corrientes iónicas que se dan en las neuronas cerebrales (12). En un principio era un método muy usado para detectar enfermedades del cerebro como tumores, epilepsia o alzheimer; pero otras técnicas de adquisición de imágenes más adecuadas para la detección de estas patologías le ganaron el terreno. Hoy en día se sigue usando sobre todo para detectar epilepsia y para BCI. Además, el EEG se usa para evaluar problemas relacionados con el sueño, ya que existen algoritmos para detectar automáticamente si un paciente está dormido o despierto o las distintas fases de sueño [ 16 ]. En la Figura 1.2 se muestra un EEG de un paciente que ha empezado a sufrir una crisis
1.3 El cerebro humano 5 tónico-clónica que es el caso más común de epilepsia. Figura 1.2 EEG de una crisis tónico-clónica. Fuente: Imagen extraída de [40] . 1.3 El cerebro humano El cerebro humano es el órgano más complejo que poseemos y un gran desconocido en la actualidad, a pesar de que cada vez se dispone de más información del funcionamiento del mismo. Es imposible abordar un trabajo de BCI sin tener unos conocimientos básicos del cerebro, de manera que en este apartado se va a hacer un repaso de las principales características que nos pueden ser de utilidad en el estudio de BCI. En primer lugar es necesario describir el cerebro físicamente: dispone de dos hemisferios y cuatro lóbulos. Los hemisferios son casi simétricos y distinguimos dos (dependiendo del lado del cuerpo humano en el que se encuentren): el hemisferio izquierdo y el hemisferio derecho. El hemisferio derecho controla la parte izquierda del cuerpo y el hemisferio izquierdo la parte derecha, es decir, cada uno controla la parte opuesta del cuerpo. Además el hemisferio izquierdo se encarga de la lógica, de las matemáticas y del lenguaje articulado, mientras que el hemisferio derecho se encarga de las habilidades artísticas y musicales.
2 Principales técnicas usadas Solving problems is a practical art, like swimming, or skiing, or playing the piano; you can learn it only by imitation and practice. George Polya En este capítulo vamos a describir las principales técnicas y algoritmos que se han empleado para el desarrollo de este trabajo. En concreto vamos a ahondar en CSP, una técnica relacionada con el procesado de señal y en LDA, una técnica usada en algoritmos de Machine Learning para hacer clasificaciones, entre otras cosas. El algoritmo implementado en este trabajo está basado en estas dos técnicas que a continuación describiremos en detalle. 2.1 CSP El acrónimo CSP hace referencia a Common Spatial Patterns que es una técnica matemática usada en el procesado de señales para separar señales multivariables en subcomponentes con distintas varianzas. La técnica CSP fue propuesta por primera vez con el nombre de Fukunaga-Koontz Transform en [ 18 ] como extensión de Principal Component Analysis (PCA) y desde entonces ha sido ampliamente usada en BCI para maximizar la distancia entre dos clases de movimientos. Un filtro CSP maximiza la varianza de las señales filtradas de EEG de una clase de movimientos mientras que la minimiza para las señales de la otra clase. El desarrollo de esta técnica surge de manera natural cuando intentamos maximizar la diferencia de varianzas entre las dos señales filtrándolas espacialmente. En lo que sigue, vamos a suponer que estamos tratando únicamente con dos clases de movimientos, a los que nos vamos a referir con los subíndices LyR(de izquierda y derecha 13
14 Capítulo 2. Principales técnicas usadas en inglés). Cuando hablemos de señales filtradas nos estaremos refiriendo a señales filtradas espacialmente y no frecuencialmente y además usaremos la siguiente notación: •T: Número de muestras temporales de un ensayo. •N: Número de filtros espaciales. •C: Número de canales (Número de sensores de la prueba EEG). •X∈RC×T : Señales de cada uno de los sensores (filtradas con un filtro paso de banda). •w∈RC×1: Filtro espacial simple. •y∈RN×T: Señal filtrada espacialmente. Se definen como: y=w>X(2.1) •Σ∈RC×C : Matrices de estimación de covarianza de las señales X , cada elemento de la matriz se define como: Σ(i,j) = 1 T−1 T ∑ l=1 (Xi(l)−µi)(Xj(l)−µj)(2.2) Donde Xi(l) hace referencia al elemento l de la fila i y µi hace referencia a la media de la fila i. •σ2: Varianzas de las señales filtradas. Se definen como: σ2=E[yy>] = w>Σw(2.3) Como se decía, se pretende encontrar un filtro espacial que maximice la diferencia entre las varianzas de las señales de cada clase de movimiento, es decir: ˆ w=arg m´ ax w σ2 L−σ2 R σ2 L+σ2 R =arg m´ ax w w>(ΣL−ΣR)w w>(ΣL+ΣR)w(2.4) El termino del denominador de la ecuación (2.4) se añade para normalizar, porque sin él la diferencia crecería haciendo crecer el módulo del filtro y eso no es lo que se pretende. La ecuación (2.4) se trata de un cociente de Rayleigh que se resolverá a continuación. Para ello, definimos: ΣT=ΣL+ΣR=Σ1/2 TΣ1/2 T(2.5) Podemos definir también que: w>=u>Σ−1/2 Tdonde u>u=1(2.6) Aplicando este par de definiciones sobre (2.4) llegamos a que: ˆ u=arg m´ ax u u>Σ−1/2 T(ΣL−ΣR)Σ−1/2 Tu u>Σ−1/2 TΣTΣ−1/2 Tu S.T u>u=1(2.7) Donde: Σ−1/2 TΣTΣ−1/2 T=Iyu>u=1(2.8)
2.1 CSP 15 Luego el denominador de la ecuación (2.7) es igual a uno, de tal manera que la ecuación queda: ˆ u=arg m´ ax uu>Σ−1/2 T(ΣL−ΣR)Σ−1/2 TuS.T u>u=1(2.9) Teniendo en cuenta que: ΣL+ΣR=ΣT−→ ΣL−ΣR=2ΣL−ΣT=ΣT−2ΣR(2.10) Y recordando (2.6) , podemos reescribir el término de la ecuación (2.9) de las dos formas siguientes: u>Σ−1/2 T(ΣL−ΣR)Σ−1/2 Tu=2u>Σ−1/2 TΣLΣ−1/2 Tu−u>Σ−1/2 TΣLΣ−1/2 Tu= =2u>Σ−1/2 TΣLΣ−1/2 Tu−1= =1−2u>Σ−1/2 TΣRΣ−1/2 Tu (2.11) Por lo que el problema de maximización nos queda: ˆ u=argm´ ax u2u>Σ−1/2 TΣLΣ−1/2 T | {z } S1 u−1S.T u>u=1(2.12) Estamos ante un problema de autovectores en el que para maximizar debemos de escoger el autovector asociado al mayor autovalor. El autovalor ( λ ) y autovector ( φ ) que buscamos satisfacen la siguiente ecuación: S1φ(1) j=λ(1) jφ(1) j(2.13) Mediante este método obtenemos un filtro que maximiza la varianza entre las dos clases con lo que tendríamos una única dimensión para discriminar entre clases, ahora bien, el método de CSP consiste en hallar uno o más filtros espaciales que maximicen la diferencia entre las varianzas, y que ademas sean ortogonales entre sí. Por lo que se propone que el siguiente problema que se resuelve sea el de minimización, en vez de maximización, es decir que desarrollando de la misma manera llegamos a: ˆ u=argm´ ın u2u>Σ−1/2 TΣLΣ−1/2 Tu−1S.T u>u=1(2.14) Usando la ecuación (2.11) podemos escribir: ˆ u=argm´ ın u1−2u>Σ−1/2 TΣRΣ−1/2 TuS.T u>u=1(2.15) O lo que es lo mismo: ˆ u=argm´ ax u2u>Σ−1/2 TΣRΣ−1/2 T | {z } S2 uS.T u>u=1(2.16)
16 Capítulo 2. Principales técnicas usadas Por lo que procediendo igual que en el caso anterior el siguiente filtro espacial vendría dado por el autovector asociado al maximo autovalor de S2, satisfaciendo que: S2φ(2) j=λ(2) jφ(2) j(2.17) De esta manera se obtendría el segundo filtro. El tercer filtro vendría dado por el autovector asociado al segundo autovalor de mayor valor de S1 , el cuarto filtro por el autovector asociado al segundo autovalor de mayor valor de S2 y de esta manera se van obteniendo los filtros espaciales sucesivamente. Podemos tomar estas soluciones porque dado que las matrices S1 y S2 son simétricas sus atovectores son ortogonales entre sí, y vamos a ver que también los autovectores de ambas matrices son los mismos, por lo que todos los filtros que obtengamos mediante este procedimiento serán ortogonales. Para demostrar que los autovectores de ambas matrices son los mismos nos vamos a basar en que: S2=Σ−1/2 TΣRΣ−1/2 T=Σ−1/2 T(ΣT−ΣL)Σ−1/2 T=I−S1(2.18) Donde los autovalores y autovectores de la segunda clase satisfacen que: S2φ(2) j= (I−S1)φ(2) j=λ(2) jφ(2) j(2.19) O lo que es lo mismo: S1φ(2) j= (1−λ(2) j)φ(2) j(2.20) De (2.13) y de (2.20) tenemos que φ(2) j=φ(1) i(2.21) y que λ(1) i= (1−λ(2) j)(2.22) Entonces vemos que cada autovector de S1 es igual a otro autovector de S2 . Ya solo nos queda ver que teniendo en cuenta que el valor de los autovalores debe de estar acotado entre cero y uno 1 y debido a la relación entre los autovalores que nos da la ecuación (2.22) podemos decir que: si ordenamos los autovalores de la misma forma, por ejemplo de mayor a menor tenemos que el autovector asociado al mayor autovalor de S1 es igual al autovector asociado al menor autovalor de S2 , el segundo autovector de S1 seria igual al penultimo de S2y así sucesivamente. Por lo que podemos escribir que: φ(2) j=φ(1) C−j(2.23) Donde C sería el número total de autovectores obtenidos, es decir el numero de canales usados. 1 Es es así porque las matrices de covarianza son por definición semidefinidas positivas y de (2.22) : λ(1) i+ λ(2) j=1
2.1 CSP 17 Una vez llegados a este punto vemos que no hace falta resolver los dos problemas, ya que resolviendo uno de ellos obtenemos las soluciones del otro directamente. Finalmente, definimos la solución 2 del problema de dimensión N en (2.24) , donde φ son los autovectores de S1: ˆ W=Σ−1/2 T[φ1...φN/2,φC−N/2...φC](2.24) Teniendo en cuenta que hemos supuesto: λ1≥λ1≥... ≥λC(2.25) 2.1.1 Extracción de características Finalmente, una vez que se ha reducido la dimensión de la entrada usando los filtros w solamente queda extraer las características que consiste unicamente en calcular la varianza de cada uno de los vectores de salida. zi=var(yi) = var(wiX),i∈[1,N](2.26) Donde la operación var(·)hace referencia al operador varianza. Como ya se ha comentado, de esta manera obtenemos una característica, si se realiza esta operación para cada solución obtenida con CSP se obtiene el vector de características que usará el clasificador para estimar la clase de cada ensayo. Es decir: z= [z1,z2,...,zN](2.27) En las Figura 2.1, Figura 2.2 y Figura 2.3 mostramos las características extraídas tras haber aplicado CSP con distinto número de dimensiones a unas señales de EEG que disponian de 22 sensores, durante las cuales el usuario pensaba en dos clases de movimiento. 2 Podriamos tomar los autovectores de S2 o de Σ−1/2 T(ΣL−ΣR)Σ−1/2 T y las tres soluciones serían equivalentes
18 Capítulo 2. Principales técnicas usadas -3 -2 -1 0 1 2 3 4 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Figura 2.1 Ejemplo de CSP tomando una única dimensión. -3 -2 -1 0 1 2 3 4 -3 -2 -1 0 1 2 3 4 Figura 2.2 Ejemplo de CSP tomando dos dimensiones. -5 0 45 3 2 1 0 -1 -2 -3 3 2 1 0 -2 -3 -1 Figura 2.3 Ejemplo de CSP tomando una tres dimensiones.
2.2 LDA 19 2.2 LDA LDA es un acrónimo de Linear Discriminant Analysis y se trata de una técnica de Machine Learning que se usa para realizar clasificación lineal supervisada. Los problemas de clasificación se tratan de problemas muy comunes, en los que tenemos una serie de observaciones que se pueden dividir en grupos o clases. El problema básicamente consiste en asignar la clase correcta a cada observación. Los clasificadores pueden ser lineales y no lineales, y dentro de los no lineales podemos encontrar múltiples tipos como los polinómicos, gaussianos, etc.. En ambos tipos de clasificadores, podemos clasificar entre dos clases o más. Los clasificadores lineales son aquellos que basan su decisión según algún hiperplano 3 asignando a cada clase un lado del subespacio evaluado. Los clasificadores lineales multiclase dividen el subespacio usando hiperplanos y asigna las clases a las regiones entre hiperplanos [22]. Existen multitud de técnicas de clasificación, entre las que cabe destacar SVM que permite realizar todo tipo de clasificaciones usando distintos kernels. En este caso se ha escogido LDA porque se trata de una técnica simple, fácil de comprender y muy estable, que nos va a permitir realizar el tipo de clasificación que necesitamos sin la utilización de ningún otro parámetro. Otras técnicas como SVM necesitan de parámetros de configuración que también debemos aprender, complicando enormemente el problema, ya que los parámetros óptimos pueden variar entre usuarios o experimentos. En nuestro caso queremos entrenar el clasificador de tal manera que este sea capaz de estimar la clase a la que pertenece una observación a partir de observaciones de las cuales conocemos la clase, por lo que estamos ante un problema de clasificación supervisada. Los casos en los que no se conoce la clase de ninguna muestra a priori se conocen como problemas de clasificación no supervisada. Por último destacar que vamos a realizar una clasificación entre dos clases, porque aunque los datos disponen de cuatro clases distintas entre las que diferenciar, todos los clasificadores se entrenan para hacer la clasificación entre dos clases. LDA se basa en suponer que tenemos dos clases que siguen una distribución normal. Para cada clase se modelan los parámetros de la media y la varianza para conseguir la distribución que mejor la describa y posteriormente se usa el teorema de Bayes para calcular la probabilidad de pertenecer a cada una de las clases. 2.2.1 Teorema de Bayes El teorema de Bayes es ampliamanete usado en matemáticas y estadística y proporciona una relación entre la probabilidad de un evento dado (A) sabiendo que otro evento (B) 3 En geometría, un hiperplano es una extensión del concepto de plano. En un espacio unidimensional (como una recta), un hiperplano es un punto: divide una línea en dos líneas. En un espacio bidimensional (como el plano xy), un hiperplano es una recta: divide el plano en dos mitades.
20 Capítulo 2. Principales técnicas usadas ha ocurrido con la probabilidad de B sabiendo que ha ocurrido A . De manera que la probabilidad de p(A|B)viene dada por: p(A|B) = p(B|A)p(A) p(B)(2.28) Centrandonos en nuestro problema, supongamos que queremos asignar una clase ( ci ) de entre C clases, donde C≥2 , a una observación ( z ). Supongamos también que conocemos la probabilidad a priori de que se de cada una de las clases p(Ci) , entonces el teorema de Bayes define que: p(ci|z) = p(ci)p(z|ci) ∑C l=1p(cl)p(z|cl)(2.29) Esta formula puede representarse como: Posteriori =Prior ·Verosimilitud Evidencia (2.30) Donde hemos llamado Prior a la probabilidad a priori de la clase i,Verosimilitud al término que indica la probabilidad de obtener esta observación en concreto si la clase era iy hemos llamado Evidencia a un término que hace la función de factor de escala, y que regulariza el resultado, por lo que realmente no es importante a la hora de tomar una decisión. Esta formula nos es de gran utilidad porque nos ayuda a tomar una decisión ya que tiene sentido asignar la clase con mayor probabilidad a posteriori. ˆc=ci⇐⇒ p(ci|z)≥p(cl|z),∀(l6=i)(2.31) 2.2.2 LDA para dos clases Como se ha dicho en el apartado 2.2.1, la técnica LDA consiste en usar el teorema de Bayes para estimar la clase a la que pertenece cada observación suponiendo que las dos clases tienen una función de densidad de probabilidad gaussiana con igual covarianza y distintas medias. Esta suposición nos permite calcular tanto la Verosimilitud como la Evidencia, y supondremos conocido también el prior de cada clase. De manera que tendremos: Prior(c1) = p(c1),Prior(c2) = 1−p(c1)(2.32) Verosilimitud =p(z|cl)(2.33) Evidencia = 2 ∑ l=1 p(cl)p(z|cl)(2.34) Donde p(zn|cl) es la probabilidad de que una nueva observación pertenezca a clase l .
2.2 LDA 21 Dado que hemos considerado que las observaciones tienen una función de densidad de probabilidad gaussiana, la probabilidad p(zn|cl)viene dada por: p(zn|cl) = 1 (2π)n/2|Σ|1/2ej(−1 2(zn−µl)>Σ−1(zn−µl))(2.35) Entonces podemos decir que para una observación zn asignaremos la clase 1 si se cumple que: p(c1)p(zn|c1)≥(1−p(c1))p(zn|c2)(2.36) En vez de computar la condición anterior para cada muestra, estamos más interesados en encontrar la frontera entre las dos regiones de decisión por lo que pretendemos, es encontrar el hiperplano que cumpla la igualdad de la ecuación (2.36) . Para hacerlo vamos a despejar znde la ecuación (2.36), en la que se han simplificado los denominadores. p(c1)p(zn|c1) = (1−p(c1))p(zn|c2)(2.37) Desarrollando esta ecuación: 1=(1−p(c1))p(zn|c2) p(c1)p(zn|c1)(2.38) 1=(1−p(c1))ej(−1 2(zn−µ2)>Σ−1(zn−µ2)) p(c1)ej(−1 2(zn−µ1)>Σ−1(zn−µ1))(2.39) 0=log (1−p(c1))ej(−1 2(zn−µ2)>Σ−1(zn−µ2)) p(c1)ej(−1 2(zn−µ1)>Σ−1(zn−µ1))!(2.40) 0=log (1−p(c1))ej(−1 2(zn−µ2)>Σ−1(zn−µ2)) p(c1)ej(−1 2(zn−µ1)>Σ−1(zn−µ1))!(2.41) 0=log1−p(c1) p(c1)−1 2(zn−µ2)>Σ−1(zn−µ2)+ 1 2(zn−µ1)>Σ−1(zn−µ1)(2.42) 0= (µ2−µ1)>Σ−1zn−1 2µ> 2Σ−1µ2+1 2µ> 1Σ−1µ1+log1−p(c1) p(c1)(2.43) En la ecuación (2.43) obtenemos la solución al problema ya que esta es la ecuación general del hiperplano que separa las dos clases. A partir de esta ecuación 4 , obtenemos los coeficientes (a)y la el termino independiente (b). Están definidos por: a= (µ2−µ1)>Σ−1(2.44) b=1 2µ> 1Σ−1µ1−1 2µ> 2Σ−1µ2+log1−p(c1) p(c1)(2.45) 4Teniendo en cuenta que la ecuación general de un hiperplano viene dada por: 0=azn+b
28 Capítulo 3. Conjunto de datos La matriz de las señales stiene dos dimensiones: tendremos una columna por cada sensor y cada columna tendrá entre 670000 y 680000 muestras aproximadamente, es decir, tendremos la grabación de la sesión completa que dura alrededor de 45 minutos, dato que tendremos que tener en cuenta a la hora de implementar el algoritmo ya que este deberá de recortar los trozos de interés de las señales, es decir, los ensayos. Por otro lado en el struct, como ya hemos comentado antes, tenemos información referente a distintos aspectos. En total encontramos 42 campos, pero tan solo se han usado unos pocos en el desarrollo de este algoritmo. Los citamos a continuación: •EVENT: Este campo es de tipo struct y consta a su vez de los siguientes campos: – SampleRate: Dato de tipo entero que nos proporciona la tasa de muestreo (en Hz) a la que han sido adquiridos los datos. – TYP: Dato de tipo matriz, con una columna en la que se indica el tipo de evento, para cada uno de los eventos ocurridos durante la señal. Los tipos de eventos que se pueden producir se exponen en Tabla 3.1. Tabla 3.1 Tipos de eventos. Evento Descripción 276 Inicio de tiempo de espera con los ojos abiertos 277 Inicio de tiempo de espera con los ojos cerrados 768 Comiendo de un nuevo ensayo 769 Flecha hacia la izquierda (clase1) 770 Flecha hacia la derecha (clase 2) 771 Flecha hacia abajo (clase 3) 772 Flecha hacia arriba (clase 4) 783 Clase desconocida 1023 Ensayo descartado 1072 Inicio de tiempo de espera moviendo los ojos 32766 Comienzo de una nueva parte (hay seis en cada sesión) – POS: Dato de tipo matriz, con una columna del mismo tamaño que TYP. Indica la muestra temporal de la señal sen la que empiezan los eventos indicados en TYP. – DUR: Dato de tipo matriz, con una columna del mismo tamaño que TYP. Indica la duración en número de muestras que tienen los eventos indicados en TYP. • Label: Dato de tipo cell con 25 celdas que indican el tipo de señal (EEG o EOG) al que se corresponden cada una de las columnas de s. Además, en algunos casos también nos da información acerca del sensor del que proviene la señal, como puede ser el FZ o el PZ, aunque si se quiere saber con que sensor se corresponde cada una de las columnas es mejor consultar la Figura 3.3.
3.4 Conclusiones 29 • Classlabel: Dato de tipo matriz, con una columna de 288 posiciones, una por cada ensayo. Cada posición contiene un 1, 2, 3 o 4, haciendo referencia a la clase de movimiento que se indicó. También puede contener el valor NaN si la clase es desconocida. • TRIG: Dato de tipo matriz, con una columna de 288 posiciones, una por cada ensayo. Cada posición contiene la posición de la señal sen la que comienzan los ensayos. • ArtifactSelection: Dato de tipo matriz, con una columna de 288 posiciones, una por cada ensayo. Cada posición contiene un 1 o un 0 indicando si el ensayo ha sido contaminado por artefactos. • CHANTYP: Cadena de caracteres de 25 posiciones en las que se indican que canales son de EEG y cuales de EOG con las letras EyO. Como se indicó en el apartado ?? cada sujeto realizó dos sesiones. En los datos descargados, los campos que indican la clase de movimiento solamente están completos en una sesión de cada sujeto, ya que recordemos que el objetivo era realizar una competició, por lo que la clase de movimiento de los ensayos de la otra sesión eran desconocidos en principio para poder determinarlo. Es por esta razon por la que el campo Classlabel está relleno con NaN y en las posiciones de TYP (referentes a la flecha que se represento) están fijadas al valor 783. Una vez que la competición acabó se proporcionó las clases de movimientos de los ensayos en un formato .mat para que pudiesen ser consumidos por Matlab directamente. Los archivos .mat contenían simplemente una matriz equivalente al campo Classlabel para poder comprobar la validez del algoritmo implementado. 3.4 Conclusiones Este capítulo se considera de gran importancia si se va a analizar el algoritmo desarrollado y si se quiere conocer las circunstancias bajo las cuales se han tomado las señales que con las que se ha trabajado en este proyecto. Conocer el entorno en el que se han realizado las grabaciones y el patrón de pruebas que se han realizado nos permite extraer los pedazos de señal que se consideran más importantes, dándonos la libertad de decidir donde empiezan y acaban los pedazos de interés. Además como ya se ha comentado el usar datos grabados correctamente y analizados por expertos reduce el grado incertidumbre al que nos enfrentamos cuando se nos plantea cualquier problema y por último el que se traten de datos disponibles para todos los desarrolladores y que han sido ampliamente usados también nos permite contrastar los resultados con los de otras publicaciones.
4 Algoritmo implementado Life is what happens while you are bussy making other plans Jhon Lennon El objetivo de este trabajo es implementar un algoritmo para la estimación de dos clases de pensamiento a partir de señales de EEG. En este capítulo se explica detalladamente el algoritmo desarrollado así como las diferentes partes que lo componen y los aspectos mas relevantes del mismo. 4.1 Visión general En la Figura 4.1 se ha representado el diagrama de bloques del algoritmo con el que se ha trabajado, que nos ha servido tanto para ir realizando las distintas pruebas, como para obtener los resultados finales que se exponen en el capítulo 6. Tras la realización del trabajo se ha descubierto que una tecnica similar al algoritmo que se ha desarrollado ya ha sido propuesta en [ 6 ] y se la conoce como Filter Bank Common Spatial Patterns (FBCSP). El algoritmo ha sido realizado en Matlab empleando las técnicas explicadas en el capitulo 2. Básicamente se compone de dos bucles for. El primer bucle for (bloque superior a partir de ahora) se ha creado para analizar a cada usuario por separado, es decir, nos proporcionará una solución distinta para cada sujeto. En cuanto al segundo bucle for (bloque inferior a partir de ahora), se ha creado para calcular varias soluciones para un mismo usuario y escoger la mejor de ellas. A rasgos generales, el programa comienza con la declaración de los parámetros que van a ser usados durante el desarrollo del algoritmo, tras lo cual se entra en el bloque superior 31
32 Capítulo 4. Algoritmo implementado para trabajar con cada sujeto por separado. En el bloque superior, se preparan los datos para que puedan ser tratados en el bloque inferior, que comienza barajando los datos para obtener una solución distinta en cada ejecución. Las señales son pasadas por un banco de filtros para analizar cada banda por separado, a partir de este momento se trata cada banda como señales independientes. Se calcula el filtro espacial óptimo y se extraen las características para cada banda, tras lo cual se crea el clasificador usando todas las características de todas las bandas y se prueba la solución. Estos resultados son almacenados. Al salir de este bloque se escoge la solución que mejores resultados haya proporcionado y se emplea para estimar la clase de los movimientos imaginarios que se habían reservado previamente para ser usados únicamente como datos de test. A continuación mostramos el diagrama de bloques del algoritmo implementado. Los distintos bloques de la Figura 4.1 han sido numerados en el orden en el que se van a ir explicando a lo largo de este capítulo para poder comprender mejor cual es la labor de cada uno de ellos Como se expuso en el capítulo 3, en los datos que se han estado usando se encuentran cuatro clases de movimiento imaginarios, pero como se ha explicado en este capítulo, el algoritmo que se ha desarrollado solamente es capaz de distinguir entre dos clases, por lo que se ha optado por escoger dos de las clases para hacer las pruebas. En la Tabla 4.1 se muestran los pares de clases de movimientos que se han contemplado para probar el algoritmo. Tabla 4.1 Pares de clases de movimiento. Clases Tipos de movimiento 1-2 Mano izquierda contra la mano derecha 1-3 Mano izquierda contra las dos piernas 1-4 Mano izquierda contra la lengua 2-3 Mano derecha contra las dos piernas 2-4 Mano derecha contra la lengua 3-4 Las dos piernas contra la lengua 4.2 Elección de parámetros El programa comienza almacenando los valores que deseamos aplicar en la ejecución del algoritmo. En esta parte del programa se elije el numero de bandas que se van a usar. El número de características que se van a extraer de cada banda, el orden del filtro que se usará para descomponer las bandas y número de CV que queremos realizar entre otros parámetros. También se inicializan las variables que se usan en el primer bucle for.
4.3 Partición de señales 33 Inicio Elección de parámetros ¿Fin sujetos? Particionado de la señal y reparto en pruebas de entrenamiento y de test. No ¿Fin CV? Reparto aleatorio de pruebas para CV y para entrenamiento No Banco de Filtros Se calcula el filtro espacial en cada una de las bandas usando CSP Se aplican los filtros espaciales a las bandas y se extraen las caracteristicas Se usan las caracteristicas para crear el clasificador Se usa el filtro espacial y el clasificador calculados para comprobar la eficacia de la solución encontrada Se escoge la solución que mejor resultado haya tenido en la CV y se le aplica a las muestras de test Si fin Si 1 2 34 5 6 7 8 9 Figura 4.1 Diagrama de bloques del algoritmo desarrollado. 4.3 Partición de señales Tras entrar en el primer bucle for, se preparan los datos de cada usuario para poderlos usar. En primer lugar se cargan las señales de las que extraeremos cada uno de los ensayos. Se cargan las dos sesiones de cada sujeto, la que originalmente era para entrenamiento y la que era para test junto con sus correspondientes clases y se le asigna a cada uno de los ensayos. De cada ensayo solamente se toma un trozo temporal de la señal, porque como se explicó en la sección 3.1 del capítulo 3 el sujeto solamente está realizando el movimiento imaginario durante un periodo de tiempo del ensayo. En este trabajo se ha tratado de tomar el periodo
34 Capítulo 4. Algoritmo implementado Datos ordenados (1,2,3,4,5,6) Se desordenan los datos aleatoriamente y se dividen en dos grupos (1,5,6,2,3,4) Grupo 1 (1,5) Grupo 2 (6,2,3,4) Figura 4.2 Esquema de método usado para separar en grupos aleatorios. de tiempo que contiene más información y finalmente se ha optado por tomar la señal desde el segundo 2.3 hasta el segundo 5.3 después del inicio del ensayo. Los trozos de ensayos son organizados en una matriz, en la cual se concatenan los trozos de las dos sesiones y se barajan para mezclarlos. Posteriormente, se separan en dos grupos (que contendrán ensayos de ambas sesiones), tal y como se muestra en la Figura 4.2. Uno de estos dos grupos se destinará a entrenamiento y CV, mientras que el segundo grupo se destinará a test. La cantidad de ensayos en cada uno de estos grupos dependerá de los valores establecidos en el Bloque 1, donde se especificó el porcentaje de ensayos que se destinarían a test y el porcentaje que se destinaría a CV. El grupo que contiene los ensayos que se destinarán a test, se reserverá, mientras que el resto de los ensayos (el grupo 2) se pasará al bucle for inferior. 4.4 Iniciación de CV Al empezar cada iteración del bloque inferior, partimos con los datos destinados a entrenamiento y a CV. Estos datos se vuelven a mezclar, siguiendo el mismo esquema que en la Figura 4.2. Así, dividimos la matriz que contiene los ensayos en otros dos grupos: el de CV y el de entrenamiento. En este caso, se reserva el grupo de ensayos de CV y se sigue trabajando con el grupo de entrenamiento. Así, en cada iteración del bucle, los grupos de CV y de entrenamiento serán diferentes. Por último, se descartan las muestras correspondientes a las señales de EOG, de manera que de aquí en adelante, estaremos trabajando con grupos de 22 señales y no 25 como en un principio. 4.5 Banco de filtros En este bloque, se toman las muestras de entrenamiento y a cada una por separado se le aplica un banco de filtros de análisis, descomponiendo la señal en tantas señales como número de bandas se indicase en el bloque 1. El banco de filtros se ha implementado usando tantos filtros paso de banda como fueran
4.6 Cálculo de filtros espaciales 35 necesarios. Los filtros paso de banda que se han usado son filtros Butterworth 1 de orden variable y de tipo paso de banda. Estos filtros han sido calculados usando la función butter de Matlab. Tabla 4.2 Bandas de frecuencias usadas. Limite entre bandas Descripción 8-30 Se toma una sola banda de frecuencia que contiene a las bandas Alfa y Beta. 8-14-30 Dos bandas de frecuencia: bandas Alfa y Beta. 4-8-14-30 Tres bandas: bandas Theta, Alfa y Beta. 4-8-15-30-40 Cuatro bandas: bandas Theta, Alfa, Beta y parte baja de la banda Gamma. 4-10-20-30-40 Cuatro bandas que cubren el rango 4Hz-30Hz, sin usar las bandas cerebrales. 8-12-16-20-24-28-32 Seis bandas equiespaciadas que cubren el rango 4Hz-32Hz señal de entrada H1(Z) H0(Z) HN(Z) Banda 0 de la señal Banda 1 de la señal Banda N de la señal Figura 4.3 Esquema de banco de filtros. En ningún caso se han tomado frecuencias superiores a los 40Hz ya que los cascos de EEG no tienen sensibilidad a frecuencias mayores de 40 Hz[20] [7]. 4.6 Cálculo de filtros espaciales Se toma cada una de las bandas de la señal y para ellas se calcula el filtro CSP como se explicó en el capítulo 2. En este bloque se recibe una matriz con todos los ensayos del grupo de training y otra con la clase (que indica el movimiento imaginario que se estaba realizando) de cada ensayo. Se separan las dos clases de ensayos y se calcula la covarianza de las señales correspondiente a cada clase. Hay que tener en cuenta que cada ensayo está compuesto por 22 señales, por lo que la matriz de covarianza de cada clase tendrá dimensión 22 × 22. Tras esto se calcula la suma y la resta de ambas matrices, que son usadas para calcular los autovectores de las dos matrices conjuntas. Esto puede hacerse en Matlab fácilmente con el comando eig(A,B) donde AyBson las matrices suma y diferencia. Finalmente se seleccionan tantos autovectores como características se hayan especificado, 1 El filtro Butterworth es uno de los filtros electrónicos básicos, cuyo objetivo es obtener la respuesta más plana que sea posible hasta la frecuencia de corte. Es decir, la salida se mantiene constante casi hasta la frecuencia de corte, luego disminuye a razón de 20n dB por década, donde n es el número de polos del filtro.
36 Capítulo 4. Algoritmo implementado escogiendo los autovectores asociados a los autovalores de menor y mayor valor y se invierte la matriz formada por los autovectores seleccionados para obtener el filtro espacial, que en realidad sería una matriz de Características×22. Matriz con todos los ensayos Separar ensayos por clase Calcular Covarianza de los ensayos de la clase 1 Calcular Covarianza de los ensayos de la clase 2 ⊕ Calcular autovectores conjuntos de las dos matrices Seleccionamos tantos autovectores como caracteristicas deseemos Invertimos la matriz formada por los autovectores selecionados Filtro Espacial (W) Figura 4.4 Esquema de cálculo de filtros espaciales (CSP). 4.7 Extracción de características Una vez que se han calculado los filtros espaciales, se aplican a cada uno de los ensayos en cada una de las bandas que no es más que multiplicar ambas matrices. Tras esto, se calcula la varianza de este resultado. Obtenemos así tantas características como se hayan indicado por cada ensayo por cada banda y se almacenan en un vector. El cálculo de la varianza se realiza porque, si recordamos la introducción del apartado 2.1, CSP era una solución cuando queríamos maximizar la diferencia entre varianzas.
4.8 Entrenamiento del clasificador 37 Banda 0 de la señal Banda 1 de la señal Banda N de la señal ⊗ ⊗ ⊗ W1 W2 WN var(•) var(•) var(•) Caracteristicas Figura 4.5 Esquema de cálculo de características. En la solución final se tomaron cinco características por cada banda y dado que se tomaron cuatro bandas, en total se extraen 20 características por cada uno de los ensayos. 4.8 Entrenamiento del clasificador El clasificador se crea tomando todas las características de todos los ensayos. Estas características son transformadas mediante la operación logaritmo. Esta transformación se realiza porque se ha comprobado que la distribución que siguen los puntos descritos por las características se normaliza [ 36 ] además de tener otras buenas propiedades como la convexidad [10][41][42]. El clasificador se calcula como se explica en el apartado 2.2. 4.9 Pruebas de CV Una vez llegados a este punto, ya se dispone de todas las herramientas para realizar la clasificación. Tomamos los ensayos que fueron reservados para CV y le aplicamos el banco de filtros, el filtro espacial para extraer las características y el clasificador. Las clases de las muestras reservadas para CV son conocidas, por lo que se contrastan los resultados obtenidos con el algoritmo con las verdaderas clases y se anota el porcentaje de acierto de nuestra solución. 4.10 Test Tras haber realizado tantas CV como se indicase en el bloque 4.2, se escoge la solución que mejor resultados nos ha proporcionado y se sigue el mismo procedimiento del bloque 4.9, que se ilustra en la Figura 4.6.
44 Capítulo 5. RSTFC: A Novel Algorithm for Spatio-Temporal Filtering and Clasification of Single-Trial EEG 5.2 Conclusiones En este capitulo se ha podido estudiar una técnica novedosa que fue publicada en 2015, ayudandonos a acercarnos al estado del arte en los sistemas BCI. El algoritmo estudiado en este capítulo usa CSP para aprovechar la diversidad espacial que nos proporcionan los sensores a la vez que aprovecha diversidad temporal incorporando muestras retrasadas de las señales como si fuesen nuevos canales. Esto permite obtener eficientemente un filtro espacio-temporal optimo bajo un único criterio. Además en este capítulo hemos podido dar un breve repaso al método RCSP que resuelve uno de los principales problemas de CSP, el overfitting.
6 Resultados Success is a result, not a goal. Gustave Flaubert En este capitulo se exponen los resultados que se han obtenido tras probar el algoritmo desarrollado con los distintos conjuntos de muestras. Para exponer dichos resultados, además de usar el software Matlab con el cual hemos obtenido las gráficas que se incluyen aquí, se han usado las librerías de EEGLAB 1 que nos han ayudado a representar las figuras que simulan las cabezas de los pacientes y los pesos de los filtros espaciales. Como se comentó en el capítulo 3, tenemos cuatro clases de movimiento y 288 ensayos por cada sesión. Además tenemos dos sesiones por cada usuario, es decir, que disponemos de un total de 5184 ensayos para hacer experimentos. En los casos en los que probemos el algoritmo para dos clases solamente, podremos usar la mitad de los ensayos, es decir, cogeremos solo los de las clases de movimiento que estemos evaluando. Para poder obtener los mejores resultados posibles, es necesario optimizar los parámetros que el código usa. Puesto que podemos hacer hasta seis experimentos distintos (los mostrados en la Tabla 4.1), tendremos que optimizar cada uno de los seis problemas por separado. Los parámetros que se han optimizado están explicados en la Tabla 6.1 que se muestra a continuación: Debido a la complejidad que tiene optimizar todos estos parámetros a la vez para cada caso, se ha optado por optimizarlos todos una vez, concretamente para el caso en que estemos tratando de distinguir entre los pensamientos de la mano derecha y de la mano izquierda. Para el resto de casos lo que hemos hecho es buscar solamente el valor óptimo de los parámetros de orden de los filtros y número de características por banda. Los parámetros que se han usado finalmente se exponen en la Tabla 6.2. Aun así, algunos de estos parámetros se variarán durante las pruebas para mostrar el efecto de los mismos sobre los resultados. 1https://sccn.ucsd.edu/eeglab/ 45
46 Capítulo 6. Resultados Tabla 6.1 Parámetros optimizados. Parámetro Descripción Orden de los filtros paso banda El orden de los filtros se ha variado desde 3 hasta 10. Bandas de frecuencia Se han probado las bandas de frecuencia que se especifican en Tabla 4.2. Inicio de ensayo Este parámetro hace referencia a cuantos segundos después del comienzo del ensayo comienza la señal de interés. Se ha variado desde dos segundos hasta tres. Duración Se ha tratado de optimizar la duración del trozo de señal que tomamos. Se ha variado desde 2.5s hasta 3.5s. Número de características El número de características que se extrae de cada banda se ha variado desde 1 hasta 22. Tabla 6.2 Parámetros usados. Parámetro Valor Orden de los filtros paso banda Variable Bandas de frecuencia Cuatro bandas de frecuencias limite (4-8-14-30-40) Inicio de ensayo 2.3 segundos Duración 3 segundos Número de características Variable Porcentaje de ensayos usados para entrenamientos 80% Porcentaje de ensayos usados para CV 10% Porcentaje de ensayos usados para test 10% Antes de exponer los resultados, creemos importante hacer una breve explicación acerca de las figuras que simulan las cabezas de los sujetos que se van a representar en este capítulo. En las figuras se ha representado una cabeza con varios puntos dentro, que representan los sensores del casco de EEG. La figura se ha coloreado para que pueda ser interpretada fácilmente. En ella se representan los pesos de los filtros espaciales calculados con CSP. Por lo que hay que destacar que realmente la información útil está solamente en los puntos que representan a los sensores, ya que los valores del resto de la superficie han sido calculados mediante interpolación. Por otro lado cada figura representa un filtro que extrae una característica. En la mayoría de los casos, se han extraído más de dos características, pero en este apartado solo representaremos los filtros que maximizan y minimizan el criterio de CSP en mayor medida. Por último, es importante destacar que todos estos diagramas se
6.1 Mano izquierda - Mano derecha 47 corresponden con los filtros calculados para el sujeto 7, que ha sido elegido porque ha sido uno de los sujetos con los que mejores resultados se han obtenido y hemos considerado que representaría muy bien "como se supone que se debe de pensar en cada movimiento imaginario". 6.1 Mano izquierda - Mano derecha En este apartado vamos a abordar el problema que consiste en estimar si los movimientos imaginarios de los ensayos corresponden con la mano derecha o con la mano izquierda. En este problema se han usado cinco características y filtros paso de banda de orden seis. Para poder comparar la mejora que supone usar distintas bandas de frecuencia, vamos a repetir este experimento para algunos de los casos mostrados en la Tabla 4.2, en concreto: usando una sola banda, usando dos bandas y usando cuatro bandas. 6.1.1 Usando una sola banda (Alfa y Beta a la vez) En este caso se trabaja con una sola banda de frecuencia, que abarca desde los 8Hz hasta los 30Hz. Esto se corresponde con las bandas de frecuencia Alfa y Beta de las ondas del cerebro, que es el rango de frecuencias con el que se suele trabajar en BCI [33], [39]. En este caso se ha estimado la clase correcta en un 80.16% de las muestras reservadas para test. En la Figura 6.1 vemos los resultados obtenidos en este caso, que como veremos más adelante en el apartado 6.1.2, distan mucho de los resultados obtenidos cuando se usan las bandas por separado. Además, en la figura Figura 6.1 también se pueden ver los aciertos por cada uno de los usuarios. 123456789 30 40 50 60 70 80 90 100 85.71 42.86 92.86 89.29 60.71 78.57 85.71 96.43 89.29 80.16 Figura 6.1 Mano izquierda - Mano derecha: Resultados por sujeto usando las bandas Alfa y Beta como una sola.
48 Capítulo 6. Resultados Figura 6.2 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez. Donde se puede apreciar las zonas mas activas de la cabeza durante el pensamiento de estos dos movimientos. 6.1.2 Usando dos bandas (Alfa y Beta por separado) Si en vez de usar una banda de frecuencia como en el caso anterior tomamos dos bandas, una desde 8Hz hasta 14Hz y otra desde 14Hz hasta 30Hz, vemos que el resultado mejora notablemente, obteniendo un 86.11% el acierto de las clases estimadas. Los filtros espaciales que se han calculado para cada banda específicamente se han representado en Figura 6.6 y Figura 6.7. Como podemos observar en la Figura 6.3, Los resultados han mejorado considerablemente y no ha habido ningún usuario al que el uso de dos bandas le haya perjudicado. 123456789 30 40 50 60 70 80 90 100 89.29 71.43 92.86 96.43 64.29 71.43 96.43 96.43 96.43 86.11 Figura 6.3 Mano izquierda - Mano derecha: Resultados por sujeto usando las bandas Alfa y Beta por separado.
6.1 Mano izquierda - Mano derecha 49 6.1.3 Usando cuatro bandas Si usamos las cuatro bandas de frecuencia el resultado mejora aun más. En la Figura 6.4 se aprecia que hay dos usuarios que alcanzan una tasa de estimación correcta del 100% de las muestras de test, consiguiendo en media un porcentaje de estimación correcto del 87.30%. Sin embargo, podemos apreciar que en varios sujetos se ha disminuido su tasa de estimación correcta, en concreto dos sujetos. Esto nos ha hecho plantearnos si merece la pena incluir las 4 bandas de frecuencia, pero al realizar varias pruebas con varias inicializaciones distintas, se ha comprobado que siempre conseguimos mejores resultados en este caso. Como muestra de ello, en la Tabla 6.3 se exponen los distintos resultados de las distintas pruebas que hemos hecho. Se han realizado tres inicializaciones distintas (tomando diferentes muestras para entrenamiento y test en cada caso, pero tomandolas iguales para las pruebas en las que se cambia el número de banda) y hemos calculado la media en porcentaje del número de muestras estimadas correctamente. Como se puede ver en dicha tabla, siempre conseguimos un porcentaje mayor en media para el caso de las cuatro bandas. 123456789 30 40 50 60 70 80 90 100 92.86 71.43 92.86 85.71 85.71 64.29 100.00 100.00 92.86 87.30 Figura 6.4 Mano izquierda - Mano derecha: Resultados por sujeto usando cuatro bandas. Figura 6.5 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Theta.
50 Capítulo 6. Resultados Figura 6.6 Mano izquierda - Mano derecha:Filtro maximizador y minimizador de la banda Alfa. Figura 6.7 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Beta. Figura 6.8 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Gamma.
6.1 Mano izquierda - Mano derecha 51 Tabla 6.3 Diferentes inicializaciones (usando diferentes semillas) con distinto numero de bandas de frecuencia. Inicialización 1 Inicialización 2 Inicialización 3 NºBandas 1 2 4 1 2 4 1 2 4 Usuarios 1 92.86 96.43 92.86 89.29 92.86 100 96.43 89.29 85.71 2 57.14 64.29 57.14 57.14 53.57 57.14 60.71 75 75 3 96.43 100 100 89.29 92.86 96.43 89.29 96.43 96.43 4 75 71.43 67.86 85.71 78.57 60.71 82.14 78.57 75 5 42.86 53.57 78.57 53.57 57.14 89.29 39.29 57.14 75 6 57.14 75 64.29 67.86 78.57 78.57 75 64.29 60.71 7 92.86 92.86 100 78.57 78.57 100 78.57 85.71 96.43 8 92.86 89.29 92.86 96.43 96.43 96.43 100 100 100 9 92.86 92.86 89.29 96.43 96.43 96.43 92.86 89.29 89.29 Media 77.78 81.75 82.54 79.37 80.56 86.11 79.37 81.75 83.73
52 Capítulo 6. Resultados 6.2 Mano izquierda - Ambos pies Este problema consiste en estimar si las muestras de los ensayos son asociadas a movimientos imaginarios de la mano izquierda o de ambos pies a la vez, es decir, intentaremos estimar si es de clase 1 o 3. Para este caso se vuelven a usar cinco características pero el filtro que se usa es de orden tres. Si solamente usamos una banda de frecuencia, la banda que va desde los 8Hz hasta los 30Hz, se obtiene un porcentaje de aciertos de 84,52%. En la Figura 6.9 se puede ver el porcentaje de aciertos por sujeto. 123456789 30 40 50 60 70 80 90 100 96.43 78.57 96.43 89.29 71.43 60.71 96.43 78.57 92.86 84.52 Figura 6.9 Mano izquierda - Ambos pies: Resultados por sujeto usando las bandas Alfa y Beta a la vez. Los pesos de los filtros espaciales se han representado en la Figura 6.10. Figura 6.10 Mano izquierda - Ambos pies: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez.
6.3 Mano izquierda - Lengua 53 Por otro lado, si usamos las cuatro bandas se obtiene un porcentaje de acierto de 91.87%. En la Figura 6.11 se han representado los porcentaje de aciertos por sujeto. 123456789 30 40 50 60 70 80 90 100 96.43 78.57 92.86 89.29 85.71 85.71 96.43 100.00 100.00 91.67 Figura 6.11 Mano izquierda - Ambos pies: Resultados por sujeto usando cuatro bandas (Theta, Alfa, Beta y Gamma). 6.3 Mano izquierda - Lengua Este problema consiste en estimar si las muestras de los ensayos son asociadas a movimientos imaginarios de la mano izquierda o de la lengua, es decir, intentaremos estimar si es de clase 1 o 4. Para este caso se usan cuatro características y el filtro que se usa es de orden tres. Si solamente usamos una banda de frecuencia, la banda que va desde los 8Hz hasta los 30Hz, se obtiene un porcentaje de aciertos de 81.75%. En la Figura 6.12 se puede ver el porcentaje de aciertos por sujeto. Los pesos de los filtros espaciales se han representado en la Figura 6.13. Por otro lado, si usamos las cuatro bandas comprobamos que los resultados mejoran notablemente, obteniéndose un porcentaje de acierto del 87.30%. En la Figura 6.14 se han representado los porcentaje de aciertos por sujeto. 6.4 Mano derecha - Ambos pies Este problema consiste en estimar si las muestras de los ensayos son asociadas a movimientos imaginarios de la mano derecho o ambos pies, es decir, intentaremos estimar si es de clase 2 o 3.
60 Capítulo 6. Resultados 65% 5% < 1% 1% 22% < 1% 2% 2% Porcentaje de aciertos con combinación 3-2-1-0 Porcentaje de aciertos con combinación 3-2-1-1 Porcentaje de aciertos con combinación 2-2-2-0 Porcentaje de aciertos con combinación 2-2-1-1 Porcentaje de errores con combinación 3-2-1-0 Porcentaje de errores con combinación 3-2-1-1 Porcentaje de errores con combinación 2-2-2-0 Porcentaje de errores con combinación 2-2-1-1 Figura 6.25 Diagrama de porcentaje de clases de votos en algoritmo multiclase. Usuario 123456789 Porcentaje 0 20 40 60 80 100 Mano Izquierda Mano derecha Ambos pies Lengua (a) Sensibilidad. Usuario 123456789 Porcentaje 0 20 40 60 80 100 Mano Izquierda Mano derecha Ambos pies Lengua (b) Precisión. Figura 6.26 Sensibilidad y Precisión por clase y sujeto en el caso multiclase.. Tabla 6.4 Matriz de confusión del caso multiclase. En las filas se representan las clases reales, mientras que en las columnas las clases asignadas. PPPPPPPP P Real Estim 1 2 3 4 Total Acierto Error 1 14 1 1 1 17 82.35% 17.65% 2 0 15 3 0 18 83.33% 16.67% 3 2 1 8 0 17 72.73% 27.27% 4 1 1 1 8 17 72.73% 27.27% 6.8 Regularized Spatio-Temporal Filtering and Classification En esta sección se presentan los resultados que se han obtenido para cada uno de los pares de movimientos imaginarios mediante el uso del algoritmo RSTFC que se ha explicado en el capítulo 5. Para hacer estas pruebas, se ha tomado como parámetro de regularización ρ=0.1 y el número de copias usadas para crear la matriz ampliada se ido variando entre 10 y 19, escogiéndose en cada caso el número de veces que mejor resultado ha dado en CV.
6.8 Regularized Spatio-Temporal Filtering and Classification 61 123456789 0 10 20 30 40 50 60 70 80 90 100 67.86 57.14 89.29 71.43 64.29 75.00 60.71 92.86 92.86 74.60 Figura 6.27 RSTFC: Mano izquierda, mano derecha.. 123456789 0 10 20 30 40 50 60 70 80 90 100 92.86 64.29 71.43 82.14 64.29 64.29 67.86 50.00 89.29 71.83 Figura 6.28 RSTFC: Mano izquierda, pies.. 123456789 0 10 20 30 40 50 60 70 80 90 100 85.71 60.71 92.86 82.14 71.43 64.29 71.43 92.86 82.14 78.17 Figura 6.29 RSTFC: Mano izquierda, lengua.. Como se puede observar, los resultados obtenidos usando el algoritmo RSTFC distan mucho de los resultados obtenidos usando del algoritmo desarrollado en este trabajo, así como de los resultados que los autores expresan en el artículo en el que fue publicado.
62 Capítulo 6. Resultados 123456789 0 10 20 30 40 50 60 70 80 90 100 96.43 53.57 75.00 71.43 60.71 60.71 67.86 78.57 64.29 69.84 Figura 6.30 RSTFC: Mano derecha, pies.. 123456789 0 10 20 30 40 50 60 70 80 90 100 100.00 39.29 92.86 85.71 67.86 60.71 67.86 78.57 78.57 74.60 Figura 6.31 RSTFC: Mano derecha, lengua.. 123456789 0 10 20 30 40 50 60 70 80 57.14 64.29 67.86 53.57 50.00 53.57 60.71 75.00 78.57 62.30 Figura 6.32 RSTFC: Pies, lengua.. Esta diferencia se achaca a que el algoritmo ha sido reprogramado por el autor de este trabajo a partir del artículo, de manera que no se han usado los códigos originales. Esto se ha debido a que existen varios parámetros desconocidos en la implementación que
6.9 Conclusiones 63 los autores han realizado, destacando por ejemplo, que en el artículo no se especifica el parámetro de regularización ρ que se ha usado o cuantas copias retrasadas de las señales se usan para formar la matriz aumentada. 6.9 Conclusiones En este capítulo se han expuesto los resultados que se han obtenido usando el algoritmo que se ha desarrollado en este trabajo junto con los obtenidos usando el algoritmo RSTFC. Se han presentado gráficas de resultados y se han hecho breves comentarios sobre lo que se ha obtenido en cada caso. En el capítulo siguiente se detallan algunas de las conclusiones que se han tomado a partir de los resultados obtenidos.
7 Análisis de los resultados If you can’t explain it to a six year old, you don’t understand it yourself. Albert Einstein Tras los resultados expuestos en el capítulo 6, se ha considerado necesario analizar los mismos con detenimiento, ya que se pueden extraer múltiples conclusiones de todas las pruebas que se han realizado. A lo largo de este capítulo se comentan las conclusiones más importantes extraídas de los resultados así como la posible justificación de los resultados que se han obtenido. 7.1 Descomposición en bandas de frecuencia La idea original de dividir la señal en distintas bandas de frecuencia surgió a partir del estudio de las ondas del cerebro. En el apartado 1.3.1 se vio que cada una de las bandas de frecuencia del cerebro actúa por separado y se asocian a estados mentales diferentes. Es más, cada banda del cerebro aparece en zonas distintas del mismo y se considera que tienen origines diferentes. Aunque puede haber cierta relación entre las bandas() por ejemplo en la banda Beta se cuelan muchos armónicos de la onda µ [ 29 ]), tiene sentido analizarlas por separado, ya que cada una de las bandas nos puede proporcionar nueva información que puede o no, ser de utilidad. Se ha podido comprobar que la mayor parte de la información útil para estimar el movimiento imaginario que está realizando un sujeto se encuentra en la banda Alfa, ya que como se ha mencionado en el apartado 1.4.1, las frecuencias en las que se dan las ondas µ coinciden con el rango de frecuencias de las ondas Alfa. En la Figura 7.1 se puede comprobar como en la banda de las ondas Alfa se encuentra información suficiente para 65
66 Capítulo 7. Análisis de los resultados realizar un buen sistema de BCI, ya que en esta banda se dan la mayor parte de los ERD y de los ERS, pero a la vista de los resultados obtenidos se puede afirmar que el resto bandas le aportan información extra y que la banda Alfa no contiene la totalidad de la información útil para la clasificación del tipo de movimiento imaginario. En la figura Figura 7.1 también se ha representado el resultado de tomar todas las bandas a la vez (es decir, coger una sola banda de frecuencia que abarque las cuatro bandas) que, como era de esperar, vemos que empeora los resultados con respecto a tomar solamente la banda Alfa, porque aunque partimos de más información, esta es mezclada e integrada en toda la banda por lo que la información resulta contaminada por más ruido o artefactos. Las Figura 6.5, Figura 6.6, Figura 6.7 y Figura 6.8 (figuras en las que se representan los diferentes patrones espaciales de los filtros en cada banda) se han representado para ver como en cada banda la información reside en partes diferentes del cerebro, ya que cada banda tiene un patrón espacial distinto. Estas figuras también nos sirven para comprobar la similitud que existe entre los patrones de los filtros que se obtienen cuando tomamos las bandas Alfa y Beta a la vez y cuando las tomamos por separado. Cuando tomamos las dos bandas a la vez se escoge un filtro minimizador que resulta muy parecido al de la banda Beta y se toma un filtro maximizador muy parecido al de la banda Alfa, mientras que los patrones de las otras dos bandas difieren bastante de los anteriores. Otro aspecto a destacar en el uso de las distintas bandas de frecuencia es que en este trabajo se han usado siempre el mismo número de bandas para cada uno de los sujetos y, como se puede observar en las gráficas de los resultados, algunos sujetos empeoran los resultados al usar más bandas de frecuencia, por lo que vemos que tendría sentido personalizar el número de bandas que cada sujeto use. 7.2 Zonas de cerebro Ya que se han realizado pruebas con las cuatro clases de movimientos imaginario, se ha pensado que resultaría interesante ver los patrones espaciales de los filtros que se han obtenido para cada par de clases. Este es el motivo por el que se han ido representado todos los diagramas de las cabezas en cada una de las pruebas. any sentence Para interpretar estos diagramas resulta muy útil la Figura 1.5 y recordar que el lado derecho del cerebro controla la parte izquierda del cuerpo y viceversa. Con esta información, se puede identificar, ver e interpretar como está funcionando el algoritmo CSP. Podemos ver que en las clasificaciones en las que estamos intentando estimar un movimiento imaginario de en la mano izquierda, el algoritmo CSP le da mucha importancia al sensor C4, mientras que en las clasificaciones en las que se está intentando estimar un movimiento imaginario de la mano derecha, el sensor C3 cobra un peso muy alto en el algoritmo de CSP. Al pensar en el movimiento de ambos pies, se activan en mayor medida los sensores que están al lado izquierdo y próximos al eje central de la cabeza (el eje que va desde la nariz
7.2 Zonas de cerebro 67 123456789 0 10 20 30 40 50 60 70 80 90 100 78.57 42.86 67.86 64.29 82.14 42.86 96.43 67.86 60.71 67.06 (a) Usando solamente la banda Theta. 123456789 0 10 20 30 40 50 60 70 80 90 100 82.14 67.86 96.43 82.14 57.14 71.43 92.86 100.00 96.43 82.94 (b) Usando solamente la banda Alfa. 123456789 0 10 20 30 40 50 60 70 80 90 100 89.29 53.57 71.43 71.43 46.43 67.86 100.00 82.14 85.71 74.21 (c) Usando solamente la banda Beta. 123456789 0 10 20 30 40 50 60 70 80 90 100 57.14 46.43 64.29 53.57 82.14 46.43 60.71 64.29 92.86 63.10 (d) Usando solamente la banda Gamma. 123456789 0 10 20 30 40 50 60 70 80 90 100 89.29 75.00 100.00 71.43 32.14 71.43 82.14 100.00 89.29 78.97 (e) Usando las cuatro bandas como una sola. Figura 7.1 Mano izquierda - Mano derecha: Porcentaje de aciertos de cada una de las bandas por separado y de todas a la vez. hacia la nuca), lo que nos hace pensar que durante el pensamiento imaginario de los dos pies pensaba con más empeño en el pie derecho (ya que el lado izquierdo parece tener más actividad). Cuando intentamos estimar el movimiento entre los pies y cualquiera de las dos manos, los pesos de los filtros calculados con el algoritmo de CSP parecen repartirse entre
68 Capítulo 7. Análisis de los resultados dos sensores de la zona próxima al lóbulo frontal y uno próximo al lóbulo occipital. Sin embargo cuando lo comparamos con el movimiento de la lengua, parece que cobran más importancia los sensores próximos al lóbulo occipital, ignorando los sensores cercanos al lóbulo frontal, lo cual puede tener sentido porque como vamos a ver a continuación, esta zona se asocia también al pensamiento de la lengua, por lo que no serviría para diferenciar entre lengua y pies. A pesar de que en la figura Figura 1.5 podamos ver que la zona del cerebro que controla la lengua se sitúa en la zona más cercana a las orejas, en los casos en los queremos comparar el movimiento imaginario de la lengua contra el de las dos manos, cobra mucha importancia en el algoritmo CSP, el sensor FZ y el sensor de al lado de FZ que se encuentre en el mismo lado del cuerpo que la mano en la que se piensa. Esto nos resulta muy curioso ya que la zona del cerebro que controla la lengua queda muy alejada del sensor FZ. Sin embargo, cuando comparamos los movimientos de la lengua con los pies, el algoritmo CSP le da gran importancia al sensor más cercano a la oreja izquierda, aunque el sensor FZ sigue manteniendo un peso importante. Repasando los resultados obtenidos en el apartado 6.6, vemos que el sujeto 4 ha obtenido mejor porcentaje en la clasificación entre la lengua y los pies por lo que es probable que domine mejor estos tipos de movimientos que el sujeto 7. En la Figura 7.2 se han representado los filtros espaciales de este sujeto. Observandola, podemos ver que parece que usa más la zona del cerebro más próxima a las orejas y descarga importancia del sensor FZ (dándosela al sensor de al lado) cuando piensa en la lengua. Para pensar en los pies, sin embargo, usa la misma zona que el sujeto 7. Figura 7.2 Ambos pies - Lengua del sujeto 4: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez. 7.3 Porcentajes de acierto Durante el capítulo 6 también se han ido representando gráficas que representan el porcentaje de aciertos que obtenía cada uno de los sujetos en cada una de las pruebas, donde podemos comprobar que algunos de los sujetos siempre obtenían mejores resultados que otros.
7.4 Multiclase 69 Esto es un indicador claro de que para usar correctamente un sistema BCI hace falta tener cierta habilidad o pericia, lo que significa que cualquier persona puede entrenarse para usarlo y que con la práctica se puede ir mejorando en su uso. En la Figura 7.3 se ha representado la media de aciertos que cada uno de los usuarios ha obtenido entre todos los experimentos (de dos clases) que se han realizado pudiendo comprobar que el sujeto 7 es el que mejor resultados consigue en media. Podemos suponer que los sujetos que consiguen mejores resultados son aquellos que tienen más pericia con el sistema. En la Figura 7.3 también se ha representado la media en total que se ha conseguido entre todos los usuarios y todos los experimentos, obteniéndose un 87.29%. Otro aspecto a destacar es que podemos ver que todos los usuarios han obtenido un porcentaje de acierto superior al 70%, por lo que todos los sujetos podrían hacer uso de un sistema BCI con este diseño. 123456789 30 40 50 60 70 80 90 100 94.64 74.40 89.88 89.88 82.74 73.81 97.02 93.45 91.67 87.50 Figura 7.3 Media de aciertos que de cada uno de los usuarios ha obtenido entre todos los experimentos de dos clases. 7.4 Multiclase Con respecto a los resultados del experimento multiclase, se pueden hacer un par de análisis que expondremos a continuación. 7.4.1 Regiones de decisión Mientras que en los casos en los que solo comparábamos dos clases siempre obteníamos un porcentaje de acierto mayor del 80% (usando cuatro bandas de frecuencia), al comparar las cuatro clases, tenemos que los resultados han empeorado considerablemente. Esto se debe a que como se explicó en el apartado 4.11 se divide el mismo subespacio en cuatro
76 Capítulo 8. Conclusiones que realiza otras tareas, al igual que somos capaces de conducir o de manejar un ordenador mientras mantenemos una conversación. Este pensamiento surge del hecho de que en los modelos que se conocen, el usuario debe de estar completamente concentrado en la tarea que realiza para que el ordenador sea capaz de registrar correctamente las ondas surgidas a raíz de sus pensamientos. Por otro lado, también planteamos si será posible crear tecnologías que permitan una mejor captación de la señal sin necesidad de realizar implantes como en el caso de ECoG, para obtener medidas más limpias y representativas del estado mental de las personas. En este trabajo se ha profundizado en el tratamiento de señales que como se ha visto es otra parte fundamental de todo sistema BCI. Creemos que en esta linea también se pueden realizar grandes avances. Actualmente se esta investigando para tratar de mejorar en todo lo posible el algoritmo CSP ya que su aplicación en los sistemas BCI ha significado una gran aportación convirtiéndose en la técnica más usada para la extracción de características en las señales. Además de estudiar en detalle el algoritmo CSP, se ha desarrollado una mejora sobre el mismo, que ha consistido en tomar distintas bandas de frecuencias en función de las frecuencias de las distintas ondas cerebrales (Theta, Alfa, Beta y la parte baja de la banda Gamma), aplicar el método de CSP en cada una de ellas por separado y extraer las características que se usaran más tarde para clasificar, en la literatura, a este tipo de técnica se le conoce como FBCSP. Realizando esta mejora se ha conseguido mejorar los resultados de un 82.14% a un 87.5% de ensayos acertados 1 llevándonos a la conclusión de que incluir la información proveniente de las distintas bandas del cerebro supone una mejoría. Se han representado las zonas del cerebro más importantes durante cada tipo de movimiento imaginario, que en realidad se tratan de los coeficientes de los filtros CSP calculados, particularizando el caso para cada banda de frecuencia. Esto nos ha ayudado a sacar conclusiones sobre la manera de pensar en los movimientos imaginarios y qué bandas de frecuencia son más importantes en este sentido, ya que cobraban especial importancia las bandas alpha y beta. También hemos podido ver que incluso en el caso multiclase donde se consiguen porcentajes de aciertos mucho menores, se han obtenido porcentajes superiores al 70% en casi todos los usuarios (que es el límite teórico que se establece para que la comunicación en un sistema sea aceptable) habiendo solamente tres usuarios que han obtenido una tasa de acierto inferior a este porcentaje e incluso un usuario que ha obtenido una tasa de acierto del 87%. Finalmente, a partir de la información extraída de [ 35 ], se ha implementado el algoritmo RSTFC con la intención de comparar los resultados obtenidos con el algoritmo CSP y con el algoritmo desarrollado a lo largo de este trabajo, pero finalmente no ha sido posible ya que no disponíamos de algunos parámetros fundamentales del programa. Como línea de investigación en el futuro se propone estudiar la manera de incorporar 1 Para calcular estos porcentajes se ha hecho la media de porcentajes de aciertos de cada caso, mano izquierdamano derecha, mano izquierda-pies, mano izquierda-lengua...
77 las distintas bandas de frecuencias intentando conseguir la selección de los mejores filtros espaciales de entre todas las bandas pudiendo escoger un número distinto de filtros de cada banda. Esto podría permitir ahorrar en características que ayudarían a alejarse del overfitting, ya que en este trabajo se han tomado al rededor de cinco filtros por cada banda proporcionando alrededor de 20 características. También creemos que podría ser de utilidad añadir un preprocesado que elimine un mayor número de artefactos y que limpie la señal. Por último, creemos que este algoritmo podría ser más versátil si se pudiese incorporar información de otros usuarios reduciendo el número de muestras de entrenamiento que se usen para cada sujeto.
Índice de Figuras 1.1 Esquema BCI. 3 1.2 EEG de una crisis tónico-clónica. 5 1.3 Lóbulos del cerebro. 6 1.4 Esquema de una neurona. 7 1.5 Correspondencia entre las zonas del lóbulo parietal y las zonas del cuerpo que controlan. 9 1.6 Tabla para deletrear usada en [17]. 10 2.1 Ejemplo de CSP tomando una única dimensión 18 2.2 Ejemplo de CSP tomando dos dimensiones 18 2.3 Ejemplo de CSP tomando una tres dimensiones 18 2.4 Nubes de puntos separadas con LDA 22 2.5 Nubes de puntos separadas con LDA y FDP de las nubes de puntos 23 3.1 Esquema de las sesiones 26 3.2 Esquema de los ensayos 26 3.3 Esquema del montaje para la grabacion de las señales EEG 27 4.1 Diagrama de bloques del algoritmo desarrollado 33 4.2 Esquema de método usado para separar en grupos aleatorios 34 4.3 Esquema de banco de filtros 35 4.4 Esquema de cálculo de filtros espaciales (CSP) 36 4.5 Esquema de cálculo de características 37 4.6 Esquema del proceso de estimación de la clase de movimiento 38 4.7 Ejemplo de ejecución del algoritmo multiclase cuando se da el caso en el que dos clases tienen el mismo número de votos 39 6.1 Mano izquierda - Mano derecha: Resultados por sujeto usando las bandas Alfa y Beta como una sola 47 6.2 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez. Donde se puede apreciar las zonas mas activas de la cabeza durante el pensamiento de estos dos movimientos 48 6.3 Mano izquierda - Mano derecha: Resultados por sujeto usando las bandas Alfa y Beta por separado 48 6.4 Mano izquierda - Mano derecha: Resultados por sujeto usando cuatro bandas 49 79
80 Índice de Figuras 6.5 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Theta 49 6.6 Mano izquierda - Mano derecha:Filtro maximizador y minimizador de la banda Alfa 50 6.7 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Beta 50 6.8 Mano izquierda - Mano derecha: Filtro maximizador y minimizador de la banda Gamma 50 6.9 Mano izquierda - Ambos pies: Resultados por sujeto usando las bandas Alfa y Beta a la vez 52 6.10 Mano izquierda - Ambos pies: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 52 6.11 Mano izquierda - Ambos pies: Resultados por sujeto usando cuatro bandas (Theta, Alfa, Beta y Gamma) 53 6.12 Mano izquierda - Lengua: Resultados por sujeto usando las bandas Alfa y Beta a la vez 54 6.13 Mano izquierda - Lengua: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 54 6.14 Mano izquierda - Lengua: Resultados por sujeto usando cuatro bandas (Theta, Alfa, Beta y Gamma) 54 6.15 Mano derecha - Ambos pies: Resultados por sujeto usando las bandas Alfa y Beta a la vez 55 6.16 Mano derecha - Ambos pies: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 55 6.17 Mano derecha - Ambos pies: Resultados por usuario usando cuatro bandas (Theta, Alfa, Beta y Gamma) 56 6.18 Mano derecha - Lengua: Resultados por sujeto usando las bandas Alfa y Beta a la vez 56 6.19 Mano derecha - Lengua: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 57 6.20 Mano derecha - Lengua: Resultados por sujeto usando cuatro bandas (Theta, Alfa, Beta y Gamma) 57 6.21 Ambos pies - Lengua: Resultados por sujeto usando las bandas Alfa y Beta a la vez 58 6.22 Ambos pies - Lengua: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 58 6.23 Ambos pies - Lengua: Resultados por sujeto usando cuatro bandas (Theta, Alfa, Beta y Gamma) 58 6.24 Multiclase: porcentaje de aciertos por sujeto 59 6.25 Diagrama de porcentaje de clases de votos en algoritmo multiclase 60 6.26 Sensibilidad y Precisión por clase y sujeto en el caso multiclase. 60 6.27 RSTFC: Mano izquierda, mano derecha. 61 6.28 RSTFC: Mano izquierda, pies. 61 6.29 RSTFC: Mano izquierda, lengua. 61 6.30 RSTFC: Mano derecha, pies. 62 6.31 RSTFC: Mano derecha, lengua. 62 6.32 RSTFC: Pies, lengua. 62 7.1 Mano izquierda - Mano derecha: Porcentaje de aciertos de cada una de las bandas por separado y de todas a la vez 67 7.2 Ambos pies - Lengua del sujeto 4: Filtro maximizador y minimizador de las bandas Alfa y Beta a la vez 68 7.3 Media de aciertos que de cada uno de los usuarios ha obtenido entre todos los experimentos de dos clases 69 7.4 Escenario sintético para explicar el problema de la clasificación multiclase 70 7.5 Comparación muestras rojas y verdes en escenario sintético 71
Índice de Figuras 81 7.6 Media de sensibilidad y precisión de cada clase entre todos los sujetos 72
Índice de Tablas 1 Tabla de signos matemáticos usados en el trabajo XIII 3.1 Tipos de eventos 28 4.1 Pares de clases de movimiento 32 4.2 Bandas de frecuencias usadas 35 4.3 Posibles resultados de la votación de clases 39 6.1 Parámetros optimizados 46 6.2 Parámetros usados 46 6.3 Diferentes inicializaciones (usando diferentes semillas) con distinto numero de bandas de frecuencia 51 6.4 Matriz de confusión del caso multiclase. En las filas se representan las clases reales, mientras que en las columnas las clases asignadas 60 83
Glosario BCI Brain Computer Interface. III, V, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 22, 43, 47, 65, 68, 69, 75, 79 CSP Common Spatials Patterns. III, V, 2, 13, 15, 17, 35, 36, 41, 42, 43, 45, 66, 68, 79 CV Cross Validation. 32, 34, 37, 38, 45, 60 ECoG Electrocorticografía (del inglés Electrocorticography). 3, 4, 76 EEG Electroencefalograma (del inglés Electroencephalography). 3, 4, 7, 8, 9, 10, 25, 27, 28, 29, 31, 35, 45, 79 EOG Electrooculograma. 25, 26, 27, 28, 29, 34 ERD evento relacionado con la desincronización. 8, 9, 65 ERS evento relacionado con la sincronización. 8, 65 FBCSP Filter Bank Common Spatial Patterns. 31, 76 FDP Función de densidad de probabilidad. 22, 79 fMRI functional Magnetic Resonance Imaging. 3 fNRI functional Near-Infrared Spectroscopy. 3 GDF General Data Format. 27 LDA Linear Discriminant Analysis. III, 13, 18, 19, 20, 22, 41 MEG Magnetoencefalografía. 3 85