84
INSTITUTTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIER ´ IA MEC ´ ANICA Y EL ´ ECTRICA UNIDAD PROFESIONAL “ADOLFO L ´ OPEZ MATEOS” “DETECCI ´ ON DE ARRITMIAS CARDIACAS POR MEDIO DE REDES NEURONALES APLICANDO EL M ´ ETODO BACK PROPAGATION” SEMINARIO PARA OBTENER EL T ´ ITULO DE: INGENIERO EN COMUNICACIONES Y ELECTRÓNICA PRESENTAN: OMAR NEGRETE MU ˜ NOZ ROSARIO GONZ ´ ALEZ RODR ´ IGUEZ ASESORES: M. EN C. BEATR ´ IZ ADRIANA JAIME FONSECA M. EN A. ADRIANA SOSA ROJAS CIUDAD DE M ´ EXICO, JUNIO DE 2019

INSTITUTTO POLITÉCNICO NACIONAL

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INSTITUTTO POLITÉCNICO NACIONAL

INSTITUTTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y

ELECTRICA

UNIDAD PROFESIONAL “ADOLFO LOPEZ MATEOS”

“DETECCION DE ARRITMIAS CARDIACAS POR MEDIO DE REDES

NEURONALES APLICANDO EL METODO BACK PROPAGATION”

SEMINARIO

PARA OBTENER EL TITULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

PRESENTAN:

OMAR NEGRETE MUNOZ

ROSARIO GONZALEZ RODRIGUEZ

ASESORES:

M. EN C. BEATRIZ ADRIANA JAIME FONSECA

M. EN A. ADRIANA SOSA ROJAS

CIUDAD DE MEXICO, JUNIO DE 2019

Page 2: INSTITUTTO POLITÉCNICO NACIONAL
Page 3: INSTITUTTO POLITÉCNICO NACIONAL

3

Page 4: INSTITUTTO POLITÉCNICO NACIONAL

4 INDICE GENERAL

Indice general

1. Introduccion 10

1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1.1. Preguntas generales . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1.2. Proposito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1.3. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1.4. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3. Factibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.5. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2. Estado del arte 14

3. Marco teorico 21

3.1. Inteligencia artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.1. Reconocimiento de patrones . . . . . . . . . . . . . . . . . . . . . . 25

3.1.2. Redes neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2. Aplicaciones de reconocimiento de patrones . . . . . . . . . . . . . . . . . . 36

3.2.1. Arritmias cardiacas . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2.2. Tipos de arritmias . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3. MatLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4. Desarrollo de la propuesta 54

Page 5: INSTITUTTO POLITÉCNICO NACIONAL

INDICE GENERAL 5

5. Resultados y conclusiones 63

5.1. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6. Referencias 71

A. Programacion de la interfaz 75

B. Ventanas de entrenamiento de las redes 78

C. Datos recopilados de pacientes 84

Page 6: INSTITUTTO POLITÉCNICO NACIONAL

Indice de figuras

Figura 1. Vehıculos Braitenberg y su reaccion a la luz. . . . . . . . . . . 17

Figura 2. Retrato de Alan Turing, creador de la Maquina de Turing. . . 18

Figura 3. Diagrama a bloques del proceso de seleccion de variables. . . 27

Figura 4. Diagrama a bloques de los tipos de clasificacion no supervisada. 28

Figura 5. Estructura de una red neuronal. . . . . . . . . . . . . . . . . . . 29

Figura 6. Dibujo representativo de un Perceptron. . . . . . . . . . . . . 31

Figura 7. Dibujo que representa el Multilayer Perceptron. . . . . . . . . 32

Figura 8. Dibujo que representa una Convolutional Neural Network. . . 33

Figura 9. Dibujo que representa una Long Short Term Memory. . . . . 34

Figura 10. Dibujo que representa Deep Belief Network. . . . . . . . . . . 35

Figura 11. Dibujo que representa una Generative Adversarial Network. . 35

Figura 12. Reconocimiento de rostros e identificacion de personas. . . . . 36

Figura 13. Sistema para identificar personas por su manera de caminar

[19]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Figura 14. Senales de vibracion generadas por fenomenos teluricos. . . . 38

Figura 15. Perforacion de pozos petroleros asistido. . . . . . . . . . . . . . 38

Figura 16. Automatizacion en lınea de ensamblaje. . . . . . . . . . . . . . 39

Figura 17. Reconocimiento de voz. . . . . . . . . . . . . . . . . . . . . . . . 39

Figura 18. Estudios medicos asistidos por computadora. . . . . . . . . . . 40

Figura 19. Lectura tomada de un electrocardiograma de un paciente sano. 41

Figura 20. Lectura de paciente que presenta bradicardia sinusal. . . . . . 42

Figura 21. Ubicacion donde se generan las arritmias ventriculares. . . . . 42

6

Page 7: INSTITUTTO POLITÉCNICO NACIONAL

INDICE DE FIGURAS 7

Figura 22. Muestra arrojada por electrocardiograma de paciente que pre-

senta taquicardia sinusal. . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Figura 23. Paciente diagnosticado con fibrilacion ventricular. . . . . . . . 44

Figura 24. Muestra de electrocardiograma con lecturas de Contracciones

Ventriculares prematuras. . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Figura 25. Ubicacion donde se generan las arritmias supraventriculares. . 45

Figura 26. Electrocardiograma con lecturas anormales y de acuerdo con

una arritmia supraventricular. . . . . . . . . . . . . . . . . . . . . . . . 45

Figura 27. Electrocardiograma con lecturas anormales y de acuerdo con

una fibrilacion auricular. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Figura 28. Electrocardiograma con lecturas de paciente que presenta Sındro-

me de Wolff-Parkinson-White. . . . . . . . . . . . . . . . . . . . . . . . . 46

Figura 29. Muestra de lecturas referidas al aleteo auricular. . . . . . . . . 46

Figura 30. Muestra de lecturas referidas a un bloqueo cardiaco. . . . . . 47

Figura 31. Derivacion I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Figura 32. Derivacion II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Figura 33. Derivacion III. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figura 34. Derivacion AVR . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figura 35. Derivacion AVL . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Figura 36. Derivacion AVF. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Figura 37. Lectura, Comprension e Interpretacion del Electrocardiograma

[21]. Derivaciones precordiales. . . . . . . . . . . . . . . . . . . . . . . . 51

Figura 38. Prueba de esfuerzo. . . . . . . . . . . . . . . . . . . . . . . . . . 51

Figura 39. Electrocardiograma ambulatorio. . . . . . . . . . . . . . . . . . 52

Figura 40. Ventana para configurar una nueva red neuronal dentro de la

herramienta nntool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Figura 41. Parametros de entrenamiento de la red neuronal dentro de la

nntool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Figura 42. Arquitectura de la red neuronal con mayor eficiencia. . . . . . 59

Page 8: INSTITUTTO POLITÉCNICO NACIONAL

8 INDICE DE FIGURAS

Figura 43. Ventana que permite la configuracion visual del GUIDE. . . . 60

Figura 44. Entrenamiento de la red estructura de red neuronal con mayor

eficiencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Figura 45. Interfaz de usuario. . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 46. Ejemplo del ingreso de datos y resultado en la interfaz de

usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 47. Ejemplo de un resultado inexacto en las salidas de la red neu-

ronal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Figura 48. Ejemplo de error al ingresar los datos . . . . . . . . . . . . . . . 68

Figura 49. Red 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Figura 50. Red 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Figura 51. Red 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Figura 52. Red 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Figura 53. Red 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Figura 54. Red 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Figura 55. Datos recopilados de pacientes. . . . . . . . . . . . . . . . . . . 84

Page 9: INSTITUTTO POLITÉCNICO NACIONAL

Indice de tablas

Tabla 1. Arquitecturas de las redes neuronales que lograron parar entre-

namiento por NSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Tabla 2. Datos de salida de la red neuronal de los pacientes que presen-

taban ritmo cardiaco normal. . . . . . . . . . . . . . . . . . . . . . . . . 65

Tabla 3. Datos de salida de la red neuronal de los pacientes que presen-

taban bradicardia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Tabla 4. Datos de salida de la red neuronal de los pacientes que presen-

taban taquicardia- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Tabla 5. Datos de salida de la red neuronal de los pacientes que presen-

taban una pausa irregular en su ritmo cardiaco. . . . . . . . . . . . . . 66

Tabla 6. Datos de salida de la red neuronal de los pacientes que presen-

taban un ritmo cardiaco irregular. . . . . . . . . . . . . . . . . . . . . . 66

9

Page 10: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 1

Introduccion

1.1. Objetivos

1.1.1. Preguntas generales

1. ¿Cuales son las caracterısticas adecuadas de las redes neuronales para el desarrollo

de un software que permita el diagnostico oportuno en la deteccion de arritmias

cardiacas?

2. ¿Cuales son las diferencias principales entre pacientes que presentan arritmias y los

que no las presentan?

3. ¿En que favorece el uso de redes neuronales en la deteccion de arritmias cardiacas?

4. ¿A que poblacion va dirigido el uso de este software?

1.1.2. Proposito

Coadyuvar en el diagnostico temprano de arritmias cardiacas, a traves de una interfaz

de bajo costo, con un margen de error muy bajo, de facil adquisicion, de modo que pueda

ser utilizado por cualquier hospital o consultorio, publico o privado.

10

Page 11: INSTITUTTO POLITÉCNICO NACIONAL

1.2. PLANTEAMIENTO DEL PROBLEMA 11

1.1.3. Objetivo General

Desarrollar una interfaz que permita ingresar lecturas del ritmo cardiaco de un paciente,

para un diagnostico oportuno.

1.1.4. Objetivos Especıficos

Implementar una red neuronal para el apoyo al diagnostico de arritmias cardiacas.

Disenar una base de datos con argumentos precisos de diagnosticos de pacientes.

Realizar la interfaz para el apoyo del diagnostico medico.

1.2. Planteamiento del problema

Las afecciones cardiacas son una de las causas principales de mortalidad en Mexico

y el mundo. Debido a un diagnostico erroneo, o a la ausencia del mismo, los sıntomas

pueden confundir a los profesionales de la salud y dictaminar un tratamiento equivocado,

generando una mejorıa nula en el paciente, con consecuencias que pueden derivarse incluso

en la muerte.

El problema principal se centra en generar un apoyo al medico para un diagnostico

oportuno de arritmias cardiacas, debido a que en ocasiones es tardıo, lo que provoca

problemas de mayor relevancia en el paciente.

1.3. Factibilidad

Este proyecto es factible, es decir, es posible realizarlo debido a que la implementacion

sugiere ser una base solida y funcional, como lo son las redes neuronales. Este sistema ha

sido utilizado para la simulacion de diferentes condiciones humanas que pudieran distar

de un funcionamiento correcto, como lo han sido las afecciones cardiacas.

Page 12: INSTITUTTO POLITÉCNICO NACIONAL

12 CAPITULO 1. INTRODUCCION

1.4. Hipotesis

La red neuronal, con un optimo entrenamiento, sera capaz de discernir entre los dis-

tintos tipos de arritmia gracias a los datos generados y asentados, contribuyendo con el

diagnostico final.

1.5. Justificacion

Entre las principales causas de muerte por enfermedades cronico-degenerativas se en-

cuentran los problemas cardiacos. Se posee un registro aproximado de mas de 30 millones

de personas en el mundo que sufren algun tipo de arritmia cardiaca. Sin embargo, en Mexi-

co se contempla que 1.3 millones de personas padecen esta afeccion. En la actualidad, los

adultos mayores son el sector mas vulnerable, ya que conforme la edad avanza, el corazon

presenta un crecimiento, ocasionando que los latidos disminuyan.

De esta manera, se busca complementar el diagnostico medico mediante una interfaz

de apoyo que, sumada a la labor humana, favorezca a un diagnostico temprano y certero

de alguna enfermedad cardiaca.

Los costos estimados para los tratamientos contra enfermedades cardiacas ascienden al

75 % del PIB mundial, convirtiendose en uno de los principales contribuyentes a la carga

economica global. Por medio del software se busca reducir esa carga, ademas de garantizar

una mejor calidad de vida a los pacientes que oportunamente sean diagnosticados con este

padecimiento. Sumado a eso, se busca que la implementacion de este programa sea viable

y accesible a la poblacion.

1.6. Resumen

El presente trabajo muestra el desarrollo de una interfaz de apoyo a los medicos en el

diagnostico de las arritmias cardiacas permitiendo obtener un diagnostico oportuno y ası

poner la atencion adecuada de estas afecciones, ya que una de las principales causas de

mortalidad en Mexico son las afecciones cardiacas que no son detectadas con anticipacion.

Page 13: INSTITUTTO POLITÉCNICO NACIONAL

1.6. RESUMEN 13

Principalmente se busca que esta interfaz sea utilizada por medicos en zonas que son

de difıcil acceso a medicos especialistas o que por la saturacion de los servicios de salud el

tener una cita ocupa un retardo de unos seis meses. Cabe mencionar que la implementacion

de esta interfaz se puede programar en cualquier tipo de plataforma de software.

Los resultados obtenidos por esta aplicacion se obtuvieron mediante la implementacion

de un algoritmo de reconocimiento de patrones como lo son las redes neuronales artificiales,

las cuales son entrenadas mediante una base de datos que posteriormente seran utilizadas

para comparar nuevos datos de entrada en un aprendizaje de tipo supervisado. El software

que nos permitira la comunicacion entre el usuario e interfaz sera mediante MatLab, pro-

grama que posee herramientas versatiles, en el area de la inteligencia artificial y de forma

particular para implementar una red neuronal artificial.

Page 14: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 2

Estado del arte

El estado del arte que aquı se presenta es producto de investigacion documental reali-

zada, la cual abarco un periodo de 2014 a la fecha, ası como trabajos de Europa y America

