ML Book

Download as pdf or txt
Download as pdf or txt
You are on page 1of 187

Chapter 1

Introduction to machine learning

In this chapter, we consider different definitions of the term “machine learning” and explain what
is meant by “learning” in the context of machine learning. We also discuss the various components
of the machine learning process. There are also brief discussions about different types learning like
supervised learning, unsupervised learning and reinforcement learning.

1.1 Introduction
1.1.1 Definition of machine learning
Arthur Samuel, an early American leader in the field of computer gaming and artificial intelligence,
coined the term “Machine Learning” in 1959 while at IBM. He defined machine learning as “the field
of study that gives computers the ability to learn without being explicitly programmed.” However,
there is no universally accepted definition for machine learning. Different authors define the term
differently. We give below two more definitions.
1. Machine learning is programming computers to optimize a performance criterion using exam-
ple data or past experience. We have a model defined up to some parameters, and learning is
the execution of a computer program to optimize the parameters of the model using the train-
ing data or past experience. The model may be predictive to make predictions in the future, or
descriptive to gain knowledge from data, or both (see [2] p.3).
2. The field of study known as machine learning is concerned with the question of how to con-
struct computer programs that automatically improve with experience (see [4], Preface.).

Remarks
In the above definitions we have used the term “model” and we will be using this term at several
contexts later in this book. It appears that there is no universally accepted one sentence definition
of this term. Loosely, it may be understood as some mathematical expression or equation, or some
mathematical structures such as graphs and trees, or a division of sets into disjoint subsets, or a set
of logical “if . . . then . . . else . . .” rules, or some such thing. It may be noted that this is not an
exhaustive list.

1.1.2 Definition of learning


Definition
A computer program is said to learn from experience E with respect to some class of tasks T and
performance measure P , if its performance at tasks T , as measured by P , improves with experience
E.

1
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 2

Examples
i) Handwriting recognition learning problem
• Task T : Recognising and classifying handwritten words within images
• Performance P : Percent of words correctly classified
• Training experience E: A dataset of handwritten words with given classifications

ii) A robot driving learning problem


• Task T : Driving on highways using vision sensors
• Performance measure P : Average distance traveled before an error
• training experience: A sequence of images and steering commands recorded while
observing a human driver
iii) A chess learning problem
• Task T : Playing chess
• Performance measure P : Percent of games won against opponents
• Training experience E: Playing practice games against itself

Definition
A computer program which learns from experience is called a machine learning program or simply
a learning program. Such a program is sometimes also referred to as a learner.

1.2 How machines learn


1.2.1 Basic components of learning process
The learning process, whether by a human or a machine, can be divided into four components,
namely, data storage, abstraction, generalization and evaluation. Figure 1.1 illustrates the various
components and the steps involved in the learning process.
Data storage Abstraction Generalization Evaluation

Data Concepts Inferences

Figure 1.1: Components of learning process


1. Data storage
Facilities for storing and retrieving huge amounts of data are an important component of
the learning process. Humans and computers alike utilize data storage as a foundation for
advanced reasoning.

• In a human being, the data is stored in the brain and data is retrieved using electrochem-
ical signals.
• Computers use hard disk drives, flash memory, random access memory and similar de-
vices to store data and use cables and other technology to retrieve data.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 3

2. Abstraction
The second component of the learning process is known as abstraction.
Abstraction is the process of extracting knowledge about stored data. This involves creating
general concepts about the data as a whole. The creation of knowledge involves application
of known models and creation of new models.
The process of fitting a model to a dataset is known as training. When the model has been
trained, the data is transformed into an abstract form that summarizes the original information.
3. Generalization
The third component of the learning process is known as generalisation.
The term generalization describes the process of turning the knowledge about stored data into
a form that can be utilized for future action. These actions are to be carried out on tasks that
are similar, but not identical, to those what have been seen before. In generalization, the goal
is to discover those properties of the data that will be most relevant to future tasks.
4. Evaluation
Evaluation is the last component of the learning process.
It is the process of giving feedback to the user to measure the utility of the learned knowledge.
This feedback is then utilised to effect improvements in the whole learning process.

1.3 Applications of machine learning


Application of machine learning methods to large databases is called data mining. In data mining, a
large volume of data is processed to construct a simple model with valuable use, for example, having
high predictive accuracy.
The following is a list of some of the typical applications of machine learning.
1. In retail business, machine learning is used to study consumer behaviour.

2. In finance, banks analyze their past data to build models to use in credit applications, fraud
detection, and the stock market.
3. In manufacturing, learning models are used for optimization, control, and troubleshooting.
4. In medicine, learning programs are used for medical diagnosis.

5. In telecommunications, call patterns are analyzed for network optimization and maximizing
the quality of service.
6. In science, large amounts of data in physics, astronomy, and biology can only be analyzed fast
enough by computers. The World Wide Web is huge; it is constantly growing and searching
for relevant information cannot be done manually.

7. In artificial intelligence, it is used to teach a system to learn and adapt to changes so that the
system designer need not foresee and provide solutions for all possible situations.
8. It is used to find solutions to many problems in vision, speech recognition, and robotics.
9. Machine learning methods are applied in the design of computer-controlled vehicles to steer
correctly when driving on a variety of roads.
10. Machine learning methods have been used to develop programmes for playing games such as
chess, backgammon and Go.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 4

1.4 Understanding data


Since an important component of the machine learning process is data storage, we briefly consider
in this section the different types and forms of data that are encountered in the machine learning
process.

1.4.1 Unit of observation


By a unit of observation we mean the smallest entity with measured properties of interest for a study.

Examples
• A person, an object or a thing
• A time point
• A geographic region
• A measurement

Sometimes, units of observation are combined to form units such as person-years.

1.4.2 Examples and features


Datasets that store the units of observation and their properties can be imagined as collections of
data consisting of the following:
• Examples
An “example” is an instance of the unit of observation for which properties have been recorded.
An “example” is also referred to as an “instance”, or “case” or “record.” (It may be noted that
the word “example” has been used here in a technical sense.)
• Features
A “feature” is a recorded property or a characteristic of examples. It is also referred to as
“attribute”, or “variable” or “feature.”

Examples for “examples” and “features”


1. Cancer detection
Consider the problem of developing an algorithm for detecting cancer. In this study we note
the following.
(a) The units of observation are the patients.
(b) The examples are members of a sample of cancer patients.
(c) The following attributes of the patients may be chosen as the features:
• gender
• age
• blood pressure
• the findings of the pathology report after a biopsy
2. Pet selection
Suppose we want to predict the type of pet a person will choose.
(a) The units are the persons.
(b) The examples are members of a sample of persons who own pets.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 5

Figure 1.2: Example for “examples” and “features” collected in a matrix format (data relates to
automobiles and their features)

(c) The features might include age, home region, family income, etc. of persons who own
pets.

3. Spam e-mail
Let it be required to build a learning algorithm to identify spam e-mail.
(a) The unit of observation could be an e-mail messages.
(b) The examples would be specific messages.
(c) The features might consist of the words used in the messages.

Examples and features are generally collected in a “matrix format”. Fig. 1.2 shows such a data
set.

1.4.3 Different forms of data


1. Numeric data
If a feature represents a characteristic measured in numbers, it is called a numeric feature.
2. Categorical or nominal
A categorical feature is an attribute that can take on one of a limited, and usually fixed, number
of possible values on the basis of some qualitative property. A categorical feature is also called
a nominal feature.
3. Ordinal data
This denotes a nominal variable with categories falling in an ordered list. Examples include
clothing sizes such as small, medium, and large, or a measurement of customer satisfaction
on a scale from “not at all happy” to “very happy.”

Examples
In the data given in Fig.1.2, the features “year”, “price” and “mileage” are numeric and the features
“model”, “color” and “transmission” are categorical.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 6

1.5 General classes of machine learning problems


1.5.1 Learning associations
1. Association rule learning
Association rule learning is a machine learning method for discovering interesting relations, called
“association rules”, between variables in large databases using some measures of “interestingness”.

2. Example
Consider a supermarket chain. The management of the chain is interested in knowing whether
there are any patterns in the purchases of products by customers like the following:

“If a customer buys onions and potatoes together, then he/she is likely to also buy
hamburger.”

From the standpoint of customer behaviour, this defines an association between the set of
products {onion, potato} and the set {burger}. This association is represented in the form of
a rule as follows:
{onion, potato} ⇒ {burger}
The measure of how likely a customer, who has bought onion and potato, to buy burger also
is given by the conditional probability
P ({onion, potato}∣{burger}).
If this conditional probability is 0.8, then the rule may be stated more precisely as follows:

“80% of customers who buy onion and potato also buy burger.”

3. How association rules are made use of


Consider an association rule of the form
X ⇒ Y,
that is, if people buy X then they are also likely to buy Y .
Suppose there is a customer who buys X and does not buy Y . Then that customer is a potential
Y customer. Once we find such customers, we can target them for cross-selling. A knowledge of
such rules can be used for promotional pricing or product placements.

4. General case
In finding an association rule X ⇒ Y , we are interested in learning a conditional probability of
the form P (Y ∣X) where Y is the product the customer may buy and X is the product or the set of
products the customer has already purchased.
If we may want to make a distinction among customers, we may estimate P (Y ∣X, D) where
D is a set of customer attributes, like gender, age, marital status, and so on, assuming that we have
access to this information.

5. Algorithms
There are several algorithms for generating association rules. Some of the well-known algorithms
are listed below:
a) Apriori algorithm
b) Eclat algorithm
c) FP-Growth Algorithm (FP stands for Frequency Pattern)
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 7

1.5.2 Classification
1. Definition
In machine learning, classification is the problem of identifying to which of a set of categories a
new observation belongs, on the basis of a training set of data containing observations (or instances)
whose category membership is known.

2. Example
Consider the following data:

Score1 29 22 10 31 17 33 32 20
Score2 43 29 47 55 18 54 40 41
Result Pass Fail Fail Pass Fail Pass Pass Pass

Table 1.1: Example data for a classification problem

Data in Table 1.1 is the training set of data. There are two attributes “Score1” and “Score2”. The
class label is called “Result”. The class label has two possible values “Pass” and “Fail”. The data
can be divided into two categories or classes: The set of data for which the class label is “Pass” and
the set of data for which the class label is“Fail”.
Let us assume that we have no knowledge about the data other than what is given in the table.
Now, the problem can be posed as follows: If we have some new data, say “Score1 = 25” and
“Score2 = 36”, what value should be assigned to “Result” corresponding to the new data; in other
words, to which of the two categories or classes the new observation should be assigned? See Figure
1.3 for a graphical representation of the problem.

Score2
60

50

40
?
30

20

Score1
10
0 10 20 30 40

Figure 1.3: Graphical representation of data in Table 1.1. Solid dots represent data in “Pass” class
and hollow dots data in “Fail” class. The class label of the square dot is to be determined.

To answer this question, using the given data alone we need to find the rule, or the formula, or
the method that has been used in assigning the values to the class label “Result”. The problem of
finding this rule or formula or the method is the classification problem. In general, even the general
form of the rule or function or method will not be known. So several different rules, etc. may have
to be tested to obtain the correct rule or function or method.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 8

3. Real life examples


i) Optical character recognition
Optical character recognition problem, which is the problem of recognizing character codes
from their images, is an example of classification problem. This is an example where there
are multiple classes, as many as there are characters we would like to recognize. Especially
interesting is the case when the characters are handwritten. People have different handwrit-
ing styles; characters may be written small or large, slanted, with a pen or pencil, and there
are many possible images corresponding to the same character.
ii) Face recognition
In the case of face recognition, the input is an image, the classes are people to be recognized,
and the learning program should learn to associate the face images to identities. This prob-
lem is more difficult than optical character recognition because there are more classes, input
image is larger, and a face is three-dimensional and differences in pose and lighting cause
significant changes in the image.
iii) Speech recognition
In speech recognition, the input is acoustic and the classes are words that can be uttered.

iv) Medical diagnosis


In medical diagnosis, the inputs are the relevant information we have about the patient and
the classes are the illnesses. The inputs contain the patient’s age, gender, past medical
history, and current symptoms. Some tests may not have been applied to the patient, and
thus these inputs would be missing.
v) Knowledge extraction
Classification rules can also be used for knowledge extraction. The rule is a simple model
that explains the data, and looking at this model we have an explanation about the process
underlying the data.

vi) Compression
Classification rules can be used for compression. By fitting a rule to the data, we get an
explanation that is simpler than the data, requiring less memory to store and less computation
to process.
vii) More examples
Here are some further examples of classification problems.
(a) An emergency room in a hospital measures 17 variables like blood pressure, age, etc.
of newly admitted patients. A decision has to be made whether to put the patient in an
ICU. Due to the high cost of ICU, only patients who may survive a month or more are
given higher priority. Such patients are labeled as “low-risk patients” and others are
labeled “high-risk patients”. The problem is to device a rule to classify a patient as a
“low-risk patient” or a “high-risk patient”.
(b) A credit card company receives hundreds of thousands of applications for new cards.
The applications contain information regarding several attributes like annual salary,
age, etc. The problem is to devise a rule to classify the applicants to those who are
credit-worthy, who are not credit-worthy or to those who require further analysis.
(c) Astronomers have been cataloguing distant objects in the sky using digital images cre-
ated using special devices. The objects are to be labeled as star, galaxy, nebula, etc.
The data is highly noisy and are very faint. The problem is to device a rule using which
a distant object can be correctly labeled.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 9

4. Discriminant
A discriminant of a classification problem is a rule or a function that is used to assign labels to new
observations.

Examples
i) Consider the data given in Table 1.1 and the associated classification problem. We may
consider the following rules for the classification of the new data:

IF Score1 + Score2 ≥ 60, THEN “Pass” ELSE “Fail”.


IF Score1 ≥ 20 AND Score2 ≥ 40 THEN “Pass” ELSE “Fail”.

Or, we may consider the following rules with unspecified values for M, m1 , m2 and then by
some method estimate their values.

IF Score1 + Score2 ≥ M , THEN “Pass” ELSE “Fail”.


IF Score1 ≥ m1 AND Score2 ≥ m2 THEN “Pass” ELSE “Fail”.

ii) Consider a finance company which lends money to customers. Before lending money, the
company would like to assess the risk associated with the loan. For simplicity, let us assume
that the company assesses the risk based on two variables, namely, the annual income and
the annual savings of the customers.
Let x1 be the annual income and x2 be the annual savings of a customer.
• After using the past data, a rule of the following form with suitable values for θ1 and
θ2 may be formulated:
IF x1 > θ1 AND x2 > θ2 THEN “low-risk” ELSE “high-risk”.
This rule is an example of a discriminant.
• Based on the past data, a rule of the following form may also be formulated:
IF x2 − 0.2x1 > 0 THEN “low-risk” ELSE “high-risk”.
In this case the rule may be thought of as the discriminant. The function f (x1 , x2 ) =
x2 − 0, 2x1 can also be considered as the discriminant.

5. Algorithms
There are several machine learning algorithms for classification. The following are some of the
well-known algorithms.

a) Logistic regression
b) Naive Bayes algorithm
c) k-NN algorithm

d) Decision tree algorithm


e) Support vector machine algorithm
f) Random forest algorithm
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 10

Remarks
• A classification problem requires that examples be classified into one of two or more classes.
• A classification can have real-valued or discrete input variables.
• A problem with two classes is often called a two-class or binary classification problem.
• A problem with more than two classes is often called a multi-class classification problem.
• A problem where an example is assigned multiple classes is called a multi-label classification
problem.

1.5.3 Regression
1. Definition
In machine learning, a regression problem is the problem of predicting the value of a numeric vari-
able based on observed values of the variable. The value of the output variable may be a number,
such as an integer or a floating point value. These are often quantities, such as amounts and sizes.
The input variables may be discrete or real-valued.

2. Example
Consider the data on car prices given in Table 1.2.

Price Age Distance Weight


(US$) (years) (KM) (pounds)
13500 23 46986 1165
13750 23 72937 1165
13950 24 41711 1165
14950 26 48000 1165
13750 30 38500 1170
12950 32 61000 1170
16900 27 94612 1245
18600 30 75889 1245
21500 27 19700 1185
12950 23 71138 1105

Table 1.2: Prices of used cars: example data for regression

Suppose we are required to estimate the price of a car aged 25 years with distance 53240 KM
and weight 1200 pounds. This is an example of a regression problem beause we have to predict the
value of the numeric variable “Price”.

3. General approach
Let x denote the set of input variables and y the output variable. In machine learning, the general
approach to regression is to assume a model, that is, some mathematical relation between x and y,
involving some parameters say, θ, in the following form:

y = f (x, θ)

The function f (x, θ) is called the regression function. The machine learning algorithm optimizes
the parameters in the set θ such that the approximation error is minimized; that is, the estimates
of the values of the dependent variable y are as close as possible to the correct values given in the
training set.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 11

Example
For example, if the input variables are “Age”, “Distance” and “Weight” and the output variable
is “Price”, the model may be

y = f (x, θ)
Price = a0 + a1 × (Age) + a2 × (Distance) + a3 × (Weight)

where x = (Age, Distance, Weight) denotes the the set of input variables and θ = (a0 , a1 , a2 , a3 )
denotes the set of parameters of the model.

4. Different regression models


There are various types of regression techniques available to make predictions. These techniques
mostly differ in three aspects, namely, the number and type of independent variables, the type of
dependent variables and the shape of regression line. Some of these are listed below.
• Simple linear regression: There is only one continuous independent variable x and the as-
sumed relation between the independent variable and the dependent variable y is

y = a + bx.

• Multivariate linear regression: There are more than one independent variable, say x1 , . . . , xn ,
and the assumed relation between the independent variables and the dependent variable is

y = a0 + a1 x1 + ⋯ + an xn .

• Polynomial regression: There is only one continuous independent variable x and the assumed
model is
y = a0 + a1 x + ⋯ + an xn .

• Logistic regression: The dependent variable is binary, that is, a variable which takes only the
values 0 and 1. The assumed model involves certain probability distributions.

1.6 Different types of learning


In general, machine learning algorithms can be classified into three types.

1.6.1 Supervised learning


Supervised learning is the machine learning task of learning a function that maps an input to an
output based on example input-output pairs.
In supervised learning, each example in the training set is a pair consisting of an input object
(typically a vector) and an output value. A supervised learning algorithm analyzes the training
data and produces a function, which can be used for mapping new examples. In the optimal case,
the function will correctly determine the class labels for unseen instances. Both classification and
regression problems are supervised learning problems.
A wide range of supervised learning algorithms are available, each with its strengths and weak-
nesses. There is no single learning algorithm that works best on all supervised learning problems.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 12

Figure 1.4: Supervised learning

Remarks
A “supervised learning” is so called because the process of an algorithm learning from the training
dataset can be thought of as a teacher supervising the learning process. We know the correct answers
(that is, the correct outputs), the algorithm iteratively makes predictions on the training data and
is corrected by the teacher. Learning stops when the algorithm achieves an acceptable level of
performance.

Example
Consider the following data regarding patients entering a clinic. The data consists of the
gender and age of the patients and each patient is labeled as “healthy” or “sick”.

gender age label


M 48 sick
M 67 sick
F 53 healthy
M 49 healthy
F 34 sick
M 21 healthy

Based on this data, when a new patient enters the clinic, how can one predict whether he/she
is healthy or sick?

1.6.2 Unsupervised learning


Unsupervised learning is a type of machine learning algorithm used to draw inferences from datasets
consisting of input data without labeled responses.
In unsupervised learning algorithms, a classification or categorization is not included in the
observations. There are no output values and so there is no estimation of functions. Since the
examples given to the learner are unlabeled, the accuracy of the structure that is output by the
algorithm cannot be evaluated.
The most common unsupervised learning method is cluster analysis, which is used for ex-
ploratory data analysis to find hidden patterns or grouping in data.

Example
Consider the following data regarding patients entering a clinic. The data consists of the
gender and age of the patients.
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 13

gender age
M 48
M 67
F 53
M 49
F 34
M 21

Based on this data, can we infer anything regarding the patients entering the clinic?

1.6.3 Reinforcement learning


Reinforcement learning is the problem of getting an agent to act in the world so as to maximize its
rewards.
A learner (the program) is not told what actions to take as in most forms of machine learning, but
instead must discover which actions yield the most reward by trying them. In the most interesting
and challenging cases, actions may affect not only the immediate reward but also the next situations
and, through that, all subsequent rewards.
For example, consider teaching a dog a new trick: we cannot tell it what to do, but we can
reward/punish it if it does the right/wrong thing. It has to find out what it did that made it get the
reward/punishment. We can use a similar method to train computers to do many tasks, such as
playing backgammon or chess, scheduling jobs, and controlling robot limbs.
Reinforcement learning is different from supervised learning. Supervised learning is learning
from examples provided by a knowledgeable expert.

1.7 Sample questions


(a) Short answer questions
1. What is meant by “learning” in the context of machine learning?
2. List out the types of machine learning.
3. Distinguish between classification and regression.
4. What are the differences between supervised and unsupervised learning?
5. What is meant by supervised classification?
6. Explain supervised learning with an example.
7. What do you mean by reinforcement learning?
8. What is an association rule?
9. Explain the concept of Association rule learning. Give the names of two algorithms for gen-
erating association rules.
10. What is a classification problem in machine learning. Illustrate with an example.
11. Give three examples of classification problems from real life situations.
12. What is a discriminant in a classification problem?
13. List three machine learning algorithms for solving classification problems.
14. What is a binary classification problem? Explain with an example. Give also an example for
a classification problem which is not binary.
15. What is regression problem. What are the different types of regression?
CHAPTER 1. INTRODUCTION TO MACHINE LEARNING 14

(b) Long answer questions


1. Give a definition of the term “machine learning”. Explain with an example the concept of
learning in the context of machine learning.
2. Describe the basic components of the machine learning process.
3. Describe in detail applications of machine learning in any three different knowledge domains.

4. Describe with an example the concept of association rule learning. Explain how it is made
use of in real life situations.
5. What is the classification problem in machine learning? Describe three real life situations in
different domains where such problems arise.

6. What is meant by a discriminant of a classification problem? Illustrate the idea with examples.
7. Describe in detail with examples the different types of learning like the supervised learning,
etc.
Chapter 2

Some general concepts

In this chapter we introduce some general concepts related to one of the simplest examples of su-
pervised learning, namely, the classification problem. We consider mainly binary classification
problems. In this context we introduce the concepts of hypothesis, hypothesis space and version
space. We conclude the chapter with a brief discussion on how to select hypothesis models and how
to evaluate the performance of a model.

2.1 Input representation


The general classification problem is concerned with assigning a class label to an unknown instance
from instances of known assignments of labels. In a real world problem, a given situation or an
object will have large number of features which may contribute to the assignment of the labels.
But in practice, not all these features may be equally relevant or important. Only those which are
significant need be considered as inputs for assigning the class labels. These features are referred to
as the “input features” for the problem. They are also said to constitute an “input representation”
for the problem.

Example
Consider the problem of assigning the label “family car” or “not family car” to cars. Let us
assume that the features that separate a family car from other cars are the price and engine
power. These attributes or features constitute the input representation for the problem. While
deciding on this input representation, we are ignoring various other attributes like seating
capacity or colour as irrelevant.

2.2 Hypothesis space


In the following discussions we consider only “binary classification” problems; that is, classification
problems with only two class labels. The class labels are usually taken as “1” and “0”. The label “1”
may indicate “True”, or “Yes”, or “Pass”, or any such label. The label “0” may indicate “False”, or
“No” or “Fail”, or any such label. The examples with class labels 1 are called “positive examples”
and examples with labels “0” are called “negative examples”.

2.2.1 Definition
1. Hypothesis
In a binary classification problem, a hypothesis is a statement or a proposition purporting to
explain a given set of facts or observations.

15
CHAPTER 2. SOME GENERAL CONCEPTS 16

2. Hypothesis space
The hypothesis space for a binary classification problem is a set of hypotheses for the problem
that might possibly be returned by it.
3. Consistency and satisfying
Let x be an example in a binary classification problem and let c(x) denote the class label
assigned to x (c(x) is 1 or 0). Let D be a set of training examples for the problem. Let h be a
hypothesis for the problem and h(x) be the class label assigned to x by the hypothesis h.
(a) We say that the hypothesis h is consistent with the set of training examples D if h(x) =
c(x) for all x ∈ D.
(b) We say that an example x satisfies the hypothesis h if h(x) = 1.

2.2.2 Examples
1. Consider the set of observations of a variable x with the associated class labels given in Table
2.1:

x 27 15 23 20 25 17 12 30 6 10
Class 1 0 1 1 1 0 0 1 0 0

Table 2.1: Sample data to illustrate the concept of hypotheses

Figure 2.1 shows the data plotted on the x-axis.

x
0 6 10 12 15 17 20 23 25 27 30

Figure 2.1: Data in Table 2.1 with hollow dots representing positive examples and solid dots repre-
senting negative examples

Looking at Figure 2.1, it appears that the class labeling has been done based on the following
rule.
h′ : IF x ≥ 20 THEN “1” ELSE “0”. (2.1)
Note that h′ is consistent with the training examples in Table 2.1. For example, we have:

h′ (27) = 1, c(27) = 1, h′ (27) = c(27)


h′ (15) = 0, c(15) = 0, h′ (15) = c(15)

Note also that, for x = 5 and x = 28 (not in training data),

h′ (5) = 0, h′ (28) = 1.

The hypothesis h′ explains the data. The following proposition also explains the data:

h′′ : IF x ≥ 19 THEN “0” ELSE “1”. (2.2)

It is not enough that the hypothesis explains the given data; it must also predict correctly the
class label of future observations. So we consider a set of such hypotheses and choose the
“best” one. The set of hypotheses can be defined using a parameter, say m, as given below:

hm : IF x ≥ m THEN “1” ELSE ”0”. (2.3)


CHAPTER 2. SOME GENERAL CONCEPTS 17

The set of all hypotheses obtained by assigning different values to m constitutes the hypothesis
space H; that is,
H = {hm ∶ m is a real number}. (2.4)

For the same data, we can have different hypothesis spaces. For example, for the data in Table
2.1, we may also consider the hypothesis space defined by the following proposition:

h′m : IF x ≤ m THEN “0” ELSE “1”.

2. Consider a situation with four binary variables x1 , x2 , x3 , x4 and one binary output variable
y. Suppose we have the following observations.

x1 x2 x3 x4 y
0 0 0 1 1
0 1 0 1 0
1 1 0 0 1
0 0 1 0 0

The problem is to predict a function f of x1 , x2 , x3 , x4 which predicts the value of y for any
combination of values of x1 , x2 , x3 , x4 . In this problem, the hypothesis space is the set of all
4
possible functions f . It can be shown that the size of the hypothesis space is 2(2 ) = 65536.
3. Consider the problem of assigning the label “family car” or “not family car” to cars. For
convenience, we shall replace the label “family car” by “1” and “not family car” by “0”.
Suppose we choose the features “price (’000 $)” and “power (hp)” as the input representation
for the problem. Further, suppose that there is some reason to believe that for a car to be a
family car, its price and power should be in certain ranges. This supposition can be formulated
in the form of the following proposition:

IF (p1 < price < p2 ) AND (e1 < power < e2 ) THEN “1” ELSE ”0” (2.5)

for suitable values of p1 , p2 , e1 and e2 . Since a solution to the problem is a proposition of the
form Eq.(2.5) with specific values for p1 , p2 , e1 and e2 , the hypothesis space for the problem
is the set of all such propositions obtained by assigning all possible values for p1 , p2 , e1 and
e2 .

power (hp)

e2
hypothesis h
x2 h(x1 , x2 ) = 1

e1

price (’000 $)
p1 x1 p2

Figure 2.2: An example hypothesis defined by Eq. (2.5)

It is interesting to observe that the set of points in the power–price plane which satisfies the
condition
(p1 < price < p2 ) AND (e1 < power < e2 )
defines a rectangular region (minus the boundary) in the price–power space as shown in Figure
2.2. The sides of this rectangular region are parallel to the coordinate axes. Such a rectangle
CHAPTER 2. SOME GENERAL CONCEPTS 18

is called an axis-aligned rectangle If h is the hypothesis defined by Eq.(2.5), and (x1 , x2 )


is any point in the price–power plane, then h(x1 , x2 ) = 1 if and only if (x1 , x2 ) is within
the rectangular region. Hence we may identify the hypothesis h with the rectangular region.
Thus, the hypothesis space for the problem can be thought of as the set of all axis-aligned
rectangles in the price–power plane.
4. Consider the trading agent trying to infer which books or articles the user reads based on
keywords supplied in the article. Suppose the learning agent has the following data (“1"
indicates “True” and “0” indicates “False”):

article crime academic local music reads


a1 true false false true 1
a2 true false false false 1
a3 false true false false 0
a4 false false true false 0
a5 true true false false 1

The aim is to learn which articles the user reads. The aim is to find a definition such as

IF (crime OR (academic AND (NOT music))) THEN ”1” ELSE ”0”.

The hypothesis space H could be all boolean combinations of the input features or could be
more restricted, such as conjunctions or propositions defined in terms of fewer than three
features.

2.3 Ordering of hypotheses


Definition
Let X be the set of all possible examples for a binary classification problem and let h′ and h′′ be
two hypotheses for the problem.

S ′′ = {x ∈ X ∶ h′′ (x) = 1}

S ′ = {x ∈ X ∶ h′ (x) = 1}

Figure 2.3: Hypothesis h′ is more general than hypothesis h′′ if and only if S ′′ ⊆ S ′

1. We say that h′ is more general than h′′ if and only if for every x ∈ X, if x satisfies h′′ then x
satisfies h′ also; that is, if h′′ (x) = 1 then h′ (x) = 1 also. The relation “is more general than”
defines a partial ordering relation in hypothesis space.
2. We say that h′ is more specific than h′′ , if h′′ is more general than h′ .

3. We say that h′ is strictly more general than h′′ if h′ is more general than h′′ and h′′ is not
more general than h′ .
4. We say that h′ is strictly more specific than h′′ if h′ is more specific than h′′ and h′′ is not
more specific than h′ .
CHAPTER 2. SOME GENERAL CONCEPTS 19

Example
Consider the hypotheses h′ and h′′ defined in Eqs.(2.1),(2.2). Then it is easy to check that if
h′ (x) = 1 then h′′ (x) = 1 also. So, h′′ is more general than h′ . But, h′ is not more general
than h′′ and so h′′ is strictly more general than h′ .

2.4 Version space


Definition
Consider a binary classification problem. Let D be a set of training examples and H a hypothesis
space for the problem. The version space for the problem with respect to the set D and the space H
is the set of hypotheses from H consistent with D; that is, it is the set

VSD,H = {h ∈ H ∶ h(x) = c(x) for all x ∈ D}.

2.4.1 Examples
Example 1
Consider the data D given in Table 2.1 and the hypothesis space defined by Eqs.(2.3)-(2.4).

m
x
0 6 10 12 15 17 20 23 25 27 30

Figure 2.4: Values of m which define the version space with data in Table 2.1 and hypothesis space
defined by Eq.(2.4)

From Figure 2.4 we can easily see that the hypothesis space with respect this dataset D and
hypothesis space H is as given below:

VSD,H = {hm ∶ 17 < m ≤ 20}.

Example 2
Consider the problem of assigning the label “family car” (indicated by “1”) or “not family car”
(indicated by “0”) to cars. Given the following examples for the problem and assuming that the
hypothesis space is as defined by Eq. (2.5), the version space for the problem.
x1 : Price in ’000 ($) 32 82 44 34 43 80 38
x2 : Power (hp) 170 333 220 235 245 315 215
Class 0 0 1 1 1 0 1

x1 47 27 56 28 20 25 66 75
x2 260 290 320 305 160 300 250 340
Class 1 0 0 0 0 0 0 0

Solution
Figure 2.5 shows a scatter plot of the given data. In the figure, the data with class label “1” (family
car) is shown as hollow circles and the data with class labels “0” (not family car) are shown as solid
dots.
A hypothesis as given by Eq.(2.5) with specific values for the parameters p1 , p2 , e1 and e2
specifies an axis-aligned rectangle as shown in Figure 2.2. So the hypothesis space for the problem
can be thought as the set of axis-aligned rectangles in the price-power plane.
CHAPTER 2. SOME GENERAL CONCEPTS 20

power (hp)
350

300

250

200

150
price (’000 $)
10 20 30 40 50 60 70 80 90

Figure 2.5: Scatter plot of price-power data (hollow circles indicate positive examples and solid dots
indicate negative examples)

power (hp)
350

300
(27, 290)
(47, 260)
250 (66, 250)
(34, 235)

200 (38, 215)

150 (32, 170)


price (’000 $)
10 20 30 40 50 60 70 80 90

Figure 2.6: The version space consists of hypotheses corresponding to axis-aligned rectangles con-
tained in the shaded region

The version space consists of all hypotheses specified by axis-aligned rectangles contained in
the shaded region in Figure 2.6. The inner rectangle is defined by

(34 < price < 47) AND (215 < power < 260)

and the outer rectangle is defined by

(27 < price < 66) AND (170 < power < 290).

Example 3
Consider the problem of finding a rule for determining days on which one can enjoy water sport. The
rule is to depend on a few attributes like “temp”, ”humidity”, etc. Suppose we have the following
data to help us devise the rule. In the data, a value of “1” for “enjoy” means “yes” and a value of
“0” indicates ”no”.
CHAPTER 2. SOME GENERAL CONCEPTS 21

Example sky temp humidity wind water forecast enjoy


1 sunny warm normal strong warm same 1
2 sunny warm high strong warm same 1
3 rainy cold high strong warm change 0
4 sunny warm high strong cool change 1
Find the hypothesis space and the version space for the problem. (For a detailed discussion of this
problem see [4] Chapter2.)

Solution
We are required to find a rule of the following form, consistent with the data, as a solution of the
problem.

(sky = x1 ) ∧ (temp = x2 ) ∧ (humidity = x3 )∧


(wind = x4 ) ∧ (water = x5 ) ∧ (forecast = x6 ) ↔ yes (2.6)

where

x1 = sunny, warm, ⋆
x2 = warm, cold, ⋆
x3 = normal, high, ⋆
x4 = strong, ⋆
x5 = warm, cool, ⋆
x6 = same, change, ⋆

(Here a “⋆” indicates other possible values of the attributes.) The hypothesis may be represented
compactly as a vector
(a1 , a2 , a3 , a4 , a5 , a6 )
where, in the positions of a1 , . . . , a6 , we write
• a “?” to indicate that any value is acceptable for the corresponding attribute,
• a ”∅” to indicate that no value is acceptable for the corresponding attribute,
• some specific single required value for the corresponding attribute

For example, the vector


(?, cold, high, ?, ?, ?)
indicates the hypothesis that one enjoys the sport only if “temp” is “cold” and “humidity” is “high”
whatever be the values of the other attributes.
It can be shown that the version space for the problem consists of the following six hypotheses
only:
(sunny, warm, ?, strong, ?, ?)
(sunny, ?, ?, strong, ?, ?)
(sunny, warm, ?, ?, ?, ?)
(?, warm, ?, strong, ?, ?)
(sunny, ?, ?, ?, ?, ?)
(?, warm, ?, ?, ?, ?)
CHAPTER 2. SOME GENERAL CONCEPTS 22

2.5 Noise
2.5.1 Noise and their sources
Noise is any unwanted anomaly in the data ([2] p.25). Noise may arise due to several factors:
1. There may be imprecision in recording the input attributes, which may shift the data points in
the input space.
2. There may be errors in labeling the data points, which may relabel positive instances as nega-
tive and vice versa. This is sometimes called teacher noise.
3. There may be additional attributes, which we have not taken into account, that affect the label
of an instance. Such attributes may be hidden or latent in that they may be unobservable. The
effect of these neglected attributes is thus modeled as a random component and is included in
“noise.”

2.5.2 Effect of noise


Noise distorts data. When there is noise in data, learning problems may not produce accurate results.
Also, simple hypotheses may not be sufficient to explain the data and so complicated hypotheses
may have to be formulated. This leads to the use of additional computing resources and the needless
wastage of such resources.
For example, in a binary classification problem with two variables, when there is noise, there
may not be a simple boundary between the positive and negative instances and to separate them. A
rectangle can be defined by four numbers, but to define a more complicated shape one needs a more
complex model with a much larger number of parameters. So, when there is noise, we may make a
complex model which makes a perfect fit to the data and attain zero error; or, we may use a simple
model and allow some error.

2.6 Learning multiple classes


So far we have been discussing binary classification problems. In a general case there may be more
than two classes. Two methods are generally used to handle such cases. These methods are known
by the names “one-against-all" and “one-against-one”.

2.6.1 Procedures for learning multiple classes


“One-against all” method
Consider the case where there are K classes denoted by C1 , . . . , CK . Each input instance belongs
to exactly one of them.
We view a K-class classification problem as K two-class problems. In the i-th two-class prob-
lem, the training examples belonging to Ci are taken as the positive examples and the examples of
all other classes are taken as the negative examples. So, we have to find K hypotheses h1 , . . . , hK
where hi is defined by


⎪1 if x is in class Ci
hi (x) = ⎨
⎪0 otherwise


For a given x, ideally only one of hi (x) is 1 and then we assign the class Ci to x. But, when
no, or, two or more, hi (x) is 1, we cannot choose a class. In such a case, we say that the classifier
rejects such cases.
CHAPTER 2. SOME GENERAL CONCEPTS 23

“One-against-one” method
In the one-against-one (OAO) (also called one-vs-one (OVO)) strategy, a classifier is constructed
for each pair of classes. If there are K different class labels, a total of K(K − 1)/2 classifiers are
constructed. An unknown instance is classified with the class getting the most votes. Ties are broken
arbitrarily.
For example, let there be three classes, A, B and C. In the OVO method we construct 3(3 −
1)/2 = 3 binary classifiers. Now, if any x is to be classified, we apply each of the three classifiers to
x. Let the three classifiers assign the classes A, B, B respectively to x. Since a label to x is assigned
by the majority voting, in this example, we assign the class label of B to x.

2.7 Model selection


As we have pointed earlier in Section 1.1.1, there is no universally accepted definition of the term
“model”. It may be understood as some mathematical expression or equation, or some mathematical
structures such as graphs and trees, or a division of sets into disjoint subsets, or a set of logical “if
. . . then . . . else . . .” rules, or some such thing.
In order to formulate a hypothesis for a problem, we have to choose some model and the term
“model selection” has been used to refer to the process of choosing a model. However, the term has
been used to indicate several things. In some contexts it has been used to indicates the process of
choosing one particular approach from among several different approaches. This may be choosing
an appropriate algorithms from a selection of possible algorithms, or choosing the sets of features
to be used for input, or choosing initial values for certain parameters. Sometimes “model selection”
refers to the process of picking a particular mathematical model from among different mathematical
models which all purport to describe the same data set. It has also been described as the process of
choosing the right inductive bias.

2.7.1 Inductive bias


In a learning problem we only have the data. But data by itself is not sufficient to find the solution.
We should make some extra assumptions to have a solution with the data we have. The set of
assumptions we make to have learning possible is called the inductive bias of the learning algorithm.
One way we introduce inductive bias is when we assume a hypothesis class.

Examples
• In learning the class of family car, there are infinitely many ways of separating the positive
examples from the negative examples. Assuming the shape of a rectangle is an inductive bias.

• In regression, assuming a linear function is an inductive bias.

The model selection is about choosing the right inductive bias.

2.7.2 Advantages of a simple model


Even though a complex model may not be making any errors in prediction, there are certain advan-
tages in using a simple model.

1. A simple model is easy to use.


2. A simple model is easy to train. It is likely to have fewer parameters.
It is easier to find the corner values of a rectangle than the control points of an arbitrary shape.

3. A simple model is easy to explain.


