Así que entiendo que cuando entrenas HMM para la clasificación, el enfoque estándar es:
- Separe sus conjuntos de datos en los conjuntos de datos para cada clase
- Entrena un HMM por clase
- En el conjunto de prueba, compare la probabilidad de cada modelo para clasificar cada ventana
Pero, ¿cómo entreno al HMM en cada clase? ¿Acabo de concatenar los datos pertenecientes a una clase juntos? Pero, ¿no se supone que los datos de la serie temporal son secuenciales, y si lo hago, estoy diciendo que algunos puntos de datos son consecutivos cuando no lo son?
Para ser más concreto, tengo algunos datos de EEG, que es una matriz de 96xT, donde tengo 96 vectores de características que son las densidades espectrales de potencia de diferentes frecuencias de diferentes canales y T es el período de tiempo de la señal (a alguna frecuencia de muestreo)
Esto se puede dividir en ventanas que conozco del protocolo experimental (los datos están etiquetados) y así puedo reunir conjuntos de matrices de 96 * t para cada clase. Donde t es menor que T y denota el tamaño de cada ventana.
¿Cómo entreno al HMM sobre estos datos? Si ayuda, estoy tratando de usar el kit de herramientas pmtk3, pero me abro a usar cualquier cosa realmente: solo tiene que ser capaz de manejar observaciones de valor real, ya que las densidades espectrales de potencia son continuas, no discretas (la caja de herramientas MATLAB predeterminada solo puede manejar con observaciones discretas).
El objetivo es poder clasificar las ventanas de datos de EEG a un estado mental dado que se haya entrenado sobre los datos etiquetados. Es un problema de interfaz cerebro-computadora que utiliza los datos de la competencia BCI de Berlín .