Muestreo de Gibbs Aplicado a la Detecci on de Spikes...

17
Muestreo de Gibbs Aplicado a la Detecci´on de Spikes Neuronales Nicol´ as Barabino, Juli´ an Oreggioni 22 de Agosto de 2011 Proyecto desarrollado en el marco del curso Tratamiento Estad´ ıstico de se˜ nales (TES 2010). Instituto de Ingenier´ ıa El´ ectrica. Facultad de Ingenier´ ıa. Universidad de la Rep´ ublica. Montevideo, Uruguay. Resumen El presente trabajo trata sobre la detecci´ on de spikes neuronales utilizando el algoritmo de Muestreo de Gibbs. El estudio de las se˜ nales neuronales son de inter´ es en muchas ´areas de la ciencia y la detecci´ on y caracterizaci´ on de spikes es parte fundamental del an´ alisis. En este trabajo se utilizaron se˜ nales reales provenientes de neuronas de peces el´ ectricos. Los resultados obtenidos se compararon con el m´ etodo tradicional de detecci´ on mostrando la utilidad y las limitaciones del m´ etodo propuesto.

Transcript of Muestreo de Gibbs Aplicado a la Detecci on de Spikes...

Muestreo de Gibbs Aplicado a la Deteccion de Spikes

Neuronales

Nicolas Barabino, Julian Oreggioni

22 de Agosto de 2011

Proyecto desarrollado en el marco del curso Tratamiento Estadıstico de senales (TES 2010).Instituto de Ingenierıa Electrica.

Facultad de Ingenierıa.Universidad de la Republica.

Montevideo, Uruguay.

Resumen

El presente trabajo trata sobre la deteccion de spikes neuronales utilizando el algoritmode Muestreo de Gibbs. El estudio de las senales neuronales son de interes en muchas areas dela ciencia y la deteccion y caracterizacion de spikes es parte fundamental del analisis. En estetrabajo se utilizaron senales reales provenientes de neuronas de peces electricos. Los resultadosobtenidos se compararon con el metodo tradicional de deteccion mostrando la utilidad y laslimitaciones del metodo propuesto.

Indice

1. Introduccion 2

1.1. El problema desde el punto de vista de la aplicacion biologica . . . . . . . . . . . . 2

1.2. Metodos para detectar spikes neuronales . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Algoritmo de Muestreo de Gibbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Deteccion de Spikes Mediante Muestreo de Gibbs 6

2.1. Muestreo de Gibbs aplicado a nuestro problema . . . . . . . . . . . . . . . . . . . . 6

2.2. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1. Acondicionamiento previo de la senal . . . . . . . . . . . . . . . . . . . . . . 8

2.2.2. Deteccion por umbral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.3. Implementacion del Algoritmo de Muestreo de Gibbs . . . . . . . . . . . . . 10

3. Resultados 12

4. Conclusiones 15

Indice de figuras

1. Senal proveniente de pez electrico, las flechas negras indican los spikes. . . . . . . . 3

2. Spike de pez electrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3. Feature Analysis - Identificacion de spikes de pez electrico (canal2) . . . . . . . . . 4

4. Kmeans - Clasificacion de spikes de pez electrico (canal2) . . . . . . . . . . . . . . 4

5. Representacion de la convolucion de los impulsos generadores de los spikes. . . . . 6

6. Espectro de la senal de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

7. DOE: Descarga del organo electrico . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

8. Senal de entrada original y acondicionada . . . . . . . . . . . . . . . . . . . . . . . 9

9. Deteccion por umbral: spikes detectados y spike promedio . . . . . . . . . . . . . . 10

10. Deteccion por umbral: senal de entrada y ubicacion de spikes detectados . . . . . . 10

11. Senal pocesada con Gibbs y picos detectados por el detector de umbral . . . . . . 12

12. Resultado de iterar la corrida del algoritmo de Gibbs . . . . . . . . . . . . . . . . 14

13. Estimacion de la autocorrelacion del ruido . . . . . . . . . . . . . . . . . . . . . . 14

Indice de cuadros

1. Comparacion de los parametros de la senal estimados por el detector de umbral ypor Gibbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

1. Introduccion

En esta seccion se plantea el problema de la deteccion de spikes desde el punto de vista de laaplicacion biologica, se resenan brevemente algunos metodos que se utilizan habitualmente paraenfrentarlo, se presenta la motivacion de utilizar el algoritmo de Muestreo de Gibbs para resolverel problema y se determina el alcance del presente proyecto. En la seccion 2 se describe el metodoelegido para solucionar el problema, en la seccion 3 se presentan y discuten los resultados obtenidosy en la seccion 4 se formulan las conclusiones.

