Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How To: Pattern Recognition

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

like image 613
Joel Martinez Avatar asked Jul 20 '09 13:07

Joel Martinez


People also ask

How do you learn pattern recognition?

Practice. Chess masters become masters through hours of rigorous practice. Regular consistent practice is the only way to develop your pattern recognition skills to a high level. The way you practice is similarly important, it needs to be deliberate and challenging.

How do we use pattern recognition?

Pattern recognition is a data analysis method that uses machine learning algorithms to automatically recognize patterns and regularities in data. This data can be anything from text and images to sounds or other definable qualities. Pattern recognition systems can recognize familiar patterns quickly and accurately.

What is the best method of pattern recognition?

Nowadays, deeplearning provides evidences to get the most reliability findings in pattern recognition.

What is an example of pattern recognition?

Pattern recognition has many real-world applications in image processing. Some examples include: identification and authentication: e.g., license plate recognition, fingerprint analysis, face detection/verification;, and voice-based authentication.


2 Answers

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.

like image 186
Gabe Avatar answered Oct 10 '22 00:10

Gabe


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

like image 41
Larry Watanabe Avatar answered Oct 09 '22 22:10

Larry Watanabe