CHAPTER 2. SOME GENERAL CONCEPTS 24

4. A simple model would generalize better than a complex model. This principle is known as
Occam’s razor, which states that simpler explanations are more plausible and any unnecessary
complexity should be shaved off.

Remarks
A model should not be too simple! With a small training set when the training instances differ a
little bit, we expect the simpler model to change less than a complex model: A simple model is thus
said to have less variance. On the other hand, a too simple model assumes more, is more rigid, and
may fail if indeed the underlying class is not that simple. A simpler model has more bias. Finding
the optimal model corresponds to minimizing both the bias and the variance.

2.8 Generalisation
How well a model trained on the training set predicts the right output for new instances is called
generalization.
Generalization refers to how well the concepts learned by a machine learning model apply to
specific examples not seen by the model when it was learning. The goal of a good machine learning
model is to generalize well from the training data to any data from the problem domain. This allows
us to make predictions in the future on data the model has never seen. Overfitting and underfitting
are the two biggest causes for poor performance of machine learning algorithms. The model should
be selected having the best generalisation. This is said to be the case if these problems are avoided.
• Underfitting
Underfitting is the production of a machine learning model that is not complex enough to
accurately capture relationships between a datasetâĂŹs features and a target variable.

• Overfitting
Overfitting is the production of an analysis which corresponds too closely or exactly to a
particular set of data, and may therefore fail to fit additional data or predict future observations
reliably.

Example 1

(a) Given dataset (b) “Just right” model

(c) Underfitting model (d) Overfitting model

Figure 2.7: Examples for overfitting and overfitting models


CHAPTER 2. SOME GENERAL CONCEPTS 25

Consider a dataset shown in Figure 2.7(a). Let it be required to fit a regression model to the data. The
graph of a model which looks “just right” is shown in Figure 2.7(b). In Figure 2.7(c)we have a linear
regression model for the same dataset and this model does seem to capture the essential features of
the dataset. So this model suffers from underfitting. In Figure 2.7(d) we have a regression model
which corresponds too closely to the given dataset and hence it does not account for small random
noises in the dataset. Hence it suffers from overfitting.

Example 2

(a) Underfitting (b) Right fitting (c) Overfitting

Figure 2.8: Fitting a classification boundary

Suppose we have to determine the classification boundary for a dataset two class labels. An example
situation is shown in Figure 2.8 where the curved line is the classification boundary. The three figures
illustrate the cases of underfitting, right fitting and overfitting.

2.8.1 Testing generalisation: Cross-validation


We can measure the generalization ability of a hypothesis, namely, the quality of its inductive bias,
if we have access to data outside the training set. We simulate this by dividing the training set we
have into two parts. We use one part for training (that is, to find a hypothesis), and the remaining
part is called the validation set and is used to test the generalization ability. Assuming large enough
training and validation sets, the hypothesis that is the most accurate on the validation set is the best
one (the one that has the best inductive bias). This process is called cross-validation.

2.9 Sample questions


(a) Short answer questions
1. Explain the general-to-specific ordering of hypotheses.
2. In the context of classification problems explain with examples the following: (i) hypothesis
(ii) hypothesis space.
3. Define the version space of a binary classification problem.
4. Explain the “one-against-all” method for learning multiple classes.
5. Describe the “one-against-one” method for learning multiple classes.
6. What is meant by inductive bias in machine learning? Give an example.
7. What is meant by overfitting of data? Explain with an example.
8. What is meant by overfitting and underfitting of data with examples.
CHAPTER 2. SOME GENERAL CONCEPTS 26

(b) Long answer questions


1. Define version space and illustrate it with an example.
2. Given the following data

x 0 3 5 9 12 18 23
Label 0 0 0 1 1 1 1

and the hypothesis space


H = {hm ∣ m a real number}
where hm is defined by
IF x ≤ m THEN 1 ELSE 0,
find the version space the problem with respect to D and H.
3. What is meant by “noise” in data? What are its sources and how it is affecting results?
4. Consider the following data:

x 2 3 5 8 10 15 16 18 20
y 12 15 10 6 8 10 7 9 10
Class label 0 0 1 1 1 1 0 0 0

Determine the version space if the hypothesis space consists of all hypotheses of the form

IF (x1 < x < x2 ) AND (y1 < y < y2 ) THEN “1” ELSE ”0”.

5. For the date in problem 4, what would be the version space if the hypothesis space consists of
all hypotheses of the form

IF (x − x1 )2 + (y − y1 )2 ≤ r2 THEN “1” ELSE ”0”.

6. What issues are to be considered while selecting a model for applying machine learning in a
given problem.
Chapter 3

VC dimension and PAC learning

The concepts of Vapnik-Chervonenkis dimension (VC dimension) and probably approximate correct
(PAC) learning are two important concepts in the mathematical theory of learnability and hence are
mathematically oriented. The former is a measure of the capacity (complexity, expressive power,
richness, or flexibility) of a space of functions that can be learned by a classification algorithm.
It was originally defined by Vladimir Vapnik and Alexey Chervonenkis in 1971. The latter is a
framework for the mathematical analysis of learning algorithms. The goal is to check whether the
probability for a selected hypothesis to be approximately correct is very high. The notion of PAC
learning was proposed by Leslie Valiant in 1984.

3.1 Vapnik-Chervonenkis dimension


Let H be the hypothesis space for some machine learning problem. The Vapnik-Chervonenkis
dimension of H, also called the VC dimension of H, and denoted by V C(H), is a measure of the
complexity (or, capacity, expressive power, richness, or flexibility) of the space H. To define the VC
dimension we require the notion of the shattering of a set of instances.

3.1.1 Shattering of a set


Let D be a dataset containing N examples for a binary classification problem with class labels 0
and 1. Let H be a hypothesis space for the problem. Each hypothesis h in H partitions D into two
disjoint subsets as follows:

{x ∈ D ∣ h(x) = 0} and {x ∈ D ∣ h(x) = 1}.

Such a partition of S is called a “dichotomy” in D. It can be shown that there are 2N possible
dichotomies in D. To each dichotomy of D there is a unique assignment of the labels “1” and “0”
to the elements of D. Conversely, if S is any subset of D then, S defines a unique hypothesis h as
follows:


⎪1 if x ∈ S
h(x) = ⎨

⎪ 0 otherwise

Thus to specify a hypothesis h, we need only specify the set {x ∈ D ∣ h(x) = 1}.
Figure 3.1 shows all possible dichotomies of D if D has three elements. In the figure, we have
shown only one of the two sets in a dichotomy, namely the set {x ∈ D ∣ h(x) = 1}. The circles and
ellipses represent such sets.

27
CHAPTER 3. VC DIMENSION AND PAC LEARNING 28

a a a a

b c b c b c b c
(i) Emty set (ii) (iii) (iv)

a a a a

c b c c b c
b b
(v) (vi) (vii) (viii) Full set D

Figure 3.1: Different forms of the set {x ∈ S ∶ h(x) = 1} for D = {a, b, c}

We require the notion of a hypothesis consistent with a set of examples introduced in Section 2.4
in the following definition.

Definition
A set of examples D is said to be shattered by a hypothesis space H if and only if for every di-
chotomy of D there exists some hypothesis in H consistent with the dichotomy of D.

3.1.2 Vapnik-Chervonenkis dimension


The following example illustrates the concept of Vapnik-Chervonenkis dimension.

Example
Let the instance space X be the set of all real numbers. Consider the hypothesis space defined by
Eqs.(2.3)-(2.4):
H = {hm ∶ m is a real number},
where
hm ∶ IF x ≥ m THEN ”1” ELSE “0”.

i) Let D be a subset of X containing only a single number, say, D = {3.5}. There are 2
dichotomies for this set. These correspond to the following assignment of class labels:

x 3.25 x 3.25
Label 0 Label 1

h4 ∈ H is consistent with the former dichotomy and h3 ∈ H is consistent with the latter. So,
to every dichotomy in D there is a hypothesis in H consistent with the dichotomy. Therefore,
the set D is shattered by the hypothesis space H.
ii) Let D be a subset of X containing two elements, say, D = {3.25, 4.75}. There are 4 di-
chotomies in D and they correspond to the assignment of class labels shown in Table 3.1.

In these dichotomies, h5 is consistent with (a), h4 is consistent with (b) and h3 is consistent
with (d). But there is no hypothesis hm ∈ H consistent with (c). Thus the two-element set D
is not shattered by H. In a similar way it can be shown that there is no two-element subset
of X which is shattered by H.

It follows that the size of the largest finite subset of X shattered by H is 1. This number is the
VC dimension of H.
CHAPTER 3. VC DIMENSION AND PAC LEARNING 29

x 3.25 4.75 x 3.25 4.75


Label 0 0 Label 0 1
(a) (b)

x 3.25 4.75 x 3.25 4.75


Label 1 0 Label 1 1
(c) (d)

Table 3.1: Different assignments of class labels to the elements of {3.25, 4.75}

Definition
The Vapnik-Chervonenkis dimension (VC dimension) of a hypothesis space H defined over an in-
stance space (that is, the set of all possible examples) X, denoted by V C(H), is the size of the
largest finite subset of X shattered by H. If arbitrarily large subsets of X can be shattered by H,
then we define V C(H) = ∞.

Remarks
It can be shown that V C(H) ≤ log2 (∣H∣) where H is the number of hypotheses in H.

3.1.3 Examples
1. Let X be the set of all real numbers (say, for example, the set of heights of people). For any
real numbers a and b define a hypothesis ha,b as follows:


⎪1 if a < x < b
ha,b (x) = ⎨

⎪0 otherwise

Let the hypothesis space H consist of all hypotheses of the form ha,b . We show that V C(H) =
2. We have to show that there is a subset of X of size 2 shattered by H and there is no subset
of size 3 shattered by H.
• Consider the two-element set D = {3.25, 4.75}. The various dichotomies of D are
given in Table 3.1. It can be seen that the hypothesis h5,6 is consistent with (a), h4,5 is
consistent with (b), h3,4 is consistent with (c) and h3,5 is consistent with (d). So the set
D is shattered by H.
• Consider a three-element subset D = {x1 , x2 , x3 }. Let us assume that x1 < x2 < x3 . H
cannot shatter this subset because the dichotomy represented by the set {x1 , x3 } cannot
be represented by a hypothesis in H (any interval containing both x1 and x3 will contain
x2 also).

Therefore, the size of the largest subset of X shattered by H is 2 and so V C(H) = 2.


2. Let the instance space X be the set of all points (x, y) in a plane. For any three real numbers,
a, b, c define a class labeling as follows:


⎪1 if ax + by + c > 0
ha,b,c (x, y) = ⎨

⎪0 otherwise

CHAPTER 3. VC DIMENSION AND PAC LEARNING 30

ha,b,c (x, y) = 1
ax + by + c > 0

x
O
ha,b,c (x, y) = 0
ax + by + c < 0

ha,b,c (x, y) = 0
ax + by + c = 0
(assume c < 0)

Figure 3.2: Geometrical representation of the hypothesis ha,b,c

Let H be the set of all hypotheses of the form ha,b,c . We show that V C(H) = 3. We have
show that there is a subset of size 3 shattered by H and there is no subset of size 4 shattered
by H.
• Consider a set D = {A, B, C} of three non-collinear points in the plane. There are 8 sub-
sets of D and each of these defines a dichotomy of D. We can easily find 8 hypotheses
corresponding to the dichotomies defined by these subsets (see Figure 3.3).

B C

Figure 3.3: A hypothesis ha,b,c consistent with the dichotomy defined by the subset
{A, C} of {A, B, C}

• Consider a set S = {A, B, C, D} of four points in the plane. Let no three of these points
be collinear. Then, the points form a quadrilateral. It can be easily seen that, in this case,
there is no hypothesis for which the two element set formed by the ends of a diagonal is
the corresponding dichotomy (see Figure 3.4).

A D

B C

Figure 3.4: There is no hypothesis ha,b,c consistent with the dichotomy defined by the
subset {A, C} of {A, B, C, D}

So the set cannot be shattered by H. If any three of them are collinear, then by some
trial and error, it can be seen that in this case also the set cannot be shattered by H. No
set with four elements cannot be shattered by H.
From the above discussion we conclude that V C(H) = 3.
3. Let X be set of all conjunctions of n boolean literals. Let the hypothesis space H consists of
conjunctions of up to n literals. It can be shown that V C(H) = n. (The full details of the
proof of this is beyond the scope of these notes.)
CHAPTER 3. VC DIMENSION AND PAC LEARNING 31

3.2 Probably approximately correct learning


In computer science, computational learning theory (or just learning theory) is a subfield of artificial
intelligence devoted to studying the design and analysis of machine learning algorithms. In compu-
tational learning theory, probably approximately correct learning (PAC learning) is a framework for
mathematical analysis of machine learning algorithms. It was proposed in 1984 by Leslie Valiant.
In this framework, the learner (that is, the algorithm) receives samples and must select a hypoth-
esis from a certain class of hypotheses. The goal is that, with high probability (the “probably” part),
the selected hypothesis will have low generalization error (the “approximately correct” part).
In this section we first give an informal definition of PAC-learnability. After introducing a few
nore notions, we give a more formal, mathematically oriented, definition of PAC-learnability. At the
end, we mention one of the applications of PAC-learnability.

3.2.1 PAC-learnability
To define PAC-learnability we require some specific terminology and related notations.

• Let X be a set called the instance space which may be finite or infinite. For example, X may
be the set of all points in a plane.
• A concept class C for X is a family of functions c ∶ X → {0, 1}. A member of C is called a
concept. A concept can also be thought of as a subset of X. If C is a subset of X, it defines a
unique function µC ∶ X → {0, 1} as follows:


⎪1 if x ∈ C
µC (x) = ⎨

⎪0 otherwise

• A hypothesis h is also a function h ∶ X → {0, 1}. So, as in the case of concepts, a hypothesis
can also be thought of as a subset of X. H will denote a set of hypotheses.
• We assume that F is an arbitrary, but fixed, probability distribution over X.
• Training examples are obtained by taking random samples from X. We assume that the
samples are randomly generated from X according to the probability distribution F .

Now, we give below an informal definition of PAC-learnability.

Definition (informal)
Let X be an instance space, C a concept class for X, h a hypothesis in C and F an arbitrary,
but fixed, probability distribution. The concept class C is said to be PAC-learnable if there is an
algorithm A which, for samples drawn with any probability distribution F and any concept c ∈ C,
will with high probability produce a hypothesis h ∈ C whose error is small.

Additional notions
• True error
To formally define PAC-learnability, we require the concept of the true error of a hypothesis
h with respect to a target concept c denoted by errorF (h). It is defined by

errorF (h) = Px∈F (h(x) ≠ c(x))

where the notation Px∈F indicates that the probability is taken for x drawn from X according
to the distribution F . This error is the probability that h will misclassify an instance x drawn
at random from X according to the distribution F . This error is not directly observable to the
learner; it can only see the training error of each hypothesis (that is, how often h(x) ≠ c(x)
over training instances).
CHAPTER 3. VC DIMENSION AND PAC LEARNING 32

• Length or dimension of an instance


We require the notion of the length or dimension or size of an instance in the instance space X.
If the instance space X is the n-dimensional Euclidean space, then each example is specified
by n real numbers and so the length of the examples may be taken as n. Similarly, if X is the
space of the conjunctions of n Boolean literals, then the length of the examples may be taken
as n. These are the commonly considered instance spaces in computational learning theory.
• Size of a concept
We need the notion of the size of a concept c. For any concept c, we define size(c) to be the
size of the smallest representation of c using some finite alphabet Σ.

(For a detailed discussion of these and related ideas, see [6] pp.7-15.)

Definition ([4] p.206)


Consider a concept class C defined over a set of instances X of length n and a learner (algorithm) L
using hypothesis space H. C is said to be PAC-learnable by L using H if for all c ∈ C, distribution
F over X,  such that 0 <  < 1/2 and δ such that 0 < δ < 1/2, learner L will with probability at least
(1 − δ) output a hypothesis h such that errorF (h) ≤ , in time that is polynomial in 1/, 1/δ, n and
size(c).

3.2.2 Examples
To illustrate the definition of PAC-learnability, let us consider some concrete examples.
y

d
concept/hypothesis
y (x, y)

x
a x b

Figure 3.5: An axis-aligned rectangle in the Euclidean plane

Example 1
• Let the instance space be the set X of all points in the Euclidean plane. Each point is repre-
sented by its coordinates (x, y). So, the dimension or length of the instances is 2.
• Let the concept class C be the set of all “axis-aligned rectangles” in the plane; that is, the set
of all rectangles whose sides are parallel to the coordinate axes in the plane (see Figure 3.5).
• Since an axis-aligned rectangle can be defined by a set of inequalities of the following form
having four parameters
a ≤ x ≤ b, c ≤ y ≤ d
the size of a concept is 4.
• We take the set H of all hypotheses to be equal to the set C of concepts, H = C.
CHAPTER 3. VC DIMENSION AND PAC LEARNING 33

• Given a set of sample points labeled positive or negative, let L be the algorithm which outputs
the hypothesis defined by the axis-aligned rectangle which gives the tightest fit to the posi-
tive examples (that is, that rectangle with the smallest area that includes all of the positive
examples and none of the negative examples) (see Figure 3.6).
y

Figure 3.6: Axis-aligned rectangle which gives the tightest fit to the positive examples

It can be shown that, in the notations introduced above, the concept class C is PAC-learnable by
the algorithm L using the hypothesis space H of all axis-aligned rectangles.

Example 2
• Let X the set of all n-bit strings. Each n-bit string may be represented by an ordered n-tuple
(a1 , . . . , an ) where each ai is either 0 or 1. This may be thought of as an assignment of 0 or
1 to n boolean variables x1 , . . . , xn . The set X is sometimes denoted by {0, 1}n .
• To define the concept class, we distinguish certain subsets of X in a special way. By a literal
we mean, a Boolean variable xi or its negation x/ i . We consider conjunctions of literals over
x1 , . . . , xn . Each conjunction defines a subset of X. for example, the conjunction x1 ∧ x/ 2 ∧x4
defines the following subset of X:

{a = (a1 , . . . , an ) ∈ X∣a1 = 1, a2 = 0, a4 = 1}

The concept class C consists of all subsets of X defined by conjunctions of Boolean literals
over x1 , . . . , xn .
• The hypothesis class H is defined as equal to the concept class C.

• Let L be a certain algorithm called “Find-S algorithm” used to find a most specific hypothesis
(see [4] p.26).

The concept class C of all subsets of X = {0, 1}n defined by conjunctions of Boolean literals
over x1 , . . . , xn is PAC-learnable by the Find-S algorithm using the hypothesis space H = C.

3.2.3 Applications
To make the discussions complete, we introduce one simple application of the PAC-learning theory.
The application is the derivation of a mathematical expression to estimate the size of samples that
would produce a hypothesis with a given high probability and which has a generalization error of
given low probability.
We use the following assumptions and notations:

• We assume that the hypothesis space H is finite. Let ∣H∣ denote the number of elements in H.
CHAPTER 3. VC DIMENSION AND PAC LEARNING 34

• We assume that the concept class C be equal to H.


• Let m be the number of elements in the set of samples.
• Let  and δ be such that 0 < , δ < 1.

• The algorithm can be any consistent algorithm, that is, any algorithm which correctly classifies
the training examples.
It can be shown that, if m is chosen such that
1
m ≥ (ln(∣H∣) + ln(1/δ))

then any consistent algorithm will successfully produce any concept in H with probability (1 − δ)
and with an error having a maximum probability of .

3.3 Sample questions


(a) Short answer questions
1. What is VC dimension?

2. Explain Vapnik-Chervonenkis dimension.


3. Give an informal definition of PAC learnability.
4. Give a precise definition of PAC learnability.

5. Give an application of PAC learnable algorithm.

(b) Long answer questions


1. Let X be the set of all real numbers. Describe a hypothesis for X for which the VC dimension
is 0.
2. Let X be the set of all real numbers. Describe a hypothesis for X for which the VC dimension
is 1.
3. Let X be the set of all real numbers. Describe a hypothesis for X for which the VC dimension
is 2. Describe an example for which the VC dimension is 3.
4. Describe an example of a PAC learnable concept class.

5. An open interval in R is defined as (a, b) = {x ∈ R ∣ a < x < b}. It has two parameters a and b.
Show that the sets of all open intervals has a VC dimension of 2.
Chapter 4

Dimensionality reduction

The complexity of any classifier or regressor depends on the number of inputs. This determines both
the time and space complexity and the necessary number of training examples to train such a clas-
sifier or regressor. In this chapter, we discuss various methods for decreasing input dimensionality
without losing accuracy.

4.1 Introduction
In many learning problems, the datasets have large number of variables. Sometimes, the number
of variables is more than the number of observations. For example, such situations have arisen in
many scientific fields such as image processing, mass spectrometry, time series analysis, internet
search engines, and automatic text analysis among others. Statistical and machine learning methods
have some difficulty when dealing with such high-dimensional data. Normally the number of input
variables is reduced before the machine learning algorithms can be successfully applied.
In statistical and machine learning, dimensionality reduction or dimension reduction is the pro-
cess of reducing the number of variables under consideration by obtaining a smaller set of principal
variables.
Dimensionality reduction may be implemented in two ways.
• Feature selection
In feature selection, we are interested in finding k of the total of n features that give us the
most information and we discard the other (n − k) dimensions. We are going to discuss subset
selection as a feature selection method.
• Feature extraction
In feature extraction, we are interested in finding a new set of k features that are the combina-
tion of the original n features. These methods may be supervised or unsupervised depending
on whether or not they use the output information. The best known and most widely used
feature extraction methods are Principal Components Analysis (PCA) and Linear Discrimi-
nant Analysis (LDA), which are both linear projection methods, unsupervised and supervised
respectively.

Measures of error
In both methods we require a measure of the error in the model.
• In regression problems, we may use the Mean Squared Error (MSE) or the Root Mean
Squared Error (RMSE) as the measure of error. MSE is the sum, over all the data points,
of the square of the difference between the predicted and actual target variables, divided by

35
CHAPTER 4. DIMENSIONALITY REDUCTION 36

the number of data points. If y1 , . . . , yn are the observed values and ŷi , . . . , ŷn are the pre-
dicted values, then
1 n
MSE = ∑(yi − ŷi )2
n i=1

• In classification problems, we may use the misclassification rate as a measure of the error.
This is defined as follows:
no. of misclassified examples
misclassification rate =
total no. of examples

4.2 Why dimensionality reduction is useful


There are several reasons why we are interested in reducing dimensionality.
• In most learning algorithms, the complexity depends on the number of input dimensions, d,
as well as on the size of the data sample, N, and for reduced memory and computation, we
are interested in reducing the dimensionality of the problem. Decreasing d also decreases the
complexity of the inference algorithm during testing.

• When an input is decided to be unnecessary, we save the cost of extracting it.


• Simpler models are more robust on small datasets. Simpler models have less variance, that is,
they vary less depending on the particulars of a sample, including noise, outliers, and so forth.
• When data can be explained with fewer features, we get a better idea about the process that
underlies the data, which allows knowledge extraction.
• When data can be represented in a few dimensions without loss of information, it can be
plotted and analyzed visually for structure and outliers.

4.3 Subset selection


In machine learning subset selection, sometimes also called feature selection, or variable selection,
or attribute selection, is the process of selecting a subset of relevant features (variables, predictors)
for use in model construction.
Feature selection techniques are used for four reasons:
• simplification of models to make them easier to interpret by researchers/users

• shorter training times,


• to avoid the curse of dimensionality
• enhanced generalization by reducing overfitting
The central premise when using a feature selection technique is that the data contains many
features that are either redundant or irrelevant, and can thus be removed without incurring much loss
of information.
There are several approaches to subset selection. In these notes, we discuss two of the simplest
approaches known as forward selection and backward selection methods.

4.3.1 Forward selection


In forward selection, we start with no variables and add them one by one, at each step adding the one
that decreases the error the most, until any further addition does not decrease the error (or decreases
it only sightly).
CHAPTER 4. DIMENSIONALITY REDUCTION 37

Procedure
We use the following notations:
n : number of input variables
x1 , . . . , xn : input variables
Fi : a subset of the set of input variables
E(Fi ) : error incurred on the validation sample when only the inputs
in Fi are used

1. Set F0 = ∅ and E(F0 ) = ∞.


2. For i = 0, 1, . . ., repeat the following until E(Fi+1 ) ≥ E(Fi ):
(a) For all possible input variables xj , train the model with the input variables Fi ∪ {xj } and
calculate E(Fi ∪ {xj }) on the validation set.
(b) Choose that input variable xm that causes the least error E(Fi ∪ {xj }):

m = arg min E(Fi ∪ {xj })


j

(c) Set Fi+1 = Fi ∪ {xm }.


3. The set Fi is outputted as the best subset.

Remarks
1. In this procedure, we stop if adding any feature does not decrease the error E. We may
even decide to stop earlier if the decrease in error is too small, where there is a user-defined
threshold that depends on the application constraints.
2. This process may be costly because to decrease the dimensions from n to k, we need to train
and test the system
n + (n − l) + (n − 2) + ⋯ + (n − k)
times, which is O(n2 ).

4.3.2 Backward selection


In sequential backward selection, we start with the set containing all features and at each step remove
the one feature that causes the least error.

Procedure
We use the following notations:
n : number of input variables
x1 , . . . , xn : input variables
Fi : a subset of the set of input variables
E(Fi ) : error incurred on the validation sample when only the inputs
in Fi are used

1. Set F0 = {x1 , . . . , xn } and E(F0 ) = ∞.


2. For i = 0, 1, . . ., repeat the following until E(Fi+1 ) ≥ E(Fi ):
(a) For all possible input variables xj , train the model with the input variables Fi − {xj })
and calculate E(Fi − {xj }) on the validation set.
(b) Choose that input variable xm that causes the least error E(Fi − {xj }):

m = arg min E(Fi − {xj })


j
CHAPTER 4. DIMENSIONALITY REDUCTION 38

(c) Set Fi+1 = Fi − {xm }.


3. The set Fi is outputted as the best subset.

4.4 Principal component analysis


Principal component analysis (PCA) is a statistical procedure that uses an orthogonal transforma-
tion to convert a set of observations of possibly correlated variables into a set of values of linearly
uncorrelated variables called principal components. The number of principal components is less
than or equal to the smaller of the number of original variables or the number of observations. This
transformation is defined in such a way that the first principal component has the largest possible
variance (that is, accounts for as much of the variability in the data as possible), and each succeeding
component in turn has the highest variance possible under the constraint that it is orthogonal to the
preceding components.

4.4.1 Graphical illustration of the idea


Consider a two-dimensional data, that is, a dataset consisting of examples having two features. Let
each of the features be numeric data. So, each example can be plotted on a coordinate plane (x-
coordinate indicating the first feature and y-coordinate indicating the second feature). Plotting the
example, we get a scatter diagram of the data. Now let us examine some typical scatter diagram
and make some observations regarding the directions in which the points in the scatter diagram are
spread out.
Let us examine the figures in Figure 4.1.

(i) Figure 4.1a shows a scatter diagram of a two-dimensional data.

(ii) Figure 4.1b shows spread of the data in the x direction and Figure 4.1c shows the spread of
the data in the y-direction. We note that the spread in the x-direction is more than the spread
in the y direction.
(iii) Examining Figures 4.1d and 4.1e, we note that the maximum spread occurs in the direction
shown in Figure 4.1e. Figure 4.1e also shows the point whose coordinates are the mean
values of the two features in the dataset. This direction is called the direction of the first
principal component of the given dataset.
(iv) The direction which is perpendicular (orthogonal) to the direction of the first principal com-
ponent is called the direction of the second principal component of the dataset. This direc-
tion is shown in Figure 4.1f. (This is only with reference to a two-dimensional dataset.)

(v) The unit vectors along the directions of principal components are called the principal com-
ponent vectors, or simply, principal components. These are shown in Figure 4.1g.

Remark
let us consider a dataset consisting of examples with three or more features. In such a case, we have
an n-dimensional dataset with n ≥ 3. In this case, the first principal component is defined exactly as
in item iii above. But, for the second component, it may be noted that there would be many directions
perpendicular to the direction of the first principal component. The direction of the second principal
component is that direction, which is perpendicular to the first principal component, in which the
spread of data is largest. The third and higher order principal components are constructed in a similar
way.
CHAPTER 4. DIMENSIONALITY REDUCTION 39

(a) Scatter diagram (b) Spread along x-direction

(c) Spread along y-direction (d) Largest spread

(e) Direction of largest spread : Direction of the first (f) Directions of principal components
principal component (solid dot is the point whose coor-
dinates are the means of x and y)

(g) Principal component vectors (unit vectors in the di-


rections of principal components)

Figure 4.1: Principal components

A warning!
The graphical illustration of the idea of PCA as explained above is slightly misleading. For the sake
of simplicity and easy geometrical representation, in the graphical illustration we have used range
as the measure of spread. The direction of the first principal component was taken as the direction of
maximum range. But, due to theoretical reasons, in the implementation of PCA in practice, it is the
variance that is taken as as the measure of spread. The first principal component is the the direction
in which the variance is maximum.
CHAPTER 4. DIMENSIONALITY REDUCTION 40

4.4.2 Computation of the principal component vectors


(PCA algorithm)
The following is an outline of the procedure for performing a principal component analysis on a
given data. The procedure is heavily dependent on mathematical concepts. A knowledge of these
concepts is essential to carry out this procedure.
Step 1. Data
We consider a dataset having n features or variables denoted by X1 , X2 , . . . , Xn . Let there
be N examples. Let the values of the i-th feature Xi be Xi1 , Xi2 , . . . , XiN (see Table 4.1).

Features Example 1 Example 2 ⋯ Example N


X1 X11 X12 ⋯ X1N
X2 X21 X22 ⋯ X2N

Xi Xi1 Xi2 ⋯ XiN

Xn Xn1 Xn2 ⋯ XnN

Table 4.1: Data for PCA algorithm

Step 2. Compute the means of the variables


We compute the mean X̄i of the variable Xi :
1
X̄i = (Xi1 + Xi2 + ⋯ + XiN ).
N

Step 3. Calculate the covariance matrix


Consider the variables Xi and Xj (i and j need not be different). The covariance of the
ordered pair (Xi , Xj ) is defined as1
N
1
Cov (Xi , Xj ) = ∑ (Xik − X̄i )(Xjk − X̄j ). (4.1)
N − 1 k=1

We calculate the following n × n matrix S called the covariance matrix of the data. The
element in the i-th row j-th column is the covariance Cov (Xi , Xj ):
⎡ ⎤
⎢ Cov (X1 , X1 ) Cov (X1 , X2 ) ⋯ Cov (X1 , Xn ) ⎥⎥

⎢ Cov (X2 , X1 ) Cov (X2 , X2 ) ⋯ Cov (X2 , Xn ) ⎥⎥
S = ⎢⎢ ⎥
⎢ ⋮ ⎥
⎢Cov (X , X ) Cov (Xn , X2 ) ⋯ Cov (Xn , Xn )⎥⎥

⎣ n 1

Step 4. Calculate the eigenvalues and eigenvectors of the covariance matrix


Let S be the covariance matrix and let I be the identity matrix having the same dimension
as the dimension of S.
i) Set up the equation:
det(S − λI) = 0. (4.2)
This is a polynomial equation of degree n in λ. It has n real roots (some of the
roots may be repeated) and these roots are the eigenvalues of S. We find the n roots
λ1 , λ2 , . . . , λn of Eq. (4.2).
1 There is an alternative definition of covariance. In this definition, covariance is defined as in Eq. (4.1) with N − 1

replaced by N . There are certain theoretical reasons for adopting the definition as given here.
CHAPTER 4. DIMENSIONALITY REDUCTION 41

ii) If λ = λ′ is an eigenvalue, then the corresponding eigenvector is a vector


⎡ ⎤
⎢ u1 ⎥
⎢ ⎥
⎢u ⎥
U = ⎢⎢ 2 ⎥⎥
⎢ ⋮ ⎥
⎢u ⎥
⎢ n⎥
⎣ ⎦
such that
(S − λ′ I)U = 0.
(This is a system of n homogeneous linear equations in u1 , u2 , . . ., un and it al-
ways has a nontrivial solution.) We next find a set of n orthogonal eigenvectors
U1 , U2 , . . . , Un such that Ui is an eigenvector corresponding to λi .2
iii) We now normalise the eigenvectors. Given any vector X we normalise it by dividing
X by its length. The length (or, the norm) of the vector
⎡ ⎤
⎢ x1 ⎥
⎢ ⎥
⎢x ⎥
X = ⎢⎢ 2 ⎥⎥
⎢ ⋮ ⎥
⎢x ⎥
⎢ n⎥
⎣ ⎦
is defined as √
∣∣X∣∣ = x21 + x22 + ⋯ + x2n .
Given any eigenvector U , the corresponding normalised eigenvector is computed as
1
U.
∣∣U ∣∣

We compute the n normalised eigenvectors e1 , e2 , . . . , en by


1
ei = Ui , i = 1, 2, . . . , n.
∣∣Ui ∣∣

Step 5. Derive new data set


Order the eigenvalues from highest to lowest. The unit eigenvector corresponding to the
largest eigenvalue is the first principal component. The unit eigenvector corresponding to
the next highest eigenvalue is the second principal component, and so on.
i) Let the eigenvalues in descending order be λ1 ≥ λ2 ≥ . . . ≥ λn and let the corre-
sponding unit eigenvectors be e1 , e2 , . . . , en .
ii) Choose a positive integer p such that 1 ≤ p ≤ n.
iii) Choose the eigenvectors corresponding to the eigenvalues λ1 , λ2 , . . ., λp and form
the following p × n matrix (we write the eigenvectors as row vectors):
⎡ T⎤
⎢e1 ⎥
⎢ T⎥
⎢e ⎥
F = ⎢⎢ 2 ⎥⎥ ,
⎢ ⋮ ⎥
⎢ T⎥
⎢ep ⎥
⎣ ⎦
where T in the superscript denotes the transpose.
2 For i ≠ j, the vectors Ui and Uj are orthogonal means UiT Uj = 0 where T denotes the transpose.
CHAPTER 4. DIMENSIONALITY REDUCTION 42

iv) We form the following n × N matrix:


⎡ ⎤
⎢ X11 − X̄1 X12 − X̄1 ⋯ X1N − X̄1 ⎥⎥

⎢ X − X̄2 X22 − X̄2 ⋯ X2N − X̄2 ⎥⎥
X = ⎢⎢ 21 ⎥
⎢ ⋮ ⎥
⎢X − X̄ Xn2 − X̄n ⋯ XnN − X̄n ⎥⎥
⎢ n1
⎣ n

v) Next compute the matrix:
Xnew = F X.
Note that this is a p × N matrix. This gives us a dataset of N samples having p
features.
Step 6. New dataset
The matrix Xnew is the new dataset. Each row of this matrix represents the values of a
feature. Since there are only p rows, the new dataset has only features.

Step 7. Conclusion
This is how the principal component analysis helps us in dimensional reduction of the
dataset. Note that it is not possible to get back the original n-dimensional dataset from
the new dataset.

4.4.3 Illustrative example


We illustrate the ideas of principal component analysis by considering a toy example. In the discus-
sions below, all the details of the computations are given. This is to give the reader an idea of the
complexity of computations and also to help the reader do a “worked example” by hand computa-
tions without recourse to software packages.

Problem
Given the data in Table 4.2, use PCA to reduce the dimension from 2 to 1.

Feature Example 1 Example 2 Example 3 Example 4


X1 4 8 13 7
X2 11 4 5 14

Table 4.2: Data for illustrating PCA

Solution
1. Scatter plot of data
We have

X̄1 = 14 (4 + 8 + 13 + 7) = 8,
X̄2 = 14 (11 + 4 + 5 + 14) = 8.5.

Figure 4.2 shows the scatter plot of the data together with the point (X̄1 , X̄2 ).
CHAPTER 4. DIMENSIONALITY REDUCTION 43

X2
14
12
10
8 (X̄1 , X̄2 )
6
4
2

0 2 4 6 8 10 12 14 X1

Figure 4.2: Scatter plot of data in Table 4.2

2. Calculation of the covariance matrix


