GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE...

62
GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE TELECOMUNICACIÓN TRABAJO FIN DE GRADO DESARROLLO Y OPTIMIZACIÓN DE UN SISTEMA DE ESTIMACIÓN DEL NIVEL UPDRS DE UN PACIENTE DE PARKINSON A PARTIR DE GRABACIONES DEL HABLA Clara Jiménez Recio 2016

Transcript of GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE...

Page 1: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE

TELECOMUNICACIÓN

TRABAJO FIN DE GRADO

DESARROLLO Y OPTIMIZACIÓN DE UN SISTEMA DE ESTIMACIÓN DEL NIVEL

UPDRS DE UN PACIENTE DE PARKINSON A PARTIR DE GRABACIONES DEL HABLA

Clara Jiménez Recio

2016

Page 2: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

(Página par en blanco)

Page 3: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

Título: DESARROLLO Y OPTIMIZACIÓN DE UN SISTEMA DE ESTIMACIÓN DEL NIVEL UPDRS DE UN PACIENTE DE PARKINSON A PARTIR DE GRABACIONES DEL HABLA

Autor: Dª. Clara Jiménez Recio

Tutor: D. Juan Manuel Montero Martínez

Departamento: IEL

Presidente: D. José Manuel Pardo Muñoz

Vocal: D. Rubén San Segundo Hernández

Secretario: D. Georgios Kontaxakis Antoniadis

Suplente: D. Fernando Fernández Martínez

Los miembros del tribunal arriba nombrados acuerdan otorgar la calificación de: ………

Madrid, a de de 2016

Page 4: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

(Página par en blanco)

Page 5: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

UNIVERSIDAD POLITÉCNICA DE MADRID

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN

GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE TELECOMUNICACIÓN

TRABAJO FIN DE GRADO

DESARROLLO Y OPTIMIZACIÓN DE UN SISTEMA DE ESTIMACIÓN DEL NIVEL

UPDRS DE UN PACIENTE DE PARKINSON A PARTIR DE GRABACIONES DEL HABLA

Clara Jiménez Recio

2016

Page 6: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

(Página par en blanco)

Page 7: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

La enfermedad de Parkinson se trata de un trastorno neurológico crónico y degenerativo que se caracteriza por falta de coordinación y rigidez muscular y temblores. Se estima que afecta la vida cotidiana de entre 7 y 10 millones de personas en todo el mundo (~0.1%), de los cuales en torno a un 80% muestran algún tipo de deterioro en la voz. El seguimiento progresivo del avance de esta enfermedad, que se lleva a cabo por los médicos, es costoso y requiere la presencia física del paciente, lo cual es a veces una condición problemática. Como solución a este problema surge la idea de realizar experimentos a partir de la voz, siendo esto un método rápido y no invasivo que permite la monitorización y retroalimentación remota de los pacientes en su tratamiento.

El proyecto a desarrollar se basa por tanto en la optimización de un sistema de identificación del grado de Parkinson (Unified Parkinson's Disease Rating Scale, UPDRS) en pacientes enfermos mediante grabaciones de su voz empleando técnicas de aprendizaje automático. Dado que esta enfermedad no afecta tan solo al habla, abordar el análisis de los niveles de esta enfermedad únicamente mediante grabaciones de voz supone un problema complejo al desatenderse otra serie de factores importantes.

En una primera fase del proyecto, trabajaremos con datos provenientes de la competición internacional de Interspeech 2015. Se realizará así una nueva experimentación en busca de un modelo adecuado para estos datos, desarrollando esta búsqueda de manera automática y óptima y esperando conseguir con ello un resultado del trabajo más elaborado y exhaustivo.

Como segunda fase del proyecto, se tratará de adecuar la automatización y optimización de la realización de experimentos utilizada para los datos de la competición a las nuevas grabaciones tomadas. Para estos nuevos datos se necesitará dedicar una gran parte del esfuerzo a analizar los mismos y tratar de estudiar posibles causas y soluciones de los diversos problemas que vayan surgiendo con intención de conseguir en un futuro unos buenos resultados en el estudio progresivo de la enfermedad de los pacientes.

Las principales herramientas de las que se hará uso en este proyecto son:

Herramienta de análisis de datos y de aprendizaje de máquina, Weka Librería de aprendizaje automático con algoritmos de clasificación, RankLib Lenguaje de programación interpretado, Python Intérprete de Python para su uso en línea, Codeskulptor

Sistema distribuido de control de versiones, Git (https://github.com/clara-

jr/Parkinson-Machine-Learning)

Page 8: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

Parkinson's disease is a chronic progressive neurodegenerative disorder characterized by tremors and loss of coordination and muscle stiffness. It is estimated that it affects 7 to 10 million people worldwide (~0.1%), about 80% of which show some form of vocal impairment. The monitoring of this disease’s progression, which is performed by expert medical staff, is hard and costly besides requiring the physical presence of the patient, which is sometimes troublesome. The idea of using speech tests arises as a solution to these problems. It is a fast and non-invasive method for pacients’s treatment that allows remote monitoring and feedback.

Therefore, the project to be developed is based on the optimization of a system to automatically determine a rating tool to follow the course of Parkinson's Disease (Unified Parkinson's Disease Rating Scale, UPDRS) using recordings of patients’ voices and machine learning techniques. Since this disease affects not only speech but also other important aspects of human health, tackling the analysis of PD progression using only the patient’s voice is a complicated issue.

In a first stage of this project, we will use data from 2015’s Interspeech international competition. A new experiment will be conducted in search for an appropiate model for these data. This search will run automatically and optimally in order to get more elaborate and exhaustive results.

In a second phase of the project, the previous analysis and experiments developed with data from the competition will be adapted to new recordings. We will need to devote serious attention and a great deal of effort to analyze new data in depth so that we can make correct predictions in the voice treatment of the patients.

These are the main tools that will be used in this project:

Collection of machine learning algorithms for data mining tasks, Weka Library of learning to rank algorithms, RankLib Interpreted programming language, Python Interactive web-based Python programming environment, Codeskulptor Version control system for software development, Git (https://github.com/clara-

jr/Parkinson-Machine-Learning)

Page 9: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

Enfermedad de Parkinson UPDRS Habla Aprendizaje Automático Optimización Weka

Parkinson’s disease UPDRS Speech Machine Learning Optimization Weka

Page 10: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

(Página par en blanco)

Page 11: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos
Page 12: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

(Página par en blanco)

Page 13: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

1

