Introducción
La Enfermedad de Parkinson (EP) se caracteriza por ser una afección crónica y progresiva provocada por el deterioro neuronal en la sustancia nigra y la disminución de los niveles de dopamina en el cuerpo [1]. La enfermedad de Párkinson no es curable, por lo que el objetivo de los tratamientos es exclusivamente sintomático [2]. El manejo farmacológico es el principal tratamiento del paciente con EP. Se requiere de un tratamiento que incluya diversas disciplinas en su manejo para promover la participación del paciente en la sociedad y fomentar la actividad física desde el momento del diagnóstico con la finalidad de adquirir estrategias de movimiento antes de presentar limitaciones físicas y cognitivas más severas [3]. A pesar del óptimo tratamiento 70 % de los pacientes con enfermedad de Parkinson experimentan momentos donde los síntomas motores como tremor, bradicinesia e inestabilidad postural empeoran, estos momentos son conocidos como fluctuaciones motoras [4].
El seguimiento de las fluctuaciones de los síntomas motores en pacientes con enfermedad de Párkinson se realiza actualmente a través de la autoevaluación subjetiva de los pacientes. Sin embargo, los médicos y especialistas requieren información objetiva y más confiable sobre la ocurrencia de las fluctuaciones para permitir una planeación precisa del tratamiento [5].
La evaluación mediante sensores inerciales de los signos motores y fluctuaciones, pueden proporcionar retroalimentación objetiva y confiable sobre los efectos del manejo terapéutico [6]. A la fecha este tipo de sensores han sido estudiados para detectar actividades de la vida diaria, principalmente caminar y en pocos casos acostarse, sentarse y mantenerse de pie [7] [8] [9]. En estas investigaciones se han utilizado diversos tipos, números, ubicaciones de sensores y métodos de clasificación variables sin alcanzar un consenso a la fecha. Principalmente se ha utilizado una configuración de un sensor predominantemente en la cadera y de tipo acelerómetro [7] [8] [9]. Aunque los primeros experimentos se concentraban en la validación de laboratorio de los registros obtenidos con los sensores inerciales, actualmente el interés parece concentrarse en probar nuevos métodos de clasificación centrados en un propósito clínico, con precisiones reportadas entre un 55.9% y 90.8% [8] [9] [10].
La clasificación de actividades de la vida diaria utilizando Redes Neuronales Artificiales (RNA) ha demostrado el alto potencial de aplicar Deep Learning a la resolución de los problemas en la clasificación de señales realizadas por pacientes con Enfermedad de Párkinson. Estas herramientas han ayudado a desarrollar nuevas posibilidades de apoyo para que los especialistas puedan llevar a cabo evaluaciones más certeras de la funcionalidad motora y de los tratamientos proporcionados mediante una mejor calidad de monitoreo en la rehabilitación de los pacientes. El uso de inteligencia artificial para ayudar a la detección y tratamiento de la EP es de creciente interés para médicos e investigadores alrededor del mundo [11]. Actualmente se está trabajando en el desarrollo de diversos métodos de inteligencia artificial basados en algoritmos de aprendizaje profundo que permitan la detección y poder hacer un seguimiento de los principales síntomas motores de la Enfermedad de Párkinson [12].
De acuerdo con el estudio donde las RNA son utilizadas para clasificar las AVDs desempeñadas por 5 pacientes con Enfermedad de Párkinson, se obtuvo un porcentaje de exactitud del 99 % en el aprendizaje de clasificación [13]. Por lo que en este trabajo se busca obtener un método con resultados semejantes, pero realizando reducción de dimensionalidad de la base de datos a través de la extracción de la información más relevante para la clasificación de actividades de la vida diaria utilizando sensores inerciales.
Materiales y métodos
Origen y adecuación de datos
Este trabajo fue desarrollado utilizando una base de datos (BD) de 179,755 observaciones por 64 columnas, empleada y descrita en investigaciones previas [9] [13]. Brevemente, para crear la base de datos se reclutó a tres individuos con EP, con una edad promedio de 63.5 años y un estadio Hoehn y Yahr de dos puntos. La base de datos contiene información de los individuos mientras hacían en orden aleatorio un circuito de actividades de la vida diaria como mantenerse de pie, caminar, sentarse, subir escaleras, acostarse y caminar con una charola en las manos. Durante el registro se capturó información de cuatro sensores inerciales colocados en pie, muslo, pelvis y muñeca derecha a una frecuencia de 250 Hz. Esta información fue preprocesada con un filtro Butterworth pasa-bajas de segundo orden y una frecuencia de corte de 5 Hz y se utilizó una ventana móvil de 6.4s para calcular diferentes métricas como promedio, mínimo, máximo, desviación estándar, valor RMS de la señal en cada eje y resultante de los sensores que componen cada sensor inercial.
En esta investigación, se desarrolló un entorno de trabajo en Anaconda, donde se importó la base de datos que dispone de 179,755 observaciones y 64 variables definidas como las entradas [13]. A diferencia de la metodología reportada con anterioridad, una vez importada y reagrupada la base, se le aplicó aleatorización y posteriormente se guardaron las entradas en la variable dataset_01x; y el vector 65 se guardó en la variable dataset_01y; caracterizado por contar con las etiquetas de los tipos de AVDs desempeñadas por los sujetos con EP.
Posteriormente se hizo la división de la información donde el 50% de las entradas se emplearon para entrenamiento y el otro 50% restante para prueba [13].
Análisis de Componentes Principales
Buscando reducir la dimensionalidad de la base de datos, se aplicó Análisis de Componentes Principales (Principal Component Analysis, PCA) mediante instrucciones de programación en Python. Esta herramienta permite extraer las características más relevantes para mantener un porcentaje elevado de significancia de la base para así eliminar aquellas variables que no aporten información tan relevante [14].
El PCA es una técnica ampliamente utilizada para reducir la dimensionalidad de conjuntos de datos complejos sin pérdida de información a través de la representación del conjunto de datos original en otro nuevo conjunto de nuevas variables no correlacionadas llamadas componentes principales (Principal Components, PC) [15]. Los PC son útiles para representar de forma más compacta los datos. Los PC se obtienen a partir del cálculo de los valores propios del conjunto de datos original por lo que representan direcciones en el espacio de datos originales, lo que la hace del PCA una técnica altamente adaptable a diferentes tipos y estructuras de datos [15]. La técnica de PCA ha sido utilizada previamente para análisis de la marcha en pacientes con enfermedad de Parkinson [16] [17].
Como primeros pasos para emplear este método, se normalizaron los datos para eliminar diferencias en las escalas de las características o variables de la base de datos original. En la Figura 1 se tiene un diagrama de flujo de la metodología empleada para el diseño de la red neuronal artificial. Los puntos 1 a 3 pertenecen al origen y la adecuación de los datos, a partir del punto 4 se emplean instrucciones específicas para las entradas y salidas.
Partiendo del paso 4-A y 4-B de la Figura 1, se pueden observar los procesos que permiten adaptar las entradas de entrenamiento X a un escalamiento de tal manera que su media sea 0 y la varianza sea 1. Posteriormente el PCA calcula la matriz de covarianza S=XTX, que representa las relaciones entre las características de la matriz de datos normalizada X [15]. A continuación, se determinan los valores propios de la matriz S y se ordenan en orden descendente. Se seleccionan los primeros k, correspondientes a las direcciones más importantes y se construye una matriz de proyección W utilizando los valores propios seleccionados. Para fines de este trabajo, en el paso 6, se planteó mantener los primeros k valores para conservar el 95 % de varianza de la información. Finalmente se transforma el conjunto de datos originales en un nuevo subespacio de características de la forma T=XW [15].
Diseño RNA tipo Perceptrón Multicapa
El diseño de la RNA se basa en el perceptrón de capas múltiples (MLP) el cual es un diseño muy versátil y ampliamente utilizado de RNA feedforward que consta de una capa de entrada, una de salida y una o múltiples capas ocultas que pueden implementarse en hardware [18] [19] [20]. La operación de un MLP con n capas sobre un vector de datos de entrada x se puede representar como una secuencia de funciones f(x)=f(n)(f(n-1)(…(f(2) (f(1) (x)). En cada capa n se realiza una transformación y=f(Wx+b), donde W es una matriz de pesos, b es el vector de sesgo y f es la función de activación [18]. La función de activación introduce no linealidades a la red como una tangente hiperbólica (tanh(z)), o una función de activación rectificada RELU = max(0,z). De esta forma para cada vector de entrada x la red calcula la salida de cada neurona de cada capa n hasta llegar a la capa de salida. Al llegar a la capa de salida, se calcula el error respecto a las salidas deseadas (función de pérdida) minimizado mediante un algoritmo de optimización de descenso de gradiente y propagando desde la capa de salida hasta la capa de entrada durante el aprendizaje [18]. De esta forma durante el aprendizaje los pesos y sesgos de la red se ajustan para minimizar la función de pérdida.
Estudios previos han mostrado la utilidad de MLP para la clasificación y evaluación de los síntomas y actividades en sujetos con enfermedad de Parkinson. En específico el uso de MLP en combinación con técnicas de remuestreo ha logrado mejorar la clasificación de la gravedad del temblor de la enfermedad de Parkinson, alcanzando 93.81 % de precisión general [21]. Otro estudio logró detectar la bradicinesia utilizando MLP y relojes inteligentes con una precisión de 0.77 [22]. En otro estudio utilizando un sensor inercial y MLP se logró una precisión del 100 % para distinguir entre estados "encendidos" y "apagados" para terapia de estimulación cerebral profunda [23].
El diseño de la RNA actual considera el diseño de una RNA reportada previamente, la cual fue entrenada utilizando la base de datos completa BD [13]. Así el diseño inicia con el preprocesamiento de la base de datos que incluye el escalamiento de -1 a 1 de las entradas y la codificación a binario One Hot Encoder (OHE) para las etiquetas de salida [13].
Posteriormente se declaró un modelo de red secuencial con 2 capas ocultas; la primera capa utilizó 16 neuronas ejecutadas con la Función de Activación (FA) Rectified Linear Units (ReLu, por sus siglas en inglés) la cual ha demostrado proporcionar mejoras en el entrenamiento de una red neuronal artificial [24]. Para la segunda capa oculta fue declarada con 10 neuronas y FA Sigmoid. (tradicionalmente conocida en la teoría e implementación de las RNA [25]); a dicho modelo se le aplicó el optimizador Adam. Este modelo requirió 1000 épocas para su procesamiento y un batch size de 250.
Comportamiento de red por subconjunto de sujetos
El desempeño de cualquier clasificador se basa en la representatividad de los datos de entrenamiento. Sin embargo, esto puede ser difícil de lograr en casos como la Enfermedad de la Enfermedad de Parkinson, donde la manifestación de síntomas es heterogénea y variante a lo largo del tiempo. Incluso se ha documentado la posibilidad de confundir esta enfermedad con síndromes parkinsonianos, por lo cual se han propuesto subcategorías con compromiso en la especificidad y sensibilidad de su clasificación en base a características clínicas como la presencia de temblor en reposo y afectación asimétrica [26]. Para explorar el desempeño de nuestro clasificador cuando se aplica en un subconjunto de sujetos pertenecientes a la misma población clínica pero tal vez con diferencias no perceptibles en su desempeño motor, se realizó un experimento de elaboración de un desarrollo de un clasificador con entrenamiento y prueba en subconjuntos diferentes de sujetos. El estudio de la precisión de la clasificación entre grupos demográficos ha sido abordado previamente. Un estudio previo mostró una disminución de precisión en la clasificación de felicidad asociada a características demográficas del subconjunto de sujetos evaluados [27].
Para simular condiciones donde la red es entrenada con un conjunto de sujetos y probada en otro conjunto que puede ser diferente, se propuso evaluar el comportamiento de la red con una base de datos que contenga las señales del 80 % de los sujetos de estudio en la fase de entrenamiento; y las señales del 20 % de los sujetos utilizarlas en la etapa de prueba.
Para esta exploración de la base de datos original, se extrajeron las observaciones 1 a 126,073; pertenecientes al 80 % de sujetos [9]. Dichas señales se guardaron en una nueva base de datos denominada “mat01” y las señales del 20 % de sujetos restante (variables 126,074 a 179,755) [9] se guardaron en “mat02”.
Posteriormente, se aleatorizaron las bases de datos y se llevaron a cabo los puntos 2 y 3 de la metodología descrita. No obstante, el modelo de red propuesto para esta exploración se caracteriza por tener 15 neuronas en la primera capa oculta y 11 neuronas en la segunda. En la Tabla 1 se pueden apreciar los parámetros establecidos para los modelos descritos en este trabajo.
Modelo | Normalización | Capas | Función Activación |
Neuronas |
---|---|---|---|---|
BD65 | 0 a1 | 4 | ReLU sigmoid sigmoid sigmoid |
61 52 40 27 |
BD PCA 22 |
-1 a 1 | 2 | ReLU sigmoid |
15 11 |
BD PCA Sujetos 20 |
-1 a 1 | 2 | ReLU sigmoid |
17 11 |
El modelo BD65 pertenece al diseño reportado en trabajos anteriores [13] donde no se aplicó PCA a la base de datos. Por otro lado, los modelos BD PCA y BD PCA Sujetos mostrados en la Tabla 1, se ajustan al criterio establecido del 95 % de significancia, por lo que se utilizan 22 y 20 componentes respectivamente obtenidos por el método PCA. Se destaca que las diferencias en los modelos son los parámetros de ajuste de las redes, la cantidad de neuronas y principalmente la distribución de los datos en el entrenamiento del Perceptrón Multicapa.
Resultados y discusión
El comportamiento de generalización para el modelo de red neuronal artificial es la habilidad que el sistema tiene de reconocer de manera correcta las AVDs que no se le presentaron con anterioridad en la etapa de entrenamiento. Dicho comportamiento para el modelo elaborado en el trabajo de investigación previo se puede apreciar en la Figura 2.
Por medio de esta gráfica se comprueba que las redes neuronales artificiales y el aprendizaje profundo permiten la clasificación de actividades físicas capturadas con sensores inerciales y almacenadas en la base de datos con un resultado de exactitud elevado tanto en la fase de entrenamiento como de prueba [13]. Para una mejor visualización del modelo, se llevó a cabo la representación arquitectónica con los detalles de las neuronas y funciones de activación para cada capa. Dicha representación se puede observar en la Figura 3.
En la Tabla 2, se puede observar la distribución de parámetros que se entrenan al interior de la red de primer modelo BD65 en KB.
Capa (tipo) | Forma de Salida |
Parámetros |
---|---|---|
Densa (Densa) | (Ninguno, 61) | 3065 |
Densa_1 (Densa) | (Ninguno, 52) | 3224 |
Densa_2 (Densa) | (Ninguno, 40) | 2120 |
Densa_3 (Densa) | (Ninguno, 27) | 1107 |
Densa_4 (Densa) | (Ninguno, 6) | 168 |
Total de parámetros: 10584 (41.34 KB) Parámetros entrenables: 10584 (41.34 KB) Parámetros no entrenables: 0 (0 KB) |
Para el segundo modelo el Perceptrón multicapa BD PCA que fue obtenido mediante el análisis de Componentes Principales que permite ordenar la varianza de los datos a partir de aquellas características más relevantes hasta las dimensiones menores que se consideran como ruido aleatorio [28], se alcanzó niveles muy elevados de precisión tanto en el entrenamiento como en prueba, como se puede observar, en la Figura 4.
En esta propuesta, la Red Neuronal Artificial obtuvo un porcentaje de aprendizaje del 95 % en la prueba y entrenamiento. Para lograr este porcentaje de aprendizaje, se tuvo que entrenar durante más épocas y así garantizar que el método de reducción de características funciona de manera similar al comportamiento de la Figura 2, perteneciente al primer modelo.
En este segundo modelo de red donde se utilizó una base de datos con 22 componentes y se obtuvo la arquitectura mostrada en la Figura 5.
En la Tabla 3, se observa el resumen de este segundo modelo y cómo es que el comportamiento y uso de KB cambia con respecto al primer modelo.
Capa (tipo) | Forma de Salida |
Parámetros |
---|---|---|
Densa (Densa) | (Ninguno, 15) | 345 |
Densa_1 (Densa) | (Ninguno, 11) | 176 |
Densa_2 (Densa) | (Ninguno, 6) | 72 |
Total de parámetros: 593 (2.32 KB) Parámetros entrenables: 593 (2.32 KB) Parámetros no entrenables: 0 (0 KB) |
En cuanto a la clasificación real de las actividades respecto a sus predicciones, la Figura 6, muestra la matriz de confusión de esta red, que indica la proporción de datos clasificados correctamente con la cantidad total de ellos, es decir, permite ver la distribución de los errores identificando a detalle contra cual actividad se equivoca de las 6 evaluadas, así como la precisión en la clasificación de estas.
Para el tercer modelo, se utilizan las observaciones del 80 % de sujetos en la etapa de entrenamiento, sin presentar las señales restantes hasta la fase de prueba. También se mantuvo una significancia del 95 % en el PCA, de esta manera se requirieron 20 componentes. Lo anterior, sugiere que el quinto sujeto podría aportar información relevante para el aprendizaje del sistema. Este comportamiento se puede observar en la gráfica de precisión mostrada en la Figura 7.
La Figura 7 es una representación gráfica del porcentaje de exactitud que se obtuvo al entrenar únicamente con las señales de 80 % de sujetos y probar con las señales del porcentaje restante. La precisión de la red en la etapa de prueba únicamente llegó a ser del 51.09 %. Comprobando que la generalización de la red no mostró resultados favorables. La arquitectura de dicho modelo se puede observar en la Figura 8.
Finalmente, para el tercer modelo se presenta en la Tabla 4, la reducción en el uso de KB de los parámetros entrenables de la red. La disminución progresiva del número de parámetros en cada modelo, nos indica que el número de operaciones para obtener una inferencia (salida de la red) se realiza con menos tiempo, dando posibilidad de implementarse en dispositivos con recursos más limitados y por tanto económicos.
Capa (tipo) | Forma de Salida | Parámetros |
---|---|---|
Densa (Densa) | (Ninguno, 15) | 345 |
Densa_1 (Densa) | (Ninguno, 11) | 176 |
Densa_2 (Densa) | (Ninguno, 6) | 72 |
Total de parámetros: 593 (2.32 KB) Parámetros entrenables: 593 (2.32 KB) Parámetros no entrenables: 0 (0 KB) |
En cuanto a la matriz de confusión para este último modelo donde se utilizaron 20 % de las señales pertenecientes a un solo sujeto en la fase de prueba, se puede notar en la Figura 9; que la cantidad de error en las predicciones de la clasificación para las 6 clases es elevada. Lo que lleva a comprobar que la información del último sujeto sí es relevante para el adecuado entrenamiento de la red.
Múltiples parámetros permiten evaluar el rendimiento de los modelos. Por ejemplo, la exactitud es la métrica más utilizada para evaluar la exactitud general de las predicciones del clasificador [29] [30]. La precisión mide la exactitud de las predicciones positivas [29] [30]. La sensibilidad o recall mide la habilidad para identificar la proporción de casos positivos mientras que la especificidad hace lo propio para los casos negativos [29] [30]. La medida F1-score es la combinación de la exactitud con la sensibilidad. La medida F1-score es la combinación de la exactitud con la sensibilidad [29] [30], por esta razón y debido a que la base está desbalanceada se consideró a F1-score como la métrica apropiada en la propuesta. Para facilitar la comprensión de la calidad de las predicciones de los modelos de RNA PCA 22 y PCA sujetos los parámetros anteriores fueron calculados en Python, ver Tabla 5. Todos los parámetros muestran la superioridad del modelo RNA BD PCA 22 y que el PCA funcionó muy bien ya que todos los parámetros son altos, incluso la medida f1-score.
C L A S E |
BD PCA 22 Exactitud 0.95 |
BD PCA Sujetos 20 Exactitud 0.55 |
||||
---|---|---|---|---|---|---|
Precisión | Recall | F1 Score |
Precisión | Recall | F1 Score |
|
1 | 0.93 | 0.94 | 0.93 | 0.71 | 0.51 | 0.59 |
2 | 0.92 | 0.94 | 0.93 | 0.27 | 0.12 | 0.16 |
3 | 0.95 | 0.92 | 0.93 | 0.27 | 0.12 | 0.17 |
4 | 0.94 | 0.94 | 0.94 | 0.60 | 0.61 | 0.60 |
5 | 0.98 | 0.98 | 0.98 | 0.57 | 0.92 | 0.70 |
6 | 0.92 | 0.93 | 0.93 | 0.2 | 0.07 | 0.10 |
Cabe destacar que no es definitiva la conclusión respecto a la aportación del último sujeto debido a que es necesario realizar un estudio más detallado que involucre una mayor cantidad de participantes en el protocolo y analizar la distribución de la colocación de los sensores e identificar la mejor frecuencia de muestreo.
Al comparar el comportamiento de las gráficas de precisión se destaca que quitarle las señales de un sujeto de prueba a la red en la fase de entrenamiento, perjudica su aprendizaje. Esto puede deberse a diversos factores. Son pocos los sujetos de investigación que participaron en este proyecto por lo que la red no cuenta con diversas señales. Igualmente puede que la colocación de los sensores haya influenciado en la toma de señales.
Como resultado de comparar los porcentajes de precisión de las redes neuronales artificiales evaluadas tanto en trabajos previos como los reportados en este escrito, se obtuvo la Figura 10.
La reducción de la dimensionalidad a través de PCA permite mejorar la eficacia del sistema manteniendo la información de los componentes más relevantes y con esto descartar aquellas variables que no proporcionan información relevante. Logrando mantener porcentajes elevados de precisión.
La clasificación de actividades realizadas por pacientes con enfermedad de Parkinson ha sido estudiada mediante otras técnicas y algoritmos con tasas de exactitud consideradas aceptables a través de diferentes lenguajes de programación como en Matlab. El aprendizaje profundo ha irrumpido con fuerza en este problema y son cada vez más las redes neuronales artificiales diseñadas para la resolución de distintos tipos de clasificación, permitiendo obtener buenos resultados de manera sencilla. El uso de Análisis de Componentes Principales permite mantener altos porcentajes de exactitud sin necesidad de utilizar toda la información de la base de datos; por lo que se considera una herramienta importante para trabajos futuros; como lo es la implementación de algún diseño de aplicación móvil que permita monitorear las señales del paciente e incluso queda la posibilidad de estudiar las señales a otro rango de frecuencia adquirido con la finalidad de ver si esto proporciona un cambio en el registro de los movimientos para cada actividad.
Conclusiones
En las últimas décadas, la aplicación del Deep Learning ha ido creciendo debido a las características que ofrece trabajar con diversos modelos de Redes Neuronales Artificiales. El presente estudio demuestra la versatilidad de las RNA basadas en MLP combinadas con la técnica de PCA, pues incluso en una base de datos desbalanceada como la utilizada permite alcanzar medidas F1-score mayores al 93 %. Emplear una base de datos reducida utilizando aproximadamente el 34 % de la información original, permite tener resultados elevados en la exactitud utilizando herramientas de PCA. El estudio desarrollado ha demostrado el potencial de implementar una de las amplias ramas que la Inteligencia Artificial brinda para la resolución de los problemas en cuanto a la clasificación; para posteriormente ser integrado a un sistema que apoye al personal de medicina en el monitoreo de actividades realizadas por el paciente dando seguimiento de la enfermedad de Párkinson.
Declaración ética
Por este medio se declara que ninguno de los autores participantes en este trabajo cuenta con algún conflicto de interés. Así mismo en este estudio no se realizó investigación en humanos directamente pues se utilizó una base de datos, conformada de un estudio previo con aprobación de los comités de ética e investigación institucionales.
Contribuciones de los autores
L.R.M. participó en la curación de datos, realizó investigación para el proyecto, desarrolló la metodología e implementó software especializado y contribuyó en la preparación y visualización de resultados. J.A.B. Conceptualizó el proyecto, participó en la curación de datos, desarrolló la metodología e implementó software especializado, contribuyó en la validación e implementación de resultados, supervisó y obtuvo recursos para el desarrollo del proyecto. A.I.P.S. Conceptualizó el proyecto, participó en la curación de datos, desarrolló los análisis, realizó investigación para el proyecto, supervisó y obtuvo recursos para el desarrollo del proyecto. Todos los autores participaron en todas las etapas del desarrollo del manuscrito, y aprobaron la versión final del mismo.