Latina. Uno de los procedimientos para la obtencion de la actividad electrica del corazon

es el electrocardiograma; actualmente es la tecnica mas utilizada para detectar anomalıas

o padecimientos cardiacos y cardiovasculares. A traves del electrocardiograma (ECG) se

pueden detectar diversos padecimientos de corazon, como arritmia, fibrilacion auricular,

disfuncion aurıcula ventricular, etc.

Se puede hacer uso de algoritmos de aprendizaje basados en redes neuronales como un

apoyo al diagnostico medico final, para la deteccion, no solo de problemas cardiovasculares,

sino de un sinfın de padecimientos en el cuerpo humano, tecnica adquirida hace apenas

algunos anos gracias al avance de la tecnologıa y el procesamiento de senales, en Mexico

y en el mundo.

Mariel [1]habla en su investigacion acerca de un sistema para la toma de electrocardio-

gramas, para visualizarse posteriormente en un dispositivo con sistema operativo Android.

Se pone enfasis en la creacion de un modulo inteligente capaz de realizar un diagnostico de

manera automatica y procesada de acuerdo a los datos recabados. La tecnologıa utilizada

por Mariel fue el Arduino como componente central del sistema electronico, sistemas An-

droid para visualizar datos en una plataforma movil y CLIPS como motor de inferencia,

es decir, un Sistema Experto encargado de controlar logicamente el manejo y utilizacion

del conocimiento almacenado en la base de datos recabada, y a su vez, procesarla.

14

Page 15: INSTITUTTO POLITÉCNICO NACIONAL

15

S. T. Perez [2], usa redes neuronales para procesamiento de senales en tiempo real, y su

argumentacion se basa en la posibilidad de encontrar metodos de diseno sobre dispositivos

digitales programables para implementar redes neuronales que operen en tiempo real en

procesado digital de la senal. Los metodos deben ser rapidos y flexibles, y permitir evaluar

el efecto del numero de bits sobre la arquitectura. La interfaz utilizada en este prototipo

es Matlab, debido a que se ha convertido en un software estandar para la aplicacion y

modelado de redes neuronales en punto flotante, segun Perez. Ademas, senala otra ventaja

referida a los metodos avanzados de diseno para FPGA (Field-Programmable Gate Array

– Matriz de Puertas Programable, por sus siglas en ingles), que se basan en Simulink y en

Matlab.

En el artıculo de C. Juarez et al. [3], publicado en el margen del VI Congreso Nacional

de Tecnologıa aplicada a Ciencias de la Salud presenta el caso de estudio de los trazos de

un electrocardiograma para hacer una deteccion oportuna de enfermedades cardiovascu-

lares, tomando como referencia a la poblacion mexicana como objeto de estudio. Segun el

artıculo, se utiliza un proceso de reconocimiento de patrones por medio de redes neurona-

les artificiales, en especial del tipo de retro propagacion, para el analisis y clasificacion de

los patrones representativos de enfermedades cardiovasculares.

En su parte experimental, y basandose en la red neuronal, se hicieron comparaciones

con bases de datos de afecciones tales como ritmo sinusal normal, bradicardia sinusal, ritmo

ventricular y taquicardia ventricular de los cuales se realizo una fase de contaminacion por

ruido en la senal del patron para ampliar la capacidad de la red en cuanto a que pueda

reconocer un patron a pesar de que contengan diferencias con respecto al patron original.

C. E. Rose y M. T. Serna [4]presentan en su artıculo una propuesta para la deteccion

de algunas anomalıas cardiacas y la generacion automatica de una alerta. El algoritmo

propuesto utiliza una red neuronal que permite clasificar las arritmias bajo las clases

establecidas por la Asociacion para el Avance de la Instrumentacion Medica (AAMI, por

sus siglas en ingles) y un conjunto de reglas para la deteccion de algunas de ellas. Su

objetivo principal era disenar un sistema con tecnicas inteligentes que permitan detectar

y monitorear anomalıas cardiacas en pacientes no hospitalizados. De tal manera, que se

generen alertas para una atencion inmediata del medico y/o familiares del paciente.

Page 16: INSTITUTTO POLITÉCNICO NACIONAL

16 CAPITULO 2. ESTADO DEL ARTE

C. PadillaNavarro et al. [5]enfocan su artıculo a la deteccion de arritmias, con un meto-

do un tanto particular. El metodo propuesto combina metaheurısticas, es decir, algoritmos

geneticos y los clasificadores KNN y Naive Bayes.

Los AG son algoritmos de busqueda basados en la mecanica de seleccion natural y de la

genetica natural. Combinan la supervivencia del mas apto entre estructuras de secuencias

con un intercambio de informacion estructurado y aleatorio, para construir un algoritmo

de busqueda que tenga algo de lo que las busquedas humanas aplican.

Los clasificadores KNN y Naive Bayes son funciones de clasificacion contenidos en el

programa Weka, un software para el aprendizaje automatico y la minerıa de datos, escrito

en Java y desarrollado en la Universidad de Waitako.

Las metaheurısticas se implementan para mejorar el rendimiento de los clasificadores.

Los resultados experimentales que se muestran en el artıculo logran hasta un 94 % de

precision en la clasificacion.

En el compilado de artıculos La simulacion en Ingenierıa, trascendiendo fronteras, B.

Rivas et al. [6]publican un documento que contiene los datos acerca de una investigacion

realizada sobre la aplicacion de las redes neuronales en la determinacion, mediante un

dispositivo electronico capaz de medir en tiempo real la frecuencia cardiaca y posicion del

usuario para diagnosticar posibles aflicciones relacionadas al corazon.

Los artıculos que se describen en este capıtulo son desarrollos e implementaciones

que se han documentado alrededor del mundo en tiempos recientes. La mayorıa tiene

relacion cercana con la inteligencia artificial y con el reconocimiento de patrones, pero,

indudablemente, cada uno tiene particularidades, y diferentes metodos de desarrollo e

implementacion, ası como el equipo utilizado.

La principal diferencia de todos estos proyectos al que se desarrolla en este escrito es

la interfaz utilizada, en este caso Matlab, ası como el procedimiento de entrenamiento

de las redes en turno. El motivo de utilizar Matlab es debido a que la herramienta para

entrenamiento y simulacion de redes neuronales (nntool) es una herramienta que se ha ido

perfeccionando desde hace ya varios anos, por lo que actualmente es de los complementos

mas poderosos y precisos que nos ofrece Matlab, ademas de proporcionar una interfaz

amigable y accesible para cualquier usuario.

Page 17: INSTITUTTO POLITÉCNICO NACIONAL

17

Figura 1. Vehıculos Braitenberg y su reaccion a la luz.

Cuando la luz que penetra es mayor, los motores avanzan a mayor velocidad, lo que

provoca que el sensor que esta mas cercano a la luz, acelere la velocidad de esa rueda, lo

cual evita que colisione con la fuente luminiscente. Con esto se confirma de cierto modo

el concepto de McCarthy. Pero no es suficiente, ya que la IA tiene como objetivo resolver

problemas aun mas exigentes, mismos que el pequeno automovil es incapaz de resolver.

Casi el mismo tiempo, otro intento de definir la IA lo hizo Alan Turing, quien es con-

siderado el padre de la computacion. El cientıfico es mayormente conocido por la creacion

de su maquina de Turing, la cual es una maquina conceptual que utilizo para formalizar el

modelo computacional que hasta hoy en dıa se sigue utilizando, como lo son operaciones

basicas, y que, basandose en las mismas, demostro que podıa desarrollar una maquina

que pudiera codificar cualquier algoritmo, y que todas las maquinas posteriores a la suya

tendrıa esas mismas operaciones basicas que su maquina.

Turing (foto en figura 2) publico un artıculo en 1950 en la revista Mind, de nombre

“Computing machinery and intelligence”, donde argumentaba que, si una maquina puede

actuar como un humano, entonces podrıamos definirla como inteligente. Para realizar esta

prueba, realizo el llamado “Test de Turing”, el cual consistıa en hacer que un ser humano

se comunicara a traves de un terminal informatico con una entidad que se hallarıa en

alguna otra parte contigua del lugar de la prueba. Esta entidad podıa ser otro ser humano

o una maquina inteligente. Si despues de llevar a cabo una conversacion el ser humano

no era capaz de distinguir si estaba hablando con un ser humano o con otra maquina,

entonces esa maquina podıa definirse como inteligente.

Page 18: INSTITUTTO POLITÉCNICO NACIONAL

18 CAPITULO 2. ESTADO DEL ARTE

Figura 2. Retrato de Alan Turing, creador de la Maquina de Turing.

La mencionada prueba no es solo para el ser humano, la maquina tambien tiene que ser

capaz de reconocer el lenguaje natural en el que hablamos los seres humanos. El habla viene

asociada a una inteligencia superior, y para ser una maquina que sea capaz de reconocerla

e interpretarla, ademas de construir frases, tiene que ser capaz de realizar distintos analisis

de tipo morfologicos, semanticos, sintacticos y contextuales de la informacion recibida y

de la que va a generar. Actualmente, el procesamiento del lenguaje natural o NLP

(Natural Language Processing) es una rama de la IA que se ocupa de las capacidades

de comunicacion entre los ordenadores y los seres humanos utilizando su propio lenguaje.

Es un area cuya aplicacion es multiple, la cual va desde traduccion automatica hasta la

comprension del lenguaje humano, entre otros.

La prueba propuesta por Turing exige tambien una capacidad de razonamiento au-

tomatico, debido a que los humanos somos capaces de llegar a conclusiones con base en

una serie de premisas. Un ejemplo, el ser humano puede concluir que, si esta lloviendo,

el suelo estara mojado, y por ende resbaladizo. Un primer intento para conseguir que las

maquinas razonaran fue llevado a la practica mediante los sistemas expertos, los cuales tra-

tan de llegar a conclusiones logicas mediante hechos o premisas primeramente introducidas

en el sistema.

Otra condicion necesaria es el aprendizaje automatico para que un sistema de IA

Page 19: INSTITUTTO POLITÉCNICO NACIONAL

19

sea considerado como tal. Si una maquina es incapaz de aprender cosas nuevas, no sera

capaz de adaptarse al entorno, cuya condicion es exigible a cualquier ser vivo dotado de

inteligencia. En la IA, las lıneas de investigacion actuales intentan hacer que las maquinas

sean capaces de hacer generalizaciones a partir de ejemplos obtenidos del entorno. Por

ejemplo, un nino aprende desde pequeno que si se cae puede hacerse dano, y necesita de

varias ocasiones en las que esto suceda para que exista esta generalizacion.

Evidentemente, y sumado a todo lo anterior, la computadora debe ser capaz de al-

macenar y recuperar toda la informacion procesada y aprendida, es decir, mecanismos de

representacion del conocimiento. Por si sola esta es una rama de la inteligencia ar-

tificial que investiga tecnicas de almacenamiento de informacion que sea accesible de una

manera facil, y que tambien sea facil de utilizar por los sistemas inteligentes.

Para aprobar en su totalidad el test de Turing, la maquina tambien debe tener la capa-

cidad de vision artificial, ademas de la manipulacion de objetos, es decir, robotica. A

traves de una camara, cualquier computadora o dispositivo portatil puede obtener image-

nes del entorno, pero una cosa es obtener las imagenes y otra es entender la informacion

a la que esta accediendo por el simple hecho de contar con una camara. Por otro lado, la

capacidad de la manipulacion de objetos necesita hacer uso de la vision artificial, sumado

a otro tipo de sensores, esto para saber la espacialidad donde se encuentra el objeto, la

distancia, ademas de la presion necesaria para manipular el mismo sin hacerle dano, tareas

cotidianas para un ser humano, pero nada sencillas para un ordenador. La idea de Turing

fue tomada como base para entender la IA. Pero la idea de que una maquina sera inte-

ligente si actua como un humano es discutida por otros investigadores. Algunos afirman

que, si una maquina piensa como humano, entonces es inteligente; otros defienden la idea

de que una maquina es inteligente si piensa o actua de forma racional.

Al final, el concepto de inteligencia va mas alla de un simple aspecto de la similitud

de que el actuar de una maquina sea igual al de un ser humano, ya que no solo se trata

de actuar como un ser humano, sino de pensar como el, pero al mismo tiempo tambien es

difıcil conceptualizar el como es que un ser humano piensa. Para seguir enriqueciendo el

concepto, Elaine Richinsertar ofrece otro concepto, un poco mas pragmatico, el cual dice

que “La Inteligencia Artificial es el estudio de como hacer que las computadoras realicen

Page 20: INSTITUTTO POLITÉCNICO NACIONAL

20 CAPITULO 2. ESTADO DEL ARTE

actividades en las que, hasta este momento, las personas son mejores realizandolas.”

Tareas como la ejecucion de muchos calculos en un corto perıodo de tiempo son los

puntos fuertes de las computadoras digitales. En este sentido, superan a los humanos

por mucho. Sin embargo, en muchas otras areas los humanos son muy superiores a las

maquinas. Por ejemplo, una persona que ingresa a una habitacion desconocida reconocera

el entorno en fracciones de segundo y, si es necesario, tomara las decisiones y planificara

las acciones que deba hacer con la misma rapidez. Hasta la fecha, esta tarea es demasiado

exigente para los robots autonomos.

La fuerza particular de la inteligencia humana es la adaptabilidad. Somos capaces de

adaptarnos a diversas condiciones ambientales y cambiar nuestro comportamiento en con-

secuencia a traves del aprendizaje. Precisamente porque nuestra capacidad de aprendizaje

es muy superior a la de las computadoras, el aprendizaje automatico es, segun la definicion

de Rich, un subcampo central de la IA, tal y como lo mencionaba uno de los procesos del

