Reputation: 113
I have EEG data (alpha, theta and delta) divided into N windows of length 1 second, collected while the subject was in sleep and awaken state. Since I am novice to HMM, I have no clear idea as to how to train the HMM and get my data classified into 2 classes (corresponding to sleep and awaken state). Please help me out with a suitable Matlab code using HMM.
Upvotes: 0
Views: 1424
Reputation: 3635
I do not know anything about EEG data however, I guess you have several sequences of multi-dimensional data over time. The idea is to use a training set of sequences for which you know the label ('sleep' or 'awaken' in your case). With the sequences 'sleep', you train an HMM that will model the evolution of the variables in the case the patient is sleeping. To train a basic HMM, my advice is to download the toolbox by Kevin Murphy http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html and to read the "How to". Then you do the same for the sequences labelled as 'awaken'.
To check if your models are relevant, you will use sequences that you did not use during the training phase. For each sequence, you need to calculate the likelihood that this sequence could have been generated by the first HMM and the second one. Usually the sequence is labeled with the HMM raising the highest likelihood. (The toolbox I proposed to you includes all functions for doing this).
The toolbox also includes a list of readings that help a lot to understand the mechanism of HMMs. That's how I started myself. Good luck with your work and do not hesitate to ask if my explanations are not clear enough.
Upvotes: 1