The covariances are calculated as follows:
N
1
Cov (X1 , X2 ) = ∑ (X1k − X̄1 )
2
N − 1 k=1
= 1
3
((4 − 8)2 + (8 − 8)2 + (13 − 8)2 + (7 − 8)2 )
= 14
N
1
Cov (X1 , X2 ) = ∑ (X1k − X̄1 )(X2k − X̄2 )
N − 1 k=1
= 13 ((4 − 8)(11 − 8.5) + (8 − 8)(4 − 8.5)
+ (13 − 8)(5 − 8.5) + (7 − 8)(14 − 8.5)
= −11
Cov (X2 , X1 ) = Cov (X1 , X2 )
= −11
N
1
Cov (X2 , X2 ) = ∑ (X2k − X̄2 )
2
N − 1 k=1
= 1
3
((11 − 8.5)2 + (4 − 8.5)2 + (5 − 8.5)2 + (14 − 8.5)2 )
= 23

The covariance matrix is


Cov(X1 , X1 ) Cov (X1 , X2 )
S=[ ]
Cov (X2 , X1 ) Cov (X2 , X2 )
14 −11
=[ ]
−11 23

3. Eigenvalues of the covariance matrix


The characteristic equation of the covariance matrix is

0 = det(S − λI)
14 − λ −11
=∣ ∣
−11 23 − λ
= (14 − λ)(23 − λ) − (−11) × (−11)
= λ2 − 37λ + 201
CHAPTER 4. DIMENSIONALITY REDUCTION 44

Solving the characteristic equation we get



λ = 12 (37 ± 565)
= 30.3849, 6.6151
= λ1 , λ 2 (say)

4. Computation of the eigenvectors


To find the first principal components, we need only compute the eigenvector corresponding to the
largest eigenvalue. In the present example, the largest eigenvalue is λ1 and so we compute the
eigenvector corresponding to λ1 .
u
The eigenvector corresponding to λ = λ1 is a vector U = [ 1 ] satisfying the following equation:
u2

0
[ ] = (S − λ1 I)X
0
14 − λ1 −11 u
=[ ] [ 1]
−11 23 − λ1 u2
(14 − λ1 )u1 − 11u2
=[ ]
−11u1 + (23 − λ1 )u2
This is equivalent to the following two equations:
(14 − λ1 )u1 − 11u2 = 0
−11u1 + (23 − λ1 )u2 = 0
Using the theory of systems of linear equations, we note that these equations are not independent
and solutions are given by
u1 u2
= = t,
11 14 − λ1
that is
u1 = 11t, u2 = (14 − λ1 )t,
where t is any real number. Taking t = 1, we get an eigenvector corresponding to λ1 as
11
U1 = [ ].
14 − λ1
To find a unit eigenvector, we compute the length of X1 which is given by

∣∣U1 ∣∣ = 112 + (14 − λ1 )2

= 112 + (14 − 30.3849)2
= 19.7348
Therefore, a unit eigenvector corresponding to lambda1 is
11/∣∣U1 ∣∣
e1 = [ ]
(14 − λ1 )/∣∣U1 ∣∣
11/19.7348
=[ ]
(14 − 30.3849)/19.7348
0.5574
=[ ]
−0.8303
By carrying out similar computations, the unit eigenvector e2 corresponding to the eigenvalue
λ = λ2 can be shown to be
0.8303
e2 = [ ].
0.5574
CHAPTER 4. DIMENSIONALITY REDUCTION 45

X2
14
12 e2
10
8 (X̄1 , X̄2 )
6
4
2 e1
0 2 4 6 8 10 12 14 X1

Figure 4.3: Coordinate system for principal components

5. Computation of first principal components


X
Let [ 1k ] be the k-th sample in Table 4.2. The first principal component of this example is given
X2k
by (here “T ” denotes the transpose of the matrix)

X − X̄1 X − X̄1
eT1 [ 1k ] = [0.5574 −0.8303] [ 1k ]
X2k − X̄2 X2k − X̄2
= 0.5574(X1k − X̄1 ) − 0.8303(X2k − X̄2 ).

X 4
For example, the first principal component corresponding to the first example [ 11 ] = [ ] is
X21 11
calculated as follows:

X − X̄1
[0.5574 −0.8303] [ 11 ] = 0.5574(X11 − X̄1 ) − 0.8303(X21 − X̄2 )
X21 − X̄2
= 0.5574(4 − 8) − 0.8303(11 − 8, 5)
= −4.30535

The results of calculations are summarised in Table 4.3.

X1 4 8 13 7
X2 11 4 5 14
First principal components -4.3052 3.7361 5.6928 -5.1238

Table 4.3: First principal components for data in Table 4.2

6. Geometrical meaning of first principal components


As we have seen in Figure 4.1, we introduce new coordinate axes. First we shift the origin to
the “center” (X̄1 , X̄2 ) and then change the directions of coordinate axes to the directions of the
eigenvectors e1 and e2 (see Figure 4.3).
Next, we drop perpendiculars from the given data points to the e1 -axis (see Figure 4.4). The first
principal components are the e1 -coordinates of the feet of perpendiculars, that is, the projections on
the e1 -axis. The projections of the data points on e1 -axis may be taken as approximations of the
given data points hence we may replace the given data set with these points. Now, each of these
CHAPTER 4. DIMENSIONALITY REDUCTION 46

X2
14 (7, 14)
12
(4, 11) e2
10
8 (X̄1 , X̄2 )
6
(13, 5)
4 (8, 4)
2 e1
0 2 4 6 8 10 12 14 X1

Figure 4.4: Projections of data points on the axis of the first principal component

PC1 components -4.305187 3.736129 5.692828 -5.123769

Table 4.4: One-dimensional approximation to the data in Table 4.2

approximations can be unambiguously specified by a single number, namely, the e1 -coordinate of


approximation. Thus the two-dimensional data set given in Table 4.2 can be represented approxi-
mately by the following one-dimensional data set (see Figure 4.5):
X2 X2
14 14
(7,14)
12 e2 12 e2
10 (4,11) 10
8 (X̄1 , X̄2 ) 8 (X̄1 , X̄2 )
6 6
4 (13, 5) 4
(8,4)
2 2
e1 e1
0 2 4 6 8 10 12 14 X1 2 4 6 8 10 12 14 X1

Figure 4.5: Geometrical representation of one-dimensional approximation to the data in Table 4.2

4.5 Sample questions


(a) Short answer questions
1. What is dimensionality reduction? How is it implemented?
2. Explain why dimensionality reduction is useful in machine learning.
3. What are the commonly used dimensionality reduction techniques in machine learning?
4. How is the subset selection method used for dimensionality reduction?
5. Explain the method of principal component analysis in machine learning.
6. What are the first principal components of a data?
7. Is subset selection problem an unsupervised learning problem? Why?
CHAPTER 4. DIMENSIONALITY REDUCTION 47

8. Is principal component analysis a supervised learning problem? Why?

(b) Long answer questions


1. Describe the forward selection algorithm for implementing the subset selection procedure for
dimensionality reduction.

2. Describe the backward selection algorithm for implementing the subset selection procedure
for dimensionality reduction.
3. What is the first principal component of a data? How one can compute it?
4. Describe with the use of diagrams the basic principle of PCA.

5. Explain the procedure for the computation of the principal components of a given data.
6. Describe how principal component analysis is carried out to reduce dimensionality of data
sets.
7. Given the following data, compute the principal component vectors and the first principal
components:

x 2 3 7
y 11 14 26

8. Given the following data, compute the principal component vectors and the first principal
components:

x -3 1 -2
y 2 -1 3
Chapter 5

Evaluation of classifiers

In machine learning, there are several classification algorithms and, given a certain problem, more
than one may be applicable. So there is a need to examine how we can assess how good a se-
lected algorithm is. Also, we need a method to compare the performance of two or more different
classification algorithms. These methods help us choose the right algorithm in a practical situation.

5.1 Methods of evaluation


5.1.1 Need for multiple validation sets
When we apply a classification algorithm in a practical situation, we always do a validation test.
We keep a small sample of examples as validation set and the remaining set as the training set. The
classifier developed using the training set is applied to the examples in the validation set. Based on
the performance on the validation set, the accuracy of the classifier is assessed. But, the performance
measure obtained by a single validation set alone does not give a true picture of the performance of a
classifier. Also these measures alone cannot be meaningfully used to compare two algorithms. This
requires us to have different validation sets.
Cross-validation in general, and k-fold cross-validation in particular, are two common method
for generating multiple training-validation sets from a given dataset.

5.1.2 Statistical distribution of errors


We use a classification algorithm on a dataset and generate a classifier. If we do the training once,
we have one classifier and one validation error. To average over randomness (in training data, initial
weights, etc.), we use the same algorithm and generate multiple classifiers. We test these classifiers
on multiple validation sets and record a sample of validation errors. We base our evaluation of the
classification algorithm on the statistical distribution of these validation errors. We can use this
distribution for assessing the expected error rate of the classification algorithm for that problem, or
compare it with the error rate distribution of some other classification algorithm.
A detailed discussion of these ideas is beyond the scope of these notes.

5.1.3 No-free lunch theorem


Whatever conclusion we draw from our analysis is conditioned on the dataset we are given. We
are not comparing classification algorithms in a domain-independent way but on some particular
application. We are not saying anything about the expected error-rate of a learning algorithm, or
comparing one learning algorithm with another algorithm, in general. Any result we have is only
true for the particular application. There is no such thing as the “best” learning algorithm. For any

48
CHAPTER 5. EVALUATION OF CLASSIFIERS 49

learning algorithm, there is a dataset where it is very accurate and another dataset where it is very
poor. This is called the No Free Lunch Theorem.1

5.1.4 Other factors


Classification algorithms can be compared based not only on error rates but also on several other
criteria like the following:
• risks when errors are generalized using loss functions

• training time and space complexity,


• testing time and space complexity,
• interpretability, namely, whether the method allows knowledge extraction which can be checked
and validated by experts, and

• easy programmability.

5.2 Cross-validation
To test the performance of a classifier, we need to have a number of training/validation set pairs
from a dataset X. To get them, if the sample X is large enough, we can randomly divide it then
divide each part randomly into two and use one half for training and the other half for validation.
Unfortunately, datasets are never large enough to do this. So, we use the same data split differently;
this is called cross-validation.
Cross-validation is a technique to evaluate predictive models by partitioning the original sample
into a training set to train the model, and a test set to evaluate it.
The holdout method is the simplest kind of cross validation. The data set is separated into two
sets, called the training set and the testing set. The algorithm fits a function using the training set
only. Then the function is used to predict the output values for the data in the testing set (it has never
seen these output values before). The errors it makes are used to evaluate the model.

5.3 K-fold cross-validation


In K-fold cross-validation, the dataset X is divided randomly into K equal-sized parts, Xi , i =
1, . . . , K. To generate each pair, we keep one of the K parts out as the validation set Vi , and combine
the remaining K − 1 parts to form the training set Ti . Doing this K times, each time leaving out
another one of the K parts out, we get K pairs (Vi , Ti ):

V1 = X1 , T1 = X2 ∪ X3 ∪ . . . ∪ XK
V2 = X2 , T2 = X1 ∪ X3 ∪ . . . ∪ XK

VK = XK , TK = X1 ∪ X2 ∪ . . . ∪ XK−1

Remarks
1. There are two problems with this: First, to keep the training set large, we allow validation sets
that are small. Second, the training sets overlap considerably, namely, any two training sets
share K − 2 parts.
1 “We have dubbed the associated results NFL theorems because they demonstrate that if an algorithm performs well on

a certain class of problems then it necessarily pays for that with degraded performance on the set of all remaining prob-
lems.”(David Wolpert and William Macready in [7])
CHAPTER 5. EVALUATION OF CLASSIFIERS 50

2. K is typically 10 or 30. As K increases, the percentage of training instances increases and we


get more robust estimators, but the validation set becomes smaller. Furthermore, there is the
cost of training the classifier K times, which increases as K is increased.

1-st fold
test set training set

2-nd fold
training set test set training set

3-rd fold
training set test set training set

4-th fold
training set test set training set

5-th fold
training set test set

Figure 5.1: One iteration in a 5-fold cross-validation

Leave-one-out cross-validation
An extreme case of K-fold cross-validation is leave-one-out where given a dataset of N instances,
only one instance is left out as the validation set and training uses the remaining N − 1 instances.
We then get N separate pairs by leaving out a different instance at each iteration. This is typically
used in applications such as medical diagnosis, where labeled data is hard to find.

5.3.1 5 × 2 cross-validation
(1) (2)
In this method, the dataset X is divided into two equal parts X1 and X1 . We take as the training
(2) (2)
set and X1 as the validation set. We then swap the two sets and take X1 as the training set and
(1)
X1 as the validation set. This is the first fold. the process id repeated four more times to get ten
pairs of training sets and validation sets.

T1 = X1 , V1 = X1
(1) (2)

T2 = X1 , V2 = X1
(2) (1)

T3 = X2 , V3 = X2
(1) (2)

T4 = X2 , V4 = X2
(2) (1)


T9 = X5 , V3 = X5
(1) (2)

T10 = X5 , V10 = X5
(2) (1)

It has been shown that after five folds, the validation error rates become too dependent and do
not add new information. On the other hand, if there are fewer than five folds, we get fewer data
(fewer than ten) and will not have a large enough sample to fit a distribution and test our hypothesis.
CHAPTER 5. EVALUATION OF CLASSIFIERS 51

5.3.2 Bootstrapping
Bootstrapping in statistics
In statistics, the term “bootstrap sampling”, the “bootstrap” or “bootstrapping” for short, refers to
process of “random sampling with replacement”.

Example
For example, let there be five balls labeled A, B, C, D, E in an urn. We wish to select different
samples of balls from the urn each sample containing two balls. The following procedure may be
used to select the samples. This is an example for bootstrap sampling.
1. We select two balls from the basket. Let them be A and E. Record the labels.
2. Put the two balls back in the basket.
3. We select two balls from the basket. Let them be C and E. Record the labels.

4. Put the two balls back into the basket.


This is repeated as often as required. So we get different samples of size 2, say, A, E; B, E; etc.
These samples are obtained by sampling with replacement, that is, by bootstrapping.

Bootstrapping in machine learning


In machine learning, bootstrapping is the process of computing performance measures using several
randomly selected training and test datasets which are selected through a precess of sampling with
replacement, that is, through bootstrapping. Sample datasets are selected multiple times.
The bootstrap procedure will create one or more new training datasets some of which are re-
peated. The corresponding test datasets are then constructed from the set of examples that were not
selected for the respective training datasets.

5.4 Measuring error


5.4.1 True positive, false positive, etc.
Definitions
Consider a binary classification model derived from a two-class dataset. Let the class labels be c and
¬c. Let x be a test instance.
1. True positive
Let the true class label of x be c. If the model predicts the class label of x as c, then we say
that the classification of x is true positive.
2. False negative
Let the true class label of x be c. If the model predicts the class label of x as ¬c, then we say
that the classification of x is false negative.
3. True negative
Let the true class label of x be ¬c. If the model predicts the class label of x as ¬c, then we say
that the classification of x is true negative.

4. False positive
Let the true class label of x be ¬c. If the model predicts the class label of x as c, then we say
that the classification of x is false positive.
CHAPTER 5. EVALUATION OF CLASSIFIERS 52

Actual label of x is c Actual label of x is ¬c


Predicted label of x is c True positive False positive
Predicted label of x is ¬c False negative True negative

5.4.2 Confusion matrix


A confusion matrix is used to describe the performance of a classification model (or “classifier”) on
a set of test data for which the true values are known. A confusion matrix is a table that categorizes
predictions according to whether they match the actual value.

Two-class datasets
For a two-class dataset, a confusion matrix is a table with two rows and two columns that reports the
number of false positives, false negatives, true positives, and true negatives.
Assume that a classifier is applied to a two-class test dataset for which the true values are known.
Let TP denote the number of true positives in the predicted values, TN the number of true negatives,
etc. Then the confusion matrix of the predicted values can be represented as follows:

Actual condition Actual condition


is true is false
Predicted condi-
TP FP
tion is true
Predicted condi-
FN FN
tion is false

Table 5.1: Confusion matrix for two-class dataset

Multiclass datasets
Confusion matrices can be constructed for multiclass datasets also.

Example
If a classification system has been trained to distinguish between cats, dogs and rabbits, a confusion
matrix will summarize the results of testing the algorithm for further inspection. Assuming a sample
of 27 animals - 8 cats, 6 dogs, and 13 rabbits, the resulting confusion matrix could look like the table
below: This confusion matrix shows that, for example, of the 8 actual cats, the system predicted that

Actual “cat” Actual “dog” Actual “rabbit”


Predicted “cat” 5 2 0
Predicted “dog” 3 3 2
Predicted “ rabbit” 0 1 11

three were dogs, and of the six dogs, it predicted that one was a rabbit and two were cats.

5.4.3 Precision and recall


In machine learning, precision and recall are two measures used to assess the quality of results
produced by a binary classifier. They are formally defined as follows.
CHAPTER 5. EVALUATION OF CLASSIFIERS 53

Definitions
Let a binary classifier classify a collection of test data. Let

TP = Number of true positives


TN = Number of true negatives
FP = Number of false positives
FN = Number of false negatives

The precision P is defined as


TP
P=
TP + FP
The recall R is defined as
TP
R=
TP + FN

Problem 1
Suppose a computer program for recognizing dogs in photographs identifies eight dogs in a picture
containing 12 dogs and some cats. Of the eight dogs identified, five actually are dogs while the rest
are cats. Compute the precision and recall of the computer program.

Solution
We have:

TP = 5
FP = 3
FN = 7

The precision P is
TP 5 5
P= = =
TP + FP 5 + 3 8
The recall R is
TP 5 5
R= = =
TP + FN 5 + 7 12

Problem 2
Let there be 10 balls (6 white and 4 red balls) in a box and let it be required to pick up the red balls
from them. Suppose we pick up 7 balls as the red balls of which only 2 are actually red balls. What
are the values of precision and recall in picking red ball?

Solution
Obviously we have:

TP = 2
FP = 7 − 2 = 5
FN = 4 − 2 = 2

The precision P is
TP 2 2
P= = =
TP + FP 2 + 5 7
The recall R is
TP 2 1
R= = =
TP + FN 2 + 2 2
CHAPTER 5. EVALUATION OF CLASSIFIERS 54

Problem 3
Assume the following: A database contains 80 records on a particular topic of which 55 are relevant
to a certain investigation. A search was conducted on that topic and 50 records were retrieved. Of the
50 records retrieved, 40 were relevant. Construct the confusion matrix for the search and calculate
the precision and recall scores for the search.

Solution
Each record may be assigned a class label “relevant" or “not relevant”. All the 80 records were
tested for relevance. The test classified 50 records as “relevant”. But only 40 of them were actually
relevant. Hence we have the following confusion matrix for the search:

Actual “not rele-


Actual ”relevant”
vant”
Predicted “rele-
40 10
vant”
Predicted “not
15 25
relevant”

Table 5.2: Example for confusion matrix

TP = 40
FP = 10
FN = 15
The precision P is
TP 40 4
P= = =
TP + FP 40 + 10 5
The recall R is
TP 40 40
R= = =
TP + FN 40 + 15 55

5.4.4 Other measures of performance


Using the data in the confusion matrix of a classifier of two-class dataset, several measures of per-
formance have been defined. A few of them are listed below.
TP + TN
1. Accuracy =
TP + TN + FP + FN
2. Error rate = 1− Accuracy
TP
3. Sensitivity =
TP + FN
TN
4. Specificity =
TN + FP
2 × TP
5. F -measure =
2 × TP + FP + FN

5.5 Receiver Operating Characteristic (ROC)


The acronym ROC stands for Receiver Operating Characteristic, a terminology coming from signal
detection theory. The ROC curve was first developed by electrical engineers and radar engineers
during World War II for detecting enemy objects in battlefields. They are now increasingly used in
machine learning and data mining research.
CHAPTER 5. EVALUATION OF CLASSIFIERS 55

TPR and FPR


Let a binary classifier classify a collection of test data. Let, as before,

TP = Number of true positives


TN = Number of true negatives
FP = Number of false positives
FN = Number of false negatives

Now we introduce the following terminology:

TPR = True Positive Rate


TP
=
TP + FN
= Fraction of positive examples correctly classified
= Sensitivity
FPR = False Positive Rate
FP
=
FP + TN
= Fraction of negative examples incorrectly classified
= 1 − Specificity

ROC space
We plot the values of FPR along the horizontal axis (that is , x-axis) and the values of TPR along
the vertical axis (that is, y-axis) in a plane. For each classifier, there is a unique point in this plane
with coordinates (FPR, TPR). The ROC space is the part of the plane whose points correspond to
(FPR, TPR). Each prediction result or instance of a confusion matrix represents one point in the
ROC space.
The position of the point (FPR, TPR) in the ROC space gives an indication of the performance
of the classifier. For example, let us consider some special points in the space.

Special points in ROC space


1. The left bottom corner point (0, 0): Always negative prediction
A classifier which produces this point in the ROC space never classifies an example as positive,
neither rightly nor wrongly, because for this point TP = 0 and FP = 0. It always makes
negative predictions. All positive instances are wrongly predicted and all negative instances
are correctly predicted. It commits no false positive errors.
2. The right top corner point (1, 1): Always positive prediction
A classifier which produces this point in the ROC space always classifies an example as posi-
tive because for this point FN = 0 and TN = 0. All positive instances are correctly predicted
and all negative instances are wrongly predicted. It commits no false negative errors.
3. The left top corner point (0, 1): Perfect prediction
A classifier which produces this point in the ROC space may be thought as a perfect classifier.
It produces no false positives and no false negatives.
4. Points along the diagonal: Random performance
Consider a classifier where the class labels are randomly guessed, say by flipping a coin. Then,
the corresponding points in the ROC space will be lying very near the diagonal line joining
the points (0, 0) and (1, 1).
CHAPTER 5. EVALUATION OF CLASSIFIERS 56

ROC space
1
.9

True Positive Rate (TPR) → .8 Perfect prediction Always positive prediction

.7

.6
.5
.4 Point on diagonal
(Random performance)
.3
.2
.1
.0
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1
False Positive Rate (FPR) →
Always negative prediction

Figure 5.2: The ROC space and some special points in the space

ROC curve
In the case of certain classification algorithms, the classifier may depend on a parameter. Different
values of the parameter will give different classifiers and these in turn give different values to TPR
and FPR. The ROC curve is the curve obtained by plotting in the ROC space the points (TPR , FPR)
obtained by assigning all possible values to the parameter in the classifier.
CHAPTER 5. EVALUATION OF CLASSIFIERS 57

ROC space
1
C
.9
.8
True Positive Rate (TPR) → .7
B
.6
.5
.4 A

.3
.2
.1
.0
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1
False Positive Rate (FPR) →

Figure 5.3: ROC curves of three different classifiers A, B, C

The closer the ROC curve is to the top left corner (0, 1) of the ROC space, the better the accuracy
of the classifier. Among the three classifiers A, B, C with ROC curves as shown in Figure 5.3, the
classifier C is closest to the top left corner of the ROC space. Hence, among the three, it gives the
best accuracy in predictions.

Example

Breast cancer Normal persons


Cut-off value of BMI TPR FPR
TP FN FP TN
18 100 0 200 0 1.00 1.000
20 100 0 198 2 1.00 0.990
22 99 1 177 23 0.99 0.885
24 95 5 117 83 0.95 0.585
26 85 15 80 120 0.85 0.400
28 66 34 53 147 0.66 0.265
30 47 53 27 173 0.47 0.135
32 34 66 17 183 0.34 0.085
34 21 79 14 186 0.21 0.070
36 17 83 6 194 0.17 0.030
38 7 93 4 196 0.07 0.020
40 1 99 1 199 0.01 0.005

Table 5.3: Data on breast cancer for various values of BMI

The body mass index (BMI) of a person is defined as (weight(kg)/height(m)2 ). Researchers have
established a link between BMI and the risk of breast cancer among women. The higher the BMI
the higher the risk of developing breast cancer. The critical threshold value of BMI may depend on
several parameters like food habits, socio-cultural-economic background, life-style, etc. Table 5.3
CHAPTER 5. EVALUATION OF CLASSIFIERS 58

gives real data of a breast cancer study with a sample having 100 patients and 200 normal persons.2
The table also shows the values of TPR and FPR for various cut-off values of BMI. The ROC curve
of the data in Table 5.3 is shown in Figure 5.4.

ROC space
1
.9
Cut-off BMI = 26
.8
True Positive Rate (TPR) →

.7
Cut-off BMI = 28
.6
.5
.4 AUC = Area of shaded region

.3
.2
.1
.0
.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1
False Positive Rate (FPR) →

Figure 5.4: ROC curve of data in Table 5.3 showing the points closest to the perfect prediction point
(0, 1)

Area under the ROC curve


The measure of the area under the ROC curve is denoted by the acronym AUC (see Figure 5.4). The
value of AUC is a measure of the performance of a classifier. For the perfect classifier, AUC = 1.0.

5.6 Sample questions


(a) Short answer questions
1. What is cross-validation in machine learning?
2. What is meant by 5 × 2 cross-validation?

3. What is meant by leave-one-out cross validation?


4. What is meant by the confusion matrix of a binary classification problem.
5. Define the following terms: precision, recall, sensitivity, specificity.

6. What is ROC curve in machine learning?


7. What are true positive rates and false positive rates in machine learning?
8. What is AUC in relation to ROC curves?
2 https://www.ncbi.nlm.nih.gov/ pmc/articles/PMC3755824/
CHAPTER 5. EVALUATION OF CLASSIFIERS 59

(b) Long answer questions


1. Explain cross-validation in machine learning. Explain the different types of cross-validations.
2. What is meant by true positives etc.? What is meant by confusion matrix of a binary classifi-
cation problem? Explain how this can be extended to multi-class problems.
3. What are ROC space and ROC curve in machine learning? In ROC space, which points
correspond to perfect prediction, always positive prediction and always negative prediction?
Why?
4. Consider a two-class classification problem of predicting whether a photograph contains a
man or a woman. Suppose we have a test dataset of 10 records with expected outcomes and a
set of predictions from our classification algorithm.

Expected Predicted
1 man woman
2 man man
3 woman woman
4 man man
5 woman man
6 woman woman
7 woman woman
8 man man
9 man woman
10 woman woman

(a) Compute the confusion matrix for the data.


(b) Compute the accuracy, precision, recall, sensitivity and specificity of the data.

5. Suppose 10000 patients get tested for flu; out of them, 9000 are actually healthy and 1000
are actually sick. For the sick people, a test was positive for 620 and negative for 380. For
the healthy people, the same test was positive for 180 and negative for 8820. Construct a
confusion matrix for the data and compute the accuracy, precision and recall for the data.
6. Given the following data, construct the ROC curve of the data. Compute the AUC.

Threshold TP TN FP FN
1 0 25 0 29
2 7 25 0 22
3 18 24 1 11
4 26 20 5 3
5 29 11 14 0
6 29 0 25 0
7 29 0 25 0

7. Given the following hypothetical data at various cut-off points of mid-arm circumference of
mid-arm circumference to detect low birth-weight construct the ROC curve for the data.
CHAPTER 5. EVALUATION OF CLASSIFIERS 60

Mid-arm circumference (cm) Normal birth-weight Low birth-weight


TP TN
≤ 8.3 13 867
≤ 8.4 24 844
≤ 8.5 73 826
≤ 8.6 90 800
≤ 8.7 113 783
≤ 8.8 119 735
≤ 8.9 121 626
≤ 9.0 125 505
≤ 9.1 127 435
≤ 9.2 and above 130 0
Chapter 6

Bayesian classifier and ML


estimation

The Bayesian classifier is an algorithm for classifying multiclass datasets. This is based on the
Bayes’ theorem in probability theory. Bayes in whose name the theorem is known was an English
statistician who was known for having formulated a specific case of a theorem that bears his name.
The classifier is also known as “naive Bayes Algorithm” where the word “naive” is an English word
with the following meanings: simple, unsophisticated, or primitive. We first explain Bayes’ theorem
and then describe the algorithm. Of course, we require the notion of conditional probability.

6.1 Conditional probability


The probability of the occurrence of an event A given that an event B has already occurred is called
the conditional probability of A given B and is denoted by P (A∣B). We have
P (A ∩ B)
P (A∣B) = if P (B) ≠ 0.
P (B)

6.1.1 Independent events


1. Two events A and B are said to be independent if
P (A ∩ B) = P (A)P (B).

2. Three events A, B, C are said to be pairwise independent if


P (B ∩ C) = P (B)P (C)
P (C ∩ A) = P (C)P (A)
P (A ∩ B) = P (A)P (B)

3. Three events A, B, C are said to be mutually independent if


P (B ∩ C) = P (B)P (C) (6.1)
P (C ∩ A) = P (C)P (A) (6.2)
P (A ∩ B) = P (A)P (B) (6.3)
P (A ∩ B ∩ C) = P (A)P (B)P (C) (6.4)

4. In general, a family of k events A1 , A2 , . . . , Ak is said to be mutually independent if for any


subfamily consisting of Ai1 , . . . Aim we have
P (Ai1 ∩ . . . ∩ Aim ) = P (Ai1 ) . . . P (Aim ).

61
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 62

Remarks
Consider events and respective probabilities as shown in Figure 6.1. It can be seen that, in this case,
the conditions Eqs.(6.1)–(6.3) are satisfied, but Eq.(6.4) is not satisfied. But if the probabilities are
as in Figure 6.2, then Eq.(6.4) is satisfied but all the conditions in Eqs.(6.1)–(6.2) are not satisfied.

Figure 6.1: Events A, B, C which are not mutually independent: Eqs.(6.1)–(6.3) are satisfied, but
Eq.(6.4) is not satisfied.

Figure 6.2: Events A, B, C which are not mutually independent: Eq.(6.4) is satisfied but Eqs.(6.1)–
(6.2) are not satisfied.

6.2 Bayes’ theorem


6.2.1 Theorem
Let A and B any two events in a random experiment. If P (A) ≠ 0, then

P (A∣B)P (B)
P (B∣A) = .
P (A)

6.2.2 Remarks
1. The importance of the result is that it helps us to “invert” conditional probabilities, that is, to
express the conditional probability P (A∣B) in terms of the conditional probability P (B∣A).

2. The following terminology is used in this context:


• A is called the proposition and B is called the evidence.
• P (A) is called the prior probability of proposition and P (B) is called the prior proba-
bility of evidence.
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 63

• P (A∣B) is called the posterior probability of A given B.


• P (B∣A) is called the likelihood of B given A.

6.2.3 Generalisation
Let the sample space be divided into disjoint events B1 , B2 , . . . , Bn and A be any event. Then we
have
P (A∣Bk )P (Bk )
P (Bk ∣A) = n
∑i=1 P (A∣Bi )P (Bi )

6.2.4 Examples
Problem 1
Consider a set of patients coming for treatment in a certain clinic. Let A denote the event that
a “Patient has liver disease” and B the event that a “Patient is an alcoholic.” It is known from
experience that 10% of the patients entering the clinic have liver disease and 5% of the patients are
alcoholics. Also, among those patients diagnosed with liver disease, 7% are alcoholics. Given that
a patient is alcoholic, what is the probability that he will have liver disease?

Solution
Using the notations of probability, we have

P (A) = 10% = 0.10


P (B) = 5% = 0.05
P (B∣A) = 7% = 0.07
P (B∣A)P (A)
P (A∣B) =
P (B)
0.07 × 0.10
=
0.05
= 0.14

Problem 2
Three factories A, B, C of an electric bulb manufacturing company produce respectively 35%. 35%
and 30% of the total output. Approximately 1.5%, 1% and 2% of the bulbs produced by these
factories are known to be defective. If a randomly selected bulb manufactured by the company was
found to be defective, what is the probability that the bulb was manufactures in factory A?

Solution
Let A, B, C denote the events that a randomly selected bulb was manufactured in factory A, B, C
respectively. Let D denote the event that a bulb is defective. We have the following data:

P (A) = 0.35, P (B) = 0.35, P (C) = 0.30


P (D∣A) = 0.015, P (D∣B) = 0.010, P (D∣C) = 0.020

We are required to find P (A∣D). By the generalisation of the Bayes’ theorem we have:
P (D∣A)P (A)
P (A∣D) =
P (D∣A)P (A) + P (D∣B)P (B) + P (D∣C)P (C)
0.015 × 0.35
=
0.015 × 0.35 + 0.010 × 0.35 + 0.020 × 0.30
= 0.356.
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 64

6.3 Naive Bayes algorithm


6.3.1 Assumption
The naive Bayes algorithm is based on the following assumptions:
• All the features are independent and are unrelated to each other. Presence or absence of a
feature does not influence the presence or absence of any other feature.
• The data has class-conditional independence, which means that events are independent so
long as they are conditioned on the same class value.
These assumptions are, in general, true in many real world problems. It is because of these assump-
tions, the algorithm is called a naive algorithm.

6.3.2 Basic idea


Suppose we have a training data set consisting of N examples having n features. Let the features
be named as (F1 , . . . , Fn ). A feature vector is of the form (f1 , f2 , . . . , fn ). Associated with each
example, there is a certain class label. Let the set of class labels be {c1 , c2 , . . . , cp }.
Suppose we are given a test instance having the feature vector

X = (x1 , x2 , . . . , xn ).

We are required to determine the most appropriate class label that should be assigned to the test
instance. For this purpose we compute the following conditional probabilities

P (c1 ∣X), P (c2 ∣X), . . . , P (cp ∣X). (6.5)

and choose the maximum among them. Let the maximum probability be P (ci ∣X). Then, we choose
ci as the most appropriate class label for the training instance having X as the feature vector.
The direct computation of the probabilities given in Eq.(6.5) are difficult for a number of reasons.
The Bayes’ theorem can b applied to obtain a simpler method. This is explained below.

6.3.3 Computation of probabilities


Using Bayes’ theorem, we have:
P (X∣ck )P (ck )
P (ck ∣X) = (6.6)
P (X)
Since, by assumption, the data has class-conditional independence, we note that the events “x1 ∣ck ”,
“x2 ∣ck ”, ⋯, xn ∣ck are independent (because they are all conditioned on the same class label ck ).
Hence we have

P (X∣ck ) = P ((x1 , x2 , . . . , xn )∣ck )


= P (x1 ∣ck )P (x2 ∣ck )⋯P (xn ∣ck )

Using this in Eq,(6.6) we get


P (x1 ∣ck )P (x2 ∣ck )⋯P (xn ∣ck )P (ck )
P (ck ∣X) = .
P (X)
Since the denominator P (X) is independent of the class labels, we have

P (ck ∣X) ∝ P (x1 ∣ck )P (x2 ∣ck )⋯P (xn ∣ck )P (ck ).

So it is enough to find the maximum among the following values:

P (x1 ∣ck )P (x2 ∣ck )⋯P (xn ∣ck )P (ck ), k = 1, . . . , p.


CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 65

Remarks
The various probabilities in the above expression are computed as follows:
No. of examples with class label ck
P (ck ) =
Total number of examples
No. of examples with jth feature equal to xj and class label ck
P (xj ∣ck ) =
No. of examples with class label ck

6.3.4 The algorithm


Algorithm: Naive Bayes

Let there be a training data set having n features F1 , . . . , Fn . Let f1 denote an arbitrary value of F1 ,
f2 of F2 , and so on. Let the set of class labels be {c1 , c2 , . . . , cp }. Let there be given a test instance
having the feature vector
X = (x1 , x2 , . . . , xn ).
We are required to determine the most appropriate class label that should be assigned to the test
instance.
Step 1. Compute the probabilities P (ck ) for k = 1, . . . , p.
Step 2. Form a table showing the conditional probabilities

P (f1 ∣ck ), P (f2 ∣ck ), ... , P (fn ∣ck )

for all values of f1 , f2 , . . . , fn and for k = 1, . . . , p.


Step 3. Compute the products

qk = P (x1 ∣ck )P (x2 ∣ck )⋯P (xn ∣ck )P (ck )

for k = 1, . . . , p.
Step 4. Find j such qj = max{q1 , q2 , . . . , qp }.
Step 5. Assign the class label cj to the test instance X.

Remarks
In the above algorithm, Steps 1 and 2 constitute the learning phase of the algorithm. The remaining
steps constitute the testing phase. For testing purposes, only the table of probabilities is required;
the original data set is not required.

6.3.5 Example
Problem
Consider a training data set consisting of the fauna of the world. Each unit has three features named
“Swim”, “Fly” and “Crawl”. Let the possible values of these features be as follows:
Swim Fast, Slow, No
Fly Long, Short, Rarely, No
Crawl Yes, No
For simplicity, each unit is classified as “Animal”, “Bird” or “Fish”. Let the training data set be as in
Table 6.1. Use naive Bayes algorithm to classify a particular species if its features are (Slow, Rarely,
No)?
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 66

Sl. No. Swim Fly Crawl Class


1 Fast No No Fish
2 Fast No Yes Animal
3 Slow No No Animal
4 Fast No No Animal
5 No Short No Bird
6 No Short No Bird
7 No Rarely No Animal
8 Slow No Yes Animal
9 Slow No No Fish
10 Slow No Yes Fish
11 No Long No Bird
12 Fast No No Bird

Table 6.1: Sample data set for naive Bayes algorithm

Solution
In this example, the features are
F1 = “Swim”, F2 = “Fly”, F3 = “Crawl”.
The class labels are
c1 = “Animal”, c2 = “ Bird”, c3 = “Fish”.
The test instance is (Slow, Rarely, No) and so we have:
x1 = “Slow”, x2 = “Rarely”, x3 = “No”.
We construct the frequency table shown in Table 6.2 which summarises the data. (It may be noted
that the construction of the frequency table is not part of the algorithm.)

Features
Class Swim (F1 ) Fly (F2 ) Crawl (F3 ) Total
Fast Slow No Long Short Rarely No Yes No
Animal (c1 ) 2 2 1 0 0 1 4 2 3 5
Bird (c2 ) 1 0 3 1 2 0 1 1 3 4
Fish (c3 ) 1 2 0 0 0 0 3 0 3 3
Total 4 4 4 1 2 1 8 4 8 12

Table 6.2: Frequency table for the data in Table 6.1

Step 1. We compute following probabilities.


No. of records with class label “Animal”
P (c1 ) =
Total number of examples
= 5/12
No. of records with class label “Bird”
P (c2 ) =
Total number of examples
= 4/12
No of records with class label “Fish”
P (c3 ) =
Total number of examples
= 3/12
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 67

Step 2. We construct the following table of conditional probabilities:

Features
Swim (F1 ) Fly (F2 ) Crawl (F3 )
Class
f1 f2 f3
Fast Slow No Long Short Rarely No Yes No
Animal (c1 ) 2/5 2/5 1/5 0/5 0/5 1/5 4/5 2/5 3/5
Bird (c2 ) 1/4 0/4 3/4 1/4 2/4 0/4 1/4 0/4 4/4
Fish (c3 ) 13 2/3 0/3 0/3 0/3 0/3 3/3 0/3 3/3

Table 6.3: Table of the conditional probabilities P (fi ∣ck )

Note: The conditional probabilities are calculated as follows:


No. of records with F1 = Slow and class label c1
P ((F1 = Slow)∣c1 ) =
No. of records with class label c1
= 2/5.

Step 3. We now calculate the following numbers:

q1 = P (x1 ∣c1 )P (x2 ∣c1 )P (x3 ∣c1 )P (c1 )


= (2/5) × (1/5) × (3/5) × (5/12)
= 0.02
q2 = P (x1 ∣c2 )P (x2 ∣c2 )P (x3 ∣c2 )P (c2 )
= (0/4) × (0/4) × (3/4) × (4/12)
=0
q3 = P (x1 ∣c3 )P (x2 ∣c3 )P (x3 ∣c3 )P (c3 )
= (2/3) × (0/3) × (3/3) × (3/12)
=0

Step 4. Now
max{q1 , q2 , q3 } = 0.05.

Step 5. The maximum is q1 an it corresponds to the class label

c1 = “ Animal”.

So we assign the class label “Animal” to the test instance “(Slow, Rarely, No)”.

6.4 Using numeric features with naive Bayes algorithm


The naive Bayes algorithm can be applied to a data set only if the features are categorical. This is
so because, the various probabilities are computed using the various frequencies and the frequencies
can be counted only if each feature has a limited set of values.
If a feature is numeric, it has to be discretized before applying the algorithm. The discretization
is effected by putting the numeric values into categories known as bins. Because of this discretization
is also known as binning. This is ideal when there are large amounts of data.
There are several different ways to discretize a numeric feature.
1. If there are natural categories or cut points in the distribution of values, use these cut points to
create the bins. For example, let the data consists of records of times when certain activities
were carried out. The the categories, or bins, may be created as in Figure 6.3.
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 68

Figure 6.3: Discretization of numeric data: Example

2. If there are no obvious cut points, we may discretize the feature using quantiles. We may
divide the data into three bins with tertiles, four bins with quartiles, or five bins with quintiles,
etc.

6.5 Maximum likelihood estimation (ML estimation)


To develop a Bayesian classifier, we need the probabilities P (x∣ck ) for the class labels c1 , . . . , ck .
These probabilities are estimated from the given data. There is need to know whether the sample
is truly random so that the computed probabilities are good approximations to true probabilities. If
they are good approximations of true probabilities, then there would be an underlying probability
distribution. Suppose we have reasons to believe that the underlying distribution has a particular
form, say binomial, Poisson or normal. These forms are defined by probability functions or proba-
bility density functions. There are parameters which define these functions, and these parameters are
to be estimated to test whether a given data follow some particular distribution. Maximum likelihood
estimation is particular method to estimate the parameters of a probability distribution.

Definition
Maximum likelihood estimation (MLE) is a method of estimating the parameters of a statistical
model, given observations. MLE attempts to find the parameter values that maximize the likelihood
function, given the observations. The resulting estimate is called a maximum likelihood estimate,
which is also abbreviated as MLE.

6.5.1 The general MLE method


Suppose we have a random sample X = {x1 , . . . , xn } taken from a probability distribution having
the probability mass function or probability density function p(x∣θ) where x denotes a value of the
random variable and θ denotes the set of parameters that appear in the function.
The likelihood of sample X is a function of the parameter θ and is defined as

l(θ) = p(x1 ∣θ)p(x2 ∣θ) . . . p(xn ∣θ).

In maximum likelihood estimation, we find the value of θ that makes the value of the likelihood
function maximum. For computation convenience, we define the log likelihood function as the
logarithm of the likelihood function:

L(θ) = log l(θ)


= log p(x1 ∣θ) + log p(x2 ∣θ) + ⋯ + log p(xn ∣θ).
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 69

A value of θ that maximizes L(θ) will also maximise l(θ) and vice-versa. Hence, in maximum like-
lihood estimation, we find θ that maximizes the log likelihood function. Sometimes the maximum
likelihood estimate of θ is denoted by θ̂.

6.5.2 Special cases


1. Bernoulli density
In a Bernoulli distribution there are two outcomes: An event occurs or it does not, for example, an
instance is a positive example of the class, or it is not. The event occurs and the Bernoulli random
variable X takes the value 1 with probability p, and the nonoccurrence of the event has probability
1 − p and this is denoted by X taking the value 0.
The probability function of X is given by
f (x∣p) = px (1 − p)1−x , x = 0, 1.
In this function, the probability p is the only parameter.

Estimation of p
Consider a random sample X = {x1 , . . . , xn } taken from a Bernoulli distribution with the probability
function f (x∣p). The log likelihood function is
L(p) = log f (x1 ∣p) + ⋯ + log f (xn ∣p)
= log px1 (1 − p)1−x1 + ⋯ + log pxn (1 − p)1−xn
= [x1 log p + (1 − x1 ) log(1 − p)] + ⋯ + [xn log p + (1 − xn ) log(1 − p)]
To find the value of p that maximizes L(p) we set up the equation
dL
= 0,
dp
that is,
x1 1 − x1 xn 1 − xn
[ − ]+⋯+[ − ] = 0.
p 1−p p 1−p
Solving this equation, we have the maximum likelihood estimate of p as
1
p̂ = (x1 + ⋯ + xn ).
n

2. Multinomial density
Suppose that the outcome of a random event is one of K classes, each of which has a probability of
occurring pi with
p1 + ⋯ + pK = 1.
We represent each outcome by an ordered K-tuple x = (x1 , . . . , xK ) where exactly one of x1 , . . . , xK
is 1 and all others are 0. xi = 1 if the outcome in the i-th class occurs. The probability function can
be expressed as
f (x∣p, . . . , pK ) = px1 1 . . . pxKK .
Here, p1 , . . . , pK are the parameters.
We choose n random samples. The i-the sample may be represented by
xi = (x1i , . . . , xKi ).
The values of the parameters that maximizes the likelihood function can be shown to be
1
p̂k = (xk1 + xk2 + ⋯ + xkn ).
n
(We leave the details of the derivation as an exercise.)
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 70

3. Gaussian (normal) density


A continuous random variable X has the Gaussian or normal distribution if its density function is

1 (x − µ)2
f (x∣µ, σ) = √ exp (− ), −∞ < x < ∞.
σ 2π 2σ 2

Here µ and σ are the parameters.


Given a sample x1 , x2 , . . . , xn from the distribution. the log likelihood function is
n 1
L(µ, σ) = − log(2π) − n log σ − 2 [(x1 − µ)2 + ⋯ + (xn − µ)2 ] .
2 2σ
Setting up the equations
dL dL
= 0, =0
dµ dσ
and solving for µ and σ we get the maximum likelihood estimates of µ and σ as
1
µ̂ = (x1 + ⋯ + xn )
n
1
σ̂ 2 = ((x1 − µ̂)2 + ⋯ + (xn − µ̂)2 )
n
(We leave the details of the derivation as an exercise.)

6.6 Sample questions


(a) Short answer questions
1. What are the assumptions under the naive Bayes algorithm?

2. Why is naive Bayes algorithm “naive”?


3. Given an instance X of a feature vector and a class label ck , explain how Bayes theorem is
used to compute the probability P (ck ∣ X).
4. What does a naive Bayes classifier do?

5. What is naive Bayes used for?


6. Is naive Bayes supervised or unsupervised? Why?
7. What is meant by the likelihood of a random sample taken from population?
8. How do we use numeric features in naive Bayes algorithm?

(b) Long answer questions


1. State Bayes theorem and illustrate it with an example.
2. Explain naive Bayes algorithm.
3. Use naive Bayes algorithm to determine whether a red domestic SUV car is a stolen car or not
using the following data:
CHAPTER 6. BAYESIAN CLASSIFIER AND ML ESTIMATION 71

Example no. Colour Type Origin Whether stolen


1 red sports domestic yes
2 red sports domestic no
3 red sports domestic yes
4 yellow sports domestic no
5 yellow sports imported yes
6 yellow SUV imported no
7 yellow SUV imported yes
8 yellow SUV domestic no
9 red SUV imported no
10 red sports imported yes

4. Based on the following data determine the gender of a person having height 6 ft., weight 130
lbs. and foot size 8 in. (use naive Bayes algorithm).

person height (feet) weight (lbs) foot size (inches)


male 6.00 180 10
male 6.00 180 10
male 5.50 170 8
male 6.00 170 10
female 5.00 130 8
female 5.50 150 6
female 5.00 130 6
female 6.00 150 8

5. Given the following data on a certain set of patients seen by a doctor, can the doctor conclude
that a person having chills, fever, mild headache and without running nose has the flu?

chills running nose headache fever has flu


Y N mild Y N
Y Y no N Y
Y N strong Y Y
N Y mild Y Y
N N no N N
N Y strong Y Y
N Y strong N N
Y Y mild Y Y

6. Explain the general MLE method for estimating the parameters of a probability distribution.

7. Find the ML estimate for the parameter p in the binomial distribution whose probability func-
tion is
n
f (x) = ( )px (1 − p)n−x , x = 0, 1, 2, . . . , n
x
8. Compute the ML estimate for the parameter λ in the Poisson distribution whose probability
function is
λx
f (x) = e−λ , x = 0, 1, 2, . . .
x!
Find the ML estimate of the parameter p in the geometric distribution defined by the proba-
bility mass function
f (x) = (1 − p)px , x = 1, 2, 3, . . .
Chapter 7

Regression

We have seen in Section 1.5.3 that regression is a supervised learning problem where there is an
input x an output y and the task is to learn the mapping from the input to the output. We have also
seen that the approach in machine learning is that we assume a model, that is, a relation between x
and y containing a set of parameters, say, θ in the following form:

y = g(x, θ).

g(x, θ) is the regression function. The machine learning program optimizes the parameters θ such
that the approximation error is minimized, that is, our estimates are as close as possible to the correct
values given in the training set. In this chapter we discuss a method, known as ordinary least squares
method, to estimate the parameters. In fact this method can be derived from the maximum likelihood
estimation method discussed in Section 6.5.

7.1 Definition
A regression problem is the problem of determining a relation between one or more independent
variables and an output variable which is a real continuous variable, given a set of observed values
of the set of independent variables and the corresponding values of the output variable.

7.1.1 Examples
1. Let us say we want to have a system that can predict the price of a used car. Inputs are the
car attributes âĂŤ brand, year, engine capacity, mileage, and other information âĂŤ that we
believe affect a car’s worth. The output is the price of the car.
2. Consider the navigation of a mobile robot, say an autonomous car. The output is the angle by
which the steering wheel should be turned at each time, to advance without hitting obstacles
and deviating from the route. Inputs are provided by sensors on the car like a video camera,
GPS, and so forth.
3. In finance, the capital asset pricing model uses regression for analyzing and quantifying the
systematic risk of an investment.
4. In economics, regression is the predominant empirical tool. For example, it is used to predict
consumption spending, inventory investment, purchases of a country’s exports, spending on
imports, labor demand, and labor supply.

7.1.2 Different regression models


The different regression models are defined based on type of functions used to represent the relation
between the dependent variable y and the independent variables.

72
CHAPTER 7. REGRESSION 73

1. Simple linear regression


Assume that there is only one independent variable x. If the relation between x and y is
modeled by the relation
y = a + bx
then we have a simple linear regression.
2. Multiple regression
Let there be more than one independent variable, say x1 , x2 , . . ., xn , and let the relation
between y and the independent variables be modeled as

y = α0 + α1 x1 + ⋯ + αn xn

then it is case of multiple linear regression or multiple regression.


3. Polynomial regression
Let there be only one variable x and let the relation between x y be modeled as

y = a0 + a1 x + a2 x2 + ⋯ + an xn

for some positive integer n > 1, then we have a polynomial regression.


4. Logistic regression
Logistic regression is used when the dependent variable is binary (0/1, True/False, Yes/No)
in nature. Even though the output is a binary variable, what is being sought is a probability
function which may take any value from 0 to 1.

7.2 Criterion for minimisation of error


In regression, we would like to write the numeric output y, called the dependent variable, as a
function of the input x, called the independent variable. We assume that the output is the sum of a
function f (x) of the input and some random error denoted by :

y = f (x) + .

Here the function f (x) is unknown and we would like to approximate it by some estimator g(x, θ)
containing a set of parameters θ. We assume that the random error  follows normal distribution
with mean 0.
Let x1 , . . . , xn be a random sample of observations of the input variable x and y1 , . . . , yn the
corresponding observed values of the output variable y.
Using the assumption that the error  follows normal distribution, we can apply the method of
maximum likelihood estimation to estimate the values of the parameter θ. It can be shown that the
values of θ which maximizes the likelihood function are the values of θ that minimizes the following
sum of squares:
E(θ) = (y1 − g(x1 , θ))2 + ⋯ + (yn − g(xn , θ))2 .
The method of finding the value of θ as that value of θ that minimizes E(θ) is known as the ordinary
least squares method.
The full details of the derivation of the above result are beyond the scope of these notes.
CHAPTER 7. REGRESSION 74

x x1 x2 ⋯ xn
y y1 y2 ⋯ yn

Table 7.1: Data set for simple linear regression

Regression model
Error

Actual value

Predicted value

Figure 7.1: Errors in observed values

7.3 Simple linear regression


Let x be the independent predictor variable and y the dependent variable. Assume that we have a set
of observed values of x and y:
A simple linear regression model defines the relationship between x and y using a line defined
by an equation in the following form:
y = α + βx
In order to determine the optimal estimates of α and β, an estimation method known as Ordinary
Least Squares (OLS) is used.

The OLS method


In the OLS method, the values of y-intercept and slope are chosen such that they minimize the sum
of the squared errors; that is, the sum of the squares of the vertical distance between the predicted
y-value and the actual y-value (see Figure 7.1). Let yˆi be the predicted value of yi . Then the sum of
squares of errors is given by
n
E = ∑(yi − yˆi )2
i=1
n
= ∑[yi − (α + βxi )]2
i=1

So we are required to find the values of α and β such that E is minimum. Using methods of calculus,
we can show that the values of a and b, which are respectively the values of α and β for which E is
minimum, can be obtained by solving the following equations.
n n
∑ yi = na + b ∑ xi
i=1 i=1
CHAPTER 7. REGRESSION 75

n n n
∑ xi yi = a ∑ xi + b ∑ xi
2
i=1 i=1 i=1

Formulas to find a and b


Recall that the means of x and y are given by
1
x̄ = ∑ xi
n
1
ȳ = ∑ yi
n
and also that the variance of x is given by
1
Var (x) = ∑(xi − x̄i ) .
2
n−1
The covariance of x and y, denoted by Cov(x, y) is defined as
1
Cov(x, y) = ∑(xi − x̄)(yi − ȳ)
n−1
It can be shown that the values of a and b can be computed using the following formulas:

Cov (x, y)
b=
Var (x)
a = ȳ − bx̄

Remarks
It is interesting to note why the least squares method discussed above is christened as “ordinary”
least squares method. Several different variants of the least squares method have been developed
over the years. For example, in the weighted least squares method, the coefficients a and b are
estimated such that the weighted sum of squares of errors
n
E = ∑ wi [yi − (a + bxi )]2 ,
i=1

for some positive constants w1 , . . . , wn , is minimum. There are also methods known by the names
generalised least squares method, partial least squares method, total least squares method, etc. The
reader may refer to Wikipedia, a free online encyclopedia, to obtain further information about these
methods.
The OLS method has a long history. The method is usually credited to Carl Friedrich Gauss
(1795), but it was first published by Adrien-Marie Legendre (1805).

Example
Obtain a linear regression for the data in Table 7.2 assuming that y is the independent variable.

x 1.0 2.0 3.0 4.0 5.0


y 1.00 2.00 1.30 3.75 2.25

Table 7.2: Example data for simple linear regression


CHAPTER 7. REGRESSION 76

Figure 7.2: Regression model for Table 7.2

Solution
In the usual notations of simple linear regression, we have

n=5
1
x̄ = (1.0 + 2.0 + 3.0 + 4.0 + 5.0)
5
= 3.0
1
ȳ = (1.00 + 2.00 + 1.30 + 3.75 + 2.25)
5
= 2.06
1
Cov (x, y) = [(1.0 − 3.0)(1.00 − 2.06) + ⋯ + (5.0 − 3.0)(2.25 − 2.06)]
4
= 1.0625
1
Var (x) = [(1.0 − 3.0)2 + ⋯ + (5.0 − 3.0)2 ]
4
= 2.5
1.0625
b=
2.5
= 0.425
a = 2.06 − 0.425 × 3.0
= 0.785

Therefore, the linear regression model for the data is

y = 0.785 + 0.425x. (7.1)

Remark
Figure 7.2 in page 76 shows the data in Table 7.2 and the line given by Eq. (7.1). The figure was
created using R.
CHAPTER 7. REGRESSION 77

7.4 Polynomial regression


Let x be the independent predictor variable and y the dependent variable. Assume that we have a set
of observed values of x and y as in Table 7.1 in page 74.
A polynomial regression model defines the relationship between x and y by an equation in the
following form:
y = α0 + α1 x + α2 x2 + ⋯ + αk xk .
To determine the optimal values of the parameters α0 , α1 , . . ., αk the method of ordinary least
squares is used. The values of the parameters are those values which minimizes the sum of squares:
n
E = ∑[yi − (α0 + α1 xi + α2 x2i + ⋯ + αk xki )]2 .
i=1

The optimal values of the parameters are obtained by solving the following system of equations:

∂E
= 0, i = 0, 1, . . . , k. (7.2)
∂αi
Let the values of values of the parameters which minimizes E be

αi = ai , i = 0, 1, 2, . . . , n. (7.3)

Simplifying Eq. (7.2) and using Eq. (7.3), we can see that the values of ai can be obtained by
solving the the following system of (k + 1) linear equations:

∑ yi = α0 n + α1 (∑ xi ) + ⋯ + αk (∑ xi )
k

∑ yi xi = α0 (∑ xi ) + α1 (∑ xi ) + ⋯ + αk (∑ xi )
2 k+1

2
∑ yi xi = α0 (∑ x2i ) + α1 (∑ x3i ) + ⋯ + αk (∑ xk+2
i )

k
∑ yi xi = α0 (∑ xki ) + α1 (∑ xk+1
i ) + ⋯ + αk (∑ x2k
i )

Solving this system of linear equations we get the optimal values for the parameters.

Remarks
The linear system of equations to find ai ’s, has a compact matrix representation. We write:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢1 x1 x21 ⋯ xk1 ⎥ ⎢ y1 ⎥ ⎢a0 ⎥
⎢ k⎥ ⎢ ⎥ ⎢ ⎥
⎢1 x2 x22 ⋯ x2 ⎥⎥ ⎢y ⎥ ⎢a ⎥
D = ⎢⎢ ⎥, y⃗ = ⎢⎢ 2 ⎥⎥ , ⃗ = ⎢⎢ 1 ⎥⎥
a
⎢⋮ ⎥ ⎢ ⋮ ⎥ ⎢⋮ ⎥
⎢ k⎥ ⎢y ⎥ ⎢a ⎥
⎢1 xn x2n ⋯ xn ⎥ ⎢ n⎥ ⎢ k⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Then we have
⃗ = (DT D)−1 DT y⃗,
a
where the superscript T denotes the transpose of the matrix.

7.4.1 Example
Find a quadratic regression model for the following data:
x 3 4 5 6 7
y 2.5 3.2 3.8 6.5 11.5
CHAPTER 7. REGRESSION 78

Figure 7.3: Plot of quadratic polynomial model

Solution
Let the quadratic regression model be
y = α0 + α1 x + α2 x2 .
The values of α0 , α1 and α2 which minimises the sum of squares of errors are a0 , a1 and a2 which
satisfy the following system of equations:

∑ yi = na0 + a1 (∑ xi ) + a2 (∑ xi )
2

∑ yi xi = a0 (∑ xi ) + a1 (∑ xi ) + a2 (∑ xi )
2 3

∑ yi xi = a0 (∑ xi ) + a1 (∑ xi ) + a2 (∑ xi )
2 2 3 4

Using the given data we have


27.5 = 5a0 + 25a1 + 135a2
158.8 = 25a0 + 135a1 + 775a2
966.2 = 135a0 + 775a1 + 4659a2
Solving this system of equations we get
a0 = 12.4285714
a1 = −5.5128571
a2 = 0.7642857
The required quadratic polynomial model is
y = 12.4285714 − 5.5128571x + 0.7642857x2 .
Figure 7.3 shows plots of the data and the quadratic polynomial model.

7.5 Multiple linear regression


We assume that there are N independent variables x1 , x2 , ⋯, xN . Let the dependent variable be y.
Let there also be n observed values of these variables:
CHAPTER 7. REGRESSION 79

Variables Values (examples)


(features) Example 1 Example 2 ⋯ Example n
x1 x11 x12 ⋯ x1n
x2 x21 x22 ⋯ x2n

xN xN 1 xN 2 ⋯ xN n
y (outcomes) y1 y2 ⋯ yn

Table 7.3: Data for multiple linear regression

The multiple linear regression model defines the relationship between the N independent vari-
ables and the dependent variable by an equation of the following form:

y = β0 + β1 x 1 + ⋯ + βN x N

As in simple linear regression, here also we use the ordinary least squares method to obtain the
optimal estimates of β0 , β1 , ⋯, βN . The method yields the following procedure for the computation
of these optimal estimates. Let
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢1 x11 x21 ⋯ xN 1 ⎥⎥ ⎢ y1 ⎥ ⎢ β0 ⎥
⎢ ⎢ ⎥ ⎢ ⎥
⎢1 x12 x22 ⋯ xN 2 ⎥⎥ ⎢y ⎥ ⎢β ⎥
X = ⎢⎢ ⎥, Y = ⎢⎢ 2 ⎥⎥ , B = ⎢⎢ 1 ⎥⎥
⎢⋮ ⎥ ⎢ ⋮ ⎥ ⎢ ⋮ ⎥
⎢1 ⋯ xN n ⎥⎥ ⎢y ⎥ ⎢β ⎥
⎢ x1n x2n ⎢ n⎥ ⎢ N⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Then it can be shown that the regression coefficients are given by

B = (X T X)−1 X T Y

7.5.1 Example
Example
Fit a multiple linear regression model to the following data:

x1 1 1 2 0
x2 1 2 2 1
y 3.25 6.5 3.5 5.0

Table 7.4: Example data for multi-linear regression

Solution
In this problem, there are two independent variables andfour sets of values of the variables. Thus,
in the notations used above, we have n = 2 and N = 4. The multiple linear regression model for this
problem has the form
y = β0 + β1 x 1 + β2 x 2 .
The computations are shown below.
⎡ ⎤ ⎡ ⎤
⎢1 1 1⎥⎥ ⎢3.25⎥ ⎡β ⎤
⎢ ⎢ ⎥ ⎢ 0⎥
⎢1 1 2⎥⎥ ⎢ 6.5 ⎥ ⎢ ⎥
X = ⎢⎢ Y = ⎢⎢ ⎥, B = ⎢β1 ⎥
2⎥⎥ ⎥
,
⎢1 2 ⎢ 3.5 ⎥ ⎢ ⎥
⎢1 ⎥ ⎢ 5.0 ⎥ ⎢β2 ⎥
⎢ 0 1⎥ ⎢ ⎥ ⎣ ⎦
⎣ ⎦ ⎣ ⎦
CHAPTER 7. REGRESSION 80

⎡4 4 6 ⎤
⎢ ⎥
⎢ ⎥
X X = ⎢4 6 7 ⎥
T
⎢ ⎥
⎢6 7 10⎥
⎣ ⎦
⎡ 11 1
−2⎤⎥
⎢ 4
⎢ 1 2 ⎥
(X X) = ⎢ 2
T −1
1 −1⎥
⎢ ⎥
⎢ −2 −1 2⎥⎦

B = (X T X)−1 X T Y
⎡ 2.0625⎤
⎢ ⎥
⎢ ⎥
= ⎢−2.3750⎥
⎢ ⎥
⎢ 3.2500⎥
⎣ ⎦
The required model is
y = 2.0625 − 2.3750x1 + 3.2500x2 .

(1,2,6.25)
(0,1,5.0)

(1,1,3.25)
(2,2,3.25)

x2
x1

y = 2.0625 − 2.3750x1 + 3.2500x2

Figure 7.4: The regression plane for the data in Table 7.4

7.6 Sample questions


(a) Short answer questions
1. What are the different types of regression.
2. Is regression a supervised learning? Why?
3. Explain the ordinary least squares method for regression.
4. What are linear, multinomial and polynomial regressions.
5. If model used for regression is
y = a + b(x − 1)2 ,
is it a multinomial regression? If not, what type of regression is it?
6. What does the line of regression tell you?
CHAPTER 7. REGRESSION 81

(b) Long answer questions


1. Discuss linear regression with an example.
2. In the table below, the xi row shows scores in an aptitude test. Similarly, the yi row shows
statistics grades. If a student made an 80 on the aptitude test, what grade would we expect her
to make in statistics?

Student i 1 2 3 4 5
xi 95 85 80 70 60
yi 85 95 70 65 70

3. Use the following data to construct a linear regression model for the auto insurance premium
as a function of driving experience.

Driving experience (in years) 5 2 12 9 15 6 25 16


Monthly auto insurance premium ($) 64 87 50 71 44 56 42 60

4. Determine the regression equation by finding the regression slope coefficient and the intercept
value using the following data.

x 55 60 65 70 80
y 52 54 56 58 62

5. The following table contains measurements of yield from an experiment done at five different
temperature levels. The variables are y = yield and x = temperature in degrees Fahrenheit.
Compute a second degree polynomial regression model to predict the yield given the temper-
ature.

Temperature (x) Yield (y)


50 3.0
70 2.7
80 2.6
90 2.9
100 3.3

6. An experiment was done to assess how moisture content and sweetness of a pastry product
affect a tasterâĂŹs rating of the product. The following table summarises the findings.

Rating Moisture Sweetness


64 4 2
73 4 4
61 4 2
76 4 4
72 6 2
80 6 4
71 6 2
83 6 4
83 8 2
89 8 4
86 8 2
93 8 4
88 10 2
95 10 4
94 10 2
100 10 4
CHAPTER 7. REGRESSION 82

Compute a linear regression model to predict the rating of the pastry product.
7. The following data contains the Performance IQ scores (PIQ) (in appropriate scales), brain
sizes (in standard units), heights (in inches) and weights (in pounds) of 15 American college
students. Obtain a linear regression model to predict the PIQ given the values of the other
features.

PIQ Brain Height Weight


124 81.69 64.5 118
150 103.84 73.3 143
128 96.54 68.8 172
134 95.15 65.0 147
110 92.88 69.0 146
131 99.13 64.5 138
98 85.43 66.0 175
84 90.49 66.3 134
147 95.55 68.8 172
124 83.39 64.5 118
128 107.95 70.0 151
124 92.41 69.0 155
147 85.65 70.5 155
90 87.89 66.0 146
96 86.54 68.0 135

8. Use the following data to generate a linear regression model for annual salary as function of
GPA and number of months worked.

Example no. Annual salary ($) GPA Months worked


1 20000 2.8 48
2 24500 3.4 24
3 23000 3.2 24
4 25000 3.8 24
5 20000 3.2 48
6 22500 3.4 36
7 27500 4.0 24
8 19000 2.6 48
9 24000 3.2 36
10 28500 3.8 12
Chapter 8

Decision trees

“Decision tree learning is a method for approximating discrete valued target functions, in which the
learned function is represented by a decision tree. Decision tree learning is one of the most widely
used and practical methods for inductive inference.” ([4] p.52)

8.1 Decision tree: Example


Consider the following situation. Somebody is hunting for a job. At the very beginning, he decides
that he will consider only those jobs for which the monthly salary is at least Rs.50,000. Our job
hunter does not like spending much time traveling to place of work. He is comfortable only if the
commuting time is less than one hour. Also, he expects the company to arrange for a free coffee
every morning! The decisions to be made before deciding to accept or reject a job offer can be
schematically represented as in Figure 8.6. This figure represents a decision tree1 .

Root node
Salary ≥ Rs.50000?

Yes No

Commute one hour? Decline offer

Yes No

Decline offer Offers free coffee?


Yes No

Accept offer Decline offer

Figure 8.1: Example for a decision tree

Here, the term “tree” refers to the concept of a tree in graph theory in mathematics2 . In graph
theory, a tree is defined as an undirected graph in which any two vertices are connected by exactly
one path. Using the conventions of graph theory, the decision tree shown in Figure 8.6 can be
represented as a graph-theoretical tree as in Figure 8.2. Since a decision tree is a graph-theoretical
tree, all terminology related to graph-theoretical trees can be applied to describe decision trees also.
For example, in Figure 8.6, the nodes or vertices shown as ellipses are called the leaf nodes. All
other nodes, except the root node, are called the internal nodes.
1 In such diagrams, the “tree” is shown upside down with the root node at the top and all the leaves at the bottom.
2 The term “tree” was coined in 1857 by the British mathematician Arthur Cayley (see Wikipedia).

83
CHAPTER 8. DECISION TREES 84

Root node

Yes No

Yes No

Yes No

Figure 8.2: The graph-theoretical representation of the decision tree in Figure 8.6

8.2 Two types of decision trees


There are two types of decision trees.
1. Classification trees
Tree models where the target variable can take a discrete set of values are called classification
trees. In these tree structures, leaves represent class labels and branches represent conjunc-
tions of features that lead to those class labels.
2. Regression trees
Decision trees where the target variable can take continuous values (real numbers) like the
price of a house, or a patient’s length of stay in a hospital, are called regression trees.

8.3 Classification trees


We illustrate the concept with an example.

8.3.1 Example
Data

Features
Nam Class label
aquatic aerial
gives birth has legs
animal animal
human yes no no yes mammal
python no no no no reptile
salmon no yes no no fish
frog no semi no yes amphibian
bat yes no yes yes bird
pigeon no no yes yes bird
cat yes no no yes mammal
shark yes yes no no fish
turtle no semi no yes amphibian
salamander no semi no yes amphibian

Table 8.1: The vertebrate data set


CHAPTER 8. DECISION TREES 85

Consider the data given in Table 8.1 which specify the features of certain vertebrates and the class
to which they belong. For each species, four features have been identified: “gives birth”, ”aquatic
animal”, “aerial animal” and “has legs”. There are five class labels, namely, “amphibian”, “bird”,
“fish”, “mammal” and “reptile”. The problem is how to use this data to identify the class of a newly
discovered vertebrate.

Construction of the tree


Step 1
We split the set of examples given in Table 8.1 into disjoint subsets according to the values of the
feature “gives birth”. Since there are only two possible values for this feature, we have only two
subsets: One subset consisting of those examples for which the value of “gives birth” is “yes” and
one subset for which the value is “no”. The former is given in Table 8.2 and the latter in Table 8.3.
This stage of the classification can be represented as in Figure 8.3.

Name Gives Aquatic Aerial Has legs Class la-


birth animal animal bel
human yes no no yes mammal
bat yes no yes yes bird
cat yes no no yes mammal
shark yes yes no no fish

Table 8.2: The subset of Table 8.1 with “gives birth” = ”yes"

Name gives birth aquatic aerial has legs Class la-


animal animal bel
python no no no no reptile
salmon no yes no no fish
frog no semi no yes amphibian
pigeon no no yes yes bird
turtle no semi no yes amphibian
salamander no semi no yes amphibian

Table 8.3: The subset of Table 8.1 with “gives birth” = ”no"

Root node
Table 8.1:
gives birth?

Yes No

Table 8.2: Table 8.3:


aquatic? aquatic?

Figure 8.3: Classification tree

Step 2
We now consider the examples in Table 8.2. We split these examples based on the values of the
feature “aquatic animal”. There are three possible values for this feature. However, only two of
CHAPTER 8. DECISION TREES 86

Name gives birth aquatic aerial has legs Class la-


animal animal bel
human yes no no yes mammal
bat yes no yes yes bird
cat yes no no yes mammal

Table 8.5: The vertebrate data set

Root node
Table 8.1:
gives birth?

Yes no

Table 8.2: Table 8.3:


aquatic? aquatic?

yes no

Table 8.5:
Table 8.4
aerial?

yes no

Part of Part of
fish
Table 8.5 Table 8.5

bird mammal

Figure 8.4: Classification tree

these appear in Table 8.2. Accordingly, we need consider only two subsets. These are shown in
Tables 8.4 and 8.5.

Name gives birth aquatic aerial has legs Class la-


animal animal bel
shark yes yes no no fish

Table 8.4: The vertebrate data set

• Table 8.4 contains only one example and hence no further splitting is required. It leads to the
assignment of the class label “fish”.
• The examples in Table 8.5 need to be split into subsets based on the values of “aerial animal”.
It can be seen that these subsets immediately lead to unambiguous assignment of class labels:
The value of “no” leads to “mammal” and the value “yes” leads to ”bird”.

At this stage, the classification tree is as shown in Figure 8.4


CHAPTER 8. DECISION TREES 87

Step 3
Next we consider the examples in Table 8.3 and split them into disjoint subsets based on the values
of “aquatic animal”. We get the examples in Table 8.6 for “yes”, the examples in Table ?? for “no”
and the examples in Table ?? for “semi”. We now split the resulting subsets based on the values of

Name gives birth aquatic aerial has legs Class la-


animal animal bel
salmon no yes no no fish

Table 8.6: The vertebrate data set

Name gives birth aquatic aerial has legs Class la-


animal animal bel
frog no semi no yes amphibian
turtle no semi no yes amphibian
salamander no semi no yes amphibian

Table 8.7: The vertebrate data set

Name gives birth aquatic aerial has legs Class la-


animal animal bel
python no no no no reptile
pigeon no no yes yes bird

Table 8.8: The vertebrate data set

“has legs”, etc. Putting all these together, we get the the diagram in Figure 8.5 as the classification
tree for the data in Table 8.1.

8.3.2 Classification tree in rule format


The classification tree shown in Figure 8.5 can be presented as a set of rules in the form of an
algorithm.

Algorithm for classification of vertebrates

1. if give birth = ”yes” then


2. if aquatic = “yes” then
3. return class = “fish”
4. else
5. if aerial = “yes” then
6. return class = “bird”
7. else
8. return class = “mammal”
9. end if
10. end if
11. else
12. if aquatic = “yes” then
13. return class = “fish”
CHAPTER 8. DECISION TREES 88

Root node
Table 8.1:
gives birth?

yes no

Table 8.2: Table 8.3:


aquatic? aquatic?

yes no yes semi no

Table 8.5: Table 8.8


Table 8.4 Table 8.6 Table 8.7
aerial? aerial?

yes no yes no

Part of Part of amph Part of Part of


fish fish
Table 8.5 Table 8.5 Table 8.8 Table 8.8

bird mammal bird reptile

Figure 8.5: Classification tree

14. end if
15. if aquatic = “semi” then
16. return class = “amphibian”
17. else
18. if aerial = “yes” then
19. return class = “amphibian”
20. else
21. return class = “reptile”
22. end if
23. end if
24. end if

8.3.3 Some remarks


1. On the elements of a classification tree
The various elements in a classification tree are identified as follows.

• Nodes in the classification tree are identified by the feature names of the given data.
• Branches in the tree are identified by the values of features.
• The leaf nodes identified by are the class labels.
CHAPTER 8. DECISION TREES 89

2. On the order in which the features are selected


In the example discussed above, initially we chose the feature “gives birth” to split the data set
into disjoint subsets and then the feature “aquatic animal”, and so on. There was no theoretical
justification for this choice. We could as well have chosen the feature “aquatic animal”, or any other
feature, as the initial feature for splitting the data. The classification tree depends on the order in
which the features are selected for partitioning the data.

3. Stopping criteria
A real-world data will contain much more example record than the example we considered earlier.
In general, there will be a large number of features each feature having several possible values. Thus,
the corresponding classification trees will naturally be more complex. In such cases, it may not be
advisable to construct all branches and leaf nodes of the tree. The following are some of commonly
used criteria for stopping the construction of further nodes and branches.

• All (or nearly all) of the examples at the node have the same class.
• There are no remaining features to distinguish among the examples.
• The tree has grown to a predefined size limit.

8.4 Feature selection measures


If a dataset consists of n attributes then deciding which attribute is to be to placed at the root or at
different levels of the tree as internal nodes is a complicated problem. It is not enough that we just
randomly select any node to be the root. If we do this, it may give us bad results with low accuracy.
The most important problem in implementing the decision tree algorithm is deciding which
features are to be considered as the root node and at each level. Several methods have been developed
to assign numerical values to the various features such that the values reflect the relative importance
of the various features. These are called the feature selection measures. Two of the popular feature
selection measures are information gain and Gini index. These are explained in the next section.

8.5 Entropy
The degree to which a subset of examples contains only a single class is known as purity, and any
subset composed of only a single class is called a pure class. Informally, entropy3 is a measure of
“impurity” in a dataset. Sets with high entropy are very diverse and provide little information about
other items that may also belong in the set, as there is no apparent commonality.
Entropy is measured in bits. If there are only two possible classes, entropy values can range from
0 to 1. For n classes, entropy ranges from 0 to log2 (n). In each case, the minimum value indicates
that the sample is completely homogeneous, while the maximum value indicates that the data are as
diverse as possible, and no group has even a small plurality.

8.5.1 Definition
Consider a segment S of a dataset having c number of class labels. Let pi be the proportion of
examples in S having the i th class label. The entropy of S is defined as
c
Entropy (S) = ∑ −pi log2 (pi ).
i=1

3 From German Entropie “measure of the disorder of a system,” coined in 1865 (on analogy of Energie) by German

physicist Rudolph Clausius (1822-1888), in his work on the laws of thermodynamics, from Greek entropia “a turning toward,”
from en “in” + trope “a turning, a transformation,”
CHAPTER 8. DECISION TREES 90

Figure 8.6: Plot of p vs. Entropy

Remark
In the expression for entropy, the value of 0 × log2 (0) is taken as zero.

Special case
Let the data segment S has only two class labels, say, “yes” and “no”. If p is the proportion of
examples having the label “yes” then the proportion of examples having label “no” will be 1 − p. In
this case, the entropy of S is given by
Entropy (S) = −p log2 (p) − (1 − p) log2 (1 − p).
If we plot the values of graph of Entropy (S) for all possible values of p, we get the diagram shown
in Figure 8.64 .

8.5.2 Examples
Let “xxx” be some class label. We denote by pxxx the proportion of examples with class label “xxx”.
1. Entropy of data in Table 8.1
Let S be the data in Table 8.1. The class labels are ”amphi”, “bird”, ”fish”, ”mammal” and
”reptile”. In S we have the following numbers.

Number of examples with class label “amphi” =3


Number of examples with class label “bird” =2
Number of examples with class label “fish” =2
Number of examples with class label “mammal” =2
Number of examples with class label “reptile” =1
Total number of examples = 10

Therefore, we have:
Entropy (S) = ∑ −pxxx log2 (pxxx )
for all classes “xxx”
4 Plot created using R language.
CHAPTER 8. DECISION TREES 91

= − pamphi log2 (pamphi ) − pbird log2 (pbird )


− pfish log2 (pfish ) − pmammal log2 (pmammal )
− preptile log2 (preptile )
= − (3/10) log2 (3/10) − (2/10) log2 (2/10)
− (2/10) log2 (2/10) − (2/10) log2 (2/10)
− (1/10) log2 (1/10)
= 2.2464

2. Entropy of data in Table 8.2


Consider the segment S of the data in Table 8.1 given in Table 8.2. For quick reference, the
table has been reproduced below:

Name Gives Aquatic Aerial Has legs Class la-


birth animal animal bel
human yes no no yes mammal
bat yes no yes yes bird
cat yes no no yes mammal
shark yes yes no no fish

Three class labels appear in this segment, namely, “bird”, “fish” and “mammal”. We have:

Number of examples with class label “bird” 1


Number of examples with class label “fish” 1
Number of examples with class label “mammal” 2
Total number of examples 4

Therefore we have

Entropy (S) = ∑ −pxxx log2 (pxxx )


for all classes “xxx”
= − pbird log2 (pbird ) − pfish log2 (pfish )
− pmammal log2 (pmammal )
= − (1/4) log2 (1/4) − (1/4) log2 (1/4) − (2/4) log2 (2/4)
= − (1/4) × (−2) − (1/4) × (−2) − (2/4) × (−1)
= 1.5 (8.1)

3. Entropy of data in Table 8.3


Consider the segment S of the data in Table 8.1 given in Table 8.3. For quick reference, the
table has been reproduced below:

Name gives birth aquatic aerial has legs Class la-


animal animal bel
python no no no no reptile
salmon no yes no no fish
frog no semi no yes amphibian
pigeon no no yes yes bird
turtle no semi no yes amphibian
salamander no semi no yes amphibian

Four class labels appear in this segment, namely, “amphi”, “bird”, “fish” and “reptile”. We
have:
CHAPTER 8. DECISION TREES 92

Number of examples with class label “amphi” 3


Number of examples with class label “bird” 1
Number of examples with class label “fish” 1
Number of examples with class label “reptile” 1
Total number of examples 6

Therefore, we have:

Entropy (S) = ∑ −pxxx log2 (pxxx )


for all classes “xxx”
= − pamphi log2 (pamphi ) − pbird log2 (pbird ) − pfish log2 (pfish )
− preptile log2 (preptile )
= − (3/6) log2 (3/6) − (1/6) log2 (1/6) − (1/6) log2 (1/6)
− (1/6) log2 (1/6)
= 1.7925 (8.2)

8.6 Information gain


8.6.1 Definition
Let S be a set of examples, A be a feature (or, an attribute), Sv be the subset of S with A = v,
and Values (A) be the set of all possible values of A. Then the information gain of an attribute A
relative to the set S, denoted by Gain (S, A), is defined as

∣Sv ∣
Gain(S, A) = Entropy(S) − ∑ × Entropy(Sv ).
v∈Values (A) ∣S∣

where ∣S∣ denotes the number of elements in S.

8.6.2 Example 1
Consider the data S given in Table 8.1. We have have already seen that

∣S∣ = 10
Entropy (S) = 2.2464.

We denote the information gain corresponding to the feature “xxx” by Gain (S, xxx).
1. Computation of Gain (S, gives birth)

A1 = gives birth
Values of A1 = {“yes”, “no”}
SA1 =yes = Data in Table 8.2
∣SA1 =yes ∣ = 4
Entropy (SA1 =yes ) = 1.5 (See Eq.(8.1))
SA1 =no = Data in Table 8.3
∣SA1 =no ∣ = 6
Entropy (SA1 =no ) = 1.7925 (See Eq.(8.2))

Now we have
∣Sv ∣
Gain(S, A1 ) = Entropy(S) − ∑ × Entropy(Sv )
v∈Values(A1 ) ∣S∣
CHAPTER 8. DECISION TREES 93

∣SA1 =yes ∣
= Entropy(S) − × Entropy(SA1 =yes )
∣S∣
∣SA1 =no ∣
− × Entropy(SA1 =no )
∣S∣
= 2.2464 − (4/10) × 1.5 − (6/10) × 1.7925
= 0.5709

2. Computation of Gain (S, aquatic)

A2 = aquatic
Values of A2 = {“yes”, “no”, “semi”}
SA2 =yes = See Table 8.1
∣SA2 =yes ∣ = 2
Entropy (SA2 =yes ) = −pfish log2 (pfish )
= −(2/2) log2 (2/2)
=0
SA2 =no = See Table 8.1
∣SA2 =no ∣ = 5
Entropy (SA2 =no ) = −pmammal log2 (pmammal ) − preptile log2 (preptile )
− pbird log2 (pbird )
= −(2/5) × log2 (2/5) − (1/5) × log2 (1/5)
− (2/5) × log2 (2/5)
= 1.5219
SA2 =semi = See Table 8.1
∣SA2 =semi ∣ = 3
Entropy (SA2 =semi ) = −pamphi log2 (pamphi )
= −(3/3) × log2 (3/3)
=0
∣Sv ∣
Gain(S, A2 ) = Entropy(S) − ∑ × Entropy(Sv )
v∈Values(A2 ) ∣S∣

∣SA1 =yes ∣
= Entropy(S) − × Entropy(SA1 =yes )
∣S∣
∣SA1 =no ∣
− × Entropy(SA1 =no )
∣S∣
∣SA1 =semi ∣
− × Entropy(SA1 =semi )
∣S∣
= 2.2464 − (2/10) × 0 − (5/10) × 1.5219 − (3/3) × 0
= 1.48545

3. Computations of Gain (S, aerial animal) and Gain (S, has legs)
These are left as exercises.

8.7 Gini indices


The Gini split index of a data set is another feature selection measure in the construction of classifi-
cation trees. This measure is used in the CART algorithm.
CHAPTER 8. DECISION TREES 94

8.7.1 Gini index


Consider a data set S having r class labels c1 , . . . , cr . Let pi be the proportion of examples having
the class label ci . The Gini index of the data set S, denoted by Gini(S), is defined by
r
Gini(S) = 1 − ∑ p2i .
i=1

Example
Let S be the data in Table 8.1. There are four class labels ”amphi”, “bird”, ”fish”, ”mammal” and
”reptile”. The numbers of examples having these class labels are as follows:
Number of examples with class label “amphi” =3
Number of examples with class label “bird” =2
Number of examples with class label “fish” =2
Number of examples with class label “mammal” =2
Number of examples with class label “reptile” =1
Total number of examples = 10
The Gini index of S is given by
r
Gini(S) = 1 − ∑ p2i
i=1
= 1 − (3/10)2 − (2/10)2 − (2/10)2 − (2/10)2 − (1/10)2
= 0.78

8.7.2 Gini split index


Let S be a set of examples, A be a feature (or, an attribute), Sv be the subset of S with A = v,
and Values (A) be the set of all possible values of A. Then the Gini split index of A relative to S,
denoted by Ginisplit (S, A), is defined as
∣Sv ∣
Ginisplit (S, A) = ∑ × Gini(Sv ).
v∈Values (A) ∣S∣

where ∣S∣ denotes the number of elements in S.

8.8 Gain ratio


The gain ratio is a third feature selection measure in the construction of classification trees.
Let S be a set of examples, A a feature having c different values and let the set of values of A be
denoted by Values(A). We defined the information gain of A relative to S, denoted by Gain(S, A),
by
∣Sv ∣
Gain(S, A) = Entropy(S) − ∑ × Entropy(Sv ).
v∈Values(A) ∣S∣

We now define thesplit information of A relative to S, dented by SplitInformation(S, A), by


c
∣Si ∣ ∣Si ∣
SplitInformation(S, A) = − ∑ log2
i=1 ∣S∣ ∣S∣
where S1 , . . . Sc are the c subsets of examples resulting from partitioning S into the c values of the
attribute A. The gain ratio of A relative to S, denoted by GainRatio(S, A), by
Gain(S,A)
GainRatio(S, A) = .
SplitInformation(S, A)
CHAPTER 8. DECISION TREES 95

8.8.1 Example
Consider the data S given in Table 8.1. Let A denote the attribute “gives birth”.We have have already
seen that

∣S∣ = 10
Entropy (S) = 2.2464
Gain(S, A) = 0.5709

Now we have
∣Syes ∣ ∣Syes ∣ ∣Sno ∣ ∣Sno ∣
SplitInformation(S, A) = − log2 − log2
∣S∣ ∣S∣ ∣S∣ ∣S∣
4 4 6 6
= − × log2 − × log2
10 10 10 10
= 0.9710
0.5709
GainRatio =
0.9710
= 0.5880

In a similar way we can compute the gain ratios Gain(S, “aquatic”), Gain(S, “aerial”) and Gain(S, “has legs”).

8.9 Decision tree algorithms


8.9.1 Outline

Decision tree algorithm: Outline

1. Place the “best” feature (or, attribute) of the dataset at the root of the tree.
2. Split the training set into subsets. Subsets should be made in such a way that each subset
contains data with the same value for a feature.
3. Repeat Step 1 and Step 2 on each subset until we find leaf nodes in all the branches of the tree.

8.9.2 Some well-known decision tree algorithms


1. ID3 (Iterative Dichotomiser 3) developed by Ross Quinlan
2. C4.5 developed by Ross Quinlan

3. C5.0 developed by Ross Quinlan


4. CART (Classification And Regression Trees)
5. 1R (One Rule) developed by Robert Holte in 1993.
6. RIPPER (Repeated Incremental Pruning to Produce Error Reduction) Introduced in 1995 by
William W. Cohen.

As an example of decision tree algorithms, we discuss the details of the ID3 algorithm and illustrate
it with an example.
CHAPTER 8. DECISION TREES 96

8.10 The ID3 algorithm


Ross Quinlan, while working at University of Sydney, developed the ID3 (Iterative Dichotomiser
3)5 algorithm and published it in 1975.

Assumptions
• The algorithm uses information gain to select the most useful attribute for classification.
• We assume that there are only two class labels, namely, “+” and “−”. The examples with class
labels “+” are called positive examples and others negative examples.

8.10.1 The algorithm


Notations
The following notations are used in the algorithm:
S The set of examples
C The set of class labels
F The set of features
A An arbitrary feature (attribute)
Values(A) The set of values of the feature A
v An arbitrary value of A
Sv The set of examples with A = v
Root The root node of a tree

Algorithm ID3(S, F , C)
1. Create a root node for the tree.
2. if (all examples in S are positive) then
3. return single node tree Root with label “+”
4. end if
5. if (all examples are negative) then
6. return single node tree Root with label “–”
7. end if
8. if (number of features is 0) then
9. return single node tree Root with label equal to the most common class label.
10. else
11. Let A be the feature in F with the highest information gain.
12. Assign A to the Root node in decision tree.
13. for all (values v of A) do
14. Add a new tree branch below Root corresponding to v.
15. if (Sv is empty) then
16. Below this branch add a leaf node with label equal to the most common class
label in the set S.
17. else
18. Below this branch add the subtree formed by applying the same algorithm ID3
with the values ID3(Sv , C, F − {A}).
19. end if
20. end for
21. end if

5 dichotomy: A division into two parts or classifications especially when they are sharply distinguished or opposed
CHAPTER 8. DECISION TREES 97

8.10.2 Example
Problem
Use ID3 algorithm to construct a decision tree for the data in Table 8.9.

Day outlook temperature humidity wind playtennis


D1 sunny hot high weak no
D2 sunny hot high strong no
D3 overcast hot high weak yes
D4 rain mild high weak yes
D5 rain cool normal weak yes
D6 rain cool normal strong no
D7 overcast cool normal strong yes
D8 sunny mild high weak no
D9 sunny cool normal weak yes
D10 rain mild normal weak yes
D11 sunny mild normal strong yes
D12 overcast mild high strong yes
D13 overcast hot normal weak yes
D14 rain mild high strong no

Table 8.9: Training examples for the target concept “PlayTennis”

Solution
Note that, in the given data, there are four features but only two class labels (or, target variables),
namely, “yes” and “no”.

Step 1
We first create a root node for the tree (see Figure 8.7).

Root node
Table 8.9

Figure 8.7: Root node of the decision tree for data in Table 8.9

Step 2
Note that not all examples are positive (class label “yes”) and not all examples are negative (class
label “no”). Also the number of features is not zero.

Step 3
We have to decide which feature is to be placed at the root node. For this, we have to calculate the
information gains corresponding to each of the four features. The computations are shown below.
(i) Calculation of Entropy (S)
Entropy (S) = −pyes log2 (pyes ) − pno log2 (pno )
= −(9/14) × log2 (9/14) − (5/14) × log2 (5/14)
= 0.9405
CHAPTER 8. DECISION TREES 98

(ii) Calculation of Gain (S, outlook)


The values of the attribute “outlook” are “sunny”, “ overcast” and “rain”. We have to calculate
Entropy (Sv ) for v = sunny, v = overcast and v = rain.

Entropy (Ssunny ) = −(3/5) × log2 (3/5) − (2/5) × log2 (2/5)


= 0.9710
Entropy (Sovercast ) = −(4/4) × log2 (4/4)
=0
Entropy (Srain ) = −(3/5) × log2 (3/5) − (2/5) × log2 (2/5)
= 0.9710
∣Ssunny ∣
Gain (S, outlook) = Entropy (S) − × Entropy (Ssunny )
∣S∣
∣Sovercast ∣
− × Entropy (Sovercast )
∣S∣
∣Srain ∣
− × Entropy (Srain )
∣S∣
= 0.9405 − (5/14) × 0.9710 − (4/14) × 0
− (5/14) × 0.9710
= 0.2469

(iii) Calculation of Gain (S, temperature)


The values of the attribute “temperature” are “hot”, “mild” and “cool”. We have to calculate
Entropy (Sv ) for v = hot, v = mild and v = cool.

Entropy (Shot ) = −(2/4) × log2 (2/4) − (2/4) × log2 (2/4)


= 1.0000
Entropy (Smild ) = −(4/6) × log2 (4/6) − (2/6) × log2 (2/6)
= 0.9186
Entropy (Scool ) = −(3/4) × log2 (3/4) − (1/4) × log2 (1/4)
= 0.8113
∣Shot ∣
Gain (S, temperature) = Entropy (S) − × Entropy (Shot )
∣S∣
∣Smild ∣
− × Entropy (Smild )
∣S∣
∣Scool ∣
− × Entropy (Scool )
∣S∣
= 0.9405 − (4/14) × 1.0000 − (6/14) × 0.9186
− (4/14) × 0.8113
= 0.0293

(iv) Calculation of Gain (S, humidity) and Gain (S, wind)


The following information gains can be calculated in a similar way:

Gain (S, humidity) = 0.151


Gain (S, wind) = 0.048
CHAPTER 8. DECISION TREES 99

Step 4
We find the highest information gain whic is the maximum among Gain(S, outlook), Gain(S, temperature),
Gain(S, humidity) and Gain(S, wind). Therefore, we have:

highest information gain = max{0.2469, 0.0293, 0.151, 0.048}


= 0.2469

This corresponds to the feature “outlook”. Therefore, we place “outlook” at the root node. We now
split the root node in Figure 8.7 into three branches according to the values of the feature “outlook”
as in Figure 8.8.

Root node
Table 8.9
outlook?

sunny overcast rain

Node 1 Node 2 Node 3

Figure 8.8: Decision tree for data in Table 8.9, after selecting the branching feature at root node

Step 5

Let S (1) = Soutlook=sunny . We have ∣S (1) ∣ = 5. The examples in S (1) are shown in Table 8.10.

Day outlook temperature humidity wind playtennis


D1 sunny hot high weak no
D2 sunny hot high strong no
D8 sunny mild high weak no
D9 sunny cool normal weak yes
D11 sunny mild normal strong yes

Table 8.10: Training examples with outlook = “sunny”

∣Stemp = hot ∣
(1)

, temp) = Entropy(S )− × Entropy(Stemp = hot )