Test de Turing. Al final, el concepto inteligencia artificial radica en la capacidad en una

maquina de realizar tareas que los seres humanos realizan, o mejorar la ejecucion de las

mismas, hablando de velocidad o eficiencia.

Page 21: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 3

Marco teorico

3.1. Inteligencia artificial

Encontrar un inicio de la Inteligencia Artificial es una tarea difıcil. Sin embargo, el

principio de esta ciencia podrıa situarse en 1943, gracias a Warren McCulloch y Walter

Pitts, quienes con sus trabajos en los que proponıan el primer modelo de red neuronal

artificial parecen haber dado en el clavo de toda esta investigacion. El modelo era bastante

simple, pero McCulloch y Pitts demostraron que era capaz de aprender y resolver funciones

logicas.

Desde esa decada hasta mediados de los 80’s hubo un extrano ausentismo de inves-

tigacion respecto a la IA. Pero mientras ese tiempo pasaba, Alan Turing publico el ya

mencionado artıculo “Computing Machinery and Intelligence” en 1950, y anos despues

Turing participarıa en la creacion del primer programa capaz de jugar al ajedrez. A partir

de que se considera a Turing como el pionero de la investigacion, el termino Inteligen-

cia Artificial fue acunado por el tambien ya mencionado John McCarthy, que posterior

inventarıa el lenguaje LISP, considerado el lenguaje de la IA, y con ayuda de cientıficos

como Minsky, Claude, Shannon o Newell convocaron una conferencia de dos meses en

Dartmounth College, donde se reunieron los mejores investigadores, dando lugar a la era

moderna del IA.

Desafortunadamente, el impulso inicial y la euforia de esta conferencia fueron des-

apareciendo de a poco al constatarse que los resultados y objetivos que se pusieron a la

21

Page 22: INSTITUTTO POLITÉCNICO NACIONAL

22 CAPITULO 3. MARCO TEORICO

IA se iban cumpliendo. Habıa maquinas capaces de jugar ajedrez y resolver problemas

sencillos, pero ninguna llegaba a vislumbrar el nacimiento de una maquina pensante. Las

investigaciones fueron decayendo, y por eso mismo pocas investigaciones invertıan tiempo

y dinero.

A principios de los 80’s, los sistemas expertos hicieron retomar el cauce de la inves-

tigacion, sobre todo porque su aplicacion directa a la industria. La industria americana

invirtio millones de dolares en crear sistemas expertos de todo tipo, pero no fue hasta

mediados de esa epoca donde las redes neuronales para provocar un nuevo giro en la in-

vestigacion de la IA. Ya en los 90’s, nuevos avances como las redes ocultas de Markov, las

redes probabilısticas tales como redes bayesianas, los agentes inteligentes y otras tecnicas

novedosas llevaron a la IA a un nuevo nivel en el que sus aplicaciones comienzan a estar

cada vez mas presentes en la vida de las personas.

En la actualidad, son muchas las universidades que dedican presupuesto a la investi-

gacion en este campo, pero sobre todo la iniciativa privada toma la batuta en este rubro.

Empresas como Google, Apple, y otras instituciones invierten grandes cantidades de dine-

ro. La aparicion del internet fue fundamental, cuya gran cantidad de informacion facilita

el acceso a grandes cantidades de datos analizables, y a su vez, esta gran cantidad de datos

demanda nuevas tecnicas de analisis. Por ejemplo, el mismo Google que, debido a todas

las busquedas en su servidor, analiza todos los clics de los usuarios y va aprendiendo en

cuanto a lo que mas la interesa a la sociedad, a las regiones, y ası ir mejorando los motores

de busqueda y sus resultados.

Otro ejemplo claro es la lucha contra el spam o correo basura. Es un hecho, el uso de

ciertos clasificadores y otras tecnicas probabilısticas se muestran muy eficaces en contra de

dicho mal. De la mano, el mercado de consumo, en este caso los smartphones, que incluyen

en su sistema operativo los conocidos asistentes personales, cuya programacion esta basada

en reconocimiento de voz, mismo que se usa para realizar tareas, o incluso conversar.

Tambien existe el reconocimiento facial en las fotografıas, utilizado para cuestiones de

seguridad o para simple entretenimiento en las redes sociales y como ese, muchos mas

ejemplos de la IA.

Tambien la IA se esta empezando a implementar en la industria automovilıstica, que

Page 23: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 23

trabaja en servicios de coches autonomos que conducen solos o que son entrenados para

prever situaciones complicadas y actuar ante adversidades. Tambien incorporan el recono-

cimiento del habla, lo cual en un futuro posibilitara conducir el automovil con solo darle

indicaciones por voz. Y los ejemplos siguen y siguen y con ello las posibilidades de evolu-

cion mientras el avance de la tecnologıa continue. La siguiente enumeracion muestra un

resumen sobre los hechos historicos de la Inteligencia Artificial:

1931 El austriaco Kurt Godel muestra que en la logica de predicados de primer orden

todas las afirmaciones verdaderas son derivables. En las logicas de orden superior,

por otro lado, hay ciertas declaraciones que no son demostrables.

1937 Alan Turing senala los lımites de las maquinas inteligentes con el problema de la

detencion.

1943 McCulloch y Pitts modelan redes neuronales y hacen la conexion con la logica

proposicional.

1950 Alan Turing define la inteligencia de la maquina con la prueba de Turing y escribe

sobre maquinas de aprendizaje y algoritmos geneticos.

1951 Marvin Minsky desarrolla una maquina de red neuronal. Con 3000 tubos de vacıo

el simula 40 neuronas.

1955 Arthur Samuel (IBM) construye un programa de aprendizaje de ajedrez que juega

mejor que su desarrollador.

1956 McCarthy organiza una conferencia en el Dartmouth College. Aquı se introdujo

por primera vez el nombre de Inteligencia Artificial. Newell y Simon de la Univer-

sidad Carnegie Mellon (CMU) presentan el teorico de la logica, el primer programa

informatico de procesamiento de sımbolos.

1958 McCarthy inventa en el MIT (Instituto de Tecnologıa de Massachusetts) el lenguaje

de aton nivel LISP. Escribe programas que son capaces de modificarse.

1959 Gelernter (IBM) construye el Proyector de teorıas de geometrıa.

Page 24: INSTITUTTO POLITÉCNICO NACIONAL

24 CAPITULO 3. MARCO TEORICO

9161 The General ProblemSolver (GPS) de Newell y Simon imita el pensamiento hu-

mano.

1963 McCarthy funda el laboratorio de inteligencia artificial en la Universidad de Stan-

ford.

1965 Robinson inventa el calculo de resolucion para la logica de predicado.

1966 El programa de Weizenbaum, Eliza, lleva a cabo dialogos con personas en lenguaje

natural.

1969 Minsky y Papert muestran en su libro Perceptrons que el perceptron, una red

neuronal muy simple, solo puede representar funciones lineales.

1972 El cientıfico frances Alain Colmerauer inventa el lenguaje de programacion logi-

co PROLOG. El medico britanico Dombal desarrolla un sistema experto para el

diagnostico del dolor abdominal agudo, pero pasa desapercibido en la comunidad de

la IA de la epoca.

1976 Shortliffe y Buchanan desarrollan MYCIN, un sistema experto para el diagnostico

de enfermedades infecciosas, que es capaz de hacer frente a la incertidumbre.

1981 Japon comienza, a un alto costo, el ”Proyecto de Quinta Generacioncon el objetivo

de construir una poderosa maquina PROLOG.

1982 R1, el sistema experto para configurar computadoras, le ahorra a Digital Equipment

Corporation 40 millones de dolares por ano.

1986 Renacimiento de las redes neuronales a traves de, entre otros, Rumelhart, Hinton

y Sejnowski. El sistema Nettalk aprende a leer textos en voz alta.

1990 Pearl, Cheeseman, Whittaker, Spiegelhalter introducen la teorıa de la probabilidad

en IA con redes bayesianas. Los sistemas multiagente se vuelven populares.

1992 El programa Tesauros TD-gammon demuestra las ventajas del aprendizaje por

refuerzo.

Page 25: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 25

1993 Iniciativa mundial de RoboCup para construir robots autonomos de juego de futbol.

1995 Desde la teorıa del aprendizaje estadıstico, Vapnik desarrolla maquinas de vectores

de soporte, que sonmuy importantes hoy en dıa.

1997 El ordenador de ajedrez de IBM, Deep Blue, derrota al campeon mundial de ajedrez

Gary Kasparov. Primera competicion internacional de RoboCup en Japon.

2003 Los robots en RoboCup demuestran de manera impresionante lo que la IA y la

robotica son capaces de lograr.

2006 La robotica de servicios se convierte en un area importante de investigacion de

inteligencia artificial.

2010 Los robots autonomos comienzan a conocer sus polıticas.

2011 El programa de comprension de preguntas y respuesta a preguntas naturales de

IBM “Watson” derrota a dos humanos campeones en el programa de preguntas de

television ”Jeopardy!”[8]

3.1.1. Reconocimiento de patrones

El reconocimiento de patrones es una de las ramas mas representativas de la Inteli-

gencia Artificial. El reconocimiento de patrones es nativo de los seres humanos. Desde

pequenos, los seres humanos son capaces de reconocer patrones, como el sonido de la voz

de los padres o el color de los objetos. De ahı se busca que los ordenadores y las maquinas

inteligentes tengan la capacidad de hacer lo mismo, y procesar en tiempo real la infor-

macion y aplicarlo. Hablando de reconocimiento como rama de IA, el reconocimiento de

patrones podrıa definirse como la ciencia que relaciona objetos fısicos y/o abstractos, con el

proposito de extraer informacion que permita establecer propiedades de o entre conjuntos

de dichos objetos. Existen distintos enfoques del reconocimiento de patrones:

Reconocimiento Estadıstico de Patrones: Este enfoque se basa en la teorıa de

probabilidad y estadıstica. Supone que se tiene un conjunto de medidas numericas con

Page 26: INSTITUTTO POLITÉCNICO NACIONAL

26 CAPITULO 3. MARCO TEORICO

distribuciones de probabilidad conocidas, de las cuales a partir de ellas se hace el recono-

cimiento.

Reconocimiento Sintactico de Patrones: Este enfoque se basa en encontrar las

relaciones estructurales que guardan los objetos de estudio, utilizando la teorıa de lenguajes

formales. El objetivo es construir una gramatica que describa la estructura del universo

de objetos.

Redes Neuronales: Este enfoque supone que tiene una estructura de neuronas in-

terconectadas que se estimulan unas a otras, las cuales pueden ser “entrenadas” para dar

una cierta respuesta cuando se le presentan determinados valores.

Reconocimiento Logico Combinatorio de Patrones: Este enfoque se basa en la

idea de que la modelacion del problema debe ser lo mas cercana posible a la realidad de

este, sin hacer suposiciones que no esten fundamentadas. Uno de los aspectos esenciales

del enfoque es que las caracterısticas.

Como ya se comento, de los aspectos importantes del reconocimiento de patrones es

su potencial de aplicacion. Se ha utilizado en una gran variedad de areas, incluyendo agri-

cultura, educacion, seguridad, transporte, finanzas, medicina y entretenimiento. Existen

aplicaciones especıficas que se encuentran en el campo de la biometrıa, bioinformatica,

analisis de datos multimedia, reconocimiento de documentos, diagnostico de fallos, y sis-

temas expertos. La clasificacion es una idea tan fundamental para los humanos que el

reconocimiento de patrones naturalmente encuentra un lugar en cualquier campo. El reco-

nocimiento de patrones, independientemente del tipo que sea, se integra por tres etapas que

son: seleccion de variables, metodo de seleccion de variables, y clasificacion de variables.

Seleccion de variables

Consiste en determinar cual es el conjunto de caracterısticas mas adecuado para describir

a los objetos. La seleccion de variables tiene dos usos distintos, para la clasificacion y para

la representacion. La seleccion de variables para la clasificacion selecciona caracterısticas

relevantes a partir de un conjunto total de caracterısticas que describen los objetos. Se

hace con dos motivos fundamentales, mejorar la clasificacion y/o aumentar la velocidad

de procesamiento. La seleccion de variables para la representacion se enfoca en decidir

cuales caracterısticas representan mejor a cierto tipo de objetos.

Page 27: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 27

Las estrategias de seleccion de variables se dividen en dos: Wrapper, donde la seleccion

de caracterısticas se hace usando informacion del mecanismo de clasificacion, y filter,

donde la seleccion se hace con un criterio independiente del clasificador (ver figura 3).

Los metodos de seleccion de variables son tres:

1. Tablas de Decision: Se busca un subconjunto mınimo de variables que no intro-

duzca confusion entre clases.

2. ID3:Se crea un arbol de decision y se selecciona un conjunto de variables que permita

discriminar entre clases.

3. Teorıa de Testores: Se buscan todos los subconjuntos de variables discriminantes

minimales, con estos se evalua la relevancia de cada variable y se seleccionan aquellas

con mayor relevancia.

Figura 3. Diagrama a bloques del proceso de seleccion de variables.

Clasificacion de variables Es posible realizar la clasificacion de variables a traves

de clasificacion no supervisada y clasificacion supervisada.

• Clasificacion no supervisada

Dada una muestra de objetos no clasificados, el sistema obtiene la estructuracion

en clases de dicha muestra. Existe la clasificacion restringida, donde el numero de

Page 28: INSTITUTTO POLITÉCNICO NACIONAL

28 CAPITULO 3. MARCO TEORICO

clases en la que se estructurara la muestra esta previamente definido, y la clasifica-

cion libre, donde el numero de clases en la que se estructurara la muestra depende

exclusivamente de los datos.

Las estrategias para la clasificacion no supervisada son jerarquicas, que puede ser

divisiva o aglomerarıa, de reagrupamiento, que hace un primer agrupamiento y se

