I'm trying to learn how to classify bio-signals, and I'm starting with EMG signals from hand gestures, since a lot of data exists on this topic. My problem is understanding how test the probability of a new EMG recording to belong to a class.

I've read the article "A robust, real-time control scheme for multifunction myoelectric control (2003)", where they divide the signal into e.g. 200 ms overlapping intervals, and use majority vote to decide what gesture the hand measured made. They use features like: mean absolute value, zero-crossings, slope sign changes and waveform length. I've seen others use SD, mean and min/max.

I want to replicate something similar to gain experience, and then move on to other muscles not explored yet. To start with, i wish to make a for 4 class problem, that recognizes which finger is bent from one EMG recording.

My questions is: when i extracted the features, how do i make a classifier? i.e., how do i "train" it, and test for the probability for a piece of the signal to belong each of the classes? For instance, let's say i have 100 EMG recordings and the zero crossings for these. I now record a new signal; how do i calculate the probability of this signal to belong to each of e.g. 4 classes?

I've had linear algebra, introductory machine learning (not including time series), introductory statistics, and just started a course in signal analysis. So i know some basics, but i have absolute no idea what to do when data is time dependent.

I'm most proficient in MatLab, but if python or R is a lot better for some reason, i could learn to use these instead.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.