views:

683

answers:

6

I'm interested in learning more about pattern recognition. I know that's somewhat of a broad field, so I'll list some specific types of problems I would like to learn to deal with:

  • Finding patterns in a seemingly random set of bytes.
  • Recognizing known shapes (such as circles and squares) in images.
  • Noticing movement patterns given a stream of positions (Vector3)

This is a new area of experimentation for me personally, and to be honest, I simply don't know where to start :-) I'm obviously not looking for the answers to be provided to me on a silver platter, but some search terms and/or online resources where I can start to acquaint myself with the concepts of the above problem domains would be awesome.

Thanks!

ps: For extra credit, if said resources provide code examples/discussion in C# would be grand :-) but doesn't need to be

A: 

I am not an expert on this, but reading about Hidden Markov Models is a good way to start.

Otto Allmendinger
A: 

learning pattern-recoginition is easier in matlab..

there are several examples and there are functions to use.

it is good for the understanding concepts and experiments...

ufukgun
+5  A: 

Hidden Markov Models are a great place to look, as well as Artificial Neural Networks.

Edit: You could take a look at NeuronDotNet, it's open source and you could poke around the code.

Edit 2: You can also take a look at ITK, it's also open source and implements a lot of these types of algorithms.

Edit 3: Here's a pretty good intro to neural nets. It covers a lot of the basics and includes source code (albeit in C++). He implemented an unsupervised learning algorithm, I think you may be looking for a supervised backpropagation algorithm to train your network.

Edit 4: Another good intro, avoids really heavy math, but provides references to a lot of that detail at the bottom, if you want to dig into it. Includes pseudo-code, good diagrams, and a lengthy description of backpropagation.

Gabe
+1 for helpful post with lots of links.
Stan R.
@Gabe, fyi the "good intro" link is no longer available
jinsungy
@jinsungy, just checked it and seems to be back up. Thanks for the heads up though.
Gabe
A: 

OpenCV has some functions for pattern recognition in images.

You might want to look at this :http://opencv.willowgarage.com/documentation/pattern_recognition.html.

However, I also recommend starting with Matlab because openCV is not intuitive to use.

JC
A: 

Lot of useful links on this page on computer vision related pattern recognition. Some of the links seem to be broken now but you may find it useful.

Indeera
+3  A: 

This is kind of like saying "I'd like to learn more about electronics.. anyone tell me where to start?" Pattern Recognition is a whole field - there are hundreds, if not thousands of books out there, and any university has at least several (probably 10 or more) courses at the grad level on this. There are numerous journals dedicated to this as well, that have been publishing for decades ... conferences ..

You might start with the wikipedia.

http://en.wikipedia.org/wiki/Pattern_recognition

Larry Watanabe