va refinando iterativamente, y logico combinatorio, que define ciertas condiciones

que deben cumplir los agrupamientos y se buscan los grupos que las cumplan.

Los metodos de clasificacion no supervisada son Simple Link y Complete Link,

que parten de grupos unitarios de objetos y van uniendo los grupos mas parecidos

en cada etapa, hasta cumplir alguna condicion. El metodo ISODATA, que se van

formando grupos que se ajustan iterativamente usando teorıa de probabilidades, en

algunas versiones se puede hacer la union o division de algun grupo (ver figura 4). El

metodo C-means, se define un grupo de semillas, se asocia cada objeto al grupo de

la semilla mas parecida, se toman los centroides de cada grupo como nuevas semillas

y se itera hasta que se estabilice. Y los Criterios Logico Combinatorios, donde

los criterios que se imponen a los grupos son tales como ser conexos, completos

maximales, compactos, etc.

Figura 4. Diagrama a bloques de los tipos de clasificacion no supervisada.

Clasificacion supervisada: La clasificacion supervisada utiliza varios metodos;

Page 29: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 29

uno es Superficies de Separacion Se suponen los objetos en Rny se busca un

conjunto de superficies que separen a las clases Funciones discriminantes donde

son dos clases, se busca obtener una funcion g tal que para un nuevo objeto O, sig

(O)=>0 se asigna a la clase 1 y en otro caso a la 2. Si son multiples clases se busca

un conjunto de funciones giy el nuevo objeto se ubica en la clase donde la funcion

tome el mayor valor; Vecino mas cercano donde un nuevo objeto se ubica en la

clase donde este el objeto de la muestra original que mas se le parece, y el metodo de

redes neuronales, en el cual se entrena una red de neuronas interconectadas, con

los ejemplos para cada clase, con esto al presentarle un objeto nuevo en sus entradas

la red dara como resultado la clase a la cual pertenece. [9]

3.1.2. Redes neuronales

El objetivo de este proyecto radica en usar una rama del reconocimiento de patrones,

especıficamente la de redes neuronales, aplicado en el area medica. Basicamente, tomando

parte del concepto de Aizenberg [10], las redes neuronales son modelos simples del funcio-

namiento del sistema nervioso. Las unidades basicas son las neuronas, que generalmente

se organizan en capas, como se muestra en la Figura 5.

Figura 5. Estructura de una red neuronal.

Page 30: INSTITUTTO POLITÉCNICO NACIONAL

30 CAPITULO 3. MARCO TEORICO

Una red neuronal emula el modo en que el cerebro humano procesa la informacion,

es decir, muchas unidades de procesamiento trabajan simultaneamente, interconectadas

entre sı, simulando versiones abstractas de neuronas. Las unidades de procesamiento se

organizan en capas. En una red neuronal artificial, normalmente existen tres: una capa

de entrada, con unidades que representan los campos de entrada, una o varias capas

ocultas, encargadas de interconexion entre ellas y procesamiento; y una capa de salida,

con una unidad o unidades que representa el campo o los campos de destino. Las unidades

se conectan con fuerzas de conexion variables (o ponderaciones/pesos ponderados). El

procesamiento de datos se resume en que la informacion a la entrada se presenta en la

primera capa, los valores se propagan desde cada neurona hasta cada neurona de la capa

siguiente, y finalmente, se envıa un resultado desde la capa de salida.

La red aprende examinando los registros individuales, generando una prediccion para

cada registro y realizando ajustes a las ponderaciones cuando realiza una prediccion in-

correcta. Este proceso se repite muchas veces y la red sigue mejorando sus predicciones

hasta haber alcanzado uno o varios criterios de parada, que pueden ser aciertos, errores,

tiempo, iteraciones de la red, y demas.

Al inicio del proceso, las ponderaciones son aleatorias y las respuestas que resultan

de la red son, posiblemente, totalmente equivocas y sin coherencia. La red aprende a

traves del entrenamiento, esto es, se presenta a la red ejemplos para los que se conoce

el resultado, y las respuestas que proporciona se comparan con los resultados conocidos.

La informacion procedente de esta comparacion se pasa hacia atras a traves de la red,

cambiando las ponderaciones gradualmente, y poco a poco haciendolas mas precisas a

medida que progresa el entrenamiento en cuanto a resultados correctos. Una vez entrenada,

la red se puede aplicar a casos futuros en los que se desconoce el resultado. [11]

En cuanto a investigacion de metodos de reconocimiento de patrones y de redes neu-

ronales. Actualmente existen muchos grupos con sede en diferentes universidades de todo

el mundo que estan realizando trabajos de investigacion en el area de las redes neuronales

artificiales. Cada grupo tiene diferente enfasis y motivacion con los neurologos, psicologos

del conocimiento, fısicos, programadores y matematicos. Todos ellos ofrecen nuevos puntos

de vista e intuiciones en esta area de la tecnica.

Page 31: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 31

Ademas, es importante volver a comentar y resaltar el esfuerzo economico y tecnico

que estan realizando las empresas privadas, sobre todo en Estados Unidos, Japon, China,

Rusia y toda Comunidad Economica Europea. Como de muestra de las inversiones en

estos paıses, basta conocer que solo en Estados Unidos se gasta mas de 100 millones de

dolares al ano, solo en investigacion. [12]

Arquitecturas y aplicaciones de las redes neuronales

Las redes neuronales han ido evolucionando significativamente, y con este avance, se han

desarrollado distintas arquitecturas de aprendizaje, con distintos objetivos, virtudes y de-

bilidades, lo que provoca que alguna arquitectura sea mas eficiente para alguna aplicacion

que otra. A continuacion, se presentan generalidades de las arquitecturas mas utilizadas

desde los inicios hasta hoy en dıa.

Entre las decadas de 1950 y 1960 el cientıfico Frank Rosenblatt, inspirado en el trabajo

de Warren McCulloch y Walter Pitts creo el Perceptron, la unidad desde donde nacerıa y

se potenciarıan las redes neuronales artificiales.

Un perceptron (figura 6) toma varias entradas binarias x1, x2, etc. y produce una

sola salida binaria. Para calcular la salida, Rosenblatt introduce el concepto de “pesos

ponderados” w1, w2, etc. un numero real que expresa la importancia de la respectiva

entrada con la salida. La salida de la neurona sera 1 o 0 si la suma de la multiplicacion de

pesos por entradas es mayor o menor a un determinado umbral. Sus principales usos son

decisiones binarias sencillas, o para crear funciones logicas como OR, AND, etc.

Figura 6. Dibujo representativo de un Perceptron.

Multilayer Perceptron (Perceptron multicapa): En el ano de 1965, el multilayer

perceptron fue una mejora del perceptron de una unica neurona a mas de una. Ademas,

Page 32: INSTITUTTO POLITÉCNICO NACIONAL

32 CAPITULO 3. MARCO TEORICO

aparece el concepto de capas de entrada, oculta y salida, pero con valores de entrada y

salida binarios. El valor de los pesos como el de umbral de cada neurona era asignado

manualmente por el cientıfico. Cuantos mas perceptrones en las capas, mucho mas difıcil

es conseguir los pesos para obtener salidas deseadas.

Multilayer Perceptron (Perceptron multicapa):En el ano de 1965, el multilayer

perceptron fue una mejora del perceptron de una unica neurona a mas de una. Ademas,

aparece el concepto de capas de entrada, oculta y salida, pero con valores de entrada y

salida binarios. El valor de los pesos como el de umbral de cada neurona era asignado

manualmente por el cientıfico. Cuantos mas perceptrones en las capas, mucho mas difıcil

es conseguir los pesos para obtener salidas deseadas (figura 7).

Figura 7. Dibujo que representa el Multilayer Perceptron.

Redes Feedforward (hacia adelante): Se les llama ası a las redes en que las salidas

de una capa son utilizadas como entradas en la proxima capa. Esto quiere decir que no hay

ciclos “hacia atras. Siempre sus valores de entrada sin procesados hacia adelante. Ademas

existe el concepto de Fully Connected Feedforward Networks - Redes de avance totalmente

conectadas-, que se refiere a que todas las neuronas de entrada estan conectadas con todas

las neuronas de la siguiente capa.

Redes Backpropagation (propagacion hacia atras): Gracias al algoritmo de

Backpropagation se hizo posible entrenar redes neuronales de multiples capas de manera

supervisada. Al calcular el error obtenido en la salida e ir propagando hacia las capas

anteriores se van haciendo ajustes pequenos (minimizando errores) en cada iteracion, para

Page 33: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 33

lograr que la red aprenda y que pueda clasificar las entradas correctamente mientras mas

se entrene.

Convolutional Neural Networks (Redes Neuronales Convolucionales): Las

Convolutional Neural Networks son redes multicapas que toman su inspiracion de la cor-

teza visual de los animales. Esta arquitectura es util en varias aplicaciones, principalmente

procesamiento de imagenes. La primera CNN fue creada por Yann LeCun y estaba enfo-

cada en el reconocimiento de letras manuscritas.

La arquitectura constaba de varias capas que implementaban la extraccion de carac-

terısticas y luego clasificar. La imagen se divide en campos receptivos que alimentan una

capa convolucional que extrae caracterısticas de la imagen de entrada (detectar lıneas ver-

ticales, vertices, etc). El siguiente paso es la agrupacion, que reduce la dimensionalidad de

las caracterısticas extraıdas manteniendo la informacion mas importante. Luego se hace

una nueva convolucion y otro reagrupamiento, que alimenta una red feedforward multica-

pa. La salida final de la red es un grupo de nodos que clasifican el resultado, Por ejemplo,

un nodo para cada numero del 0 al 9 (es decir, 10 nodos, se activan de a uno).

Esta arquitectura usando capas profundas y la clasificacion de salida abrieron un mundo

nuevo de posibilidades en las redes neuronales. Las CNN se usan tambien en reconocimiento

de video y tareas de Procesamiento del Lenguaje natural (figura 8).

Figura 8. Dibujo que representa una Convolutional Neural Network.

Long Short Term Memory / Recurrent Neural Network (Memoria a largo

plazo a largo plazo / red neuronal recurrente): Las redes Long Short Term Memory

son un tipo de red recurrente. Esta arquitectura permite conexiones hacia atras entre las

capas. En 1997 se crearon las LSTM que consisten en unas celdas de memoria que permiten

a la red recordar valores por perıodos cortos o largos.

Page 34: INSTITUTTO POLITÉCNICO NACIONAL

34 CAPITULO 3. MARCO TEORICO

Una celda de memoria contiene compuertas que administran como la informacion fluye

dentro o fuera. La puerta de entrada controla cuando puede entran nueva informacion en

la memoria. La puerta volatil controla cuanto tiempo existe y se retiene esa informacion.

La puerta de salida controla cuando la informacion en la celda es usada como salida de

la celda. La celda contiene pesos que controlan cada compuerta. El algoritmo de entrena-

miento (conocido como backpropagation through time -propagacion hacia atras a traves

del tiempo-) optimiza estos pesos basado en el error de resultado. Las LSTM se han aplica-

do en reconocimiento de voz, de escritura, escritura de texto por voz y otras tareas (figura

9)

Figura 9. Dibujo que representa una Long Short Term Memory.

Deep Belief Networks (Red de aprendizaje profundo): Las Deep Belief Net-

works (figura 10), demostraron que utilizar pesos aleatorios al inicializar las redes pudiera

ser contraproducente. Por ejemplo, al utilizar redes Backpropagation con Descenso por gra-

diente muchas veces se caıa en mınimos locales, sin lograr optimizar los pesos. La opcion de

estas redes es utilizar una asignacion de pesos inteligente mediante un pre-entrenamiento

de las capas de la red.Se basa en el uso de la utilizacion de Restricted Boltzmann Machi-

nes - Maquinas restringidas de Boltzmann - y Autoencoders – Autocodificadores - para

pre-entrenar la red de manera no supervisada. Luego de pre-entrenar y asignar estos pesos

iniciales, se debe entrenar la red de forma habitual de modo supervisado.

Page 35: INSTITUTTO POLITÉCNICO NACIONAL

3.1. INTELIGENCIA ARTIFICIAL 35

Figura 10. Dibujo que representa Deep Belief Network.

Generative Adversarial Networks (redes generativas adversas): La idea detras

de GAN es la de tener dos modelos de redes neuronales compitiendo. Uno, llamado Ge-

nerador, toma inicialmente (datos basura) como entrada y genera muestras variadas. El

otro modelo, llamado Discriminador, recibe a la vez muestras del Generador y del conjun-

to de entrenamiento (real) y debera ser capaz de diferenciar entre las dos fuentes. Estas

dos redes juegan una partida continua donde el Generador aprende a producir muestras

mas realistas y el Discriminador aprende a distinguir entre datos reales y muestras arti-

ficiales. Estas redes son entrenadas simultaneamente para finalmente lograr que los datos

generados no puedan detectarse de datos reales.

Sus aplicaciones principales son la de generacion de imagenes realistas, pero tambien la

de mejorar imagenes ya existentes, o generar textos en imagenes, o generar textos siguiendo

un estilo determinado y hasta desarrollo de moleculas para industria farmaceutica. [13]

Figura 11. Dibujo que representa una Generative Adversarial Network.

Page 36: INSTITUTTO POLITÉCNICO NACIONAL

36 CAPITULO 3. MARCO TEORICO

3.2. Aplicaciones de reconocimiento de patrones

Dentro de esta rama de la inteligencia artificial, existen bastas, sin embargo, las aplica-

ciones que son consideradas como principales son aquellas que han tenido un mayor aporte

a la ciencia y continuan creciendo de acuerdo con las investigaciones.

Dentro de estas aplicaciones, encontramos la deteccion de rostros, la cual es referida

a reconocer o identificar a una persona en medio de la multitud. Puede ser usada en