Se adjunta a este trabajo el archivo GibbsSpikesFiles.zip que contiene todos los archivos de Matlaby los datos. Tambien contiene el archivo leanme.txt que da un poco mas de informacion sobre laestructura de la carpeta.

1.1. El problema desde el punto de vista de la aplicacion biologica

La mayorıa de las neuronas se comunican mediante potenciales de accion o spikes. El procesamientode estas senales tiene sus particularidades y la deteccion del spike es el primer paso en el estudiode muchos tipos de funciones cerebrales. [1] [2]

Tıpicamente estas senales se registran con electrodos, colocados intra-celularmente o sobre la piel,obteniendo un voltaje en funcion del tiempo. Se trata de senales lentas (entre 100Hz y 7kHz) y debaja amplitud 100µV a 1mV . Una misma neurona emite (se utiliza el termino disparar) siempreel mismo tipo de forma de onda, lo que varıa es el momento del disparo, o sea la frecuencia y lafase. Los spikes generalmente estan contaminados con el ruido ambiente y es interferido por losspikes de neuronas cercanas. Por lo tanto, obtener registros de una unica neurona puede ser difıcil.En estos casos se aplican tecnicas, que seran mencionadas muy brevemente en la seccion siguiente,para intentar extraer la informacion de todas las neuronas presentes en el registro.

En este proyecto se trabajara con spikes provenientes de registros efectuados en peces electricos enel laboratorio del Departamento de Neurociencias Integrativas y Computacionales del Instituto deInvestigaciones Biologicas Clemente Estable (DNIC-IIBCE). Se cuenta con registros intra-celularesde tres canales, obtenidos con cuatro electrodos colocados en el cerebro de un pez1. Trabajar conestos seres vivos, agrega la dificultad de manejar la interferencia del DOE2.

En la figura 1 se muestra uno de estos canales con la senal proveniente del pez electrico, parasimplificar la visualizacion se han quitado los DOEs, las flechas indican posibles spikes. En lafigura 2 es un acercamiento de la figura 1 para mostrar en detalle la forma tıpica de un spike.

1.2. Metodos para detectar spikes neuronales

En la literatura se encuentran varios metodos para detectar la posicion de un spike. Algunosde ellos, comparan la senal cruda contra un template (template matching). Estos metodos sonparticularmente efectivos cuando la forma de onda del spike buscado es conocido a priori o puedeestimarse. Tambien se encuentran metodos, que midiendo la energıa de la senal, logran resolver elproblema. [3]

Este trabajo se detendra en el algoritmo de deteccion por umbral o threshold detection, que es elmetodo mas estandar para detectar la posicion de un spike. El metodo detecta spikes viendo loscruces de la senal por un umbral fijado arbitrariamente. Su principal ventaja es que es sencillo deimplementar y tiene bajo costo computacional. Su principal desventaja es que sensible al ruido oa la interferencia de otras senales (por ejemplo spikes de otras neuronas), con lo cual, si el registrotiene mas de una neurona su resultado puede no ser satisfactorio. Se han planteado mejoras queutilizan un umbral positivo y otro negativo, para buscar los flancos positivos y negativos del spike,tambien hay trabajos que proponen adaptar el umbral en funcion del ruido. [3]

1La senal viene con un procesamiento previo muy basico, a nivel de hardware, que no se conoce en detalle:seguramente se ha quitado ruido de alta frecuencia y se amplifico por un factor entre 200 y 1000

2DOE: Descarga del organo electrico. Es una descarga electrica que realiza el pez, la amplitud de las senales esentre 15 y 20 veces mayor que la senal de interes y se repite cada 20-30ms.

2

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

0.65 0.7 0.75 0.8 0.85 0.9 0.95

−3000

−2000

−1000

0

1000

2000

3000

t (s)

y (

mV

)

Figura 1: Senal proveniente de pez electrico, las flechas negras indican los spikes.

0.902 0.904 0.906 0.908

−1500

−1000

−500

0

500

1000

1500

y (

mV

)

t (s)

Figura 2: Spike de pez electrico

