Revision as of 07:41, 12 April 2010 by Mboutin (Talk | contribs)

What is Pattern Recognition?

(From Class notes Lecture 1, ECE662 Spring 2008)

Definition of Pattern Recognition: Pattern Recognition is the art of assigning classes or categories to data. When the computer is given examples with the categories known, this is called supervised learning. If the categories are not given, it is unsupervised learning.

Examples of Pattern Recognition:

  • Determine which grapes were used to make a particular wine
  • Pick a move in a chess game
  • Classify an MRI Image
  • Decide whether to hold or sell stock
  • Decide whether or not to grant a credit card to an applicant
  • Recognize faces
  • Understand and process speech
  • Read zip codes on letters
  • Read and understand handwritten characters

Though these tasks are all reasonable decisions to expect from a human, there are problems when teaching a machine to recognize the patterns.

Problems with Pattern Recognition:

  • Hard for the computers (not necessarily intuitive)
  • Most algorithms do not scale well (example given of 2000 faces vs. 2 million faces in an airport face recognition system)
  • Most algorithms do well on the training data but fail miserably on real data.

Steps in Solving the Pattern Recognition Problem

StepsPatternRecog OldKiwi.jpg

1. Data acquisition (for training the classifier) 2. Data pre-processing (such as contrast & background adjustment and segmentation of images) 3. Feature Extraction

  • Essentially extracting a vector of numbers from the raw data that can be fed to a mathematical model of a classifier
  • There are stupid ways to do this: just scan the image and take the pixel intensity values
  • This is often the most important step (and can take months to do on some research problems)
  • This is a domain specific problem. There are no one-size-fits-all algorithms here. You must think about the problem carefully in order to determine the features.
  • To be intelligent about your feature extraction:
    • Think about the features that you don't want to lose. These are the distinguishing features.
    • Define short vectors (in general, they perform better)
    • Define accurate vectors

4. Classification based on feature vectors

  • The classification step requires that we decide where to set the boundary that is used to determine which class to assign a particular (memoryless) data point
  • In the example of a Male vs. Female used below, we have to establish a threshold that chooses which gender to assign the data point. For this particular example, we chose to assign Female to all data points with a hair longer than a particular value
  • Decision surfaces, which are described in detail below, are used to determine where we are going to set the threshold
  • Multiple classifiers could provide for better recognition.

Example of Pattern Recognition Solution: Lect1ex1e OldKiwi.JPG


Back to ECE662

Alumni Liaison

Recent Math PhD now doing a post-doctorate at UC Riverside.

Kuei-Nuan Lin