(1) (1) (1)
Gain(S
∣S (1) ∣
∣Stemp = mild ∣
(1)

− × Entropy(Stemp = mild )
(1)
∣S (1) ∣
∣Stemp = cool ∣
(1)

− × Entropy(Stemp = cool )
(1)
∣S (1) ∣
= [−(2/5) log2 (2/5) − (3/5) log2 (3/5)]
− (2/5) × [−(2/2) log(2/2))]
− (2/5) × [−(1/2) log(1/2) − (1/2) log2 (1/2)]
− (1/5) × [−(1/1) log(1/1)]
= 0.5709
CHAPTER 8. DECISION TREES 100

∣Shum = high ∣
(1)

, hum) = Entropy(S )− × Entropy(Shum = high )


(1) (1) (1)
Gain(S
∣S (1) ∣
∣Shum = normal ∣
(1)

− × Entropy(Shum = normal )
(1)
∣S (1) ∣
= [−(2/5) log2 (2/5) − (3/5) log2 (3/5)]
− (3/5) × [−(3/3) log(3/3))]
− (2/5) × [−(2/2) log(2/2)]
= 0.9709
∣Swind = weak ∣
(1)

, wind) = Entropy(S )− × Entropy(Swind = weak )


(1) (1) (1)
Gain(S
∣S (1) ∣
∣Swind = strong ∣
(1)

− × Entropy(Swind = strong )
(1)
∣S (1) ∣
= [−(2/5) log2 (2/5) − (3/5) log2 (3/5)]
− (3/5) × [−(2/3) log(2/3) − (1/3) log2 (1/3))]
− (2/5) × [−(1/2) log(1/2) − (1/2) log(1/2)]
= 0.0110