sistemas de seguridad, control de acceso, ası como la atencion a clientes. El software de

reconocimiento facial analizara las imagenes obtenidas, posterior a ello, seran cotejadas

con imagenes tomadas con anterioridad, de esta manera podemos conocer la identidad,

preferencias y gustos de las personas de acuerdo con los datos almacenados.

Figura 12. Reconocimiento de rostros e identificacion de personas.

Cada persona se caracteriza por diferentes rasgos, ası como estilos, y la forma de

caminar no es exento de ello; por lo que la identificacion de personas de acuerdo a su

caminar es posible mediante un software el cual identifica la identidad de la persona que

se esta analizando, es decir, mediante un este software analiza videos tomados los cuales

son comparados con los datos almacenados encontrando similitudes las cuales permitiran

conocer la identidad de la persona que corresponde ese caminar; este aplicativo puede

determinar la duracion del paso, longitud de la zancada, velocidad, angulo del pie, entre

otros (figura 13).

Page 37: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 37

Figura 13. Sistema para identificar personas por su manera de caminar [19].

Con el paso del tiempo la humanidad ha evolucionado debido a la curiosidad que siente

el humano por conocer su entorno, ası como proteger su integridad. Cabe mencionar que

la naturaleza ha sido estudiada por anos con la finalidad de poder predecir fenomenos

naturales como por ejemplo las predicciones de terremotos; se basa en el entrenamiento

de una red neurona l la cual contiene lecturas de diversas perturbaciones en el suelo las

cuales corresponden a alteraciones que se presentan en las placas tectonicas, ademas de

ello, se lleva a cabo un estudio de campo de cada fenomeno telurico, con la finalidad de

entrenar a esta red neuronal y que pueda predecir fenomenos posteriores.

Como se muestra en la Figura 14, las muestras acusticas que se presentan son lecturas

obtenidas de estudios realizados a diferentes movientos teluricos, cabe mencionar que los

cientıficos continuan estudiando estos fenomenos, pues lo que buscan es conseguir la mayor

precision, ası como una prediccion exacta del lugar donde se genera el epicentro y su

magnitud.

Ası como se estudiaron los movimientos teluricos, los geologos, por su parte, desarrollan

un sistema cognitivo el cual permite analizar y guiar un paquete logico, el programa desa-

rrollado permite analizar los datos de exploracion petrolıfera obtenidos mediante senales

electricas, magneticas, nucleares y de audio. Estas senales permiten conocer si se ha obte-

nido petroleo, gas, agua o simplemente el pozo se encuentra vacıo (figura 15).

Page 38: INSTITUTTO POLITÉCNICO NACIONAL

38 CAPITULO 3. MARCO TEORICO

Figura 14. Senales de vibracion generadas por fenomenos teluricos.

Figura 15. Perforacion de pozos petroleros asistido.

Los aplicativos enfocados a la industria; podemos encontrar la automatizacion en la

lınea de ensamblaje siendo utilizados en diversos ambitos, desde el soldado de un circuito

integrado hasta el ensamblaje de un automovil. Cada aplicativo es enfocado segun las

necesidades a cubrir, por ejemplo, en control de calidad asistido permitiendo la inspeccion

visual en la lınea de proceso mediante la toma de imagenes en tiempo real, el sistema

Page 39: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 39

analizara si posee un ensamble adecuado y optimo para que esta pueda salir al mercado de

venta, en caso de que la pieza analizada no sea apta, este aplicativo la detecta y enviara

una senal de alerta al operador con la finalidad de que esta pieza sea retirada, por otro

lado, en la industria automotriz, la automatizacion se enfoca al armado de pequenas piezas,

ademas de ser brindar apoyo en el armado de los autos.

Figura 16. Automatizacion en lınea de ensamblaje.

Actualmente, una de las aplicaciones mas usadas es el reconocimiento de voz. Esta

aplicacion consiste en el reconocimiento de los acordes y tono de la voz los cuales deberan

de ser codificados, ası como reconocidos por el por el software. Para que el software pueda

reconocer la voz del usuario, previamente se debe de almacenar un registro dentro de lavase

de datos, posterior a ello, la nueva onda sonora sera comprara con la base de datos. De

esta manera el aplicativo podra reconocer al usuario.

Figura 17. Reconocimiento de voz.

Page 40: INSTITUTTO POLITÉCNICO NACIONAL

40 CAPITULO 3. MARCO TEORICO

En la vida cotidiana es indispensable el manejo de los diferentes dispositivos mediante

el reconocimiento de voz, ademas de este aplicativo, podemos encontrar el reconocimiento

de caracteres el cual nos permite transformar textos fısicos a textos en electronico, logrando

mayor accesibilidad y mejor manejo de estos.

Conforme la ciencia avanza, la necesidad de tener al alcance diagnosticos certeros ha

aumentado; su enfoque principal es desarrollar aplicativos que apoyen a los medicos al

diagnosticar al paciente. Dentro de estos aplicativos se encuentra el analisis que se realiza

al iris para identificar ciertos problemas que lo aquejan, ademas de este, se encuentran las

mastografıas, rayos x, tomografıas, ecografıas, electrocardiogramas y electroencefalogra-

mas.

Figura 18. Estudios medicos asistidos por computadora.

3.2.1. Arritmias cardiacas

Cada una de estas aplicaciones, pasan por un proceso de aprendizaje y comparacion

de datos; el electrocardiograma, por ejemplo, es uno de los analisis mas confiables que

ayudan a conocer los males que presenta el corazon como lo son las arritmias cardiacas.

Las arritmias cardiacas son aquellas anormalidades que se presentan por la alteracion

de la frecuencia o ritmos cardiacos. Generalmente se presentan cuando el pulso electrico

Page 41: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 41

no es generado de manera correcta, cuando este pulso es generado en un lugar erroneo e

incluso, cuando los caminos para dicha conduccion electrica se encuentran alterados.

Ademas de ello, otros factores que detonan las arritmias son la constante actividad fısica

o por la ausencia de esta, emociones fuertes, dolor, consumo de alcohol, cafeına, drogas

estimulantes, medicamentos para tratar presion arterial, ası como para el tratamiento de

otras afecciones en el corazon, el alto consumo de nicotina y medicamento que se utilizan

para tratamientos de depresion y/o psicosis.

Se considera que, en reposo, un ritmo cardiaco normal se encuentra entre los 60 y

100 latidos por minuto; ademas, se dividen en dos categorıas, de acuerdo con el lugar

del corazon en donde se encuentre la alteracion, es decir, se dividen en ventriculares y

supraventriculares, las cuales se describen a continuacion.

3.2.2. Tipos de arritmias

Ritmo normal Sinusual

El ritmo cardiaco que presenta una persona sana, en reposo, se localiza entre los 60 y 100

latidos por minuto; y se identifica mediante las ondas P que se muestran en el electro-

cardiograma, las cuales se caracterizan por ser ondas pequenas y de bajo voltaje. En la

Figura 19 se muestra la lectura que arroja un electrocardiograma, el cual muestra que el

paciente es sano y posee un ritmo normal.

Figura 19. Lectura tomada de un electrocardiograma de un paciente sano.

Bradicardia sinusal

Caracterizada principalmente por las bajas frecuencias cardiacas (menos de 60 latidos

por minuto), esta afeccion se presenta cuando el pulso electrico que genera la contraccion

Page 42: INSTITUTTO POLITÉCNICO NACIONAL

42 CAPITULO 3. MARCO TEORICO

del corazon no es generado en el marcapasos natural, ademas de que no es enviado a las

cavidades inferiores por las vıas principales provocando que reduzca sus impulsos electricos;

ademas de ello, se presenta al tener una pausa la cual impide enviar los impulsos electricos

y ser tomados de forma normal.

Figura 20. Lectura de paciente que presenta bradicardia sinusal.

El corazon se encuentra dividido en dos partes, en cada una de estas ubicaciones,

se llega a detectar arritmias las cuales de denominan ventriculares y supraventriculares,

de acuerdo con el lugar en donde se presenten estas anomalidades cardiacas, reciben su

nombre.

Arritmias ventriculares

Son aquellas afecciones que se generan en las cavidades inferiores del corazon como se

muestra en la Figura 21. Este tipo de arritmias se caracteriza por presentar senales electri-

cas anormales y en algunos casos, estos ritmos cardiacos aumentan e incluso llegan a

ocasionar que el corazon se detenga por breves segundos.

Figura 21. Ubicacion donde se generan las arritmias ventriculares.

Page 43: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 43

Taquicardia ventricular o taquicardia sinusal

Este tipo de taquicardia se presenta cuando las lecturas el ritmo cardiaco supera los 100

latidos por minuto, ademas, no se generan de manera ordenada, no son controlados tienden

a presentarse en cualquier punto de la pared ventricular siendo transmitidos al corazon

por vıas alternas. Cuando las senales electricas aumentan, estas provocan un cambio en el

ritmo cardiaco siendo percibidas como palpitaciones llegado a provocar falta del aliento,

mareo e incluso desmayo.

La mayorıa de las causas por las que se desarrollan las taquicardias sinusales es por el

estres fısico o mental, es decir, al realizar alguna actividad fısica, subir escaleras, ansiedad,

miedo, susto, etc.

Figura 22. Muestra arrojada por electrocardiograma de paciente que presenta taqui-

cardia sinusal.

Fibrilacion ventricular

Se ubica como una de las arritmias de mayor gravedad, pues, los pulsos electricos se

producen en diferentes puntos de las paredes ventriculares y al mismo tiempo, los cuales

ocasionan que el corazon lata mucho mas rapido, bombeando poca sangre al cerebro y

al resto de los organos; estos latidos generados de manera desordenada y rapida pueden

llegar a registrar en promedio hasta 300 latidos por minuto.

Page 44: INSTITUTTO POLITÉCNICO NACIONAL

44 CAPITULO 3. MARCO TEORICO

Figura 23. Paciente diagnosticado con fibrilacion ventricular.

Contracciones Ventriculares prematuras

Esta afeccion aparece cuando los ventrıculos cardiacos se contraen antes de terminar su

secuencia, es decir, se presenta el pulso cardiaco fuera de la red electrica produciendo

estas palpitaciones, las cuales desaparecen al poco tiempo. Por lo general este tipo de

afeccion se presenta en pacientes con antecedentes de males cardiacos y aquellas personas

que consumen tabaco, alcohol, cafeına, te, chocolate, ası como medicamentos para la gripa.

Figura 24. Muestra de electrocardiograma con lecturas de Contracciones Ventricu-

lares prematuras.

Arritmias supraventriculares

Las arritmias supraventriculares se presentan en las cavidades superiores del corazon como

se muestra en la Figura 25. Cabe mencionar que se caracterizan por presentar latidos

anormalmente rapidos y por lo general, son causadas por el consumo de alcohol, tabaco,

medicamentos para la gripa, cardiopatıa reumatica y glandula tiroides hiperactiva. Este

tipo de afeccion llega a provocar falta de aliento, palpitaciones cardiacas, presion en el

pecho y aceleracion en el pulso.

Page 45: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 45

Figura 25. Ubicacion donde se generan las arritmias supraventriculares.

Presentan senales electricas anormales en las cavidades superiores del corazon, interfi-

riendo con la senal electrica que genera el marcapasos natural, provocando que los latidos

de las cavidades superiores aumenten la frecuencia cardiaca y registrando rangos desde los

150 a 250 latidos por minuto.

Figura 26. Electrocardiograma con lecturas anormales y de acuerdo con una arritmia

supraventricular.

Fibrilacion auricular

Presenta un ritmo rapido e irregular, debido a movimientos consecutivos de las fibras que

se encuentran en el corazon, este padecimiento, puede generar la acumulacion de sangre

en las cavidades superiores del corazon ocasionando coagulos los cuales pueden llegar a

tapar alguna arteria pequena.

Page 46: INSTITUTTO POLITÉCNICO NACIONAL

46 CAPITULO 3. MARCO TEORICO

Figura 27. Electrocardiograma con lecturas anormales y de acuerdo con una fibrila-

cion auricular.

Sındrome de Wolff-Parkinson-White

Este sındrome se presenta cuando el corazon del paciente presenta vıas de conduccion

electrica adicionales, lo que genera pulsos electricos los cuales viajan a mayor velocidad

generando una frecuencia cardiaca elevada

Figura 28. Electrocardiograma con lecturas de paciente que presenta Sındrome de

Wolff-Parkinson-White.

Aleteo auricular

Este padecimiento se presenta al generarse un ritmo cardiaco acelerado lo que provoca que

los ventrıculos latan de manera ineficiente, otra variacion de este mal, son las contracciones

supraventriculares prematuras, las cuales se contraen a destiempo lo que provoca un ritmo

cardiaco irregular.

Figura 29. Muestra de lecturas referidas al aleteo auricular.

Page 47: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 47

Bloqueo cardiaco

Los bloqueos cardiacos se deben principalmente al proceso de envejecimiento a una hin-

chazon o cicatrices del corazon que son ocasionadas por enfermedades arteriales. Se derivan

varios tipos de bloqueos, algunos se caracterizan por presentar pulsos cardiacos lentos, re-

traso e incluso ausencia de estos por un periodo relativamente largo.

Figura 30. Muestra de lecturas referidas a un bloqueo cardiaco.

Para la deteccion de arritmias cardiacas se conocen diferentes metodos de deteccion, sin

embargo, entre los mas destacables se encuentra el electrocardiograma, el cual es uno de

los metodos con mayor eficacia dentro de la medicina, permite visualizar el ritmo cardiaco

mediante la amplificacion de los impulsos electricos que genera el corazon, estos impulsos

electricos, son registrados en un papel que se mantiene en constante movimiento. Mediante

el analisis del marcapasos, las vıas nerviosas de conduccion de los estımulos, la frecuencia

