what is pattern recognition recognizing the fish! 1

Post on 21-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

What is Pattern Recognition

Recognizing the fish!

1

WHAT İS PATTERN

• Structures regulated by rules• Goal:Represent empirical knowledge in

mathematical forms• the Mathematics of Perception• Need: Algebra, probability theory, graph

theory

All flows! Heraclitos

• It is only the invariance, the permanent facts, that enable us to find the meaning in a world of flux.

• We can only perceive variances• Our aim is to find the invariant laws of our

varying obserbvations

Pattern Recognition

Learning vs Recognition Learning: Find the Mathematical Model of a

class, using data Recognition: Use that model to recognize

the unknown object

4

Two Schools of Thought

5

• Statistical Pattern Recognition:

Express the image class by a random variable corresponding to class features and model the class by finding the probability density fonction

• Structural Pattern Recognition

Express the image class by a set of picture primitives. Model the class by finding the relationship among the primitives using grammars or a graphs

1. STATISTICAL PR: ASSUMPTİON

SOURCE:HypothesisClassesObljects

CHANNEL:Noisy

OBSERVATION:Multiple sensorVariations

Probability TheoryApples and Oranges

Probability Theory

Marginal Probability

Conditional ProbabilityJoint Probability

Red Urn:x1C1 samples

Blue urn:x2 c2 samples

Oranges: y1 6 1

Apples: y2 2 1

Probability Theory

Sum Rule

Product Rule

The Rules of Probability

Sum Rule

Product Rule

Bayes’ Theorem

posterior likelihood × prior

Probability Densities

Expectations

Conditional Expectation(discrete)Approximate Expectation(discrete and continuous)

Variances and Covariances

1. BASİC CONCEPTS

15

• A class is a set of objects having some important properties in common

• A feature extractor is a program that inputs the data (image) and extracts features that can be used in classification.

• A classifier is a program that inputs the feature vector and assigns it to one of a set of designated classes or to the “reject” class.

With what kinds of classes do you work?

Feature Vector Representation X=[x1, x2, … , xn], each

xj a real number xj may be an object

measurement xj may be count of

object parts Example: object rep.

