Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am in need to build a mouse gesture recognition system which will compare given recognition to the the gestures in training data and will say where a given gesture best fits.

I am planning to use correlation to accomplish this. I would run Correlation on given input against all the gestures in training data and will select the action associated to the gesture with best correlation co-efficient (and cross a threshold).

I am not sure how robust correlation is for this purpose, so need your insight into this. Also please suggest if you think I should better be using something other than Correlation...



PS: I am more of a programmer than a mathematician :(

share|cite|improve this question
hey, any response on our answers? be fair – MarianP Sep 23 '11 at 18:26

Your question is a little too general. It corresponds (assuming you have a fixed database of already classified data) to the most general supervised classication problem, for which there are tons of algorithms - the nearest neighbour rule is perhaps the most simple. But in any case, you always will need to define a "good" way of measure "distances" (among data items - gestures in your case) ; you'll want to try to minimize that distance, (or maximize the correlation, what is conceptually equivalent). The difficult thing is to define a good representation of your data that leads to a nice (to compute and to perform) distance function. (Read eg Duda & Hart)

share|cite|improve this answer

Before re-inventing the wheel, I would read the literature. There are some links to papers and software libraries on Wikipedia:

share|cite|improve this answer

It is not possible to simply correlate two sets of data of uneven sizes unless you approximate some points or do some other hacks.

Dynamic time warping is used for this among other methods. It is not too difficult to understand and implement, and there are plenty of providing libraries out there.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.