y el ritmo cardiaco, permite conocer ritmos anormales, llegada insuficiente de sangre y

oxıgeno al corazon ademas logra identificar cuando el musculo cardiaco es muy grueso o

delgado.

Posterior a las pruebas, este metodo muestra 12 vistas diferentes de la misma acti-

vidad electrica, o mejor conocidas como derivaciones electrocardiograficas, las cuales se

componen de tres derivaciones estandares, tres derivaciones aumentadas que muestran el

corazon en un plano frontal y seis derivaciones precordiales o toracicas, las cuales muestran

el corazon en un plano horizontal.

Las derivaciones estandares o derivaciones bipolares, se obtienen por medio de un

diferencial de potencial que se logra por medio de un par de electrodos conectados a las

extremidades, logrando ası una relacion entre la altura y la profundidad.

Page 48: INSTITUTTO POLITÉCNICO NACIONAL

48 CAPITULO 3. MARCO TEORICO

Para la obtencion de las tres primeras derivaciones, se obtienen conectando electrodos

de la siguiente manera:

Derivacion I: El brazo izquierdo (polo positivo) y en el brazo derecho (polo negativo).

Figura 31. Derivacion I.

Derivacion II: Los electrodos estaran conectados en el brazo derecho (polo negativo) y

en la pierna izquierda (polo positivo).

Figura 32. Derivacion II .

Derivacion III: Se conectaran los electrodos en el brazo izquierdo (polo negativo) y en

la pierna izquierda (polo positivo)

Page 49: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 49

Figura 33. Derivacion III.

Por otro lado, el segundo bloque, se denominan derivaciones aumentadas, las cuales

son consideradas como derivaciones unipolares ya que incluyen un electrodo positivo que

es ubicado en el brazo izquierdo, derecho o en la pierna izquierda, registrando el potencial

electrico en un punto especıfico con referencia de las dos derivaciones restantes.

Derivacion AVR: Se registra la actividad electrica del corazon desde el brazo derecho.

Esto se debe a que el electrodo del brazo derecho es el electrodo positivo o con voltaje

aumentado con respecto a los electrodos del brazo y pierna izquierda.

Figura 34. Derivacion AVR .

Derivacion AVL: La actividad electrica del corazon registrada, proviene desde el brazo

izquierdo ya que este, es el electrodo positivo con respecto a los electrodos ubicados en el

brazo derecho y en la pierna izquierda.

Page 50: INSTITUTTO POLITÉCNICO NACIONAL

50 CAPITULO 3. MARCO TEORICO

Figura 35. Derivacion AVL .

Derivacion AVF: La lectura de la actividad electrica, se obtiene desde la base del

corazon, es decir, el electrodo positivo se encuentra en la extremidad inferior izquierda

en cambio, los dos electrodos restantes, son ubicados en el brazo izquierdo y en el brazo

derecho.

Figura 36. Derivacion AVF.

Las seis derivaciones faltantes se denominan derivaciones precordiales que van tipifi-

cadas de V1 hasta V6, estas derivaciones registran la actividad del corazon en el plano

horizontal las cuales se obtienen colocando los electrodos como se muestran en la Figura

37.

Se toma como referencia el 4to espacio intercostal, en donde obtendremos V1 que se

ubica a la derecha del esternon, por otra parte, a la izquierda del esternon encontraremos

la lectura tipificada como V2. Para V3, su posicionamiento estara entre V2 y V4, la cual

Page 51: INSTITUTTO POLITÉCNICO NACIONAL

3.2. APLICACIONES DE RECONOCIMIENTO DE PATRONES 51

se encuentra en el 5to espacio intercostal o lınea medio clavicular izquierda. Al igual que

V4, V5 se encuentra en el 5to espacio intercostal solo que estara ubicado sobre la lınea

axilar anterior izquierda. Finalmente, V6, sera encontrada en el 5to espacio intercostal,

sobre la lınea medio axilar izquierda. Otro metodo caracterıstico es la prueba de esfuerzo

cuya finalidad es conocer la existencia y gravedad de enfermedades coronarias y de otros

trastornos cardiacos, los cuales no se presentan cuando se esta en reposo. Consiste en

aumentar el ritmo cardiaco mediante pedalear una bicicleta o estar en una banda rotativa,

lo cual permitira que el ritmo cardiaco aumente gradualmente provocando que la lectura

del ECG se controle de forma continua hasta que la frecuencia cardiaca alcance entre los

80 y 90 por ciento del valor posible de acuerdo con la edad y sexo (figura 38).

Figura 37. Lectura, Comprension e Interpretacion del Electrocardiograma [21]. De-

rivaciones precordiales.

Figura 38. Prueba de esfuerzo.

Page 52: INSTITUTTO POLITÉCNICO NACIONAL

52 CAPITULO 3. MARCO TEORICO

Un electrocardiogramas ambulatorio o continuo, es un pequeno aparato que el paciente

porta las 24 horas del dıa, registrando la hora exacta y el sıntoma que se presenta, estos

resultados son procesados mediante un equipo de computo el cual analiza los cambios en

la actividad electrica que se presentaron durante ese tiempo.

Figura 39. Electrocardiograma ambulatorio.

3.3. MatLab

Es un software el cual ofrece un entorno de desarrollo integrado mediante un lenguaje

de programacion. Este software esta disponible para diferentes plataformas como lo es

Unix, Windows, Mac OS X y Linux. Posee dos herramientas adicionales las cuales son

Simulink y GUIDE las cuales son utilizadas para la simulacion multidominio, ası como la

edicion de interfases de usuarios.

Entre las versatilidades del lenguaje, admite realizar diferentes funciones u operaciones

como vectores, matrices y programacion orientada a objetos entre otros. Sus graficos,

permiten visualizar los datos en 2D y 3D.

Este software permite analizar y desarrollar aplicativos orientados al analisis de da-

tos, vision artificial, procesamiento de senales, finanzas cuantitativas, gestion de riesgo,

robotica, ası como sistemas de control.

Este software permite analizar y desarrollar aplicativos orientados al analisis de datos,

vision artificial, procesamiento de senales, finanzas cuantitativas, gestion de riesgo, robotica

ası como sistemas de control.

Requisitos del sistema:

Disco duro de 4 a 8 GB destinados solo para MatLab

Page 53: INSTITUTTO POLITÉCNICO NACIONAL

3.3. MATLAB 53

Memoria RAM: 4 GB preferentemente

Tarjeta de graficos: OpenGL 3.3 recomendado con 1 GB en GPU.

Procesador: Intel o AMD preferentemente de x86 a 64 bits

Sistema operativo:

Windows: Windows 7 en adelante

Mac: MacOs 10.10 a 10.11

Linux: Kemel 2.6 en adelante y glibc 2.11 en adelante

Page 54: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 4

Desarrollo de la propuesta

La investigacion desarrollada es una investigacion de aplicacion en el ramo tecnologico,

con un diseno de caracter cuasi-experimental, es decir, consiste en la distincion de los

grupos en los que se prueba una variable, sin ningun tipo de seleccion aleatoria o proceso

de pre-seleccion. La poblacion a la que se dirige esta propuesta es a un sector socio-

economico de clase baja, en donde tal vez no sea posible obtener inmediatamente una

prueba de laboratorio, debido a las distancias de traslado o el costo que puede representar;

sin embargo, la simplicidad del manejo de la interfaz permite ser un apoyo para cualquier

tipo de clınica, sea publica o privada. Incluso puede ser una herramienta para usuarios

sin ningun conocimiento medico, que sospechen que pudieran tener algun problema del

corazon.

El enfoque de este proyecto es generar una interfaz, basada en redes neuronales, donde el

doctor pueda ingresar los datos del ritmo cardiaco del paciente, y que sea una herramienta

certera para diagnosticar alguna posible arritmia. El diagnostico otorgado por tal interfaz

es semiautomatico, es decir, que depende del ingreso de datos del usuario para poder

realizar las acciones pertinentes. Para lograr esto, el primer paso fue definir el software

donde se iba a generar la red neuronal. El software utilizado fue Matlab gracias a las

ventajas que ofrece. Una de las mas llamativas es la herramienta para simulacion de redes

neuronales nntool. Esta herramienta permite generar la arquitectura deseada de la red

neuronal y los parametros de entrenamiento de la misma, donde el usuario ingresara los

datos de entrada y las salidas deseadas. La herramienta ya genera los pesos ponderados,

54

Page 55: INSTITUTTO POLITÉCNICO NACIONAL

55

y despues del entrenamiento genera los datos de salida, ası como los errores.

Figura 40. Ventana para configurar una nueva red neuronal dentro de la herramienta

nntool.

La ventana mostrada en la Figura 40 es la que aparece en la herramienta cuando se

desea parametrizar la arquitectura de la red neuronal. Name permite nombrar la red neu-

ronal. Network Type arroja opciones de arquitecturas de redes neuronales. En el ejemplo

mostrado aparece la red tipo Feed-Forward Backpropagation, cuya estructura fue utilizada

en este proyecto. Ademas, la herramienta nntool permite seleccionar el archivo de entrada

(Input Data), el archivo que contiene los datos a los que se quieren llegar despues del entre-

namiento (target data), la funcion de entrenamiento, la funcion de aprendizaje, la funcion

de rendimiento y el numero de capas de la red neuronal (Training function, Adaptation

Page 56: INSTITUTTO POLITÉCNICO NACIONAL

56 CAPITULO 4. DESARROLLO DE LA PROPUESTA

Learning Function, Performance Function, Number of Layers), capas que pueden confi-

gurarse independientemente, en cuanto a numero de neuronas y funcion de transferencia

(Number of neurons, transfer function) que utilizara cada capa, sea lineal, logarıtmica-

sigmoidal o tangencial-sigmoidal.

Las arritmias cardiacas tienen numerosas categorıas, cada una representa un pade-

cimiento distinto, ası como las causas que lo provocan. Este proyecto solo se enfoca en

apoyar en el diagnostico de cinco posibles tipos de estado del ritmo cardiaco:

1. Ritmo normal sinusal

2. Bradicardia sinusal

3. Taquicardia sinusal

4. Ritmo cardiaco irregular, con pausa del ritmo en algun momento del estudio

5. Ritmo totalmente irregular

Existen tres neuronas de entrada, y, por lo tanto, tres datos numericos a la entrada.

Los datos son los siguientes:

1. Lımite inferior de latidos por minuto

2. Lımite superior de latidos por minuto

3. Si el ritmo cardiaco es regular o no

Existe un limite superior e inferior de latidos por minuto debido a que una prueba de

frecuencia cardiaca no se hace por solo un minuto, sino que va desde los 10 hasta los 40

minutos de duracion normalmente. Por eso mismo, la variacion cardiaca existe de minuto

a minuto. Lo que se tiene que verificar es que la variacion se encuentre dentro de los lımites

establecidos, para considerar que el corazon esta actuando de manera correcta. Para poder

entrenar la red neuronal, se utilizaron datos de entrada simulados. Se generaron aleato-

riamente 50 datos para cada categorıa de ritmo cardiaco. A pesar de que la generacion de

datos fue aleatoria, todos esos datos entran dentro del rango que establece cada una de las

Page 57: INSTITUTTO POLITÉCNICO NACIONAL

57

categorıas de ritmo cardiaco. Por ejemplo, en el ritmo normal sinusal, generalmente existe

un ritmo de latidos por minuto de entre 60 y 100; los datos generados aleatoriamente

estan dentro de ese rango. A su vez, los datos aleatorios generados para la bradicardia

sinusal van desde los 40 a los 60 latidos por minuto. Y ası respectivamente, cada categorıa

tiene datos aleatorios dentro del rango, lo que es muy util para el entrenamiento de la

red neuronal, ya que se le estan presentando datos simulados, es decir, muy cercanos a

los datos que normalmente se arrojan en cada categorıa al hacer un electrocardiograma,

siendo 50 pruebas por tipo de ritmo una cantidad bastante considerable para hacer un

correcto entrenamiento.

Se hicieron en total un numero de siete pruebas para el entrenamiento de la red neu-

ronal. En cada una de las pruebas, se cambiaban los parametros de la red, ası como los

valores de los parametros para detener el entrenamiento.1

Figura 41. Parametros de entrenamiento de la red neuronal dentro de la nntool.

En la Figura 41 se muestra un ejemplo de los parametros de entrenamiento de la

red, que pueden ser ingresados por el usuario. Cada uno de ellos representa uno de los

aspectos por los que la red neuronal podrıa detener su entrenamiento. Las epocas (epochs)

representan el numero de iteraciones de la red neuronal. El tiempo (time) evidentemente,

puede ser configurable. Los aciertos (goal) son el Valor Cuadratico Medio (MSE - Media

Square Error, por sus siglas en ingles), y el avance de este parametro representa que cada

1Los resultados de los siete entrenamientos son mostrados en el Anexo 2

Page 58: INSTITUTTO POLITÉCNICO NACIONAL

58 CAPITULO 4. DESARROLLO DE LA PROPUESTA

vez se va perfeccionando mas las salidas que se esperan en la red. El gradiente mınimo

(min grad) representa una medida de validacion de como la tangente llega al mınimo, y

el error maximo (max fail) son los valles y crestas por las que pasa la tangente, que no

necesariamente es el mınimo del error. El objetivo primordial para el entrenamiento de la

red es que detuviera por aciertos, ya que eso representa que la red neuronal alcanzo un

numero alto de salidas correctas respecto a las iteraciones, encima de los otros parametros

para la detencion del entrenamiento de la red.

Todas las redes entrenadas constaban de tres neuronas de entrada -numeros de latidos

por minuto mas bajo, numero de latidos por minuto mas alto e irregularidades en el ritmo

cardiaco- que representan los datos que el usuario ingresara en la interfaz, ası como 5