La deteccion de spikes termina siendo un primer paso de muchos de metodos de analisis. Parael caso de tener una o mas neuronas superpuestas se suele utilizar feature analysis, es decir, seestablecen ciertas caracterısticas distintivas de la senal (como por ejemplo su amplitud pico a picoo el tiempo que pasa entre el pico negativo y positivo) y se agrupan las que poseen caracterısticassimilares (ver ejemplo en figura 3 realizado a partir de datos en peces electricos). Este metodo puedeextenderse y automatizarse mediante PCA (Principal Component Analysis). Luego de identificarse utilizan tecnicas para clasificar, si se conocen las formas de onda o se pueden estimar, se puedeusar template matching o filtrado optimo, o se pueden usar tecnicas de reconocimiento de patronescomo k-means o bayesian clustering. En el caso de k-means la pertenencia al cluster se definemediante la distancia euclideana respecto al centro (que se calcula como la media). En la figura 4se muestran los datos luego de aplicar k-means a la figura 3. [2]

3

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

Figura 3: Feature Analysis - Identificacion de spikes de pez electrico (canal2)

Figura 4: Kmeans - Clasificacion de spikes de pez electrico (canal2)

1.3. Algoritmo de Muestreo de Gibbs

El algoritmo de Metropolis–Hastings es un metodo Monte Carlo para Cadenas de Markov (MCMC)[4] que permite obtener una secuencia de muestras aleatorias de una distribucion de probabilidad,en casos donde no es posible muestrear directamente. La secuencia puede utilizarse para aproximarla distribucion o para computar una integral (la esperanza).

El algoritmo de Muestreo de Gibbs (Gibbs Sampling) es una variante del algoritmo de Metropolis-Hastings, el mismo permite obtener una secuencia de muestras de una variable en base a la distri-bucion de probabilidad condicional completa de la misma respecto de otras variables. Si se buscanmuestras de xt con t = 1, 2, ..., T , la idea del algoritmo es aproximar p(xt) iterando en t conp(xt|x−t)3. A partir de p(xt) se puede obtener una secuencia de muestras xt para t = 1, 2, ..., T .

Este algoritmo es utilizado en problemas de deconvolucion de trenes de spikes poco densos (sparsespike trains), el cual aparece en areas como tomografıa acustica y busqueda de petroleo. El casode los spikes neuronales tiene puntos en comun con este tipo de problemas, por lo cual se proponeintentar detectar spikes neuronales usando esta herramienta.

3Siendo x−t el vector conteniendo los valores de x para t = 1, ..., t− 1, t + 1, ..., T

4

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

1.4. Alcance

En este proyecto se intentara detectar spikes neuronales provenientes de registros intra-celularesefectuados en un pez electrico en el laboratorio del DNIC del IIBCE.

Se trabajara con el canal 4, donde se asume que los registros contienen spikes de una unica neuronay que por lo tanto el resto de las senales superpuestas son ruido blanco gaussiano.

Para detectar estos spikes, en primer lugar se realizara un pre-acondicionamiento de la senal,que consiste en filtrar ruido fuera de la banda de interes, submuestrar para alivianar la carga decomputacion y quitar el DOE. En segundo lugar, se detectaran los spikes mediante el metodo dedeteccion por umbral. Finalmente, se implementara el metodo de muestreo de Gibbs para detectarlos spikes y se compararan los resultados con los obtenidos mediante la deteccion por umbral.

5

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

2. Deteccion de Spikes Mediante Muestreo de Gibbs

2.1. Muestreo de Gibbs aplicado a nuestro problema

El algoritmo de Muestreo de Gibbs es utilizado en problemas de deconvolucion de trenes de spikespoco densos (sparse spike trains). El planteo en estos casos se puede expresar en los siguientesterminos: se tiene un tren de impulsos xt, el cual es convolucionado mediante una forma de ondaconocida h = [h0, ..., hL]T y se observa dicha convolucion en el vector y = [y1, ..., yT ]T el cualesta contaminado con ruido aditivo nt. Por lo tanto:

yt =

L∑k=0

hkxt−k + nt (1)

En el caso particular de nuestro problema de deteccion de spikes de una unica neurona se puedeidentificar a h como la forma del spike (unica para todos los spikes que produzca una mismaneurona) y a x como un vector que indica las ubicaciones temporales y las amplitudes de losspikes. Es decir que xt en cada instante t sera 0 si la neurona no esta produciendo spike o sera unvalor positivo que representara la amplitud del spike. La figura 5 muestra dicho funcionamiento.

t

xt h

t

yt