The maximum of Gain(S (1) , temp), Gain(S (1) , hum) and Gain(S (1) , wind) is Gain(S (1) , hum).
Hence we place “humidity” at Node 1 and split this node into two branches according to the values
of the feature “humidity” to get the tree in Figure 8.9.

Root node
Table 8.9
outlook?
sunny
overcast rain
Node 1:
humidity? Node 2 Node 3

high normal

Node 4 Node 5

Figure 8.9: Decision tree for data in Table 8.9, after selecting the branching feature at Node 1

Step 6
It can be seen that all the examples in the the data set corresponding to Node 4 in Figure 8.9 have
the same class label “no” and all the examples corresponding to Node 5 have the same class label
“yes”. So we represent Node 4 as a leaf node with value “no” and Node 5 as a leaf node with value
“yes”. Similarly, all the examples corresponding to Node 2 have the same class label “yes”. So
we convert Node 2 as a leaf node with value “ yes. Finally, let S (2) = Soutlook = rain . The highest
information gain for this data set is Gain(S (2) , humidity). The branches resulting from splitting this
node corresponding to the values “high” and “normal” of “humidity” lead to leaf nodes with class
labels “no” and ”yes”. With these changes, we get the tree in Figure 8.10.
CHAPTER 8. DECISION TREES 101

Root node
Table 8.9
outlook?
sunny overcast rain

Node 1: yes Node 3:


humidity? humidity?

high normal high normal

no yes no yes

Figure 8.10: Decision tree for data in Table 8.9

8.11 Regression trees


A regression problem is the problem of determining a relation between one or more independent
variables and an output variable which is a real continuous variable and then using the relation
to predict the values of the dependent variables. Regression problems are in general related to
prediction of numerical values of variables. Trees can also be used to make such predictions. A tree
used for making predictions of numerical variables is called a prediction tree or a regression tree.

8.11.1 Example
Using the data in Table 8.11, construct a tree to predict the values of y.

x1 1 3 4 6 10 15 2 7 16 0
x2 12 23 21 10 27 23 35 12 27 17
y 10.1 15.3 11.5 13.9 17.8 23.1 12.7 43.0 17.6 14.9

Table 8.11: Data for regression tree

Solution
We shall construct a raw decision tree (a tree constructed without using any standard algorithm) to
predict the value of y corresponding to any untabulated values of x1 and x2 .
Step 1. We arbitrarily split the values of x1 into two sets: One set defined by x1 < 6 and the other
set defined by x1 ≥ 6. This splits the data into two parts. This yields the tree in Figure ??.

x1 1 3 4 2 0
x2 12 23 21 35 17
y 10.1 15.3 11.5 12.7 14.9

Table 8.12: Data for regression tree

Step 2. In Figure 8.12, consider the node specified by Table 8.12. We arbitrarily split the values
of x2 into two sets: one specified by x2 < 21 and one specified by x2 ≥ 21. Similarly, the
node specified by Table 8.13, we split the values of x2 into sets: one specified by x2 < 23
CHAPTER 8. DECISION TREES 102

x1 6 10 15 7 16
x2 10 27 23 12 27
y 13.9 17.8 23.1 43.0 17.6

Table 8.13: Data for regression tree

x1 < 6 x1 ≥ 6
Tab 8.11

Tab 8.12 Tab 8.13

Figure 8.11: Part of a regression tree for Table 8.11

and one specified by x2 ≥ 23. The split data are given in Table 8.14(a) - (d). This gives us
the tree in Figure 8.12.

x1 < 6 x1 ≥ 6
Tab 8.11

x2 < 21 x2 ≥ 21 x2 < 23 x2 ≥ 23
Tabe 8.12 Tab 8.13

Tab 8.14(a) Tab 8.14(b) Tab 8.14(c) Tab 8.14(d)

Figure 8.12: Part of regression tree for Table 8.11

Step 3. We next make the nodes specified by Table 8.14(a), . . . , Tab 8.14(d) into leaf nodes. In
each of these leaf nodes, we write the average of the values in the corresponding table (this
is a standard procedure). For, example, at Table 8.14(a), we write 12 (10.1 + 14.9) = 12.5.
Then we get Figure 8.13.

x1 1 0 x1 3 4 2
x2 12 17 x2 23 21 35
y 10.1 14.9 y 15.3 11.5 12.7

(a) (b)

x1 6 7 x1 10 15 16
x2 10 12 x2 27 23 27
y 13.9 43.0 y 17.8 23.1 17.6

(c) (d)

Table 8.14: Data for regression tree


CHAPTER 8. DECISION TREES 103

x1 < 6 x1 ≥ 6

x2 < 21 x2 ≥ 21 x2 < 23 x2 ≥ 23

12.5 13.17 28.45 19.5

Figure 8.13: A regression tree for Table 8.11

Step 4. Figure 8.13 is the final raw regression tree for predicting the values of y based on the data
in Table 8.11.

8.11.2 An algorithm for constructing regression trees


Starting with a learning sample, three elements are necessary to determine a regression tree:
1. A way to select a split at every intermediate node

2. A rule for determining when a node is terminal


3. A rule for assigning a value for the output variable to every terminal node

Notations
x1 , x 2 , . . . , x n : The input variables
N : Number of samples in the data set
y1 , y2 , . . . , yN : The values of the output variables
T : A tree
c : A leaf of T
nc : Number of data elements in the leaf c
C : The set of indices of data elements which
are in the leaf c
mc : The mean of the values of y which are in
the leaf c
ST : Sum of squares of errors in T

We have
1
mc = ∑ yi
nc i∈C
ST = ∑ ∑ (yi − mc )
2

c∈leaves(T ) i∈C

Algorithm
Step 1. Start with a single node containing all data points. Calculate mc and ST .
Step 1. If all the points in the node have the same value for all the independent variables, stop.

Step 1. Otherwise, search over all binary splits of all variables for the one which will reduce ST as
much as possible.
CHAPTER 8. DECISION TREES 104

(a) If the largest decrease in ST would be less than some threshold δ, or one of the
resulting nodes would contain less than q points, stop and if c is a node where we
have stopped, then assign the value mc to the node.
(b) Otherwise, take that split, creating two new nodes.

Step 1. In each new node, go back to Step 1.

Remarks
1. We have seen entropy and information defined for discrete variables. We can define them for
continuous variables also. But in the case of regression trees, it is more common to use the
sum of squares. The above algorithm is based on sum of squares of errors.

2. The CART algorithm mentioned below searches every distinct value of every predictor vari-
able to find the predictor variable and split value which will reduce ST as much as possible.
3. In the above algorithm, we have given the simplest criteria for stopping growing of trees.
More sophisticated criteria which produce much less error have been developed.

8.11.3 Example
Consider the data given in Table 8.11.
1. Computation of ST for the entire data set. Initially, there is only one node. So, we have:
1
mc = ∑ yi
nc c∈C
1
= (10.1 + 15.3 + ⋯ + 14.9)
10
= 17.99
ST = ∑ ∑ (yi − mc )
2

c∈leaves(T ) i∈C

= (10.1 − 17.99)2 + (15.3 − 17.99)2 + ⋯ + (14.9 − 17.99)2


= 817.669

2. As suggested in the remarks above, we have to search every distinct value of x1 and x2 to find
the predictor variable and split value which will reduce ST as much as possible.

3. Let us consider the value 6 of x1 . This splits the data set into two parts c1 and c2 . Let c1 be
the part defined by x1 < 6 and c2 the part defined by x1 ≥ 6. S1 is given in Table 8.12 and S2
by Table 8.13.Now
leaves(T ) = {c1 , c2 }.
Let T1 be the tree corresponding to this partition. Then

ST1 = ∑ ∑ (yi − mc )
2

c∈leaves(T1 ) i∈C

= ∑ (yi − mc1 )2 + ∑ (yi − mc2 )2


i∈C1 i∈C2
1
mc1 = ∑ yi
nc1 i∈C1
1
= (10.1 + 15.3 + 11.5 + 12.7 + 14.9)
5
= 12.9
CHAPTER 8. DECISION TREES 105

1
mc2 = ∑ yi
nc2 i∈C2
1
= (13.9 + 17.8 + 23.1 + 43.0 + 17.6)
5
= 23.08
ST1 = [(10.1 − 12.9)2 + ⋯ + (14.9 − 12.9)2 ]+
[(13.9 − 23.08)2 + ⋯ + (17.6 − 23.08)2 ]
= 558.588

The reduction in sum of squares of errors is

ST − ST1 = 817.669 − 558.588 = 259.081.

4. In this way, we have compute the reduction in the sum of squares of errors corresponding to
all other values of x1 and each of the values of x2 and choose the one for which the reduction
is maximum.
5. The process has be continued. (Software package may be required to complete the problem.)

8.12 CART algorithm


We have seen how decision trees can be used to create a model that predicts the value of a target (or
dependent variable) based on the values of several input or independent variables.
The CART, or Classification And Regression Trees methodology, was introduced in 1984 by Leo
Breiman, Jerome Friedman, Richard Olshen and Charles Stone as an umbrella term to refer to the
following types of decision trees:
• Classification trees where the target variable is categorical and the tree is used to identify the
“class” within which a target variable would likely fall into.
• Regression trees where the target variable is continuous and tree is used to predict it’s value.
The main elements of CART are:
• Rules for splitting data at a node based on the value of one variable

• Stopping rules for deciding when a branch is terminal and can be split no more
• A prediction for the target variable in each terminal node

8.13 Other decision tree algorithms


8.13.1 The C4.5 algorithm
The C4.5 algorithm is an algorithm developed by Ross Quinlan as an improvement of the ID3
algorithm. The following are some of the improvements incorporated in C4.5.
• Handling both continuous and discrete attributes

• Handling training data with missing attribute values


• Handling attributes with differing costs
• Pruning trees after creation
CHAPTER 8. DECISION TREES 106

8.13.2 The C5.0 algorithm


The C5.0 algorithm represents a further improvement on the C4.5 algorithm. This was also devel-
oped by Ross Quinlan.
• Speed - C5.0 is significantly faster than C4.5.
• Memory usage - C5.0 is more memory efficient than C4.5.

• C5.0 gets similar results to C4.5 with considerably smaller decision trees.
The C5.0 algorithm is one of the most well-known implementations of the the decision tree
algorithm. The source code for a single-threaded version of the algorithm is publicly available,
and it has been incorporated into programs such as R. The C5.0 algorithm has become the industry
standard to produce decision trees.

8.14 Issues in decision tree learning


In thie next feww sections, we discuss some of the practical issues in learning decision trees.

8.15 Avoiding overfitting of data


When we construct a decision tree, the various branches are grown (that is, sub-branches are con-
structed) just deeply enough to perfectly classify the training examples. This leads to difficulties
when there is noise in the data or when the number of training examples are too small. In these
cases the algorithm can produce trees that overfit the training examples.

Definition
We say that a hypothesis overfits the training examples if some other hypothesis that fits the train-
ing examples less well actually performs better over the entire distribution of instances, including
instances beyond the training set.

Impact of overfitting
Figure 8.14 illustrates the impact of overfitting in a typical decision tree learning. From the figure,
we can see that the accuracy of the tree over training examples increases monotonically whereas the
accuracy measured over independent test samples first increases then decreases.

8.15.1 Approaches to avoiding overfitting


The main approach to avoid overfitting is pruning. Pruning is a technique that reduces the size
of decision trees by removing sections of the tree that provide little power to classify instances.
Pruning reduces the complexity of the final classifier, and hence improves predictive accuracy by
the reduction of overfitting.
• We may apply pruning earlier, that is, before it reaches the point where it perfectly classifies
the training data.
• We may allow the tree to overfit the data, and then post-prune the true.

Now there is the problem of what criterion is to be used to determine the correct final tree
size. One commonly used criterion is to use a separate set of examples, distinct from the training
examples, to evaluate the utility of post-pruning nodes from the tree.
CHAPTER 8. DECISION TREES 107

Figure 8.14: Impact of overfitting in decision tree learning

Case Temperature Headache Nausea Decision (Flue)


1 high ? no yes
2 very high yes no yes
3 ? no no no
4 high yes yes yes
5 high ? yes no
6 normal yes no no
7 normal no yes no
8 ? yes ? yes

Table 8.15: A dataset with missing attribute values

8.15.2 Reduced error pruning


In reduced-error pruning, we consider each of the decision tress to be a candidate for pruning. Prun-
ing a decision node consists of removing the subtree rooted at that node, making it a leaf node, and
assigning it the most common classification of the training examples affiliated to that node. Nodes
are removed only if the resulting pruned tree performs no worse than the original over validation set.
Nodes are pruned iteratively, always choosing the node whose removal most increases the accuracy
over the validation set. Pruning of nodes is continued until further pruning decreases the accuracy
over the validation set.

8.16 Problem of missing attributes


Table 8.15 shows a dataset with missing attribute values. the missing values are indicated by “?”s.
The following are some of the methods used to handle the problem of missing attributes.
• Deleting cases with missing attribute values
• Replacing a missing attribute value by the most common value of that attribute
CHAPTER 8. DECISION TREES 108

• Assigning all possible values to the missing attribute value


• Replacing a missing attribute value by the mean for numerical attributes
• Assigning to a missing attribute value the corresponding value taken from the closest t cases,
or replacing a missing attribute value by a new value

8.17 Sample questions


(a) Short answer questions
1. Explain the concept of a decision tree with an example.
2. What are the different types of decision trees?
3. Define the entropy of a dataset.
4. Write a formula to compute the entropy of a two-class dataset.
5. Define information gain and Gini index.
6. Give the names of five different decision-tree algorithms.
7. Can decision tree be used for regression? If yes, explain how. If no, explain why.
8. What is the difference between classification and regression trees?

(b) Long answer questions


1. Explain classification tree using an example.
2. Consider the following set of training examples:

Instance Classification a1 a2
1 + T T
2 + T T
3 − T F
4 + F F
5 − F T
6 − F T

(a) What is the entropy of this collection of training examples with respect to the target
function “classification”?
(b) What is the information gain of a2 relative to these training examples?

3. Explain the ID3 algorithm for learning decision trees.


4. Explain CART algorithm.
5. What are issues in decision tree learning? How are they overcome?
6. Describe an algorithm to construct regression trees.
7. What do you mean by information gain and entropy? How is it used to build the decision
trees? Illustrate using an example.
8. Use ID3 algorithm to construct a decision tree for the data in the following table.
CHAPTER 8. DECISION TREES 109

Instance no. Class label x1 x2


1 1 T T
2 1 T T
3 0 T F
4 1 F F
5 0 F T
6 0 F T

9. Use ID3 algorithm to construct a decision tree for the data in the following table.

Gender Car ownership Travel cost Income level Class


(mode of transportation)
Male 0 Cheap Low Bus
Male 1 Cheap Medium Bus
Female 1 Cheap Medium Train
Female 0 Cheap Low Bus
Male 1 Cheap Medium Bus
Male 0 Standard Medium Train
Female 1 Standard Medium Train
Female 1 Expensive High Car
Male 2 Expensive Medium Car
Female 2 Expensive High Car

10. Use ID3 algorithm to construct a decision tree for the data in the following table.

Age Competition Type Class (profit)


Old Yes Software Down
Old No Software Down
Old No Hardware Down
Mid Yes Software Down
Mid Yes Hardware Down
Mid No Hardware Up
Mid No Software Up
New Yes Software Up
New No Hardware Up
New No Software Up

11. Construct a decision tree for the following data.


CHAPTER 8. DECISION TREES 110

Class label (risk) Collateral Income Debt Credit history


high none low high bad
high none middle high unknown
moderate none middle low unknown
high none low low unknown
low none upper low unknown
low adequate upper low unknown
high none low low bad
moderate adequate upper low bad
low none upper low good
low adequate upper high good
high none low high good
moderate none middle high good
low none upper high good
high none middle high bad
Chapter 9

Neural networks

9.1 Introduction
An Artificial Neural Network (ANN) models the relationship between a set of input signals and an
output signal using a model derived from our understanding of how a biological brain responds to
stimuli from sensory inputs. Just as a brain uses a network of interconnected cells called neurons
to create a massive parallel processor, ANN uses a network of artificial neurons or nodes to solve
learning problems.

9.2 Biological motivation


Let us examine how a biological neuron functions. Figure 9.2 gives a schematic representation of
the functioning of a biological neuron.
In the cell, the incoming signals are received by the cell’s dendrites through a biochemical pro-
cess. The process allows the impulse to be weighted according to its relative importance or fre-
quency. As the cell body begins accumulating the incoming signals, a threshold is reached at which
the cell fires and the output signal is transmitted via an electrochemical process down the axon. At
the axon’s terminals, the electric signal is again processed as a chemical signal to be passed to the
neighboring neurons across a tiny gap known as a synapse.1
Biological learning systems are built of very complex webs of interconnected neurons. The hu-
man brain has an interconnected network of approximately 1011 neurons, each connected, on an
average, to 104 other neurons. Even though the neuron switching speeds are much slower than than
1 Neuron. (2018, February 15). In Wikipedia, The Free Encyclopedia. Retrieved 01:44, February 23, 2018.

Figure 9.1: Anatomy of a neuron

111
CHAPTER 9. NEURAL NETWORKS 112

Figure 9.2: Flow of signals in a biological neuron

computer switching speeds, we are able to take complex decisions relatively quickly. Because of
this, it is believed that the information processing capabilities of biological neural systems is a con-
sequence of the ability of such systems to carry out a huge number of parallel processes distributed
over many neurons. The developments in ANN systems are motivated by the desire to implement
this kind of highly parallel computation using distributed representations.

9.3 Artificial neurons


Definition
An artificial neuron is a mathematical function conceived as a model of biological neurons. Artificial
neurons are elementary units in an artificial neural network. The artificial neuron receives one or
more inputs (representing excitatory postsynaptic potentials and inhibitory postsynaptic potentials
at neural dendrites) and sums them to produce an output. Each input is separately weighted, and the
sum is passed through a function known as an activation function or transfer function.

Schematic representation of an artificial neuron


The diagram shown in Figure ?? gives a schematic representation of a model of an artificial neuron.
The notations in the diagram have the following meanings:

x0 = 1

x1 w0
w1
x2 w2 Output (y)
∑ n
f
⎛n ⎞ ⎛n ⎞
∑ w i xi f ∑ w i xi y = f ∑ wi xi
... i=0 ⎝i=0 ⎠ ⎝i=0 ⎠
wn

xn

Figure 9.3: Schematic representation of an artificial neuron

x1 , x 2 , . . . x n ∶ input signals
w1 , w2 , . . . w n ∶ weights associated with input signals
CHAPTER 9. NEURAL NETWORKS 113

x0 ∶ input signal taking the constant value 1


w0 ∶ weight associated with x0 (called bias)
∑∶ indicates summation of input signals
f∶ function which produces the output
y∶ output signal

The function f can be expressed in the following form:


n
y = f ( ∑ w i xi ) (9.1)
i=0

Remarks
The small circles in the schematic representation of the artificial neuron shown in Figure 9.3 are
called the nodes of the neuron. The circles on the left side which receives the values of x0 , x1 , . . . , xn
are called the input nodes and the circle on the right side which outputs the value of y is called
output node. The squares represent the processes that are taking place before the result is outputted.
They need not be explicitly shown in the schematic representation. Figure 9.4 shows a simplified
representation of an artificial neuron.

x0 = 1

x1 w0
w1
x2 w2 Output (y)
⎛n ⎞
y = f ∑ w i xi
... ⎝i=0 ⎠
wn

xn

Figure 9.4: Simplified representation of an artificial neuron

9.4 Activation function


9.4.1 Definition
In an artificial neural network, the function which takes the incoming signals as input and produces
the output signal is known as the activation function.

Remark
Eq.(9.1) represents the activation function of the ANN model shown in Figure ??.

9.4.2 Some simple activation functions


The following are some of the simple activation functions.
CHAPTER 9. NEURAL NETWORKS 114

1. Threshold activation function


The threshold activation function is defined by


⎪ 1 if x > 0
f (x) = ⎨

⎪−1 if x ≤ 0

The graph of this function is shown in Figure 9.5.

x
0

−1

Figure 9.5: Threshold activation function

2. Unit step functions


Sometimes, the threshold activation function is also defined as a unit step function in which case it
is called a unit-step activation function. This is defined as follows:


⎪1 if x ≥ 0
f (x) = ⎨

⎪ 0 if x < 0

The graph of this function is shown in Figure 9.6.

x
0

−1

Figure 9.6: Unit step activation function

3. Sigmoid activation function (logistic function)


One of the must commonly used activation functions is the sigmoid activation function. It is defined
as follows:
1
f (x) =
1 + e−x
The graph of the function is shown in Figure 9.7.

f (x)
1

x
0

Figure 9.7: The sigmoid activation function


CHAPTER 9. NEURAL NETWORKS 115

4. Linear activation function


The linear activation function is defined by

F (x) = mx + c.

This defines a straight line in the xy-plane.

x
0

−1

Figure 9.8: Linear activation function

5. Piecewise (or, saturated) linear activation function


This is defined by



⎪0 if x < xmin


f (x) = ⎨mx + c if xmin ≤ x ≤ xmax




⎪0 if x > xmax

x
0

−1

Figure 9.9: Piecewise linear activation function

6. Gaussian activation function


This is defined by
1 (x−µ)2
f (x) = √ e− 2σ2 .
σ 2π

x
0

−1

Figure 9.10: Gaussian activation function


CHAPTER 9. NEURAL NETWORKS 116

7. Hyperbolic tangential activation function


This is defined by
ex − e−x
f (x) = .
ex + e−x

x
0

−1

Figure 9.11: Hyperbolic tangent activation function

9.5 Perceptron
The perceptron is a special type of artificial neuron in which thee activation function has a special
form.

9.5.1 Definition
A perceptron is an artificial neuron in which the activation function is the threshold function.
Consider an artificial neuron having x1 , x2 , ⋯, xn as the input signals and w1 , w2 , ⋯, wn as the
associated weights. Let w0 be some constant. The neuron is called a perceptron if the output of the
neuron is given by the following function:


⎪ 1 if w0 + w1 x1 + ⋯ + wn xn > 0
o(x1 , x2 , . . . , xn ) = ⎨

⎪−1 if w0 + w1 x1 + ⋯ + wn xn ≤ 0

Figure 9.12 shows the schematic representation of a perceptron.

x0 = 1

x1 w0
w1

x2 w2 Output (y)
∑ ⎧
n



n
∑ w i xi ⎪ 1 if ∑ wi xi > 0
y=⎨
i=0



i=0

⎩−1

... otherwise
wn

xn

Figure 9.12: Schematic representation of a perceptrn


CHAPTER 9. NEURAL NETWORKS 117

Remarks
1. The quantity −w0 can be looked upon as a “threshold” that should be crossed by the weighted
sum w1 x1 + ⋯ + wn xn in order for the neuron to output a “1”.

9.5.2 Representations of boolean functions by perceptrons


In this section we examine whether simple boolean functions like x1 AND x2 can be represented by
perceptrons. To be consistent with the conventions in the definition of a perceptron we assume that
the values −1 and 1 represent the boolean constants “false” and “true” respectively.

9.5.3 Representation of x1 AND x2


Let x1 and x2 be two boolean variables. Then the boolean function x1 AND x2 is represented by
Table 9.1. It can be easily verified that the perceptron shown in Figure 9.13 represents the function

x1 x2 x1 AND x2
−1 −1 −1
−1 1 −1
1 −1 −1
1 1 1

Table 9.1: The boolean function x1 AND x2

x1 AND x2 .

x0 = 1

w0 = −0.8
w1 = 0.5 Output (y)
∑ ⎧
x1 3 ⎪


3
∑ wi xi ⎪
⎪ 1 if ∑ wi xi > 0
w3 = 0.5 i=0 y=⎨



i=0

⎪−1 otherwise

x2

Figure 9.13: Representation of x1 AND x2 by a perceptron

In the perceptron shown in Figure 9.13, the output is given by







3
⎪ 1 if ∑ wi xi > 0
y=⎨



i=0

⎪−1 otherwise



⎪ 1 if − 0.8 + 0.5x1 + 0.5x2 > 0
=⎨

⎪−1 otherwise

Representations of OR, NAND and NOR


The functions x1 OR x2 , x1 NAND x2 and x1 NOR x2 can also be represented by perceptrons. Table
9.2 shows the values to be assigned to the weights w0 , w1 , w2 for getting these boolean functions.
CHAPTER 9. NEURAL NETWORKS 118

Boolean function w0 w1 w2
x1 AND x2 −0.8 0.5 0.5
x1 OR x2 −0.3 0.5 0.5
x1 NAND x2 0.8 −0.5 −0.5
x1 NOR x2 0.3 −0.5 −0.5

Table 9.2: Representations of boolean functions by perceptrons

Remarks
Not all boolean functions can be represented by perceptrons. For example, the boolean function
x1 XOR x2 cannot be represented by a perceptron. This means that we cannot assign values to
w0 , w1 , w2 such that the expression w0 + w1 x1 + w2 x2 takes the values of x1 XOR x2 , and that this
is the case can be easily verified also.

9.5.4 Learning a perceptron


By “learning a perceptron” we mean the process of assigning values to the weights and the thresh-
old such that the perceptron produces correct output for each of the given training examples. The
following are two algorithms to solve this learning problem:

9.5.5 Perceptron learning algorithm


Definitions
In the algorithm, we use the following notations:

n : Number of input variables


y = f (z) : Output from the perceptron for an input
vector z
D = {(x1 , d1 ), . . . , (xs , ds )} : Training set of s samples
xj = (xj0 , xj1 , . . . , xjn ) : The n-dimensional input vector
dj : Desired output value of the perceptron for
the input xj
xji : Value of the i-th feature of the j-th training
input vector
xj0 : 1
wi : Weight of the i-th input variable
wi (t) : Weight i at the t-th iteration

Algorithm
Step 1. Initialize the weights and the threshold. Weights may be initialized to 0 or to a small
random value.
Step 2. For each example j in the training set D, perform the following steps over the input xj
and desired output dj :
a) Calculate the actual output:

yj (t) = f [w0 (t)xj0 + w1 (t)xj1 + w2 (t)xj2 + ⋯ + wn (t)xjn ]


CHAPTER 9. NEURAL NETWORKS 119

b) Update the weights:

wi (t + 1) = wi (t) + (dj − yj (t))xji

for all features 0 ≤ i ≤ n.


Step 3. Step 2 is repeated until the iteration error 1s ∑sj=1 ∣dj − yj (t)∣ is less than a user-specified
error threshold γ, or a predetermined number of iterations have been completed, where s
is again the size of the sample set.

Remarks
The above algorithm can be applied only if the training examples are linearly separable.

9.6 Artificial neural networks


An artificial neural network (ANN) is a computing system inspired by the biological neural networks
that constitute animal brains. An ANN is based on a collection of connected units called artificial
neurons. Each connection between artificial neurons can transmit a signal from one to another. The
artificial neuron that receives the signal can process it and then signal artificial neurons connected to
it.
each connection between artificial neurons has a weight attached to it that get adjusted as learning
proceeds. Artificial neurons may have a threshold such that only if the aggregate signal crosses that
threshold the signal is sent. Artificial neurons are organized in layers. Different layers may perform
different kinds of transformations on their inputs. Signals travel from the input layer to the output
layer, possibly after traversing the layers multiple times.

9.7 Characteristics of an ANN