neuronas de salida, que representan los posibles tipos de ritmo que el paciente presenta,

anteriormente mencionados.

Despues de las pruebas para analizar cual arquitectura neuronal era la que se detenıa

por parametro goal, se pudieron encontrar tres arquitecturas que lograron el cometido,

cada una con configuracion distinta. La arquitectura de cada red neuronal se explica en la

Tabla 1.

Tabla 1. Arquitecturas de las redes neuronales que lograron parar entrenamiento por

NSE.

RedNumero de

capas ocultas

Funcion de transferencia Numero de neuronas por capa

Capa 1 Capa 2 Capa de salida Capa 1 Capa 2

1 2 Tangencial

sigmodial

Tangencial

sigmodial

Tangencial

sigmodial

100 100

2 1 Tangencial

sigmodial

N/A Tangencial

sigmodial

75 N/A

3 1 Tangencial

sigmodial

N/A Tangencial

sigmodial

1000 N/A

El siguiente paso fue probar estas tres redes, pero con datos reales, obtenidos de anali-

sis (electrocardiogramas) clınicos de pacientes de distintas edades y regiones. Entre las

instituciones y laboratorios que generaron estos estudios se encuentran los laboratorios

Salud Digna, el Instituto Mexicano del Seguro Social (IMSS) y el Instituto de Seguridad

y Servicios Sociales de los Trabajadores del Estado (ISSSTE), a los cuales se tuvo acceso

Page 59: INSTITUTTO POLITÉCNICO NACIONAL

59

gracias a familiares que con anterioridad se habıan realizado estas pruebas, y tambien con

apoyo de personas que trabajan en esas instituciones, las cuales amablemente proporcio-

naron datos de algunos estudios; solo se utilizaran los datos del ritmo cardiaco, sin revelar

datos personales o medicos. Dentro del electrocardiograma se generan tres parametros,

que fueron colocados como datos de entrada para la simulacion de las redes neuronales. 2

El numero total de datos usados como entrada para la simulacion fue de 33 distintos

pacientes. Los datos ingresados fueron totalmente desconocidos para la red neuronal; por

lo mismo, y gracias al entrenamiento, se definio una de las tres redes neuronales como

la que mayor eficiencia demostro respecto a las otras dos. Dos de las redes neuronales

mostraron un 69 % de eficiencia, mientras que la tercera arrojo un 72 % de eficiencia al

discriminar el tipo de afeccion que el paciente sufrıa. La arquitectura de la red que mayor

eficiencia obtuvo se muestra en la Figura 42.

Figura 42. Arquitectura de la red neuronal con mayor eficiencia.

El siguiente paso fue generar la interfaz en la cual el usuario ingresara los datos para

el apoyo al diagnostico medico. La interfaz tambien fue creada en Matlab, en un entorno

de programacion visual llamado GUIDE, que permite realizar y ejecutar programas que

necesiten un ingreso continuo de datos; cuenta con las caracterısticas basicas de todos los

softwares de entorno visual. Una aplicacion GUIDE consta de dos archivos: .m y .fig. El

archivo .m es el que contiene el codigo con las correspondencias de los botones de control

de la interfaz, y el archivo. fig contiene los elementos graficos.

2La lista completa de los datos recabados se encuentra en el Anexo C

Page 60: INSTITUTTO POLITÉCNICO NACIONAL

60 CAPITULO 4. DESARROLLO DE LA PROPUESTA

Figura 43. Ventana que permite la configuracion visual del GUIDE.

Se desarrollo un codigo que permitiera al usuario ingresar datos para que la red neuronal

hiciera la funcion de hacer un pre-diagnostico. Esto fue desarrollado gracias a callbacks, es

decir, funciones que se ejecutan en respuesta a algunas acciones de usuario predefinidas,

como hacer clic en algun objeto de la figura.

El programa necesitaba de tres espacios para ingresar los datos de lımite inferior del

ritmo cardiaco del paciente, lımite superior del ritmo cardiaco del paciente y si existıa

irregularidades en el ritmo. El codigo para desarrollar esa parte del programa se explica a

continuacion. Es similar en para las tres ventanas; la unica variacion es la etiqueta que se

usa para cada una de ellas:

function edit1 Callback(hObject, eventdata, handles) % Nombre de la funcion

inf str2double(get(hObject,’String’)); % Convierte el dato ingresado a tipo numerico

Page 61: INSTITUTTO POLITÉCNICO NACIONAL

61

if isnan(inf) %Condicion para verificar que el dato ingresado es un numero, de lo con-

trario aparecera una ventana de error

inf=0;

set(hObject, ’String’,inf);

errordlg(’El valor debe ser numerico’,’Error’)

end

global % Declaracion de una variable global x

x(1,1)str2double(get(handles.edit1,’String’)); % Asignacion del dato ingresado a X. El da-

to se vectoriza, debido a que la red neuronal recibe entradas de tipo vector.

A partir de los datos recibidos por la interfaz, el programa debe ingresarlos para su

procesamiento en la red neuronal, y al mismo tiempo dar un veredicto. Esta accion es rea-

lizada con un pushbutton, es decir, un boton que, al apretarlo, arroje las salidas deseadas.

Aquı el codigo:

function pushbutton1 Callback(hObject, eventdata, handles) % Nombre de la funcion

global x % Declaracion de la variable global x

A = x% Asignacion de la variable global x a una variable A

trained net vars load (’network3.mat’); % carga de la red neuronal

sim(handles.network3, A) % Simulacion de la red neuronal a partir de los datos ingre-

sados por el usuario

Bans % Asignacion de las salidas de la red neuronal a una variable B

if (B (1,1) >=0.85)

Page 62: INSTITUTTO POLITÉCNICO NACIONAL

62 CAPITULO 4. DESARROLLO DE LA PROPUESTA

set(handles.text4,’String’, ’Diagnostico: Ritmo cardiaco normal’)

