Pattern recognition is the task of assigning a
class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their primary function is to distinguish and create emergent patterns. PR has applications in statistical
data analysis,
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
,
image analysis,
information retrieval
Information retrieval (IR) in computing and information science is the task of identifying and retrieving information system resources that are relevant to an Information needs, information need. The information need can be specified in the form ...
,
bioinformatics,
data compression,
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
and
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
. Pattern recognition has its origins in statistics and engineering; some modern approaches to pattern recognition include the use of
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, due to the increased availability of
big data
Big data primarily refers to data sets that are too large or complex to be dealt with by traditional data processing, data-processing application software, software. Data with many entries (rows) offer greater statistical power, while data with ...
and a new abundance of
processing power.
Pattern recognition systems are commonly trained from labeled "training" data. When no
labeled data are available, other algorithms can be used to discover previously unknown patterns.
KDD and data mining have a larger focus on unsupervised methods and stronger connection to business use. Pattern recognition focuses more on the signal and also takes acquisition and
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
into consideration. It originated in
engineering
Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
, and the term is popular in the context of
computer vision: a leading computer vision conference is named
Conference on Computer Vision and Pattern Recognition.
In
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, pattern recognition is the assignment of a label to a given input value. In statistics,
discriminant analysis was introduced for this same purpose in 1936. An example of pattern recognition is
classification
Classification is the activity of assigning objects to some pre-existing classes or categories. This is distinct from the task of establishing the classes themselves (for example through cluster analysis). Examples include diagnostic tests, identif ...
, which attempts to assign each input value to one of a given set of ''classes'' (for example, determine whether a given email is "spam"). Pattern recognition is a more general problem that encompasses other types of output as well. Other examples are
regression, which assigns a
real-valued output to each input;
sequence labeling, which assigns a class to each member of a sequence of values (for example,
part of speech tagging, which assigns a
part of speech to each word in an input sentence); and
parsing, which assigns a
parse tree to an input sentence, describing the
syntactic structure of the sentence.
Pattern recognition algorithms generally aim to provide a reasonable answer for all possible inputs and to perform "most likely" matching of the inputs, taking into account their statistical variation. This is opposed to ''
pattern matching'' algorithms, which look for exact matches in the input with pre-existing patterns. A common example of a pattern-matching algorithm is
regular expression matching, which looks for patterns of a given sort in textual data and is included in the search capabilities of many
text editors and
word processors.
Overview
A modern definition of pattern recognition is:
Pattern recognition is generally categorized according to the type of learning procedure used to generate the output value. ''
Supervised learning'' assumes that a set of training data (the
training set) has been provided, consisting of a set of instances that have been properly labeled by hand with the correct output. A learning procedure then generates a model that attempts to meet two sometimes conflicting objectives: Perform as well as possible on the training data, and generalize as well as possible to new data (usually, this means being as simple as possible, for some technical definition of "simple", in accordance with
Occam's Razor, discussed below).
Unsupervised learning, on the other hand, assumes training data that has not been hand-labeled, and attempts to find inherent patterns in the data that can then be used to determine the correct output value for new data instances. A combination of the two that has been explored is
semi-supervised learning, which uses a combination of labeled and unlabeled data (typically a small set of labeled data combined with a large amount of unlabeled data). In cases of unsupervised learning, there may be no training data at all.
Sometimes different terms are used to describe the corresponding supervised and unsupervised learning procedures for the same type of output. The unsupervised equivalent of classification is normally known as ''
clustering'', based on the common perception of the task as involving no training data to speak of, and of grouping the input data into clusters based on some inherent
similarity measure (e.g. the
distance between instances, considered as vectors in a multi-dimensional
vector space), rather than assigning each input instance into one of a set of pre-defined classes. In some fields, the terminology is different. In
community ecology, the term ''classification'' is used to refer to what is commonly known as "clustering".
The piece of input data for which an output value is generated is formally termed an ''instance''. The instance is formally described by a
vector of features, which together constitute a description of all known characteristics of the instance. These feature vectors can be seen as defining points in an appropriate
multidimensional space, and methods for manipulating vectors in
vector spaces can be correspondingly applied to them, such as computing the
dot product
In mathematics, the dot product or scalar productThe term ''scalar product'' means literally "product with a Scalar (mathematics), scalar as a result". It is also used for other symmetric bilinear forms, for example in a pseudo-Euclidean space. N ...
or the angle between two vectors. Features typically are either
categorical (also known as
nominal, i.e., consisting of one of a set of unordered items, such as a gender of "male" or "female", or a blood type of "A", "B", "AB" or "O"),
ordinal (consisting of one of a set of ordered items, e.g., "large", "medium" or "small"),
integer-valued (e.g., a count of the number of occurrences of a particular word in an email) or
real-valued (e.g., a measurement of blood pressure). Often, categorical and ordinal data are grouped together, and this is also the case for integer-valued and real-valued data. Many algorithms work only in terms of categorical data and require that real-valued or integer-valued data be ''discretized'' into groups (e.g., less than 5, between 5 and 10, or greater than 10).
Probabilistic classifiers
Many common pattern recognition algorithms are ''probabilistic'' in nature, in that they use
statistical inference to find the best label for a given instance. Unlike other algorithms, which simply output a "best" label, often probabilistic algorithms also output a
probability of the instance being described by the given label. In addition, many probabilistic algorithms output a list of the ''N''-best labels with associated probabilities, for some value of ''N'', instead of simply a single best label. When the number of possible labels is fairly small (e.g., in the case of
classification
Classification is the activity of assigning objects to some pre-existing classes or categories. This is distinct from the task of establishing the classes themselves (for example through cluster analysis). Examples include diagnostic tests, identif ...
), ''N'' may be set so that the probability of all possible labels is output. Probabilistic algorithms have many advantages over non-probabilistic algorithms:
*They output a confidence value associated with their choice. (Note that some other algorithms may also output confidence values, but in general, only for probabilistic algorithms is this value mathematically grounded in
probability theory
Probability theory or probability calculus is the branch of mathematics concerned with probability. Although there are several different probability interpretations, probability theory treats the concept in a rigorous mathematical manner by expre ...
. Non-probabilistic confidence values can in general not be given any specific meaning, and only used to compare against other confidence values output by the same algorithm.)
*Correspondingly, they can ''abstain'' when the confidence of choosing any particular output is too low.
*Because of the probabilities output, probabilistic pattern-recognition algorithms can be more effectively incorporated into larger machine-learning tasks, in a way that partially or completely avoids the problem of ''error propagation''.
Number of important feature variables
Feature selection algorithms attempt to directly prune out redundant or irrelevant features. A general introduction to
feature selection which summarizes approaches and challenges, has been given. The complexity of feature-selection is, because of its non-monotonous character, an
optimization problem where given a total of
features the
powerset consisting of all
subsets of features need to be explored. The
Branch-and-Bound algorithm does reduce this complexity but is intractable for medium to large values of the number of available features
Techniques to transform the raw feature vectors (feature extraction) are sometimes used prior to application of the pattern-matching algorithm.
Feature extraction algorithms attempt to reduce a large-dimensionality feature vector into a smaller-dimensionality vector that is easier to work with and encodes less redundancy, using mathematical techniques such as
principal components analysis (PCA). The distinction between feature selection and feature extraction is that the resulting features after feature extraction has taken place are of a different sort than the original features and may not easily be interpretable, while the features left after feature selection are simply a subset of the original features.
Problem statement
The problem of pattern recognition can be stated as follows: Given an unknown function
(the ''ground truth'') that maps input instances
to output labels
, along with training data
assumed to represent accurate examples of the mapping, produce a function
that approximates as closely as possible the correct mapping
. (For example, if the problem is filtering spam, then
is some representation of an email and
is either "spam" or "non-spam"). In order for this to be a well-defined problem, "approximates as closely as possible" needs to be defined rigorously. In
decision theory, this is defined by specifying a
loss function or cost function that assigns a specific value to "loss" resulting from producing an incorrect label. The goal then is to minimize the
expected loss, with the expectation taken over the
probability distribution of
. In practice, neither the distribution of
nor the ground truth function
are known exactly, but can be computed only empirically by collecting a large number of samples of
and hand-labeling them using the correct value of
(a time-consuming process, which is typically the limiting factor in the amount of data of this sort that can be collected). The particular loss function depends on the type of label being predicted. For example, in the case of
classification
Classification is the activity of assigning objects to some pre-existing classes or categories. This is distinct from the task of establishing the classes themselves (for example through cluster analysis). Examples include diagnostic tests, identif ...
, the simple
zero-one loss function is often sufficient. This corresponds simply to assigning a loss of 1 to any incorrect labeling and implies that the optimal classifier minimizes the
error rate on independent test data (i.e. counting up the fraction of instances that the learned function
labels wrongly, which is equivalent to maximizing the number of correctly classified instances). The goal of the learning procedure is then to minimize the error rate (maximize the
correctness) on a "typical" test set.
For a probabilistic pattern recognizer, the problem is instead to estimate the probability of each possible output label given a particular input instance, i.e., to estimate a function of the form
:
where the
feature vector input is
, and the function ''f'' is typically parameterized by some parameters
. In a
discriminative approach to the problem, ''f'' is estimated directly. In a
generative approach, however, the inverse probability
is instead estimated and combined with the
prior probability using
Bayes' rule, as follows:
:
When the labels are
continuously distributed (e.g., in
regression analysis), the denominator involves
integration rather than summation:
:
The value of
is typically learned using
maximum a posteriori (MAP) estimation. This finds the best value that simultaneously meets two conflicting objects: To perform as well as possible on the training data (smallest
error-rate) and to find the simplest possible model. Essentially, this combines
maximum likelihood estimation with a
regularization procedure that favors simpler models over more complex models. In a
Bayesian context, the regularization procedure can be viewed as placing a
prior probability on different values of
. Mathematically:
:
where
is the value used for
in the subsequent evaluation procedure, and
, the
posterior probability of
, is given by
:
In the
Bayesian approach to this problem, instead of choosing a single parameter vector
, the probability of a given label for a new instance
is computed by integrating over all possible values of
, weighted according to the posterior probability:
:
Frequentist or Bayesian approach to pattern recognition
The first pattern classifier – the linear discriminant presented by
Fisher – was developed in the
frequentist tradition. The frequentist approach entails that the model parameters are considered unknown, but objective. The parameters are then computed (estimated) from the collected data. For the linear discriminant, these parameters are precisely the mean vectors and the
covariance matrix. Also the probability of each class
is estimated from the collected dataset. Note that the usage of '
Bayes rule' in a pattern classifier does not make the classification approach Bayesian.
Bayesian statistics has its origin in Greek philosophy where a distinction was already made between the '
a priori' and the '
a posteriori' knowledge. Later
Kant defined his distinction between what is a priori known – before observation – and the empirical knowledge gained from observations. In a Bayesian pattern classifier, the class probabilities
can be chosen by the user, which are then a priori. Moreover, experience quantified as a priori parameter values can be weighted with empirical observations – using e.g., the
Beta- (
conjugate prior) and
Dirichlet-distributions. The Bayesian approach facilitates a seamless intermixing between expert knowledge in the form of subjective probabilities, and objective observations.
Probabilistic pattern classifiers can be used according to a frequentist or a Bayesian approach.
Uses

Within medical science, pattern recognition is the basis for
computer-aided diagnosis (CAD) systems. CAD describes a procedure that supports the doctor's interpretations and findings. Other typical applications of pattern recognition techniques are automatic
speech recognition,
speaker identification,
classification of text into several categories (e.g., spam or non-spam email messages), the
automatic recognition of handwriting on postal envelopes, automatic
recognition of images of human faces, or handwriting image extraction from medical forms. The last two examples form the subtopic
image analysis of pattern recognition that deals with digital images as input to pattern recognition systems.
Optical character recognition is an example of the application of a pattern classifier. The method of signing one's name was captured with stylus and overlay starting in 1990. The strokes, speed, relative min, relative max, acceleration and pressure is used to uniquely identify and confirm identity. Banks were first offered this technology, but were content to collect from the FDIC for any bank fraud and did not want to inconvenience customers.
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.
* medical diagnosis: e.g., screening for cervical cancer (Papnet), breast tumors or heart sounds;
* defense: various navigation and guidance systems,
target recognition systems, shape recognition technology etc.
* mobility:
advanced driver assistance systems,
autonomous vehicle technology, etc.
In psychology,
pattern recognition is used to make sense of and identify objects, and is closely related to perception. This explains how the sensory inputs humans receive are made meaningful. Pattern recognition can be thought of in two different ways. The first concerns template matching and the second concerns feature detection. A template is a pattern used to produce items of the same proportions. The template-matching hypothesis suggests that incoming stimuli are compared with templates in the long-term memory. If there is a match, the stimulus is identified. Feature detection models, such as the Pandemonium system for classifying letters (Selfridge, 1959), suggest that the stimuli are broken down into their component parts for identification. One observation is a capital E having three horizontal lines and one vertical line.
Algorithms
Algorithms for pattern recognition depend on the type of label output, on whether learning is supervised or unsupervised, and on whether the algorithm is statistical or non-statistical in nature. Statistical algorithms can further be categorized as
generative or
discriminative.
Classification methods (methods predicting categorical labels)
Parametric:
*
Linear discriminant analysis
*
Quadratic discriminant analysis
*
Maximum entropy classifier (aka
logistic regression,
multinomial logistic regression): Note that logistic regression is an algorithm for classification, despite its name. (The name comes from the fact that logistic regression uses an extension of a linear regression model to model the probability of an input being in a particular class.)
Nonparametric:
[No distributional assumption regarding shape of feature distributions per class.]
*
Decision trees,
decision lists
*
Kernel estimation and
K-nearest-neighbor algorithms
*
Naive Bayes classifier
*
Neural networks (multi-layer perceptrons)
*
Perceptrons
*
Support vector machines
*
Gene expression programming
Clustering methods (methods for classifying and predicting categorical labels)
*Categorical
mixture models
*
Hierarchical clustering (agglomerative or divisive)
*
K-means clustering
*
Correlation clustering
*
Kernel principal component analysis (Kernel PCA)
Ensemble learning algorithms (supervised meta-algorithms for combining multiple learning algorithms together)
*
Boosting (meta-algorithm)
*
Bootstrap aggregating ("bagging")
*
Ensemble averaging
*
Mixture of experts,
hierarchical mixture of experts
General methods for predicting arbitrarily-structured (sets of) labels
*
Bayesian networks
*
Markov random fields
Multilinear subspace learning algorithms (predicting labels of multidimensional data using tensor representations)
Unsupervised:
*
Multilinear principal component analysis (MPCA)
Real-valued sequence labeling methods (predicting sequences of real-valued labels)
*
Kalman filters
*
Particle filters
Regression methods (predicting real-valued labels)
*
Gaussian process regression (kriging)
*
Linear regression and extensions
*
Independent component analysis (ICA)
*
Principal components analysis (PCA)
Sequence labeling methods (predicting sequences of categorical labels)
*
Conditional random fields (CRFs)
*
Hidden Markov models (HMMs)
*
Maximum entropy Markov models (MEMMs)
*
Recurrent neural networks (RNNs)
*
Dynamic time warping (DTW)
See also
*
*
*
*
*
*
*
*
*
*
*
List of datasets for machine learning research
*
List of numerical-analysis software
*
List of numerical libraries
*
*
*
*
*
*
*
References
Further reading
*
*
*
*
*
*
*
An introductory tutorial to classifiers (introducing the basic terms, with numeric example)*
External links
The International Association for Pattern RecognitionJournal of Pattern Recognition Research
Pattern Recognition InfoPattern Recognition(Journal of the Pattern Recognition Society)
International Journal of Pattern Recognition and Artificial Intelligence
International Journal of Applied Pattern RecognitionOpen Pattern Recognition Project intended to be an open source platform for sharing algorithms of pattern recognition
Improved Fast Pattern MatchingImproved Fast Pattern Matching
{{Authority control
Machine learning
Formal sciences
Computational fields of study