Figura 5: Representacion de la convolucion de los impulsos generadores de los spikes.

Modelado del problema. Se consideran las siguientes hipotesis:

Forma de onda h conocida.

Ruido aditivo nt gaussiano p(nt) = N (nt, 0, σ2n), con σ2

n conocida. Si bien el ruido en la senal aprocesar posiblemente tenga cierto grado de correlacion ya que gran parte del mismo surge despikes de otras neuronas cercanas a la de interes, se considero de esta manera para simplificarel problema.

Spikes independientes, y con probabilidad de ocurrencia en un instante t igual a α. Por lotanto se puede asociarle a xt una variable de Bernoulli qt, tal que si qt = 1 existe un spike ent y no existe en caso de que qt = 0. Entonces se tiene que P (qt = 1) = α y P (qt = 0) = 1−α.

Distribucion gaussiana de las amplitudes de los spike. Se supone que si qt = 1 entonces elvalor de xt tiene distribucion gaussiana con media unitaria y varianza conocida σ2

h , es decirque p(xt|qt = 1) = N (xt, 1, σ

2h).

Ademas para permitir la transicion entre los dos estados de qt, necesaria para la convergenciade la simulacion de Gibbs, se supone que xt para el caso qt = 0 tiene una distribucion gaussianacentrada en cero con varianza σ2

0 . Se elige la misma arbitrariamente tal que σ20 � σ2

h, ennuestro caso se tomo un valor de σ2

0 cien veces menor a σ2h.

Entonces se tiene para x:

p(xt|qt) = N (xt; qt, (σ2h)qt(σ2

0)1−qt) (2)

p(xt) = αN (xt, 1, σ2h) + (1− α)N (xt, 0, σ

20) (3)

6

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

Objetivo. El objetivo es obtener una estimacion de xt indicando las ubicaciones temporales ylas amplitudes de los spikes emitidos por la neurona, partiendo solamente de la senal ruidosa yt.

Sin embargo se observa del modelado del problema que es necesario contar con h, σ2n, α y σ2

h parapoder obtener xt utilizando el Algoritmo de Muestreo de Gibbs. Para ello, utilizamos previo aGibbs, el metodo de deteccion por umbral (en la seccion 1.2 se presento el metodo y la implemen-tacion puede verse en la seccion 2.2.2). Con los spikes detectados se estima su forma promedio (h),su densidad (α), la varianza de su amplitud (σ2

h) y el ruido de la senal (σ2n). Una vez estimados

estos parametros se esta en condiciones de ejecutar el algoritmo de Muestreo de Gibbs.

Obtencion de muestras y estimacion de xt. El algoritmo de Muestreo de Gibbs permiteaproximar p(x|q,y) y P (q|x,y) iterando con las distribuciones de probabilidad condicional com-pleta. Es decir, se obtienen las muestras de xt y qt iterando con:

xt ∼ p(xt|x−t,q,y)

qt ∼ P (qt|q−t,x,y)

Operando se llega a escribir estas distribuciones como:

p(xt|x−t,q,y) = N (xt;µ∗, C) (4)

P (qt|q−t,x,y) =αqt(1− α)1−qtN (xt; qt, σ

2qt)

αN (xt; 1, σ2h) + (1− α)N (xt; 0, σ2

0)(5)

donde:

σ2qt = (σ2

h)qt(σ20)1−qt (6)

C =σ2qtσ

2n

σ2n + σ2

qt‖ Ht ‖2(7)

µ∗ = C

(HT

t (y −Hx−tx−t)

σ2n

+qtσ2qt

)(8)

Para estimar x se tiene que estimar antes q para saber cuando asignarle cero a x, ya que para lasimulacion se le permite que tome valores no nulos aun cuando no hay spikes. Entonces primero seestima q de la siguiente forma:

1. Se descartan los primeros valores muestreados para asegurar que el algoritmo converja.

2. Si la mayorıa de las muestras de q para el instante t son iguales a 1, se asigna qt = 1; de locontrario, se asigna qt = 0.

Luego se estima x haciendo que:

Sı qt = 1 se asigna a xt el promedio de las muestras obtenidas (salvo las que fueron descarta-das).

Sı qt = 0 se asigna a xt = 0.

En la seccion 2.2.3 se explican los detalles del procedimiento.

7

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

2.2. Implementacion

2.2.1. Acondicionamiento previo de la senal