elseif (B (2,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Bradicardia’)

elseif (B (3,1) >=0.85)

set(handles.text4,’String’, ’Diagnostico: Taquicardia’)

elseif (B (4,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Pausa Irregular’)

elseif (B (5,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Ritmo Irregular’)

else

set(handles.text4,’String’, ’El diagnostico no es certero, realizar otra prueba’)

end

Finalmente, se utilizaron otros dos botones para borrar datos ingresados y generados

por la interfaz, ası como un boton para finalizar el programa. Tambien es necesario agregar

cuadros de texto fijos, mismos que serviran para darle tıtulo a la interfaz, para darle tıtulo

a las ventanas de ingreso de texto, y para mostrar el mensaje que contiene el diagnostico;

a diferencia de los botones o de los cuadros donde el usuario ingresa datos, los cuadros de

texto fijos no se ven reflejados en la programacion como una funcion. 3

% Boton que elimina los datos anteriormente ingresados y generados por la interfaz

function pushbutton2 Callback(hObject, eventdata, handles)

set(handles.edit1,’string’,’ ’);

set(handles.edit2,’string’,’ ’);

set(handles.edit3,’string’,’ ’);

set(handles.text4,’string’,’ ’);

% Boton que genera la salida de la interfaz

function pushbutton3 Callback(hObject, eventdata, handles) close(handles.output);

3El codigo completo se muestra en el Anexo A.

Page 63: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 5

Resultados y conclusiones

5.1. Resultados

Como ya se comento, la red neuronal que genero un porcentaje de eficiencia mayor fue

la mostrada en la Figura 44, Los parametros de detencion en el entrenamiento de la red

resultaron en los parametros mostrados. Como se puede observar, se alcanzo el objetivo

de que la red neuronal se detuviera por el parametro Goal (Performance); esto quiere

decir que la red logro un numero de aciertos mayor antes de cualquier otro parametro

que pudiera haber detenido el entrenamiento. Se utilizo una red neuronal que constaba de

dos capas ocultas, cada una con 100 neuronas, y una capa de salida, con cinco neuronas,

que representan los cinco estados posibles de ritmo cardiaco en los que esta interfaz puso

enfasis, debido a que son las alteraciones cardiacas mas concurrentes en la mayorıa de

los estudios del corazon realizados en la sociedad. Alguna otra afeccion requiere de otro

tipo de estudios, y a su vez, otro tipo de tratamiento de datos preliminares para dar un

diagnostico correcto.

63

Page 64: INSTITUTTO POLITÉCNICO NACIONAL

64 CAPITULO 5. RESULTADOS Y CONCLUSIONES

Figura 44. Entrenamiento de la red estructura de red neuronal con mayor eficiencia.

Debido a que la funcion de transferencia utilizada para todas las capas fue Tangencial

Sigmoidal, los valores de salida de la red neuronal simulada tienen un rango de 1 a 1. La

salida debe ser superior a 0.85 para ser considerada como un acierto.

Despues de hacer la simulacion de la red, se obtuvo una eficiencia del 72 % respecto a

los 33 datos distintos de entrada. De los 33 datos de entrada, 8 pacientes presentaban un

ritmo cardiaco regular. De estos 8 datos, la red neuronal tuvo exito en todos al clasificarlos

correctamente (Ver tabla 2 ).

Page 65: INSTITUTTO POLITÉCNICO NACIONAL

5.1. RESULTADOS 65

Tabla 2. Datos de salida de la red neuronal de los pacientes que presentaban ritmo

cardiaco normal.

Del total de datos presentados, 7 pacientes presentaban bradicardia. Del total de pa-

cientes que presentaban esta afeccion, la red neuronal tuvo exito en 6 casos (ver tabla

3).

Tabla 3. Datos de salida de la red neuronal de los pacientes que presentaban bradi-

cardia.

A su vez 7 pacientes presentaban taquicardia. Del total de pacientes que presentaban

esta afeccion, la red neuronal clasifico 6 de manera correcta (ver tabla 4 ).

Tabla 4. Datos de salida de la red neuronal de los pacientes que presentaban

taquicardia-

Los pacientes que presentaron en su estudio una pausa irregular fueron 6. El total de

aciertos a la salida fue de 3, es decir, la mitad.

Page 66: INSTITUTTO POLITÉCNICO NACIONAL

66 CAPITULO 5. RESULTADOS Y CONCLUSIONES

Tabla 5. Datos de salida de la red neuronal de los pacientes que presentaban una

pausa irregular en su ritmo cardiaco.

Finalmente, del total de los pacientes, 5 presentaron un ritmo totalmente irregular. El

total de aciertos a la salida fue de 1, es decir, una quinta parte de casos exitosos.

Tabla 6. Datos de salida de la red neuronal de los pacientes que presentaban un

ritmo cardiaco irregular.

Como se puede observar en las Tablas 5 y 6, las salidas que representan los estados de

pausa irregular y ritmo cardiaco irregular fueron las que mas errores tienen respecto a los

otros estados. Esto es debido a que el ritmo del paciente es irregular, solo que un estado

representa una pausa en cualquier momento de la prueba, lo que causa una irregularidad

en su ritmo, mientras que el otro estado es irregular todo el tiempo. Por ende, la red

neuronal no logra diferenciar del todo un estado de otro. Al final sigue siendo de gran

ayuda para el usuario que pudiera realizar la prueba, ya que cualquiera de los dos estados

indica irregularidades en el ritmo cardiaco, lo que sugiere una atencion medica inmediata.

Esta red fue ingresada a la interfaz del usuario, la cual se puede observar en la Figura 45.

Los datos son ingresados debajo de las leyendas de “Lımite inferior de latidos por minuto”,

“Lımite superior de latidos por minuto” y “¿Ritmo regular? Si=0; No=1”. Despues de

ingresados los datos, el usuario tiene que dar clic en el boton de “Aplicar prueba”, ademas

tiene la opcion de “Realizar otra prueba”, cuyo objetivo es borrar los datos ingresados y

Page 67: INSTITUTTO POLITÉCNICO NACIONAL

5.1. RESULTADOS 67

el diagnostico generado, ası como de “Salir” de la interfaz para finalizar el programa.

Figura 45. Interfaz de usuario.

Un ejemplo se muestra en la Figura 46, en la cual se puede observar un ejemplo de

como se ingresan los datos y del diagnostico generado por la red neuronal; en este caso

se determino una posible bradicardia, es decir, un ritmo cardiaco que se encuentra por

debajo del normal. A su vez, en la Figura 47, se muestra un ejemplo de cuando ninguna

de las salidas de la red no logra cumplir el requisito de superar el valor de 0.85, por lo

que no puede ayudar a un diagnostico certero por parte del medico o usuario que aplica

la prueba

Figura 46. Ejemplo del ingreso de datos y resultado en la interfaz de usuario.

Page 68: INSTITUTTO POLITÉCNICO NACIONAL

68 CAPITULO 5. RESULTADOS Y CONCLUSIONES

Figura 47. Ejemplo de un resultado inexacto en las salidas de la red neuronal.

Finalmente, tambien se puede observar en la Figura 48 que al ingresar datos que no

son numericos, el programa manda un aviso de que no se estan ingresando datos correctos,

por lo que los valores ingresados seran transformados a 0, por lo que se sugiere intentar

de nuevo con valores que sean aceptados por la interfaz de usuario.

Figura 48. Ejemplo de error al ingresar los datos .

Page 69: INSTITUTTO POLITÉCNICO NACIONAL

5.2. CONCLUSION 69

5.2. Conclusion

Mediante este proyecto, ası como a la investigacion previa, podemos denotar que el

uso de Redes Neuronales para la resolucion de problemas representa una herramienta

importante, debido a que el procesamiento de datos que pudieran ingresarse emula el

procesamiento de informacion de un ser humano; el lograr que algun tipo de dispositivo o

maquina se comporte de manera parecida, o que haga algunas tareas comunes de los seres

humanos a la misma o a mayor velocidad, representa un avance tecnologico importante,

abriendo las posibilidades de herramientas y estas se vuelvan practicamente infinitas.

El objetivo principal de este proyecto se logro, se creo una interfaz con una eficiencia

de resultados tal que puede ser una herramienta de gran utilidad para el apoyo de un

diagnostico oportuno, y que, debido a su simplicidad de uso, puede ser utilizada no solo por

medicos o especialistas, tambien por usuarios que pudieran buscar algun pre-diagnostico,

para posteriormente acudir con bases certeras ante algun especialista.

Este proyecto es una herramienta para el diseno de una base de datos con argumentos

precisos; ademas no presenta alguna restriccion respecto a la informacion ingresada en

cuanto a procedencia de datos, ni la situacion del paciente en turno. Cualquier persona

puede utilizar la interfaz y tener un primer acercamiento a un diagnostico. El entrena-

miento de la Red Neuronal con un numero de datos considerable ayudo a que el resultado

entregado tenga una fiabilidad alta para un diagnostico verdaderamente oportuno.

La informacion recabada en el Estado del Arte nos muestra una variedad amplia de

procedimientos y procesos en los que se pueden utilizar Redes Neuronales; podemos encon-

trar similitudes y diferencias con este proyecto, sin embargo, el facil acceso a esta interfaz

marca una discrepancia importante. No solo es de facil manejo, sino que la poblacion a la

que puede ser dirigida abarca un numero importante de personas con afecciones cardiacas,

las cuales no tienen posibilidad de hacer examenes medicos pertinentes por alguna razon,

y quieren algun diagnostico que represente veracidad y certeza.

Los alcances futuros de este proyecto tambien se extienden a una gran variedad. Entre

las mas relevantes esta el monitorizar en tiempo real a los pacientes que previamente ya se

diagnosticaron con algun mal cardiaco, esto para que la Red Neuronal entrenada comuni-

Page 70: INSTITUTTO POLITÉCNICO NACIONAL

70 CAPITULO 5. RESULTADOS Y CONCLUSIONES

que al usuario y/o al medico que en ese momento existe una variacion de ritmo cardiaco

importante, la cual requiere de atencion medica inmediata. Tambien aparece la posibili-

dad de emular un electrocardiografo grafico, con el cual se pueda monitorizar y visualizar

al momento la senal cardiaca, y practicamente al mismo tiempo, hacer un diagnostico.

Evidentemente, estas propuestas requieren de mayor investigacion, de dispositivos, capa-

citacion de usuarios, y, por ende, costos mas elevados.

Page 71: INSTITUTTO POLITÉCNICO NACIONAL

Capıtulo 6

Referencias

[1] A. Mariel, “Un electrocardiografo inteligente de bajo coste”, Tesis ingenieril, Universi-

dad del Paıs Vasco, 2014. [En lınea]. Disponible en: https://addi.ehu.es/bitstream/handle/

10810/13185/AMariel memoria PFG 120614.pdf;sequence=1. [Accedido: 12-junio-2019]

[2] S. T. Perez. “Metodologıas de diseno de redes neuronales sobre dispositivos digitales

programables para procesado de senales en tiempo real”, Tesis doctoral, Universidad de

Las Palmas de Gran Canaria, 2015. [En lınea]. Disponible en: https://www.idetic.ulpgc.es

/idetic/images/ESTRUCTURA IDETIC/IDeTIC/I plus D/Tesis Doctorales /Santia-

go Perez Suarez/Tesis completa.pdf. [Accedido: 12-junio-2019]

[3] C. Juarez, N. Lozano, A. Soberanes, J. L. Sanchez, “Reconocimiento de patrones de

electrocardiografıa para diagnosticos de enfermedades cardiovasculares”, en 2015 VI

Congreso Nacional de Tecnologıa Aplicada a Ciencias de la Salud. [En lınea]. Disponible

en: https://www-optica.inaoep.mx/tecnologia salud/2015/memorias/pdf/MyT2015 67 E.pdf.

[Accedido: 12-junio-2019]

[4] C. E. Rose, M. T. Serna, “Generacion de alertas de anomalıas cardiacas usando un al-

goritmo inteligente hıbrido”, en 2015 37o International Congress of Electronic Enginee-

ring. [En lınea]. Disponible en: https://www.researchgate.net/publication/303875264

GENERACION DE ALERTAS DE ANOMALIAS CARDIACAS USANDO UN ALGORITMO

INTELIGENTE HIBRIDO. [Accedido: 12-junio-2019]

71

Page 72: INSTITUTTO POLITÉCNICO NACIONAL

72 CAPITULO 6. REFERENCIAS

[5] C. Padilla-Navarro et al., “Algoritmos geneticos aplicados a la optimizacion de carac-

terısticas en la clasificacion de arritmias cardiacas utilizando los clasificadores KNN y

Naive Bayes”, Research in Computing Science, vol. 134, no. 5, pp. 55-68, 2017. [En

lınea]. Disponible en: http://www.rcs.cic.ipn.mx/rcs/2017 134/. [Accedido: 12-junio-

2019]

[6] B. Rivas, B. Robles, M. Sanchez, F. Suarez, “Determinacion del ritmo cardıaco en

tiempo real para el diagnostico de aflicciones relacionadas al corazon mediante la apli-

cacion de redes neuronales”, La simulacion en ingenierıa, transcendiendo fronteras, pp.

56-60, 2018. [En lınea].

[7] W. Ertel, “Introduction to Artificial Intelligence”, Springer, Londres, pp. 1-11, Londres.

[8] A. Garcıa, “Inteligencia Artificial: Fundamentos, practica y aplicaciones”, RC Libros,

Madrid, pp. 2-6, 2012. [En lınea]. Disponible en: https://books.google.com.mx/books

id=WDuqquRP70UC&printsec=frontcover &hl=es&source=gbs ge summary r&cad=0

#v=onepage&q&f=false [Accedido: 17-junio-2019]

[9] J. Carrasco, “Reconocimiento de patrones”, Instituto Nacional de Astrofısica Optica

y Electronica, 2019. [En lınea] Disponible en: https://ccc.inaoep.mx/ariel/recpat.pdf

[Accedido: 18-junio-2019]

[10] I. Aizenberg, “Complex-Valued Neural Networks with Multi-Valued Neurons”, Sprin-

ger, Berlin, pp. 3-5, 2011.

[11] IBM, “El modelo de redes neuronales”, 2019. [En lınea] Disponible en: https://www.ibm.com/

support/knowledgecenter /es/SS3RA7 sub/modeler mainhelp client ddita/components

/neuralnet/neuralnet model.html [Accedido: 19-Junio-2019]

[12] D. Matich, “Redes neuronales: Conceptos basicos y aplicaciones”, Catedra, Universidad

Tecnologica Nacional - Facultad Regional Rosario, 2011.

[13] S. Merck y Dohme, “Merck de informacion medica para el hogar”, OCEANO, Espana

pp. 70-85, 1997.

Page 73: INSTITUTTO POLITÉCNICO NACIONAL

73

[14] Investigacion traslacional de arritmias cardiacas secundarias a canalopatıas ITACA-

CM, “Tipos de arritmias cardiacas” [En lınea] Disponible en: https://www.itaca.edu.es/Tipos-

Arritmias.htm [Accedido: 18 – junio-2019]

[15] Instituto del corazon en Texas, “Categorıa de arritmias” [En lınea] Disponible en:

https://www.texasheart.org/heart-health/heart-information-center/topics/categorias-de-

arritmias/ [Accedido: 18 de junio]

[16] Axis comunications, “Reconocimiento facial”, [En lınea] Disponible en: https://www.axis.com/es-

mx/solutions-by-application/facial-recognition [Accedido 17-junio-2019]

[17] The new york time “A.I Is helping scientists predict when and where the next big

earthquake Will be”, Thomas Fuller and Cade Metz, Articulo, [En lınea] Disponible en:

https://www.google.com/amp/s/www.nytimes.com/es/2018/10/30/inteligencia-artificial-

predecir-terremoto/amp/ [Accedido 16-junio-2019]

[18] W. B Rauch y Kindin, “Aplicaciones de la inteligencia artificial, en la actividad em-

presarial, la ciencia y la industria”, ediciones Dıaz de Santos, S.A, Madrid, pp 416-424,

1989. [En lınea] Disponible en: https://books.google.com.mx/books?id=LjW fRnueXrYC&pg=

PA478&lpg= PA478&dq=busqueda+de+crudo +aplicado+con+inteligencia +artifi-

cial&source= bl&ots= wHNdNh2HkD&sig=ACfU3U0OXmX cm2dogasZC-ZVArbc2ayWPA&

hl=es&sa=X&ved=2ahUKEw iWgrSW3fviAhVSRK0KHcDmChE4ChDoATA AegQI-

BRAB #v=onepage&q=busqueda %20 de %20crudo %20aplicado %20 con %20 inteli-

gencia

%20artificial &f=true [Accedido 16-junio-2019]

[19] Global media, “Crean sistema para identificar personas por su manera de caminar”,

[En lınea] Disponible en: https://www.globalmedia.mx/articles/Crean-sistema-para-

identificar-personas-por-su-manera-de-caminar [Accedido 18-junio-2019]

[20] Secretaria de salud de puerto rico, “Lectura de comprension e interpretacion del elec-

trocardiograma division de educacion continua”, Articulo, [En lınea] Disponible en:

https://onedrive.live.com/?cid= 5FCF22592AC65A69&id=5FCF22592AC65A69 %213987&

parId=5FCF22592AC65A69 %213982&o=OneUp [Accedido 18-junio-2019]

Page 74: INSTITUTTO POLITÉCNICO NACIONAL

74 CAPITULO 6. REFERENCIAS

[21] MatLab, “Descarga de software”, [En lınea] https://la.mathworks.com/products/matlab.html

[Accedido 18-junio-2019]

Page 75: INSTITUTTO POLITÉCNICO NACIONAL

Anexos A

Programacion de la interfaz

gui Singleton = 1;

gui State = struct (′guiName′,mfilename, ...

′guiSingleton′, guiSingleton, ...

′guiOpeningFcn′,@TablaOpeningFcn, ...

′guiLayoutFcn′, [], ...

if nargin && ischar(varargin1)

gui State.gui Callback str2func(varargin1);

end

if nargout

[varargout1:nargout] gui mainfcn(gui State, varargin:);

else

gui mainfcn(gui State, varargin:);

end

function Tabla OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = Tabla OutputFcn(hObject, eventdata, handles)

varargout1 = handles.output;

function edit1 Callback(hObject, eventdata, handles)

inf = str2double(get(hObject,’String’));

75

Page 76: INSTITUTTO POLITÉCNICO NACIONAL

76 ANEXOS A. PROGRAMACION DE LA INTERFAZ

if isnan(inf)

inf=0;

set(hObject, ’String’,inf);

errordlg(’El valor debe ser numerico’,’Error’)

end

x(1,1) = str2double(get(handles.edit1,’String’));

function edit1 CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))

set(hObject,’BackgroundColor’,’white’);

end

function edit2 Callback(hObject, eventdata, handles)

sup = str2double(get(hObject,’String’));

if isnan(sup)

sup=0; set(hObject, ’String’,sup);

errordlg(’El valor debe ser numerico’,’Error’)

end

x(2,1) = str2double(get(handles.edit2,’String’));

function edit2 CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))

set(hObject,’BackgroundColor’,’white’);

end

function edit3 Callback(hObject, eventdata, handles)

ritmo = str2double(get(hObject,’String’));

if isnan(ritmo)

ritmo=0;

set(hObject, ’String’,ritmo);

errordlg(’El valor debe ser numerico’,’Error’)

end

x(3,1) = str2double(get(handles.edit3,’String’));

function edit3 CreateFcn(hObject, eventdata, handles)

Page 77: INSTITUTTO POLITÉCNICO NACIONAL

77

if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))

set(hObject,’BackgroundColor’,’white’);

end

function pushbutton1 Callback(hObject, eventdata, handles)

A = x

trained net vars = load (’network3.mat’);

sim(handles.network3.mat, A)

B=ans

if (B (1,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Ritmo cardiaco normal’)

elseif (B (2,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Bradicardia’)

elseif (B (3,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Taquicardia’)

elseif (B (4,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Pausa Irregular’)

elseif (B (5,1) >= 0.85)

set(handles.text4,’String’, ’Diagnostico: Ritmo Irregular’)

else

set(handles.text4,’String’, ’El diagnostico no es certero, realizar otra prueba’)

end

function pushbutton2 Callback(hObject, eventdata, handles)

set(handles.edit2,’string’,’ ’);

set(handles.edit3,’string’,’ ’);

set(handles.text4,’string’,’ ’);

function pushbutton3 Callback(hObject, eventdata, handles)

close(handles.output);

Page 78: INSTITUTTO POLITÉCNICO NACIONAL

Anexos B

Ventanas de entrenamiento de las

redes

Red 1

Figura 49. Red 1.

78

Page 79: INSTITUTTO POLITÉCNICO NACIONAL

79

Red 2

Figura 50. Red 2.

Page 80: INSTITUTTO POLITÉCNICO NACIONAL

80 ANEXOS B. VENTANAS DE ENTRENAMIENTO DE LAS REDES

Red 3

Figura 51. Red 3.

Page 81: INSTITUTTO POLITÉCNICO NACIONAL

81

Red 4

Figura 52. Red 4.

Page 82: INSTITUTTO POLITÉCNICO NACIONAL

82 ANEXOS B. VENTANAS DE ENTRENAMIENTO DE LAS REDES

Red 5

Figura 53. Red 5 .

Page 83: INSTITUTTO POLITÉCNICO NACIONAL

83

Red 6

Figura 54. Red 6 .

Page 84: INSTITUTTO POLITÉCNICO NACIONAL

Anexos C

Datos recopilados de pacientes

Figura 55. Datos recopilados de pacientes.

84