An ANN can be defined and implemented in several different ways. The way the following charac-
teristics are defined determines a particular variant of an ANN.
• The activation function
This function defines how a neuron’s combined input signals are transformed into a single
output signal to be broadcasted further in the network.
• The network topology (or architecture)
This describes the number of neurons in the model as well as the number of layers and manner
in which they are connected.
• The training algorithm
This algorithm specifies how connection weights are set in order to inhibit or excite neurons
in proportion to the input signal.

9.7.1 Activation functions


The activation function is the mechanism by which the artificial neuron processes incoming informa-
tion and passes it throughout the network. Just as the artificial neuron is modeled after the biological
version, so is the activation function modeled after nature’s design.
Let x1 , x2 , . . . , xn be the input signals, w1 , w2 , . . . , wn be the associated weights and −w0 the
threshold. Let
x = w 0 + w 1 x1 + ⋯ + w n xn .
The activation function is some function of x. Some of the simplest and commonly used activations
are given in Section 9.4.
CHAPTER 9. NEURAL NETWORKS 120

9.7.2 Network topology


By “network topology” we mean the patterns and structures in the collection of interconnected
nodes. The topology determines the complexity of tasks that can be learned by the network. Gener-
ally, larger and more complex networks are capable of identifying more subtle patterns and complex
decision boundaries. However, the power of a network is not only a function of the network size,
but also the way units are arranged.
Different forms of forms of network architecture can be differentiated by the following charac-
teristics:
• The number of layers
• Whether information in the network is allowed to travel backward

• The number of nodes within each layer of the network

1. The number of layers


In an ANN, the input nodes are those nodes which receive unprocessed signals directly from the
input data. The output nodes (there may be more than one) are those nodes which generate the final
predicted values. A hidden node is a node that processes the signals from the input nodes (or other
such nodes) prior to reaching the output nodes.
The nodes are arranged in layers. The set of nodes which receive the unprocessed signals from
the input data constitute the first layer of nodes. The set of hidden nodes which receive the outputs
from the nodes in the first layer of nodes constitute the second layer of nodes. In a similar way we
can define the third, fourth, etc. layers. Figure 9.14 shows an ANN with only one layer of nodes.
Figure 9.15 shows an ANN with two layers.

Input layer Output layer


x0

x1 w0
w1
x2 w2 Output (y)

...
wn

xn

Figure 9.14: An ANN with only one layer

2. The direction of information travel


Networks in which the input signal is fed continuously in one direction from connection to connec-
tion until it reaches the output layer are called feedforward networks. The network shown in Figure
9.15 is a feedforward network.
Networks which allows signals to travel in both directions using loops are called recurrent net-
works (or, feedback networks).
In spite of their potential, recurrent networks are still largely theoretical and are rarely used
in practice. On the other hand, feedforward networks have been extensively applied to real-world
problems. In fact, the multilayer feedforward network, sometimes called the Multilayer Perceptron
(MLP), is the de facto standard ANN topology. If someone mentions that they are fitting a neural
network, they are most likely referring to a MLP.
CHAPTER 9. NEURAL NETWORKS 121

Input Hidden Output


layer layer layer

x0

x1

x2 Output

xn

Figure 9.15: An ANN with two layers

3. The number of nodes in each layer


The number of input nodes is predetermined by the number of features in the input data. Similarly,
the number of output nodes is predetermined by the number of outcomes to be modeled or the
number of class levels in the outcome. However, the number of hidden nodes is left to the user to
decide prior to training the model. Unfortunately, there is no reliable rule to determine the number
of neurons in the hidden layer. The appropriate number depends on the number of input nodes, the
amount of training data, the amount of noisy data, and the complexity of the learning task, among
many other factors.

9.7.3 The training algorithm


There are two commonly used algorithms for learning a single perceptron, namely, the perceptron
rule and the delta rule. The former is used when the training data set is linearly separable and the
latter when the training data set is not linearly separable.
The algorithm which is now commonly used to train an ANN is known simply as backpropaga-
tion.

9.7.4 The cost function


Definition
In a machine learning algorithm, the cost function is a function that measures how well the algorithm
maps the target function that it is trying to guess or a function that determines how well the algorithm
performs in an optimization problem.

Remaarks
The cost function is also called the loss function, the objective function, the scoring function, or the
error function.

Example
Let y be the the output variable. Let y1 , . . . , yn be the actual values of y in n examples and ŷ1 , . . . , ŷn
be the values predicted by an algorithm.
CHAPTER 9. NEURAL NETWORKS 122

Input Hidden Output


layer layer layer

x0

x1 Output 1

x2

⋯ Output 2

xn

(a) Network with one hidden layer and two output nodes

Input Hidden Hidden Output


layer layer 1 layer 2 layer

x0

x1

x2 Output

xn

(b) Network with two hidden layers

Figure 9.16: Examples of different topologies of networks

1. The sum of squares of the differences between the predicted and actual values of y, denoted
by SSE and defined below, can be taken as a cost function for the algorithm.
n
SSE = ∑(yi − ŷi )2 .
i=1

2. The mean of the sum of squares of the differences between the predicted and actual values of
y, denoted by MSE and defined below, can be taken as a cost function for the algorithm.
1 n
MSE = ∑(yi − ŷi ) .
2
n i=1

9.8 Backpropagation
The backpropagation algorithm was discovered in 1985-86. Here is an outline of the algorithm.
CHAPTER 9. NEURAL NETWORKS 123

Figure 9.17: A simplified model of the error surface showing the direction of gradient

9.8.1 Outline of the algorithm


1. Initially the weights are assigned at random.
2. Then the algorithm iterates through many cycles of two processes until a stopping criterion is
reached. Each cycle is known as an epoch. Each epoch includes:
(a) A forward phase in which the neurons are activated in sequence from the input layer to
the output layer, applying each neuron’s weights and activation function along the way.
Upon reaching the final layer, an output signal is produced.
(b) A backward phase in which the network’s output signal resulting from the forward phase
is compared to the true target value in the training data. The difference between the
network’s output signal and the true value results in an error that is propagated backwards
in the network to modify the connection weights between neurons and reduce future
errors.
3. The technique used to determine how much a weight should be changed is known as gradient
descent method. At every stage of the computation, the error is a function of the weights. If
we plot the error against the wights, we get a higher dimensional analog of something like a
curve or surface. At any point on this surface, the gradient suggests how steeply the error will
be reduced or increased for a change in the weight. The algorithm will attempt to change the
weights that result in the greatest reduction in error (see Figure 9.17).

9.8.2 Illustrative example


To illustrate the various steps in the backpropagation algorithm, we consider a small network with
two inputs, two outputs and one hidden layer as shown in Figure 9.18.2
We assume that there are two observations:
Sample Input 1 Input 2 Output target 1 Output target 2
i1 i2 T1 T2
1 0.05 0.10 0.01 0.99
2 0.25 0.18 0.23 0.79
We are required to estimate the optimal values of the weights w1 , . . . , w8 , b1 , b2 . Here b1 and b2 are
the biases. For simplicity, we have assigned the same biases to both nodes in the same layer.
Step 1. We initialise the connection weights to small random values. These initial weights are
shown in Figure 9.19.
2 Thanks to https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-
example/ for this example.
CHAPTER 9. NEURAL NETWORKS 124

Input 1 w1 w5 Output 1
h1 o1
w3 w7
w2 w6
Input 2 Output 2
h2 o2
w4 w8
b1 b3
1 b2 1 b4

Figure 9.18: ANN for illustrating backpropagation algorithm

i1 = .05 w1 = .15 w5 = .40 T1 = .01


h1 o1
w3 = .25 w7 = .50

i2 = .10 w2 = .20 w6 = .45 T2 = .99


h2 o2
w4 = .30 w8 = .55

b1 = .35 b3 = .60
1 b2 = .35 1 b4 = .60

Figure 9.19: ANN for illustrating backpropagation algorithm with initial values for weights

Step 2. Present the first sample inputs and the corresponding output targets to the network. This is
shown in Figure 9.19.
Step 3. Pass the input values to the first layer (the layer with nodes h1 and h2 ).
Step 4. We calculate the outputs from h1 and h2 . We use the logistic activation function
1
f (x) = .
1 + e−x

outh1 = f (w1 × i1 + w2 × i2 + b1 × 1)
= f (0.15 × 0.05 + 0.20 × 0.10 + 0.35 × 1)
= f (0.3775)
1
=
1+e −0.3775

= 0.59327
outh2 = f (w3 × i1 + w4 × i2 + b2 × 1)
= f (0.25 × 0.05 + 0.30 × 0.10 + 0.35 × 1)
= f (0.3925)
1
=
1 + e−0.3925
= 0.59689
CHAPTER 9. NEURAL NETWORKS 125

Step 5. We repeat this process for every layer. We get the outputs from the nodes in the output
layer as follows:

outo1 = f (w5 × outh1 + w6 × outh2 + b3 × 1)


= f (0.40 × 0.59327 + 0.45 × 0.59689 + 0.60 × 1)
= f (1.10591)
1
=
1 + e−1.10591
= 0.75137
outo2 = f (w7 × outh1 + w8 × outh2 + b4 × 1)
= f (0.50 × 0.59327 + 0.55 × 0.59689 + 0.60 × 1)
= f (1.22492)
1
=
1 + e−1.22492
= 0.77293

The sum of the squares of the output errors is given by


1 1
E = (T1 − outo1 )2 + (T2 − outo2 )2
2 2
= (0.01 − 0.75137)2 + (0.99 − 0.77293)2
= 0.298371

Step 6. We begin backward phase. We adjust the weights. We first adjust the weights leading to
the nodes o1 and o2 in the output layer and then the weights leading to the nodes h1 and h2
in the hidden layer. The adjusted values of the weights w1 , . . . , w8 , b1 , . . . , b4 are denoted
by w1+ , . . . , w8+ , b+1 , . . . , b+4 . The computations use a certain constant η called the learning
rate. In the following we have taken η = 0.5.

(a) Computation of adjusted weights leading to o1 and o2 :

δo1 = (T1 − outo1 ) × outo1 × (1 − outo1 )


= (0.01 − 0.75137) × 0.75137 × (1 − 0.75137)
= −0.13850
w5+ = w5 + η × δo1 × outh1
= 0.40 + 0.5 × (−0.13850) × 0.59327
= 0.35892
w6+ = w6 + η × δo1 × outh2
= 0.45 + 0.5 × (−0.13850) × 0.59689
= 0.40867
b+3 = b3 + η × δo1 × 1
= 0.60 + 0.5 × (−0.13850) × 1
= 0.53075

δo2 = (T2 − outo2 ) × outo2 × (1 − outo2 )


= (0.99 − 0.77293) × 0.77293 × (1 − 0.77293)
= 0.03810
w7+ = w7 + η × δo2 × outh1
= 0.50 + 0.5 × 0.03810 × 0.59327
CHAPTER 9. NEURAL NETWORKS 126

= 0.51130
w8+ = w8 + η × δo2 × outh2
= 0.55 + 0.5 × 0.03810 × 0.59689
= 0.56137
b+4 = b4 + η × δo2 × 1
= 0.60 + 0.5 × 0.03810 × 1
= 0.61905

(b) Computation of adjusted weights leading to h1 and h2 :

δh1 = (δo1 × w5 + δo2 × w7 ) × outh1 × (1 − outh1 )


= (−0.13850 × 0.40 + 0.03810 × 0.50) × 0.59327 × (1 − 0.59327)
= −0.00877
w1+ = w1 + η × δh1 × i1
= 0.15 + 0.5 × (−0.00877) × 0.05
= 0.14978
w2+ = w2 + η × δh1 × i2
= 0.20 + 0.5 × (−0.00877) × 0.10
= 0.19956
b+1 = b1 + η × δh1 × 1
= 0.35 + 0.5 × (−0.00877) × 1
= 0.34562

δh2 = (δo1 × w6 + δo2 × w8 ) × outh2 × (1 − outh2 )


= ((−0.13850) × 0.45 + 0.03810 × 0.55) × 0.59689 × (1 − 0.59689)
= −0.00995
w3+ = w3 + η × δh2 × i1
= 0.25 + 0.5 × (−0.00995) × 0.05
= 0.24975
w4+ = w4 + η × δh2 × i2
= 0.30 + 0.5 × (−0.00995) × 0.10
= 0.29950
b+2 = b2 + η × δh2 × 1
= 0.35 + 0.5 × (−0.00995) × 1
= 0.34503

Step 7. Now we set:

w1 = w1+ , w2 = w2+ , w3 = w3+ , w4 = w4+


w5 = w5+ , w6 = w6+ , w7 = w7+ , w8 = w8+
b1 = b+1 , b2 = b+2 , b3 = b+3 , b4 = b+4

We choose the next sample input and the corresponding output targets to the network and
repeat Steps 2 to 6.
Step 8. The process in Step 7 is repeated until the root mean square of output errors is minimised.
CHAPTER 9. NEURAL NETWORKS 127

Remarks
1. The constant 12 is included in the expression for E so that the exponent is cancelled when we
differentiate it. The result has been multiplied by a learning rate η = 0.5 and so it doesnâĂŹt
matter that we introduce the constant 21 in E.
2. In the above computations, the method used to calculate the adjusted weights is known as the
delta rule.
3. The rule for computing the adjusted weights can be succinctly stated as follows. Let w be a
weight and w+ its adjusted weight. Let E be the the total sum of squares of errors. Then w+
is computed by
∂E
w+ = w − η .
∂w
Here ∂E
∂w
is the gradient of E with respect to w; that is, the rate at which E is changing with
respect to w. (The set of all such gradients specifies the direction in which E is decreasing
the most rapidly, that is, the direction of quickest descent.) For example, it can be shown that
∂E
= −(T1 − outo1 ) × outo1 × (1 − outo1 ) × outh1
∂w5
= −δo1 × outh1
and so
∂E
w5+ = w5 − η
∂w5
= w5 + η × δo1 × outh1

9.8.3 The algorithm


The backpropagation algorithm trains a given feed-forward multilayer neural network for a given set
of input patterns with known classifications. When each entry of the sample set is presented to the
network, the network examines its output response to the sample input pattern. The output response
is then compared to the known and desired output and the error value is calculated. Based on the
error, the connection weights are adjusted. The adjustments are based on the mean square error of
the output response to the sample input and it is known as the delta learning rule. The set of these
sample patterns are repeatedly presented to the network until the error value is minimized.

Notations
Figures 9.20 and 9.21 show the various notations used in the algorithm.
M : Number of layers (excluding the input layer
which is assigned the layer number 0)
Nj : Number of neurons (nodes) in j-th layer
Xp = (Xp1 , Xp2 , . . . , XpN0 ) : p-th training sample
Tp = (Tp1 , Tp2 , . . . , TpNM ) : Known output corresponding to
the p-th training sample
Op = (Op1 , Op2 , . . . , OpNM ) : Actual output by the network corresponding to
the p-th training sample
Yji : Output from the i-th neuron in layer j
Wjik : Connection weight from k-th neuron in
layer (j − 1) to i-th neuron in layer j
δji : Error value associated with the i-th neuron in layer j
CHAPTER 9. NEURAL NETWORKS 128

j(layer #) j = 0 j=1 j=M

Xp1
⋯ Tp1 Op1

Xp2
⋯ Tp2 Op2

⋯ ⋯ ⋯

XpN0
⋯ TpN0 OpN0

Nj (# neurons) N0 N1 NM

Figure 9.20: Notations of backpropagation algorithm

Y(j−1)1

Y(j−1)2 Wji1
Wji2 δij
Y(j−1)3 Wji3
ji Yij
N
Yij = f (∑k=1
j−1
Y(j−1)k Wjik )

...
WjiNj−1

Y(j−1)Nj−1

Figure 9.21: Notations of backpropagation algorithm: The i-th node in layer j

The algorithm
Step 1. Initialize connection weights into small random values.
Step 2. Present the pth sample input vector of pattern

Xp = (Xp1 , Xp2 , ..., XpN0 )

and the corresponding output target

Tp = (Tp1 , Tp2 , ..., TpNM )

to the network.
Step 3. Pass the input values to the first layer, layer 1. For every input node i in layer 0, perform:
Y0i = Xpi .
CHAPTER 9. NEURAL NETWORKS 129

Step 4. For every neuron i in every layer j = 1, 2, ..., M , find the output from the neuron:
N
Yji = f (∑k=1
j−1
Y(j−1)k Wjik ),

where
1
f (x) = .
1 + exp(−x)

Step 5. Obtain output values. For every output node i in layer M , perform:

Opi = YM i .

Step 6. Calculate error value δji for every neuron i in every layer in backward order j = M, M −
1, . . . , 2, 1, from output to input layer, followed by weight adjustments. For the output
layer, the error value is:

δM i = YM i (1 − YM i )(Tpi − YM i ),

and for hidden layers:


N
δji = Yji (1 − Yji ) ∑k=1
j+1
δ(j+1)k W(j+1)ki .

The weight adjustment can be done for every connection from neuron k in layer (j − 1) to
every neuron j in every layer i:
+
Wjik = Wjik + ηδji Yji ,

where η represents weight adjustment factor (called the learning rate) normalized between
0 and 1.
Step 7. The actions in steps 2 through 6 will be repeated for every training sample pattern p, and
repeated for these sets until the sum of the squares of output errors is minimized.

9.9 Introduction to deep learning


9.9.1 Definition
A neural network with multiple hidden layers is called a Deep Neural Network (DNN) and the
practice of training such network is referred to as deep learning.

Remarks
In the terminology “deep learning”, the term “deep” is a technical term. It refers to the number of
layers in a neural network. A shallow network has one so-called hidden layer, and a deep network
has more than one. Multiple hidden layers allow deep neural networks to learn features of the data
in a so-called feature hierarchy, because simple features recombine from one layer to the next, to
form more complex features. Networks with many layers pass input data (features) through more
mathematical operations than networks with few layers, and are therefore more computationally
intensive to train. Computational intensivity is one of the hallmarks of deep learning.
Figure 9.22 shows a shallow neural network and Figure 9.23 shows a deep neural network with
three hidden layers.
CHAPTER 9. NEURAL NETWORKS 130

Figure 9.22: A shallow neural network

Figure 9.23: A deep neural network with three hidden layers

9.9.2 Some applications


Deep learning applications are used in industries from automated driving to medical devices.
1. Automated driving:
Automotive researchers are using deep learning to automatically detect objects such as stop
signs and traffic lights. In addition, deep learning is used to detect pedestrians, which helps
decrease accidents.

2. Aerospace and defense:


Deep learning is used to identify objects from satellites that locate areas of interest, and iden-
tify safe or unsafe zones for troops.
3. Medical research:
Cancer researchers are using deep learning to automatically detect cancer cells. Teams at
UCLA built an advanced microscope that yields a high-dimensional data set used to train a
deep learning application to accurately identify cancer cells.
4. Industrial automation:
Deep learning is helping to improve worker safety around heavy machinery by automatically
detecting when people or objects are within an unsafe distance of machines.
5. Electronics:
CHAPTER 9. NEURAL NETWORKS 131

Deep learning is being used in automated hearing and speech translation. For example, home
assistance devices that respond to your voice and know your preferences are powered by deep
learning applications.

9.10 Sample questions


(a) Short answer questions
1. Explain the biological motivation for the formulation of the concept of artificial neural net-
works.
2. With the aid of a diagram, explain the concept of an artificial neuron.
3. What is an activation function in an artificial neuron? Give some examples.
4. Define a perceptron.
5. Is neural network supervised or unsupervised learning? Why?
6. Is deep learning supervised or unsupervised? Why?
7. What is the basic idea of the backpropagation algorithm?
8. In the context of ANNs, what is meant by network topology?
9. Explain the different types of layers in an ANN.
10. What is the gradient descent method? How is used in the backpropagation algorithm?
11. A neuron with 4 inputs has the weights 1, 2, 3, 4 and bias 0. The activation function is linear,
say the function f (x) = 2x. If the inputs are 4, 8, 5, 6, compute the output. Draw a diagram
representing the neuron.

(b) Long answer questions


1. Design a two layer network of perceptrons to implement A XOR B.
2. Explain the backpropagation algorithm.
3. Describe the perceptron learning algorithm.
4. What are the characteristics of an artificial neural networks.
5. Explain the concept of deep learning. Give some real life problems where this concept has
been successfully applied.
6. Compute the output of the following neuron if the activation function is (i) the threshold
function (ii) the sigmoid function (iii) the hyperbolic tangent function (assume the same bias
0.5 for each node).

x0 = 3.5

w0 = 0.89

x1 = 2.9 w1 = −2.07 Output (y)

w2 = 0.08
x2 = 1.2
CHAPTER 9. NEURAL NETWORKS 132

7. Which of the boolean functions AND, OR, XOR (or none of these) is represented by the
following network of perceptrons (with unit step function as the activation function)?

b1 = −0.5
x1

w3 = −1
w1 = 1
Output (y)
b3 == −1.5 w5 = 3
w2 = 1 b4 = 0.5
w4 = −1
x2

b2 = −0.5

8. Given the following network, compute the outputs from o1 and o2 (assume that the activation
function is the sigmoid function).

Input i1 = .25 w1 = .17 w5 = .52 Output 1


h1 o1
w3 = .18 w7 = .55

Input i2 = .30 w2 = .21 w6 = .61 Output 2


h2 o2
w4 = .27 w8 = .72

b1 = .12 b3 = .48
1 b2 = .24 1 b4 = .36

9. (Assignment question) Given the following data, use ANN with one hidden layer, appropriate
initial weights and biases to compute the optimal values of the weights. Perform one iteration
of the forward and phases of the backpropagation algorithm for each samples.

Sample Input 1 Input 2 Output target 1 Output target 2


1 1.20 2.30 0.53 0.76
2 0.23 0.37 1.17 2.09
Chapter 10

Support vector machines

We begin this chapter by illustrating the basic concepts and terminology of the theory of support
vector machines by a simple example. We then introduce the necessary mathematical background,
which is essentially an introduction to finite dimensional vector spaces, for describing the general
concepts in the theory of support vector machines. The related algorithms without proofs are then
presented.

10.1 An example
10.1.1 Problem statement
Suppose we want to develop some criteria for determining the weather conditions under which tennis
can be played. To simplify the matters it has been decided to use the measures of temperature and
humidity as the critical parameters for the investigation. We have some data as given in Table 10.1
regarding the values of the parameters and the decisions taken as to whether to play tennis or not.
We are required to develop a criteria to know whether one would be playing tennis on a future date
if we know the values of the temperature and humidity of that date in advance.

10.1.2 Discussion and solution


We shall now see the various steps that lead to a solution of the problem using the ideas of support
vector machines.

temperature humidity play


85 85 no
60 70 yes
80 90 no
72 95 no
68 80 yes
74 73 yes
69 70 yes
75 85 no
83 78 no

Table 10.1: Example data with two class labels

133
CHAPTER 10. SUPPORT VECTOR MACHINES 134

1. Two-class data set


This is our first observation regarding the data in Table 10.1. In Table 10.1, the data are classified
based on the values of the variable “play”. This variable has only two values or labels, namely “yes”
and ”no”. When there are only two class labels the data is said to be a “two-class data set”. So the
data in Table 10.1 is a two-class data set.

2. Scatter plot of the data


Since there are only two features or parameters, we may plot the values of one of the parameters, say
“temperature”, along the horizontal axis (that is, the x-axis) and the values of the other parameter
“humidity”, along the vertical axis (that is, the y-axis). The data can be plotted in a coordinate plane
to get a scatter plot of the data. Figure 10.1 shows the scatter plot. In the figure the points which
correspond to the decision “yes” on playing tennis has been plotted as filled squares (◾) and which
correspond to the decision “no” has been marked as hollow circles (○).

Figure 10.1: Scatter plot of data in Table 10.1 (filled circles represent “yes” and unfilled circles
“no”)

3. A separating line
If we examine the plot in Figure 10.1, we can see that we can draw a straight line in the plane
separating the two types of points in the sense that all points plotted as filled squares are on one side
of the line and all points marked as hollow circles are on the other side of the line. Such a line is
called a “separating line” for the data. Figure 10.2 shows a separating line for the data in Table 10.1.
The equation of the separating line shown in Figure 10.2 is

5x + 2y − 535 = 0. (10.1)

It has the following property:


• If the data point with values (x′ , y ′ ) has the value “yes” for “play” (filled square), then

5x′ + 2y ′ − 535 < 0. (10.2)

• If the data point with values (x, y) has the value “no” for “play” (hollow circle), then

5x′ + 2y ′ − 535 > 0. (10.3)

If such a separating line exists for a given data then the data is said to be “linearly separable”.
Thus the data in table 10.1 is linearly separable. However note that not all data are linearly separable.
CHAPTER 10. SUPPORT VECTOR MACHINES 135

Figure 10.2: Scatter plot of data in Table 10.1 with a separating line

4. Several separating lines


Apparently, the conditions given in Eqs. (10.2) and (10.3) may be used as the criteria to know
whether one would be playing tennis on a future date if we know the values of the temperature
and humidity of that date in advance. But there are several separating lines and the problem of
determining which one to choose arises. Figure 10.3 shows two separating lines for the given data.

Figure 10.3: Two separating lines for the data in Table 10.1

4. Margin of a separating line


To choose the “best” separating line, we introduce the concept of the margin of a separating line.
Given a separating line for the data, we consider the perpendicular distances of the data points
from the separating line. Th double of the shortest perpendicular distance is called the “margin of the
separating line”. Figure ?? shows some of the perpendicular distances and the shortest perpendicular
distance for the data in Table 10.1 and for the separating line given by Eq. (10.1).

5. Maximal margin separating line


The “best” separating line is the one with the maximum margin.
CHAPTER 10. SUPPORT VECTOR MACHINES 136

Figure 10.4: Shortest perpendicular distance of a separating line from data points

The separating line with the maximum margin is called the “maximum margin line” or the “op-
timal separating line”. This line is also called the “support vector machine” for the data in Table
10.1.
Unfortunately, finding the equation of the maximum margin line is not a trivial problem. Figure
10.5 shows the maximum margin line for the data in Table 10.1. The equation of the maximum
margin line can be shown to be
7x + 6y − 995.5 = 0. (10.4)

Figure 10.5: Maximum margin line for data in Table 10.1

6. Support vectors
The data points which are closest to the maximum margin line are called the “support vectors”. The
support vectors are shown in Figure 10.6.

7. The required criterion


As per theory of support vector machines, the equation of the maximum margin line is used to
devise a criterion for taking a decision on whether to play tennis or not. Let x′ and y ′ be the values
CHAPTER 10. SUPPORT VECTOR MACHINES 137

Figure 10.6: Support vectors for data in Table 10.1

of temperature and humidity on a given day. Then the decision as to whether play tennis on that day
is “yes” if
7x + 6y − 995.5 < 0
and “no” if
7x + 6y − 995.5 > 0.

8. “Street” of maximum width separating “yes” points and “no” points


Considering Figure 10.6, we may draw a line through the support vectors 1 and 2 parallel to the
maximum margin line, and a line through support vector 3 parallel to the maximum margin line.
The two lines are shown as dashed lines in Figure 10.7. The region between these two dashed lines
can be thought of as a “road” or a “street” of maximum width that separates the “yes” data points
and the “no” data points.

Figure 10.7: Boundaries of “street” of maximum width separating “yes” points and “no” points in
Table 10.1
CHAPTER 10. SUPPORT VECTOR MACHINES 138

9. Final comments
i) Any line given an equation of the form
ax + by + c = 0
separates the coordinate plane into two halves. One half consists of all points for which
ax + by + c > 0 and the other half consists of all points for which ax + by + c < 0. Which half
is which depends the signs of the coefficients a, b, c.
ii) Figure 10.8 shows the plot of the maximum margin line produced using the R programming
language.

Figure 10.8: Plot of the maximum margin line of data in Table 10.1 produced by the R programming
language

iii) In the sections below, we generalise the concepts introduced above to data sets having more
than two features.

10.2 Finite dimensional vector spaces


In Section 10.1 we have geometrically examined in detail the concepts of the theory of support
vector machines with an example having only two features. But, obviously, such a geometrical
approach is infeasible if there are more than two features. In such cases we have to resort to formal
algebraic/mathematical formalism to investigate the problem. The theory of what are known as
“finite dimensional vector spaces” provides such a formalism. We present below the absolutely
essential parts of this theory. Those who are interested in learning about the abstract concept of a
vector space may refer to any well written book on linear algebra.

10.2.1 Definition
We give the definition of a finite dimensional vector space here. We once again warn the reader
that we are introducing the terms with reference to a very special case of a finite dimensional vector
CHAPTER 10. SUPPORT VECTOR MACHINES 139

space and that all the terms given below have more general meanings.

Definition
Let n be a positive integer. By a n-dimensional vector we mean an ordered n-tuple of real numbers
⃗, y⃗, etc. In the vector x
of the form (x1 , x2 , . . . , xn ). We denote vectors by x ⃗ = (x1 , x2 , . . . , xn ), the
numbers x1 , x2 , . . . xn are called the coordinates or the components of x ⃗. In the following, we call
real numbers as scalars.
The set of all n-dimensional vectors with the operations of addition of vectors and multiplication
of a vector by a scalar and with the definitions of the zero vector and the negative of a vector as
defined below is a n-dimensional vector space. It is denoted by Rn .
1. Addition of vectors
⃗ = (x1 , x2 , . . . , xn ) and y⃗ = (y1 , y2 , . . . , yn ) be two n-dimensional vectors. The sum of
Let x
⃗ and y⃗, denoted by x
x ⃗ + y⃗, is defined by

⃗ + y⃗ = (x1 + y1 , x2 + y2 , . . . , xn + yn ).
x

2. Multiplication by scalar
Let α be a scalar and x⃗ = (x1 , x2 , . . . , xn ) be a n-dimensional vector. The product of x
⃗ by α,
denoted by α⃗x, is defined by

x = (αx1 , αx2 , . . . , αxn ).


α⃗

When we write the product of x⃗ by α, we always write the scalar α on the left side of the
⃗ as we have done above.
vector x
3. The zero vector
The n-dimensional vector (0, 0, . . . , 0), which has all components equal to 0, is called the
zero vector. It is also denoted by 0. From the context of the usage we can understand whether
0 denotes the scalar 0 or the zero vector.
4. Negative of a vector
⃗ = (x1 , x2 , . . . , xn ) be any n-dimensional vector. The negative of x
Let x ⃗ is a vector denoted
by −⃗
x and is defined by
−⃗
x = (−x1 , −x2 , . . . , −xn ).
⃗ + (−⃗
We write x ⃗ − y⃗.
y ) as x

10.2.2 Properties
⃗, y⃗, z⃗ be arbitrary vectors in Rn and let α, β, γ be arbitrary scalars.
Let n be a positive integer. Let x
⃗ + y⃗ is also a n-dimensional vector.
1. Closure under addition: x
⃗ + y⃗ = y⃗ + x
2. Commutativity: x ⃗
⃗ + (⃗
3. Associativity: x y + z⃗) = (⃗
x + y⃗) + z⃗
⃗ + (⃗
(Because of this property, we can write the sums x y + z⃗) and (⃗
x + y⃗) + z⃗ in the form
⃗ + y⃗ + z⃗.)
x
⃗+0=x
4. Existence of identity for addition: x ⃗
⃗ + (−⃗
5. Existence of inverse for addition: x x) = 0
6. Closure under scalar multiplication: α⃗
x is also a n-dimensional vector.
CHAPTER 10. SUPPORT VECTOR MACHINES 140

⃗) =
7. Compatibility of multiplication of a vector by a scalar with multiplication of scalars: α(β x
(αβ)⃗
x
x + y⃗) = α⃗
8. Distributivity of scalar multiplication over vector addition: α(⃗ x + α⃗
y

9. Distributivity of scalar multiplication over addition of scalars: (α + β)⃗


x = α⃗ ⃗
x + βx

x=x
10. Existence of identity element for scalar multiplication: 1⃗

Example of computation
⃗ = (−1, 2, 3), y⃗ = (2, 0, −1), z⃗ = (1, 1, 0), α = 2, β = −3, γ = 4 and λ = 5. The
Let n = 3. Let x
x +β y⃗ +γ z⃗) can be computed in several different ways. One of the methods is shown
expression λ(α⃗
below.

x + β y⃗ + γ z⃗) = 5(2(−1, 2, 3) + (−3)(2, 0, −1) + 4(1, 1, 0))