[#holes, #strokes, moments, …]

16

Possible Features for char rec.

17

Modeling the source

Functions f(x, K) perform some computation on feature vector x

Knowledge K from training or programming is used

Final stage determines class

18

Two Schools of Thought

19

• Statistical Pattern Recognition:

Express the image class by a random variable corresponding to class features and model the class by finding the probability density fonction

• Structural Pattern Recognition

Express the image class by a set of picture primitives. Model the class by finding the relationship among the primitives using grammars or a graphs

Classifiers often used in CV

20

• Nearest Mean Classifier •Nearest neighbor classifier• Bayesian Classifiers •----------------------------------•Decision Tree Classifiers• Artificial Neural Net Classifiers• Support Vector Machines

1. Classification using nearest class mean

Compute the Euclidean distance between feature vector X and the mean of each class.

Choose closest class, if close enough (reject otherwise)

21

Nearest mean might yield poor results with complex structure

Class 2 has two modes; where is

its mean?

But if modes are detected, two subclass mean vectors can be used

22

Scaling coordinates by Covariance Matrix Define Mahalanobis Distance between two

vectors x-xc = [ x-xc]T C-1 [x-xc] Where covariance matrix

C = 1/N { (xi – xc)T (xi – xc)}

23

2. Nearest Neighbor Classification– The k – nearest-neighbor rule

• Goal: Classify x by assigning it the label most frequently represented among the k nearest samples and use a voting scheme

Pattern Classification, Chapter 4 (Part 2) 25

Pattern Classification, Chapter 4 (Part 2)

26

Bayes Decision Making Thomas Bayes 1701--1761

27

Goal:

Given the training data computemax P(wi/x) i

Bayesian decision-making

28

Bayes

29

Normal distribution

0 mean and unit std deviation

Table enables us to fit histograms and represent them simply

New observation of variable x can then be translated into probability

Stockman CSE803 Fall 2008 30

Parametric Models can be used

Stockman CSE803 Fall 2008 31

Cherry with bruise Intensities at about 750 nanometers wavelength Some overlap caused by cherry surface turning away

Stockman CSE803 Fall 2008 32

Information Theory:Claude Shannon 1916-2001

Goal: Find the amount of information carried by a specific value of a r.v.

Need something intuitive.

Information Theory: C. Shannon Information: giving form or shape to the mind Assumptions: Source Receiver

• Information is the quality of a message • it may be a truth or a lie, • if the amount of information in the received

message increases, the message is more accurate.• Need a common alphabet to communucate

message

Quantification of information. Given r.v. X and p(x) , what is the amount of information when we receive

an outcome of x? Self Information

h(x)= -log p (x)

Low probability Surprise High info Base e: nats Base 2: bits

Entropy: Average of self information needed to specify the state of a random variable.

36

Given a set of training vectors S, if there are c classes,

Entropy(S) = -pi log (pi)

Where pi is the proportion of category i examples in S.

i=1

c

2

If all examples belong to the same category, the entropy is 0.

If the examples are equally mixed (1/c examples of eachclass), the entropy is a maximum at 1.0.

e.g. for c=2, -.5 log .5 - .5 log .5 = -.5(-1) -.5(-1) = 12 2

Entropy:

Why does entropy measures information?•İt makes sense intuitively•“Nobody knows what entropy really is, so in any discussion you will always have an advan tage". Von Neumann

Entropy

Entropy

2. Structural Techniques:Goal: Represent the classes by graphs

40

Training the system: Given the training data

Step 1: Process the image– Remove noise– binarize– Find skeleton– Normalize the size

Step 2: Extract features – Side, lake, bay

Step 3: Represent the character by a graph41

3. Represent the character by a graph:G(N, A)

42

Training: represent each class by a graph Recognition: Use graph similarities to assign

a label

43

Decision Trees:

44

#holes

L-W ratio#strokes #strokes

best axisdirection

#strokes

- / 1 x w 0 A 8 B

01

2

< t t

2 4

0 1

060

90

0 1

Binary decision tree

45

Entropy-Based Automatic Decision Tree Construction

46

Node 1What feature

should be used?

What values?

Training Set S x1=(f11,f12,…f1m) x2=(f21,f22, f2m) . . xn=(fn1,f22, f2m)

Quinlan suggested information gain in his ID3 systemand later the gain ratio, both based on entropy.

Information Gain

47

The information gain of an attribute A is the expectedreduction in entropy caused by partitioning on this attribute.

Gain(S,A) = Entropy(S) - ----- Entropy(Sv)v Values(A)

|Sv|

|S|

where Sv is the subset of S for which attribute A hasvalue v.

Choose the attribute A that gives the maximuminformation gain.

Information Gain (cont)

48

Attribute A

v1 vkv2

Set S

Set S

repeatrecursively

Information gain has the disadvantage that it prefersattributes with large number of values that split thedata into small, pure subsets.

S={sS | value(A)=v1}

Gain Ratio

49

Gain ratio is an alternative metric from Quinlan’s 1986paper and used in the popular C4.5 package (free!).

GainRatio(S,A) = ------------------Gain(S,a)

SplitInfo(S,A)

SplitInfo(S,A) = - ----- log ------ |Si|

|S|

|Si|

|S|

where Si is the subset of S in which attribute A has its ith value.

2i=1

ni

SplitInfo measures the amount of information providedby an attribute that is not specific to the category.

Information Content

50

Note:

A related method of decision tree construction usinga measure called Information Content is given in thetext, with full numeric example of its use.

Artificial Neural Nets

51

Artificial Neural Nets (ANNs) are networks ofartificial neuron nodes, each of which computesa simple function.

An ANN has an input layer, an output layer, and“hidden” layers of nodes.

.

.

.

.

.

.

Inputs

Outputs

Node Functions

52

x1x2

xj

xn

output

output = g ( xj * w(j,i) )

Function g is commonly a step function, sign function,or sigmoid function (see text).

neuron iw(1,i)

w(j,i)

53

54

Neural Net Learning

55

That’s beyond the scope of this text; onlysimple feed-forward learning is covered.

The most common method is called back propagation.

There are software packages available.

What do you use?

How to Measure PERFORMANCE Classification rate: Count the number of correctly classified

sample in wi , ci, find the frequencey

classification rate=ci/N

56

2-Class problem

Estimated Class 1 (var) Estimated Class 1 (yok)

True Class 1 (var) True hit, Correct Detection

False dismissal, false negative

True Class 2 (yok) False positiveFalse alarm,

True dismissal

57

Receiver Operating Curve ROC

Plots correct detection rate versus false alarm rate

Generally, false alarms go up with attempts to detect higher percentages of known objects

58

Presicion- Recall in CBIR or DR

59

Confusion matrix shows empirical performance

60

top related