12 votos

¿Cómo entreno HMM ' s para la clasificación?

Así que yo entiendo que cuando se entrena HMM para la clasificación en el método estándar es:

  1. Separar los conjuntos de datos en los conjuntos de datos para cada clase
  2. Capacitar a un HMM por clase
  3. En el conjunto de pruebas comparar la probabilidad de cada modelo para clasificar cada ventana

Pero, ¿cómo puedo entrenar a los HMM en cada clase? Sólo debo concatenar los datos que pertenecen a una clase juntos? Pero no es la serie de tiempo de datos destinado a ser secuenciales, y si hago lo que me estoy diciendo que algunos de los puntos de datos son consecutivos cuando no lo son?

Para ser más concretos, tengo algunos datos del EEG que es un 96xT matriz de donde he 96 función de los vectores que son las densidades espectral de potencia de las diferentes frecuencias de los diferentes canales y T es la longitud de tiempo de la señal (en algunos frecuencia de muestreo)

Esto puede ser dividido en windows que sé que desde el protocolo experimental (los datos marcados) y para que yo pueda reunir conjuntos de 96*t matrices para cada clase. Donde t es menor que T y denota el tamaño de cada ventana.

¿Cómo capacitar a los HMM en este tipo de datos? Si ayuda yo estoy tratando de usar el pmtk3 toolkit, pero estoy abierto a usar cualquier cosa, en realidad - sólo tiene que ser capaz de lidiar con un valor real de las observaciones como de las densidades espectrales de potencia continua, no discreta (el valor por defecto de MATLAB toolbox sólo puede lidiar con discretas observaciones).

El objetivo es ser capaz de clasificar datos del EEG de windows a un estado mental de haber entrenado en el etiquetado de los datos. Se trata de una interfaz cerebro-ordenador problemas con el uso de Berlín BCI Competencia de datos.

9voto

LexVjatkin Puntos 126

El enfoque que se describe para el uso Hmm para la clasificación solo es aplicable a la configuración de donde se han secuencias independientes que desea clasificar. Por ejemplo, si yo era clasificar el sentimiento de frases como positivo o negativo, podría construir un HMM para cada uno como lo he descrito. Ver las relacionadas con la respuesta que me dieron aquí. Observe cómo esto se basa en la suposición de que puede romper las secuencias en el significativo trozos para ser clasificado antes de comparar posteriores. Este no parece ser el caso para usted el problema, puesto que efectivamente tienen una gran longitud de $T$ series de tiempo. He aquí lo que me gustaría tratar.

Usted menciona más en reddit que eran reacios a ceder un solo estado para cada clase. ¿Has probado esto? Es posible que no funcione tan mal como crees. La estimación problema es también mucho más fácil en este caso. La estimación de las probabilidades de transición es fácil, solo tiene que contar esencialmente. Además, usted puede simplemente ajuste la emisión de las probabilidades de cada estado, en base a los datos observados y de la clase correspondiente, ignorando los aspectos temporales.

Si están convencidos de que esto es una mala idea, o encontrar realiza mal, pero todavía quiere seguir con los modelos generativos, usted podría usar algo como un Jerárquica HMM. Por ejemplo, se podría permitir que los estados en el nivel superior representan las clases y, a continuación, permitir que el nivel inferior Hmm para modelar la variación temporal en las clases. Usted también puede usar un gran HMM para lograr algo similar. Si usted tiene $K$ clases, asignar $N$ estados para cada clase (por lo $N \times K$ estados en su conjunto) de la forma $s_{ki}$, $k = 1, \ldots, K$, $i=1,\ldots N$. Durante el entrenamiento que usted necesita para forzar el HMM para asignar probabilidad positiva para la transición a un estado en el tiempo $t$ donde $k$ coincide con la etiqueta en el momento $t$. Yo podría haber redactado esta un poco torpe así que espero que quede claro lo que quiero decir. Obviamente no se puede generalizar esto para tener números diferentes de los estados por clase. Probablemente hay otros tipos de la Dinámica de las Redes Bayesianas se puede utilizar como así. Kevin Murphy, la tesis es una excelente referencia. También, analiza la conversión de HHMMs para Hmm.

Por último, usted puede cambiar a un modelo discriminativo como un Condicional Campo Aleatorio. Un modelo discriminativo, y le permite incorporar características más complejas y más directamente aborda el problema a mano (estimación de densidades condicionales). Esto es probablemente lo que me gustaría probar primero.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X