λ(α⃗
= 5((−2, 4, 6) + (−6, 0, 3) + (4, 4, 0))
= 5((−8, 4, 9) + (4, 4, 0))
= 5(−4, 8, 9)
= (−20, 40, 45)

10.2.3 Norm and inner product


1. Norm
⃗ = (x1 , x2 , . . . , xn ), denoted by ∣∣⃗
The norm of the n-dimensional vector x x∣∣, is defined by

∥⃗
x∥ = x21 + x22 + ⋯ + x2n .

2. Inner product
⃗ = (x1 , x2 , . . . , xn ) and y⃗ = (y1 , y2 , . . . , yn ), denoted by x
The inner product of x ⃗ ⋅ y⃗, is defined
by
⃗ ⋅ y⃗ = x1 y1 + x2 y2 + ⋯ + xn yn .
x
Note that we have √
∥⃗
x∥ = ⃗⋅x
x ⃗.

3. Angle between two vectors


⃗ and y⃗ is defined by
The angle θ between two vectors x
⃗ ⋅ y⃗
x
cos θ = .
∥⃗
x∥∥⃗ y∥

4. Perpendicularity
Two vectors x⃗ = (x1 , x2 , . . . , xn ) and y⃗ = (y1 , y2 , . . . , yn ) are said to be perpendicular (or,
orthogonal) if
⃗ ⋅ y⃗ = 0.
x
CHAPTER 10. SUPPORT VECTOR MACHINES 141

Example
⃗ = (−1, 2, 0, 3) and y⃗ = (2, 3, 1, −4).
Let n = 4 and let x

∥⃗x∥ = (−1)2 + 22 + 02 + 32

= 14

∥⃗
y ∥ = 22 + 32 + 12 + (−4)2

= 30
x⃗ ⋅ y⃗ = (−1) × 2 + 2 × 3 + 0 × 1 + 3 × (−4)
= −8
−8
cos θ = √ √
14 30
= −0.39036
θ = 112.98 degrees

⃗ ⋅ y⃗ ≠ 0 the vectors x
Since x ⃗ and y⃗ are not orthogonal.

10.3 Hyperplanes
Hyperplanes are certain subsets of finite dimensional vector spaces which are similar to straight lines
in planes and planes in three-dimensional spaces.

10.3.1 Definition
Consider the n-dimensional vector space Rn . The set of all vectors

⃗ = (x1 , x2 , . . . , xn )
x

in Rn whose components satisfy an equation of the form

α0 + α1 x1 + α2 x2 + ⋯ + αn xn = 0, (10.5)

where α0 , α1 , α2 , . . . , αn are scalars, is called a hyperplane in the vector space Rn .

Remarks 1
⃗ = (x1 , x2 , . . . , xn ) and α
Let x ⃗ = (α1 , α2 , . . . , αn ), then using the notation of inner product,
Eq.(10.5) can be written in the following form:

⃗⋅x
α0 + α ⃗ = 0.

Remarks 2
The hyperplane in Rn defined by Eq.(10.5) divides the space Rn into two disjoint halves. One of
⃗ for which
the two halves consists of all vectors x

α0 + α1 x1 + α2 x2 + ⋯ + αn xn > 0

⃗ for which
and the other half consists of all vectors x

α0 + α1 x1 + α2 x2 + ⋯ + αn xn < 0.
CHAPTER 10. SUPPORT VECTOR MACHINES 142

10.3.2 Special cases


Hyperplanes in 2-dimensional vector spaces: Straight lines
Consider the 2-dimensional vector space R2 . Vectors in this space are ordered pairs of the form
(x1 , x2 ). Choosing appropriate coordinate axes, such a vector can be represented by a point with
coordinates x⃗ = (x1 , x2 ) in the plane. So, the vector space R2 can be identified with the set of points
in a plane. In this special case, the norm ∥x∥ is the distance of the point (x1 , x2 ) in the plane from
the origin. The angle between the vectors x ⃗ = (x1 , x2 ) and y⃗ = (y1 , y2 ) is the angle between the
lines joining the origin to the points (x1 , x2 ) and (y1 , y2 ).
Consider the set of all vectors x ⃗ = (x1 , x2 ) in R2 which satisfy the following equation:
α0 + α1 x1 + α2 x2 = 0
where α0 + α1 , α2 are scalars. From elementary analytical geometry we can see that the correspond-
ing set of points in the plane form a straight line in the plane. This straight line divides the plane
into two disjoint halves (see Figure 10.9). It can be proved that one of the two halves consists of all
points for which
α0 + α1 x1 + α2 x2 > 0
and the other half consists of all points for which
α0 + α1 x1 + α2 x2 < 0.

x2

Half plane where


α0 + α1 x1 + α2 x2 > 0

x1
O
Half plane where
α0 + α1 x1 + α2 x2 < 0

Equation of line:
α0 + α1 x1 + α2 x2 = 0
(assume α0 < 0)

Figure 10.9: Half planes defined by a line

Hyperplanes in 3-dimensional vector spaces: Planes


Consider the 3-dimensional vector space R3 . Vectors in this space are ordered triples of the form
(x1 , x2 , x3 ). Choosing appropriate coordinate axes, such a vector can be represented by a point
with coordinates x ⃗ = (x1 , x2 , x3 ) in the ordinary three-dimensional space. So, the vector space R3
can be identified with the set of points in the three-dimensional space. As in the case of R2 , the
norm ∥x∥ is the distance of the point (x1 , x2 , x3 ) from the origin. The angle between the vectors
⃗ = (x1 , x2 , x3 ) and y⃗ = (y1 , y2 , y3 ) is the angle between the lines joining the origin to the points
x
(x1 , x2 , x3 ) and (y1 , y2 , y3 ).
Consider the set of all vectors x ⃗ = (x1 , x2 , x3 ) in R3 which satisfy the following equation:
α0 + α1 x1 + α2 x2 + α3 x3 = 0
CHAPTER 10. SUPPORT VECTOR MACHINES 143

where α0 , α1 , α2 , α3 are scalars. From elementary analytical geometry we can see that the corre-
sponding set of points in space form a plane. This plane divides the space into two disjoint halves.
It can be proved that one of the two halves consists of all points for which

α0 + α1 x1 + α2 x2 + α3 x3 > 0

and the other half consists of all points for which

α0 + α1 x1 + α2 x2 + α3 x3 < 0.

Geometry of hyperplanes in n-dimensional vector spaces


By analogy with a plane (which is a geometrical object having two dimensions) and the space of
our experience (which is a geometrical world having three dimensions) we imagine that there is a
geometrical world or object having n dimensions for any value of n. We also imagine that the points
in this world can be represented by ordered n tuples of the form x ⃗ = (x1 , x2 , . . . , xn ). We now
identify the set of n-dimensional vectors with the points in this geometrical world of n-dimensions.
Because of this identification, vectors in the n-dimensional vector space Rn are also referred as
points in a n-dimensional space. The hyperplanes in Rn are defined by analogy with the geometrical
straight lines and planes.

10.3.3 Distance of a hyperplane from a point


In two-dimensional space, that is, in a plane, using elementary analytical geometry, it can be shown
that the perpendicular distance P N of a point P (x′1 , y1′ ) from a line

α0 + α1 x1 + α2 x2 = 0

is given by
∣α0 + α1 x′1 + α2 x′2 ∣
PN = √ .
α12 + α22
Similarly, in three-dimensional space, using elementary analytical geometry, it can be shown that
the perpendicular distance P N of a point P (x′1 , x′2 , x′3 ) from a plane

α0 + α1 x1 + α2 x2 + α3 x3 = 0

is given by (see Figure 10.10)

∣α0 + α1 x′1 + α2 x′2 + α3 x′3 ∣


PN = √ .
α12 + α22 + α32

P (x′1 , x′2 , x′3 )

N
α0 + α1 x1 + α2 x2 + α3 x3 = 0

Figure 10.10: Perpendicular distance of a point from a plane

Motivated by these special cases, we introduce the following definition.


CHAPTER 10. SUPPORT VECTOR MACHINES 144

Definition
In Rn , the perpendicular distance P N of a point P (x′1 , x′2 , . . . , x′n ) from a hyperplane

α0 + α1 x1 + α2 x2 + . . . + αn xn = 0

is given by
∣α0 + α1 x′1 + α2 x′2 + . . . + αn x′n ∣
PN = √ . (10.6)
α12 + α22 + . . . + αn2

Remarks
⃗′ = (x′1 , x′2 , . . . , x′n ) and α
Let x ⃗ = (α1 , α2 , . . . , αn ), then using the notations of inner product and
norm, Eq.(10.6) can be written in the following form:

∣α0 + α⃗⋅x
⃗′ ∣
PN = .
∥⃗
x∥′

10.4 Two-class data sets


In a machine learning problem, the variable being predicted is called the output variable, the target
variable, the dependent variable or the response. A two-class data set is a data set in which the
target variable takes only one of two possible values only. If the target variable takes more than two
possible values, the data set is called a multi-class dataset.
In a two-class data set, the set of values of the target variable may be {“yes”, “no”}, or {“TRUE”, ”FALSE”},
or {0, 1}, or {−1, +1} or any such similar set.
The methods of support vector machines were originally developed for classification problems
involving two-class data sets. So in this chapter we consider mainly two-class data sets.

10.5 Linearly separable data


10.5.1 Definitions
Consider a two-class data set having n numeric features and two possible class labels −1 and +1.
⃗ = (x1 , . . . , xn ) represent the values of the features in one instance of the data set.
Let the vector x
We say that the data set is linearly separable if we can find a hyperplane in the n-dimensional vector
space Rn , say
α0 + α1 x1 + α2 x2 + ⋯ + αn xn = 0 (10.7)
having the following two properties:
⃗ with class label −1 we have
1. For each instance x

α0 + α1 x1 + α2 x2 + ⋯ + αn xn < 0.

⃗ with class label +1 we have


2. For each instance x

α0 + α1 x1 + α2 x2 + ⋯ + αn xn > 0.

A hyperplane given by Eq.(10.7) having the two properties given above is called a separating hy-
perplane for the data set.

Remarks 1
If a data set with two class labels is linearly separable, then, in general, there will be several sepa-
rating hyperplanes for the data set. This is illustrated in the example below.
CHAPTER 10. SUPPORT VECTOR MACHINES 145

Remarks 2
Given a two-class data set, there is no simple method for determining whether the data set is linearly
separable. One of the efficient ways for doing this is to apply the methods of linear programming.
We omit the details.

10.5.2 Example
Example 1
We have seen in Section 10.1 that the data in Table 10.1 is linearly separable.

Example 2
Show that the data set given in Table 10.2 is not separable.

x y Class label
0 0 0
0 1 1
1 0 1
1 1 0

Table 10.2: Example of a two-class data that is not linearly separable

Solution
The scatterplot of data in TableTableVXOR shown in Figure 10.11 shows that the data is not linearly
separable.

Figure 10.11: Scatterplot of data in Table 10.2

10.6 Maximal margin hyperplanes


10.6.1 Definitions
Consider a linearly separable data set having two class labels “−1” and “+1”. Consider a separating
hyperplane H for the data set.
CHAPTER 10. SUPPORT VECTOR MACHINES 146

1. Consider the perpendicular distances from the training instances to the separating hyperplane
H and consider the smallest such perpendicular distance. The double of this smallest distance
is called the margin of the separating hyperplane H.
2. The hyperplane for which the margin is the largest is called the maximal margin hyperplane
(also called maximum margin hyperplane) or the optimal separating hyperplane.
3. The maximal margin hyperplane is also called the support vector machine for the data set.
4. The data points that lie closest to the maximal margin hyperplane are called the support vec-
tors.

Figure 10.12: Maximal separating hyperplane, margin and support vectors

10.6.2 Special cases


To fix ideas, let us consider two special datasets in 2-dimensional space, namely, datasets having 2
and 3 examples.

Dataset with two examples


Consider the dataset in Table 10.3.

Example no. x1 x2 Class


1 2 1 +1
2 4 3 −1

Table 10.3: 2-dimensional dataset with 2 examples

Geometrically it can be easily seen that the maximum margin hyperplane for this data is the
perpendicular bisector of the line segment joining the points (2, 1) and (4, 3) (see Figure 10.13).
This is true for any two-sample dataset in two-dimensional space.

Dataset with three examples


Consider a dataset with three examples from a two-dimensional space. Let these examples corre-
spond to the points A, B, C in the coordinate plane. Two of these examples, say B and C, must have
the same class label say +1 and the other point A must have a different class label, say −1.
The maximal margin hyperplane of the dataset can be obtained as follows. Draw the line joining
B and C and draw the line through A parallel to BC. The line midway between these two lines in
the maximal margin hyperplane of the three-sample dataset
CHAPTER 10. SUPPORT VECTOR MACHINES 147

x2

B (4, 3)

(3, 2) Midpoint of AB

Maximum margin hyperplane:


A (2, 1) x1 + x2 − 5 = 0
x1
(0, 0)

Figure 10.13: Maximal margin hyperplane of a 2-sample set in 2-dimensional space

x2

B (4, 5)

C (7, 4)

Maximal margin hyperplane


x1 + 3x2 − 27
=0
A (2, 2) 2

x1
(0, 0)

Figure 10.14: Maximal margin hyperplane of a 3-sample set in 2-dimensional space

10.7 Mathematical formulation of the SVM problem


The SVM problem is the problem of finding the equation of the SVM, that is, the maximal margin
hyperplane, given a linearly separable two-class data set. By the very definition of SVM, this is an
optimisation problem. The give below the mathematical formulation of this optimisation problem.

10.7.1 Notations and preliminaries


• Assume that we are given a two-class training dataset of N points of the form

(⃗
x1 , y1 ), (⃗
x2 , y2 ), . . . , (⃗
xN , yN ).

⃗i is a n-dimensional real vector.


where the yi ’s are either +1 or 1 (the class labels). Each x
• We assume that the dataset is linearly separable.
⃗ = (x1 , . . . , xn ) satisfying an equation of
• Any hyperplane can be written as the set of points x
the form
w⃗⋅x⃗ − b = 0.
CHAPTER 10. SUPPORT VECTOR MACHINES 148

• Since the training data is linearly separable, we can select two parallel hyperplanes that sep-
arate the two classes of data, so that the distance between them is as large as possible. The
maximum margin hyperplane is the hyperplane that lies halfway between them. It can be
shown that these hyperplanes can be described by equations of the following forms:

⃗⋅x
w ⃗ − b = +1 (10.8)
⃗⋅x
w ⃗ − b = −1 (10.9)

• For any point on or “above” the hyperplane Rq.(10.8), the class label is +1. This implies that

⃗⋅x
w ⃗i − b ≥ +1, if yi = +1 (10.10)

Similarly, for any point on or “below” the hyperplane Eq.(10.9), the class label is −1. This
implies that
w⃗⋅x
⃗i − b ≤ −1, if yi = −1. (10.11)

• The two conditions in Eq.10.10 and Eq.10.11 can be written as a single condition as follows:

⃗⋅x
yi ( w ⃗i − b) ≥ 1, for all 1 ≤ i ≤ N.

• Now, the distance between the two hyperplanes in Eq.(10.8) and Eq.(10.9) is
2
∥w∥

.

So, to maximize the distance between the planes we have to minimize ∥w∥. ⃗ Further we also
⃗ is minimum when 12 ∥w∥
note that ∥w∥ ⃗ 2 is minimum. (The square of the norm is used to avoid
square-roots and the factor “ 12 ” is introduced to simplify certain expressions.)

10.7.2 Formulation of the problem


Based on the above discussion, we now formulate the SVM problem as the following optimization
problem.

Problem
Given a two-class linearly separable dataset of N points of the form

(⃗
x1 , y1 ), (⃗
x2 , y2 ), . . . , (⃗
xN , yN ).

⃗ and a number b which


where the yi ’s are either +1 or 1, find a vector w
1
minimize ⃗ 2
∥w∥
2
subject to ⃗⋅x
yi (w ⃗i − b) ≥ 1, for i = 1, . . . N

10.7.3 The SVM classifier


The solution of the SYM problem gives us a claasifier for classifying unclassified data instances.
This is known as the SVM classifier for a given dataset.

The classifier
⃗=w
Let w ⃗ ∗ and b = b∗ be a solution of the SVM problem. Let x
⃗ be an unclassified data instance.
⃗ if w
• Assign the class label +1 to x ⃗∗ ⋅ x
⃗ − b∗ > 0.
⃗ if w
• Assign the class label −1 to x ⃗∗ ⋅ x
⃗ − b∗ < 0.
CHAPTER 10. SUPPORT VECTOR MACHINES 149

10.8 Solution of the SVM problem


The SVM optimization problem as formulated above is an example of a constrained optimization
problem. The general method for solving it is to convert it into a quadratic programming problem
and then apply the algorithms for solving quadratic programming problems. These methods yield
the following solution to the SVM problem. The details of these processes are beyond the scope of
these notes.

10.8.1 Solution
⃗ and the scalar b are given by
The vector w
N
⃗ = ∑ αi yi x
w ⃗i (10.12)
i=1
1
b= ( min (w ⃗⋅x
⃗i ) + max (w ⃗⋅x
⃗i )) (10.13)
2 i∶yi =+1 i∶yi =−1

⃗ = (α1 , α2 , . . . , αN ) is a vector which maximizes


where α
N
1 N
∑ αi − ∑ αi αj yi yj (⃗ ⃗j )
xi ⋅ x
i=1 2 i=1,j=1
subject to
N
∑ αi yi = 0
i=1
αi > 0 for i = 1, 2, . . . , N.

Remarks
It can be proved that an αi is nonzero only if x⃗i lies on the two margin boundaries, that is, only if x
⃗i
is a support vector. So, to specify a solution to the SVM problem, we need only specify the support
⃗i and the corresponding coefficients αi yi .
vectors x

10.8.2 An algorithm to find the SVM classifier


The solution of the SVM problem given in Section ?? can be used to develop an algorithm to find a
SVM classifier for linearly separable two-class dataset. Here is an outline of such an algorithm.

Algorithm to find SVM classifier

Given a two-class linearly separable dataset of N points of the form


(⃗
x1 , y1 ), (⃗
x2 , y2 ), . . . , (⃗
xN , yN ),
where the yi ’s are either +1 or 1:
⃗ = (α1 , α2 , . . . , αN ) which maximizes
Step 1. Find α
N
1 N
α ) = ∑ αi −
φ(⃗ ∑ αi αj yi yj (⃗ ⃗j )
xi ⋅ x
i=1 2 i=1,j=1
subject to
N
∑ αi yi = 0
i=1
αi > 0 for i = 1, 2, . . . , N.
CHAPTER 10. SUPPORT VECTOR MACHINES 150

⃗ = ∑N
Step 2. Compute w ⃗i .
i=1 αi yi x

Step 3. Compute b = 1
2
(mini∶yi =+1 (w
⃗⋅x
⃗i ) + maxi∶yi =−1 (w
⃗⋅x
⃗i )).

Step 4. The SVM classifier function is given by

f (⃗ ⃗⋅x
x) = w ⃗−b (10.14)

⃗i is a support vector.
where αi is nonzero only if x

Remarks
There are specialised software packages for solving the SVM optimization problem. For example,
there is a special package called svm in the R programming language to solve such problems.

10.8.3 Illustrative example


Problem 1
Using the SVM algorithm, find the SVM classifier for the follwoing data.
Example no. x1 x2 Class
1 2 1 +1
2 4 3 −1

Solution
For this data we have:

N =2
⃗1 = (2, 1),
x y1 = +1
⃗2 = (4, 3),
x y2 = −1
⃗ = (α1 , α2 )
α

Step 1. We have:
N
1 N
α) = ∑ αi −
φ(⃗ ∑ αi αj yi yj (⃗ ⃗j )
xi ⋅ x
i=1 2 i=1,j=1
1
= (α1 + α2 ) − [α1 α1 y1 y1 (⃗ ⃗1 ) + α1 α2 y1 y2 (⃗
x1 ⋅ x ⃗2 )+
x1 ⋅ x
2
α2 α1 y2 y1 (⃗ ⃗1 ) + α2 α2 y2 y2 (⃗
x2 ⋅ x ⃗2 )]
x2 ⋅ x
= (α1 + α2 )−
1 2
[α (+1)(+1)(2 × 2 + 1 × 1) + α1 α2 (+1)(−1)(2 × 4 + 1 × 3)+
2 1
α2 α1 (−1)(+1)(4 × 2 + 3 × 1) + α22 (−1)(−1)(4 × 4 + 3 × 3)]
1
= (α1 + α2 ) − [5α12 − 22α1 α2 + 25α22 ]
2
N
∑ αi yi = α1 y1 + α2 y2
i=1
= α1 − α2

We have to solve the following problem.


CHAPTER 10. SUPPORT VECTOR MACHINES 151

Problem
Find values of α1 and α2 which maximizes
1
α) = (α1 + α2 ) −
φ(⃗ [5α12 − 22α1 α2 + 25α22 ]
2
subject to the conditions
α1 − α2 = 0, α1 > 0, α2 > 0.

Solution
To find the required values of α1 and α2 , we note that from the constraints we have α2 = α1 .
Using this in the expression for φ we get

α) = 2α1 − 4α12 .
φ(⃗

For φ to be maximum we must have



= 2 − 8α1 = 0
dα1
that is
1
α1 =
4
and so we also have
1
α2 = .
4
d2 f
(For this value of α1 , clearly dα21
< 0 and f is indeed maximum. Also we have α1 > 0 and
α2 > 0.)

Step 2. Now we have


N
⃗ = ∑ αi yi x
w ⃗i
i=1
= α1 y1 x ⃗1 + α2 y2 x
⃗2
1 1
= (+1)(2, 1) + (−1)(4, 3)
4 4
1
= (−2, −2)
4
= (− 21 , − 12 )

Step 3. Next we find

1
b= ( min (w ⃗⋅x⃗i ) + max (w ⃗⋅x
⃗i ))
2 i∶yi =+1 i∶yi =−1

1
= ((w⃗⋅x ⃗ 1 ) + (w
⃗⋅x ⃗2 ))
2
1
= ((− 14 × 2 − 21 × 1) + (− 12 × 4 − 21 × 3))
2
1
= (− 10
2
)
2
5
=−
2
CHAPTER 10. SUPPORT VECTOR MACHINES 152

⃗ = (x1 , x2 ). The SVM classifier function is given by


Step 4. Let x

f (⃗ ⃗⋅x
x) = w ⃗−b
= (− 12 , − 12 ) ⋅ (x1 , x2 ) − (− 25 )
1 1 5
= − x1 − x2 +
2 2 2
1
= − (x1 + x2 − 5)
2

Step 5. The equation of the maximal margin hyperplane is

f (⃗
x) = 0

that is
1
− (x1 + x2 − 5) = 0
2
that is
x1 + x2 − 5 = 0.
Note that this the equation of the perpendicular bisector of the line segment joining the
points (2, 1) and (4, 3) (see Figure 10.13).

Problem 2
Using the SVM algorithm, find the SVM classifier for the follwoing data.
Example no. x1 x2 Class
1 2 2 −1
2 4 5 +1
3 7 4 +1

Solution
For this data we have:

N =3
⃗1 = (2, 2), y1 = −1
x
⃗2 = (4, 5), y2 = +1
x
⃗3 = (7, 4), y3 = +1
x
α⃗ = (α1 , α2 , α3 )
⃗ = (x1 , x2 )
x

Srep 1. We have
N
1 N
α) = ∑ α1 −
φ(⃗ ∑ αi αj yi yj (⃗ ⃗j )
xi ⋅ x
i=1 2 i=1,j=1
3
1 3
= ∑ α1 − ∑ αi αj yi yj (⃗ ⃗j )
xi ⋅ x
i=1 2 i=1,j=1

We have

(⃗ ⃗1 ) = 08,
x1 ⋅ x (⃗ ⃗2 ) = 18,
x1 ⋅ x (⃗ ⃗3 ) = 22
x1 ⋅ x
(⃗ ⃗1 ) = 18,
x2 ⋅ x (⃗ ⃗2 ) = 41,
x2 ⋅ x (⃗ ⃗3 ) = 48,
x2 ⋅ x
(⃗ ⃗1 ) = 22,
x3 ⋅ x (⃗ ⃗2 ) = 48,
x3 ⋅ x (⃗ ⃗3 ) = 65
x3 ⋅ x
CHAPTER 10. SUPPORT VECTOR MACHINES 153

Substituting these and simplifying we get


1
α) = (α1 + α2 + α3 ) − [8α12 + 41α22 + 65α32 − 36α1 α2 − 44α1 α3 + 96α2 α3 ]
φ(⃗
2
We also have
N
∑ αi yi = −α1 + α2 + α3
i=1

Now we have to solve the following problem.


Problem
⃗ = (α1 , α2 , α3 ) which maximizes
Find α
1
α) = (α1 + α2 + α3 ) − [8α12 + 41α22 + 65α32 − 36α1 α2 − 44α1 α3 + 96α2 α3 ]
φ(⃗
2
subject to the conditions

−α1 + α2 + α3 = 0, α1 > 0, α2 > 0, α3 > 0.

Solution
From the constraints we have
α1 = α2 + α3 .
α) and simplifying we get
Using this in the expression for φ(⃗
1
α) = 2(α2 + α3 ) − (13α22 + 32α2 α3 + 29α32 )
φ(⃗
2
α) is maximum we have
When φ(⃗

∂φ ∂φ
= 0, =0 (10.15)
∂α2 ∂α3
that is
2 − 13α2 − 16α3 = 0, 2 − 16α2 − 29α3 = 0.
Solving these equations we get
26 6
α2 = , α3 = −
121 121
Hence
26 6 20
α1 = − = .
121 121 121
(The conditions given in Eq.(??) are only necessary conditions for getting a maximum
value for φ(⃗α). It can be shown that the values for α2 and α3 obtained above do indeed
α).)
satisfy the sufficient conditions for yielding a maximum value of φ(⃗
Srep 2. Now we have
N
⃗ = ∑ αi yi x
w ⃗i
i=1
20 26 6
= (−1)(2, 2) + (+1)(4, 5) − (+1)(7, 4)
121 121 121
= ( 11
2 6
, 11 )
CHAPTER 10. SUPPORT VECTOR MACHINES 154

Srep 3. We have
1
b= ( min (w ⃗⋅x ⃗i ) + max (w ⃗⋅x
⃗i ))
2 i∶yi =+1 i∶yi =−1

1
= (min{(w ⃗⋅x ⃗2 ), (w
⃗⋅x ⃗3 )} + max{(w ⃗⋅x
⃗1 )})
2
1
= (min{ 38 , 38 } + max{ 16
11 11 11
})
2
1 38 16
= ( + )
2 11 11
27
=
11
Srep 4. The SVM classifier function is

f (⃗ ⃗⋅x
x) = w ⃗−b
2 6 27
= x1 + x2 − .
11 11 11
Srep 5. The equation of the maximal hyperplane is

f (⃗
x) = 0

that is
2 6 27
x1 + x2 − =0
11 11 11
that is
27
x1 + 3x2 − = 0.
2
(See Figure 10.14.)

10.9 Soft margin hyperlanes


The algorithm for finding the SVM classifier will give give a solution only if the the given two-class
dataset is linearly separable. But, in real life problems, two-class datasets are only rarely linearly
separable. In such a case we introduce additional variables, ξi , called slack variables which store
deviations from the margin. There are two types of deviation: An instance may lie on the wrong
side of the hyperplane and be misclassified. Or, it may be on the right side but may lie in the margin,
namely, not sufficiently away from the hyperplane (see Figure 10.15).
⃗i is correctly classified and there is no problem with x
If ξi = 0, then x ⃗i . If 0 < ξi < 1 then x ⃗i is
⃗i is misclassified. Th sum ∑N
correctly classified but it is in the margin. If ξi > 1, x i=1 ξi is defined
as the soft error and this is added as a penalty to the function to be minimized. We also introduce a
factor C to the soft error.
With these modifications, we now reformulate the SVM problem as follows (see Section 10.7.2
for the original formulation of the problem):

Reformulated problem
Given a two-class linearly separable dataset of N points of the form

(⃗
x1 , y1 ), (⃗
x2 , y2 ), . . . , (⃗
xN , yN ).

⃗ and ξ⃗ and a number b which


where the yi ’s are either +1 or 1, find vectors w
N
1
minimize ⃗ 2 + C ∑ ξi
∥w∥
2 i=1
CHAPTER 10. SUPPORT VECTOR MACHINES 155

Figure 10.15: Soft margin hyperplanes

subject to ⃗⋅x
yi (w ⃗i − b) ≥ 1 − ξi , for i = 1, . . . N
ξi ≥ 0, for i = 1, . . . , N

Remarks
1. There are algorithms for solving the reformulated SVM problem given above. The details of
these algorithms are beyond the scope of these notes.
2. The hyperplanes given by the equations

⃗⋅x
w ⃗i − b = +1 and ⃗⋅x
w ⃗i − b = −1

⃗ and b obtained as solutions of the reformulated problem, are called the


with the values of w
soft margin hyperplanes for the SVM problem.

10.10 Kernel functions


x, y⃗), where x
In the context of SVM’s, a kernel function is a function of the form K(⃗ ⃗ and y⃗ are
n-dimensional vectors, having a special property. These functions are used to obtain SVM-like
classifiers for two-class datasets which are not linearly separable.

10.10.1 Definition
Let x⃗ and y⃗ be arbitrary vectors in the n-dimensional vector space Rn . Let φ be a mapping from Rn
to some vector space. A function K(⃗ x, y⃗) is called a kernel function if there is a function φ such
that K(⃗ x, y⃗) = φ(⃗
x) ⋅ φ(⃗
y ).

10.10.2 Examples
Example 1
Let

⃗ = (x1 , x2 ) ∈ R2
x
y⃗ = (y1 , y2 ) ∈ R2

We define
x, y⃗) = (⃗
K(⃗ x ⋅ y⃗)2 .
CHAPTER 10. SUPPORT VECTOR MACHINES 156

We show that this is a kernel function. To do this, we note that

x, y⃗) = (⃗
K(⃗ x ⋅ y⃗)2
= (x1 y1 + x2 y2 )2
= x21 y12 + 2x1 y1 x2 y2 + x22 y22

Now we define

x) = (x21 ,
φ(⃗ 2x1 x2 , x22 ) ∈ R3

y ) = (y12 ,
φ(⃗ 2y1 y2 , y22 ) ∈ R3

Then we have
√ √
x) ⋅ φ(⃗
φ(⃗ y ) = x21 y12 + ( 2x1 x2 )( 2y1 y2 ) + x22 y22
= x21 y12 + 2x1 x2 y1 y2 + x22 y22
= K(⃗ x, y⃗)

x, y⃗) is indeed a kernel function.