El proyecto a desarrollar se basa en conseguir un modelo de regresión basado en aprendizaje automático para la detección del grado de Parkinson (Unified Parkinson's Disease Rating Scale, UPDRS) en pacientes enfermos mediante grabaciones de su voz. Esta enfermedad no afecta tan solo al habla, sino también a habilidades motoras y cognitivas del paciente ocasionando temblor, dificultad de realización de movimientos, falta de expresión facial, parpadeo lento, alteración del equilibrio, trastornos del sueño, depresión o ansiedad. Por ello, abordar el análisis de los niveles de esta enfermedad únicamente mediante grabaciones de voz se trata de un problema complejo ya que esto implica desatender otra serie de factores importantes. Además, la voz puede ocasionar falsos positivos en algunas ocasiones, por ejemplo si el paciente se encuentra deprimido en el momento de la grabación, pudiendo provocar variaciones indebidas en los resultados.

La manera de evaluar el éxito de los experimentos puede basarse en la toma de medidas de correlación entre los resultados predichos y los realmente esperados. A su vez, podemos recurrir también al estudio del error cuadrático medio del modelo. El análisis de la correlación es un método eficaz para nuestra situación, pudiendo utilizar el coeficiente de correlación de Pearson o preferiblemente el coeficiente de correlación de Spearman. El coeficiente de Pearson se basa en medir la relación lineal existente entre los datos predichos y los reales. Aporta por tanto una forma de determinar la precisión en la predicción justa del valor. A diferencia de la covarianza, la correlación de Pearson es independiente de la escala de medida de las variables y por tanto basta con que el conjunto de valores predichos represente una función con relación lineal a la esperada. El método de Spearman, más útil para nuestro caso de estudio, se basa en ordenar los datos predichos y los datos reales y evaluar el éxito del modelo en base a dicho orden. Dado un valor predicho para un conjunto de atributos, si este se encuentra en la misma posición, tras la ordenación de los datos, que el resultado real, se considera una correlación perfecta y por tanto de valor la unidad.

El coeficiente de Spearman se puede calcular por tanto de la siguiente manera:

𝜌 = 1 −6 · ∑ (𝑟𝑎𝑛𝑔𝑒(ℎ(𝑥𝑖)) − 𝑟𝑎𝑛𝑔𝑒(𝑦𝑖))2𝑚

𝑖=1

𝑚 · (𝑚2 − 1)

Siendo 𝑚 el número de instancias predichas, 𝑟𝑎𝑛𝑔𝑒(ℎ(𝑥𝑖)) la posición del valor predicho para cada ejemplo y 𝑟𝑎𝑛𝑔𝑒(𝑦𝑖) la posición real conocida y esperada sobre dicho valor. El valor de este coeficiente oscila entre -1 y +1, indicando asociaciones negativas o positivas respectivamente; 0 significa no correlación pero no independencia y un valor lo más cercano posible a 1 indica mayor correlación entre las predicciones y los valores reales esperados.

El Parkinson es una enfermedad progresiva, lo que significa que los efectos empeoran progresivamente conforme pasa el tiempo. Por ello, lo más relevante para el paciente será estudiar las variaciones de su nivel de Parkinson a lo largo del tiempo. De esta manera, se

Page 14: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

2

demuestra que el coeficiente de Spearman es de mayor utilidad que el coeficiente de Pearson. No es tan importante estimar correctamente el nivel de la enfermedad en que se encuentra el paciente como el aumento o descenso que se produce en el progreso de la enfermedad tras un tiempo determinado. Además, si un modelo aporta buenos resultados ordenando los datos obtenidos, es posible que no tenga por qué predecir los resultados de forma incorrecta.

Los datos de grabaciones de los que disponemos son de varios pacientes, los cuales se repiten a lo largo del conjunto de instancias ya que hay varios audios para cada paciente. Saber de antemano a quién pertenecen los audios aportaría cierto grado de sencillez a este problema tan complejo. Al ser distintas las palabras dichas en cada grabación, los valores de los atributos variarán y a pesar de estar examinando grabaciones de una misma persona, podremos obtener como resultado distintos niveles de Parkinson, lo cual sabemos que es erróneo. Esta ventaja nos permitiría hacer un promedio entre los resultados obtenidos para un mismo paciente y determinar este valor como resultado final. Sin embargo, los datos iniciales con los que trabajaremos (datos de la competición de Interspeech 2015) no nos proporcionan de antemano información sobre a quién pertenece cada grabación, por lo que no dispondremos de esta ventaja. En una siguiente fase de este proyecto podremos trabajar con nuevas grabaciones que sí nos aportarán dicha información y podremos con ello abordar el problema desde otra perspectiva. Además, tenemos también una desventaja importante ya que nuestras grabaciones son de personas que ya padecen la enfermedad y la mayoría poseen un nivel de Parkinson similar en torno a un valor de 50. Así, si se intenta predecir el resultado para un paciente de nivel bajo o nivel muy alto, será complicado no cometer errores.

Por otra parte, al tener el mismo número de grabaciones para cada paciente, si realizamos una división aleatorizada de nuestros datos en subconjuntos de entrenamiento, validación y test, en cada subconjunto tendremos datos de todos nuestros pacientes. De esta manera, los resultados obtenidos serían optimistas para el caso de intentar predecir un nivel UPDRS de un paciente nuevo ya que, lo ideal en ese caso sería realizar la evaluación de resultados con un conjunto de test compuesto por grabaciones de un paciente que no haya formado parte de los datos de entrenamiento. Sin embargo, si pretendemos evaluar nuestro sistema en base al éxito que se consigue en predicciones de pacientes conocidos de los que se quiere realizar un estudio del avance de su enfermedad, utilizar audios de un mismo paciente para evaluación y entrenamiento de nuestro modelo no tiene por qué aportarnos resultados optimistas.

Aparentemente, realizar un modelo diferente para cada sujeto entrenando cada uno de ellos con datos de grabaciones de un solo paciente puede parecer acertado, pero precisamente la intención final de este proyecto es poder evaluar los cambios en la enfermedad de un sujeto a lo largo del tiempo. Por tanto, tener un modelo entrenado con datos de un tiempo previo, aunque sean propios de un paciente en cuestión, puede no resultar suficientemente bueno y posiblemente sea mejor utilizar modelos entrenados con datos de varios pacientes que en aquel momento pudieran tener el grado de enfermedad en el que ahora se encuentra dicho paciente.

Tras exponer una visión general de este trabajo, cabe destacar que con el desarrollo de este proyecto no pretendemos sustituir el trabajo del médico sino ser de ayuda para predecir qué pacientes será más recomendable que acudan a consulta debido a cambios importantes en el desarrollo de su enfermedad. A su vez podremos aportar cierta ayuda para comprobar qué tipo de medicación hace efecto a cada paciente y si sería necesario por tanto una revisión para el cambio de la misma.

Page 15: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

3

En nuestros primeros experimentos a partir de los datos de la competición, haremos uso de la herramienta Weka y como segunda herramienta recurriremos a RankLib, una librería en la que trabajaremos con datos previamente procesados con Lasso para reducir nuestro conjunto de cerca de 6000 atributos en un factor 15 hasta tener alrededor de 400 atributos, aquellos que mayor información aporten a nuestro modelo, evitando así posibles riesgos de overfitting e incluso reduciendo significativamente el tiempo de procesamiento de nuestro modelo.

En estos experimentos realizaremos un estudio exhaustivo con el fin de buscar el mejor regresor para resolver nuestro problema así como encontrar la selección óptima de parámetros para dicho regresor. Aplicaremos por tanto técnicas Greedy, de forma que realizando una serie de suposiciones previas que puedan no ser ciertas, trataremos de reducir nuestro abanico de posibilidades y encontrar una solución adecuada ya que no es posible realizar todas las pruebas con las numerosas combinaciones de parámetros existentes. Estas técnicas se suelen utilizar típicamente en problemas de optimización, como es el caso, para encontrar un máximo o un mínimo. Nuestro objetivo concreto es encontrar el algoritmo más apropiado para resolver nuestro problema y la configuración óptima de sus parámetros. Supondremos por tanto primeramente que dichos parámetros son independientes unos de otros a la hora de proporcionar mayor o menor éxito en las predicciones. De esta manera, realizaremos diversas pruebas variando uno de los parámetros y dejando constante el resto hasta obtener un valor óptimo para dicho parámetro. Una vez seleccionado el primer parámetro, se procederá de la misma manera a seleccionar los siguientes. Ya que el uso de técnicas Greedy supone la toma de decisiones basada en información inmediatamente disponible, en general, conseguiremos un proceso eficiente pero sin la total certeza de haber llegado a la mejor solución posible y por tanto a la verdaderamente óptima, pero sí a una buena solución.

Con respecto a la herramienta principal de la que se hará uso en el proyecto, Weka (Waikato Environment for Knowledge Analysis), sabemos que se trata de una plataforma de software para el aprendizaje automático y la minería de datos escrito en Java y de software libre. Contiene una amplia colección de técnicas para preprocesamiento de datos y algoritmos para el análisis y modelado de los mismos, además de una interfaz gráfica de usuario para acceder fácilmente a estas funcionalidades. Sin embargo, no se hará uso de la interfaz gráfica en este proyecto debido a la numerosa cantidad de experimentos que deben realizarse, los cuales se realizarán por tanto de forma automatizada. Esta herramienta se utiliza en una gran cantidad de áreas como por ejemplo la docencia o la investigación.

Haciendo uso de la plataforma Weka, el algoritmo más utilizado en el proyecto será el modelo de regresión denominado SVR (Support Vector Regression). Este algoritmo no deja de ser una variante de los conocidos SVMs (Support Vector Machines) destinados especialmente a problemas de clasificación. Los algoritmos SVMs son ampliamente considerados como las “cajas negras” más eficientes en aprendizaje automático, así como uno de los algoritmos más utilizados en este área por hacer uso de un objetivo de optimización inteligentemente escogido [1]. Los modelos lineales destacan por la sencillez con la que resuelven problemas de clasificación en que los datos están compuestos por datos numéricos. La desventaja de estos algoritmos es precisamente la imposibilidad de crear fronteras de decisión no lineales entre clases, lo cual los hace demasiado simples para una gran cantidad de aplicaciones. Las máquinas de vectores de soporte (SVM) utilizan por tanto modelos lineales para implementar fronteras de decisión no lineales. Para poder abordar este problema, se realiza un mapeo de los datos de entrenamiento x ∈ X, a un espacio transformado de mayor dimensión F a través de un mapeo no lineal φ: X → F.

Page 16: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

4

𝐹 = { 𝜑(𝑥) | 𝑥 ∈ X }

𝑥 = { 𝑥1, 𝑥2, … 𝑥𝑛 } → 𝜑(𝑥) = { 𝜑1(𝑥), 𝜑2(𝑥), … 𝜑𝑚(𝑥) }

De esta manera, transformando el espacio de instancias de entrada en un nuevo espacio a través de un mapeo no lineal, una línea recta en el nuevo espacio no representa una línea recta en el espacio inicial. Es así como se pueden crear fronteras no lineales en nuestro espacio de partida X, siendo fronteras lineales en el espacio F. Para el caso de SVR, en el nuevo espacio creado podremos realizar una regresión lineal.

Dado que el número de atributos en el nuevo espacio es muy grande, existe un método para resolverlo conociendo únicamente los valores en el dominio inicial. Este método se puede realizar siempre que la función de transformación φ cumpla que exista un Kernel tal que:

𝐾(𝑥𝑖, 𝑥𝑗) = ⟨ φ(𝑥𝑖), φ(𝑥𝑗) ⟩

siendo ⟨⟩ el producto escalar. Si existiera por tanto dicha función núcleo 𝐾 podríamos utilizar únicamente 𝐾 en el algoritmo de entrenamiento sin tener que conocer explícitamente 𝜑.

Uno de los kernels que cumplen esta condición es el kernel polinomial, que será del que se hará uso en el proyecto:

𝐾(𝑥, 𝑦) = (𝑥𝑇 · 𝑦 + 𝑐)𝑑

siendo 𝑥 e 𝑦 vectores del espacio de instancias de entrada.

El entrenamiento con este tipo de algoritmos es costoso pero se comprueba que proporciona unos muy buenos resultados, obteniendo mínimos globales y pudiendo resolver, como se ha explicado, problemas no lineales [2]. Las técnicas de SVM aportan a su vez solidez al intentar separar los datos con el mayor margen posible mediante el hiperplano separador en el nuevo espacio. Son técnicas sensibles también a valores atípicos, de forma que con altos valores de un parámetro C ajustable, se controlan estos casos pero con cierto riesgo de sobreajuste.

El parámetro de control C (constante de complejidad) que se utiliza en este tipo de algoritmos permite ponderar los errores cometidos en la clasificación de las instancias [1, 2]. Un valor grande de C equivale a una mayor penalización de los errores y con ello, más estrechamente se ajustará la función a los datos, con el consecuente riesgo de overfitting. De esta manera, se puede decir que el error máximo admitido sobre el conjunto de entrenamiento se acota mediante este parámetro C.

Otro de los parámetros con los que trabajaremos será el parámetro ɛ (L en Weka), el cual se basa en la definición de una función de pérdida que ignora errores [1, 2]. Concretamente, se ignorarán los errores que estén situados dentro de la distancia determinada por el valor de este parámetro. Así, el costo de los errores que estén dentro de la banda definida por ɛ será cero, funcionando por tanto este parámetro como un margen de tolerancia.

Random Forest, generador de árboles, es otro de los algoritmos presentes en el proyecto. Está basado en una combinación de árboles predictores tal que cada árbol depende de los valores de un vector aleatorio probado independientemente y con la misma distribución para cada uno de estos. Así, se combina la idea de bagging y la selección aleatoria de atributos para construir

Page 17: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

5

una colección de árboles de decisión no correlacionados y luego promediarlos. También se hará uso de algunos algoritmos más sencillos como ZeroR o regresión lineal, que serán explicados en el momento de su experimentación.

Como parte introductoria, es importante también reflejar un estudio inicial sobre los datos con los que vamos a trabajar, especialmente los referentes a los nuevos audios grabados. El valor medio de UPDRS resultante de los 25 pacientes con los que vamos a tratar toma un valor de 44.48, encontrándose un importante porcentaje de los pacientes (36%) en un valor entre 45 y 60. En los datos utilizados en la competición, esta media tomaba un valor de 36.74, un 35.92 en varones y un 37.56 en mujeres, habiendo la misma cantidad de datos de mujeres que de hombres, conformando un total de 50 pacientes. El nivel de Parkinson en nuestro conjunto de datos toma un valor de varianza de 430.81, mientras que en los datos de la competición es de 343.99.

Gráfica 1: Variación del nivel UPDRS

Gráfica 2: Histograma del nivel UPDRS

El valor medio en mujeres en los nuevos datos es 49.63, habiendo un total de 8 mujeres (32%), mientras que en hombres alcanza un 42.06, conformando un total de 17 hombres (68%). Vemos por tanto que el sexo puede ser un dato influyente en el nivel de Parkinson de un locutor.

Otros datos que influyen notoriamente en el valor de UPDRS son aspectos como la edad o los años desde que fue detectada la enfermedad, e incluso un parámetro denominado Hoenh&Yahr, que se estudiará en mayor profundidad y determina el estadio de enfermedad en que se encuentra un paciente. En cuanto a esta última característica, destacar que para los nuevos locutores, el 64% de los pacientes se encuentran en el estadio 2 de Hoenh&Yahr, dejando una varianza baja para este parámetro. En los datos de la competición, también un 56% de los pacientes se encontraban en dicho estadio.

Estudiando la correlación existente entre el nivel de Parkinson y estos tres últimos

aspectos (edad, tiempo de enfermedad y estadio Hoenh&Yahr) en nuestros nuevos datos, vemos que para cada uno de ellos el coeficiente de Pearson toma valores de 0.1749, 0.31137 y 0.64224 respectivamente. Observamos por tanto que la edad puede ser importante a la hora de predecir cierto nivel de Parkinson, pero más lo son los parámetros en cuanto al tiempo de enfermedad del paciente y su estadio Hoenh&Yahr.

Page 18: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

6

Un 52% de los locutores se encuentran en una edad entre los 60 y 70 años y un 44% de los mismos alcanzan entre 5 y 10 años de periodo de su enfermedad. En los datos de la competición, era un 36% que se encontraba entre los 60 y 70 años de edad, y para un 54% de los pacientes habían transcurrido entre 5 y 10 años desde que estos fueron diagnosticados de Parkinson.

Gráfica 3: Histograma de edad Gráfica 4: Histograma de tiempo de enfermedad

El objetivo principal de este proyecto es la optimización de un sistema de identificación del nivel de Parkinson (UPDRS) en pacientes diagnosticados, usando únicamente grabaciones de su voz y empleando técnicas de aprendizaje automático.

Como punto de partida disponemos de una serie de grabaciones que fueron utilizadas con anterioridad en la competición internacional de Interspeech 2015. Así, primeramente trabajaremos sobre estos datos como base inicial ya que tenemos la certeza de la existencia de una buena solución para el problema según dichos datos. Realizaremos de esta forma una nueva experimentación en busca de un modelo adecuado para estos datos esperando conseguir con ello un resultado del trabajo más cuidadoso y completo estudiando cada punto en profundidad.

Seguidamente se deberá desarrollar una fase de experimentación utilizando las nuevas grabaciones tomadas en un hospital de Madrid. En esta fase del proyecto se abordará como objetivo principal el análisis de los datos y el estudio en profundidad de posibles problemas y soluciones surgidos a partir de este cambio en los datos y los distintos parámetros tanto internos como externos que puedan afectar a los experimentos. Se buscará con esto lograr en un futuro unos resultados óptimos en el estudio progresivo de la enfermedad tanto de los pacientes tratados como de nuevos pacientes.

De esta manera, el desarrollo de este trabajo supondrá alcanzar dos subobjetivos:

Optimización de experimentos con la base de datos de la competición, realización de una nueva secuencia de experimentos de extracción y selección de características y de predicción automática con estos datos

Desarrollo de experimentos con los nuevos datos y análisis exhaustivo de los mismos

Page 19: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

7

El proyecto se divide en dos fases claramente diferenciadas. En la primera de ellas comenzamos trabajando con datos provenientes de la competición internacional de Interspeech 2015. Trabajaremos con estos datos con intención de llevar a cabo una búsqueda del modelo adecuado de manera automática y óptima. Con esto se espera conseguir un resultado más elaborado y completo del trabajo que ya se llevó a cabo. Esta primera fase servirá de base para una segunda en la que se adecuará a las nuevas grabaciones la automatización y optimización de la realización de experimentos utilizada para los datos de la competición. En esta segunda fase del proyecto, no solo se espera alcanzar resultados satisfactorios, sino principalmente realizar un estudio y análisis en profundidad de los nuevos datos. Con todo ello, este proyecto pretende servir de base para, en un futuro, poder alcanzar exitosos resultados tanto en el estudio progresivo de la enfermedad de los pacientes actuales como en la caracterización de nuevos pacientes.

Con intención de afrontar adecuadamente el desarrollo del proyecto se llevará a cabo un procedimiento de identificación y gestión de versiones. En el desarrollo de un sistema software, como es el caso, es necesario identificar hitos a lo largo de la evolución del proceso en que se produzcan versiones del sistema estables, acordadas y revisadas que potencialmente puedan ponerse en funcionamiento. Para llevar a cabo esta gestión recurriremos a la herramienta Git como sistema distribuido de control de versiones. Concretamente, haremos uso de la plataforma de desarrollo colaborativo GitHub para alojar nuestro proyecto utilizando el mencionado sistema de control de versiones Git. El proyecto se podrá encontrar en la siguiente dirección:

https://github.com/clara-jr/Parkinson-Machine-Learning

Para los primeros experimentos recurrimos al uso de la plataforma Weka y más adelante

hacemos uso de la librería RankLib. Utilizaremos técnicas de preprocesado de datos con Lasso para conseguir una reducción en nuestro amplio conjunto de atributos en un factor 15. Con esta forma de experimentación observaremos por tanto una reducción significativa en el tiempo de procesamiento de cada experimento y reduciremos el riesgo de overfitting consiguiendo modelos con una mejor generalización. La automatización de la realización de experimentos en ambas fases para conseguir encontrar el modelo más adecuado, es decir, el algoritmo a utilizar y el correspondiente conjunto óptimo de valores de parámetros se realiza mediante la programación de una serie de scripts (en Python, Bash y Perl). Los scripts en Bash se encargan de entrenar un modelo con Weka o RankLib. Teniendo así la base para realizar cada experimento, se debe abordar la programación de scripts en Python que permitan automatizar la ejecución de estos experimentos y optimizar la búsqueda del algoritmo y los parámetros apropiados. Con los datos de entrenamiento realizaremos las sucesivas experimentaciones de ambas fases, obteniendo un modelo por cada experimento. Para cada modelo creado y mediante los datos de validación se formularán las predicciones correspondientes y con ello se evaluará la efectividad del modelo en base a los coeficientes de correlación de Pearson y Spearman mencionados con anterioridad.

Las diferentes versiones del proyecto estarán asociadas inicialmente a cambios realizados y/o funcionalidades añadidas referentes a la automatización de la ejecución de experimentos. A medida que se avance en el desarrollo de este proyecto, las versiones del mismo contendrán funcionalidades adicionales con intención de realizar múltiples experimentos que se

Page 20: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

8

expondrán más adelante: automatización de la comparación de resultados de distintos experimentos y sus diversos algoritmos y parámetros, experimentación con los nuevos datos, etc.

En las primeras versiones se consigue abordar la programación de un sistema de experimentación automático para los algoritmos SVR y Random Forest tanto en Weka como utilizando la librería RankLib. Tras dicha experimentación, el sistema tiene a su vez automatizada y optimizada la búsqueda de la mejor solución analizando los diversos resultados obtenidos. El desarrollo de este sistema está basado en las técnicas Greedy introducidas previamente. De esta manera, nuestra suposición inicial consiste en considerar una posible independencia entre los parámetros que se pretenden optimizar. Realizaremos diversas pruebas variando uno de los parámetros y dejando constante el resto hasta obtener un valor óptimo para cada uno de los parámetros. Tomando como cierta la premisa mencionada, los valores iniciales establecidos como fijos para cada uno de los parámetros serían irrelevantes por la propia propiedad de independencia que poseen dichos parámetros. De hecho, se conseguiría encontrar de forma garantizada y bajo cualquier circunstancia un óptimo global para el valor de cada uno de los parámetros. Sin embargo, la situación de independencia entre los parámetros no suele darse en un caso real por lo que la selección inicial de los valores de cada uno de ellos será clave a la hora de encontrar la mejor solución posible. Esta selección por tanto no debería ser aleatoria sino más bien debería establecerse siguiendo reglas heurísticas que son generalmente usadas cuando no existe una solución óptima bajo las restricciones dadas, como es el caso.

Recurriendo a esta técnica para la optimización de los parámetros a establecer en un algoritmo de aprendizaje automático utilizado, comprobamos que se reduce el problema en gran medida. Concretamente, pasamos de tener un problema en el que el conjunto de posibles combinaciones a estudiar aumenta exponencialmente conforme aumenta el número de parámetros a tener un problema que avanza de forma lineal frente al mismo motivo.

Con intención de explicar este fenómeno en base a un ejemplo práctico, realizaremos un estudio de la metodología a seguir utilizando todas las combinaciones posibles de los parámetros a optimizar y bajo las técnicas Greedy propuestas. Concretamente, para la experimentación con Weka, se desea encontrar los valores óptimos de los parámetros C y L para el algoritmo SVR utilizado. Supongamos por ejemplo los siguientes posibles valores para C y L:

Page 21: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

9

El número total de combinaciones posibles se obtiene a partir de la multiplicación de los valores posibles de los parámetros, en este caso 14 · 10 = 140. Sin embargo, siguiendo las técnicas Greedy veremos que este número de combinaciones necesarias se reduce de forma significativa con respecto al total posible. De esta manera, fijamos inicialmente el valor de L a 1.0 y buscamos el valor óptimo de C para este valor de L. Una vez encontrado dicho valor de C, que en este caso realizando los experimentos correspondientes comprobamos que es 1e-3, se descartan todas las combinaciones posibles con L = 1.0 y el resto de valores de C excepto el encontrado C = 1e-3.

Fijamos ahora el parámetro C al valor encontrado C = 1e-3 y encontramos que el valor óptimo de L en este caso es L = 0.8, descartándose por tanto las combinaciones con C = 1e-3 y todos los valores de L menos L = 0.8.

Concretamente, para estos valores finales encontrados como óptimos dentro de todos los experimentos realizados, se consiguen un coeficiente de correlación de Pearson de 0.3169 y un coeficiente de Spearman de 0.4983.

Page 22: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

10

Para este caso vemos que mediante esta técnica hemos probado 23 de las 140 posibles combinaciones que existían en total. Realmente se han realizado 24 experimentos, pero uno de ellos se repite (C=1e-3 y L=1.0). En problemas pequeños puede no parecer un gran cambio, pero sí lo es para problemas de mayor nivel, con un mayor número de parámetros y de valores posibles para cada parámetro, reduciendo el número de combinaciones realizadas a:

∑ 𝑛𝑖 − (𝑚 − 1)

𝑚

𝑖=1

siendo el total de combinaciones posibles:

∏ 𝑛𝑖

𝑚

𝑖=1

con 𝑛𝑖 el número de valores posibles que toma el parámetro 𝑖, 𝑚 el número de parámetros total

a optimizar y 𝑚 − 1 el número de combinaciones repetidas realizadas.

Se comprueba por tanto que utilizando esta técnica basada en la suposición inicial de independencia entre los parámetros a optimizar se consigue reducir el número de combinaciones del producto de los posibles valores de cada parámetro al sumatorio de los mismos. Sin embargo, dado que el uso de estas técnicas Greedy se basa en información inmediatamente disponible y no necesariamente cierta, al no ser probadas todas las combinaciones posibles y dado que los parámetros generalmente no son independientes entre ellos, tal vez la solución encontrada no sea la verdaderamente óptima pero sí una buena solución.

Con esta reducción en el número de experimentos necesarios a realizar se ha conseguido reducir así el tiempo de búsqueda de un modelo óptimo de aprendizaje automático. Adicionalmente, se conseguirá reducir de nuevo el tiempo empleado en esta experimentación recurriendo a la ejecución de los experimentos de optimización de cada parámetro de forma paralela haciendo uso del comando de Unix parallel. Esta opción de procesado de tareas paralelas permite sacar provecho a su vez de la ingente cantidad de potencia de proceso del microprocesador multi-core de 40 núcleos del que disponemos para el desarrollo del proyecto. En sucesivas versiones se añade también tratamiento de errores y se repite finalmente de nuevo el experimento para los valores óptimos encontrados

Llegados a este punto conseguimos realizar experimentos con algoritmos SVR en Weka y el algoritmo generador de árboles de decisión Random Forest con RankLib. La interpretación de los resultados de dichos experimentos no puede realizarse de forma similar ya que con Weka y el algoritmo SVR, las técnicas Greedy utilizadas tenían mucho sentido e importancia mientras que con RankLib y el algoritmo Random Forest no observábamos lo mismo. Esto se debe a que en RankLib, la semilla que se utiliza para crear las distintas particiones de los datos para los distintos árboles del algoritmo Random Forest se trataba de una semilla aleatoria. De esta forma, cada vez que se realizaban los experimentos se obtenía una optimización diferente y de hecho dicha optimización no tenía por qué aportar el mejor resultado de todos los obtenidos a lo largo de la experimentación. Aun así, además de encontrarnos con esta situación, observamos que la variación de los distintos parámetros del algoritmo no aportaba grandes cambios bajo ninguna circunstancia, obteniendo generalmente valores del coeficiente de Spearman en torno a 0.57. Por lo tanto, en este caso además de que la técnica Greedy utilizada era ineficiente, la propia experimentación y prueba de distintos valores para los parámetros también lo era ya que, a parte

Page 23: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

11

de no encontrarse una misma combinación óptima de valores en cada momento, tampoco se encontraban altas diferencias con ninguna combinación de valores en particular. Sin embargo, cabe destacar que los resultados obtenidos con el algoritmo Random Forest en RankLib (~0.57) sí eran significativamente mejores que los obtenidos primeramente con Weka y el algoritmo SVR (0.49). Teníamos dos posibles causas para esta mejora, una de ellas era la extracción de atributos realizada con Lasso o el uso del propio algoritmo Random Forest. Para avanzar un paso más en el análisis de resultados obtenidos, además de realizar la optimización con el algoritmo Random Forest en Weka donde la semilla formaba parte de los parámetros asignables y por tanto podíamos dejar de lado la aleatorización que impedía el correcto análisis de dichos resultados, realizamos una comparativa en referencia a los dos algoritmos utilizados hasta ahora (SVR y Random Forest) y a la extracción o no de atributos en los datos. En cuanto a los experimentos realizados utilizando el algoritmo Random Forest en Weka, los parámetros que se han optimizado han sido el número de árboles a generar (I) y el valor de la semilla (S). Esta automatización de la realización de los diversos experimentos a comparar y la correspondiente búsqueda del mejor resultado conforma una nueva versión en el proyecto.

Con esta comparativa obtuvimos los siguientes resultados, pudiendo determinar no solo si la reducción del número de atributos producía mejoras significativas sino además qué algoritmo sería más adecuado utilizar:

Gráfica 5: Comparativa de algoritmos SVR y RandomForest y reducción de atributos

Analizando los coeficientes de Spearman obtenidos en cada situación, se puede observar que, para ambos algoritmos, el caso de mayor éxito se encuentra al utilizar extracción de atributos. Sin embargo, para el caso de 6773 atributos se obtienen mejores resultados con el algoritmo SVR y para el caso de 427 atributos funciona mejor Random Forest. Concretamente, el

Algoritmos SVR SVR + Lasso Random Forest Random Forest + Lasso

Parámetros C = 0.001

L = 0.8 C = 0.01 L = 1.0

I = 500 S = 10

I = 400 S = 3

Spearman 0.4983 0.5357 0.4708 0.5569

Page 24: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

12

mejor resultado obtenido tras la comparativa de las cuatro posibilidades se encuentra con el uso del algoritmo Random Forest y la reducción de atributos, consiguiendo un valor para el coeficiente de correlación de Spearman de 0.5569. Afirmamos por tanto que el aspecto que realmente produce una mejora significativa en los resultados es la aplicación de una reducción considerable en el número de atributos presentes en los datos.

Una vez hemos realizado toda esta serie de experimentos y con ello nos hemos familiarizado con el problema de aprendizaje automático que tratamos de optimizar, es momento de llevar el proceso utilizado para los datos de la competición internacional de Interspeech 2015 a las nuevas grabaciones tomadas. En un primer momento, no podemos saber si estos nuevos datos nos podrán proporcionar los mismos resultados o mejores que los antiguos. Sin embargo, podremos ir analizando las diversas situaciones con las que nos vayamos encontrando y tratar de moldear en la medida de lo posible nuestros datos con intención de conseguir un alto nivel de correlación entre las predicciones y los valores reales de UPDRS de los pacientes.

Dentro de las nuevas grabaciones tomadas podemos encontrar varios tipos según diversas clasificaciones. La primera de estas clasificaciones se basa en el tipo de micrófono utilizado al grabar estos audios, teniendo grabaciones a partir de un micrófono de mesa, un móvil y un micrófono de cabeza. Generalmente las grabaciones tomadas con este último serán las más adecuadas para realizar los experimentos ya que el micrófono se encuentra más cerca de la boca del paciente. Sin embargo, este tipo de micrófono no se ajustaba de la misma manera en todos los pacientes. Concretamente, entre hombres y mujeres había una diferencia que, a la hora de experimentar y entrenar un modelo, podrá tomarse como diferencia propia del sexo sin ser esta suposición estrictamente acertada. Otra clasificación posible se refiere al tipo de fonemas dichos por el paciente, pudiendo haber grabaciones en las que se repite una única vocal, grabaciones en las que se dice una palabra en concreto, grabaciones cuyo contenido se basa en la lectura de una frase por parte del paciente y una última grabación en la que se ordenó al paciente que hablara sobre lo que había hecho en el día. Podemos anticipar que esta última grabación no será de gran utilidad ya que es altamente diferente al resto y estará mayormente cargada por silencios debido a que el paciente posiblemente se pusiera nervioso y no supiera exactamente qué decir. Aun así, las grabaciones hechas a base de la lectura de una frase también pueden considerarse forzadas en cierto sentido y pueden no permitir evaluar correctamente el nivel de Parkinson de una persona. Esto se debe al esfuerzo que se está haciendo adicionalmente por leer; tal vez al paciente simplemente le cueste leer y esto no tenga que ver con la enfermedad en concreto y sin embargo se detecte esto como un síntoma de la misma. Otra característica que podría interpretarse como factor relacionado con el grado de Parkinson del paciente sin serlo podría ser la propia dificultad a la hora de hablar. Este factor puede estar o no relacionado de forma directa con la enfermedad del Parkinson, pudiendo ser simplemente un aspecto propio de la edad avanzada del paciente o causado por el padecimiento de otro tipo de enfermedad adicional.

Comenzamos a ver con estas primeras situaciones que el problema a tratar en este proyecto no es meramente matemático e ingenieril. ¿O tal vez deberíamos interpretar que es altamente ingenieril? Al fin y al cabo, la principal labor de un ingeniero es saber detectar problemas y pararse a pensar en busca de las posibles causas y soluciones de los mismos. Lo que está claro es que encontrar las causas y con ello las soluciones de los diversos problemas con los que nos toparemos en este proyecto no será tarea fácil pero sí una tarea muy importante. En este proyecto debemos lidiar con multitud de factores externos y/o factores humanos que no serán fácilmente detectables ni tratables. Entre estos posibles factores podemos destacar las

Page 25: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

13

condiciones temporales que caracterizan a cada una de las grabaciones. Así, un factor que puede ser de gran relevancia es el tiempo que dista desde que el paciente se tomó la última dosis de medicación hasta que es grabado, o incluso el tiempo que lleva el paciente esperando en la consulta para ser grabado. Adicionalmente, estas condiciones y posiblemente alguna otra, deberían darse de igual manera en las distintas grabaciones que se pretendan realizar a cada paciente a lo largo del tiempo para poder realizar así un estudio correcto del proceso de su enfermedad.

Primeramente, para comenzar a trabajar con las nuevas grabaciones tomadas y poder realizar experimentos, debemos extraer a partir de los ficheros de audio de formato wav la información de características propia de los ficheros arff utilizando los scripts oportunos. Así, en una primera fase de experimentación con los nuevos datos, agrupamos todos los ficheros de audio en un mismo arff para entrenar y para testear. Esto nos deberá aportar resultados extremadamente buenos, pero obviamente estos serán a su vez optimistas ya que podría decirse que el modelo ha aprendido los datos con los que posteriormente se evalúa. Concretamente, para el algoritmo SVR en Weka, partiendo de la suposición inicial de parámetros C=1e-3 y L=1.0 y consiguiendo para estos valores un coeficiente de correlación de Spearman de 0.6516, tras la optimización llegamos finalmente a conseguir un coeficiente de Spearman de 0.9835 con C=0.001 y L=0.1.

Sin embargo, como ya se ha comentado, este resultado es altamente optimista debido a que se ha conseguido evaluando con el mismo conjunto de datos con el que se ha entrenado, lo cual no es realista. En un caso real, tendremos que ser capaces de predecir resultados adecuados para además de un paciente distinto, principalmente una nueva grabación distinta a las grabaciones con las que se haya entrenado el modelo. De esta forma, para hacer referencia a una situación más realista en la evaluación de resultados y comprobar ciertamente si los nuevos datos son adecuados o deberíamos realizar alguna modificación sobre ellos, trataremos de tomar una técnica basada en validación cruzada. Al tener grabaciones de 25 pacientes distintos (realmente 26 pero del paciente número 2 no se conoce el valor de su UPDRS), realizaremos una división en 5 subgrupos de 5 pacientes cada uno. De estos subgrupos, 4 se emplearán en el entrenamiento del modelo y el quinto protagonizará la evaluación del modelo creado, consiguiendo tener así grabaciones de personas diferentes en el conjunto de entrenamiento y en el conjunto de validación. Además de procurar tener personas diferentes en cada uno de los grupos, es importante que estos grupos guarden un determinado grado de homogeneidad. En cada grupo deberemos encontrar por tanto pacientes de ambos sexos y con cierta variedad de edad. Siguiendo esta idea de homogeneidad, aunque evaluemos el modelo con grabaciones distintas de personas distintas, las características principales de dichas personas como pueden ser el sexo o la edad ya habrán sido entrenadas y esto aportará una mayor inteligencia a nuestro modelo. En caso contrario, si entrenáramos nuestro modelo únicamente con audios de pacientes varones y de un rango de edad de 80 o 70 años, al testear con audios de mujeres en torno a los 50 o 60 años podríamos predecir casi con total seguridad que no obtendríamos buenos resultados.

Todas estas condiciones de separación específica en subgrupos no deberían darse escogiendo los subgrupos de forma aleatoria ya que de esa forma en cada uno de los grupos tendríamos grabaciones de todos los pacientes y por tanto evaluaríamos el sistema con datos de los mismos pacientes con que lo entrenamos, en cuyo caso obtendríamos, como ya se ha explicado, resultados ciertamente optimistas para el caso en que se trate de predecir un nivel

Page 26: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

14

UPDRS para un nuevo paciente. Es por esta razón que debe tener cabida una primera fase de preproceso de los datos en la que es necesaria la intervención humana para la selección razonada de la división de las distintas instancias en sus respectivos grupos.

Al entrenar un primer modelo con 4 de los 5 subgrupos creados siguiendo estas reglas y evaluar con el quinto subgrupo, los resultados obtenidos quedan por debajo de toda expectativa. Para el algoritmo SVR en Weka, partiendo de la combinación de valores C=1e-3 y L=1.0 con coeficiente de correlación de Spearman de 0.1125, terminamos por conseguir concretamente un coeficiente de Spearman de 0.1621.

Si realizamos el resto de experimentos de forma que todo subgrupo pase al menos una vez por el conjunto de evaluación, obtenemos coeficientes de valor 0.2002, -0.1235, -0.2485 y 0.3495.

De esta forma, vemos que los valores conseguidos en el coeficiente de Spearman con cada grupo de evaluación nos aportan un alto indicador de posibles problemas ya que al obtenerse valores cercanos a cero se entiende que las predicciones no están correladas con los resultados reales, e incluso en algunos casos indica independencia entre ambos valores ya que se obtienen valores negativos.

La primera posible causa en la que podemos pensar a la que se debe dicho resultado es la existencia de abundantes silencios en los nuevos audios. Es por esta razón que, para próximos experimentos que se realicen en este proyecto, debería contemplarse la opción de tratar de encontrar la manera de realizar una adecuada supresión de silencios en nuestras grabaciones. A su vez, podemos plantearnos estudiar a qué se debe la notable diferencia entre los resultados de los 5 experimentos realizados y analizar la agrupación realizada y la asignación de los distintos pacientes a los distintos grupos para comprobar que esta coincide con las reglas mencionadas previamente.

Para el primer modelo, el conjunto de evaluación estaba formado por los pacientes 24, 3, 6, 18 y 16. Entrenando el modelo con el resto de datos y evaluando con estos, obtuvimos un coeficiente de 0.16211. Los resultados de coeficiente de Spearman negativos los conseguimos evaluando con los pacientes 22, 7, 17, 21 y 9 (coeficiente de Spearman -0.1234537) y con 8, 13, 15, 14 y 19 (coeficiente de Spearman -0.2484809). Utilizando a los pacientes 10, 1, 4, 0 y 20 para evaluar el modelo entrenado con el resto, conseguimos de nuevo un valor positivo para el coeficiente de Spearman, concretamente 0.2002348. Finalmente, obtuvimos los mejores resultados (coeficiente de Spearman 0.3495423) utilizando a los pacientes 25, 12, 11, 23 y 5 para testear y el resto para entrenar.

Grupo Pacientes Spearman

1 24 3 6 18 16 0.1621

2 10 1 4 0 20 0.2002

3 22 7 17 21 9 -0.1235

4 8 13 15 14 19 -0.2485

5 25 12 11 23 5 0.3495 Validación cruzada con distribución homogénea de edades

Page 27: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

15

Repasando las características de cada uno de los pacientes y de cada subgrupo como conjunto podremos tratar de determinar si se encuentra alguna anomalía y si se requiere por tanto la necesidad de realizar un cambio en la distribución de los grupos. Primeramente, respecto a la edad de los pacientes, se muestra a continuación una tabla con la distribución de los mismos en los distintos grupos y los resultados conseguidos evaluando con cada uno de ellos:

Grupo Edades Spearman

1 57 64 67 70 80 0.16211

2 57 64 67 70 79 0.2002

3 54 63 66 69 77 -0.1235

4 50 62 65 68 75 -0.2485

5 45 59 68 73 78 0.3495 Validación cruzada con distribución homogénea de edades

En los dos primeros experimentos deberíamos obtener resultados muy similares ya que ambos conjuntos contienen paciente de edades prácticamente iguales, lo cual se cumple ya que obtuvimos coeficientes de correlación de 0.16 y 0.2. Por el mismo motivo deberíamos obtener resultados similares en los experimentos tercero y cuarto, lo cual también es cierto (-0.12 y -0.25). Sería conveniente analizar el porqué de que se produzcan malos resultados en estos dos casos y un buen resultado en el último caso en que evaluamos con los pacientes 25, 12, 5, 11 y 23, con algunas personas ligeramente más jóvenes que el resto.

Seguidamente, otra característica importante de los pacientes es su sexo. Para analizar la homogeneidad de dicha característica en los grupos creados recogemos los datos necesarios en la siguiente tabla:

Grupo Sexo (H/M) Spearman

1 H H H M H 0.1621

2 M H M H M 0.2002

3 H H H H M -0.1235

4 M H M H H -0.2485

5 M H H H H 0.3495 Validación cruzada con distribución homogénea de edades

Con intención de mejorar el resultado promedio, podemos realizar algún cambio tanto por clasificación de edades como por sexos. Concretamente, el grupo 2 comprobamos que tiene 3 mujeres mientras que grupos como el 1 o el 3 que solo tienen una mujer. De esta manera, podremos plantearnos el cambio de grupo entre los pacientes número 4 (grupo 2) y 17 (grupo 3). Respecto al tema de edades, los peores resultados se obtienen evaluando con un grupo en el que hay una persona de 50 años mientras que las personas de edad más cercana a esta que se encuentran en los datos de entrenamiento son de 45 y 54 años, habiendo por tanto un intervalo de 9 años vacío de información. Podemos intuir que esta sea una posible causa de los malos resultados, pero nunca podremos saberlo con certeza. Aun así, podemos probar a realizar un cambio entre los pacientes 8 (grupo 4) y 24 (grupo 1) que, aunque no sean pacientes del mismo sexo, tras el cambio en ninguno de los dos grupos se crea una descompensación como la existente

Page 28: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

16

en un primer momento. Con estas variaciones el quinto grupo sigue intacto por lo que solamente deberemos repetir los cuatro primeros experimentos.

De esta manera, procedemos a hacer un nuevo estudio de los resultados obtenidos para cada uno de los grupos de evaluación definidos tras el cambio:

Grupo Pacientes (nº | edad | sexo) Spearman

1 8 | 50 | M 3 | 64 | H 6 | 67 | H 18 | 70 | M 16 | 80 | H -0.2128

2 10 | 57 | M 1 | 64 | H 17 | 66 | H 0 | 70 | H 20 | 79 | M 0.3896

3 22 | 54 | H 7 | 63 | H 4 | 67 | M 21 | 69 | H 9 | 77 | M 0.0781

4 24 | 57 | H 13 | 62 | H 15 | 65 | M 14 | 68 | H 19 | 75 | H 0.4428

5 25 | 45 | M 12 | 59 | H 11 | 68 | H 23 | 73 | H 5 | 78 | H 0.3495

Validación cruzada con distribución homogénea de edades y sexo

Los experimentos en los que se han utilizado los grupos 2 y 3 para testear han mejorado en torno a un 0.19 en el valor de su coeficiente de Spearman. Por lo que a la mejora en la evaluación con el grupo 2 respecta, se podría intuir que es más fácil predecir a partir de audios de varones que de mujeres, ya que el cambio que se ha realizado en los datos es introducir en el grupo 2 datos de hombres y pasar datos de mujeres al grupo 3. Sin embargo, esta causa no es del todo clara debido principalmente a que el resultado a partir de los datos del grupo 3 también ha mejorado en igual medida. Siendo así, no podemos obtener una suposición realmente concluyente sobre la causa de esta variación.

Resalta notablemente la bajada que ha protagonizado el coeficiente de Spearman evaluado a partir del primer grupo, así como la notable mejora que ha tenido por el contrario la evaluación realizada con el grupo 4. Concretamente, respecto al primer grupo se ha producido una bajada de un 0.37 en dicha correlación y para el grupo 4 se observa una subida de 0.69. Como posibles causas de esta situación tenemos de nuevo el sexo del paciente; al añadir una mujer en el grupo 1 y un hombre en el grupo 4, empeoran las predicciones para el grupo 1 y mejoran las del grupo 4. Sin embargo, al tratarse de un cambio tan brusco es inevitable pensar en alguna otra razón. De esta manera, podemos llegar a suponer que las grabaciones del paciente 8 resulten datos realmente conflictivos a la hora de predecir cierto nivel de Parkinson.

Las evaluaciones realizadas con los grupos 1 y 3 son las que dan peores resultados y por tanto cabe la posibilidad de pensar que alguno de los pacientes pertenecientes a estos grupos tengan también grabaciones problemáticas. Concretamente, en el grupo 1 el que ha provocado este mal resultado ha sido el paciente número 8. Del grupo 3 tenemos a los pacientes 22, 7, 4, 21 y 9. Será conveniente revisar por tanto los audios de estos locutores por la posibilidad de que exista alguna anomalía en alguno de ellos, aunque realmente esta sería una suposición demasiado temprana. Por esta razón tal vez sea una buena práctica entrenar modelos con 24 pacientes y evaluar con el restante a fin de realizar una comparativa y estudiar si nuestras suposiciones son ciertas o no.

A pesar de que ciertas variaciones hayan sido a peor, en la mayoría de los experimentos se ha mejorado el valor del coeficiente de Spearman para esta nueva situación, además de que la distribución de los pacientes en los distintos grupos es más homogénea si cabe.

Page 29: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

17

Estos resultados han sido obtenidos tomando un valor predicho de UPDRS distinto para cada audio, a pesar de que pertenecieran a un mismo locutor. Por ello, dado que conocemos de antemano a quién pertenece cada grabación, como ya se explicó, es recomendable utilizar esta información a nuestro favor y tomar como resultado de cada paciente un único nivel UPDRS obtenido a partir de la media de los valores predichos para cada audio. Realizando así el cálculo del coeficiente de Spearman utilizando como valores predichos los valores medios de las predicciones para cada paciente, los resultados obtenidos para esta última agrupación son los siguientes:

Grupo Pacientes (nº | updrs) Spearman

1 8 | 38 3 | 49 6 | 27 18 | 23 16 | 87 -0.5

2 10 | 56 1 | 69 17 | 24 0 | 25 20 | 59 0.5

3 22 | 22 7 | 18 4 | 66 21 | 21 9 | 52 0.3

4 24 | 6 13 | 71 15 | 55 14 | 50 19 | 54 0.7

5 25 | 48 12 | 74 11 | 57 23 | 19 5 | 42 0.4

Validación cruzada con distribución homogénea de edades y sexo tomando un único nivel UPDRS para cada paciente a partir de la media de predicciones de los audios

Adicionalmente, el coeficiente de Spearman que se consigue utilizando esta metodología con todo el conjunto de datos para entrenar y para evaluar es 0.9992.

Hasta ahora los grupos de 5 pacientes se han formado buscando homogeneidad en la edad y sexo de los miembros. Sin embargo, se ha visto conveniente realizar una nueva agrupación basada en la homogeneidad según el nivel UPDRS, teniendo en cada grupo pacientes que se encuentran en diferentes grados de la enfermedad.

Grupo Pacientes (nº | updrs)

Predicción individualizada

Predicción agrupando por locutor

Spearman Spearman

1 22 | 22 8 | 38 9 | 52 20 | 59 16 | 87 0.1199 0.1

2 21 | 21 6 | 27 14 | 50 11 | 57 12 | 74 0.1745 0.9

3 23 | 19 0 | 25 3 | 49 10 | 56 13 | 71 0.135 0.3

4 7 | 18 17 | 24 25 | 48 15 | 55 1 | 69 0.2326 0.7

5 24 | 6 18 | 23 5 | 42 19 | 54 4 | 66 0.3977 0.7

Validación cruzada con distribución homogénea de nivel de Parkinson

A partir de esta nueva agrupación dejamos de obtener valores negativos del coeficiente de Spearman y se consiguen valores notablemente superiores a los conseguidos previamente. De esta manera concluimos que el nivel UPDRS es un factor más determinante que la edad o el sexo a la hora de establecer una homogeneidad entre los grupos de entrenamiento y evaluación. Es más conveniente tener datos de pacientes con diversos valores de UPDRS que de distintas edades o distinto sexo, aunque estos dos últimos factores no dejen de ser relevantes.

Page 30: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

18

Realizando de nuevo una comparativa entre los resultados obtenidos tomando un valor predicho de UPDRS distinto para cada audio y los obtenidos tomando como resultado de cada paciente un único nivel UPDRS obtenido a partir de la media de los valores predichos para cada audio, observamos una amplia mejoría en cuanto al coeficiente de Spearman.

Además de trabajar con el parámetro UPDRS podemos tratar de predecir el valor de otro parámetro denominado Hoenh&Yahr. Esta variable puede tomar los valores 1, 1.5, 2, 2.5, 3, 4 o 5 y se trata de una escala que describe cómo avanzan los síntomas de la enfermedad de Parkinson. Los valores que toma este parámetro definen por tanto los 5 estados de dicha enfermedad, además de 2 estados intermedios. La predicción del estado en que se encuentra el paciente según esta escala debe ser por tanto un problema de clasificación y no de regresión. Podemos por tanto tratar de hacer un estudio similar al realizado para la predicción del valor UPDRS, interpretándose como un problema de regresión, y finalmente recategorizar los resultados predichos asignando el valor más cercano de los posibles.

Primeramente, utilizamos todos los datos para entrenar y para testear y evaluamos de nuevo a partir del valor Hoenh&Yahr medio predicho para cada paciente según los 48 audios de cada uno. De esta manera conseguimos el siguiente valor de coeficiente de correlación de Spearman: 0.9502. Este valor es más bajo que el conseguido en las predicciones de UPDRS entrenando y evaluando con todos los datos. Se puede deducir por tanto que posiblemente obtendremos resultados peores tratando de predecir el parámetro Hoenh&Yahr.

Grupo Pacientes (nº | Hoenh&Yahr) Spearman

1 22 | 2 8 | 2 9 | 2.5 20 | 4 16 | 5 0.725

2 21 | 2 6 | 2 14 | 2 11 | 3 12 | 4 0.395

3 23 | 2 0 | 2 3 | 2.5 10 | 2 13 | 2 0.25

4 7 | 2 17 | 2 25 | 2 15 | 2 1 | 2 -1

5 24 | 2 18 | 1 5 | 2 19 | 3 4 | 2.5 0.444

Validación cruzada con distribución homogénea de nivel de Parkinson para predicción de estadio Hoenh&Yahr

Dentro de los valores reales conocidos de Hoenh&Yahr observamos que una gran cantidad de pacientes se encuentra en el mismo estadio, concretamente un 64% están en el estadio 2. De esta manera, utilizando un modelo sencillo como puede ser un ZeroR, podríamos predecir con un 64% de probabilidad de acierto el estadio de la enfermedad en que se encuentra un paciente, optando por dar como resultado el valor mayoritario en los datos de entrenamiento. No parece por tanto que sea necesario trabajar en profundidad con este parámetro ya que principalmente no hay gran variedad en los datos actuales.

1 Todos los pacientes de este grupo se encuentran en un mismo estadio, por lo que el coeficiente de correlación de Spearman carece de sentido

Page 31: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

19

Hasta este punto, las suposiciones en las que nos hemos podido basar tanto para determinar una homogeneidad en los grupos como para establecer reglas por las que unos datos se predicen con mayor éxito que otros se refieren únicamente al sexo, la edad y el nivel UPDRS de los pacientes. Sin embargo, como ya se ha comentado anteriormente, existen multitud de variantes y factores que pueden intervenir en nuestro sistema notablemente y no es tan fácil percibirlos ni analizarlos.

A su vez, tras estos primeros estudios realizados, hemos podido plantear unas ideas iniciales sobre con qué tipo de pacientes es más fácil predecir un resultado acertado; en nuestro caso parece ser más sencillo con los hombres debido a que hay mayor cantidad de grabaciones de varones que de mujeres. Sin embargo, sería también interesante estudiar en qué tipo de grabaciones se cometen generalmente más fallos ya que, como se mencionó anteriormente, tenemos grabaciones muy variadas (repetición de una vocal, una palabra o una frase leída).

Al realizar el entrenamiento de modelos con 24 pacientes y evaluar con el restante siguiendo una metodología Leave One Speaker Out pudimos obtener una comparativa más exhaustiva sobre cada paciente. Sin embargo, para esta experimentación tuvimos que recurrir al uso de comparaciones mediante el valor del RMSE (desviación de la raíz cuadrada media) y medidas de error relativo.

Para seguir la estrategia Leave One Speaker Out utilizamos por tanto los siguientes parámetros para el cálculo de errores:

𝐸𝐶𝑀 =∑ (ℎ(𝑥𝑖) − 𝑦𝑖)2𝑚

𝑖=1

𝑚

𝑅𝑀𝑆𝐸 = √∑ (ℎ(𝑥𝑖) − 𝑦𝑖)2𝑚

𝑖=1

𝑚= √𝐸𝐶𝑀

𝐸𝑟𝑟𝑜𝑟 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜 = ∑

|ℎ(𝑥𝑖) − 𝑦𝑖|𝑦𝑖

𝑚𝑖=1

𝑚

Siendo 𝐸𝐶𝑀 el error cuadrático medio, 𝑚 el número de instancias predichas (48 audios para cada locutor), ℎ(𝑥𝑖) el valor predicho para cada ejemplo e 𝑦𝑖 el valor real conocido y esperado sobre dicho ejemplo. Respecto al error relativo, se ha partido del cálculo con norma 1 pero sería igual de representativo el valor de error relativo con norma 2. Este error relativo en nuestro caso es más importante que el valor de 𝑅𝑀𝑆𝐸 ya que permite comparar el error absoluto en función del tamaño de lo que se está midiendo. Por ejemplo, si se ha predicho para un paciente un UPDRS de 6 y esta predicción dista 15 puntos respecto del valor real esperado, el error relativo sería mayor que si tuviéramos un error absoluto de 15 puntos intentando predecir un UPDRS conocido de 50.

Cabe destacar que, como ya se explicó, al conocer el paciente al que pertenece cada grabación conviene realizar un promedio entre las 48 predicciones de cada audio. De esta manera obtendremos el valor de UPDRS predicho para cada paciente como el promedio de los valores

Page 32: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

20

predichos para cada grabación. Teniendo esto en cuenta, el cálculo del error relativo se representa de la siguiente manera:

𝐸𝑟𝑟𝑜𝑟 𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑜 = | ∑ ℎ(𝑥𝑖)𝑚

𝑖=1

𝑚− 𝑦 |

𝐸𝑟𝑟𝑜𝑟 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜 =𝐸𝑟𝑟𝑜𝑟 𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑜

𝑦

Siendo 𝑚 de nuevo el número de instancias predichas para cada locutor, ℎ(𝑥𝑖) el valor predicho para el audio 𝑖 e 𝑦 el valor de UPDRS real esperado sobre el paciente en cuestión. Este cálculo aportará el mismo resultado que el representado por la fórmula descrita anteriormente, como ya se demostró.

Con esta estrategia tuvimos que dividir por tanto la base de datos en tantos subconjuntos como locutores, y en cada experimento usar un único locutor como test y el resto como datos de entrenamiento, realizando así tantos experimentos como locutores tenemos. De esta manera, sería más sencillo localizar a los locutores que podrían no estar bien etiquetados o no tener grabaciones adecuadas. Los valores de 𝑅𝑀𝑆𝐸 y error relativo para cada uno de los locutores conseguidos a partir del algoritmo SVR en Weka para los valores de C y L que en cada caso minimizan el 𝑅𝑀𝑆𝐸 y/o el error relativo se muestran en la siguiente tabla.

Paciente RMSE Error absoluto Error relativo UPDRS Predicción

0 20.4998 20.1165 0.8046 25 45.1165

1 26.637 26.166 0.379 69 42.834

3 7.677 3.752 0.0766 49 45.2478 4 19.392 18.98 0.2876 66 47.02

5 1.8758 0.17 0.004 42 41.8299

6 16.6475 16.269 0.6025 27 43.269 7 24.137 23.8416 1.3245 18 41.8416

8 8.7472 8.2615 0.2174 38 46.2615

9 24.453 2.08 0.04 52 49.92

10 9.773 8.9584 0.16 56 47.0416 11 20.6415 19.7265 0.3461 57 37.273

12 23.3114 14.487 0.1958 74 59.5127

13 26.521 26.1625 0.3685 71 44.8375 14 6.6257 0.4437 0.0089 50 50.4437

15 8.665 8.2263 0.1496 55 46.7737

16 41.189 41.144 0.473 87 45.856

17 15.8685 15.353 0.6397 24 39.353 18 21.152 20.71 0.9 23 43.71

19 14.062 13.51 0.25 54 40.489

20 13.075 12.4995 0.212 59 46.5 21 20.0963 19.8538 0.9454 21 40.8538

22 19.671 19.477 0.885 22 41.4768

23 22.3877 22.255 1.1713 19 41.255

24 25.013 23.803 3.967 6 29.803 25 4.4674 1.89 0.0394 48 46.11

Promedio 17.703 15.525 0.578 44.48 44.185

Varianza 74.264 92.406 0.615 430.81 27.242 Leave One Speaker Out para predicción de UPDRS optimizando un modelo distinto para cada paciente

Page 33: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

21

Dentro de los valores reales conocidos de UPDRS observamos un nivel medio de 44.48, encontrándose un 36% de los pacientes en un valor entre 45 y 60. La varianza en los datos reales toma un valor de 430.81. El nivel medio de UPDRS predicho es similar al esperado (44.185). Sin embargo, vemos que de los valores predichos de UPDRS un 80% se encuentra en un valor entre 40 y 50, dando lugar a una baja varianza en estas predicciones.

Gráfica 6: Variación del nivel UPDRS esperado y predicho

Realizando un análisis más exhaustivo de cada paciente podemos pensar, al observar los resultados obtenidos, que pacientes como el 7, 21, 22, 23 o el 24 son problemáticos, pero si prestamos atención a sus valores de UPDRS (18, 21, 22, 19 y 6 respectivamente) podemos darnos cuenta de que aunque obtengamos un alto error relativo, en el proceso de evaluación se ordenaron correctamente al distar bastante su nivel de Parkinson respecto del resto de integrantes de sus grupos cuando recurrimos a la agrupación basada en homogeneidad en cuanto a UPDRS. Por esta razón, en los experimentos realizados con validación cruzada, estos pacientes no causaban aparentemente problemas para obtener un coeficiente de Spearman adecuado. Sin embargo, en las primeras agrupaciones basadas en homogeneidad por edad o sexo, los pacientes 7, 21 y 22, al encontrarse en un mismo grupo de evaluación, posiblemente se diera mayor probabilidad de desorden y por ello obtuvimos un coeficiente de Spearman más bajo evaluando con dicho grupo. Los pacientes 0 y 17 también tienen valores bajos de UPDRS y un error relativo algo alto, pero el del paciente 0 es un poco más alto que el del 17, lo cual hace que en términos de correlación no se adquiera un desorden importante y con ello no se obtenga un valor considerablemente bajo en el coeficiente de Spearman del grupo 2 en uno de los experimentos. En cuanto a los resultados obtenidos evaluando con el grupo en que se encuentra el paciente número 8, que nos incitaban a pensar que dicho paciente tuviera grabaciones problemáticas, finalmente podemos tender a descartar este supuesto ya que sus predicciones utilizando la estrategia Leave One Speaker Out dan como resultado un bajo error relativo. Sin embargo, los pacientes 6, 18 y 16 tienen un alto error relativo. Concretamente, el 6 y el 18 tienen un bajo nivel de Parkinson mientras que se predice un valor en torno a la media que es de 44. También se predice un valor en torno a este número para los audios del paciente número 16, que tiene realmente el valor de UPDRS más alto (87). Es por esto que en los casos en que todos los integrantes del grupo tengan predicciones del valor de UPDRS muy similares, un bajo valor del coeficiente de Spearman se puede explicar debido a la gran probabilidad de desorden.

Page 34: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

22

Grupo Pacientes (nº | updrs) Spearman Error relativo

1 8 | 38 3 | 49 6 | 27 18 | 23 16 | 87 -0.5 0.651

2 10 | 56 1 | 69 17 | 24 0 | 25 20 | 59 0.5 0.445

3 22 | 22 7 | 18 4 | 66 21 | 21 9 | 52 0.3 0.894

4 24 | 6 13 | 71 15 | 55 14 | 50 19 | 54 0.7 1.245

5 25 | 48 12 | 74 11 | 57 23 | 19 5 | 42 0.4 0.4286

Validación cruzada con distribución homogénea de edades y sexo

Grupo Pacientes (nº | updrs) Spearman Error relativo

1 22 | 22 8 | 38 9 | 52 20 | 59 16 | 87 0.1 0.4504

2 21 | 21 6 | 27 14 | 50 11 | 57 12 | 74 0.9 0.4774

3 23 | 19 0 | 25 3 | 49 10 | 56 13 | 71 0.3 0.6118

4 7 | 18 17 | 24 25 | 48 15 | 55 1 | 69 0.7 0.5577

5 24 | 6 18 | 23 5 | 42 19 | 54 4 | 66 0.7 1.3556

Validación cruzada con distribución homogénea de nivel de Parkinson

Finalmente, podemos realizar una comparativa con los resultados obtenidos con los datos de la competición para tratar de analizar si los valores obtenidos con los nuevos datos para los errores tanto relativos como el cuadrático medio están en un intervalo adecuado.

De esta manera, entrenando con el modelo optimizado para el coeficiente de correlación de Spearman, con el algoritmo SVR (C = 1e-3, L = 0.8) y los datos de entrenamiento de la competición y evaluando con las 630 instancias del conjunto de test, conseguimos un RMSE de 21.072 y un error relativo de 0.676. Con los nuevos datos, basándonos en los resultados tras la estrategia Leave One Speaker Out, se obtiene un valor promedio de RMSE de 17.703 y de error relativo de 0.578. Podemos deducir que, aunque hay alguna variación importante en los valores de la correlación de Spearman al usar nuestras grabaciones con respecto a usar las proporcionadas en la competición internacional de Interspeech 2015, los valores de error relativo son comparables. Cabe destacar que los valores medios obtenidos con los nuevos datos son ciertamente optimistas al estar basados en los valores de coeficientes de Spearman obtenidos para cada paciente, cada uno de ellos con una distinta configuración de los parámetros C y L.

Dado que con la estrategia tomada de evaluar con los audios de un solo paciente no pueden interpretarse los resultados de dicha evaluación en base al coeficiente de correlación de Spearman, procedemos a realizar el cálculo de este coeficiente con las predicciones obtenidas para cada uno de los locutores:

UPDRS Predicción 𝑟𝑎𝑛𝑔𝑒(𝑦𝑖) 𝑟𝑎𝑛𝑔𝑒(ℎ(𝑥𝑖)) 𝑑 𝑑2

25 45.1165 8 14 6 36

69 42.834 22 10 12 144 49 45.2478 13 15 2 4

66 47.02 21 21 0 0

42 41.8299 11 8 3 9 27 43.269 9 11 2 4

Page 35: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

23

18 41.8416 2 9 7 49

38 46.2615 10 18 8 64

52 49.92 15 23 8 64 56 47.0416 18 22 4 16

57 37.273 19 2 17 289

74 59.5127 24 25 1 1

71 44.8375 23 13 10 100 50 50.4437 14 24 10 100

55 46.7737 17 20 3 9

87 45.856 25 16 9 81 24 39.353 7 3 4 16

23 43.71 6 12 6 36

54 40.489 16 4 12 144

59 46.5 20 19 1 1 21 40.8538 4 5 1 1

22 41.4768 5 7 2 4

19 41.255 3 6 3 9 6 29.803 1 1 0 0

48 46.11 12 17 5 25 Cálculo del coeficiente de Spearman a partir de las predicciones obtenidas mediante Leave One Speaker Out

El coeficiente de Spearman se puede calcular a partir de la tabla anterior de la siguiente manera:

𝜌 = 1 −6 · ∑ (𝑟𝑎𝑛𝑔𝑒(ℎ(𝑥𝑖)) − 𝑟𝑎𝑛𝑔𝑒(𝑦𝑖))2𝑚

𝑖=1

𝑚 · (𝑚2 − 1)= 1 −

6 · ∑ 𝑑2𝑚𝑖=1

25 · (252 − 1)= 𝟎. 𝟓𝟑𝟔𝟐

Este valor no representa realmente el nivel de correlación que podríamos alcanzar entre las predicciones de UPDRS y los valores reales conocidos ya que se ha calculado a partir de la combinación de resultados obtenidos con distintos valores de los parámetros C y L del algoritmo SVR en Weka. De esta manera, en el momento en que se encuentrara un algoritmo final con el que entrenar los datos, se deberá obtener un valor del coeficiente de Spearman que sea verdaderamente representativo.

Como se comentó anteriormente, es conveniente estudiar a su vez cuáles son las grabaciones que permiten predecir resultados con mayor o menor exactitud con intención de utilizar esta información en experimentos futuros. A continuación, se muestran las grabaciones que han resultado con mayor y menor error relativo para cada paciente.

Paciente Audio con error

mínimo Audio con error

máximo UPDRS Error relativo

0 34 3 25 0.8046

1 47 20 69 0.379

3 10 8 49 0.0766 4 15 4 66 0.2876

5 3 30 42 0.004

6 3 44 27 0.6025

Page 36: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

24

7 40 10 18 1.3245

8 43 12 38 0.2174

9 20 25 52 0.04 10 36 12 56 0.16

11 16 2 57 0.3461

12 31 22 74 0.1958

13 23 16 71 0.3685 14 24 5 50 0.0089

15 47 29 55 0.1496

16 44 23 87 0.473 17 7 38 24 0.6397

18 30 6 23 0.9

19 33 39 54 0.25

20 11 33 59 0.212 21 32 8 21 0.9454

22 34 19 22 0.885

23 29 15 19 1.1713 24 20 33 6 3.967

25 3 28 48 0.0394 Audios por paciente con mayor y menor error relativo optimizando un modelo distinto para cada paciente

Una vez estudiados los resultados más optimistas que se pueden alcanzar siguiendo la estrategia Leave One Speaker Out, es conveniente realizar un estudio con unos valores de C y L concretos e iguales en los 25 experimentos. Optamos por hacer una primera experimentación con los valores que resultaron óptimos con la base de datos de la competición C = 1e-3 y L = 0.8.

Paciente RMSE Error absoluto Error relativo UPDRS Predicción

0 26.337 25.24 1.0096 25 50.24 1 27.9815 27.1973 0.394 69 41.8027

3 8.3907 3.9675 0.081 49 45.0325

4 21.312 20.447 0.3098 66 45.553 5 4.968 0.9147 0.0218 42 41.085

6 17.02 16.2889 0.6033 27 43.2889

7 27.917 26.993 1.4996 18 44.993

8 11.788 10.733 0.2824 38 48.733 9 15.872 12.401 0.2385 52 39.599

10 14.585 12.653 0.226 56 43.347

11 17.9935 16.315 0.2862 57 40.685 12 20.028 18.897 0.2554 74 55.103

13 27.7618 27.2597 0.3839 71 43.74

14 5.7176 0.5743 0.0115 50 49.426

15 17.787 16.773 0.305 55 38.227 16 44.7173 44.5916 0.5125 87 42.408

17 21.966 20.8608 0.8692 24 44.861

18 21.677 20.9947 0.9128 23 43.9947 19 17.3613 16.4553 0.3047 54 37.5447

20 13.9917 12.928 0.2191 59 46.0718

21 26.097 25.2203 1.201 21 46.2203

22 21.784 21.087 0.9585 22 43.0868

Page 37: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

25

23 24.289 23.839 1.2547 19 42.839

24 28.63 27.92 4.6533 6 33.92

25 14.2064 13.008 0.271 48 34.992 Promedio 20.007 18.542 0.6826 44.48 43.4717

Varianza 70.093 87.481 0.8189 430.81 21.146 Leave One Speaker Out para predicción de UPDRS utilizando un mismo modelo para los 25 pacientes

El coeficiente de Spearman que se consigue bajo igualdad de condiciones en cada uno de los 25 experimentos de evaluación con uno de los pacientes es el siguiente:

𝜌 = 0.0146

Este valor alcanzado es más realista que el obtenido anteriormente siguiendo la misma estrategia Leave One Speaker Out, ya que actualmente dicho valor (0.5362) sería el mejor que se podría alcanzar. El hecho de que este nuevo coeficiente alcanzado diste tanto del anterior no aporta un dato positivo al proyecto.

A su vez, las grabaciones que permiten predecir resultados con mayor o menor exactitud bajo estas condiciones se muestran en la siguiente tabla:

Paciente Audio con error

mínimo Audio con error

máximo

0 18 11

1 10 20 3 10 8

4 14 4

5 26 27

6 3 44 7 38 10

8 37 1

9 4 3 10 17 1

11 16 28

12 28 22

13 29 16 14 10 5

15 5 12

16 7 23 17 11 9

18 30 34

19 33 39

20 14 9 21 45 8

22 2 13

23 29 13 24 20 1

25 20 6 Audios por paciente con mayor y menor error relativo utilizando un mismo modelo para los 25 pacientes

Page 38: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

26

Como ya se ha comentado, estos experimentos han sido realizados utilizando el algoritmo SVR de Weka y sin preprocesar los datos para reducir el conjunto de 6773 atributos. Con los experimentos realizados con los datos de la competición terminamos por obtener resultados mejores con el algoritmo Random Forest, sin embargo, esto sucedía solo al reducir el número de atributos con Lasso. Procedemos por tanto a analizar los resultados que se consiguen con este otro algoritmo para los nuevos datos antes y después de reducir el número de atributos (de 6773 a 403 atributos), con la agrupación homogénea respecto del valor de UPDRS.

Grupo SVR Random Forest Lasso SVR Lasso Random Forest

Spearman Err rel Spearman Err rel Spearman Err rel Spearman Err rel

1 0.1 0.4504 0.2 0.4284 0.3 0.4281 0.0 0.4076

2 0.9 0.4774 0.4 0.5298 0.3 0.4758 0.1 0.5221

3 0.3 0.6118 0.2 0.5749 0.2 0.5727 0.3 0.5636

4 0.7 0.5577 1.0 0.5525 0.7 0.5593 0.9 0.5614

5 0.7 1.3556 -0.3 1.5076 0.6 1.4332 0.3 1.4245

Validación cruzada con distribución homogénea de nivel de Parkinson Comparativa utilizando algoritmos SVR y Random Forest y técnicas de preprocesamiento de datos con Lasso

Para comparar matemáticamente los resultados obtenidos con cada uno de los algoritmos, un promedio de los valores obtenidos para el coeficiente de correlación de Spearman sería inviable. Por ello, agrupando en un fichero de predicciones los valores de UPDRS predichos en los distintos grupos, podemos recalcular un valor para el coeficiente de correlación de Spearman con los audios de los 5 grupos (25 pacientes). Tomando estas medidas podemos realizar una comparación objetiva sobre la efectividad de cada uno de los algoritmos.

SVR Random Forest Lasso SVR Lasso Random Forest

Spearman 0.344 0.092 0.296 0.121

Comparativa del coeficiente de Spearman global utilizando algoritmos SVR y Random Forest y técnicas de preprocesamiento de datos con Lasso

Tanto en la experimentación evaluando con un solo paciente como con un grupo de cinco locutores, en el caso del algoritmo SVR, cada uno de los experimentos ha alcanzado unos parámetros óptimos C y L diferentes. Con esto deducimos que estos parámetros parecen depender fuertemente de los audios de los pacientes con los que se evalúan. De hecho, en el caso de la evaluación con un único paciente, al realizar los experimentos con una única configuración de dichos parámetros (C = 1e-3 y L = 0.8) vimos cómo varió ampliamente el valor del coeficiente de correlación de Spearman conseguido. Por ello, no sería realista el método utilizado hasta ahora en el que se entrena un modelo con unos datos y se optimiza en base a los resultados obtenidos a partir de un segundo conjunto de validación. El coeficiente de Spearman obtenido o los diversos valores de errores deberían obtenerse a partir de un nuevo conjunto de test que no haya formado parte del entrenamiento ni de la optimización de los parámetros C y L. Con intención de poner en práctica este procedimiento, realizamos experimentos dividiendo los conjuntos que hasta ahora habían sido de evaluación en conjunto de validación y conjunto de test. En la experimentación

Page 39: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

27

basada en dejar un locutor fuera del entrenamiento, dividimos los 48 audios en dos grupos y optimizamos el modelo con uno de ellos mientras que terminamos testeando con el otro. En el caso de validación cruzada, entrenamos con 4 grupos de 5 pacientes y dividimos el quinto grupo en dos conjuntos con la mitad de grabaciones de cada locutor en cada uno de ellos. Siguiendo este método de experimentación y obtención de resultados, obtenemos los siguientes resultados en los casos de división por grupos y por pacientes:

Grupo Pacientes (nº | updrs) Spearman Error relativo

1 22 | 22 8 | 38 9 | 52 20 | 59 16 | 87 0.1 0.4491

2 21 | 21 6 | 27 14 | 50 11 | 57 12 | 74 0.8 0.5275

3 23 | 19 0 | 25 3 | 49 10 | 56 13 | 71 -0.8 0.6213

4 7 | 18 17 | 24 25 | 48 15 | 55 1 | 69 0.2 0.5782

5 24 | 6 18 | 23 5 | 42 19 | 54 4 | 66 0.7 1.3286

Validación cruzada con distribución homogénea de nivel de Parkinson y división de cada grupo en tres subconjuntos (train/devel/test)

Paciente RMSE Error absoluto Error relativo UPDRS Predicción

0 19.8357 19.5765 0.783 25 44.5765 1 26.912 26.306 0.381 69 42.6938

3 8.17 3.894 0.0795 49 45.106

4 19.925 19.397 0.294 66 46.6026

5 2.067 0.2235 0.0053 42 41.7765 6 20.58 16.696 0.618 27 43.696

7 24.1897 23.914 1.3286 18 41.914

8 8.858 8.254 0.2172 38 46.254 9 17.849 8.07 0.155 52 43.93

10 10.277 9.19 0.164 56 46.81

11 20.756 19.652 0.3448 57 37.348

12 25.591 13.172 0.178 74 60.828 13 27.3914 27.081 0.381 71 43.9188

14 6.708 0.5568 0.011 50 50.557

15 8.6237 8.375 0.1523 55 46.625 16 40.912 40.861 0.4697 87 46.14

17 16.183 15.685 0.6536 24 39.685

18 24.641 22.743 0.99 23 45.7432

19 14.156 13.722 0.254 54 40.278 20 13.008 12.523 0.212 59 46.477

21 20.797 20.5266 0.9775 21 41.5266

22 19.495 19.294 0.877 22 41.2944 23 22.799 22.711 1.195 19 41.711

24 23.761 22.77 3.796 6 28.774

25 4.599 2.547 0.053 48 45.453

Promedio 17.923 15.91 0.583 44.48 43.989 Varianza 74.0728 87.321 0.569 430.81 28.343

Leave One Speaker Out para predicción de UPDRS con división de los audios del paciente a evaluar en dos subconjuntos (devel/test)

El coeficiente de Spearman obtenido siguiendo la metodología expresada es el siguiente:

𝜌 = 𝟎. 𝟓𝟏𝟐𝟕

Page 40: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

28

Utilizando los resultados obtenidos optimizando el algoritmo SVR con la mitad de las grabaciones de un grupo y testeando con la otra mitad, realizamos una nueva comparativa con algoritmos más sencillos: ZeroR, Linear Regression y Simple Linear Regression.

El algoritmo ZeroR, que también recibe el nombre de regla de distribución de probabilidades “a priori”, se basa en aportar como predicción el valor medio obtenido en los datos de entrenamiento. Así, la decisión se toma sin conocer ningún atributo del caso que queremos resolver o predecir, de forma que no se aplican reglas a los atributos. Este algoritmo se evaluará por tanto en base al error relativo conseguido ya que el coeficiente de Spearman pierde sentido. En cuanto a la regresión lineal, se calcula la salida en función de pesos de los valores de los atributos de la entrada. Estos pesos se obtienen minimizando el error cuadrático medio entre cada muestra del entrenamiento y los valores predichos. En caso de regresión lineal simple se basa en un caso particular de regresión lineal en que solo se tiene en cuenta un atributo y se utiliza el peso correspondiente a ese atributo.

Grupo SVR Linear Regression

Simple Linear Regression

ZeroR

Spearman Err rel Spearman Err rel Spearman Err rel Err rel

1 0.1 0.4491 0.0 0.3892 0.3 0.4397 0.4058

2 0.8 0.5275 0.9 0.4601 0.0 0.5555 0.4967

3 -0.8 0.6213 -0.3 0.699 0.1 0.5805 0.5593

4 0.2 0.5782 0.2 0.5861 0.2 0.6013 0.5926

5 0.7 1.3286 0.2 0.8779 0.3 1.5308 1.6446

Validación cruzada con distribución homogénea de nivel de Parkinson y división de cada grupo en tres subconjuntos (train/devel/test)

Comparativa utilizando algoritmos SVR, ZeroR, Linear Regression y Simple Linear Regression

De nuevo, para comparar adecuadamente los resultados obtenidos con cada uno de los algoritmos se agrupan los valores de UPDRS predichos en los distintos grupos y se calcula un valor para el coeficiente de correlación de Spearman con las predicciones para los audios de todos los pacientes.

SVR Linear Regression Simple Linear Regression

Spearman 0.175 0.151 0.0354

Comparativa del coeficiente de Spearman global utilizando algoritmos SVR, Linear Regression y Simple Linear Regression

Comparando nuestros resultados con los de la competición observamos que, de igual manera, no se consiguen mejoras notables utilizando ningún otro algoritmo o aplicando preprocesamiento a los datos con Lasso. En el caso de los nuevos datos, concretamente no se

Page 41: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

29

produce ninguna mejoría. Así, el algoritmo utilizado seguirá siendo SVR, cuyos parámetros C y L serán optimizados con un conjunto de validación y finalmente se obtendrán resultados representativos con un conjunto de test. Esta es la solución más realista a la que se ha llegado, sin embargo, seguimos sin obtener resultados adecuados. Por ello, decidimos plantearnos nuevos caminos para conseguir nuestro objetivo. Uno de ellos se basa en utilizar tan solo los audios correspondientes a vocales sostenidas. Dentro de utilizar estos audios, podemos adquirir una ventaja añadiendo 5 atributos binarios a cada fichero correspondiente a cada audio de forma que podamos definir a qué vocal representa cada uno. También existiría la posibilidad de utilizar tan solo 2 atributos que representaran los niveles de apertura y articulación de cada vocal. Estos niveles de apertura y articulación estarían basados en el Triángulo vocálico de Hellwag. Este triángulo de Hellwag ofrece una idea sobre la localización aproximada de los sonidos vocálicos, es decir, la posición de los órganos articulatorios (lengua, labios, paladar, etc.) en la producción de dichos sonidos. Utilizando la primera idea de atributos, para la vocal “a” obtendríamos {1, 0, 0, 0, 0} mientras que con los atributos de apertura y articulación tendríamos {1, 0.5}. Es cierto que añadir 2 o 5 atributos entre los más de 6000 con los que estamos trabajando es posible que no aporte a penas cambios.

Una vez seamos capaces de comprobar de qué forma se consiguen mejores resultados (con todo el conjunto de audios o solo con las vocales), trazaremos un nuevo camino en nuestro proyecto. Este camino se basará en tratar de predecir el valor del índice de UPDRS correspondiente a los fallos en el lenguaje del paciente. Se puede llegar a la conclusión de que si no hemos sido capaces de predecir con cierto éxito el nivel UPDRS tal vez sí seamos capaces de predecir la parte de este valor correspondiente a factores dependientes directamente de la voz.

A continuación, mostramos los resultados que se han obtenido utilizando los audios de vocales sostenidas antes y después de añadir los 5 atributos binarios:

Grupo 6773 atributos

6773 atributos + 5 atributos binarios

Spearman Err rel Spearman Err rel

1 0.2 0.3982 0.2 0.3983

2 0.3 0.553 0.3 0.5528

3 -0.2 0.6172 -0.2 0.6173

4 0.3 0.561 -0.1 0.561

5 0.7 1.388 0.7 1.388

Spearman 0.1054 0.09

Validación cruzada con distribución homogénea de nivel de Parkinson y división de cada grupo en tres subconjuntos (train/devel/test) utilizando solo los audios de vocales sostenidas

Observamos que efectivamente no se producen grandes cambios en las predicciones tras añadir atributos, de hecho, los mínimos cambios que encontramos son a peor. Sin embargo, estos cambios no son significativos porque son cambios en décimas o centésimas de los valores predichos, que cambian notablemente el orden de dichas predicciones por la situación en la que se encuentran dichas predicciones, pero no cambian significativamente los valores concretos. En cualquier caso, no se mejoran los resultados obtenidos entrenando con todo el conjunto de audios (0.175).

Page 42: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

30

Tras observar de nuevo que no se alcanzan mejoras con los caminos alternativos, trataremos de predecir, utilizando todo el conjunto de audios, la parte del valor de UPDRS que corresponde a síntomas en el lenguaje o locución del paciente.

Grupo Pacientes (nº | lenguaje) Spearman

1 22 | 1 8 | 0 9 | 2 20 | 2 16 | 2 0

2 21 | 0 6 | 1 14 | 2 11 | 2 12 | 3 -0.148

3 23 | 0 0 | 1 3 | 1 10 | 1 13 | 1 -0.408

4 7 | 0 17 | 0 25 | 0 15 | 2 1 | 2 0

5 24 | 0 18 | 0 5 | 2 19 | 3 4 | 2 0

Validación cruzada con distribución homogénea de nivel de Parkinson y división de cada grupo en tres subconjuntos (train/devel/test) para predicción del componente del lenguaje de UPDRS

Se comprueba que, si ya era complicado predecir correctamente el valor del UPDRS de un paciente a través de su voz, la parte del mismo que corresponde a factores dependientes de la voz es más difícil de predecir si cabe. A su vez, este parámetro puede tomar tan solo 5 valores de 0 a 4 y en los casos en que se ha obtenido un valor del coeficiente de correlación de Spearman nulo ha sido porque para los 5 pacientes se ha predicho un mismo valor de este parámetro, concretamente un valor de 1.

Hasta el momento hemos realizado experimentos siguiendo diversas estrategias, haciendo uso de distintos algoritmos y probando a reducir el conjunto de atributos de los datos de entrada. Hemos comprobado que nuestras predicciones tomaban una función de baja varianza y con ello, nuestro regresor no tendría la utilidad que pretendíamos conseguir. Es por eso que surge la idea de optar por un regresor de segundo nivel. De esta manera, una vez realizadas las predicciones para unos audios determinados, podemos utilizar dichas predicciones como parámetros de entrada de un nuevo regresor. Con este planteamiento, cada instancia tendría un atributo que sería el propio valor predicho por el regresor de primer nivel. Sin embargo, podemos estudiar la posibilidad de añadir nuevos atributos al regresor de segundo nivel que aporten información para predecir con mayor exactitud el nivel de Parkinson de los locutores. Algunos de estos atributos podrían ser parámetros como la edad, el sexo, los años desde que se les detectó la enfermedad, e incluso el estadio en que se encuentran, el parámetro Hoenh&Yahr. Para analizar si estos parámetros pueden aportar información útil para la predicción del UPDRS, recurrimos a estudiar la correlación a partir del coeficiente de correlación de Pearson que existe entre estos parámetros y el valor que pretendemos predecir. También podemos obtener la correlación entre el parámetro Hoenh&Yahr y el resto, ya que podría ser útil en caso de intentar predecir también este valor utilizando algunos de dichos parámetros.

UPDRS - Hoenh&Yahr

UPDRS - Edad

UPDRS - Tiempo de enfermedad

Hoenh&Yahr - Edad

Hoenh&Yahr - Tiempo de enfermedad

0.64224 0.1749 0.31137 0.3724 0.3095

Coeficiente de correlación de Pearson entre distintos parámetros

Page 43: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

31

Los últimos experimentos realizados se basaban en estudiar si añadir o quitar audios mejoraba o empeoraba los resultados del modelo. Observamos que entrenando con todos los audios (menos el último en que el paciente hablaba sin pautas previas, que no ha sido utilizado en ningún punto del proyecto) se conseguían mejores resultados que utilizando solo los audios de vocales sostenidas. Sin embargo, podríamos plantearnos entrenar a su vez un segundo regresor para el modelo en que solo se utilizaran las vocales, de forma que se añadiesen como atributos de entrada los 5 atributos binarios y los 2 atributos obtenidos del triángulo de Hellwag, además de la edad, sexo, etc.

Los regresores no son lineales, no causa el mismo efecto añadir parámetros a la entrada del primer regresor que a la entrada del regresor de segundo nivel. Introducir atributos en este segundo regresor realzará la importancia de dichos atributos que, en caso de ser introducidos en la primera etapa, carecían de dicha importancia entre los otros 6773.

Siguiendo esta idea de realizar un segundo regresor, se tomaron inicialmente como atributos de los datos de entrada los siguientes campos:

Valor promedio del UPDRS predicho para cada paciente Estadio Hoenh&Yahr en que se encuentra cada paciente Edad del locutor Tiempo desde que el paciente fue diagnosticado hasta la actualidad Sexo del locutor

Es importante destacar que la utilización de datos, especialmente datos relacionados con individuos, para el caso de minería de datos y aprendizaje automático, adquiere serias implicaciones éticas. Por tanto, es necesario actuar con responsabilidad sobre la amplia cantidad de datos que manejamos. Aun así, todo depende de la aplicación en cuestión. En nuestro caso, al tratarse de una aplicación para la diagnosis médica, utilizar datos por ejemplo referentes al sexo de los pacientes es obviamente ético.

Así, tendremos 5 atributos de entrada para cada instancia y un atributo de salida. Este atributo de salida que se intenta predecir de nuevo es el valor de UPDRS, tratando de afinar la predicción conseguida con el regresor de primer nivel.

De esta manera tenemos un conjunto de 25 instancias, de las cuales utilizamos 24 para entrenar el regresor y la restante para testear. Con ello, haciendo uso de un algoritmo de regresión lineal, obtenemos los siguientes resultados:

Paciente Error absoluto Error relativo UPDRS Predicción 0 11.813 0.47252 25 36.813

1 34.937 0.5063 69 34.063

3 15.143 0.309 49 64.143

4 4.286 0.06494 66 61.714 5 6.25 0.1488 42 35.75

6 9.688 0.3588 27 36.688

7 19.25 1.0694 18 37.25

8 2.0 0.0526 38 36.0 9 11.714 0.2253 52 63.714

10 21.125 0.377 56 34.875

Page 44: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

32

11 6.0 0.105 57 63.0

12 17.833 0.241 74 56.167

13 37.062 0.522 71 33.938 14 14.75 0.295 50 35.25

15 20.062 0.3648 55 34.938

16 28.286 0.325 87 58.714

17 12.875 0.5365 24 36.875 18 13.938 0.606 23 36.938

19 9.429 0.1746 54 63.429

20 21.5 0.3644 59 80.5 21 16.063 0.7649 21 37.063

22 15.0 0.6818 22 37.0

23 18.188 0.9573 19 37.188

24 32.0 5.33 6 38.0 25 12.625 0.263 48 35.375

Promedio 16.473 0.605 44.48 45.0154

Varianza 78.849 0.9944 430.81 183.876 Regresor de segundo nivel entrenado con 24 instancias correspondientes a las predicciones realizadas para cada

paciente y evaluado con la instancia restante (Leave One Speaker Out) para predicción de UPDRS

El coeficiente de Spearman conseguido tras esta afinación es de 0.0177, lo cual sigue sin mejorar la situación previa en la que nos encontrábamos, incluso la empeora notablemente. Es cierto que este segundo regresor ha sido entrenado con un conjunto de instancias poco numeroso (24 instancias de 5 atributos cada una) en comparación a las 1152 instancias (con 6773 atributos cada una) con las que se entrenó el primer regresor. Sin embargo, no sería tampoco viable deshacer el promediado del valor de UPDRS para cada paciente y utilizar de nuevo 1152 instancias de entrada, ya que cada una de esas instancias se diferenciaría únicamente en uno de sus atributos (el valor de UPDRS predicho para cada audio), teniendo los mismos valores en los parámetros de edad, sexo, etc para cada 48 instancias correspondientes a un mismo paciente. Así, la idea de entrenar un segundo regresor basándonos en los audios de vocales sostenidas queda por tanto descartada.

Tras realizar multitud de pruebas, todas ellas explicadas a lo largo de esta memoria del

proyecto, se ha decidido desglosar el experimento con que se consiguieron mejores resultados, siendo a su vez un experimento realista. Este experimento consistía en dividir nuestro conjunto de datos en tres subconjuntos de entrenamiento, validación y test. El conjunto de entrenamiento estaba compuesto por 48 audios de 24 pacientes, el conjunto de validación por 24 audios de un paciente y el de test por los otros 24 de ese mismo locutor. La idea de seguir esta distribución era poder optimizar los valores de C y L, que resultaban altamente dependientes de los audios de cada locutor, con un conjunto de datos distinto del conjunto utilizado para obtener los resultados de test.

Paciente RMSE Error absoluto Error relativo UPDRS Predicción

0 19.8357 19.5765 0.783 25 44.5765

1 26.912 26.306 0.381 69 42.69375

3 8.17 3.894 0.0795 49 45.106 4 19.925 19.397 0.294 66 46.6026

5 2.067 0.2235 0.0053 42 41.7765

Page 45: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

33

6 20.58 16.696 0.618 27 43.696

7 24.1897 23.914 1.3286 18 41.914

8 8.858 8.254 0.2172 38 46.254 9 17.849 8.07 0.155 52 43.93

10 10.277 9.19 0.164 56 46.81

11 20.756 19.652 0.3448 57 37.348

12 25.591 13.172 0.178 74 60.828 13 27.3914 27.081 0.381 71 43.9188

14 6.708 0.5568 0.011 50 50.557

15 8.6237 8.375 0.1523 55 46.625 16 40.912 40.861 0.4697 87 46.14

17 16.183 15.685 0.6536 24 39.685

18 24.641 22.743 0.99 23 45.7432

19 14.156 13.722 0.254 54 40.278 20 13.008 12.523 0.212 59 46.477

21 20.797 20.5266 0.9775 21 41.5266

22 19.495 19.294 0.877 22 41.2944 23 22.799 22.711 1.195 19 41.711

24 23.761 22.77 3.796 6 28.774

25 4.599 2.547 0.053 48 45.453

Promedio 17.923 15.91 0.583 44.48 43.989 Varianza 74.0728 87.321 0.569 430.81 28.343

Leave One Speaker Out para predicción de UPDRS con división de los audios del paciente a evaluar en dos subconjuntos (devel/test)

El coeficiente de Spearman alcanzado fue:

𝜌 = 𝟎. 𝟓𝟏𝟐𝟕

Con intención de asegurarnos que esta forma de experimentación es correcta, realizamos un estudio con la misma estructura de división de datos, pero planteando situaciones ligeramente distintas.

Una de estas opciones estudiadas previamente fue utilizar una combinación de parámetros C y L fija, comprobándose finalmente que la optimización de estos dos parámetros es necesaria y aporta una gran diferencia en los resultados, dado que utilizando unos valores fijos se obtenían resultados ampliamente diferentes y peores (𝜌 = 0.0146 ≪ 0.5127).

Otra situación de estudio interesante consiste en calcular el coeficiente de Spearman tratando cada audio por separado, sin hacer uso de la información de la que disponemos, es decir, ignorando de qué paciente es cada audio y no realizando una media de las 48 predicciones obtenidas para cada locutor.

RMSE Error absoluto Error relativo Spearman

Promedio por locutor 17.923 15.91 0.583 0.5127

Sin promediar 19.8827 16.979 0.6024 0.3439

Comparativa para predicción de UPDRS (Leave One Speaker Out) con división de los audios del paciente a evaluar en dos subconjuntos (devel/test) utilizando cada audio por separado o con UPDRS promedio de las predicciones de

todos los audios de cada paciente

Page 46: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

34

Finalmente, la última alternativa se basó en estudiar el comportamiento de este experimento con los datos compuestos por un número de atributos reducido. Así, haciendo uso de Lasso para reducir el número de atributos, obtuvimos los siguientes resultados:

Paciente RMSE Error absoluto Error relativo UPDRS Predicción

0 16.402 16.38675 0.65547 25 41.38675

1 25.7459 24.82 0.3597 69 44.1794 3 8.493 4.6243 0.0944 49 44.3757

4 20.869 19.8786 0.3012 66 46.121

5 2.355 0.17925 0.00427 42 42.17925

6 16.429 15.7858 0.58466 27 42.7858 7 19.945 14.704 0.817 18 32.7042

8 3.3955 3.2973 0.0868 38 41.2973

9 5.2158 4.7218 0.0908 52 47.278 10 8.8985 8.869 0.1584 56 47.1309

11 10.0731 10.058 0.17646 57 46.94175

12 27.7153 14.82 0.2 74 59.17975

13 27.7936 27.342 0.385 71 43.658 14 13.813 0.651 0.013 50 49.348

15 7.88 7.86 0.143 55 47.14

16 42.77 42.736 0.491 87 44.264 17 18.37 18.002 0.75 24 42.002

18 21.884 21.154 0.92 23 44.154

19 7.512 7.501 0.139 54 46.499

20 14.0525 12.9845 0.22 59 46.0155 21 21.571 21.258 1.012 21 42.2587

22 18.881 18.5193 0.8418 22 40.5193

23 27.416 25.2547 1.33 19 44.2547 24 24.551 22.50875 3.75 6 28.50875

25 0.9256 0.5886 0.0123 48 48.588

Promedio 16.518 14.58 0.541 44.48 44.11

Varianza 95.2376 98.274 0.556 430.81 29.589 Leave One Speaker Out para predicción de UPDRS con división de los audios del paciente a evaluar en dos

subconjuntos (devel/test) y utilizando Lasso para preprocesamiento de los datos

Consiguiendo un coeficiente de Spearman de:

𝜌 = 𝟎. 𝟓𝟏𝟔𝟐

Este valor final alcanzado es ligeramente superior al que se conseguía utilizando el conjunto de 6773 atributos. Observamos por tanto que, a pesar de no haber conseguido resultados mejores con Lasso en los experimentos con 5 grupos de 5 pacientes cada uno, entrenando con datos de 24 pacientes, optimizando con la mitad de audios del paciente restante y evaluando con la otra mitad, sí conseguimos mejorar nuestro modelo ligeramente.

Tras realizar numerosos experimentos, con mayor o menor éxito, alcanzamos finalmente un resultado especialmente positivo. Este experimento exitoso se trata, como ya se ha visto, del entrenamiento de un modelo con el algoritmo SVR de Weka a partir de datos de 24 pacientes.

Page 47: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

35

En esta fase de entrenamiento, se busca una optimización de los parámetros C y L del algoritmo, ya que dependen fuertemente de los audios a evaluar, utilizando un subconjunto de validación formado por 24 audios del paciente restante. Finalmente, se testea el funcionamiento del modelo seleccionado con los otros 24 audios de este paciente. Como se explicó anteriormente, este experimento fue realizado tanto con los datos compuestos por 6773 atributos de la voz, como con los obtenidos tras el paso de los mismos por la herramienta Lasso. El mejor resultado (𝜌 =0.516) se consiguió con la segunda opción, aunque sin grandes diferencias. Sin embargo, no solo es importante la eficiencia de un modelo en cuanto al éxito en sus resultados, sino también en cuanto al tiempo de procesado de los datos y de entrenamiento del modelo, el cual es ampliamente menor para un conjunto de datos con una cantidad de atributos casi 17 veces menor.

Los resultados conseguidos con esta forma de experimentación recordamos que son los siguientes:

Paciente UPDRS Predicción

0 25 41.38675

1 69 44.1794

3 49 44.3757 4 66 46.121

5 42 42.17925

6 27 42.7858 7 18 32.7042

8 38 41.2973

9 52 47.278

10 56 47.1309 11 57 46.94175

12 74 59.17975

13 71 43.658 14 50 49.348

15 55 47.14

16 87 44.264

17 24 42.002 18 23 44.154

19 54 46.499

20 59 46.0155 21 21 42.2587

22 22 40.5193

23 19 44.2547

24 6 28.50875 25 48 48.588

Promedio 44.48 44.11

Varianza 430.81 29.589

RMSE Error absoluto Error relativo Spearman

16.518 14.58 0.541 0.516 Leave One Speaker Out para predicción de UPDRS con división de los audios del paciente a evaluar en dos

subconjuntos (devel/test) y utilizando Lasso para preprocesamiento de los datos

Page 48: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

36

Con intención de realizar experimentos más realistas si cabe y siguiendo la misma táctica de selección del modelo óptimo, se ha estudiado el comportamiento de los datos en base a otros dos sistemas similares. Ambos experimentos se realizarán utilizando también los datos con el conjunto de atributos reducido.

El primero de estos sistemas se basa en tratar de predecir el nivel de Parkinson de dos pacientes, en lugar de uno. Esta forma de experimentación trata de complicar la situación al modelo, con lo que conseguiremos unos resultados peores a los obtenidos previamente. De esta manera, se entrenará un modelo con los 48 audios de 23 pacientes, se optimizará este modelo utilizando 24 de los audios de cada uno de los dos pacientes restantes y testeando con los otros 24 de cada uno de estos dos. Tenemos así 1104 audios para entrenar, 48 para optimizar y 48 para testear. Así, con esta forma de experimentación se consiguen los siguientes resultados:

Paciente UPDRS Predicción

0 25 40.2653

1 69 40.15 3 49 44.39325

4 66 45.9378

5 42 44.599

6 27 43.875 7 18 41.1594

8 38 42.1065

9 52 46.096 10 56 46.344

11 57 41.7415

12 74 54.4319

13 71 41.1384 14 50 47.3097

15 55 47.8876

16 87 42.4523 17 24 41.8746

18 23 44.2328

19 54 45.166

20 59 45.933 21 21 43.7463

22 22 41.988

23 19 46.149

24 6 30.903 25 48 43.499

Promedio 44.48 43.735

Varianza 430.81 15.744

RMSE Error absoluto Error relativo Spearman

19.6587 16.5717 0.7141 0.2777 Leave Two Speakers Out para predicción de UPDRS con división de los audios de los pacientes a evaluar en dos

subconjuntos (devel/test) y utilizando Lasso para preprocesamiento de los datos

El segundo sistema trata de dar un paso más y se entrena, se optimiza y se testea también con audios de todos los pacientes. Con esta forma de experimentación entrenaremos un modelo

Page 49: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

37

con la mitad de los datos, es decir, 24 audios de cada uno de los 25 pacientes. Este modelo se optimizará y evaluará con una cuarta parte de los datos, 12 audios de cada uno de los 25 pacientes. Tenemos así un modelo entrenado con 600 audios, optimizado con 300 y evaluado con otros 300. Con esta última forma de experimentación se consiguen estos resultados:

Paciente UPDRS Predicción

0 25 39.81867

1 69 53.876 3 49 45.7876

4 66 59.8773

5 42 41.9363 6 27 40.569

7 18 29.397

8 38 49.378

9 52 9.411 10 56 51.5589

11 57 58.007

12 74 72.946 13 71 58.9025

14 50 53.3978

15 55 52.7255

16 87 73.18975 17 24 34.7229

18 23 36.719

19 54 45.909 20 59 53.097

21 21 40.8675

22 22 33.6586

23 19 35.435 24 6 12.786

25 48 47.548

Promedio 44.48 45.261 Varianza 430.81 220.6975

RMSE Error absoluto Error relativo Spearman

35.5 9.9997 0.342 0.8715 Predicción de UPDRS con división de los audios de los pacientes a evaluar en tres subconjuntos (train/devel/test) y

utilizando Lasso para preprocesamiento de los datos

Este último experimento se ha realizado buscando un valor óptimo en el coeficiente de Spearman, que se consigue con los parámetros C=0.01 y L=0.2 del algoritmo SVR de Weka. Los otros dos experimentos, al realizarse optimizando los resultados para cada paciente o cada par de pacientes, se ha debido optimizar el error relativo del modelo en lugar del coeficiente de Spearman.

El caso peor de estos tres lo encontramos al intentar predecir el nivel de Parkinson para audios de dos pacientes distintos, optimizando el modelo con parte de los audios de ambos pacientes y testeando con el resto. Este caso resulta obviamente más complicado que el caso en que se pretende predecir el valor de UPDRS de un solo paciente y el modelo se optimiza para ese

Page 50: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

38

único paciente. El mejor de los tres experimentos, como era de esperar, ha sido el experimento en que se entrenaba el modelo con audios de todos los pacientes y se optimizaba y testeaba con otros audios distintos y pertenecientes también a cada uno de los 25 pacientes. El hecho de que el modelo esté entrenado con audios de los propios pacientes que también formarán parte de los conjuntos de validación y test es el aspecto principal que permite que en este experimento se consigan mejores resultados ( 𝜌 = 0.87154 ). Sin embargo, aunque pueda parecer que esta situación deja de ser realista, esto no es del todo cierto ya que la línea que pretende seguir este proyecto está enfocada no solo a introducir nuevos pacientes en la experimentación, sino principalmente a ayudar a llevar a cabo un estudio satisfactorio de los pacientes con los que se ha trabajado actualmente. También es cierto que hasta este punto solo hemos trabajado con audios grabados en un mismo momento, lo cual sí puede estar aportando cierto optimismo a los resultados obtenidos. Aun así, estos detalles y nuevos enfoques deberán estudiarse con el propio avance del proyecto, el cual espero que sea ampliamente positivo.

Con intención de realizar los numerosos experimentos a lo largo del proyecto de forma

automatizada, se ha llevado a cabo un proceso de desarrollo de software basado principalmente

en el lenguaje Python. A continuación, se explicarán detalladamente las funciones principales que

desempeña cada uno de los artefactos de desarrollo. Para una mayor especificación el proyecto

se puede encontrar en la plataforma GitHub:

https://github.com/clara-jr/Parkinson-Machine-Learning

La organización del software principal desarrollado es la siguiente:

▸ data

🔽lasso

· arff2libsvm.py

· regression_elasso_svr.py

🔽opensmile

▸ wavs

▸ features

· extract.sh

· wav2arff.py

· ensemble_learning.py

· train_devel_... (diversos scripts para el reparto de los datos en los conjuntos pertinentes para cada experimento)

🔽RankLib

· traintest1.sh

· score_reg2.pl

· spearman.pl

Page 51: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

39

· optimize.py

▸ bin

▾ baseline2

· baseline_svm_arff.sh

· score_reg4.pl

· spearman.pl

· optimize.py

· optimize_svm_randomforest.py

· spearman_medium.py

· optimize_new_data_... (diversos scripts para la automatización de experimentos de validación cruzada, comparativa de algoritmos, regresor de segundo nivel o Leave One Speaker Out)

En el directorio data encontramos los ficheros de extensión arff y libsvm correspondientes a los subconjuntos de los datos de entrenamiento, optimización y test utilizados para la experimentación con Weka. Para hacer uso de la librería RankLib tenemos los ficheros de datos en el propio directorio RankLib, donde además hay un directorio (bin) con los ejecutables necesarios de la propia herramienta RankLib.

Los ficheros encargados de realizar las reducciones de atributos en los datos se encuentran en el directorio lasso. Para poder realizar la reducción de atributos, es necesario que los ficheros de entrada estén en formato libsvm, por lo que para transformar un fichero arff a libsvm tenemos lo siguiente en arff2libsvm.py:

def arff2libsvm(inputfilename, outputfilename): file_in = open(inputfilename,'r') lines = file_in.readlines() # leer fichero de entrada file_in.close() file_out = open(outputfilename,'w') # abrir fichero de salida en modo escritura beginToRead = False for line in lines: if beginToRead == True: if len(line) > 5: # línea no vacía # leer línea dataList = line.split(',') resultLine = '' resultLine += dataList[-1].strip() resultLine += ' ' for i in range(1,len(dataList)-1): resultLine += str(i) resultLine += (":"+dataList[i]+" ")

# escribir los datos según formato libsvm file_out.write(resultLine+"\n")

if line[0:5] == '@data': beginToRead = True file_out.close() # cerrar fichero de salida

Page 52: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

40

Seguidamente, para realizar la extracción de atributos con Lasso, se hace uso de la siguiente función en regression_elasso_svr.py:

def lasso(filename, x_train_orig, x_devel_orig, x_test_orig, lab_train_orig, lab_devel_orig, lab_test_orig): # Normalización de los datos scaler_data = preprocessing.StandardScaler().fit(x_train_orig.toarray()) x_train = scaler_data.transform(x_train_orig.toarray()) x_devel = scaler_data.transform(x_devel_orig.toarray()) x_test = scaler_data.transform(x_test_orig.toarray()) scaler_lab = preprocessing.StandardScaler().fit(lab_train_orig) lab_train = scaler_lab.transform(lab_train_orig) lab_devel = scaler_lab.transform(lab_devel_orig) lab_test = scaler_lab.transform(lab_test_orig) # Elastic Net clf = ElasticNet(alpha = 0.025, l1_ratio = 0.7) clf.fit (x_train, lab_train) nz = (clf.coef_ != 0) # Se guardan los ficheros de parámetros resultantes dump_svmlight_file(x_train_orig[:, nz], lab_train_orig, filename+"_elasso.train.libsvm", zero_based=False, comment=None, query_id=None) dump_svmlight_file(x_devel_orig[:, nz], lab_devel_orig, filename+"_elasso.devel.libsvm", zero_based=False, comment=None, query_id=None) dump_svmlight_file(x_test_orig[:, nz], lab_test_orig, filename+"_elasso.test.libsvm", zero_based=False, comment=None, query_id=None)

Antes de realizar cada experimento, es necesario moldear los datos y con ello los distintos conjuntos de entrenamiento, optimización y evaluación del modelo. Esto se lleva a cabo en los scripts que se encuentran en el directorio opensmile. Para extraer a partir de los ficheros de audio de formato wav la información de características propia de los ficheros arff, recurrimos al script wav2arff.py:

for p in range(len(updrs)): for a in range(n_audios):

# si no se ha realizado aun la extracción de características del audio if not os.path.exists("features/palabras_" + str(a+1) + "_" + str(p) + "_lenguaje.arff"): # ./extract.sh wav_file feat_file class

os.system("./extract.sh palabras_" + str(a+1) + "_" + str(p) + ".ch1.wav palabras_" + str(a+1) + "_" + str(p) +.arff "+ str(updrs[p]))

El resto de scripts de este directorio permiten realizar el reparto en los tres conjuntos precisos según los audios y pacientes necesarios en cada uno de ellos, tanto para los experimentos de validación cruzada como para los experimentos basados en la estrategia Leave One Speaker Out o similares. También encontramos el script ensemble_learning.py que define el regresor de segundo nivel que se utilizó en uno de los experimentos. Este script se basa por tanto en la

Page 53: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

41

creación y edición de ficheros arff incluyendo los atributos de edad, sexo, tiempo de enfermedad, Hoenh&Yahr y UPDRS predicho para cada paciente, además del valor final de la clase conocida.

En cuanto al fichero base, optimize.py, que fue utilizado inicialmente para la automatización de experimentos con los datos de la competición, encontramos dos versiones, una en el directorio RankLib y otra en baseline2. Ambas se basan en la programación de técnicas Greedy para la búsqueda de una buena combinación de los parámetros de los algoritmos Random Forest y SVR, respectivamente. Esta búsqueda se realiza de la siguiente manera, para el caso de SVR, y de forma equivalente para Random Forest de RankLib:

# params es una lista con los valores iniciales de los parámetros a optimizar for cont in range(len(params)): # values guarda los valores óptimos de cada parámetro values = [] # spearman guarda los coeficientes conseguidos con cada

combinación de parámetros spearman = [] string = []

parallel = "parallel -j " + str(experiments[cont]) + " ./baseline_svm_arff.sh {1} {2} " + FEATURE

for i in range(len(params)): string.append(" ::: " + str(params[i])) string[cont] = " :::" for param in frange(init[cont], end[cont], step[cont]): values.append(param) string[cont] += " " + str(param) for i in range(len(params)): parallel += string[i] f = open("print.dep", "a") f.write("Training " + parallel + "\n") f.close() # ejecución de los experimentos variando un parámetro os.system(parallel) for exp in range(experiments[cont]):

# recorrido por los posibles valores del parámetro que varía

params[cont] = values[exp] if os.path.exists('eval/train_devel/' + FEATURE + '.SVR.C' + str(params[0]) + '.L' + str(params[1]) + '.result'): # si ha salido bien el experimento, leer resultados

file = open('eval/train_devel/' + FEATURE + '.SVR.C' + str(params[0]) + '.L' + str(params[1]) + '.result', 'r')

data = file.readlines() for x in data: line = x.split(" ") # coeficiente de Spearman del experimento s = line[len(line)-1] spearman.append(float(s)) file.close()

Page 54: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

42

f = open("print.dep", "a") f.write("Results for model C="+str(params[0])+" L="+str(params[1]) + "\n")

f.write("Spearman correlation coefficient:"+s+"\n") f.close() else:

# si no ha salido bien el experimento spearman.append(0) f = open("print.dep", "a")

f.write("The result file for C="+str(params[0])+" and L="+str(params[1])+"has not been created"+"\n")

f.close() # búsqueda y actualización del valor óptimo del parámetro

index = spearman.index(max(spearman)) params[cont] = values[index] f = open("print.dep", "a") # escribir valores óptimos encontrados de los parámetros f.write("Optimal C = " + str(params[0]) + "\n") f.write("Optimal L = " + str(params[1]) + "\n") f.close()

Adicionalmente, en el directorio baseline2 tenemos varios ficheros escritos en Bash, de forma que cada uno se encarga de arrancar un experimento en Weka para ficheros en formato arff o libsvm además de para distintos algoritmos con los que se ha experimentado (SVR, Random Forest, Linear Regression, Simple Linear Regression, ZeroR). Los ficheros escritos en Python permiten la realización automática de estos experimentos y la búsqueda de la mejor solución para cada uno de ellos. Disponemos de ficheros para la comparativa entre experimentos realizados con diversos algoritmos. También tenemos un script para predicciones del estadio Hoenh&Yahr (optimize_new_data_updrs_hycategorise_spearman.py), en el cual se debió realizar una clasificación posterior tras los resultados obtenidos con SVR ya que dicho parámetro no era nominal sino categórico.

Se ha programado también un script encargado de calcular el coeficiente de Spearman global para experimentos que devuelven distintos coeficientes de Spearman según distintas situaciones, como es el caso de los experimentos de validación cruzada. Este script es spearman_medium.py, y se encarga de agrupar en un fichero todas las predicciones y a partir de este fichero, se realizan los cálculos de coeficiente de Spearman, error relativo, absoluto o cuadrático medio. Estos cálculos, para el caso más general en que se necesite predecir el nivel UPDRS de varios pacientes y con ello realizar un promedio, se realizan de la siguiente manera:

# file indica el fichero de predicciones (.pred o .result según el experimento) file = open('eval/train_devel/…'+'.test.pred', 'r') data = file.readlines() valor = [] # UPDRS real de cada audio pred = [] # UPDRS predicho de cada audio err = [] # error absoluto en cada audio for x in data: line = x.split(" ") line_rel = [] for l in range(len(line)): if line[l] != '':

Page 55: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

43

line_rel.append(line[l]) if len(line_rel) == 5: valor.append(float(line_rel[1])) pred.append(float(line_rel[2])) err.append(float(line_rel[3])) pred_locutor = [] # UPDRS predicho para cada locutor valor_locutor = [] # UPDRS real de cada locutor for ini in range(n_locutores): pred_locutor.append(0) valor_locutor.append(0) error_rel = 0 # error relativo error_abs = 0 # error absoluto for locutor in range(n_locutores):

valor_locutor[locutor] = valor[(len(pred)/n_locutores)*locutor] # UPDRS real de cada locutor

for p in range(len(pred)/n_locutores): pred_locutor[locutor] += pred[p+(len(pred)/n_locutores)*locutor]/(len(pred)/n_locutores) # UPDRS predicho para cada locutor como la media de lo predicho en cada audio

error_abs += abs(pred_locutor[locutor] - valor_locutor[locutor])/n_locutores # error aboluto = ( UPDRS predicho para cada locutor – UPDRS real de cada locutor ) / número de locutores error_rel += (abs(pred_locutor[locutor] - valor_locutor[locutor])/valor_locutor[locutor])/n_locutores # error relativo = error aboluto / UPDRS real del locutor

# coeficiente de Spearman s = scipy.stats.spearmanr(valor_locutor, pred_locutor) if math.isnan(float(s[0])): s = [0] spearman_comparison.append(float(s[0])) rmse = 0 # RMSE for e in range(len(err)): rmse += err[e]*err[e]/len(pred) rmse = math.sqrt(rmse) file.close() f = open("print_new_data.dep", "a") # escribir resultados finales f.write("Results for model C="+str(params[0])+" L="+str(params[1]) + "\n") f.write("REAL: " + str(valor_locutor) + "\n") f.write("PREDICTION: " + str(pred_locutor) + "\n") f.write("RMSE: " + str(rmse) + "\n") f.write("ABSOLUTE ERROR: " + str(error_abs) + "\n") f.write("RELATIVE ERROR: " + str(error_rel) + "\n") f.write("Spearman correlation coefficient: " + str(s[0]) +"\n") f.close()

Page 56: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

44

Como recopilación de resultados tras los diversos experimentos realizados y expuestos a lo largo de la memoria de este proyecto, inicialmente encontramos los valores de coeficiente de Spearman obtenidos evaluando con el propio conjunto de datos de entrenamiento en dos situaciones distintas. Estas dos situaciones muestran la mejoría al conocer de qué paciente es cada audio y poder realizar así un promedio con las predicciones obtenidas para un mismo paciente.

Spearman Predicción Audio Spearman Predicción Media

0.9835 0.9992

Mismo conjunto de entrenamiento para evaluación del modelo

Respecto a los experimentos realizados siguiendo técnicas de validación cruzada, empleando tres subconjuntos para entrenamiento, optimización del modelo y evaluación del mismo, obtuvimos los siguientes resultados, para los casos en que utilizamos todo el conjunto de audios (excepto el de expresión libre por parte del locutor) o solo los audios de vocales sostenidas:

Spearman 48 Audios Spearman Vocales Sostenidas

0.175 0.1054

Validación cruzada con distribución homogénea de nivel de Parkinson y división de cada grupo en tres subconjuntos (train/devel/test)

Al realizar el entrenamiento de modelos siguiendo la metodología Leave One Speaker Out, empleando de nuevo la separación de los datos en los tres subconjuntos oportunos para conseguir resultados más realistas y recurriendo a Lasso para reducir el conjunto de atributos de entrada, conseguimos los siguientes resultados:

Leave One Speaker Out Leave One Speaker Out + Lasso

Spearman Error

relativo Media

Predicción Varianza

Predicción Spearman

Error relativo

Media Predicción

Varianza Predicción

0.5127 0.583 43.989 28.343 0.516 0.541 44.11 29.589

Leave One Speaker Out para predicción de UPDRS con división de los audios del paciente a evaluar en dos subconjuntos (devel/test) y utilizando Lasso para preprocesamiento de los datos

Es importante recordar que la media del nivel UPDRS de nuestros datos toma un valor de 44.48 y la varianza es de 430.81. Este último valor, en nuestras predicciones, desciende notoriamente.

Para los experimentos realizados con una variación de la técnica Leave One Speaker Out, tratando de predecir el nivel UPDRS de dos pacientes, entrenando con los audios de los 23 pacientes restantes y optimizando el modelo con la mitad de audios de cada uno de los dos

Page 57: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

45

pacientes, utilizando de nuevo reducción del número de atributos de entrada, obtuvimos lo siguiente:

Leave Two Speakers Out + Lasso

Spearman Error

relativo Media

Predicción Varianza

Predicción

0.2777 0.7141 43.735 15.744

Leave Two Speakers Out para predicción de UPDRS con división de los audios de los pacientes a evaluar en dos subconjuntos (devel/test) y utilizando Lasso para preprocesamiento de los datos

Se comprueba que esta forma de experimentación añade dificultad al modelo a la hora de conseguir realizar una predicción correcta en cuanto al nivel de Parkinson de los pacientes. Sin embargo, los resultados obtenidos no dejan de ser satisfactorios a pesar de las dificultades añadidas.

Finalmente, conseguimos un modelo (C=0.01 y L=0.2) entrenado, optimizado y evaluado con audios de todos los pacientes. De esta manera, el modelo se entrenaba con 24 audios de cada uno de los 25 pacientes, se optimizaba con 12 de ellos y se evaluaba con los 12 audios restantes de cada uno.

Spearman Error

relativo Media

Predicción Varianza

Predicción

0.8715 0.342 45.261 220.6975

Predicción de UPDRS con división de los audios de los pacientes a evaluar en tres subconjuntos (train/devel/test) y utilizando Lasso para preprocesamiento de los datos

Estos últimos resultados obtenidos son notablemente exitosos (0.8715) y la causa de ello es la presencia de audios en el conjunto de entrenamiento de los pacientes de los que se intenta predecir su nivel UPDRS. Aun así, el modelo no deja de estar entrenado con audios distintos de los que se utilizan para optimizar y evaluar dicho modelo. Este experimento, por tanto, aunque pueda parecer que carece de realismo y alcanza resultados optimistas, demuestra que actualmente se podría llevar a cabo un estudio satisfactorio del progreso de la enfermedad de los pacientes con los que hemos trabajado hasta el momento. De esta forma, cada vez que se graben audios de un paciente inicialmente y se obtenga su nivel UPDRS, estos podrán ser utilizados como datos de entrada de los que se conoce la salida. Para llevar a cabo un estudio del progreso evolutivo de la enfermedad de dicho paciente, se utilizarán nuevos audios tomados en distintos momentos de tiempo y estos audios formarán parte del conjunto de test y seguidamente se reutilizarán para reentrenar y optimizar el modelo existente, y así de manera sucesiva.

Para el caso de pacientes que aun no forman parte de nuestro estudio, podemos decir que conseguiríamos un coeficiente de Spearman de hasta 0.516. En este experimento, los resultados se consiguieron optimizando el modelo con datos del propio paciente, por lo que realmente, al predecir el nivel UPDRS de un paciente del que no se conoce la salida, obtendríamos un valor inferior a 0.516 en el coeficiente de Spearman. Así, en ese caso, al no disponer de audios previos del paciente, se podría realizar la optimización del modelo con audios de un paciente similar en cuanto a edad, sexo o tiempo de enfermedad.

Page 58: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

46

A lo largo del proyecto se han realizado multitud de experimentos, hemos abordado el problema desde diversos puntos de vista y nos hemos tratado de guiar por diferentes caminos. Algunos de estos caminos se esperaba que nos aportaran resultados ciertamente mejores que los finalmente obtenidos, como es el caso especialmente de la utilización de un segundo regresor para afinar el modelo, lo cual empeoró significativamente el modelo. A pesar de ello, puede decirse que hemos alcanzado un resultado considerablemente positivo, siguiendo alguno de los tantos caminos entre los que hemos experimentado.

Uno de los experimentos con mayor éxito fue el realizado siguiendo la técnica Leave One Speaker Out utilizando un preprocesamiento de los datos para disminuir el conjunto de 6773 atributos en un factor 17 y realizando una división de estos en tres conjuntos para entrenamiento, optimización y test. Conseguimos un coeficiente de Spearman de 0.516.

El otro de estos experimentos, y concretamente el que resultó más exitoso, fue aquel en el que se entrenó un modelo con audios de todos los pacientes y se optimizó y evaluó con otros audios distintos pero pertenecientes también a todos los pacientes. De esta forma conseguimos un 0.8715 como coeficiente de Spearman.

Page 59: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

47

Este último experimento utilizó datos de todos los pacientes para entrenar el modelo, por tanto, audios de un paciente del cual se pretendía evaluar su nivel UPDRS formaron parte del conjunto de entrenamiento. Esta forma de experimentación es lo que diferencia este resultado de los demás conseguidos. Puede parecer un resultado optimista si se ha alcanzado de esta manera, sin embargo, el resto de experimentos contenían audios del propio paciente a evaluar en el conjunto de audios que optimizaban los parámetros del regresor. Utilizar unos datos para optimizar un modelo o para entrenarlo describe una misma situación, la situación de poder utilizar datos conocidos como entrada de nuestro regresor con intención de ayudar a predecir los siguientes datos desconocidos. La diferencia es la siguiente: utilizar datos de un mismo paciente en el conjunto de optimización y en el de evaluación permite predecir los resultados que se conseguirían a la hora de intentar trabajar con pacientes nuevos, en cuyo caso el modelo se optimizaría con audios de un paciente similar al desconocido, mientras que entrenar con los mismos pacientes con los que se evalúa el modelo equivale a lo que se conseguiría al realizar el estudio progresivo en la enfermedad de pacientes conocidos, disponiendo de sus audios como datos de entrada.

Podríamos realizar, siguiendo esta línea de experimentación, un nuevo sistema que ayude al estudio de la evolución en pacientes conocidos. Este sistema podría estar entrenado con los audios de 24 pacientes y con 12 del paciente restante, optimizado con otros 12 audios de dicho paciente y ser evaluado con los otros 24 audios. Con este sistema conseguiríamos un coeficiente de Spearman superior a 0.516. Sin embargo, la desventaja es que de nuevo deberíamos entrenar un modelo distinto para cada paciente. Utilizando la estrategia de entrenar con datos de todos los locutores, optimizar de nuevo con parte de los audios de todos y evaluando el modelo conseguido tomando predicciones para los 25 pacientes, conseguimos un resultado muy satisfactorio y a su vez, necesitamos encontrar tan solo un modelo óptimo para nuestros datos. Además de esto, en lugar de optimizar el modelo con datos de un único paciente, lo hacemos con datos de todos los pacientes de los que disponemos, lo cual será ventajoso a la hora de llevar a cabo un estudio progresivo en el avance de la enfermedad de estos pacientes ya que, tener un modelo optimizado con datos de un mismo paciente y un tiempo previo puede resultar menos útil que hacerlo además con datos de varios pacientes que en aquel momento pudieran tener el grado de enfermedad en el que ahora se encuentra dicho paciente. Tendremos así no solo un único modelo para todos los pacientes, sino un modelo más generalizado y no particularizado para cada uno de ellos.

Con estos resultados podemos concluir que nuestro sistema podría ser capaz de llevar a

cabo un adecuado estudio del desarrollo de la enfermedad a lo largo del tiempo para los pacientes analizados hasta el momento además de, posiblemente, para nuevos pacientes.

Con respecto al software desarrollado, hemos podido programar nuevas y numerosas

técnicas de experimentación que pueden verse incluidas como versiones oficiales del software. Gran cantidad del software puede ser reutilizado para seguir experimentando o incluso para definir finalmente el sistema de trabajo para la obtención de un modelo definitivo. Personalmente, la ardua tarea de desarrollar el código de automatización y optimización para cada uno de los experimentos que se han llevado a cabo, ha sido una tarea muy instructiva.

La enfermedad de Parkinson es una enfermedad crónica y degenerativa del sistema

nervioso, lo que significa que además de que los síntomas perdurarán en el paciente, también empeorarán progresivamente conforme pase el tiempo. Por tanto, en base a esta situación, lo que se busca conseguir es poder llevar un estudio progresivo del estado de la enfermedad y con ello de las variaciones del nivel de Parkinson de cada paciente a lo largo del tiempo.

Page 60: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

48

De esta manera, este proyecto intenta conformar un primer paso para una serie de experimentos continuos en el tiempo. Se pretende que los niveles predichos en esta primera resolución sirvan de atributo de entrada para el aprendizaje de modelos posteriores y poder seguir así un estudio progresivo del desarrollo de la enfermedad en los pacientes de nuestros datos. Podría llevarse a cabo también la idea de realizar una comparativa entre los valores de los atributos en los diferentes momentos de tiempo para obtener así una medida de la diferencia existente entre los niveles de Parkinson de los pacientes pasado dicho periodo temporal. Sin embargo, las grabaciones serán diferentes y no podrán ser comparables de esta manera. Si las frases tomadas fueran las mismas en un momento dado y en otro, podría calcularse la media de los atributos en cada caso y tomarla como medida comparativa para evaluar el progreso de la enfermedad. Aun así, esto tampoco será una tarea sencilla.

Frente a estas y otras dificultades que se sigan planteando de aquí en adelante, como se ha expuesto a lo largo de esta memoria, el objetivo principal será conseguir resultados satisfactorios para la predicción del nivel UPDRS de nuevos pacientes y especialmente para el estudio progresivo del avance de la enfermedad en los pacientes actuales. Así, con el desarrollo de este proyecto esperamos conseguir aportar nuestra ayuda a la hora de predecir qué pacientes sería recomendable que acudieran a consulta debido a cambios destacables en el desarrollo de su enfermedad.

Según los numerosos experimentos realizados, en los que entrenamos un modelo con el 50% de nuestros datos, lo optimizamos con un 25% y utilizamos el resto para evaluar dicho sistema, la manera óptima de entrenar un modelo adecuado para llevar a cabo un estudio progresivo de la enfermedad de los pacientes actuales de aquí en adelante será:

Entrenar con un 66.66% de los datos que sean conocidos, teniendo un número de audios igual para cada locutor

Optimizar el modelo con el 33.33% restante Predecir el nivel UPDRS para los nuevos audios

Page 61: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

49

Se puede observar que, en los experimentos que se realicen a partir de ahora, todos los datos de los que disponemos conformarán un conjunto de datos conocidos que se utilizarán como entrada de nuestro modelo (66.66% entrenamiento y 33.33% optimización), el cual se utilizará para predecir resultados de nuevos audios y así llevar a cabo el estudio planteado sobre el progreso temporal de la enfermedad de los pacientes.

Para el caso de intentar predecir el nivel UPDRS de un nuevo paciente, podríamos plantearnos el siguiente modelo, aunque de menor éxito que el conseguido para el estudio evolutivo de la enfermedad en pacientes conocidos:

Entrenar con un 96% de los datos que sean conocidos (24 25⁄ pacientes) Optimizar el modelo con el 4% restante (1 25⁄ ), correspondiente a un locutor similar

al nuevo paciente en edad, sexo, tiempo de enfermedad, etc. Predecir el nivel UPDRS para el nuevo paciente

Page 62: GRADO DE INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE ...lorien.die.upm.es/juancho/pfcs/CJR/ClaraJimenezRecio-TFG-memoria-1.pdf · Librería de aprendizaje automático con algoritmos

50

[1] “Data Mining: Practical Machine Learning Tools and Techniques” Mark Hall, Ian Witten and EibeFrank. Morgan Kaufmann Publishers. January 2011

[2] Machine Learning course, Professor Andrew Ng, Standford University, Coursera

[3] A. Zlotnik, J. M. Montero, Rubén San-Segundo and A. Gallardo-Antolin, "Random Forest-Based Prediction of Parkinson's Disease Progression Using Acoustic, ASR and Intelligibility Features". Interspeech 2015, 16TH Annual Conference Of The International Speech Communication Association, ISCA, pp. 503-507, Dresden (Germany), 6-10 September

[4] "The Elements of Statistical Learning: Data Mining, Inference, and Prediction" Second Edition. February 2009. Trevor Hastie, Robert Tibshirani, Jerome Friedman.

[5] Collection and Analysis of a Parkinson Speech Dataset With Multiple Types of Sound Recordings". IEEE Journal of Biomedical and Health Informatics. Betul Erdogdu Sakar, M. Erdem Isenkul, C. Okan Sakar, Ahmet Sertbas, Fikret Gurgen, Sakir Delil, Hulya Apaydin, and Olcay Kursun.

[6] "Learning Python". 5th Edition. Mark Lutz, David Ascher.