SUEÑO EN HUMANOS Y RATAS: UNA
APROXIMACIÓN CUANTITATIVA.
Torres Almanza Germán Augusto
Proyecto final presentado como requisito parcial para optar al título de:
Ingeniero Biomédico
Una Tesis Presentada Para Obtener El Título De
Ingeniero Biomédico
Universidad de los Andes, Bogotá DC
Asesor:
Doctor Mario Andrés Valderrama Manrique
Co-asesor:
Alejandro Osorio Forero
Universidad de los Andes
Facultad de ingeniería, Departamento de ingeniería biomédica
Bogotá DC, Colombia
Abstract
En el presente trabajo se realizó una revisión bibliográfica sobre los distintos métodos existentes para la clasificación de estados de sueño y la información (Características) que utilizan para dicho fin. A partir de lo cual se probaron diferentes grupos de características, métodos de reducción de dimensión para optimizar el proceso de clasificación y algoritmos de clasificación supervisados como los Bosques Aleatorios o Máquinas de Soporte Vectorial y no supervisados como k-means, j-means y c-means.
El mejor resultado se obtuvo con los bosques aleatorios con un rendimiento promedio de 84.44%; sin embargo, con los clasificadores no supervisados se obtuvieron resultados entre 73.90% y 74.52%.
Estos resultados son comparables a los obtenidos por un especialista en clasificación de estados de sueño. Resultados mejorables combinando clasificadores para obtener métodos más robustos.
Palabras clave: Clasificación estados de sueño, PCA, Q-α, Bosques Aleatorios, Maquinas de Soporte Vectorial, j-means, k-means, c-means.
Tabla de contenido
1. Introducción y Problemática... 1
1.1 Introducción ... 1
1.2 Planteamiento del Problema ... 2
1.3 Justificación ... 2
1.4 Pregunta de Investigación ... 2
2. Objetivos de Investigación ... 3
2.1 Objetivo General ... 3
2.2 Objetivos Específicos ... 3
3. Marco Referencial... 5
3.1 Marco Conceptual ... 5
3.1.1 Estados de sueño ... 5
3.1.1.1 Estados de sueño en humanos ... 5
3.1.1.2 Clasificacion de estado de sueño en ratas ... 6
3.1.2 Extracción de Características ... 7
3.1.2.1 Potencia Absoluta ... 7
3.1.2.2 Potencia Relativa ... 8
3.1.2.3 Radios entre Potencias ... 8
3.1.2.4 Entropia Shannon ... 9
3.1.2.5 Entropia Aproximada ... 9
3.1.2.6 Entropia Muestral ... 10
3.1.2.7 Entropia Multiescala ... 10
3.1.2.8 Dimensiones Fractales ... 11
3.1.2.9 Analisis de fluctuaciones sin tendencia (DFA) ... 12
3.1.2.10 Coherencia ... 12
3.1.2.11 Media Aritmética Muestral ... 13
3.1.2.12 Varianza Muestral ... 13
3.1.2.13 Asimetría ... 14
3.1.2.14 Curtosis ... 14
3.1.3 Reducción de Dimensiones ... 15
3.1.3.1 Análisis de Componentes Principales (PCA) ... 15
3.1.3.2 Método 𝑄𝛼 ... 18
3.1.4 Clasificadores ... 19
3.1.4.1 K-Means ... 20
3.1.4.2 J-Means ... 21
3.1.4.3 C-Means ... 23
3.1.4.4 Máquinas de Soporte Vectorial (SVM) ... 24
3.1.4.5 Bosques Aleatorios (RF) ... 27
3.2 Antecedentes ... 28
4.1 Sujetos ... 31
4.1.1 Para Humanos ... 31
4.1.2 Para Ratas ... 31
4.2 Extracción de Características ... 32
4.2.1 Extracción de Características para Humanos ... 32
4.2.2 Extracción de Características para Ratas ... 40
4.3 Reducción de Dimensión ... 44
4.4 Clasificación ... 45
5. Resultados ... 53
5.1 Extracción de Características ... 53
5.1.1 Extracción de Características en Humanos ... 53
5.1.2 Extracción de Características en Ratas ... 54
5.2 Clasificación ... 55
5.2.1 Clasificación de Estados de Sueño en Humanos ... 55
5.2.2 Clasificación de Estados de Sueño en Ratas ... 63
6. Análisis de Resultados y Discusión... 66
6.1 Analisis de Resultados ... 66
6.2 Discusión y Trabajo Futuro ... 68
Tabla 4.1 Frecuencia de aparición de características sobre 15 artículos relacionados con clasificación de estados de sueño en humanos utilizando señales de EEG. ... 33
Tabla 4.2 Frecuencia de aparición de características sobre 7 artículos relacionados con
clasificación de estados de sueño en ratas utilizando señales de EEG. ... 41
Tabla 5.1 Potencia Absoluta y Relativa vs Tipos de Normalización para tres clasificadores: Bosques Aleatorios, C-Means y K-Means. ... 61
Tabla 5.2 Rendimiento de cada clasificador para 5 sujetos ... 62
Tabla 5.3 Resultado de Clasificación Democrática por clases. ... 62
Tabla 5.4 Canal P1, F1 y P2 vs Tipos de Normalización para tres clasificadores en dos ratas: Bosques Aleatorios, C-Means y K-Means. ... 64
Figura 5.1 Gráfica de la característica "Máximo Coeficiente Polinomial" vs los estados de sueño en humanos. ... 54
Figura 5.2 Gráfica de característica "Potencia Absoluta Delta" vs estados de sueño en
humanos. ... 54
Figura 5.3 Gráfica de característica "Radio Potencia (Alpha/Gamma)” vs estados de sueño en ratas. ... 55
Figura 5.4 Gráfica de característica "Radio Potencia (Beta/Gamma)” vs estados de sueño en ratas. ... 55
Figura 5.5 Clasificación global del J-Means para el sujeto SC4001 con 158 características. . 56
Figura 5.6 Clasificación por estados de sueño del J-Means para el sujeto SC4001 con 158 características. ... 57
Figura 5.7 Clasificación global del K-Means para el sujeto SC4001 con 120 características...58
Figura 5.8 Clasificación por estados de sueño del k-Means para el sujeto SC4001 con 158 características. ... 58
Figura 5.9 Clasificación global del Bosques Aleatorios para el sujeto SC4001 con 120
características. ... 59
Figura 5.10 Clasificación por estados de sueño de Bosques Aleatorios para el sujeto SC4001 con 158 características. ... 60
Figura 5.11 Gráfica que compara el mejor desempeño global de los cinco clasificadores
utilizados en humanos ... 62
Figura 5.12 Gráfica que compara el mejor desempeño global de los cinco clasificadores
Capítulo 1
Introducción y Problemática
1.1 Introducción
La clasificación de estados de sueño no es una tarea sencilla, requiere un gran número
de horas realizar este trabajo de manera manual. Es por ello que se han buscado formas
de realizar este trabajo de manera automática a través de algoritmos que buscan en
principio clasificar datos. Sin embargo para el uso correcto de dichos algoritmos hay
primero que extraer información de las señales que se desean utilizar, esta información
recibe el nombre de características.
Una vez obtenidas las características viene la selección de los diferentes algoritmos que
se desea utilizar. Para ello hay que tener en cuenta que los algoritmos han sido agrupados
en dos categorías, los primeros llamados algoritmos supervisados, como los vectores de
soporte vectorial o los bosques aleatorios y los no supervisados en los que se puede
incluir k-means o c-means.
Durante el proceso de prueba de los diferentes algoritmos también se han creado
herramientas que permitan una clasificación más rápida y eficiente, para poder descartar
información irrelevante. Estos son los métodos de reducción de características y ejemplo
de ellos son el PCA y Q-alpha.
El siguiente trabajo busca a partir de una serie de características realizar la clasificación
de estados de sueño a partir de algoritmos supervisados y no supervisados realizando
características para comparar su desempeño con la ubicación de todas las
características.
1.2 Planteamiento del Problema
La clasificación de estados de sueño no es una terea sencilla, los expertos en esta área
deben pasar largas horas frente a una pantalla analizando las diferentes señales y
realizando la clasificación correspondiente. Este puede ser un trabajo arduo y repetitivo
que termina agotando al experto.
1.3 Justificación
Si se llega a encontrar un algoritmo que realice el proceso de manera automática y
eficiente, el experto en sueño se puede dedicar a actividades menos monótonas y más
productivas, los resultados de análisis de anomalías en el sueño se hacen más veloces y
eficientes al poder utilizar una computadora para clasificar a más de un paciente.
1.4 Pregunta de Investigación
¿Se puede clasificar los estados de sueño de manera automática obteniendo resultados
Capítulo 2
Objetivos de Investigación
2.1 Objetivo General
Proponer un método óptimo de clasificación de etapas de sueño a partir de señales
electroencefalográficas de humanos y ratas.
2.2 Objetivos Específicos
1. Realizar una revisión bibliográfica de los diferentes métodos de clasificación
utilizados en aprendizaje de máquina y comparar las herramientas
computacionales utilizadas para la clasificación de etapas de sueño.
2. Realizar una revisión bibliográfica de los diferentes estados de sueño presentes
en humanos y ratas, sus principales características y diferencias.
3. Realizar funciones generales que utilicen los métodos de clasificación para luego
ser orientados hacia la clasificación de estados de sueño (implementación y
utilización de algoritmos relacionados con las características asociadas con
sueño).
4. Probar algoritmos para la clasificación supervisada y no supervisada de señales
5. Validar el desempeño de los diferentes algoritmos y herramientas
computacionales para la clasificación de estados de sueño en humanos y ratas.
6. Integrar los métodos de clasificación a una Interfaz para el registro y clasificación
Capítulo 3
Marco Referencial
3.1
Marco Conceptual
En el presente trabajo se busca la clasificación de los estado de sueño por parte de varios
clasificadores, sin embargo para que este proceso de lleve a cabo se necesitan de una
serie de pasos. El primero es definir los estados de sueño tanto en humanos como en
ratas, la extracción de características, la utilización de algoritmos de reducción de
dimensión para optimizar el proceso y por último la clasificación. En este apartado se
explican los conceptos necesarios para realizar el debido proceso.
3.1.1
Estados de sueño
3.1.1.1 Estados de sueño en humanos
La clasificación de estados de sueño en humanos de divide de la siguiente manera:
despierto, NREM (Estado I, II y III) y REM de acuerdo a la academia americana de sueño
y medicina (AASM):
Despierto (W): tiene como características bajo voltaje (10-30 mV), frecuencias mixtas de
EEG, considerable actidividad en frecuencia alpha y alto movimiento muscular.
N-REM S1: Caracterizado por tener bajo voltaje y frecuencias mixtas cuya mayor amplitud
está en el rango de 2-7 Hz. En este estado la actividad alpha comienza a desaparecer.
Despierto viene acompañado de movimiento lento de ojos (Salih Güneş, Kemal Polat,
Şebnem Yosunkaya, 2010). Estado de transición entre despierto y dormido.
N-REM S2: es caracterizado por una limitada proporción de ondas lentas, husos de sueño
(12-16 Hz), complejos K (abrupta onda negativa seguida por una onda lenta positiva) que
ocurren de manera aleatoria o por estimulación auditiva y un voltaje relativamente bajo y
frecuencias mixtas.
N-REM S3: ondas lentas de aproximadamente 2 Hz con amplitudes de 75mV, ondes delta
muy frecuentes. Husos de sueño y complejos K todavía presentes. En una clasificación
previa, esta etapa se dividía en dos partes S3 y S4, clasificación que se ha mantenido
para la realización de este estudio.
REM: presenta ondas de bajo voltaje como frecuencias mixtas tales como ondas de
diente de sierra y ondas Beta. (Academy of Sleep Medicine Task Force, 1999; Salih
Güneş, Kemal Polat, Şebnem Yosunkaya, 2010).
3.1.1.2 Clasificación de estados de sueño en ratas
La clasificación de estado de sueño en ratas de divide de la siguiente manera:
Despierto (W): Caracterizado por exhibir baja amplitud y alta frecuencia en EEG. El
Sueño de ondas lentas (SWS): alta amplitud y baja frecuencia en EEG, empieza con
husos de sueño y es dominado por ondas de frecuencia delta.
REM: Baja amplitud y alta frecuencia en EEG sin embargo el animal es atónico y muestra
baja actividad muscular. Alta actividad theta y gamma (Zong-En Yu, Chung-Chih Kuo,
Chien-Hsing Chou, Chen-Tung Yen, Fu Chang, 2011)
3.1.2
Extracción de Características
Para poder realizar la clasificación de una señal en los diferentes estados de sueño es
necesario extraer información de la señal que dé cuenta de dichos estados, este proceso
es denominado extracción de características.
3.1.2.1 Potencia Absoluta
Existen diferentes formas del cálculo de la potencia absoluta pues es una medida
ampliamente utilizada para la clasificación de estado de sueño, una de las más utilizadas
es el análisis espectral de potencia. Sin embargo con el objetivo de realizar la extracción
de características cuyo tiempo sea muy bajo y que pueda ser utilizado para clasificación
de estados de sueño en tiempo real, se optó por utilizar un método más sencillo como es
el de potencia promedio, definido como:
𝑃𝑚 =
∑𝑁 [𝑥(𝑛)]2 𝑛=1
𝑁
En donde 𝑥 = {𝑥1…, 𝑥𝑁} son los puntos de la señal y N es el número de datos
(Gomis Pedro, 2009). Este proceso se realiza en este trabajo para todas las
bandas frecueciales utilizadas.
3.1.2.2 Potencia Relativa
La potencia absoluta se puede ver afectada por factores que no están relacionados con
actividad cerebral como son la distancia entre electrodos o características del tejido entre
el electrodo y el cerebro. Por lo que es complicado comparar entre sujetos. Es por este
motivo que se han creado medidas como la potencia relativa que permitan suprimir estas
variaciones asociadas a cada sujeto.
La potencia relativa es definida como la potencia absoluta de una banda frecuencial
determinada (𝑃𝐵𝐹) dividida entre la potencia absoluta en espectro de frecuencia total (𝑃𝑇)
utilizado (Andrew F. Leuchter, Sebastian H.J. Uijtdehaage, Ian A. Cook, Ruth O'Hara,
Mark Mandelkern 1999)
𝑃𝑅 =𝑃𝐵𝐹
𝑃𝑇
(2)
3.1.2.3 Radios entre Potencias
Los radios entre potencias han sido ampliamente utilizados en la práctica clínica por tener
un significado fisiológico como por presentar gran relevancia a la hora de clasificar
estados de sueño. Tal es el caso del radio beta/delta el cual además de servir para
discriminar entre estados de sueño revela el ya conocido hecho que durante sueño ligero
disminuyen su actividad, especialmente beta y gamma (Anna Krakovská, Kristína
Mezeiová, 2011).
Sin embargo aunque beta/delta es bueno para discriminar se ha utilizado todas las
posibles combinaciones de bandas frecuenciales con el objetivo de observar que tan
buenas son estas características para el proceso de clasificación de estados de sueño
(Marina Ronzhina, Oto Janoušek, Jana Kolářová, Marie Nováková, Petr Honzík, Ivo
Provazník, 2012).
Los radios entre potencias se definen de la siguiente manera:
𝑅𝑃 = 𝑃𝐵𝑓𝑖
𝑃𝐵𝑓𝑖+1
(3)
En donde 𝑃𝐵𝑓𝑖 es la potencia absoluta de la banda frecuencial i.
3.1.2.4 Entropía Shannon
Es una medida de la cantidad de información asociada a determinado suceso. Se calcula
de la siguiente manera:
𝐻(𝑥) = − ∑ 𝑝(𝑥𝑖) 𝑖
log (𝑝(𝑥𝑖)) (4)
Donde 𝑝(𝑥𝑖) es la probabilidad 𝑝(𝑥 = 𝑥𝑖) (C. Gómez Peña. 2009).
3.1.2.5 Entropía Aproximada
Relacionada con la predictibilidad o regularidad de la serie de datos, incluso si son
ruidosos o de pequeña longitud. Busca patrones repetitivos de longitud m comenzando
en la muestra i en la cual la distancia inducida por la norma máxima difiere hasta un
𝐴𝑝𝐸𝑛(𝑚, 𝑟, 𝑁) = Φ𝑚(𝑟) − Φ𝑚+1(𝑟) (5)
Donde Φ𝑚(𝑟) = 𝜀 {ln ( 𝑐𝑖𝑚(𝑟)
𝑁−𝑚+1)}, siendo 𝑐𝑖
𝑚 el número de vectores 𝑥
𝑖 𝜖 𝑅𝑛 tal que 𝑑(𝑥𝑖, 𝑥𝑗) <
𝑟 (Rodríguez-Sotelo JL, Osorio-Forero A, Jiménez-Rodríguez A. 2014).
3.1.2.6 Entropía Muestral
Es una mejora respecto a la entropía aproximada, ideado para resolver el sesgo de la
entropía aproximada al comparar cada vector consigo mismo. La entropía muestral
cuantifica la regularidad, con valores mayores asociados a mayor irregularidad. Esta
entropía muestral presenta una serie de ventajas sobre la entropía aproximada. La
primera es que su cálculo es más sencillo, cuando el número de muestras es reducido la
entropía muestral coincide más con el valor teórico, por último la consistencia de los datos
es mayor (C. Gómez Peña. 2009).
Para el cálculo de la entropía muestral hay que fijar dos parámetros, m y r, el primero
determina el tamaño de los valores comparados y el segundo es una ventana de
tolerancia r.
𝑆𝑎𝑚𝑝𝐸𝑛(𝑚, 𝑟, 𝑁) = −ln (𝐴
𝑚(𝑟)
𝐵𝑚(𝑟))
(6)
En donde 𝐵𝑚(𝑟) es la media del número de vectores 𝑥𝑖 𝜖 𝑅𝑚tal que 𝑑(𝑥𝑖, 𝑥𝑗) < 𝑟 con i≠
𝑗 divido por N-m+1 y 𝐴𝑚(𝑟) es la media del número de vectores 𝑥𝑖 𝜖 𝑅𝑚+1 tal que
𝑑(𝑥𝑖, 𝑥𝑗) < 𝑟 con i≠ 𝑗 divido por N-m+1 (Rodríguez-Sotelo JL, Osorio-Forero A,
Jiménez-Rodríguez A. 2014).
La entropía multiescala es un estimador de complejidad de una serie de tiempo, en la
cual la entropía muestral es medida a varias escalas de tiempo. Dada una secuencia
temporal 𝑋 = (𝑥1, . . . , 𝑥𝑛), para calcular la entropía multiescala hay que obtener versiones
de grano grueso de la serie temporal,𝑌(𝜏), cada una de las cuales se corresponde con un
factor de escala 𝜏 (C. Gómez Peña. 2009).
𝑌(𝜏)=1
𝜏 ∑ 𝑥𝑖
𝑗𝜏
𝑖=(𝑗−1)𝜏+1
(7)
Posteriormente se calcula la entropía muestral para cada versión de grano grueso
obtenida a partir de la serie original (Rodríguez-Sotelo JL, Osorio-Forero A,
Jiménez-Rodríguez A. 2014).
3.1.2.8 Dimensiones Fractales
La dimensión fractal es una característica que da cuenta de la complejidad e invarianza
escalar de los datos. Estadísticamente cuantifica que tanto se parece un fractal con los
datos de entrada a diferentes escalas.
Para el cálculo de dimensiones fractales se utiliza el método de contar cajas cuyo objetivo
es representar los datos de entrada (señal) en cajas e identificar con cuantas cajas se
pueden representar los datos (Raghavendra, B.S.; Dutt, N.D. 2010).
FD es calculado como la pendiente de la línea recta ajustada a la curva formada por la
secuencia (𝑙𝑛(𝐿), (𝑆(𝐿)/𝐿)) donde L es el tamaño de una caja y S (L) el número de cajas.
Si el intervalo muestral de la señal de entrada (x= {𝑥1…𝑥𝑛}) tiene un intervalo de tiempo
𝑆(𝑛∆𝑡) = ∑ |max(∆𝑥𝑖) − min (∆𝑥𝑖)| 𝑚𝑜𝑑(𝑁/𝑛)
𝑖=1
(8)
Donde ∆𝑥𝑖 = 𝑥𝑛(𝑖−1)+1, 𝑥𝑛(𝑖−1)+2…, 𝑥𝑛(𝑖−1)+𝑛+1. (Rodríguez-Sotelo JL, Osorio-Forero A,
Jiménez-Rodríguez A. 2014)
3.1.2.9 Análisis de fluctuaciones sin tendencia (DFA)
Es un método de análisis de señales que permite detectar las propiedades de correlación.
El primer paso es calcular la serie de tiempo integral como 𝑦 = {𝑦𝑘 = ∑𝑘𝑖=1𝑥𝑖}. Luego 𝑦 se
divide en N/L cajas de longitud L. En cada caja una línea es ajustada y ordenada,
denotada por 𝑦𝑘𝐿 , se toma como la tendencia de la serie temporal en una caja. A La serie
de tiempo integral se le quita la tendencia substrayendo 𝑦𝑘𝐿. La raíz cuadrada de
fluctuación es calculada como:
𝑓(𝐿) = √1
𝑁∑(𝑦𝑖− 𝑦𝑖
𝐿)2 𝑁
𝑖=𝑘
2
(9)
Este proceso se repite para varias longitudes de L. Finalmente el exponente escalado
que representa DFA es obtenida de la pendiente de un ajuste linear entre
𝑙𝑜𝑔10(𝐿) 𝑦 log10 (𝑓(𝐿)) (Rodríguez-Sotelo JL, Osorio-Forero A, Jiménez-Rodríguez A.
2014).
3.1.2.10 Coherencia
Se define como la conexión, relación o unión de unas cosas con otras. La coherencia ha
sido utilizada en numerosos estudios para medir el grado de relación de la actividad de
EEG y se puede definir como la relación normalizada de la densidad espectral de potencia
interés de la coherencia de EEG es su utilización como medida de sincronización entre
dos canales para permitir realizar un estudio de las conexiones funcionales del cerebro.
La coherencia entre dos señales dadas, x(n) y y(n) es definida como:
𝐶𝑥𝑦(𝑤) =
𝑆𝑥𝑦
√𝑆𝑥𝑥∗ 𝑆𝑦𝑦
2
(10)
Donde Sxx y Syy se corresponden con la densidad espectral de potenciade las señales
x[n] e y[n], mientras que Sxy es la densidad espectral de potencia cruzada de las señales
x[n] e y[n]. El valor de 𝐶𝑥𝑦(𝑤) esta entre 0 y 1, significando que valores cercanos a 1 que
las dos señales presentan alto grado de sincronización (Bachiller Matarranz A. 2012).
3.1.2.11 Media Aritmética Muestral
La media aritmética muestral representa el centro físico del conjunto de datos y se define
como la suma de los valores observados, dividido por el total de observaciones (Mendoza
Rivera, H. 2002). Si son observaciones numéricas, entonces la media aritmética de estas
observaciones, se define para casos no agrupados como:
𝑋̅ =∑ 𝑥𝑖
𝑛 𝑖−1
𝑛
(11)
3.1.2.12 Varianza Muestral
Se puede definir como el "casi promedio" de los cuadrados de las desviaciones de los
datos con respecto a la media muestral (Mendoza Rivera, H. 2002). Su fórmula
matemática para el caso de datos referentes a una muestra es:
𝑆𝑥2=
∑𝑛𝑖=1(𝑥𝑖− 𝑋̅)
𝑛 − 1
(12)
3.1.2.13 Asimetría
𝑆 =𝐸(𝑥𝑖− 𝑋̅)
3
𝜎3
(13)
Donde E(t) es el valor esperado, 𝑥𝑖 los datos, 𝑋̅ es la media de los datos y 𝜎 la desviación
estándar de los datos.
Si CAF<0: la distribución tiene una asimetría negativa y se alarga a valores menores que
la media.
Si CAF=0: la distribución es simétrica (Distribución Normal).
Si CAF>0: la distribución tiene una asimetría positiva y se alarga a valores mayores que
la media Matlab. (2015).
3.1.2.14 Curtosis
Las medidas que determinan que cantidad de datos que hay cercanos a la media. Una
medida que se usa con frecuencia y está dada por:
𝑘 =𝐸(𝑥𝑖− 𝑋̅)
4
𝜎4
(14)
Donde E (t) es el valor esperado, 𝑥𝑖 los datos, 𝑋̅ es la media de los datos y 𝜎 la desviación
estándar de los datos. Matlab. (2015).
Cuando el valor de k=3 se dice que los datos se distribuyen forma normal, o de campana
o mesocúrtica.
Si k>3 entonces la distribución es más empinada que la curva normal y se dice que
Si k<3 entonces la distribución es más aplanada que la curva normal y se
llama platicúrtica. (Mendoza Rivera, H. 2002).
3.1.3 Reducción de Dimensiones
Para facilitar el análisis de datos por parte de los algoritmos de clasificación y ayudar a
mejorar su desempeño, se han creado una serie de herramientas que ayudan a
despreciar aquella información que se haya obtenido y que posea muy poca relevancia.
3.1.3.1 Análisis de Componentes Principales (PCA)
Es una técnica estadística comúnmente usada para encontrar patrones, ya sea en
imágenes como en datos de altas dimensiones y expresar los datos de menara que sean
evidentes tanto sus similitudes como diferencias.
Una de las ventajas que presenta el PCA es que una vez se han encontrado dichos
patrones, estos son representados de manera compacta, reduciendo el número de
dimensiones de los datos originales sin perder mucha información sobre los datos. (I
Smith, L. 2002).
Los pasos son:
1. Se saca la media de cada característica y se le resta a los datos pertenecientes a
MDOA = 𝑀𝐷𝑂 − 𝑀𝑀𝐶 (15)
En donde MDOA es la matriz de datos originales ajustados, MDO es la matriz de datos
originales y MMC es la matriz con la media de las características.
2. Calcular la matriz de covarianzas de la matriz de datos originales.
3. Calcular los valores propios y los vectores propios de la matriz de covarianza. Los
valores propios nos dan información de acerca de patrones encontrados en los
datos.
4. Escoger los componentes que van a dar lugar a la matriz de características
transformada. Para ello se organizan los valores propios de acuerdo a que tan
significativos son, esto se hace ordenando los valores propios de mayor a menor
valor y se escogen los vectores propios correspondientes a los mayores valores
de los valores propios. Siendo el vector propio correspondiente al mayor valor
propio el componente principal del grupo de datos.
5. Se descartan aquellos vectores propios que presenten los menores valores
propios. El número de vectores propios desechados son la información que se
pierde en proceso de transformación de los datos.
6. Para determinar un número de aceptable de vectores propios se saca la varianza
𝑉. 𝐴 = ∑ (𝑉𝑃𝐴𝑀𝑛
∑ 𝑉𝑃 )
(16)
En donde VA es la varianza acumulativa, VPAMn son los valores propios
agrupados de mayor a menor y VP son los valores propios.
Cuando 𝑉𝐴 ≥ 𝑢𝑚𝑏𝑟𝑎𝑙 (𝐸𝑠𝑡𝑎𝑏𝑙𝑒𝑐𝑖𝑑𝑜 𝑝𝑜𝑟 𝑒𝑙 𝑢𝑠𝑢𝑎𝑟𝑖𝑜), se dejan de tener en cuenta
los valores propios.
7. Sacar los vectores propios correspondientes a los valores propios hasta el umbral.
8. Como último paso para la formación de la nueva matriz de características se
multiplican los vectores propios por la matriz de características originales de la
siguiente manera:
𝑁𝑀 = (𝑀𝑉𝑒𝑃) ∗ (𝑀𝐷𝑂𝐴 (17)
NM es la nueva matriz, MVeP es la matriz de vectores propios y MDOA es la
matriz de datos originales ajustados.
En donde cada fila de la matriz de vectores propios contiene un vector propio y,
en el caso de la matriz de datos originales ajustados, cada característica. (I Smith,
L. 2002).
3.1.3.2 Método 𝑸𝜶
En la época actual en donde la bioinformática, el reconocimiento visual y clasificación de
textos utilizan información cada vez más compleja, con variedad de datos, el utilizar solo
la información que sea relevante para el análisis, es un problema que adquiere cada vez
esta tarea. Uno de ellos es el 𝑄𝛼, un algoritmo iterativo bastante eficiente que ha sido
probado en distintas tareas con buenos resultados (Lior Wolf and Amnon Shashua. 2005).
El método del 𝑄𝛼es el siguiente:
Dado un grupo M de q muestras sombre el espacio dimensional 𝑅𝑛 representando n
características 𝑥1…𝑥𝑛 sobre q muestras. Siendo 𝑚1𝑇….𝑚𝑛𝑇 Vectores de características
normalizados con la norma L2 pertenecientes a M. S es un subconjunto de características
relevantes del conjunto de n características, 𝛼𝑖 ∈ {0,1}, siendo 𝛼𝑖 = 1 si 𝑥𝑖∈ S. 𝐴𝑠 la matriz
de afinidad y Q es la matriz de los k vectores propios asociados a los datos más altos de
los valores propios de 𝐴𝑠. (Lior Wolf and Amnon Shashua. 2005). Se define 𝑄𝛼como:
𝐴𝑠= ∑ 𝛼𝑖𝑚𝑖𝑚𝑗𝑇 𝑛
𝑖=1
(18)
𝑡𝑟𝑎𝑧𝑎(𝑄𝑇𝐴𝑆𝑇𝐴𝑠𝑄𝑇) = ∑ 𝛼𝑖𝛼𝑗(𝑚𝑖𝑇𝑚𝑗)𝑚𝑖𝑇𝑄𝑄𝑇𝑚𝑗= 𝛼𝑇𝐺𝛼 𝑖,𝑗
(19)
𝐺 =(𝑚𝑖𝑇𝑚𝑗)𝑚𝑖𝑇𝑄𝑄𝑇𝑚𝑗 (20)
𝑄𝛼 = 𝑀𝑎𝑥𝛼(𝛼𝑇𝐺𝛼) Sujeto a 𝛼𝑇𝛼 = 1 (21)
3.1.4 Clasificadores:
Los algoritmos de clasificación se pueden dividir entre los supervisados y los no
supervisados.
Los algoritmos supervisados son algoritmos de clasificación en los cuales se conoce a
priori el número de clases. Estas clases deben caracterizarse en función del conjunto de
las clases no presente dudas (Souza, C. 2010).Las áreas de entrenamiento deben ser
tan homogéneas como sea posible.
Los algoritmos no supervisados son aquellos que no requieren información previamente
especificada sobre las clases que se desean armar para poder realizar una clasificación.
Para ello se vale de herramienta que le permitan reconocer patrones como distancias,
diferencias o medidas estadísticas. Generalmente estos algoritmos solo requieren que
se especifique cuantos grupos se desea armar y en algunos casos los puntos de partida
para realizar la partición (Rodriıguez Sotelo, pp. 95-105,2010).
Razones de interés para utilizar algoritmos no supervisados:
Útiles cuando recoger y marcar un gran número de patrones de una muestra es
extremadamente costoso y no factible.
Cuando las características o variables no cambian significativamente con el paso
del tiempo, los algoritmos no supervisados convergen de manera más rápida
generando la clasificación deseada.
Pueden encontrar y categorizar elementos jerárgicos.
La diferencia entre algoritmos de clasificación está dada por la medida para cuantificar la
agrupación y la función de actualización de partición. (Rodriıguez Sotelo, pp.
3.1.4.1 K-Means:
El K-Means es un algoritmo de clasificación no supervisada. Se encarga de clasificar de
acuerdo a un número determinado de grupos.
Su idea es dado un número determinado de grupos, inicializar un numero de centrioides
igual al número de grupos especificados, dado que el resultado puede cambiar según el
lugar donde sean inicializados, es recomendable que estos puntos estén lo más alejados
uno de otro. Es importante la selección de buenos puntos de partida pues el K-Means es
sensible a este parámetro por lo que si los puntos no están bien ubicados no se va a
encontrar el óptimo global.
El siguiente paso a seguir es asignar cada punto de las observaciones a un centroide
determinado de acuerdo a la distancia mínima entre la observación y el centroide más
cercano.
Una vez realizado este proceso se procede a calcular un nuevo centroide a partir del
promedio de los puntos que pertenezcan a dicho centriode. Una vez realizado este
proceso se procede nuevamente a asignar a cada punto un centrioide.
Este proceso se repite hasta alcanzar el óptimo centroide que se alcanza al minimizar
una función de objetivo. En este caso la función de error cuadrático.
𝐽 = ∑ ∑ ‖𝑥𝑖(𝑗)− 𝑐𝑗‖ 2 𝑛
𝑖=1 𝑘
𝑗=1
En donde ‖𝑥𝑖(𝑗)− 𝑐𝑗‖ 2
es la distancia entre el punto 𝑥𝑖(𝑗), 𝐽=función de desempeño y el
centroide 𝑐𝑗(Haiyang Li, Hongzhou He, Yongge Wen. 2015).
El centroide 𝑐𝑗 se calcula de la siguiente manera:
𝑐𝑗=
∑𝑁 (𝑥𝑖)
𝑖=1
𝑁
(23)
3.1.4.2 J-Means
Consiste en actualizar los centros a través de evaluación local de la función objetivo solo
teniendo en cuenta una región alrededor del centro en vez de todo el espacio disponible.
Funciona de la siguiente manera:
Después de inicializar los centros de manera aleatoria, cada punto 𝑝𝑖 que se encuentre
fuera de una esfera de radio 𝜀 con centro 𝑞𝑖 es considerado como posible candidato para
ser nuevo centroide. Así 𝑝𝑖 rempleza al centrode actual 𝑞𝑖. Despues de actualizar, el valor
de la función objetivo es calculado usando solo el nuevo centroide. Luego el valor de la
función objetivo original (valor previo 𝑓1) es comparado con el nuevo valor de la función
objetivo (𝑓2). Si 𝑓1>𝑓2, el proceso para, en caso contrario el algoritmo empieza de nuevo
usando la misma partición inicial y la misma actualización. (Rodriıguez Sotelo, pp.
95-105,2010).
El parámetro 𝜀 es escogido de tal manera que no hay intersección entre esferas, es por
eso que es necesaria la condición que 𝜀(𝜀 <1
Pasos del algoritmo
1. Inicialización: escoger los centroides (Q) iniciales y se arman los grupos
correspondientes.
2. Buscar puntos no ocupados, son aquellos puntos que no coinciden con el
centroides del cluster y que están fuera de la esfera de radio 𝜀(𝜀 <
1
2min‖𝑞𝑗− 𝑞𝑖‖ 𝑖 ≠ 𝑗) con centro 𝑞𝑗.
3. Encontrar el mejor grupo correspondiente a la función objetivo 𝑓2 en el vecindario
de salto de la solución actual.
Si 𝑓1>𝑓2
4. El proceso para y la solución son los grupos formados y su centroide asociado.
5. Caso contrario encontrar el mejor grupo formado de acuerdo a la vecindad
establecida y volver a paso 2.
Una variación del J-Means es utilizando medidas estadísticas en vez de esferas.
(Rodriıguez Sotelo, pp. 95-105,2010).
El salto pegado por el J-Means corresponde a varias reasignaciones (o movimientos de
K-Means) (Pierre Hansen, Nenad Mladenović. 2001).
C-Means es un algoritmo de clasificación no supervisada más robusto que el K-Means ya
que en este, un mismo punto tiene un grado de pertenencia a todos los grupos
especificados en el algoritmo.
Dado un número determinado de grupos, estos se inicializan creando un número
determinado de centroides, los cuales se debe procurar estén suficientemente separados
uno de otro.
El objetivo de este algoritmo es la minimización de la función objetivo
𝐽 = ∑ ∑ 𝑢𝑖𝑗𝑚‖𝑥𝑖− 𝑐𝑗‖ 2 𝐶 𝑗=1 𝑁 𝑖=1 (24)
𝑢𝑖𝑗 =
1
∑ (‖𝑥‖𝑥𝑖− 𝑐𝑗‖
𝑖− 𝑐𝑘‖) 2 𝑚−1 𝐶
𝑘=1
(25)
𝑐𝑗=
∑𝑁𝑖=1(𝑢𝑖𝑗𝑚∗ 𝑥𝑖)
∑𝑁 𝑢𝑖𝑗𝑚
𝑖=1
(26)
Donde m es el exponente matricial de la partición, un número real mayor a 1 si no se
desea sobrelapamiento, N es el número de datos, C el número de grupos 𝑢𝑖𝑗 es el grado
de pertenencia de 𝑥𝑖 al cluster 𝑐𝑗.
La iteración para cuando ‖𝑢𝑖𝑗𝑘+1− 𝑢𝑖𝑗𝑘‖ < 𝑆 siendo S, el criterio de parada, un número
entre 0 y 1. (Adrian Stetco, Xiao-Jun Zeng, John Keane, 2015)
Es un método de clasificación supervisada formalmente definido por un hiperplano
separador. En pocas palabras, dado una matriz de entrenamiento con su correspondiente
vector de resultados, el SVM devuelve un hyperplano óptimo que categoriza las variables
de prueba.
El presente algoritmo posee ciertas ventajas y desventajas, por un lado la ventajas a
destacar son: efectivo para espacios de alta dimensión, efectivo aun cuando el número
de dimensiones es más grande que el número de muestras, es eficiente con el espacio
de memoria disponible y es versátil pues puede recibir distintos kernels para mejorar el
resultado; por otro lado sus desventajas son: si el número de características es mucho
más grande que el número de muestras va a dar un resultad deficiente y el SVM
directamente no da estimados de probabilidad, estos toca calcularlos usando validación
cruzada. (Pedregosa, F. and Varoquaux, G. and Gramfort, A. 2011)
Los SVM construyen un hiperplano o un conjunto de hiperplanos en un espacio
dimensional alto que puede llegar a ser infinito para clasificar. Su formulacion matemática
es:
Minimización de la función de error
1 2𝑤
𝑇𝑤 + 𝐶 ∑ 𝜍
𝑖 𝑁
𝑖=1 sujeto a 𝑦𝑖(𝑤𝑇𝜙(𝑥𝑖) + 𝑏) ≥ 1 − 𝜍𝑖 , 𝜍𝑖 ≥
0 𝑝𝑎𝑟𝑎 𝑖 = 1 … . 𝑁
(27)
Donde C es una constante de importancia para maximizar la margen y minimizar la
estacionaria que le permite a un punto pertenecer a la margen (0 ≤ 𝜍𝑖 ≤ 1) o ser mal
clasificado (𝜍𝑖 > 1), esta variable también es llamada error de margen. 𝑦𝑖 Representa las
clases asociadas y 𝑥𝑖 las variables independientes. (StatSoft, Inc. 2013).
El kernel 𝜙(𝑥𝑖) : es una función de similitud que transforma los datos para realizar la
clasificación (Souza, C. 2010). Los hay de varios tipos:
Linear: 𝐾(𝑢, 𝑣) = 𝑢𝑇𝑣 + 𝐶𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 (28)
Gaussiano: 𝐾(𝑢, 𝑣) = 𝑒−𝛾‖𝑢−𝑣‖2 (29)
Polinomial: 𝐾(𝑢, 𝑣) = (𝛾𝑢𝑇𝑣 + 𝐶𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒)𝑑 (30)
El parámetro 𝛾 controla la intensidad de la margen. Utilizado para adaptarse a los datos
de entrenamiento. A mayor sea este, menos support vectors va a tomar para la
construcción del modelo por tanto se genera una solución más dispersa y menos exacta
(Souza, C. 2010).
Incrementar el valor de C aumenta la efectividad aun a costa de los vectores de soporte
que debe tomar aunque esto hace que sea difícil de generalizar para puntos fuera del
rango de los datos de entrenamiento, por el contrario un C suave disminuye la efectividad
del modelo (Souza, C.2010).
Validación Cruzada: es un método estándar para ajustar los hiperparámetros de un
Para ello se parte la muestra S en K subgrupos de manera aleatoria y con la misma
cantidad de puntos cada grupo 𝑆 = 𝑆𝑖… . . 𝑆𝑘. Luego se define 𝑆/𝑖 como la unión de todos
los puntos de S que no pertenecen a 𝑆𝑖. Para cada subgrupo se crea un modelo individual
aplicando el algoritmo de SVM a la base de entrenamiento 𝑆/𝑖. Esta función es evaluada
por medio de una función de desempeño utilizando la base de prueba 𝑆𝑖. El promedio de
los K resultados de la evaluación del modelo es llamado prueba de desempeño de
validación cruzada. (Christian Igel, Verena Heidrich-Meisner, and Tobias Glasmachers,
2008).
Para escoger el mejor C y 𝛾 primero se hace la partición en subgrupos, luego se corre la
prueba de desempeño de validación cruzada obteniendo así distintos valores para C y 𝛾
para posteriormente escoger el que de mejores resultados. (Christian Igel, Verena
Heidrich-Meisner, and Tobias Glasmachers, 2008)
3.1.4.5 Bosques Aleatorios
Bosques Aleatorios es un método de clasificación supervisada derivado de los árboles de
decisión.
Dado una base de entrenamiento con su correspondiente vector de respuestas, se crean
un número aleatorio de árboles de decisión y en cada árbol de acuerdo a las
características que presenten los puntos de la base de entrenamiento, estos serán
agrupados en las diferentes clases presentes en el vector de respuestas. Cada árbol será
pues un subgrupo de entrenamiento. (Liaw, A., & Wiener, M. 2002).El procedimiento es
Para cada árbol de decisión se extraen N puntos al azar de la base de entrenamiento,
con reemplazo para crear un subconjunto de datos. Este subconjunto debe ser
aproximadamente el 66% del conjunto total (bootstrap) (Liaw, A., & Wiener, M. 2002).
En cada nodo se selecciona un número m aleatorio de características de la base de datos
de entrenamiento. La característica de m que mejor división tenga se utiliza para hacer la
división binaria en ese nodo.
En el siguiente nodo se eligen otras m variables y se repite el proceso anterior.
El valor de m debe ser por mucho inferior a M y debe permanecer constante durante todo
el proceso.
Una vez entrenado el clasificador, al utilizar la base de datos de prueba, esta va a pasar
por todos los arboles creados en el modelo, generando cada árbol su propio resultado.
El resultado final es o bien el promedio o la media ponderada de los distintos arboles
creados en sus nodos terminales o en el caso de una variable categórica, la mayoría de
votantes (Liaw, A., & Wiener, M. 2002).
El presente algoritmo posee ciertas ventajas y desventajas, por un lado las ventajas a
destacar son: funciona eficiente en grandes bases de datos, puede manejar grandes
miles de variables de entrada sin borrador de variables, mantiene precisión aun cuando
uso futuro, se puede localizar valores atípicos en las observaciones; por otro las
desventajas son: cuanto mayor sea la correlación entre los nodos de un árbol mayor será
la taza de error entre variables, para sobreajuste en ciertos sets de datos produce ruido,
es de difícil interpretación manual, para variables categóricas con diferentes números de
niveles, los arboles aleatorios favorecen a aquellos valores que sobresalgan en número
por encima del resto, dado su aleatoriedad cada modelo de entrenamiento será distinto
por lo tanto su resultado también es variable aun para la misma serie de datos. (Breiman,
L., & Cutler, A. 2007).
3.2
Antecedentes
Existen diversos algoritmos de clasificación automática que han sido especialmente útiles
para el proceso de clasificación de estados de sueño. Entre los más utilizados en
humanos están las redes neuronales, bosques aleatorios, k-means, c-means, j-means y
máquinas de soporte vectorial.
Cada uno de estos algoritmos han sido probados bajo diferentes condiciones, tal es el
caso de c-means en donde a través de señales de EEG y con una modificación en su
algoritmo para hacerlo más robusto, se han obtenido rendimientos de 82.15% (Salih
Güneş, Kemal Polat, Şebnem Yosunkaya. 2010); el j-means con dos canales de EEG,
rendimientos del 80% (Rodríguez-Sotelo JL, Osorio-Forero A, Jiménez-Rodríguez A.
2014); k-means, con rendimientos del 81% en señales de EEG (Shi J, Liu X, Li Y, Zhang
Q, Yin S. 2015); las máquinas de soporte vectorial en donde se utilizaron señales de EEG
y un kernel de tipo “Morlet”, se obtuvieron resultados del 92,93 % (Varun Bajaj, Ram Bilas
Pachori. 2013) y con un kernel gaussiano en señales polisomnograficas, rendimiento de
Redes neuronales con un solo canal de EEG con las cuales, se obtienen resultados del
90 % (K. Venkatesh, S. Poonguzhali, K. Mohanavelu, K. Adalarasu, 2014) y 93%
(Ebrahimi, F., Mikaeili Mohammad, Estrada E., Nazeran H., 2008); al utilizar señales
polisomnograficas 65.52% (Fehrmann, Elizabeth. 2013), 74.7% (M. Emin Tagluk,
Necmettin Sezgin Mehmet Akin. 2010).
Bosques aleatorios con un solo canal de EEG, rendimientos del 83% (Luay Fraiwan,
Khaldon Lweesy, Natheer Khasawneh, Heinrich Wenz, Hartmut Dickhaus. 2012).
Utilizando una mezcla de dos clasificadores como son las máquinas de soporte vectorial
y bosques aleatorios con señales polisomnograficas, rendimientos del 85% (Teresa
Sousa, Aniana Cruz, Sirvan Khalighi, Gabriel Pires,Urbano Nunes.2015); 92% con una
modificación que incluye árboles de decisión y máquinas de soporte vectorial (Tarek
Lajnef, Sahbi Chaibi, Perrine Ruby, et all. 2015).
La puntuación de estados de sueño en ratas utilizando métodos de clasificación
automática, es una práctica que empieza a coger fuerza en los últimos años, tratando de
reemplazar la clasificación manual, en donde los principales algoritmos de clasificación
son las máquinas de soporte vectorial y clasificación de Bayes.
Al igual que ocurre en humanos, estos algoritmos se han probado bajo diferentes criterios,
un ejemplo de ello es utilizando señales de EEG y EMG (Electromiografía) en donde bajo
el clasificador de máquinas de soporte vectorial se han obtenido rendimientos del 96%
algoritmo k vecinos más cercanos (KNN) 95.43% (Zong-En Yu, Chung-Chih Kuo,
Chien-Hsing Chou, Chen-Tung Yen, Fu Chang, 2011) y con clasificacion Bayes 93% (Kirsi-Marja
Capítulo 4
Metodología
4.1
Sujetos
4.1.1 Para Humanos:
Se extrajeron 40 archivos pertenecientes a 40 sujetos provenientes de la base de datos
de Physionet “The Sleep-EDF Database “. Dentro del archivo de cada sujeto se
encontraba la frecuencia a la que habían sido muestreados, los diferentes canales
utilizados, información de las unidades de cada canal, información de los canales entre
otros. (Goldberger AL, Amaral LAN, Glass L. 2000).
En particular para este estudio solo se utilizaron los canales provenientes de señales de
Electroencefalografía (EEG), siendo estos el canal EEG FpzCz y el canal EEG PzOz.
El vector que contenía la clasificación de estados sueño contenía las siguientes clases 0
(W), 1 (S1), 2 (S2), 3 (S3), 4 (S4), 5(REM) y en algunos casos 6 (Artefactos) que no se
tuvo en cuenta por no estar en todos los sujetos y porque su cantidad era escasa en
aquellos donde se encontraba.
4.1.2 Para Ratas:
Se utilizaron 15 archivos de una hora entre 4 ratas pertenecientes al laboratorio
de neurociencias y comportamiento, estos datos fueron facilitados personal del
laboratorio, quienes se encargaron de realizar su correspondiente hipnograma de
Estos datos contienen la frecuencia de muestreo, los canales utilizados, el nombre de los
canales entre otros datos de interés. El vector que contenía la clasificación de estados
contenía las siguientes clases 1 sueño lento (SWS), 2 REM, 3 W, 4, 5 y 6.
4.2
Extracción de Características
Para la extracción de características se creó una función auxiliar, llamada “DivEnEpocas”
que recibe como parámetros la señal, la frecuencia de muestreo y las épocas que se
desea armar. El objetivo de esta función es dividir la señal en las épocas especificadas
de acuerdo a la frecuencia de muestreo, de hecho precisamente este es el valor que
devuelve la señal agrupada por épocas en una matriz. También devuelve una matriz de
tiempo correspondiente a la matriz de la señal por periodos y un vector final producto de
los datos restantes que no alcanzaron a completar una época junto con su vector de
tiempo correspondiente. Durante todo el proceso no se utilizaron los valores de tiempo ni
el vector final de datos.
4.2.1 Extracción de Características para humanos
Para la extracción de características en humanos se revisaron 15 artículos de los cuales
se extrajo las características más frecuentemente utilizadas durante el proceso de
clasificación de estados de sueño a través de señales de EEG (Tabla 4-1), siendo las
más utilizadas aquellas relacionadas con potencias, bien sea que fueran sacadas por el
método wavelet o con el análisis espectral de potencia.
Delta: (entre 1 y 4 Hz), Theta: (entre 4 y 8 Hz), Alpha: (entre 8 y 13 Hz), Beta (entre 13 y
30 Hz), Gamma (entre 30 y 49 Hz), Gamma baja (entre 35 y 45 Hz), Gamma alta (entre
46 y 49 Hz), Rango Fisiológico (entre 1 y 49 Hz).
Tabla 4.1: Frecuencia de aparición de características sobre 15 articulos relacionados con clasificación de estados de sueño en humanos utilizando señales de EEG.
EEG
Características Frecuencia
Dominio tiempo
Magnitud 3
Media 3
Desviación estándar 3
Valores cuadráticos
Magnitud 4
Varianza 4
Asimetría 4
Curtosis 4
Magnitud cuadrática de radios 4
Dominio Frecuencial
Densidad espectral de potencia promedio 4
Densidad espectral de potencia total 4
Frecuencia espectral promedio 4
Desviación estándar espectral 4
Wavelet
Media cuadrática del valor de la energies 5
Energía total 5
Radios entre diferentes valores de energía 5
Promedio de valores absolutos 4
Amplitud máxima 4
Amplitud mínima 4
Entropia Muestral 5
Para ello se utilizó un filtro pasa bandas sobre señales correspondientes a
electroencefalograma entre las frecuencias de interés. Este filtro es realizado por la
función “f_GetIIRFilter.m” (Mario Valderrama Universidad de los Andes) que recibe como
parámetros la señal, la frecuencia de muestreo y las bandas frecuenciales y devuelve los
coeficientes del filtro (se utilizan los coeficientes SOSMatrix y ScaleValues), coeficientes
que luego se introducen en la función “filtfilt” (Matlab 2015) junto con la señal original para
producir la señal filtrada deseada.
Seguidamente a partir de los resultados de la Tabla 4.1 se implementaron las siguientes
características para humanos:
Potencias:
o Potencias Absolutas
o Potencias Relativas
o Potencia Máxima
o Frecuencia de la Potencia Máxima
o Radios Entre Potencias
Entropías:
o Entropía Shannon
o Entropía Aproximada
o Entropía Multiescala
Dimensiones Fractales:
o FDCubes
o FDA
Coherencia
Asimetría
Las entropías y dimensiones fractales se sacaron solo para el rango fisiológico mientras
las demás se sacaron para las diferentes bandas frecuenciales.
Todas estas características se sacaban en un conjunto de funciones:
La primera llamada “f_Caracteristicas3” que tiene por parámetros la señal, la frecuencia
de muestreo, el número de épocas (tamaño de ventana), una serie de parámetros
llamados flag_Nombre_Características con los cuales de ser 1 se calculaba la
característica deseada y el nombre de cómo se iban a guardar dichas características.
Esta función dentro de su algoritmo solo calcula las características que se pueden sacar
por canal, es decir se calcula todas las características mencionadas anteriormente menos
la asimetría y la coherencia. El algoritmo llama a la función “Nombres_Caracteristicas”
que se encarga de armar los nombres de las características utilizadas solo cuando sus
parámetros flag_Nombre_Características sean iguales a 1. Estos nombres son
guardados en esta función igual que todas las características. Adicional, estas
Esta función se utilizó de la siguiente manera: la señal perteneciente a EEG, su frecuencia
de muestreo correspondiente, el tamaño de ventana se 30 segundos,
flag_Nombre_Características se dejó en 1 para cada característica y se puso un nombre
de acuerdo al canal.
La otra función utilizada es “Caracteristicas_Completas” que recibe como parámetros la
señales (fueran o no de EEG), las respuestas, los nombres de los canales, el tamaño de
ventana (30 segundos), la frecuencia de muestreo, flag_Nombre_Características que de
ser 1 incluye la característica deseada y 0 en caso contrario y por último en nombre con
el que se desea guardar los datos sacados por esta función.
El objetivo es llamar la función “f_Caracteristicas3”, para que calcule las características
por canal de EEG y luego las características de todos los canales de EEG sean agrupados
en una matriz junto a las características entre canales, es decir asimetría y coherencia
que se calculan en esta función. Para identificar cuales canales pertenecían a EEG se
creó un vector con los nombres de los canales de un sistema 10-20. Si el nombre del
canal contiene dicho nombre, era tomado y se sacaban las características y nombres
correspondientes.
La otra tarea de esta función es agrupar los nombres de las características y sumar los
nombres de asimetría y coherencia. También coloca el vector de respuestas para que
empiece en 1 y no en 0 como se estaba observando en los datos obtenidos. Esta función
guarda todas las características utilizadas, junto con sus nombres y el vector respuestas
En total se tenían 158 características para hacer la clasificación de los diferentes estados
de sueño. Sin embargo los resultados no fueron coherentes de acuerdo a lo esperado,
por lo tanto se propuso otro grupo de características. Este segundo grupo omitía las
características de entropía, así como coherencia, asimetría y dimensiones fractales.
El motivo de la omisión de características es el ruido que provoca el tener muchas de
estas, así se tengan algoritmos de reducción de las mismas. Adicionalmente, se crearon
graficas de los valores promedios que tomaban las diferentes características vs los
estados de sueño correspondientes, esto para tratar de encontrar un grupo de
características óptimo para realizar el proceso de clasificación.
Una vez suprimidos estos resultados quedaron 120 características con las que se planteó
una nueva clasificación, aun así se planteó un tercer grupo de características utilizando
algunas caracterizas que no se habían utilizado en los grupos anteriores.
Las características utilizadas en este tercer grupo fueron:
Potencia Relativa
Medidas Estadísticas:
o Media
o Varianza
o Curtosis
Las medidas estadísticas se calculaban para la banda frecuencial “Rango Fisiológico”.
Sin embargo basado en las gráficas de promedio de valores contra estados de sueño se
sabía que las potencias Absolutas ayudaban a diferenciar mejor entre estados de sueño,
por lo que se planteó la realización de un análisis que involucraba diferentes tipos de
potencias.
Para el cálculo de estas nuevas características se realizaron tres funciones.
La primera llamada “f_Pot_Abs_Rel_y_Estadisticas”, esta función recibe como
parámetros la frecuencia de muestreo, las épocas en las que se va a dividir la señal (30
segundos), la señal, las bandas frecuenciales y el vector flag que calcula las
características a utilizar cuando su valor sea 1. Esta función calcula las características
deseadas para un solo canal. El orden del vector flag es: Potencias absolutas, potencias
relativas, media, varianza, curtosis, asimetría (no entre canales). Adicionalmente llama a
la función “Nombres_Caracteristicas2” que de acuerdo al vector flag, devuelve los
nombres de las características a utilizar cuando su valor sea 1.
La siguiente función es “f_Pot_Abs_Rel_y_Estadisticas2” que recibe como parámetros
todas las señales de un sujeto, las respuestas de clasificación, los nombres asociados a
la señal de cada canal, la frecuencia de muestreo, las épocas en las cuales se va a dividir
la señal, un vector llamado v_contador que lleva dentro el número de los canales
características, si se desea guardar(1) o no (valor diferente de 1) las características y el
vector flag, que es el mismo utilizado en la función mencionada anteriormente.
El objetivo de esta función es llamar la función “f_Pot_Abs_Rel_y_Estadisticas”, para que
calcule las características por canal de EEG y luego las características de todos los
canales de EEG sean agrupados en una matriz junto a sus nombres asociados. El vector
de respuestas de clasificación que se modifica para que este no empiece en 0 sino en 1
para posteriormente realizar la clasificación.
La última función es llamada “para_v_contador” y recibe como parámetros los nombres
de los canales de las señales de un sujeto y devuelve el vector v_contador. Su función
es identificar aquellos canales que pertenecen a señales de EEG de acuerdo al sistema
de 10-20 de EEG.
La funcion “para_v_contador” queda fuera de la funcion “f_Pot_Abs_Rel_y_Estadisticas”
con el objetivo de que si esta función no extrajera correctamente los canales de EEG se
modificaran manualmente sus valores para utilizar los canales de EEG deseados.
Para este tercer grupo de características se plantearon tres tipos de normalizaciones, lo
cual llevo al planteamiento de la siguiente pregunta ¿Qué tipo de normalización se
debería utilizar?
Se plantearon tres diferentes formas de normalización con el objetivo de utilizar aquella
Las normalizaciones planteadas son:
La normalización de círculo unitario que coloca los valores de las características
entre 0 y 1.
La normalización z-score que aproxima los datos delas características a una
función normal
La normalización L2 que hace que la energía de las características igual a 1
(Mathis, B. 2014)
Hasta este momento, las características se normalizaban utilizando la normalización de
circuló unitario.
El análisis mencionado anteriormente, trataba de responder a las preguntas ¿Qué grupo
de características deben acompañar a las medidas estadísticas, las potencias absolutas,
las potencias relativas o utilizar ambas? ¿Qué tipo de normalización es mejor para
maximizar la calidad de los resultados?
Para ello se combinaron 10 sujetos de 9 maneras diferentes. Variación entre potencia
absoluta, potencia relativa, potencias absolutas + relativas y variando la normalización.
Para cada “Sujeto Combinado” se extrajo un 30% de los datos por estado de sueño, se
analizaban cuantos datos pertenecían a cada etapa de sueño y de estos se extraían el
30% de manera aleatoria para realizar la prueba.
Para la extracción de características en ratas se analizaron 7 artículos sobre clasificación
de estados de sueño a partir de señales de EEG (Tabla 4.2). En esta revisión las
características relacionadas con potencia fueron las más utilizadas.
Tabla 4.2: Frecuencia de aparición de características sobre 7 artículos relacionados con clasificación de estados de sueño en ratas utilizando señales de EEG.
Características Frecuencia
Potencia Absoluta 7
Potencia Relativa 7
Radios entre Potencias 4
Potencia máxima 4
Para extracción de características en ratas se utilizaron las siguientes bandas
frecuenciales:
Delta (entre 0.5 y 4), Theta (entre 4 y 10), Alpha (entre 9 y 12), Beta (entre 13 y 25),
Sigma (entre 10 y 18), Gamma (entre 25 y 35) Rango Fisiológico (entre 0.5 y 35).
Para ello se utiliza un filtro basa bandas sobre la señal entre las frecuencias de interés.
Este filtro es realizado por la función “f_GetIIRFilter.m” (Mario Valderrama Universidad de
los Andes) que recibe como parámetros la señal, la frecuencia de muestreo y las bandas
y ScaleValues), coeficientes que luego se introducen en la función “filtfilt” (Matlab 2015)
junto con la señal original para producir la señal filtrada deseada.
A las características más utilizadas para la clasificación de estados de sueño en ratas se
le adicionaron medidas estadísticas, aprovechando que se habían sacado para humanos
y con el pretexto de no repetir estudios anteriores.
En esta ocasión se utilizaron las siguientes características:
Potencias:
o Potencia Absoluta
o Potencia Relativa
o Radios entre Potencias
Medidas Estadísticas:
o Media
o Varianza
o Curtosis
o Asimetría
Las medidas estadísticas se calculaban para la banda frecuencial “Rango Fisiológico”.
Las características se extrajeron por canal de EEG y existiendo entre dos a tres canales
por rata.
Inicialmente no se pretendía incluir los radios entre potencias, por lo que antes de pasar
características contra estados de sueño. En él se pudo constatar que para diferenciar
entre estados de sueño en ratas, los radios entre potencias son relevantes.
Para el cálculo de las características mencionadas anteriormente se creó una función
llamada “f_Caracteristicas_R_1” que recibe como parámetros la frecuencia de muestreo,
las épocas que se desean armar (5 segundos), la señal, las bandas frecuenciales y un
vector flag que calcula las características a utilizar cuando su valor sea 1.
El orden del vector flag es: Potencias absolutas, potencias relativas, media, varianza,
curtosis, asimetría (no entre canales), radios entre potencias.
Esta función además llama a la función “Nombres_Caracteristicas_R1” que da los
nombres a las características utilizadas de acuerdo al valor del vector flag. Estas
características son los parámetros de salida de la función.
Los archivos para ratas podían contener información que no era relevante para
clasificación de estados de sueño por lo que una vez sacadas las características se
despreciaron aquellas que no pertenecían a los estados que se deseaba utilizar.
Para ratas los estados que se deseaban clasificar eran sueño de ondas lentas (SWS),
Para ratas se propusieron las siguientes preguntas con el fin de maximizar los valores
obtenidos durante el proceso de clasificación. ¿Si quisiera utilizar solo un canal para
hacer la clasificación, donde lo pondría? ¿Qué normalización se debe utilizar?
Para ello se realizó un análisis similar al aplicado en humanos. Se utilizaron tres archivos
de una misma rata para clasificación, en él, se puso a variar tanto el número de canales
como la forma de normalización. Se utilizaron dos ratas diferentes.
4.3
Reducción de Dimensión
Tanto el PCA como al Q-Alpha poseen un umbral de significancia que afecta en ambos
la cantidad de características, o en el caso del PCA vectores propios, a utilizar. Por este
motivo se creó un vector de significancias que va desde 0.7 hasta 0.95 con pasos de 0.05,
para ver el efecto que tenía dicho umbral sobre la precisión de los algoritmos de
clasificación a la hora de cumplir con su función.
Las diferentes matrices obtenidas con cada umbral establecido, tanto para PCA como
para Q-Alpha fueron guardadas, a través de una función (f_VariablesOptimizadas) y en
donde su última matriz guardada es la matriz con las características completas, de esta
manera se puede saber que tan útil son los algoritmos de reducción de características
con respecto a las características completas. No se guardaron dos matrices idénticas,
pues si no había cambio en selección de características de un paso a otro, no se guardaba
Esta función también guarda, en el caso del Q-Alpha, cuáles son esas características
que resultan relevantes para clasificación de acuerdo a ese algoritmo. Guarda también
cuantas matrices hay de uno y de otro como el umbral al que pertenece cada grupo de
características.
Esta función fue modificada para la clasificación de sujetos combinados en donde no se
tenía en cuenta el PCA.
4.4
Clasificación
El proceso de clasificación se realizó de tres maneras diferentes. Utilizando sujetos
individuales, utilizando un sujeto combinado y a través de un método que se le ha puesto
el nombre de “Clasificación Democrática”.
Para la clasificación se creó una función auxiliar llamada “f_Rendimiento” que como su
nombre lo indica se encarga de evaluar el rendimiento del algoritmo de clasificación tanto
global como por clases utilizando la función “confusionmat” de Matlab. Recibe como
parámetros los datos reales y los datos producto de la clasificación.
Se utilizaron varias funciones auxiliares para las gráficas de resultados.
La primera llamada “barwitherr” (Martina F. Callaghan) que recibe como parámetros la
matriz o vector de errores y como segundo parámetro la matriz o vector junto al cual se
desea graficar los errores.
Para este estudio la gráfica mostraba el promedio de los valores de rendimiento contra la
Otra de las funciones utilizadas es la función ‘rotateticklabel” (Andy Bliss 2005) que recibía
como parámetros gca de la gráfica y el ángulo en grados, de rotación. El objetivo de esta
función era rotar un ángulo especificado los nombres asociados al eje x (Horizontal) de
las gráficas.
También se utilizaron la función de Matlab “boxplot” que recibe como parámetros la matriz
o el vector al que se le desea aplicar esta función.
La grafica de esta función muestra una linera roja que pertenece a la mediana, los bordes
de la caja son el percentil 25th y el 75th. Las líneas verticales encima de las cajas son los
valores más altos permitidos sin ser considerados valores atípicos. Los puntos rojos son
los valores atípicos.
Por último se utilizó la función “bar” de Matlab que recibe como parámetros la matriz o el
vector del cual se desea hacer una gráfica de barras. Esta función se utiliza en máquinas
de soporte vectorial para mostrar resultados.
Para cada sujeto analizado además de las gráficas dadas por cada clasificador se sacó
una gráfica en el cual se comparaba el mejor desempeño de cada clasificador.
Para clasificación de los diferentes estados de sueño se utilizaron los siguientes