This shows that K(⃗

Example 2
Let

⃗ = (x1 , x2 ) ∈ R2
x
y⃗ = (y1 , y2 ) ∈ R2

We define
x, y⃗) = (⃗
K(⃗ x ⋅ y⃗ + θ)2 .
We show that this is a kernel function. To do this, we note that

x, y⃗) = (⃗
K(⃗ x ⋅ y⃗ + θ)2
= (x1 y1 + x2 y2 + θ)2
= φ(⃗
x) ⋅ φ(⃗
y)

where √ √ √ √
x) = (x21 , x22 ,
φ(⃗ 2x1 x2 , 2θx1 , 2θx2 , θ) ∈ R6 .
x, y⃗) is indeed a kernel function.
This shows that K(⃗

10.10.3 Some important kernel functions


⃗ = (x1 , x2 , . . . , xn ) and y⃗ = (y1 , y2 , . . . , yn ).
In the following we assume that x
1. Homogeneous polynomial kernel

x, y⃗) = (⃗
K(⃗ x ⋅ y⃗)d
where d is some positive integer.
2. Non-homogeneous polynomial kernel

x, y⃗) = (⃗
K(⃗ x ⋅ y⃗ + θ)d
where d is some positive integer and θ is a real constant.
CHAPTER 10. SUPPORT VECTOR MACHINES 157

3. Radial basis function (RBF) kernel

2
/2σ 2
x, y⃗) = e−∥⃗x−⃗y∥
K(⃗
This is also called the Gaussian radial function kernel.1
4. Laplacian kernel function

x, y⃗) = e−∥⃗x−⃗y∥/σ
K(⃗

5. Hyperbolic tangent kernel function (Sigmoid kernel function)

x, y⃗) = tanh(α(⃗
K(⃗ x ⋅ y⃗) + c)

10.11 The kernel method (kernel trick)


10.11.1 Outline
x, y⃗).
1. Choose an appropriate kernel function K(⃗
⃗ ⋅ y⃗
2. Formulate and solve the optimization problem obtained by replacing each inner product x
x, y⃗) in the SVM optimization problem.
by K(⃗
3. In the formulation of the classifier function for the SVM problem using the inner products of
unclassified data z⃗ and input vectors x⃗i , replace each inner product z⃗ ⋅ x
⃗i with K(⃗ ⃗i ) to
z, x
obtain the new classifier function.

10.11.2 Algorithm
Algorithm of the kernel method

Given a two-class linearly separable dataset of N points of the form

(⃗
x1 , y1 ), (⃗
x2 , y2 ), . . . , (⃗
xN , yN ),

x, y⃗):
where the yi ’s are either +1 or 1 and appropriate kernel function K(⃗
⃗ = (α1 , α2 , . . . , αN ) which maximizes
Step 1. Find α
N
1 N
∑ αi − ∑ αi αj yi yj K(⃗ ⃗j )
xi , x
i=1 2 i=1,j=1

subject to
N
∑ αi yi = 0
i=1
αi > 0 for i = 1, 2, . . . , N.

⃗ = ∑N
Step 2. Compute w ⃗i .
i=1 αi yi x

Step 3. Compute b = 1
2
(mini∶yi =+1 K(w,
⃗ x⃗i ) + maxi∶yi =−1 K(w,
⃗ x⃗i )).

Step 4. The SVM classifier function is given by f (⃗


z ) = ∑N xi , z⃗) + b.
i=1 αi yi K(⃗

1 To represent this kernel as an inner product, we need map φ from Rn into an infinite-dimensional vector space. A

discussion of these ideas is beyond the scope of these notes.


CHAPTER 10. SUPPORT VECTOR MACHINES 158

10.12 Multiclass SVM’s


In machine learning, the multiclass classification is the problem of classifying instances into one of
three or more classes. Classifying instances into one of the two classes is called binary classification.
Support vector machines can be constructed only when the dataset has only two class-labels and
is linearly separable. We have already discussed a method to extend the concept of SVM’s to the
case where the dataset is not linearly separable. In this section we consider how the SVM’s can be
used to obtain classifiers when there are more than two class labels. Two methods are generally used
to handle such cases known by the names ”One-against-all" and “one-against-one”.

10.12.1 “One-against-all” method


The One-Against-All (OAA) SVMs were first introduced by Vladimir Vapnik in 1995.

Figure 10.16: One-against all

Let there be p class labels, say, c1 , c2 , . . . , cp . We construct the following p two-class datasets
and obtain the corresponding SVM classifiers. First, we assign the class labels +1 to all instances
having class label c1 and the class label −1 to all the remaining instances in the data set. Let f1 (⃗ x)
be the SVM classifier function for the resulting two-class dataset. Next, we assign the class labels
+1 to all instances having class label c2 and the class label −1 to all the remaining instances in the
data set. Let f2 (⃗
x) be the SVM classifier function for the resulting two-class dataset. We continue
like this and generate SVM classifier functions f3 (⃗ x), . . ., fp (⃗
x)
Two criteria have been developed to assign a class label to a test instance z⃗.

1. A data point z⃗ would be classified under a certain class if and only if that class’s SVM accepted
it and all other classes’ SVMs rejected it. Thus z⃗ will be assigned ci if fi (⃗
z ) > 0 and fj (⃗
z) < 0
for all j ≠ i.
2. z⃗ is the assigned the class label ci if fi (⃗
z ) has the highest value among f1 (⃗
z ), . . . , fp (⃗
z ),
regardless of sign.
Figure 10.16 illustrates the one-against-all method with three classes.

10.12.2 “One-against-one” method


In the one-against-one (OAO) (also called one-vs-one (OVO)) strategy, a SVM classifier is con-
structed for each pair of classes. If there are p different class labels, a total of p(p − 1)/2 classifiers
are constructed. An unknown instance is classified with the class getting the most votes. Ties are
broken arbitrarily.
CHAPTER 10. SUPPORT VECTOR MACHINES 159

Figure 10.17: One-against-one

For example, let there be three classes, A, B and C. In the OVO method we construct 3(3 −
1)/2 = 3 SVM binary classifiers. Now, if z⃗ is to be classified, we apply each of the three classifiers
to z⃗. Let the three classifiers assign the classes A, B, B respectively to z⃗. Since a label to z⃗ is
assigned by the majority voting, in this example, we assign the class label of B to z⃗.
One-vs-one (OVO) strategy is not a particular feature of SVM. Indeed, OVO can be applied to
any binary classifier to solve multi-class classification problem.

10.13 Sample questions


(a) Short answer questions
1. Define an hyperplane in an n-dimensional space. What are the hyperplanes in 2-dimensional
and 3-dimensional spaces?
2. Find the distance of the point (1, −2, 3) from the hyperplane

3x1 − 4x2 + 12x3 − 1 = 0.

3. What is a linearly separable dataset? Give an example. Give an example for a dataset which
is not linearly separable.

4. What is meant by maximum margin hyperplane?


5. Define the support vector machine of a two-class dataset.
6. Define the support vectors of a two-class dataset.
7. What is a kernel function? Give an example.

(b) Long answer questions


1. State the mathematical formulation of the SVM problem. Give an outline of the method for
solving the problem.
2. Explain the significance of soft margin hyperplanes and explain how they are computed.

3. Show that the function


x, y⃗) = (⃗
K(⃗ x ⋅ y⃗)3
is a kernel function.

4. What is meant by kernel trick in context of support vector machines? How is it used to find a
SVM classifier.
CHAPTER 10. SUPPORT VECTOR MACHINES 160

5. Given the following dataset, using elementary geometry find the maximum margin hyperplane
for the data. Verify the result by finding the same using the SVM algorithm.

Example x1 x2 Class label


1 2 1 −1
2 4 5 +1
3 3 6 +1
Chapter 13

Clustering methods

13.1 Clustering
Clustering or cluster analysis is the task of grouping a set of objects in such a way that objects in the
same group (called a cluster) are more similar (in some sense) to each other than to those in other
groups (clusters).
Clustering is a main task of exploratory data mining and used in many fields, including machine
learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compres-
sion, and computer graphics. It can be achieved by various algorithms that differ significantly in
their notion of what constitutes a cluster and how to efficiently find them. Popular notions of clus-
ters include groups with small distances between cluster members, dense areas of the data space,
etc.

13.1.1 Examples of data with natural clusters


In many applications, there will naturally be several groups or clusters in samples.
1. Consider the case of optical character recognition: There are two ways of writing the digit 7;
the American writing is ‘7’, whereas the European writing style has a horizontal bar in the
middle (something like −7 ). In such a case, when the sample contains examples from both
continents, the sample will contain two clusters or groups one corresponding to the American
7 and the other corresponding to the European 7−.
2. In speech recognition, where the same word can be uttered in different ways, due to different
pronunciation, accent, gender, age, and so forth, there is not a single, universal prototype. In
a large sample of utterances of a specific word, All the different ways should be represented
in the sample.

13.2 k-means clustering


13.2.1 Outline
The k-means clustering algorithm is one of the simplest unsupervised learning algorithms for solving
the clustering problem.
Let it be required to classify a given data set into a certain number of clusters, say, k clusters.
We start by choosing k points arbitrarily as the “centres” of the clusters, one for each cluster. We
then associate each of the given data points with the nearest centre. We now take the averages of
the data points associated with a centre and replace the centre with the average, and this is done for
each of the centres. We repeat the process until the centres converge to some fixed points. The data
points nearest to the centres form the various clusters in the dataset. Each cluster is represented by
the associated centre.

179
CHAPTER 13. CLUSTERING METHODS 180

13.2.2 Example
We illustrate the algorithm in the case where there are only two variables so that the data points
and cluster centres can be geometrically represented by points in a coordinate plane. The distance
between the points (x1 , x2 ) and (y1 , y2 ) will be calculated using the familiar distance formula of
elementary analytical geometry:

(x1 − y1 )2 + (x2 − y2 )2 .

Problem
Use k-means clustering algorithm to divide the following data into two clusters and also compute
the the representative data points for the clusters.

x1 1 2 2 3 4 5
x2 1 1 3 2 3 5

Table 13.1: Data for k-means algorithm example

Solution

x2

0 1 2 3 4 5 x1

Figure 13.1: Scatter diagram of data in Table 13.1

1. In the problem, the required number of clusters is 2 and we take k = 2.


2. We choose two points arbitrarily as the initial cluster centres. Let us choose arbitrarily (see
Figure 13.2)
v⃗1 = (2, 1), v⃗2 = (2, 3).

3. We compute the distances of the given data points from the cluster centers.
CHAPTER 13. CLUSTERING METHODS 181

x2

3 v⃗2

1 v⃗1

0 1 2 3 4 5 x1

Figure 13.2: Initial choice of cluster centres and the resulting clusters

⃗i
x Data point Distance Distance Minimum Assigned
from v⃗1 = (2, 1) from v⃗2 = (2, 3) distance center
⃗1
x (1, 1) 1 2.24 1 v⃗1
⃗2
x (2, 1) 0 2 0 v⃗1
⃗3
x (2, 3) 2 0 0 v⃗2
⃗4
x (3, 2) 1.41 1.41 0 v⃗1
⃗5
x (4, 3) 2.82 2 2 v⃗2
⃗6
x (5, 5) 5 3.61 3.61 v⃗2

⃗4 from v⃗1 and v⃗2 are equal. We have assigned v⃗1 to x


(The distances of x ⃗4 arbitrarily.)
This divides the data into two clusters as follows (see Figure 13.2):
Cluster 1: {⃗ ⃗2 , x
x1 , x ⃗4 } represented by v⃗1
Number of data points in Cluster 1: c1 = 3.
Cluster 2 : {⃗ ⃗5 , x
x3 , x ⃗6 } represented by v⃗2
Number of data points in Cluster 2: c2 = 3.
4. The cluster centres are recalculated as follows:
1
v⃗1 = (⃗ ⃗2 + x
x1 + x ⃗4 )
c1
1
= (⃗ ⃗2 + x
x1 + x ⃗4 )
3
= (2.00, 1.33)
1
v⃗2 = (⃗ ⃗5 + x
x3 + x ⃗6 )
c2
1
= (⃗ ⃗5 + x
x3 + x ⃗6 )
3
= (3.67, 3.67)

5. We compute the distances of the given data points from the new cluster centers.
CHAPTER 13. CLUSTERING METHODS 182

⃗i
x Data point Distance Distance Minimum Assigned
from v⃗1 = (2, 1) from v⃗2 = (2, 3) distance center
⃗1
x (1, 1) 1.05 3.77 1.05 v⃗1
⃗2
x (2, 1) 0.33 3.14 0.33 v⃗1
⃗3
x (2, 3) 1.67 1.80 1.67 v⃗1
⃗4
x (3, 2) 1.20 1.80 1.20 v⃗1
⃗5
x (4, 3) 2.60 0.75 0.75 v⃗2
⃗6
x (5, 5) 4.74 1.89 1.89 v⃗2

This divides the data into two clusters as follows (see Figure 13.4):
Cluster 1 : {⃗ ⃗2 , x
x1 , x ⃗3 , x
⃗4 } represented by v⃗1
Number of data points in Cluster 1: c1 = 4.
Cluster 2 : {⃗ ⃗6 } represented by v⃗2
x5 , x
Number of data points in Cluster 1: c2 = 2.
6. The cluster centres are recalculated as follows:
1
v⃗1 == (⃗ ⃗2 + x
x1 + x ⃗3 + x
⃗4 )
c1
1
= (⃗ ⃗2 + x
x1 + x ⃗3 + x
⃗4 )
4
= (2.00, 1.33)
1
v⃗2 = (⃗ ⃗6 ) = (3.67, 3.67)
x5 + x
2

x2

4
v⃗2
3

2
v⃗1
1

0 1 2 3 4 5 x1

Figure 13.3: Cluster centres after first iteration and the corresponding clusters

7. We compute the distances of the given data points from the new cluster centers.
4.609772 3.905125 2.692582 2.500000 1.118034 1.118034
CHAPTER 13. CLUSTERING METHODS 183

⃗i
x Data point Distance Distance Minimum Assigned
from v⃗1 = (2, 1) from v⃗2 = (2, 3) distance center
⃗1
x (1, 1) 1.25 4.61 1.25 v⃗1
⃗2
x (2, 1) 0.75 3.91 0.75 v⃗1
⃗3
x (2, 3) 1.25 2.69 1.25 v⃗1
⃗4
x (3, 2) 1.03 2.50 1.03 v⃗1
⃗5
x (4, 3) 2.36 1.12 1.12 v⃗2
⃗6
x (5, 5) 4.42 1.12 1.12 v⃗2

This divides the data into two clusters as follows (see Figure ??):
Cluster 1 : {⃗ ⃗2 , x
x1 , x ⃗3 , x
⃗4 } represented by v⃗1
Number of data points in Cluster 1: c1 = 4.
Cluster 2 : {⃗ ⃗6 } represented by v⃗2
x5 , x
Number of data points in Cluster 1: c1 = 2.
8. The cluster centres are recalculated as follows:
1
v⃗1 = (⃗ ⃗2 + x
x1 + x ⃗3 + x
⃗4 )
c1
1
= (⃗ ⃗2 + x
x1 + x ⃗3 + x
⃗4 )
4
= (2.00, 1.75)
1
v⃗2 = (⃗ ⃗6 )
x5 + x
c2
1
= (⃗ ⃗6 )
x5 + x
2
= (4.00, 4.50)

x2

4 v⃗2

2
v⃗1

0 1 2 3 4 5 x1

Figure 13.4: New cluster centres and the corresponding clusters

9. This divides the data into two clusters as follows (see Figure ??):
Cluster 1 : {⃗ ⃗2 , x
x1 , x ⃗3 , x
⃗4 } represented by v⃗1
Cluster 2 : {⃗ ⃗6 } represented by v⃗2
x5 , x
CHAPTER 13. CLUSTERING METHODS 184

10. The cluster centres are recalculated as follows:


1
v⃗1 = (⃗ ⃗2 + x
x1 + x ⃗3 + x
⃗4 ) = (2.00, 1.75)
4
1
v⃗2 = (⃗ ⃗6 ) = (4.00, 4.50)
x5 + x
2
We note that these are identical to the cluster centres calculated in Step 8. So there will be no
reassignment of data points to different clusters and hence the computations are stopped here.
11. Conclusion: The k means clustering algorithm with k = 2 applied to the dataset in Table 13.1
yields the following clusters and the associated cluster centres:
Cluster 1 : {⃗ ⃗2 , x
x1 , x ⃗3 , x
⃗4 } represented by v⃗1 = (2.00, 1.75)
Cluster 2 : {⃗ ⃗6 } represented by v⃗2 = (2.00, 4.75)
x5 , x

13.2.3 The algorithm


Notations
We assume that each data point is a n-dimensional vector:
⃗ = (x1 , x2 , . . . , xn ).
x
The distance between two data points
⃗ = (x1 , x2 , . . . , xn )
x
and
y⃗ = (y1 , y2 , . . . , xn )
is defined as √
x − y⃗∣∣ =
∣∣⃗ (x1 − y1 )2 + ⋯(xn − yn )2 .
Let X = {⃗ ⃗N } be the set of data points, V = {⃗
x1 , . . . , x v1 , . . . , v⃗k } be the set of centres and ci for
i = 1, . . . , k be the number of data points in the i-th cluster

Basic idea
What the algorithm aims to achieve is to find a partition the set X into k mutually disjoint subsets
S = {S1 , S2 , . . . , Sk } and a set of data points V which minimizes the following within-cluster sum
of errors:
k
x − v⃗i ∣∣2
∑ ∑ ∣∣⃗
i=1 x
⃗∈Si

Algorithm
Step 1. Randomly select k cluster centers v⃗1 , . . . , v⃗k .
⃗i and each cluster center v⃗j .
Step 2. Calculate the distance between each data point x
Step 3. For each j = 1, 2, . . . , N , assign the data point x ⃗j to the cluster center v⃗i for which the
xj − v⃗i ∣∣ is minimum. Let x
distance ∣∣⃗ ⃗i1 , x
⃗i2 , . . ., x
⃗ici be the data points assigned to v⃗i .
Step 4. Recalculate the cluster centres using
1
v⃗i = (⃗ ⃗ici ),
xi1 + ⋯ + x i = 1, 2, . . . , k.
ci

Step 5. Recalculate the distance between each data point and newly obtained cluster centers.
Step 6. If no data point was reassigned then stop. Otherwise repeat from Step 3.
CHAPTER 13. CLUSTERING METHODS 185

Some methods for initialisation


The following are some of the methods for choosing the initial vi ’s.
• Randomly take some k data points as the initial vi ’s.
• Calculate the mean of all data and add small random vectors to the mean to get the k initial
vi ’s.
• Calculate the principal component, divide its range into k equal intervals, partition the data
into k groups, and then take the means of these groups as the initial centres.

13.2.4 Disadvantages
Even though the k-means algorithm is fast, robust and easy to understand, there are several disad-
vantages to the algorithm.
• The learning algorithm requires apriori specification of the number of cluster centers.
• The final cluster centres depend on the initial vi ’s.
• With different representation of data we get different results (data represented in form of
cartesian co-ordinates and polar co-ordinates will give different results).
• Euclidean distance measures can unequally weight underlying factors.
• The learning algorithm provides the local optima of the squared error function.
• Randomly choosing of the initial cluster centres may not lead to a fruitful result.
• The algorithm cannot be applied to categorical data.

13.2.5 Application: Image segmentation and compression


Image segmentation
The goal of segmentation is to partition an image into regions each of which has a reasonably
homogeneous visual appearance or which corresponds to objects or parts of objects. Each pixel in
an image is a point in a 3-dimensional space comprising the intensities of the red, blue, and green
channels. A segmentation algorithm simply treats each pixel in the image as a separate data point.
For any value of k, each pixel is replaced by the pixel vector with the (R, G, B) intensity triplet
given by the centre µk to which that pixel has been assigned. For a given value of k, the algorithm
is representing the image using a palette of only k colours. It should be emphasized that this use of
k-means is a very crude approach to image segmentation. The image segmentation problem is in
general extremely difficult.

Data compression
We can also the clustering algorithm to perform data compression. There are two types of data
compression: lossless data compression, in which the goal is to be able to reconstruct the original
data exactly from the compressed representation, and lossy data compression, in which we accept
some errors in the reconstruction in return for higher levels of compression than can be achieved in
the lossless case.
We can apply the k-means algorithm to the problem of lossy data compression as follows. For
each of the N data points, we store only the identity of the cluster to which it is assigned. We also
store the values of the k cluster centres µk , which requires much less data, provided we choose
k much smaller than N . Each data point is then approximated by its nearest centre µk . New data
points can similarly be compressed by first finding the nearest µk and then storing the label k instead
of the original data vector. This framework is often called vector quantization, and the vectors Îijµk
are called code-book vectors.
CHAPTER 13. CLUSTERING METHODS 186

13.3 Multi-modal distributions


13.3.1 Definitions
1. In statistics, a unimodal distribution is a continuous probability distribution with only one
mode (or “peak”).
A random variable having the normal distribution is a unimodal distribution. Similarly, the
t-distribution and the chi-squared distribution are also unimodal distributions.

Unimodal Bimodal Multimodal

Figure 13.5: Probability distributions

2. A bimodal distribution is a continuous probability distribution with two different modes. The
modes appear as distinct peaks in the graph of the probability density function.
3. A multimodal distribution is a continuous probability distribution with two or more modes.

13.4 Mixture of normal distributions


13.4.1 Bimodal mixture
Consider the following functions which are probability density functions of normally distributed
random variables.
(x−µ1 )2
1 −
f1 (x) = √ e 2σ 2
1 (13.1)
σ1 2π
(x−µ2 )2
1 −
f2 (x) = √ e 2σ 2
2 (13.2)
σ2 2π
Now consider the following function:

f (x) = π1 f1 (x) + π2 f2 (x) (13.3)

where π1 and π2 are some constants satisfying the relation

π1 + π2 = 1. (13.4)

It can be shown that the function given in Eq.(13.3) together with Eq.(13.4) defines a probability
density function. It can also be shown that the graph of this function has two peaks. Hence this
function defines a bimodal distribution. This distribution is called a mixture of the normal distribu-
tions defined by Eqs.(13.1) and (13.2). We may mix more than two normal distributions.
CHAPTER 13. CLUSTERING METHODS 187

13.4.2 Definition
Consider the following k probability density functions:
(x−µi )2
1 −
fi (x) = √ e 2σ 2
i , i = 1, 2, . . . , k. (13.5)
σi 2π
Let π1 , π2 , . . . , πk be constants such that

πi ≥ 0, i = 1, 2, . . . , k (13.6)
π1 + π2 + ⋯ + πk = 1. (13.7)

Then the random variable X whose probability density function is

f (x) = f1 (x) + f2 (x) + ⋯ + fk (x), (13.8)

is said to be a mixture of the k normal distributions having the probability density functions defined
in Eq.(13.5).

A natural example
As a natural example for such mixtures of normal populations, we consider the probability distribu-
tion of heights of people in a region. This is a mixture of two normal distributions: the distribution
of heights of males and the distribution of heights of females. Given only the height data and not
the gender assignments for each data point, the distribution of all heights would follow the weighted
sum of two normal distributions.

13.4.3 Example for mixture of two normal distributions


Data and histogram
Consider the 100 observations of some attribute X given in Table 13.2.

[1] 5.39 1.30 2.95 2.16 2.37 2.33 4.76 2.99 1.71 2.41
[11] 2.71 2.79 0.54 1.37 5.16 1.22 1.58 4.34 3.83 3.44
[21] 3.68 5.03 0.92 2.57 1.97 2.17 5.02 2.73 1.63 3.09
[31] 4.05 3.76 3.13 6.50 5.10 3.62 3.14 2.36 2.73 4.08
[41] 3.28 2.28 1.52 3.86 2.10 0.86 2.94 2.18 3.39 2.55
[51] 3.23 3.30 2.16 3.86 1.92 2.55 4.33 0.86 2.68 2.24
[61] 2.82 3.63 2.84 3.82 2.49 3.25 2.39 3.18 6.35 4.16
[71] 6.68 5.26 8.00 6.27 7.98 6.50 6.56 8.50 7.48 6.42
[81] 5.99 7.44 6.96 7.10 8.48 6.99 7.29 6.87 6.71 7.99
[91] 8.19 8.28 6.98 7.43 8.33 5.65 8.96 7.36 5.24 7.30
Table 13.2: A set of 100 observations of a numeric attribute X

To make some sense of this set of observations, let us construct the frequency table for the data
as in Table 13.3.

Range 0-1 1-2 2-3 3-4 4-5 5-6 6-7 7 -8 8-9 9-10
Frequency 4 9 26 18 6 9 12 9 7 0
Relative
frequency 0.04 0.09 0.26 0.18 0.06 0.09 0.12 0.09 0.07 0.00

Table 13.3: Frequency table of data in Table 13.2


CHAPTER 13. CLUSTERING METHODS 188

Figure 13.6 shows the histogram of the relative frequencies. Notice that the histogram has two
“peaks”, one near x = 2.5 and one near x = 6.5. So, the graph of the probability density function of
the attribute X must have two peaks. Recall that the graph of the probability density function of a
random variable having the normal distribution has only one peak.

Probability distribution
The data in Table 13.2 was generated using the R programming language. It is a true “mixture” of
the values two normally distributed random variables. 70% of the observations are random values
of a normally distributed random variable with µ1 = 3 and σ1 = 1.20 and 30% of the observations
are values of a normally distributed random variable with µ2 = 7 and σ2 = 0.87. The weight for the
first normal distribution is π1 = 70% = 0.7 and that for the second distribution is π2 = 30% = 0.3.
The probability density function for the mixed distribution is
1 2 2 1 2 2
f (x) = 0.7 × √ e−(x−3) /(2×1.20 ) + 0.3 × √ e−(x−7) /(2×0.87 ) . (13.9)
1.20 2π 0.87 2π
Figure 13.6 also shows the curve defined by Eq.(13.9) superimposed on the histogram of the relative
frequency distribution.

Figure 13.6: Graph of pdf defined by Eq.(13.9) superimposed on the histogram of the data in Table
13.3

13.5 Mixtures in terms of latent variables


Consider the mixture of k normal distributions defined by Eqs.(13.5) – (13.8).
Let us define a k-dimensional random variable

Z⃗ = (z1 , z2 , . . . , zk )
CHAPTER 13. CLUSTERING METHODS 189

where each z1 is either 0 or 1 and a 1 appears only at one place; that is,
zi ∈ {0, 1} and z1 + z2 + ⋯ + zk = 0.
We also assume that
P (zk = 1) = πk .

The probability function of Z can be written in the form
⃗ = π z1 π z2 . . . π zk .
P (Z) 1 2 k

Now, suppose we have a set of observations {x1 , x2 , . . . , xN }. Suppose that, in some way, we
can associate a value of the random variable Z, ⃗ say Z⃗i , with each value xi and think of the given set
of observations as a set of ordered pairs
{(x1 , Z⃗1 ), (x2 , Z⃗2 ), . . . , (xN , Z⃗N )}.
Here, only the xi -s are known; the Z⃗i -s are unknown. Let us further assume that the conditional
⃗ be given by
probability distribution p(x∣Z)
⃗ = [f1 (x)]z1 × ⋯ × [fk (x)]zk .
p(x∣Z)
Then the marginal distribution of x is given by
⃗ (x∣Z)
p(x) = ∑ p(Z)P ⃗

Z
= π1 f1 (x) + ⋯ + πk fk (x). (13.10)
The right hand side of Eq.(13.10) is the probability density function of a mixture of k normal distri-
butions with weights π1 , . . . , πk .
Thus, a mixture of normal distributions is the marginal distribution of a bivariate distribution
⃗ where Z⃗ is an unobserved or latent variable.
(x, Z)

13.6 Expectation-maximisation algorithm


The maximum likelihood estimation method (MLE) is a method for estimating the parameters of a
statistical model, given observations (see Section 6.5 for details). The method attempts to find the
parameter values that maximize the likelihood function, or equivalently the log-likelihood function,
given the observations.
The expectation-maximisation algorithm (sometimes abbreviated as the EM algorithm) is used
to find maximum likelihood estimates of the parameters of a statistical model in cases where the
equations cannot be solved directly. These models generally involve latent or unobserved variables
in addition to unknown parameters and known data observations. For example, a Gaussian mixture
model can be described by assuming that each observed data point has a corresponding unobserved
data point, or latent variable, specifying the mixture component to which each data point belongs.
The EM Algorithm is not really an algorithm. Rather it is a general procedure to create algo-
rithms for specific MLE problems. The complete details of this general procedure are beyond the
scope of this book. However, we present below a minimal outline of the algorithm

Outline of EM algorithm
Step 1. Initialise the parameters θ to be estimated.
Step 2. Expectation step (E-step)
Take the expected value of the complete data given the observation and the current param-
eter estimate, say, θ̂j . This is a function of θ and θ̂j , say, Q(θ, θ̂j ).
Step 3. Maximization step (M-step)
Find the values θ that maximizes the function Q(θ, θ̂j ).
Step 4. Repeat Steps 1 and 2 until the parameter values or the likelihood function converge.
CHAPTER 13. CLUSTERING METHODS 190

13.7 The EM algorithm for Gaussian mixtures


In the case of Gaussian mixture problems, because of the nature of the function, finding a maximum
likelihood estimate by taking the derivatives of the log-likelihood function with respect to all the
parameters and simultaneously solving the resulting equations is nearly impossible. So we apply the
EM algorithm to solve the problem.
As already indicated, the EM algorithm is a general procedure for estimating the parameters
in a statistical model. This algorithm can be adapted to develop an algorithm for estimating the
parameters in a Gaussian mixture model. The adapted EM algorithm has been explained below.
(The details of how the EM algorithm can be adapted to estimate the parameters in a Gaussian
mixture model are also beyond the scope of this book. For details on these matters, one may refer to
[1]).

Problem
Suppose we are given a set of N observations

{x1 , x2 , . . . , xN }

of a numeric variable X. Let X be a mix of k normal distributions and let the probability density
function of X be
f (x) = π1 f1 (x) + ⋯ + πk fk (x)
where

πi ≥ 0, i = 1, 2, . . . , k
πi + ⋯ + πk = 1
(x−µi )2
1 −
fi (x) = √ e 2σ 2
i , i = 1, 2, . . . , k.
σi 2π
Estimate the parameters µ1 , . . . , µk , σ1 , . . . , σk and π1 . . . , πk .

Log-likelihood function
Let θ denote the set of parameters µi , σi , πi (i = 1, . . . , k). The log-likelihood function for the above
problem is given below:

log L(θ) = log f (x1 ) + ⋯ + log f (xN )


2
⎛ π1 − i 2k ⎞
2
N (x −µ ) (x −µ )
− i 21 πk
= ∑ log √ e 2σ1 + ⋯ + √ e 2σk (13.11)
i=1 ⎝ σ1 2π σk 2π ⎠

The algorithm
Step 1. Initialise the means µi ’s, the variances σi2 ’s and the mixing coefficients πi ’s.
Step 2. Calculate the following for n = 1, . . . , N and i = 1, . . . , k:

πi fi (xn )
γin =
π1 f1 (xn ) + ⋯ + πk fk (xn )
Ni = γi1 + ⋯ + γiN

Step 3. Recalculate the parameters using the following:


1
µ(new)
i = (γi1 x1 + ⋯γiN xN )
Ni
CHAPTER 13. CLUSTERING METHODS 191

1
σi2(new) = (γi1 (x1 − µ(new)
i )2 + ⋯ + γiN (x1 − µ(new)
i )2 )
Ni
Ni
πi(new) =
N

Step 4. Evaluate the log-likelihood function given in Eq.(13.11) and check for convergence of ei-
ther the parameters or the log-likelihood function. If the convergence criterion is not satis-
fied, return to Step 2.

13.8 Hierarchical clustering


Hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster
analysis which seeks to build a hierarchy of clusters (or groups) in a given dataset. The hierarchical
clustering produces clusters in which the clusters at each level of the hierarchy are created by merg-
ing clusters at the next lower level. At the lowest level, each cluster contains a single observation.
At the highest level there is only one cluster containing all of the data.
The decision regarding whether two clusters are to be merged or not is taken based on the mea-
sure of dissimilarity between the clusters. The distance between two clusters is usually taken as the
measure of dissimilarity between the clusters.
In Section ??, we shall see various methods for measuring the distance between two clusters.

13.8.1 Dendrograms
Hierarchical clustering can be represented by a rooted binary tree. The nodes of the trees represent
groups or clusters. The root node represents the entire data set. The terminal nodes each represent
one of the individual observations (singleton clusters). Each nonterminal node has two daughter
nodes.
The distance between merged clusters is monotone increasing with the level of the merger. The
height of each node above the level of the terminal nodes in the tree is proportional to the value of
the distance between its two daughters (see Figure 13.9).
A dendrogram is a tree diagram used to illustrate the arrangement of the clusters produced by
hierarchical clustering.
The dendrogram may be drawn with the root node at the top and the branches growing vertically
downwards (see Figure 13.8(a)). It may also be drawn with the root node at the left and the branches
growing horizontally rightwards (see Figure 13.8(b)). In some contexts, the opposite directions may
also be more appropriate.
Dendrograms are commonly used in computational biology to illustrate the clustering of genes
or samples.

Example
Figure 13.7 is a dendrogram of the dataset {a, b, c, d, e}. Note that the root node represents the en-
tire dataset and the terminal nodes represent the individual observations. However, the dendrograms
are presented in a simplified format in which only the terminal nodes (that is, the nodes represent-
ing the singleton clusters) are explicitly displayed. Figure 13.8 shows the simplified format of the
dendrogram in Figure 13.7.
Figure 13.9 shows the distances of the clusters at the various levels. Note that the clusters are at
4 levels. The distance between the clusters {a} and {b} is 15, between {c} and {d} is 7.5, between
{c, d} and {e} is 15 and between {a, b} and {c, d, e} is 25.

13.8.2 Methods for hierarchical clustering


There are two methods for the hierarchical clustering of a dataset. These are known as the agglom-
erative method (or the bottom-up method) and the divisive method (or, the top-down method).
CHAPTER 13. CLUSTERING METHODS 192

a, b, c, d, e

a, b c, d, e

c, d

a b c d e

Figure 13.7: A dendrogram of the dataset {a, b, c, d, e}

e
d

a b c d e a
(a) (b)

Figure 13.8: Different ways of drawing dendrogram

Distance
25 Level 4
20
15 Level 3
10
Level 2
5
0 a c Level 1
b d e

Figure 13.9: A dendrogram of the dataset {a, b, c, d, e} showing the distances (heights) of the clus-
ters at different levels

Agglomerative method
In the agglomerative we start at the bottom and at each level recursively merge a selected pair of
clusters into a single cluster. This produces a grouping at the next higher level with one less cluster.
If there are N observations in the dataset, there will be N −1 levels in the hierarchy. The pair chosen
for merging consist of the two groups with the smallest “intergroup dissimilarity”.
For example, the hierarchical clustering shown in Figure 13.7 can be constructed by the agglom-
erative method as shown in Figure 13.10. Each nonterminal node has two daughter nodes. The
daughters represent the two groups that were merged to form the parent.
CHAPTER 13. CLUSTERING METHODS 193

a b c d e
Step 1

a, b

a b c d e
Step 2

a, b c, d

a b c d e
Step 3

a, b c, d, e

c, d

a b c d e
Step 4

a, b, c, d, e

a, b c, d, e

c, d

a b c d e
Step 5

Figure 13.10: Hierarchical clustering using agglomerative method


CHAPTER 13. CLUSTERING METHODS 194

Divisive method
The divisive method starts at the top and at each level recursively split one of the existing clusters at
that level into two new clusters. If there are N observations in the dataset, there the divisive method
also will produce N − 1 levels in the hierarchy. The split is chosen to produce two new groups with
the largest “between-group dissimilarity”.
For example, the hierarchical clustering shown in Figure 13.7 can be constructed by the divi-
sive method as shown in Figure 13.11. Each nonterminal node has two daughter nodes. The two
daughters represent the two groups resulting from the split of the parent.

13.9 Measures of dissimilarity


In order to decide which clusters should be combined (for agglomerative), or where a cluster should
be split (for divisive), a measure of dissimilarity between sets of observations is required. In most
methods of hierarchical clustering, the dissimilarity between two groups of observations is measured
by using an appropriate measure of distance between the groups of observations. The distance
between two groups of observations is defined in terms of the distance between two observations.
There are several ways in which the distance between two observations can be defined and also there
are also several ways in which the distance between two groups of observations can be defined.

13.9.1 Measures of distance between data points


Numeric data
We assume that each observation or data point is a n-dimensional vector. Let x ⃗ = (x1 , . . . , xn )
and y⃗ = (y1 , . . . , yn ) be two observations. Then the following are the commonly used measures of
distances in the hierarchical clustering of numeric data.

Name Formula

Euclidean distance x − y⃗∣∣2 =
∣∣⃗ (x1 − y1 )2 + ⋯ + (xn − yn )2
Squared Euclidean distance x − y⃗∣∣22 = (x1 − y1 )2 + ⋯ + (xn − yn )2
∣∣⃗
Manhattan distance x − y⃗∣∣1 = ∣x1 − y1 ∣ + ⋯ + ∣xn − yn ∣
∣∣⃗
Maximum distance x − y⃗∣∣∞ = max{∣x1 − y1 ∣, . . . , ∣xn − yn ∣}
∣∣⃗

Non-numeric data
For text or other non-numeric data, metrics such as the Levenshtein distance are often used.
The Levenshtein distance is a measure of the ”distance” between two words. The Levenshtein
distance between two words is the minimum number of single-character edits (insertions, deletions
or substitutions) required to change one word into the other.
For example, the Levenshtein distance between “kitten” and “sitting” is 3, since the following
three edits change one into the other, and there is no way to do it with fewer than three edits:

kitten → sitten (substitution of “s” for “k”)


sitten → sittin (substitution of “i” for “e”)
sittin → sitting (insertion of‘g” at the end)

13.9.2 Measures of distance between groups of data points


Let A and B be two groups of observations and let x and y be arbitrary data points in A and B
respectively. Suppose we have chosen some formula, say Euclidean distance formula, to measure
the distance between data points. Let d(x, y) denote the distance between x and y. We denote by
CHAPTER 13. CLUSTERING METHODS 195

a, b, c, d, e

Step 1

a, b, c, d, e

a, b c, d, e

Step 2

a, b, c, d, e

a, b c, d, e

a b

Step 3

a, b, c, d, e

a, b c, d, e

a b c, d e

Step 4

a, b, c, d, e

a, b c, d, e

c, d

a b c d e
Step 5

Figure 13.11: Hierarchical clustering using divisive method


CHAPTER 13. CLUSTERING METHODS 196

d(A, B) the distance between the groups A and B. The following are some of the different methods
in which d(A, B) is defined.
1. d(A, B) = max{d(x, y) ∶ x ∈ A, y ∈ B}.
Agglomerative hierarchical clustering using this measure of dissimilarity is known as complete-
linkage clustering. The method is also known as farthest neighbour clustering.

a
e

b c
B
A

Figure 13.12: Length of the solid line “ae” is max{d(x, y) ∶ x ∈ A, y ∈ B}

2. d(A, B) = min{d(x, y) ∶ x ∈ A, y ∈ B}.


Agglomerative hierarchical clustering using this measure of dissimilarity is known as single-
linkage clustering. The method is also known as nearest neighbour clustering.

a
e

b c
B
A

Figure 13.13: Length of the solid line “bc” is min{d(x, y) ∶ x ∈ A, y ∈ B}

1
3. d(A, B) = ∑ d(x, y) where ∣A∣, ∣B∣ are respectively the number of elements in
∣A∣ ∣B∣ x∈A,y∈B
A and B.
Agglomerative hierarchical clustering using this measure of dissimilarity is known as mean
or average linkage clustering. It is also known as UPGMA (Unweighted Pair Group Method
with Arithmetic Mean).

13.10 Algorithm for agglomerative hierarchical clustering


Given a set of N items to be clustered and an N × N distance matrix, required to construct a
hierarchical clustering of the data using the agglomerative method.
Step 1. Start by assigning each item to its own cluster, so that we have N clusters, each containing
just one item. Let the distances between the clusters equal the distances between the items
they contain.
CHAPTER 13. CLUSTERING METHODS 197

Step 2. Find the closest pair of clusters and merge them into a single cluster, so that now we have
one less cluster.
Step 3. Compute distances between the new cluster and each of the old clusters.
Step 4. Repeat Steps 2 and 3 until all items are clustered into a single cluster of size N .

13.10.1 Example
Problem 1
Given the dataset {a, b, c, d, e} and the following distance matrix, construct a dendrogram by complete-
linkage hierarchical clustering using the agglomerative method.

a b c d e
a 0 9 3 6 11
b 9 0 7 5 10
c 3 7 0 9 2
d 6 5 9 0 8
e 11 10 2 8 0

Table 13.4: Example for distance matrix

Solution
The complete-linkage clustering uses the “maximum formula”, that is, the following formula to
compute the distance between two clusters A and B:

d(A, B) = max{d(x, y) ∶ x ∈ A, y ∈ B}

1. Dataset : {a, b, c, d, e}.


Initial clustering (singleton sets) C1 : {a}, {b}, {c}, {d}, {e}.
2. The following table gives the distances between the various clusters in C1 :

{a} {b} {c} {d} {e}


{a} 0 9 3 6 11
{b} 9 0 7 5 10
{c} 3 7 0 9 2
{d} 6 5 9 0 8
{e} 11 10 2 8 0

In the above table, the minimum distance is the distance between the clusters {c} and {e}.
Also
d({c}, {e}) = 2.

We merge {c} and {e} to form the cluster {c, e}.


The new set of clusters C2 : {a}, {b}, {d}, {c, e}.
3. Let us compute the distance of {c, e} from other clusters.
d({c, e}, {a}) = max{d(c, a), d(e, a)} = max{3, 11} = 11.
d({c, e}, {b}) = max{d(c, b), d(e, b)} = max{7, 10} = 10.
d({c, e}, {d}) = max{d(c, d), d(e, d)} = max{9, 8} = 9.
The following table gives the distances between the various clusters in C2 .
CHAPTER 13. CLUSTERING METHODS 198

{a} {b} {d} {c, e}


{a} 0 9 6 11
{b} 9 0 5 10
{d} 6 5 0 9
{c, e} 11 10 9 0

In the above table, the minimum distance is the distance between the clusters {b} and {d}.
Also
d({b}, {d}) = 5.

We merge {b} and {d} to form the cluster {b, d}.


The new set of clusters C3 : {a}, {b, d}, {c, e}.
4. Let us compute the distance of {b, d} from other clusters.
d({b, d}, {a}) = max{d(b, a), d(d, a)} = max{9, 6} = 9.
d({b, d}, {c, e}) = max{d(b, c), d(b, e), d(d, c), d(d, e)} = max{7, 10, 9, 8} = 10.
The following table gives the distances between the various clusters in C3 .

{a} {b, d} {c, e}


{a} 0 9 11
{b, d} 9 0 10
{c, e} 11 10 0

In the above table, the minimum distance is the distance between the clusters {a} and {b, d}.
Also
d({a}, {b, d}) = 9.

We merge {a} and {b, d} to form the cluster {a, b, d}.


The new set of clusters C4 : {a, b, d}, {c, e}

5. Only two clusters are left. We merge them form a single cluster containing all data points. We
have

d({a, b, d}, {c, e}) = max{d(a, c), d(a, e), d(b, c), d(b, e), d(d, c), d(d, e)}
= max{3, 11, 7, 10, 9, 8}
= 11

6. Figure 13.14 shows the dendrogram of the hierarchical clustering.

Problem 2
Given the dataset {a, b, c, d, e} and the distance matrix given in Table 13.4, construct a dendrogram
by single-linkage hierarchical clustering using the agglomerative method.

Solution
The complete-linkage clustering uses the “maximum formula”, that is, the following formula to
compute the distance between two clusters A and B:

d(A, B) = min{d(x, y) ∶ x ∈ A, y ∈ B}

1. Dataset : {a, b, c, d, e}.


Initial clustering (singleton sets) C1 : {a}, {b}, {c}, {d}, {e}.
CHAPTER 13. CLUSTERING METHODS 199

Distance

10

0 a c e
b d

Figure 13.14: Dendrogram for the data given in Table 13.4 (complete linkage clustering)

2. The following table gives the distances between the various clusters in C1 :

{a} {b} {c} {d} {e}


{a} 0 9 3 6 11
{b} 9 0 7 5 10
{c} 3 7 0 9 2
{d} 6 5 9 0 8
{e} 11 10 2 8 0

In the above table, the minimum distance is the distance between the clusters {c} and {e}.
Also
d({c}, {e}) = 2.

We merge {c} and {e} to form the cluster {c, e}.


The new set of clusters C2 : {a}, {b}, {d}, {c, e}.
3. Let us compute the distance of {c, e} from other clusters.
d({c, e}, {a}) = min{d(c, a), d(e, a)} = max{3, 11} = 3.
d({c, e}, {b}) = min{d(c, b), d(e, b)} = max{7, 10} = 7.
d({c, e}, {d}) = min{d(c, d), d(e, d)} = max{9, 8} = 8.
The following table gives the distances between the various clusters in C2 .

{a} {b} {d} {c, e}


{a} 0 9 6 3
{b} 9 0 5 7
{d} 6 5 0 8
{c, e} 3 7 8 0

In the above table, the minimum distance is the distance between the clusters {a} and {c, e}.
Also
d({a}, {c, e}) = 3.

We merge {a} and {c, e} to form the cluster {a, c, e}.


The new set of clusters C3 : {a, c, e}, {b}, {d}.
CHAPTER 13. CLUSTERING METHODS 200

4. Let us compute the distance of {a, c, e} from other clusters.


d({a, c, e}, {b}) = min{d(a, b), d(c, b), d(e, b)} = {9, 7, 10} = 7
d({a, c, e}, {d}) = min{d(a, d), d(c, d), d(e, d)} = {6, 9, 8} = 6
The following table gives the distances between the various clusters in C3 .

{a, c, e} {b} {d}


{a, c, e} 0 7 6
{b} 7 0 5
{d} 6 5 0

In the above table, the minimum distance is between {b} and {d}. Also

d({b}, {d}) = 5.

We merge {b} and {d} to form the cluster {b, d}.


The new set of clusters C4 : {a, c, e}, {b, d}
5. Only two clusters are left. We merge them form a single cluster containing all data points. We
have

d({a, c, e}, {b, d}) = min{d(a, b), d(a, d), d(c, b), d(c, d), d(e, b), d(e, d)}
= min{9, 6, 7, 9, 10, 8}
=6

6. Figure 13.15 shows the dendrogram of the hierarchical clustering.

Distance
6
5
4
3
2
1
0 a c e b d

Figure 13.15: Dendrogram for the data given in Table 13.4 (single linkage clustering)

13.11 Algorithm for divisive hierarchical clustering


Divisive clustering algorithms begin with the entire data set as a single cluster, and recursively divide
one of the existing clusters into two daughter clusters at each iteration in a top-down fashion. To
apply this procedure, we need a separate algorithm to divide a given dataset into two clusters.

• The divisive algorithm may be implemented by using the k-means algorithm with k = 2 to
perform the splits at each iteration. However, it would not necessarily produce a splitting
sequence that possesses the monotonicity property required for dendrogram representation.
CHAPTER 13. CLUSTERING METHODS 201

13.11.1 DIANA (DIvisive ANAlysis)


DIANA is a divisive hierarchical clustering technique. Here is an outline of the algorithm.
Step 1. Suppose that cluster Cl is going to be split into clusters Ci and Cj .
Step 2. Let Ci = Cl and Cj = ∅.

Step 3. For each object x ∈ Ci :


(a) For the first iteration, compute the average distance of x to all other objects.
(b) For the remaining iterations, compute

Dx = average {d(x, y) ∶ y ∈ Ci } − average{d(x, y) ∶ y ∈ Cj }.

Cj

Ci

Figure 13.16: Dx = (average of dashed lines) − (average of solid lines)

Step 4. (a) For the first iteration, move the object with the maximum average distance to Cj .
(b) For the remaining iterations, find an object x in Ci for which Dx is the largest. If
Dx > 0 then move x to Cj .

Step 5. Repeat Steps 3(b) and 4(b) until all differences Dx are negative. Then Cl is split into Ci and
Cj .
Step 6. Select the smaller cluster with the largest diameter. (The diameter of a cluster is the largest
dissimilarity between any two of its objects.) Then divide this cluster, following Steps 1-5.

Step 7. Repeat Step 6 until all clusters contain only a single object.

13.11.2 Example
Problem
Given the dataset {a, b, c, d, e} and the distance matrix in Table 13.4, construct a dendrogram by the
divisive analysis algorithm.

Solution
1. We have, initially
Cl = {a, b, c, d, e}

2. We write
Ci = Cl , Cj = ∅.

3. Division into clusters


CHAPTER 13. CLUSTERING METHODS 202

(a) Initial iteration


Let us calculate the average dissimilarities of the objects in Ci with the other objects in
Ci .
Average dissimilarity of a
1 1
= (d(a, b) + d(a, c) + d(a, e)) = (9 + 3 + 6 + 11) = 7.25
4 4
Similarly we have :
Average dissimilarity of b = 7.75
Average dissimilarity of c = 5.25
Average dissimilarity of d = 7.00
Average dissimilarity of e = 7.75
The highest average distance is 7.75 and there are two corresponding objects. We choose
one of them, b, arbitrarily. We move b to Cj .
We now have
Ci = {a, c, d, e}, Cj = ∅ ∪ {b} = {b}.
(b) Remaining iterations
(i) 2-nd iteration.
1 1 20
Da = (d(a, c) + d(a, d) + d(a, e)) − (d(a, b)) = − 9 = −2.33
3 1 3
1 1 14
Dc = (d(c, a) + d(c, d) + d(c, e)) − (d(c, b)) = − 7 = −2.33
3 1 3
1 1 23
Dd = (d(d, a) + d(d, c) + d(d, e)) − (d(c, b)) = − 7 = 0.67
3 1 3
1 1 21
De = (d(e, a) + d(e, c) + d(e, d)) − (d(e, b)) = −7=0
3 1 3
Dd is the largest and Dd > 0. So we move, d to Cj .
We now have
Ci = {a, c, e}, Cj = {b} ∪ {d} = {b, d}.
(ii) 3-rd iteration
1 1 14 15
Da = (d(a, c) + d(a, e)) − (d(a, b) + d(a, d)) = − = −0.5
2 2 2 2
1 1 5 16
Dc = (d(c, a) + d(c, e)) − (d(c, b) + d(c, d)) = − = −13.5
2 2 2 2
1 1 13 18
De = (d(e, a) + d(e, c)) − (d(e, b) + d(e, d)) = − = −2.5
2 2 2 2
All are negative. So we stop and form the clusters Ci and Cj .
4. To divide, Ci and Cj , we compute their diameters.

diameter(Ci ) = max{d(a, c), d(a, e), d(c, e)}


= max{3, 11, 2}
= 11
diameter(Cj ) = max{d(b, d)}
=5

The cluster with the largest diameter is Ci . So we now split Ci .


We repeat the process by taking Cl = {a, c, e}. The remaining computations are left as an
exercise to the reader.
CHAPTER 13. CLUSTERING METHODS 203

13.12 Density-based clustering


In density-based clustering, clusters are defined as areas of higher density than the remainder of the
data set. Objects in these sparse areas - that are required to separate clusters - are usually considered
to be noise and border points. The most popular density based clustering method is DBSCAN
(Density-Based Spatial Clustering of Applications with Noise).

Figure 13.17: Clusters of points and noise points not belonging to any of those clusters

13.12.1 Density
We introduce some terminology and notations.
• Let  (epsilon) be some constant distance. Let p be an arbitrary data point. The -neighbourhood
of p is the set
N (p) = {q ∶ d(p, q) < }

• We choose some number m0 to define points of “high density”: We say that a point p is point
of high density if N (p) contains at least m0 points.
• We define a point p as a core point if N (p) has more than m0 points.

• We define a point p as a border point if N (p) has fewer than m0 points, but is in the -
neighbourhood of a core point.
• A point which is neither a core point nor a border point is called a noise point.

p p p q r q

(a) (b) (c) (d)

Figure 13.18: With m0 = 4: (a) p a point of high density (b) p a core point (c) p a border point
(d) r a noise point

• An object q is directly density-reachable from object p if p is a core object and q is in N (p).

• An object q is indirectly density-reachable from an object p if there is a finite set of objects


p1 , . . . , pr such that p1 is directly density-reachable form p, p2 is directly density reachable
from p1 , etc., q is directly density-reachable form pr .
CHAPTER 13. CLUSTERING METHODS 204

p q p p1 p2 p3 q

(a) (b)

Figure 13.19: With m0 = 4: (a) q is directly density-reachable from p (b) q is indirectly


density-reachable from p

13.12.2 DBSCAN algorithm


Let X = {x1 , x2 , . . . , xn } be the set of data points. DBSCAN requires two parameters:  (eps) and
the minimum number of points required to form a cluster (m0 ).

Step 1. Start with an arbitrary starting point p that has not been visited.
Step 2. Extract the -neighborhood N (p) of p.
Step 3. If the number of points in N (p) is not greater than m0 then the point p is labeled as noise
(later this point can become the part of the cluster).

Step 4. If the number of points in N (p) is greater than m0 then the point p is a core point and is
marked as visited. Select a new cluster-id and mark all objects in N (p) with this cluster-id.
Step 5. If a point is found to be a part of the cluster then its -neighborhood is also the part of the
cluster and the above procedure from step 2 is repeated for all -neighborhood points. This
is repeated until all points in the cluster are determined.
Step 6. A new unvisited point is retrieved and processed, leading to the discovery of a further
cluster or noise.
Step 7. This process continues until all points are marked as visited.

13.13 Sample questions


(a) Short answer questions
1. What is clustering?

2. Is clustering supervised learning? Why?


3. Explain some applications of the k-means algorithm.
4. Explain how clustering technique is used in image segmentation problem.

5. Explain how clustering technique used in data compression.


6. What is meant by the mixture of two normal distributions?
7. Explain hierarchical clustering.
8. What is a dendrogram? Give an example.

9. Is hierarchical clustering unsupervised learning? Why?


10. Describe the two methods for hierarchical clustering.
CHAPTER 13. CLUSTERING METHODS 205

11. In a clustering problem, what does the measure of dissimilarity measure? Give some examples
of measures of dissimilarity.
12. Explain the different types of linkages in clustering.

13. In the context of density-based clustering, define high density point, core point, border point
and noise point.
14. What is agglomerative hierarchical clustering?

(b) Long answer questions


1. Apply k-means algorithm for given data with k = 3. Use C1 (2), C2 (16) and C3 (38) as initial
centers. Data:
2, 4, 6, 3, 31, 12, 15, 16, 38, 35, 14, 21, 3, 25, 30

2. Explain K-means algorithm and group the points (1, 0, 1), (1, 1, 0), (0, 0, 1) and (1, 1, 1) using
K-means algorithm.
3. Applying the k-means algorithm, find two clusters in the following data.

x 185 170 168 179 182 188 180 180 183 180 180 177
y 72 56 60 68 72 77 71 70 84 88 67 76

4. Use k-means algorithm to find 2 clusters in the following data:

No. 1 2 3 4 5 6 7
x1 1.0 1.5 3.0 5.0 3.5 4.5 3.5
x2 1.0 2.0 4.0 7.0 5.0 5.0 4.5

5. Give a general outline of the expectation-maximization algorithm.


6. Describe EM algorithm for Gaussian mixtures.
7. Describe an algorithm for agglomerative hierarchical clustering.

8. Given the following distance matrix, construct the dendrogram using agglomerative clustering
with single linkage, complete linkage and average linkage.

A B C D E
A 0 1 2 2 3
B 1 0 2 4 3
C 2 2 0 1 5
D 2 4 1 0 3
E 3 3 5 3 0

9. Describe an algorithm for divisive hierarchical clustering.


10. For the data in Question 8, construct a dendrogram using DIANA algorithm.
11. Describe the DBSCAN algorithm for clustering.

You might also like