(Copied from old kiwi)
 
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
(From [Lecture 1 - Introduction])
+
(From [[Lecture 1 - Introduction_Old Kiwi]])
  
Definition of Pattern Recognition:  
+
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.
+
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:
 
Examples of Pattern Recognition:
  - Determine which grapes were used to make a particular wine  
+
* Determine which grapes were used to make a particular wine
  - Pick a move in a chess game
+
* Pick a move in a chess game
  - Classify an MRI Image
+
* Classify an MRI Image
  - Decide whether to hold or sell stock
+
* Decide whether to hold or sell stock
  - Decide whether or not to grant a credit card to an applicant
+
* Decide whether or not to grant a credit card to an applicant
  - Recognize faces
+
* Recognize faces
  - Understand and process speech
+
* Understand and process speech
  - Read zip codes on letters
+
* Read zip codes on letters
  - Read and understand handwritten characters
+
* 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.  
+
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:  
+
Problems with Pattern Recognition:
  - Hard for the computers (not necessarily intuitive)
+
* 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 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.
+
* Most algorithms do well on the training data but fail miserably on real data.
  
 
Steps in Solving the Pattern Recognition Problem
 
Steps in Solving the Pattern Recognition Problem
  .. image:: StepsPatternRecog.jpg
 
  
  1. Data acquisition (for training the classifier)
+
[[Image:StepsPatternRecog_Old Kiwi.jpg]]
  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
+
1. Data acquisition (for training the classifier)
    - 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
+
2. Data pre-processing (such as contrast & background adjustment and segmentation of images)
    - 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
+
3. Feature Extraction
    - 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.
+
* 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:
 
Example of Pattern Recognition Solution:
  .. image:: Lect1ex1e.JPG
+
[[Image:Lect1ex1e_Old Kiwi.JPG]]
 +
 
 +
[[Category:ECE662]]

Latest revision as of 08:43, 10 April 2008

(From Lecture 1 - Introduction_Old Kiwi)

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 Old Kiwi.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 Old Kiwi.JPG

Alumni Liaison

Ph.D. on Applied Mathematics in Aug 2007. Involved on applications of image super-resolution to electron microscopy

Francisco Blanco-Silva