El acondicionamiento previo de la senal registrada consiste en filtrar ruido fuera de la banda deinteres, submuestrar para alivianar la carga de computacion y quitar los DOEs.

Con la funcion Butter de Matlab se implemento un filtro pasa-bajos de Butterworth de orden 16con frecuencia de corte inferior en 1,8kHz. En la figura 6 se presenta el espectro de la senal deentrada antes y despues de filtrar.

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

−140

−120

−100

−80

−60

−40

−20

0

20

40

60

frec (Hz)

dB

sin filtrar

filtrada

filt+subsample

Figura 6: Espectro de la senal de entrada

Los DOEs son senales muy similares entre sı, la forma de onda es similar a los spikes pero el valorde amplitud es mucho mayor. Para quitarlos se utilizo la funcion busca picos implementada parala deteccion por umbral. Esta funcion se explicara en detalle en la seccion 2.2.2, por ahora solodiremos que nos permite detectar los DOEs basados en un umbral, el umbral se determina en basea un histograma de las muestras de la senal de entrada.

En la parte superior de la figura 7 se presentan superpuestos todos los DOEs detectados. En lamisma figura con asteriscos y en la parte inferior se presenta el promedio.

Figura 7: DOE: Descarga del organo electrico

8

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

Para quitar el DOE, se le resto a la senal original el promedio de los DOEs detectados. En la figura8 se muestra un tramo de la evolucion en el tiempo de la senal original y la senal acondicionada.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

−0.5

0

0.5

1

1.5x 10

4

tiempo (s)

vo

lta

je (

mV

)

sin filtrar

filt+subsample

Figura 8: Senal de entrada original y acondicionada

2.2.2. Deteccion por umbral

La deteccion se spikes por umbral persigue dos objetivos. En primer lugar, obtener un algoritmomuy sencillo para tener una referencia de comparacion con los resultados que se obtengan aplicandoel Algoritmo de Gibbs. En segundo lugar, como se describio en la seccion 2.1, estimar ciertosparametros que necesita el Algoritmo de Gibbs:

El filtro h, que es la forma de onda buscada, se estima promediando los spikes encontradosmediante la deteccion por umbral.

α, que es la densidad de spikes, se estima como la cantidad de spikes encontrados mediantela deteccion por umbral.

La potencia del filtro (σ2h), que es la varianza de la amplitud de los spikes, se estima tambien

usando la varianza de la amplitud de los spikes encontrados mediante la deteccion por umbral.

La potencia del ruido (σ2n) se estima considerando un tramo de senal que no tiene spikes.

La funcion detector spikes umbral implementada devuelve estos cuatro valores ası como la posiciony la amplitud de los spikes detectados. Esta funcion, esta basada en una funcion auxiliar llamadabusca picos, que encuentra los picos negativos y positivos de una muestra, que ocurren entre unumbral maximo (parametro) y un umbral mınimo (parametro). Para obtener el spike, recorta lasenal una cierta cantidad de muestras antes del pico negativo (parametro) y una cantidad demuestras despues (parametro). Devuelve los lugares y valores de los picos negativos y positivos,los spikes crudos, los spikes normalizados y un spike normalizado promedio.

En la parte superior de la figura 9 se muestran los spikes detectados superpuestos, y en la parteinferior el spike promedio normalizado que se utilizara como template en el algoritmo de Muestreode Gibbs.

Finalmente, en la figura 10 se muestra el resultado de la funcion detector spikes umbral, por un ladose muestra la senal original y se senaliza con asteriscos la ubicacion de los los spikes detectados.

9

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

0 10 20 30 40 50 60 70−2000

−1500

−1000

−500

0

500

1000

1500

Muestras

voltaje

(m

V)

Spikes superpuestos

0 10 20 30 40 50 60 70−1500

−1000

−500

0

500

1000

Muestras

voltaje

(m

V)

Spike promedio

Figura 9: Deteccion por umbral: spikes detectados y spike promedio

0 0.5 1 1.5 2 2.5

x 104

−3000

−2000

−1000

0

1000

2000

3000

Muestras

Vo

lta

je (

mV

)

Figura 10: Deteccion por umbral: senal de entrada y ubicacion de spikes detectados

2.2.3. Implementacion del Algoritmo de Muestreo de Gibbs

El algoritmo de Muestreo de Gibbs se implemento en Matlab de la siguiente manera:

Nomenclatura:

Vectores xm y qm: Contienen las muestras sorteadas en cada iteracion

