Detección de Latidos Cardiacos Ectópicos con Redes Neuronales

Anuncio
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
Detección de Latidos Cardiacos Ectópicos
con Redes Neuronales
JUAN L. FRITSCHY a Y MARCELO R. RISK b
a
Department of Medical Physics, University College London,
Inglaterra, Reino Unido
b
Centro de Procesamiento de Señales e Imágenes,
Facultad Regional Buenos Aires, Universidad Tecnológica Nacional, Argentina
Introducción
El estudio de las redes neuronales no supervisadas o mapas auto-organizados
(comúnmente conocidos por su sigla en inglés, SOM: Self-Organizing Maps)
comienza a principios de los años ochenta (Kohonen 1984) con el firme objetivo
de modelar y describir el funcionamiento del cerebro humano o, al menos, su
habilidad cognitiva sobre el mundo exterior.
A pesar del probablemente infinito e incierto camino que se tenía por delante
y desafiando el Teorema de Incompletitud de Göedel (Hofstadter 1987) que
demuestra cómo un sistema no puede estudiarse a sí mismo (en este caso el
sistema cognitivo humano) esta nueva rama de la ciencia generó numerosos
modelos para afrontar el problema planteado.
Es a partir de comienzos de la década del noventa, y debido al increíble
desarrollo de la capacidad computacional (en particular con el procesamiento
paralelo), que el estudio de los SOMs se escinde en dos ramas. La primera
conserva el foco de atención en la modelización de la mimesis biológica que venía
desarrollándose y la segunda comienza a tomar a los SOMs como simples
algoritmos de computadoras que, abstraídos de la intención original, pueden
aplicarse a diferentes situaciones con resultados exitosos.
Este breve capítulo tiene por objetivo la descripción teórica, junto con una
aplicación en el campo de la medicina cardiaca, de una línea de investigación
acerca de los SOMs fundada por el científico finlandés Teuvo Kohonen. Este
enfoque, en el cual se irán presentando aspectos teóricos y prácticos, permitirá
comprender uno de los modelos más sencillos y efectivos para la resolución de los
llamados problemas difusos, que se describirán en breve.
Es importante aclarar que las variaciones sobre las teorías de SOMs, y sobre
los conceptos que abarca, suman más de 4000 publicaciones en la actualidad. Es
intención de este trabajo presentar las formas más comunes de estas variaciones
para que el lector se haga con los conceptos y tenga la visión suficiente, para en
una probable profundización, ser autónomo frente al problema que se le presente.
Debido a lo limitado del espacio, se han priorizado las explicaciones teóricas y
ejemplos para el mejor entendimiento de los conceptos. En la sección final del
360
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
capítulo se describe una aplicación de los SOMs en el campo de la ingeniería
biomédica.
Problemas difusos y redes neuronales: causa y efecto
Para describir el concepto de problema difuso recurriremos a algunos
ejemplos. Imaginemos que se nos pide que hagamos un programa de
computadoras que sea capaz de distinguir camas entre un conjunto diverso de
objetos, frente a este problema tendríamos que poder “enseñarle” al sistema qué
es una cama, y aquí se nos presenta un gran dilema, porque nosotros sabemos qué
es una cama y sabemos distinguirla pero lo que no sabemos es explicar como lo
hacemos; llegados a esta instancia en la lectura, usted lector podría decir: “una
cama tiene cuatro patas, es rectangular (en general), puede estar fabricada de
diferentes materiales, etc., pero por ejemplo, si a su sistema se le presenta una
“cama paraguaya”, la cual es de lona y esta colgada entre dos palmeras, su sistema
no la reconocería y usted sí 1.
Observemos otro ejemplo: usted quiere que su programa “aprenda” (y aunque
hasta el momento no hemos definido rigurosamente esta palabra en el campo de
los SOMs, por ahora apelaremos al concepto intuitivo que todos tenemos al
respecto) a reconocer señales de voz, entonces usted podría decir: “grabaría en
memoria determinados mensajes, para que cuando se le presente una señal de voz,
el programa la grabe y luego la compare con los patrones que posee”, pero he aquí
un nuevo problema, porque se tendrían que definir criterios eficientes de
comparación, para que cuando el mensaje varíe en su tono, velocidad de dicción,
hablante, ruido ambiente y muchas otras variables, pueda seguir reconociendo la
misma frase.
Para continuar supongamos que podemos lograr estos criterios, (que están
siendo desarrollados en la actualidad) nos encontraríamos fuertemente limitados
en capacidad de memoria ya que habría que grabar infinitas palabras con infinitas
combinaciones entre ellas. Pero vayamos un poco más lejos, pensemos que
disponemos de memoria infinita, en este caso tendríamos que ver cómo nos las
arreglamos con el tiempo que le lleva al algoritmo recorrer todos los mensajes
hasta encontrar el correcto!
La pregunta que surge es inmediata, ¿Cómo hace el ser humano para poder
entender y comprender los infinitos mensajes que le llegan? O, ¿Cómo hace para
darse cuenta que la “cama paraguaya” es una cama? De hecho nos encontramos
con un problema que involucra una gran cantidad de variables y que dispone de
1
Este problema sencillo se resolvería apelando al criterio de “funcionalidad” y aunque no es fácil
codificar este tipo de abstracción es válido aclarar que la mayoría de los problemas reales saltean
fácilmente este posible atajo de criterio unificante
361
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
reglas de interrelación desconocidas2.
A esta altura de la exposición es importante aclarar que hay áreas de la ciencia
en que éste tipo de problemas difusos se presentan más frecuentemente y una de
ellas es la bioingeniería, ya que la mayoría de las señales biológicas provienen de
fenómenos de este tipo. Y para afrontar la resolución de estos problemas se han
desarrollado dos tipos de redes neuronales: Supervisadas y No-Supervisadas.
Las redes neuronales supervisadas son aquellas, que como su definición
sugiere, en la etapa de “entrenamiento” (aunque más adelante definiremos
concretamente este proceso, por ahora lo aceptaremos como el concepto intuitivo
que describe un proceso progresivo de adquisición de información) se tiende a un
resultado previamente conocido, de esta manera, el sistema va comparando sus
resultados parciales con los objetivos y de esa manera va construyendo su
estructura.
Estas redes están ampliamente desarrolladas en la actualidad y si bien cuentan
con la ventaja de poseer modelos matemáticos que describen minuciosamente su
comportamiento no pueden abordar problemas en los cuales los criterios de
clasificación no son conocidos a priori. Debido a que el objetivo de este trabajo no
es describir este tipo de redes no profundizaremos más al respecto pero si el lector
lo desea se recomienda el libro “Neural networks. A comprehensive foundation”
(Haykin 1994).
Mapas auto organizados
Las redes neuronales no supervisadas son aquellas que pueden llevar adelante
un entrenamiento sin la conducción de conocimiento externo.
Mapeo externo a interno
Una de las hipótesis fundamentales en que se basan los SOMs es que el
sistema cognitivo humano “mapea” internamente el mapa “externo” de la
realidad. Sin llegar a pensar en las capacidades cognitivas superiores (las que
intervienen en la intelectualidad y que seguramente se encuentran varias capas por
encima en un sistema jerárquico) podemos pensar que, por ejemplo, el “mapa”
externo de aromas y olores “reproducen” un mapa interno en cierta parte de
nuestro cerebro que proporciona nuestra capacidad olfativa. Como el lector podrá
observar, los ejemplos de conocimiento externo, apuntan a funciones básicas que
generalmente no pasan por la capa consciente. Para avanzar, definiremos como
mapa externo al conjunto de entes (en este caso aromas y olores) que a través de
estímulos codificados (en nuestro caso las señales que llegan a cierta parte del
cerebro y que provienen de células olfativas) generan un mapa interno (el cual
2
A esto hay que agregar que existe un cierto tipo de jerarquización, que será un concepto
desarrollado más adelante y que de hecho es la base fundamental de las cadenas de Markov,
algoritmos básicos del software de reconocimiento de voz que hay en la actualidad
362
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
estará representado por un conjunto de neuronas que se “identificarán” con cada
uno de los colores).
Codificación de estímulos
De este proceso depende la eficiencia del mapeo. En la jerga de las redes
neuronales se lo denomina “etapa de selección de características”. Siguiendo con
nuestro ejemplo podríamos decir que las señales que llegan al cerebro
representando a los aromas deben poseer al menos una característica de esos
aromas que los identifique unívocamente. El sistema es repetible ya que frente a
la misma sustancia, los centros olfativos desprenderán la misma señal y los
centros neuronales “ubicarán” ese estímulo siempre en el mismo lugar dentro del
“mapa interno”. Como veremos más adelante, la etapa común a una gran número
de redes neuronales aplicadas a problemas prácticos comparten el modelo interno
(digamos, las reglas de organización que forman el mapa interno) pero lo
esencialmente diferente en cada situación en la “selección de características”.
Por ejemplo, en las aplicaciones de identificación por rasgos faciales se tienen
en cuenta como características las medidas de cada uno de los componentes de
una cara y las proporciones entre ellos. En el caso de reconocimiento de voz, las
características están asociadas a la potencia y energía de la señal sonora, a la
frecuencia media, a los coeficientes de DFT (Discrete Fourier Transformation),
etc. Estas características son cuantificadas con diferentes criterios para luego
acceder al “cuerpo clasificador” de la red neuronal. Para dar paso a la descripción
de todos los componentes del “cuerpo clasificador” de una red neuronal no
supervisada es esencial tener en cuenta que sean cuales fueran las características
extraídas de un ente a clasificar, éstas serán representadas por un vector de datos
que será utilizado por la red.
Descripción de los componentes de un Mapa auto organizado
Modelaremos una red neuronal sencilla. La misma es representada por un
grupo de neuronas. Cada neurona es un vector que tiene tantos componentes como
características codificadas de las señales. Supongamos que queremos clasificar
vocales y que hemos definido como características la frecuencia media, la
potencia y la amplitud de la primera componente de la DFT. De aquí en adelante a
estas características las identificaremos como A, B y C. Pues bien, entonces cada
una de las neuronas de la red será un vector de 3 componentes. Si bien la medida
de la red depende de muchas variables, para nuestro ejemplo dispondremos de una
red de 144 neuronas y la visualizaremos como un cuadrado de 12 X 12, con una
profundidad de 3.
A partir de este momento llamaremos “matriz sináptica” a esta matriz de 12 x
12 x 3 y a cada uno de sus 144 componentes los llamaremos “neuronas”.
363
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
Aleatoriedad inicial
Si bien no es un requisito indispensable (de hecho para varias aplicaciones no
se cumple) los valores de cada una de las neuronas tienen distribución aleatoria
antes de comenzar el proceso de entrenamiento. Para aquellos que fuesen a
implementar un algoritmo para completar con valores aleatorios la matriz
sináptica sugiero la lectura del capítulo 7 – “Random numbers” del libro
“Numerical Recipes in C” (Press 1992).
Matriz de patrones de entrenamiento
Tal como definimos previamente, la “profundidad” de la matriz sináptica es 3
y coincide con el número de características que identifican a cada elemento
externo (en este caso vocales del idioma castellano).
Denominaremos como conjunto de entrenamiento a un grupo de 50 vectores
que representan a las vocales del idioma castellano, con 10 vectores por cada
vocal. Así, cada vector que representa a un fenómeno externo tiene la misma
estructura (longitud y tipo de dato) que una neurona de la red. De aquí en
adelante, la matriz bidimensional con tantas columnas como números de vectores
de entrenamiento (en nuestro ejemplo 50) y con tantas filas como características
de cada vector (en nuestro ejemplo 3) la denominaremos Matriz de patrones de
entrenamiento.
Idea intuitiva de entrenamiento
Durante el proceso de entrenamiento los valores internos de la matriz sináptica
serán modificados en función de los vectores de la matriz de entrenamiento. Se
observa en este punto la similitud con el modelo biológico de aprendizaje que,
partiendo de neuronas inicialmente con valores aleatorios (o al menos con
ninguna tendencia definida), poco a poco, los fenómenos externos van
produciendo un efecto interno y comienza a existir una relación cada vez más
marcada entre el mapa externo y el mapa interno.
Vecindario y curva de entrenamiento
El vecindario es un conjunto de neuronas equidistantes de alguna neurona en
particular. Puede variar en su amplitud (cantidad de neuronas que lo integran) en
función de la aplicación. En nuestro ejemplo utilizaremos un vecindario de 44
neuronas como muestra la figura 1. A su vez, dentro del vecindario se distinguen
el vecindario menor y el vecindario mayor, indicados en rojo y azul
respectivamente.
La curva de entrenamiento, a diferencia del vecindario que es un concepto
espacial dentro de la matriz sináptica, es un concepto temporal que determina la
velocidad de aprendizaje de la red. Es el parámetro que “dosifica” la influencia de
la matriz de patrones de entrenamiento sobre la matriz sináptica. Hay diferentes
tipos de curvas pero para nuestro ejemplo utilizaremos dos rectas sencillas (más
364
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
adelante se explicará la razón de esta discontinuidad) que van dando valor al
factor de curva de entrenamiento W. Ver figura 2.
Proceso de entrenamiento
Este proceso es una sucesión de iteraciones (en nuestro ejemplo 3000). A
continuación se describe en detalle cada una de las acciones que se ejecutan en
cada iteración.
Primera etapa: encontrar el “ganador”
Se toma aleatoriamente un vector de entrenamiento y se lo compara con cada
una de las neuronas de la matriz sináptica. Esta comparación puede llevarse a
cabo de muchas maneras (métodos de Hebb, Riccati, PCA, etc., Kohonen 1984),
pero en este caso lo haremos calculando la distancia euclidiana entre ambos
vectores.
Distancia = || patrón de entrenamiento – neurona de la red ||
(1)
A esta variable se la denomina “distancia” entre el vector de entrenamiento y
la neurona, y describe cuán diferentes son entre ambos.
Figura 1: Vecindario mayor y menor.
Esta operación de comparación debe ser realizada con cada una de las
neuronas de la red (en nuestro caso con 144) y existirá una de ellas que tendrá la
mínima distancia al patrón citado. A esta neurona se la denomina “ganador”.
365
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
Figura 2: Curva de entrenamiento de la SOM.
Segunda etapa: Corrección del “ganador”
Una vez que se encuentra el ganador el paso siguiente es corregirlo.
Conceptualmente se trata de hacer que esa neurona de la matriz sináptica se
parezca un poco más al patrón de entrenamiento, y esto se logra modificando cada
una de las componentes de la neurona. Sus nuevos valores serán los originales
más una parte de la diferencia entre la neurona y el patrón.
Valor corregido = valor actual + coef de corrección (W) x distancia
(2)
Como se puede observar en la fórmula 2, el factor de corrección W dosifica
cuán parecida será la neurona corregida con respecto al patrón de entrenamiento.
Y es precisamente la curva de entrenamiento que se ha descrito anteriormente la
que controla el valor del factor W a medida que avanzan las iteraciones.
Esta es una de las características más importantes del proceso de
entrenamiento, ya que esta curva debe decrecer a medida que avanzan las
iteraciones. Debe producir un un mayor efecto de corrección en las primeras
iteraciones, provocando un “ajuste grueso”; dejándose para el final un “ajuste
fino”, disminuyendo considerablemente el valor del parámetro w. (Ver figura 2).
Tercera etapa. Corrección del vecindario
La corrección de las neuronas del vecindario se realiza de la misma forma que
con el ganador (ver fórmula 2). En nuestro ejemplo, las 44 neuronas coloreadas (8
rojas y 36 azules) serán corregidas. El vecindario puede adoptar cualquier
dimensión pero siempre se debe mantener la equidistancia con respecto al
ganador para no privilegiar la corrección en una dirección en particular.
La dimensión del vecindario debe ser dinámica. A medida que avanzan las
iteraciones y el factor de corrección w decrece, el vecindario debe decrecer. De
esta manera cuando se está realizando el “ajuste fino” de la matriz sináptica (en
366
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
nuestro ejemplo en la últimas 2000 iteraciones) el vecindario debe ser de
pequeñas dimensiones. Así se logra una corrección bien localizada dentro de la
matriz. En nuestro ejemplo, a partir de la iteración número 1001 se debe tener en
cuenta solo el vecindario menor de 8 celdas (rojas).
Es fundamental la armonía en la reducción tanto del factor de corrección w
como del vecindario. Modelos más sofisticados que el de nuestro ejemplo reducen
el vecindario en cinco etapas coincidiendo con la disminución de w.
Evolución interna del entrenamiento. A medida que se van sucediendo las
iteraciones, la matriz sináptica pasa de su estado inicial, completamente aleatorio,
a un estado cada vez más “ordenado”, en el cual cada una de las neuronas
comienza a identificarse con un determinado patrón de entrenamiento.
En este punto se puede observar el claro paralelismo con el sistema cognitivo
humano, ya que cada patrón de entrenamiento, que es utilizado para una iteración,
representaría un fenómeno externo que afecta a los sentidos y éstos producirían un
estímulo en alguna parte de la red neuronal, y a medida que se suceden los
estímulos, estas partes de la red neuronal establecen una relación con los
fenómenos externos.
Clustering. El concepto de clustering esta relacionado con la clasificación de
elementos externos dentro de la matriz sináptica, esto implica que si se tiene un
determinado conjunto de entrenamiento dentro del cual, por ejemplo, se pueden
distinguir tres clases, entonces la matriz sináptica, una vez terminado el
entrenamiento, estará “dividida” en tres zonas identificadas con cada una de las
clases.
La identificación de ciertas zonas de la matriz sináptica con cierto grupo de
vectores del conjunto de entrenamiento se refleja en el hecho que este grupo de
vectores encuentra su distancia mínima con cierta parte de la matriz.
Para describir el proceso de evolución del entrenamiento se planteará un
ejemplo: supóngase que se tienen cubos de tres gamas de colores distintos (cinco
de cada gama) y, obviamente, la característica relevante es su color, entonces en la
etapa de selección de características se codifica cada color con un determinado
número, así se logra tener un conjunto de 15 patrones y se sabe a priori que
existen 3 clases distintas.
Las figuras 3, 4 y 5 muestran respectivamente el estado inicial, intermedio y
final de la matriz sináptica. Como puede apreciarse existe una tendencia al orden a
medida que avanza el entrenamiento.
Visualización. Una vez terminado el entrenamiento es necesario observar el
estado final de la matriz sináptica. Más allá de las pruebas posteriores, la primera
evaluación que se debe hacer es la de tomar cada uno de los patrones de
367
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
entrenamiento y “pintar” de un color determinado la neurona que tiene la mínima
distancia con él. Esta es la forma en la que se obtuvieron las figuras 3, 4 y 5.
Mapeo final y etiquetamiento. Para etiquetar la red debemos elegir un “patrón
representativo” de cada clase y utilizarlo como referencia. Para la elección del
“patrón representativo” se recurre a la opinión de un experto que sería capaz de
realizar la clasificación.
Figuras 3, 4 y 5: Proceso de clustering, donde se pueden apreciar los estados
inicial, intermedio y final de la matriz sináptica.
Cuarta etapa. Etiquetamiento
Para el etiquetamiento de la matriz sináptica se toma la neurona de posición
(0,0) y se la compara (en nuestro ejemplo aplicando la distancia euclidiana) con
cada uno de los patrones representativos (que es un vector por cada clase),
etiquetando la neurona según con que patrón representativo mantiene la menor
distancia. Por ejemplo, siguiendo con el caso de los cubos de colores, si estuvo
“más cerca” del patrón representativo de la gama de los rojos, entonces la neurona
quedará identificada con un número que corresponda a la clase roja. Luego se
realiza el mismo procedimiento hasta la última neurona.
La forma de “recorrer” la matriz sináptica para su etiquetamiento no tiene que
ser ninguna en especial pero la antes mencionada es la óptima desde el punto de
vista computacional.
Quinta etapa. Mapeo final
Una vez que se ha concluido el etiquetamiento, para poder observar el
resultado final se “pinta” cada neurona con el color de la clase a la cual
corresponde. La figura 6 es un ejemplo de mapeo.
368
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Proceso L.V.Q. (Learning Vector Quantization)
Este proceso no posee mimesis biológica. No es más que un algoritmo
matemático que ayuda a delimitar mejor los bordes de las clases, una vez
finalizada la etapa de entrenamiento.
Para realizar el proceso de L.V.Q. se debe, en primer lugar, calcular las
coordenadas de los centroides siendo éstos las neuronas “ganadors” de cada uno
de los patrones representativos de las clases. Para calcularlos se toma a cada uno
de ellos, se calculan sus “ganadores” respectivos y se almacenan estos datos como
las coordenadas dentro de la matriz sináptica.
Figura 6: SOM después del mapeo final.
El siguiente paso es tomar uno a uno los patrones del conjunto de
entrenamiento (en forma secuencial), se detecta el “ganador” que le corresponde y
se busca de que centroide esta más cerca. Si la etiqueta del patrón de
entrenamiento coincide con la del centroide más cercano se realiza un
acercamiento por coincidencia, que significa que al valor de esa neurona se le
efectúa una corrección que la hace más “parecida” a su representativo (ver
ecuación 3). En el caso que las etiquetas no coincidan se aplica un
distanciamiento por diferencia, que es una corrección que hace que esa neurona
se “parezca menos” (aumentando su distancia euclidiana) a ese centroide, ya que
no le corresponde (ver ecuación 4).
Valor corregido = valor actual + coef.L.V.Q. x (patrón – valor actual)
(3)
Valor corregido = valor actual + coef.L.V.Q. x (valor actual – patrón)
(4)
Efectos del proceso L.V.Q
Este proceso es recomendable en problemas en los cuales surgen dos “granos”
de la misma clase. ¿Qué significa esto? Que cuando se realiza el etiquetamiento
369
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
de la matriz y se hace el mapeo final, se observa que en dos sectores de la matriz
sináptica aparecen neuronas identificadas con la misma clase, una aglomeración
mayor y otra menor (Ver clase gris medio en la figura 6).
Si en este caso se ejecutan algunas iteraciones de LVQ (cada iteración implica
tomar todos los patrones de la matriz de patrones de entrenamiento), es probable
que desaparezca la aglomeración más pequeña y de esta forma se logre aglutinar
las clases y uniformizar la matriz. La figura 7 muestra la matriz sináptica de la
figura 6 después de 100 iteraciones de LVQ con un coeficiente de LVQ de 0.05.
Como todo proceso artificial, la aplicación de LVQ trae daños colaterales, y la
principal de ellas es que se transforma la matriz sináptica. Como se sabe, una vez
terminado el entrenamiento no supervisado, la matriz establece una relación
isomórfica con la matriz de patrones de entrenamiento, y si se transforma más de
lo debido se estará deteriorando el isomorfismo buscado.
Código simbólico
Debido a que cada vez que se inicia un entrenamiento la matriz sináptica está
cargada con valores aleatorios, y que la presentación de los patrones de
entrenamiento se lleva a cabo de forma aleatoria, los procesos de entrenamiento
no poseen la característica de reproducibilidad.
Figura 7: Matriz de la SOM después de 100 iteraciones.
Otro problema que se presenta en las pruebas de estos sistemas es que el
rendimiento de los mismos depende fuertemente de los patrones de entrenamiento
elegidos, por lo que para cada situación particular habría que hacer una prueba
distinta. Frente a estos inconvenientes, y para hacer un análisis estándar de todas
las redes, se recurre a código simbólico.
Se denomina código simbólico a una matriz de patrones de entrenamiento
compuesta por vectores artificiales, los cuales no provienen de ninguna etapa de
selección de características real sino que son generados con el fin de verificar el
370
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
entrenamiento de la red. Estos vectores poseen distancias entre ellos previamente
calculadas. Por ejemplo, si se quiere crear una matriz de patrones de
entrenamiento muy simple con tres clases, se propondría la siguiente: 0.20, 0.25,
0.30, 0.45, 0.50, 0.55, 0.70, 0.75, y 0.8. De esta manera se obtienen tres clases con
sus representativos en el centro y equidistantes entre ellos, como así también con
distancia constante a los de su misma clase.
La utilización de este tipo de código permite saber en una primera
aproximación si la red ha evolucionado correctamente, ya que se debería obtener
en el mapeo final de la matriz sináptica, tres clases con aproximadamente la
misma cantidad de neuronas cada una y sus centroides equidistantes entre ellos.
Técnicas de análisis en paralelo
Debido a que el criterio de comparación que utiliza la red neuronal es la
distancia euclidiana, se observa que, en la mayoría de los casos, las componentes
de un patrón de entrenamiento están consideradas en forma global y no en forma
individual. Esto hace que no se pueda hacer un análisis eficiente del problema, ya
que en general las características extraídas de un fenómeno provienen de distinta
naturaleza3.
Esta problemática se la denomina de datos no coherentes, debido
precisamente a que, al provenir sus características de distintas fuentes, no poseen
coherencia natural entre ellas; por ejemplo, supóngase que se quiere clasificar un
conjunto de puertas y se selecciona el largo y el material del que estén hechas
como características relevantes. Seguidamente, al codificar un determinado patrón
que corresponde a una puerta, se obtiene el vector [1.2, 2] (en donde 1.2 es el
largo y 2 es el código del material del que está hecha). Si se calcula la norma
(parámetro que se utiliza para encontrar el ganador) se obtiene 2.33, pero es
evidente que este número no aporta ninguna información, sino por el contrario,
brinda una mala información porque proviene de “mezclar” numéricamente dos
características que no poseen relación entre ellas.
Frente a esta problemática se resuelve utilizar, para la clasificación, cada una
de las características por separado.
Esta solución tiene una fuerte impronta por seguir un modelo biológico,
considerando una propiedad importante de los sistemas sensoriales del cuerpo
humano:
Las sensaciones corporales (audición, vista, gusto, olfato, tacto y
apticidad) son adquiridas por nuestros “sensores naturales”, (oídos, ojos,
lengua, nariz y manos), y todos estos datos ingresan al centro de
3
Existen aplicaciones que intentan, modificando la ley de comparación, la ponderación desigual
de las componentes aunque a criterio del autor es mejor el análisis separado y jerárquico de las
mismas.
371
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
procesamiento natural (zona de Wernicke del cerebro) para ser analizados y
en función de éstos “estimar” la situación actual.
Lo destacable es que los caminos y los centros de inserción de los
axones provenientes de las células de distintos sentidos van por caminos
separados, y por lo que se sabe a nivel biológico, estas señales nunca tienen
interacción física, sino que son tomadas por separado y de alguna manera
ponderadas por el cerebro para definir el estado corporal actual. (Guyton
2001).
Esta propiedad nos sugiere que el sistema clasificador debe adquirir y procesar
por separado las señales adquiridas y luego, en una etapa jerárquica superior,
ponderar las mismas para la estimación del estado actual.
Presentada la idea a llevar adelante, se describirá cual es la función de las
redes neuronales en este esquema. Cada característica en sí es un fenómeno a
clasificar, de esta manera cada red neuronal tiene que entrenar sobre una
característica en particular y entregar una conclusión.
Estructura multicapa fallida
En una primera aproximación, para desarrollar un programa que cumpla con
estas características, se podría pensar en mantener la misma matriz sináptica que
realice un entrenamiento por capas. Por ejemplo, si se tiene una matriz de
patrones de entrenamiento en la cual cada patrón tiene tres características
entonces, para llevarlo a cabo, cada vez que se toma un patrón se debe procesar
cada característica en forma individual y entrenar los tres “pisos” de la matriz
sináptica por separado. Cada uno de los pisos es totalmente independiente a los
otros, por lo tanto los “ganadores” de cada una de las capas no tienen porque
ubicarse en el mismo lugar.
Debido a que las características son de distinta naturaleza, cuando se tiene una
curva de entrenamiento apropiada para una de ellas es muy poco probable que lo
sea para los dos restantes. Esto obliga a que se deba tener una curva de
entrenamiento para cada una de las capas, pero si las curvas de entrenamiento son
distintas, las reducciones de vecindario no estarán sincronizadas, trayendo como
consecuencia que el entrenamiento de una capa termine antes que el de las demás.
Debido a las complicaciones mencionadas, los entrenamientos no se pueden hacer
en forma paralela sino que serían viables en forma secuencial. La complejidad
computacional se debe al error conceptual que utilizamos desde un comienzo al
pensar el problema como una red con varias capas en vez de plantearlo como
distintas redes independientes.
De lo anteriormente expuesto surge que el único proceso que se debe realizar,
una vez terminada la etapa de selección de características, consiste en armar la
matriz de patrones de entrenamiento que le corresponde y entrenar la matriz
sináptica exclusiva de esta característica.
372
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Etapa de ponderación
Esta etapa, también llamada etapa de consulta, haciendo alusión al proceso al
que somete a las redes para poder obtener la clasificación final, es la encargada de
combinar la información generada por las distintas redes y llegar a una
conclusión.
Existen varias formas de ponderación y, frente a una aplicación en particular,
puede ser necesaria una nueva forma ad hoc. Las formas más conocidas son las de
“voto directo”, “importancia ponderada” y “reglas de inferencia”.
Desarrollaremos esta última forma ya que es la utilizada en la aplicación que
describiremos más adelante. Se pueden ver detalles sobre las dos primeras en
(Fritschy 1999).
El sistema se basa en establecer la importancia de las conclusiones de las
distintas matrices sinápticas en forma de reglas de inferencia predefinidas. Por
ejemplo, si se tienen tres clases (A, B y C) y dos redes (o sea que se han extraído
dos características de cada patrón), y una de las matrices sinápticas, debido a una
particularidad especial de la característica a la cual responde, distingue claramente
la clase A pero mezcla los componentes de las clases B y C, entonces en este caso
a la conclusión que da esta matriz se le debería dar importancia si ella concluye
que el fenómeno es clase A, y se le debería restar importancia si clasifica al
fenómeno como B o C.
En forma análoga se supone que la otra matriz sináptica distingue bien la clase
C pero “confunde” las clases A y B. Con esta estructura se resuelven varios
problemas de clasificación ya que si la red 1 concluye que el fenómeno es A se
acepta que es una A, pero si indica que es B o C se consulta a la red 2, la cual si
clasifica el patrón como C se acepta que es C y por descarte si lo clasifica como A
o B se acepta que el fenómeno es B. De esta manera se aprovechan utilidades
parciales de cada una de las conclusiones de las redes para generar una robusta
conclusión final.
Aplicación: Detección de latidos ectópicos en registros Holter
En el trabajo ya citado (Fritschy 1999) se pueden observar todos los detalles
computacionales y conceptuales para llevar a cabo la clasificación. Este
clasificador posee siete etapas de procesamiento de la señal de un registro Holter.
Las primeras tres son de optimización de la relación señal/ruido, segmentación de
latidos y extracción de características. La cuarta y quinta focalizan sobre la
clasificación de cada una de las características por distintas matrices sinápticas y
la utilización de un árbol de reglas de inferencia para obtener la clasificación final.
La sexta y séptima etapa apuntan a, una vez etiquetado cada latido, almacenarlo
373
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
en una base de datos y verificar si se cumplen secuencias que pueden indicar
patologías y finalmente emitir un informe de diagnóstico4.
El objetivo de estas páginas es concentrarnos solamente en las etapas 4 y 5.
Para ello debemos aceptar que se dispone de patrones de entrenamiento con cuatro
características ya extraídas:
Ancho del complejo QRS.
Distancia relativa desde el pico de la onda P hasta la onda R.
Ancho de la onda P.
Alto de la onda P.
Etapa de clasificación. Preliminares
El objetivo de este sistema es el de clasificar cada uno de los latidos en cuatro
clases posibles: normales, auriculares, ventriculares y ruidosos. Esta clasificación
es netamente morfológica, y un buen ejemplo de cómo la llevaremos adelante es
analizar cómo un humano experto realiza el mismo trabajo. El humano, en
primera instancia, observa características morfológicas relevantes que más tarde,
relacionadas con determinadas reglas de inferencia que están sustentadas por la
comprensión fisiológica del fenómeno, le permiten clasificar el latido.
Warming Up
Todo trabajo con redes neuronales no supervisadas comienza con pruebas
sobre la sensibilidad de las redes a los diferentes tipos de patrones a clasificar.
Es en esta etapa de “calentamiento” donde se define el tratamiento que se le
debe dar a las características extraídas en lo que concierne a ajuste de rango y
linealidad.
Ajuste de rango
Para normalizar el tratamiento de los datos, las características deben ser
cuantificadas como números entre 0 y 1. Este ajuste de rango se hace a través de
una función lineal que transforma el máximo valor en 1 y el mínimo valor en 0.
Dado que esta recta esta definida y no cambia a lo largo del algoritmo y que los
valores de máximo y mínimo surgen después de analizar una gran cantidad de
datos, todos aquellos valores que estén fuera de este rango se ajustan al límite más
cercano, o sea, los mayores al máximo toman el valor del máximo y los menores
del mínimo toman el valor de mínimo.
4
Téngase en cuenta que este sistema analiza unos 85000 latidos, los cuales son etiquetados y el
reporte final muestra estadísticas de clasificación y tendencias.
374
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Entrenamiento de las redes
Para formar los grupos de entrenamiento se tomaron patrones de distintos
registros con morfologías de latidos normales, auriculares y ventriculares. Las
figuras 8, 9 y 10 muestran las redes etiquetadas una vez terminado el
entrenamiento. El código de colores es: ruido gris claro (amarillo); normales
negro (azul), auriculares gris claro (verde), y ventriculares gris oscuro (rojo).
Figuras 8, 9 y 10: las SOMs etiquetadas una vez terminado el entrenamiento.
Distancia a centroides: regulación de sensibilidad
Si bien en el proceso de etiquetamiento quedan todas las celdas de la red
identificadas como miembros de una clase, no quiere decir que todas tengan la
morfología del patrón característico usado en el entrenamiento.
Este fenómeno se puede explicar de la siguiente manera: una vez que se ubica
el centroide, que representa la posición que ocupa en la red el patrón
representativo de cada clase, las celdas del vecindario cercano representan latidos
de gran concordancia con él, pero a medida que nos alejamos la semejanza
comienza a disminuir hasta el límite en el cual, si se da “un paso más” se
convierte en una latido de otra clase.
Puede ocurrir que estas celdas que se encuentran etiquetadas como de una
clase pero que son linderas con otra, no coincidan con la opinión del experto en lo
que respecta a la clasificación por lo cual con la exigencia de la distancia mínima
al centroide no se las tienen en cuenta y se las etiqueta como latido no clasificado.
Por lo tanto, el concepto de distancia mínima al centroide establece que para
que la red clasifique a un latido como miembro de una clase en primera instancia
debe “caer” dentro de esa clase y estar dentro de un radio mínimo con respecto al
centroide. El parámetro de radio mínimo es configurable de acuerdo a la
aplicación.
LVQ y distancia a centroide. Relación de compromiso
El proceso de LVQ se utiliza para acentuar los bordes entre clases y de esa
forma hacer desaparecer las “islas” en las partes alejadas del centroide. A su vez
375
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
el concepto de distancia mínima al centroide es utilizado para hacer más robusta
la matriz concentrando las decisiones correctas en el centro de cada clase.
Evidentemente los dos procesos tienen puntos en común y teniendo en cuenta
que un fuerte proceso LVQ puede “desfigurar” el entrenamiento inicial es
conveniente aplicar un proceso LVQ leve (pocas iteraciones con bajo coeficiente
de acercamiento) y luego hacer uso de la restricción de la distancia mínima al
centroide, no concentrando las decisiones muy en el centro de la clase pero si
dejar afuera aquellas celdas lejanas que tienden a provocar un error en la
clasificación.
Etapa de reglas de inferencia
En esta etapa se lleva adelante el proceso de clasificación propiamente dicho.
La misma responde a un flujograma (ver figuras 11 y 12), el cual en función de
las respuestas de cada una de las redes consultadas, avanza hacia una clasificación
definitiva del latido.
A continuación daremos una descripción exhaustiva del funcionamiento del
flujograma. Si bien entraremos en detalles propios de la aplicación es importante
que el lector observe un ejemplo de cómo se tratan los datos en esta etapa.
Primera etapa. Frente a la detección de una onda R candidata cabe
preguntarnos si es un complejo QRS o simplemente un ruido no filtrado. Si no es
un complejo QRS se sigue adelante con el próximo latido del registro y si lo es,
pasa a la segunda etapa.
Segunda etapa. En este paso se consulta si el latido es prematuro, lo que lleva
a comparar la distancia R-R actual con la distancia previa (o con la media de
latidos anteriores). Si no lo es se pasa a la tercera etapa y si lo es a la cuarta etapa.
La decisión en esta etapa depende del parámetro fijado para considerar un latido
como prematuro.
Tercera etapa. En esta instancia ya se sabe que se tiene un complejo QRS que
no es prematuro por lo cual resta verificar si cumple con la existencia de la onda P
y en ese caso si la distancia P-R es clasificada como normal. En función a estas
consultas, y como indica el flujograma, se puede llegar a etiquetar un latido como
normal, ventricular no prematuro o bloqueo de primer grado.
Cuarta etapa. A esta instancia se llega sabiendo que se tiene un complejo
QRS prematuro, por lo que se debe consultar nuevamente a las redes para saber si
se está en presencia de un latido ventricular puro, auricular o bloqueo de primer
grado.
376
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Entrada de señal
con una onda R
candidata
Es un complejo
QRS?
NO
Se continua
adelante en el
registro
SI
Es un R-R
prematuro?
NO
NO
Hay onda P?
SI
SI
(1) Sigue en
pagina siguiente
NO
Hay onda P?
Ventricular
SI
(2) Sigue en pagina
siguiente
Figura 11: flujograma de clasificación (1ra parte).
377
Ventricular
No
Prematuro
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
(1) Viene de pagina
anterior
(2) Viene de pagina
anterior
SI
SI
Distancia P-R
normal?
Fritschy J.L. et al
NO
NO
Distancia P-R
normal?
REF 1
REF 2
SI
SI
Normal
Auricular
Figura 12: flujograma de clasificación (2da parte).
¿Cómo se responden las preguntas?
Como se puede observar en el flujograma hay muchas preguntas por SI o por
NO, por lo cual es necesario definir como se arman cada una de las respuestas.
¿Es un complejo QRS?
Una vez que se detecta la presencia de una onda R candidata se consulta a la
red de “ancho de complejo QRS” y se considera que no es un complejo QRS
solamente si la red NO clasifica al latido dentro de las tres clases siguientes:
auricular, ventricular o normal.
Esto indica que las exigencias son bajas (depende exclusivamente del criterio
que utilicemos del concepto de distancia mínima a centroide) y que se descartan
solamente los latidos que son clasificados como ruido.
378
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
¿Es un R-R prematuro?
Esta pregunta es contestada comparando el periodo del latido actual con el
periodo del latido anterior y teniendo en cuenta el coeficiente configurable de
porcentaje de latido prematuro.
¿Cuándo no hay onda P?
Las redes a consultar en este punto son las de “alto de onda P” y “ancho de
onda P”. Se considera que NO hay onda P cuando la red de “altura de onda P” y
la red de “ancho de onda P” clasifican al latido como ventricular. [Es de suma
importancia el ajuste fino del criterio de distancias mínimas a centroides].
¿Distancia P-R normal?
Esta respuesta es afirmativa solo en el caso que la red de “distancia entre onda
P y R” clasifique al latido como normal. En cualquier otro caso la respuesta es
negativa.
La “capacidad de clasificación” de este tipo de algoritmos es medida bajo
diferentes criterios y es contrastada contra índices obtenidos por algoritmos
comerciales frente a la clasificación de curvas estándares. El algoritmo arriba
descrito obtuvo una “capacidad de clasificación” similar a la del modelo
comercial de HP del año 1992, con un 3% por debajo de éste (Fritschy 1999).
Las redes neuronales no supervisadas poseen una ventaja diferencial con
respecto a otros métodos de clasificación supervisados.
A pesar de que todavía no hay modelos matemáticos que predigan el
comportamiento de los SOMs, los mismos pueden ser utilizados en diferentes
aplicaciones con destacadas capacidades de clasificación.
Aplicación: detección y clasificación de latidos cardíacos
La detección y clasificación precisas del complejo QRS del
electrocardiograma son muy importantes en la posterior detección y clasificación
de latidos cardiacos. Una de las aplicaciones más importantes de la detección y
clasificación de latidos cardiacos es el estudio de la variabilidad de la frecuencia
cardiaca (Saul 1988), así como en estudios de arritmias, entre otros (Risk 1997).
El principal objetivo de la presente sección de este capítulo es proveer un
procedimiento simple para la detección y clasificación de latidos, utilizando un
algoritmo de preprocesamiento para la detección de los complejos QRS, y luego
una red neuronal auto-organizada para la clasificación de los mismos.
El algoritmo de preprocesamiento puede utilizar más de una derivación del
ECG, esto permite independencia en caso de ruido o pérdidas de señal, y se basa
en transformaciones no-lineales y derivadas (Hamilton 1986, Risk 1995).
El segundo procedimiento utiliza una SOM para la clasificación de latidos,
permitiendo la utilización de latidos normales de cada paciente para el
379
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
entrenamiento de la SOM, y de esta forma el procedimiento se ajusta para las
características del ECG de cada paciente.
Métodos
Algoritmo de preprocesamiento
El algoritmo de preprocesamiento calcula el vector del ECG utilizando todos
las derivaciones disponibles (l1, l2 , ... ln) son elevadas al cuadrado y sumadas para
calcular el vector ( x (nT ) ), implementado con la siguiente ecuación de diferencia:
x (nT ) = l12 (nT ) + l22 (nT ) +...+ln2 (nT )
(5)
Donde n es un entero arbitrario y T es el período de muestreo.
El paso siguiente tiene la opción de filtrado, en este caso se puede aplicar un
simple filtro FIR pasa-bajos, el cual en nuestra aplicación se implementó con la
siguiente ecuación:
y (nT ) = ( x (nT − T ) + x (nT − 2T )
+ x (nT − 3T )) / 3
(6)
La salida del filtro se diferencia utilizando la ecuación (7), la cual es una
implementación de una derivada de tres puntos como un filtro digital:
y (nT ) = ( x (nT ) − x (nT − 2T )) / 2
(7)
La localización del pico se determinó cuando la derivada al cuadrado d2 (de la
ecuación 3) cruza un valor umbral th. El umbral th se determinó como un
porcentaje del máximo de d2.
El punto “fiducial” se encuentra dentro de los posteriores 50 ms, después del
cruce del th, buscando el valor máximo de la d2. La figura 13 muestra la señales
vector y d2. El valor de th se determina dinámicamente, y se renueva cada 30 s;
típicamente el valor predeterminado para el th es de 50 %, en presencia de ruido
se puede elevar este valor.
Figura 13: A) vector, y B) d2.
380
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Todos los puntos “fiduciales” determinaron el conjunto de localizaciones de
los picos, de los cuales se pueden calcular la serie de latidos de los intervalos RR,
y luego calcular la serie temporal de la variabilidad de la frecuencia cardiaca
(Berger 1986).
Clasificación de los latidos
La clasificación de los latidos se realizó con una red neuronal SOM, la cual
analiza la morfología del complejo QRS; la SOM determina regiones en un
arreglo bidimensional de nodos, para todas las morfologías típicas, denominadas
“cluster” (Kohonen 1984, Lippmann 1987).
En esta estructura de nodos, cada uno de los cuales se conecta a un arreglo de
entradas a través de una conexión de peso variable. Los nodos conforman el
mapa, y una vez entrenada la SOM, se puede presentar un nuevo patrón a la SOM,
y un nodo “ganador” se determina, esto define la clasificación de este nuevo
patrón por las coordenadas del nodo “ganador” en el mapa.
El nodo “ganador” se determina como el nodo con la distancia euclidiana
mínima, calculada para cada nodo utilizando la siguiente expresión:
{
}
d j = ∑i = 0 xi (t ) − wij (t )
N −1
2
(8)
donde d es la distancia euclidiana, j es el índice del nodo, N es la cantidad de
muestras del vector de entrada, x es el vector de entrada, i es el índice del vector x,
w es el vector de pesos.
En nuestro trabajo utilizamos un arreglo de entradas de 50 muestras,
correspondientes a 390 ms, con uns frecuencia de muestreo de 128 Hz; esta
cantidad de muestras es suficiente para apreciar cambios en la morfología de
complejos QRS normales, así como patológicos, tales como latidos ventriculares
(ectópicos).
Una derivación se selecciona para alimentar la SOM, el criterio de selección
se basa en la disponibilidad de datos a lo largo del registro, en el bajo ruido y en la
morfología de los latidos ectópicos.
La figura 14 muestra un complejo QRS típico, utilizado para el entrenamiento
de la SOM, y en la figura 15 podemos apreciar un complejo QRS correspondiente
a un latido ventricular.
El arreglo de entrada se conecta a un mapa bidimensional de 6 x 8 nodos, y
durante el proceso de entrenamiento se produjeron 3000 iteraciones, el coeficiente
se decremento, así como el vecindario del nodo ganador, todo esto utilizando
una función Gaussiana (Kohonen 1984, Lippmann 1987), con la siguiente
ecuación:
381
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
{
2
f ij = e − ( ai ) + e − ( aj )
2
}/2
Fritschy J.L. et al
(9)
donde i y j son las coordenadas alrededor del nodo a renovar, perteneciendo al
vecindario, y a es una constante.
Figura 14: QRS de un latido normal típico.
Figura 15: QRS de un latido ventricular típico.
Implementación
El algoritmo de preprocesamiento y la SOM fueron implementadas en C++, a
través de una clase denominada SOM. En el presente estudio se utilizaron dos
derivaciones de ECG provenientes de un segmento de 1 hora, tomados del registro
80128 de la base de datos HMS-MIT-FFMS (Sobh 1995).
Resultados
Los resultados, después de entrenar la SOM con 3000 iteraciones, con 5
morfologías normales típicas y dos latidos ectópicos, conformaron un mapa tal
como lo muestra la tabla 1.
382
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
La tabla 2 muestra el mapa después de la presentación de todos los latidos
correspondientes al registro de 1 hora de ECG.
Tabla 1: mapa de la SOM después
normal, y V: latido ventricular).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
V
.
.
.
.
.
.
V
.
.
.
.
.
.
.
.
.
.
.
N
.
.
.
.
.
N N
.
del proceso de entrenamiento (N: latido
.
.
.
.
.
.
Tabla 2: mapa de la SOM después de procesar todos los latidos del registro (N:
latido normal, y V: latido ventricular).
.
.
.
.
.
.
N
.
.
.
.
.
.
N
.
.
V
.
.
.
N
.
N N
V
.
.
.
N N N
.
.
.
.
.
.
N
.
.
.
.
.
.
N N N
.
Discusión
La detección y clasificación precisa de latidos tiene una importancia relevante
en el estudio de la variabilidad de la frecuencia cardiaca, debido a que los latidos
ventriculares no corresponden a la regulación cardiovascular por parte del sistema
nervioso autonómico, sino a problemas de conducción del miocardio, por lo cual
dichos latidos cardiacos ectópicos no deben ser tenidos en cuenta (Saul 1990,
Bigger 1992, Task force 1996, Risk 2004).
El presente capítulo describe un algoritmo para el preprocesamiento del ECG,
el cual combina la manipulación de un vector, su filtrado lineal, y un umbral
basado en la derivada al cuadrado de la señal filtrada del ECG. El algoritmo
presentado es rápido y eficaz, por lo cual se puede utilizar para el procesamiento
de registros prolongados de ECG, tales como estudios Holter de 24 horas. La
SOM aplicada en nuestro trabajo provee un método que utiliza la morfología del
QRS de cada paciente en estudio, de esta forma se previene las diferencias
debidas a los diferentes pacientes, así como a diferencias de nivel de las señales, y
provee independencia de la derivación del ECG utilizada.
La combinación del algoritmo de preprocesamiento y el análisis de la
morfología utilizando la SOM, resulta en una alternativa a otros métodos de
clasificación de latidos cardiacos, tales como el presentado en la sección teórica
del presente capítulo.
383
DETECCIÓN DE LATIDOS ECTÓPICOS CON REDES NEURONALES
Fritschy J.L. et al
Referencias
Berger RD, Akselrod S, Gordon D and Cohen RJ. An efficient algorithm for
spectral analysis of heart rate variability. IEEE Trans. Biomed. Eng., vol. BME33, no. 9, pp. 900-904, 1986.
Bigger TJ, Fleiss JL, Steinman RC, Rolnitzky LM, Kleiger RE, Rottman JM.
Correlation’s among time and frequency domain measures of heart period
variability two weeks after acute myocardial infarction. Am. J. Cardiol. 69:891898, 1992.
Fritschy J. Sistema de detección de latidos ventriculares ectópicos en registros
Holter. Tesis del Master en Ingeniería Biomédica de la Fundación Favaloro.
1999.
Guyton y Hall. Tratado de Fisiología Médica. 10ª Ed. Interamericana Mc.GrawHill, 2001.
Hamilton PS and W. J. Tompkins WJ. Quantitative investigation of QRS
detection rules. Using the MIT/BIH arrhytmia database. IEEE Trans. Biomed.
Eng., vol. BME-33, no. 12, pp. 1157-1165, 1986.
Haykin S. Neural networks: A comprehensive foundation. Prentice Hall 1994.
Hofstadter DR. Gödel, Escher, Bach – Un Eterno y Grácil Bucle. Marzo de 1998.
Kohonen T. Self-organization and Associative Memory. Springer-Verlag, Berlin.
1984.
Lippmann RP. An introduction to computing with neural nets. IEEE ASSP
Magazine, April 1987, pp. 4-22.
Press et al. Numerical Recipes in C. Cambridge University Press, ISBN 0-52143108-5. 1995
Risk MR, Sobh JF, Barbieri R, Saul JP. A simple algorithm for QRS peak
location: use on long term ECG recordings from the HMS-MIT-FFMS database.
IEEE Engineering in Medicine and Biology 17th Annual Conference. 1995.
Risk MR, Sobh JF, Saul JP. Beat Detection and Classification of ECG using Self
Organizing Maps. IEEE/EMBS 19th International Conference, pp 89-91. 1997.
Risk MR, Ramirez AJ. Análisis Tiempo-Frecuencia de la Variabilidad de la
Frecuencia Cardiaca y la Presión Arterial. En Procesamiento de Señales e
Imágenes: Teoría y Aplicaciones, ISBN 950-42-0038-9. 2004
Saul JP, Albrecht P, Berger RD and Cohen RJ. Analysis of long term heart rate
variability: methods, 1/f scaling and implications. Comput. In Cardiol., pp. 419422, 1988.
384
PROCESAMIENTO DE SEÑALES E IMÁGENES: TEORÍA Y APLICACIONES
Saul JP. Beat to Beat Variations of Heart Rate Reflect Modulation of Cardiac
Autonomic Flow, NIPS, Vol. 5, February 1990.
Sobh JF, Risk MR, Barbieri R, Saul JP. Database for ECG, arterial blood
pressure, and respiration signal analysis: feature extraction, spectral estimation,
and parameter quantification. IEEE Engineering in Medicine and Biology 17th
Annual Conference. 1995.
Task Force of the European Society of Cardiology the North American Society of
Pacing Electrophysiology Heart Rate Variability: Standards of Measurement,
Physiological Interpretation, and Clinical Use. Circulation. 1996;93:1043-1065.
385
Descargar