Vectores xest y qest: Contienen la estimacion hasta el momento de los vectores x y q

Algoritmo:

Condicion inicial. Se utilizo como condicion inicial para los vectores x y q los valores en-contrados con el algortimo de deteccion por umbral, de manera de facilitar la convergencia.Llamamos a estos vectores xest(0) y qest(0).

Iteracion del muestreo de los vectores qm y xm (N veces): en cada iteracion de n = 1 : N serecorre t = 1 : T en cada vector y se reemplaza el valor existente por una muestra generadacon las distribuciones xt ∼ p(xt|x−t,q,y) y qt ∼ P (qt|q−t,x,y) como ya se vio anteriormente.

Actualizacion de las estimaciones de los vectores En cada iteracion se actualizan las estima-ciones de los vectores en xest y qest con:

10

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

qest(n, t) =

{0 Sı en la mayorıa de las iteraciones qm(t) fue 0

1 Sı en la mayorıa de las iteraciones qm(t) fue 1

xest(n, t) =

{0 Sı qest(n, t) = 0

promedio(xm(:, t)) Sı qest(n, t) = 1

En ambos casos se descartan las primeras 25 iteraciones.

Deteccion de Convergencia. Para detectar la convergencia se siguio la siguiente regla:

• 50 iteraciones mınimas (mınimo para N)

• Si se cumple que norm(xest(t)− xest(t− 1))/norm(xest(0)) < 10−4 termino la iteracion,siendo norm la norma 2 del vector.

Se limito la cantidad maxima de iteraciones en N a 500

Finalmente se estima la senal original y (la senal sin ruido) convolucionando xest con h:

yest =

L∑k=0

hkxest(t− k) (9)

Segmentacion de la senal para acelerar el algoritmo Dado que el algoritmo es muy in-tensivo computacionalmente, ya que necesita recorrer todo el vector de x y q para actualizar cadavalor, se utilizo segmentacion de las muestras para disminuir el tiempo necesario.

El orden de la cantidad de operaciones necesarias es T 2, ya que para actualizar cada valor de xtse precisa recorrer todos los otros valores de t. Se se divide el problema en m sub-problemas, selogra reducir el orden a m × (T/m)2 = T 2/m. El valor de m se puede tomar tan grande como sequiera mientras se mantengan razonables las hipotesis del problema, por ejemplo que la densidadde spikes α se mantenga constante.

Se implemento de la siguiente manera:

Se dividio el vector de las muestras a procesar y en m vectores ym

Cada vector se tomo solapado con el siguiente una cantidad de muestras adecuada para queno se perdiera ningun spike

Se corrio el algoritmo de manera independiente para cada ym

Luego se unieron los vectores resultantes de cada corrida de manera de tener el resultadocompleto

En la practica se vio que se podıa utilizar m = 5 obteniendo muy buenos resultados.

Iteracion con el algoritmo de Muestreo de Gibbs Dado que el algoritmo es dependienteen los valores iniciales que se utilicen para la densidad de spikes α y la densidad de potencia delruido σ2

n, se penso en correr multiples veces el algoritmo utilizando como entrada en cada corridalos resultados de la anterior. Se implemento de la siguiente manera:

1. Se corre la primera iteracion del algoritmo de Muestreo de Gibbs con los resultados delalgoritmo de deteccion por umbral como condicion inicial.

2. Luego de la corrida, se calculan las nuevas estimaciones de α, σ2n y σ2

h:

α : Se calcula como la cantidad de spikes detectados sobre la cantidad de muestras

σ2n : Se calcula como la varianza de (y − yest)σ2h: Se calcula como la varianza de los valores positivos de xest

3. Se vuelve a correr el algoritmo de Muestreo de Gibbs con los nuevos parametros y se vuelveal punto 2.

Este bluce se repitio 5 veces, los resultados se comentan en la seccion 3.

11

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

3. Resultados

En esta seccion se presentan los resultados de la implementacion descripta en la seccion 2. Comose planteo allı, se busca mediante el algoritmo de Muestreo de Gibbs detectar spikes en una senalruidosa. Los resultados son comparados con el algoritmo de deteccion por umbral.

Se utilizo una senal real con 25000 muestras adquiridas con una frecuencia de muestreo de fs =50kHz. La senal se filtro con un pasabajos en 1,8kHz y se submuestreo a f ′s = fs/8. Para elalgoritmo de deteccion por umbral se uso 1000mV como umbral inferior.

En la figura 11 se muestran varios tramos de la senal simulada junto con los spikes detectadoscon el detector de umbral (pares de asteriscos verdes) y la senal detectada por Gibbs (rojo). Estaultima es el vector de muestras estimado xest convolucionado por h.

0 0.05 0.1 0.15 0.2 0.25−4000

−3000

−2000

−1000

0

1000

2000

3000

4000Deteccion con Gibbs y Umbral

tiempo (s)

senal (m

V)

(a)

0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

−2000

−1000

0

1000

2000

Deteccion con Gibbs y Umbral

tiempo (s)

senal (m

V)

(b)

0.155 0.16 0.165 0.17 0.175 0.18 0.185 0.19 0.195 0.2

−3000

−2000

−1000

0

1000

2000

3000

Deteccion con Gibbs y Umbral

tiempo (s)

senal (m

V)

(c)

Figura 11: Senal pocesada con Gibbs y picos detectados por el detector de umbral

12

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

En la figura 11a se muestra toda la senal, allı se observa que el algoritmo de deteccion por umbralencuentra diez spikes, mientras que el algoritmo de Muestreo de Gibbs detecta once spikes (losmismos diez anteriores y uno mas). En la figura 11b se muestra un acercamiento, donde alrededorde los 0,025s puede verse el spike que no encuentra el detector por umbral.

En la misma figura 11b, alrededor de los 0,033s se aprecia un spike que no es detectado por ningunode los dos metodos. En principio, este serıa el unico spike perdido, podrıa pensarse que alrededor de0,100s y 0,240s hay otros spikes pero la amplitud menor y la forma de onda no permiten asegurarlo.

Finalmente en la figura 11c se muestra una acercamiento que muestra el buen comportamiento deambos algoritmos. En sıntesis, puede observarse que ambos algoritmos funcionan correctamente, nohay falsos positivos, y mientras el algortimo de Gibbs detecta el 92 % de los spikes, el detector porumbral hace lo propio con el 82 %. En la tabla 1 se comparan los parametros de la senal estimadospor el detector de umbral y por Gibbs.

Metodo Umbral Gibbs

α 5,760× 10−3 6,905× 10−3

σ2h 0,343 0,340σ2n 7,8× 104 9,7× 104

Cuadro 1: Comparacion de los parametros de la senal estimados por el detector de umbral y porGibbs

Como se observa en la tabla 1, los parametros de la senal obtenidos por ambos metodos son muysimilares. Solo se observan pequenas diferencias en α (ya que Gibbs detecta algunos mas spikes) yen la estimacion de ruido. Aunque el tiempo de procesamiento es notablemente distinto: algunossegundos para el detector de umbral y 4 minutos para Gibbs.

Iteracion del algoritmo de Muestreo de Gibbs Como se menciono anteriormente se probo ite-rar con el algoritmo de Muestreo de Gibbs. En la figura 12 se presenta el resultado de correr 4veces sucesivas el algoritmo.

Se observa que la iteracion diverge, ya que en cada corrida el α es mayor. Ademas el ruido estimadotambien empieza a decrecer a medida que aumentan las iteraciones, esto quiere decir que cada vezse empieza a encontrar mas “spikes” entre el ruido de la senal. Recordemos que el ruido estafundamentalmente formado por spikes de otras neuronas cercanas, lo que sin duda no ayuda a quelas iteraciones converjan.

Concluimos que iterar de esta manera no parece razonable para mejorar el resultado del algoritmo.

Autocorrelacion real del ruido Teniendo una estimacion de la senal real (yest) se puederestarla a la senal ruidosa y obtener el ruido en nest = y− yest. Esto se puede usar para analizarloy determinar la exactitud de nuestra hipotesis de ruido gaussiano independiente.

En la figura 13 vemos la autocorrelacion del ruido calculada a partir de nest. Si bien se puedeobservar que el mismo no es exactamente gaussiano, ya que la senal parece estar fuertementecorrelacionada hasta aproximadamente las primeras 10 muestras, tampoco se aleja demasiado deun comportamiento ideal (delta en el origen).

13

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

Indicadores en funcion de las iteraciones del algoritmo (g)

0 0.5 1 1.5 2 2.5 3 3.5 4

6

8

10x 10

−3α

0 0.5 1 1.5 2 2.5 3 3.5 46

8

10x 10

4

σ2 n

0 0.5 1 1.5 2 2.5 3 3.5 40

0.2

0.4

σ2 h

Figura 12: Resultado de iterar la corrida del algoritmo de Gibbs

0 5 10 15 20 25 30 35−4

−2

0

2

4

6

8x 10

4 Autocorrelacion del ruido

muestras

au

toco

rre

lacio

n

Figura 13: Estimacion de la autocorrelacion del ruido

14

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

4. Conclusiones

Se implemento exitosamente un metodo, basado en el algoritmo de Muestreo de Gibbs, para de-tectar spikes neuronales provenientes de registros intra-celulares efectuados en un pez electrico enel laboratorio del DNIC del IIBCE. Asimismo, se implemento un segundo metodo, de deteccionpor umbral, a los efectos de comparar la performance de nuestra implementacion.

Ambos metodos arrojaron resultados muy similares, ninguno presento falsos positivos, y mientras elalgoritmo de Muestreo de Gibbs detecto el 92 % de los spikes, el detector por umbral hizo lo propiocon el 82 %. Este resultado no resulta muy alentador ya que la complejidad de implementacion yel costo computacional del algortimo de Muestreo de Gibbs es muy alto comparado con el detectorde umbral.

Se verifico la hipotesis mas fuerte que se asumio, cuando se establecio que los registros contienenspikes de una unica neurona y que por lo tanto el resto de las senales superpuestas son ruido blancogaussiano. Si bien se pudo verificar que el mismo no es ideal, los resultados parecen aceptables.

Dado que nuestra implementacion del algoritmo de Muestreo de Gibbs es dependiente de lascondiciones iniciales establecidas mediante el algoritmo de deteccion de umbral, se evaluo repetir suejecucion iterando en α, σ2

n y σ2h. Los resultados muestran que no se gana mucho, esto seguramente

sea consecuencia de lo bien que anda el algoritmo de deteccion de umbral. Para contrastar, serıainteresante evaluar un caso donde no pase esto.

En sıntesis, dada la paridad de resultados, la deteccion por umbral serıa el metodo escogido en casode tener restricciones fuertes de consumo o tiempo de procesamiento. Por otra parte, el algoritmode Muestreo de Gibbs deberıa tener una performance mucho mas destacada respecto al detectorpor umbral, si la interferencia o ruido tuviese una amplitud comparable con la amplitud del spike.

Trabajo a futuro Una forma que permitirıa aprovechar mejor el potencial del Muestreo deGibbs serıa utilizarlo para spike sorting, es decir para discernir el origen de cada spike en una senalque contenga superpuestas las senales de varias neuronas. Esto se podrıa realizar modificando elalgoritmo para detectar diferentes formas de onda. Por ejemplo, para el caso de dos neuronas serıade la siguiente manera:

Se considerarıan dos vectores independientes q1 y q2 que con probabilidades α1 y α2 repre-senten la generacion de spikes por parte de cada neurona.

A su vez se considerarıan las variables x1 y x2 que determinarıan las amplitudes de los spikes,tambien de manera independiente.

Utilizando k-means luego del detector de umbral se clasifican los spikes detectados en dosgrupos y para cada uno se obtiene su forma de onda promedio, que se guardara en h1 y h2.Recordemos que esto es necesario porque las senales de neuronas distintas tienen formas deonda distinta.

La senal neuronal se modelarıa como:

yt =

L∑k=0

h1,kx1,t−k +

L∑k=0

h2,kx2,t−k + nt (10)

De esta manera el algoritmo devolverıa dos vectores (x1,est y x2,est), donde indicarıa el origen masprobable de cada spike detectado.

15

Muestreo de Gibbs Aplicado a la Deteccion de Spikes Neuronales TES 2010

Referencias

[1] S. B. Wilson and R. Emerson, “Spike detection: a review and comparison of algorithms,”Clinical Neurophysiology, vol. 113, p. 1873–1881, December 2002.

[2] M. S. Lewicki, “A review of methods for spike sorting: the detection and classification of neuralaction potentials,” Network: Computation in Neural Systems, vol. 9, no. 4, pp. R53–R78, 1998.

[3] I. Obeid and P. D. Wolf, “Evaluation of spike-detection algorithms for a brain-machine interfaceapplication,” IEEE Transactions on Biomedical Engineering, vol. 51, pp. 905–911, June 2004.

[4] W. Gilks, S. Richardson, and D. Spiegelhalter, eds., Markov Chain Monte Carlo in Practice.Chapman and Hall CRC, 1998.

16