You are on page 1of 30

CHAPTER 2

Estimating Probabilities
Machine Learning

c 2016. Tom M. Mitchell. All rights reserved.


Copyright
*DRAFT OF January 24, 2016*
*PLEASE DO NOT DISTRIBUTE WITHOUT AUTHORS
PERMISSION*
This is a rough draft chapter intended for inclusion in the upcoming second
edition of the textbook Machine Learning, T.M. Mitchell, McGraw Hill.
You are welcome to use this for educational purposes, but do not duplicate
or repost it on the internet. For online copies of this and other materials
related to this book, visit the web site www.cs.cmu.edu/tom/mlbook.html.
Please send suggestions for improvements, or suggested exercises, to
Tom.Mitchell@cmu.edu.

Many machine learning methods depend on probabilistic approaches. The


reason is simple: when we are interested in learning some target function
f : X Y , we can more generally learn the probabilistic function P(Y |X).
By using a probabilistic approach, we can design algorithms that learn functions with uncertain outcomes (e.g., predicting tomorrows stock price) and
that incorporate prior knowledge to guide learning (e.g., a bias that tomorrows stock price is likely to be similar to todays price). This chapter describes joint probability distributions over many variables, and shows how
they can be used to calculate a target P(Y |X). It also considers the problem
of learning, or estimating, probability distributions from training data, presenting the two most common approaches: maximum likelihood estimation
and maximum a posteriori estimation.

1 Joint Probability Distributions


The key to building probabilistic models is to define a set of random variables,
and to consider the joint probability distribution over them. For example, Table
1 defines a joint probability distribution over three random variables: a persons
1

c 2016, Tom M. Mitchell.


Copyright

Gender HoursWorked
female
< 40.5
female
< 40.5
female
40.5
female
40.5
male
< 40.5
male
< 40.5
male
40.5
male
40.5

Wealth probability
poor
0.2531
rich
0.0246
poor
0.0422
rich
0.0116
poor
0.3313
rich
0.0972
poor
0.1341
rich
0.1059

Table 1: A Joint Probability Distribution. This table defines a joint probability distribution over three random variables: Gender, HoursWorked, and Wealth.

Gender, the number of HoursWorked each week, and their Wealth. In general,
defining a joint probability distribution over a set of discrete-valued variables involves three simple steps:
1. Define the random variables, and the set of values each variable can take
on. For example, in Table 1 the variable Gender can take on the value
male or female, the variable HoursWorked can take on the value < 40.5
or 40.5, and Wealth can take on values rich or poor.
2. Create a table containing one row for each possible joint assignment of values to the variables. For example, Table 1 has 8 rows, corresponding to the 8
possible ways of jointly assigning values to three boolean-valued variables.
More generally, if we have n boolean valued variables, there will be 2n rows
in the table.
3. Define a probability for each possible joint assignment of values to the variables. Because the rows cover every possible joint assignment of values,
their probabilities must sum to 1.
The joint probability distribution is central to probabilistic inference. We can
calculate conditional or joint probabilities over any subset of variables, given their
joint distribution. This is accomplished by operating on the probabilities for the
relevant rows in the table. For example, we can calculate:
The probability that any single variable will take on any specific value. For
example, we can calculate that the probability P(Gender = male) = 0.6685
for the joint distribution in Table 1, by summing the four rows for which
Gender = male. Similarly, we can calculate the probability P(Wealth =
rich) = 0.2393 by adding together the probabilities for the four rows covering the cases for which Wealth=rich.
The probability that any subset of the variables will take on a particular joint
assignment. For example, we can calculate that the probability P(Wealth=rich

c 2016, Tom M. Mitchell.


Copyright

Gender=female) = 0.0362, by summing the two table rows that satisfy this
joint assignment.
Any conditional probability defined over subsets of the variables. Recall
the definition of conditional probability P(Y |X) = P(X Y )/P(X). We can
calculate both the numerator and denominator in this definition by summing appropriate rows, to obtain the conditional probability. For example,
according to Table 1, P(Wealth=rich|Gender=female) = 0.0362/0.3315 =
0.1092.
To summarize, if we know the joint probability distribution over an arbitrary set of random variables {X1 . . . Xn }, then we can calculate the conditional
and joint probability distributions for arbitrary subsets of these variables (e.g.,
P(Xn |X1 . . . Xn1 )). In theory, we can in this way solve any classification, regression, or other function approximation problem defined over these variables,
and furthermore produce probabilistic rather than deterministic predictions for
any given input to the target function.1 For example, if we wish to learn to
predict which people are rich or poor based on their gender and hours worked,
we can use the above approach to simply calculate the probability distribution
P(Wealth | Gender, HoursWorked).

1.1

Learning the Joint Distribution

How can we learn joint distributions from observed training data? In the example
of Table 1 it will be easy if we begin with a large database containing, say, descriptions of a million people in terms of their values for our three variables. Given a
large data set such as this, one can easily estimate a probability for each row in the
table by calculating the fraction of database entries (people) that satisfy the joint
assignment specified for that row. If thousands of database entries fall into each
row, we will obtain highly reliable probability estimates using this strategy.
In other cases, however, it can be difficult to learn the joint distribution due to
the very large amount of training data required. To see the point, consider how our
learning problem would change if we were to add additional variables to describe
a total of 100 boolean features for each person in Table 1 (e.g., we could add do
they have a college degree?, are they healthy?). Given 100 boolean features,
the number of rows in the table would now expand to 2100 , which is greater than
1030 . Unfortunately, even if our database describes every single person on earth
we would not have enough data to obtain reliable probability estimates for most
rows. There are only approximately 1010 people on earth, which means that for
most of the 1030 rows in our table, we would have zero training examples! This
is a significant problem given that real-world machine learning applications often
1 Of course if our random variables have continuous values instead of discrete, we would need
an infinitely large table. In such cases we represent the joint distribution by a function instead of a
table, but the principles for using the joint distribution remain unchanged.

c 2016, Tom M. Mitchell.


Copyright

use many more than 100 features to describe each example, and that learning such
probability terms is central to probabilistic machine learning algorithms.
To successfully address the issue of learning probabilities from available training data, we must (1) be smart about how we estimate probability parameters from
available data, and (2) be smart about how we represent joint probability distributions.

2 Estimating Probabilities
Let us begin our discussion of how to estimate probabilities with a simple example, and explore two intuitive algorithms. It will turn out that these two intuitive
algorithms illustrate the two primary approaches used in nearly all probabilistic
machine learning algorithms.
In this simple example you have a coin, represented by the random variable
X. If you flip this coin, it may turn up heads (indicated by X = 1) or tails (X = 0).
The learning task is to estimate the probability that it will turn up heads; that is, to
estimate P(X = 1). We will use to refer to the true (but unknown) probability of
heads (e.g., P(X = 1) = ), and use to refer to our learned estimate of this true
. You gather training data by flipping the coin n times, and observe that it turns
up heads 1 times, and tails 0 times. Of course n = 1 + 0 .
What is the most intuitive approach to estimating = P(X =1) from this training data? Most people immediately answer that we should estimate the probability
by the fraction of flips that result in heads:
Probability estimation Algorithm 1 (maximum likelihood). Given
observed training data producing 1 total heads, and 0 total tails,
output the estimate
1
=
1 + 0
For example, if we flip the coin 50 times, observing 24 heads and 26 tails, then
we will estimate = 0.48.
This approach is quite reasonable, and very intuitive. It is a good approach
when we have plenty of training data. However, notice that if the training data is
very scarce it can produce unreliable estimates. For example, if we observe only
3 flips of the coin, we might observe 1 = 1 and 0 = 2, producing the estimate
= 0.33. How would we respond to this? If we have prior knowledge about the
coin for example, if we recognize it as a government minted coin which is likely
to have close to 0.5 then we might respond by still believing the probability is
closer to 0.5 than to the algorithm 1 estimate = 0.33. This leads to our second
intuitive algorithm: an algorithm that enables us to incorporate prior assumptions
along with observed training data to produce our final estimate. In particular,
Algorithm 2 allows us to express our prior assumptions or knowledge about the
coin by adding in any number of imaginary coin flips resulting in heads or tails.
We can use this option of introducing 1 imaginary heads, and 0 imaginary tails,
to express our prior assumptions:

c 2016, Tom M. Mitchell.


Copyright

Probability estimation Algorithm 2. (maximum a posteriori probability). Given observed training data producing 1 observed heads,
and 0 observed tails, plus prior information expressed by introducing 1 imaginary heads and 0 imaginary tails, output the estimate
=

(1 + 1 )
(1 + 1 ) + (0 + 0 )

Note that Algorithm 2, like Algorithm 1, produces an estimate based on the


proportion of coin flips that result in heads. The only difference is that Algorithm 2 allows including optional imaginary flips that represent our prior assumptions about , in addition to actual observed data. Algorithm 2 has several attractive properties:
It is easy to incorporate our prior assumptions about the value of by adjusting the ratio of 1 to 0 . For example, if we have reason to assume
that = 0.7 we can add in 1 = 7 imaginary flips with X = 1, and 0 = 3
imaginary flips for X = 0.
It is easy to express our degree of certainty about our prior knowledge, by
adjusting the total volume of imaginary coin flips. For example, if we are
highly certain of our prior belief that = 0.7, then we might use priors of
1 = 700 and 0 = 300 instead of 1 = 7 and 0 = 3. By increasing the
volume of imaginary examples, we effectively require a greater volume of
contradictory observed data in order to produce a final estimate far from our
prior assumed value.
If we set 1 = 0 = 0, then Algorithm 2 produces exactly the same estimate
as Algorithm 1. Algorithm 1 is just a special case of Algorithm 2.
Asymptotically, as the volume of actual observed data grows toward infinity, the influence of our imaginary data goes to zero (the fixed number of
imaginary coin flips becomes insignificant compared to a sufficiently large
number of actual observations). In other words, Algorithm 2 behaves so
that priors have the strongest influence when observations are scarce, and
their influence gradually reduces as observations become more plentiful.
Both Algorithm 1 and Algorithm 2 are intuitively quite compelling. In fact,
these two algorithms exemplify the two most widely used approaches to machine
learning of probabilistic models from training data. They can be shown to follow
from two different underlying principles. Algorithm 1 follows a principle called
Maximum Likelihood Estimation (MLE), in which we seek an estimate of that
maximizes the probability of the observed data. In fact we can prove (and will,
below) that Algorithm 1 outputs an estimate of that makes the observed data
more probable than any other possible estimate of . Algorithm 2 follows a different principle called Maximum a Posteriori (MAP) estimation, in which we seek

c 2016, Tom M. Mitchell.


Copyright

Figure 1: MLE and MAP estimates of as the number of coin flips grows. Data was
generated by a random number generator that output a value of 1 with probability = 0.3,
and a value of 0 with probability of (1 ) = 0.7. Each plot shows the two estimates of
as the number of observed coin flips grows. Plots on the left correspond to values of 1 and
0 that reflect the correct prior assumption about the value of , plots on the right reflect
the incorrect prior assumption that is most probably 0.4. Plots in the top row reflect
lower confidence in the prior assumption, by including only 60 = 1 + 0 imaginary data
points, whereas bottom plots assume 120. Note as the size of the data grows, the MLE
and MAP estimates converge toward each other, and toward the correct estimate for .

the estimate of that is most probable, given the observed data, plus background
assumptions about its value. Thus, the difference between these two principles
is that Algorithm 2 assumes background knowledge is available, whereas Algorithm 1 does not. Both principles have been widely used to derive and to justify
a vast range of machine learning algorithms, from Bayesian networks, to linear
regression, to neural network learning. Our coin flip example represents just one
of many such learning problems.
The experimental behavior of these two algorithms is shown in Figure 1. Here
the learning task is to estimate the unknown value of = P(X = 1) for a booleanvalued random variable X, based on a sample of n values of X drawn independently (e.g., n independent flips of a coin with probability of heads). In this
figure, the true value of is 0.3, and the same sequence of training examples is

c 2016, Tom M. Mitchell.


Copyright

used in each plot. Consider first the plot in the upper left. The blue line shows
the estimates of produced by Algorithm 1 (MLE) as the number n of training
examples grows. The red line shows the estimates produced by Algorithm 2, using the same training examples and using priors 0 = 42 and 1 = 18. This prior
assumption aligns with the correct value of (i.e., [1 /(1 + 0 )] = 0.3). Note
that as the number of training example coin flips grows, both algorithms converge
toward the correct estimate of , though Algorithm 2 provides much better estimates than Algorithm 1 when little data is available. The bottom left plot shows
the estimates if Algorithm 2 uses even more confident priors, captured by twice
as many hallucinated examples (0 = 84 and 1 = 36). The two plots on the right
side of the figure show the estimates produced when Algorithm 2 (MAP) uses incorrect priors (where [1 /(1 + 0 )] = 0.4). The difference between the top right
and bottom right plots is again only a difference in the number of hallucinated
examples, reflecting the difference in confidence that should be close to 0.4.

2.1

Maximum Likelihood Estimation (MLE)

Maximum Likelihood Estimation, often abbreviated MLE, estimates one or more


probability parameters based on the principle that if we observe training data D,
we should choose the value of that makes D most probable. When applied to
the coin flipping problem discussed above, it yields Algorithm 1. The definition
of the MLE in general is
MLE = arg max P(D|)

(1)

The intuition underlying this principle is simple: we are more likely to observe
data D if we are in a world where the appearance of this data is highly probable.
Therefore, we should estimate by assigning it whatever value maximizes the
probability of having observed D.
Beginning with this principle for choosing among possible estimates of , it
is possible to mathematically derive a formula for the value of that provably
maximizes P(D|). Many machine learning algorithms are defined so that they
provably learn a collection of parameter values that follow this maximum likelihood principle. Below we derive Algorithm 1 for our above coin flip example,
beginning with the maximum likelihood principle.
To precisely define our coin flipping example, let X be a random variable
which can take on either value 1 or 0, and let = P(X = 1) refer to the true, but
possibly unknown, probability that a random draw of X will take on the value 1.2
Assume we flip the coin X a number of times to produce training data D, in which
we observe X = 1 a total of 1 times, and X = 0 a total of 0 times. We further
assume that the outcomes of the flips are independent (i.e., the result of one coin
flip has no influence on other coin flips), and identically distributed (i.e., the same
value of governs each coin flip). Taken together, these assumptions are that the
2A

random variable defined in this way is called a Bernoulli random variable, and the probability distribution it follows, defined by , is called a Bernoulli distribution.

c 2016, Tom M. Mitchell.


Copyright

coin flips are independent, identically distributed (which is often abbreviated to


i.i.d.).
The maximum likelihood principle involves choosing to maximize P(D|).
Therefore, we must begin by writing an expression for P(D|), or equivalently
P(1 , 0 |) in terms of , then find an algorithm that chooses a value for that
maximizes this quantify. To begin, note that if data D consists of just one coin flip,
then P(D|) = if that one coin flip results in X = 1, and P(D|) = (1) if the
result is instead X = 0. Furthermore, if we observe a set of i.i.d. coin flips such
as D = h1, 1, 0, 1, 0i, then we can easily calculate P(D|) by multiplying together
the probabilities of each individual coin flip:
P(D = h1, 1, 0, 1, 0i|) = (1) (1) = 3 (1)2

In other words, if we summarize D by the total number of observed times 1 when


X = 1 and 0 when X = 0, we have in general
P(D = h1 , 0 i|) = 1 (1)0

(2)

The above expression gives us a formula for P(D = h1 , 0 i|). The quantity
P(D|) is often called the likelihood function because it expresses the probability
of the observed data D as a function of . This likelihood function is often written
L() = P(D|).
Our final step in this derivation is to determine the value of that maximizes
the likelihood function P(D = h1 , 0 i|). Notice that maximizing P(D|) with
respect to is equivalent to maximizing its logarithm, ln P(D|) with respect to ,
because ln(x) increases monotonically with x:
arg max P(D|) = arg max ln P(D|)

It often simplifies the mathematics to maximize ln P(D|) rather than P(D|), as


is the case in our current example. In fact, this log likelihood is so common that it
has its own notation, `() = ln P(D|).
To find the value of that maximizes ln P(D|), and therefore also maximizes
P(D|), we can calculate the derivative of ln P(D = h1 , 0 i|) with respect to ,
then solve for the value of that makes this derivative equal to zero. First, we
calculate the derivative of the log of the likelihood function of Eq. (2):
ln P(D|)
`()
=

ln[1 (1)0 ]
=

[1 ln + 0 ln(1)]
=

ln
ln(1)
= 1
+ 0

ln
ln(1) (1 )
= 1
+ 0

(1 )

`()
1
1
= 1 + 0
(1)
(3)

(1 )

c 2016, Tom M. Mitchell.


Copyright
1
ln x
x = x ,
f (x) g(x)
g(x) x .

where the last step follows from the equality


f (x)
x

and where the next to last

step follows from the chain rule


=
Finally, to calculate the value of that maximizes `(), we set the derivative
in equation (3) to zero, and solve for .
1
1
0 = 1 0

1
1
1
0
= 1
1

0 = 1 (1 )
(1 + 0 ) = 1
1
=
1 + 0

(4)

Thus, we have derived in equation (4) the intuitive Algorithm 1 for estimating
, starting from the principle that we want to choose the value of that maximizes
P(D|).
MLE = arg max P(D|) = arg max ln P(D|) =

1
1 + 0

This same maximum likelihood principle is used as the basis for deriving many
machine learning algorithms for more complex problems where the solution is not
so intuitively obvious.

2.2

Maximum a Posteriori Probability Estimation (MAP)

Maximum a Posteriori Estimation, often abbreviated to MAP estimation, estimates one or more probability parameters based on the principle that we should
choose the value of that is most probable, given the observed data D and our
prior assumptions summarized by P().
MAP = arg max P(|D)

When applied to the coin flipping problem discussed above, it yields Algorithm
2. Using Bayes rule, we can rewrite the MAP principle as:
P(D|)P()
MAP = arg max P(|D) = arg max
P(D)

and given that P(D) does not depend on , we can simplify this by ignoring the
denominator:
MAP = arg max P(|D) = arg max P(D|)P()

(5)

Comparing this to the MLE principle described in equation (1), we see that whereas
the MLE principle is to choose to maximize P(D|), the MAP principle instead
maximizes P(D|)P(). The only difference is the extra P().

10

c 2016, Tom M. Mitchell.


Copyright

To produce a MAP estimate for we must specify a prior distribution P()


that summarizes our a priori assumptions about the value of . In the case where
data is generated by multiple i.i.d. draws of a Bernoulli random variable, as in our
coin flip example, the most common form of prior is a Beta distribution:
P() = Beta(0 , 1 ) =

1 1 (1 )0 1
B(0 , 1 )

(6)

Here 0 and 1 are parameters whose values we must specify in advance to define
a specific P(). As we shall see, choosing values for 0 and 1 corresponds to
choosing the number of imaginary examples 0 and 1 in the above Algorithm
2. The denominator B(0 , 1 ) is a normalization term defined by the function B,
which assures the probability integrates to one, but which is independent of .
As defined in Eq. (5), the MAP estimate involves choosing the value of that
maximizes P(D|)P(). Recall we already have an expression for P(D|) in Eq.
(2). Combining this with the above expression for P() we have:
MAP = arg max P(D|)P()
theta

= arg max 1 (1)0

= arg max

1 1 (1 )0 1
B(0 , 1 )

1 +1 1 (1 )0 +0 1
B(0 , 1 )

= arg max 1 +1 1 (1 )0 +0 1

(7)

where the final line follows from the previous line because B(0 , 1 ) is independent of .
How can we solve for the value of that maximizes the expression in Eq. (7)?
Fortunately, we have already answered this question! Notice that the quantity we
seek to maximize in Eq. (7) can be made identical to the likelihood function in Eq.
(2) if we substitute (1 + 1 1) for 1 in Eq. (2), and substitute (0 + 0 1)
for 0 . We can therefore reuse the derivation of MLE beginning from Eq. (2) and
ending with Eq. (4), simply by carrying through this substitution. Applying this
same substitution to Eq. (4) implies the solution to Eq. (7) is therefore
MAP = arg max P(D|)P() =

(1 + 1 1)
(1 + 1 1) + (0 + 0 1)

(8)

Thus, we have derived in Eq. (8) the intuitive Algorithm 2 for estimating ,
starting from the principle that we want to choose the value of that maximizes
P(|D). The number 1 of imaginary heads in Algorithm 2 is equal to 1 1,
and the number 0 of imaginary tails is equal to 0 1. This same maximum
a posteriori probability principle is used as the basis for deriving many machine
learning algorithms for more complex problems where the solution is not so intuitively obvious as it is in our coin flipping example.

11

c 2016, Tom M. Mitchell.


Copyright

3 Notes on Terminology
A boolean valued random variable X {0, 1}, governed by the probability distribution P(X = 1) = ; P(X = 0) = (1) is called a Bernoulli random variable,
and this probability distribution is called a Bernoulli distribution. A convenient
mathematical expression for a Bernoulli distribution P(X) is:
P(X = x) = x (1)1x
The Beta(0 , 1 ) distribution defined in Eq. (6) is called the conjugate prior
for the binomial likelihood function 1 (1)0 , because the posterior distribution P(D|)P() is also a Beta distribution. More generally, any P() is called the
conjugate prior for a likelihood function L() = P(D|) if the posterior P(|D) is
of the same form as P().

4 What You Should Know


The main points of this chapter include:
Joint probability distributions lie at the core of probabilistic machine learning approaches. Given the joint probability distribution P(X1 . . . Xn ) over a
set of random variables, it is possible in principle to compute any joint or
conditional probability defined over any subset of these variables.
Learning, or estimating, the joint probability distribution from training data
can be easy if the data set is large compared to the number of distinct probability terms we must estimate. But in many practical problems the data
is more sparse, requiring methods that rely on prior knowledge or assumptions, in addition to observed data.
Maximum likelihood estimation (MLE) is one of two widely used principles
for estimating the parameters that define a probability distribution. This
principle is to choose the set of parameter values MLE that makes the observed training data most probable (over all the possible choices of ):
MLE = arg max P(data|)

In many cases, maximum likelihood estimates correspond to the intuitive


notion that we should base probability estimates on observed ratios. For
example, given the problem of estimating the probability that a coin will
turn up heads, given 1 observed flips resulting in heads, and 0 observed
flips resulting in tails, the maximum likelihood estimate corresponds exactly
to taking the fraction of flips that turn up heads:
MLE = arg max P(data|) =

1
1 + 0

12

c 2016, Tom M. Mitchell.


Copyright

Maximium a posteriori probability (MAP) estimation is the other of the two


widely used principles. This principle is to choose the most probable value
of , given the observed training data plus a prior probability distribution
P() which captures prior knowledge or assumptions about the value of :
MAP = arg max P(|data) = arg max P(data|)P()

In many cases, MAP estimates correspond to the intuitive notion that we


can represent prior assumptions by making up imaginary data which reflects these assumptions. For example, the MAP estimate for the above coin
flip example, assuming a prior P() = Beta(0 + 1, 1 + 1), yields a MAP
estimate which is equivalent to the MLE estimate if we simply add in an
imaginary 1 heads and 0 tails to the actual observed 1 heads and 0 tails:
MAP = arg max P(data|)P() =

(1 + 1 )
(1 + 1 ) + (0 + 0 )

EXERCISES
1. In the MAP estimation of for our Bernoulli random variable X in this
chapter, we used a Beta(0 , 1 ) prior probability distribution to capture our
prior beliefs about the prior probability of different values of , before seeing the observed data.
Plot this prior probability distribution over , corresponding to the
number of hallucinated examples used in the top left plot of Figure
1 (i.e., 0 = 42, 1 = 18). Specifically create a plot showing the prior
probability (vertical axis) for each possible value of between 0 and 1
(horizontal axis), as represented by the prior distribution Beta(0 , 1 ).
Recall the correspondence i = i + 1. Note you will want to write a
simple computer program to create this plot.
Above, you plotted the prior probability over possible values of .
Now plot the posterior probability distribution over given that prior,
plus observed data in which 6 heads (X = 1) were observed, along
with 9 tails (X = 0).
View the plot you created above to visually determine the approximate
Maximum a Posterior probability estimate MAP . What is it? What is
the exact value of the MAP estimate? What is the exact value of the
Maximum Likelihood Estimate MLE ?

5 Acknowledgements
I very much appreciate receiving helpful comments on earlier drafts of this chapter
from Akshay Mishra.

c 2016, Tom M. Mitchell.


Copyright

REFERENCES
Mitchell, T (1997). Machine Learning, McGraw Hill.
Wasserman, L. (2004). All of Statistics, Springer-Verlag.

13

CHAPTER 3
GENERATIVE AND DISCRIMINATIVE
CLASSIFIERS:
NAIVE BAYES AND LOGISTIC REGRESSION

Machine Learning

c
Copyright 2015.
Tom M. Mitchell. All rights reserved.
*DRAFT OF February 15, 2016*
*PLEASE DO NOT DISTRIBUTE WITHOUT AUTHORS PERMISSION*

This is a rough draft chapter intended for inclusion in the upcoming second edition of the textbook Machine Learning, T.M. Mitchell, McGraw Hill. You are
welcome to use this for educational purposes, but do not duplicate or repost it
on the internet. For online copies of this and other materials related to this book,
visit the web site www.cs.cmu.edu/tom/mlbook.html.
Please send suggestions for improvements, or suggested exercises, to
Tom.Mitchell@cmu.edu.

1 Learning Classifiers based on Bayes Rule


Here we consider the relationship between supervised learning, or function approximation problems, and Bayesian reasoning. We begin by considering how to
design learning algorithms based on Bayes rule.
Consider a supervised learning problem in which we wish to approximate an
unknown target function f : X Y , or equivalently P(Y |X). To begin, we will
assume Y is a boolean-valued random variable, and X is a vector containing n
boolean attributes. In other words, X = hX1 , X2 . . . , Xn i, where Xi is the boolean
random variable denoting the ith attribute of X.
Applying Bayes rule, we see that P(Y = yi |X) can be represented as
P(Y = yi |X = xk ) =

P(X = xk |Y = yi )P(Y = yi )
j P(X = xk |Y = y j )P(Y = y j )
1

c 2015, Tom M. Mitchell.


Copyright

where ym denotes the mth possible value for Y , xk denotes the kth possible vector
value for X, and where the summation in the denominator is over all legal values
of the random variable Y .
One way to learn P(Y |X) is to use the training data to estimate P(X|Y ) and
P(Y ). We can then use these estimates, together with Bayes rule above, to determine P(Y |X = xk ) for any new instance xk .
A NOTE ON NOTATION: We will consistently use upper case symbols (e.g.,
X) to refer to random variables, including both vector and non-vector variables. If
X is a vector, then we use subscripts (e.g., Xi to refer to each random variable, or
feature, in X). We use lower case symbols to refer to values of random variables
(e.g., Xi = xi j may refer to random variable Xi taking on its jth possible value). We
will sometimes abbreviate by omitting variable names, for example abbreviating
P(Xi = xi j |Y = yk ) to P(xi j |yk ). We will write E[X] to refer to the expected value
j
of X. We use superscripts to index training examples (e.g., Xi refers to the value
of the random variable Xi in the jth training example.). We use (x) to denote
an indicator function whose value is 1 if its logical argument x is true, and
whose value is 0 otherwise. We use the #D{x} operator to denote the number of
elements in the set D that satisfy property x. We use a hat to indicate estimates;
for example, indicates an estimated value of .

1.1

Unbiased Learning of Bayes Classifiers is Impractical

If we are going to train a Bayes classifier by estimating P(X|Y ) and P(Y ), then
it is reasonable to ask how much training data will be required to obtain reliable
estimates of these distributions. Let us assume training examples are generated
by drawing instances at random from an unknown underlying distribution P(X),
then allowing a teacher to label this example with its Y value.
A hundred independently drawn training examples will usually suffice to obtain a maximum likelihood estimate of P(Y ) that is within a few percent of its correct value1 when Y is a boolean variable. However, accurately estimating P(X|Y )
typically requires many more examples. To see why, consider the number of parameters we must estimate when Y is boolean and X is a vector of n boolean
attributes. In this case, we need to estimate a set of parameters
i j P(X = xi |Y = y j )

where the index i takes on 2n possible values (one for each of the possible vector
values of X), and j takes on 2 possible values. Therefore, we will need to estimate
approximately 2n+1 parameters. To calculate the exact number of required parameters, note for any fixed j, the sum over i of i j must be one. Therefore, for any
particular value y j , and the 2n possible values of xi , we need compute only 2n 1
independent parameters. Given the two possible values for Y , we must estimate
a total of 2(2n 1) such i j parameters. Unfortunately, this corresponds to two
1 Why?

See Chapter 5 of edition 1 of Machine Learning.

c 2015, Tom M. Mitchell.


Copyright

distinct parameters for each of the distinct instances in the instance space for X.
Worse yet, to obtain reliable estimates of each of these parameters, we will need to
observe each of these distinct instances multiple times! This is clearly unrealistic
in most practical learning domains. For example, if X is a vector containing 30
boolean features, then we will need to estimate more than 3 billion parameters.

2 Naive Bayes Algorithm


Given the intractable sample complexity for learning Bayesian classifiers, we must
look for ways to reduce this complexity. The Naive Bayes classifier does this
by making a conditional independence assumption that dramatically reduces the
number of parameters to be estimated when modeling P(X|Y ), from our original
2(2n 1) to just 2n.

2.1

Conditional Independence
Definition: Given three sets of random variables X,Y and Z, we say X
is conditionally independent of Y given Z, if and only if the probability distribution governing X is independent of the value of Y given
Z; that is
(i, j, k)P(X = xi |Y = y j , Z = zk ) = P(X = xi |Z = zk )

As an example, consider three boolean random variables to describe the current


weather: Rain, T hunder and Lightning. We might reasonably assert that T hunder
is independent of Rain given Lightning. Because we know Lightning causes
T hunder, once we know whether or not there is Lightning, no additional information about T hunder is provided by the value of Rain. Of course there is a
clear dependence of T hunder on Rain in general, but there is no conditional dependence once we know the value of Lightning. Although X, Y and Z are each
single random variables in this example, more generally the definition applies to
sets of random variables. For example, we might assert that variables {A, B} are
conditionally independent of {C, D} given variables {E, F}.

2.2

Derivation of Naive Bayes Algorithm

The Naive Bayes algorithm is a classification algorithm based on Bayes rule and a
set of conditional independence assumptions. Given the goal of learning P(Y |X)
where X = hX1 . . . , Xn i, the Naive Bayes algorithm makes the assumption that
each Xi is conditionally independent of each of the other Xk s given Y , and also
independent of each subset of the other Xk s given Y .
The value of this assumption is that it dramatically simplifies the representation of P(X|Y ), and the problem of estimating it from the training data. Consider,
for example, the case where X = hX1 , X2 i. In this case

c 2015, Tom M. Mitchell.


Copyright

P(X|Y ) = P(X1 , X2 |Y )
= P(X1 |X2 ,Y )P(X2 |Y )
= P(X1 |Y )P(X2 |Y )
Where the second line follows from a general property of probabilities, and the
third line follows directly from our above definition of conditional independence.
More generally, when X contains n attributes which satisfy the conditional independence assumption, we have
n

P(X1 . . . Xn |Y ) = P(Xi |Y )

(1)

i=1

Notice that when Y and the Xi are boolean variables, we need only 2n parameters
to define P(Xi = xik |Y = y j ) for the necessary i, j, k. This is a dramatic reduction
compared to the 2(2n 1) parameters needed to characterize P(X|Y ) if we make
no conditional independence assumption.
Let us now derive the Naive Bayes algorithm, assuming in general that Y is
any discrete-valued variable, and the attributes X1 . . . Xn are any discrete or realvalued attributes. Our goal is to train a classifier that will output the probability
distribution over possible values of Y , for each new instance X that we ask it to
classify. The expression for the probability that Y will take on its kth possible
value, according to Bayes rule, is
P(Y = yk |X1 . . . Xn ) =

P(Y = yk )P(X1 . . . Xn |Y = yk )
j P(Y = y j )P(X1 . . . Xn |Y = y j )

where the sum is taken over all possible values y j of Y . Now, assuming the Xi are
conditionally independent given Y , we can use equation (1) to rewrite this as
P(Y = yk |X1 . . . Xn ) =

P(Y = yk ) i P(Xi |Y = yk )
j P(Y = y j ) i P(Xi |Y = y j )

(2)

Equation (2) is the fundamental equation for the Naive Bayes classifier. Given a
new instance X new = hX1 . . . Xn i, this equation shows how to calculate the probability that Y will take on any given value, given the observed attribute values
of X new and given the distributions P(Y ) and P(Xi |Y ) estimated from the training
data. If we are interested only in the most probable value of Y , then we have the
Naive Bayes classification rule:
Y arg max
yk

P(Y = yk ) i P(Xi |Y = yk )
j P(Y = y j ) i P(Xi |Y = y j )

which simplifies to the following (because the denominator does not depend on
yk ).
Y arg max P(Y = yk ) P(Xi |Y = yk )
(3)
yk

c 2015, Tom M. Mitchell.


Copyright

2.3

Naive Bayes for Discrete-Valued Inputs

To summarize, let us precisely define the Naive Bayes learning algorithm by describing the parameters that must be estimated, and how we may estimate them.
When the n input attributes Xi each take on J possible discrete values, and
Y is a discrete variable taking on K possible values, then our learning task is to
estimate two sets of parameters. The first is
i jk P(Xi = xi j |Y = yk )

(4)

for each input attribute Xi , each of its possible values xi j , and each of the possible
values yk of Y . Note there will be nJK such parameters, and note also that only
n(J 1)K of these are independent, given that they must satisfy 1 = j i jk for
each pair of i, k values.
In addition, we must estimate parameters that define the prior probability over
Y:
k P(Y = yk )
(5)

Note there are K of these parameters, (K 1) of which are independent.


We can estimate these parameters using either maximum likelihood estimates
(based on calculating the relative frequencies of the different events in the data),
or using Bayesian MAP estimates (augmenting this observed data with prior distributions over the values of these parameters).
Maximum likelihood estimates for i jk given a set of training examples D are
given by
i = xi j |Y = yk ) = #D{Xi = xi j Y = yk }
(6)
i jk = P(X
#D{Y = yk }

where the #D{x} operator returns the number of elements in the set D that satisfy
property x.
One danger of this maximum likelihood estimate is that it can sometimes result in estimates of zero, if the data does not happen to contain any training
examples satisfying the condition in the numerator. To avoid this, it is common to
use a smoothed estimate which effectively adds in a number of additional hallucinated examples, and which assumes these hallucinated examples are spread
evenly over the possible values of Xi . This smoothed estimate is given by
i = xi j |Y = yk ) = #D{Xi = xi j Y = yk } + l
i jk = P(X
#D{Y = yk } + lJ

(7)

= yk ) = #D{Y = yk }
k = P(Y
|D|

(8)

where J is the number of distinct values Xi can take on, and l determines the
strength of this smoothing (i.e., the number of hallucinated examples is lJ). This
expression corresponds to a MAP estimate for i jk if we assume a Dirichlet prior
distribution over the i jk parameters, with equal-valued parameters. If l is set to
1, this approach is called Laplace smoothing.
Maximum likelihood estimates for k are

c 2015, Tom M. Mitchell.


Copyright

where |D| denotes the number of elements in the training set D.


Alternatively, we can obtain a smoothed estimate, or equivalently a MAP estimate based on a Dirichlet prior over the k parameters assuming equal priors on
each k , by using the following expression
= yk ) =
k = P(Y

#D{Y = yk } + l
|D| + lK

(9)

where K is the number of distinct values Y can take on, and l again determines the
strength of the prior assumptions relative to the observed data D.

2.4

Naive Bayes for Continuous Inputs

In the case of continuous inputs Xi , we can of course continue to use equations


(2) and (3) as the basis for designing a Naive Bayes classifier. However, when the
Xi are continuous we must choose some other way to represent the distributions
P(Xi |Y ). One common approach is to assume that for each possible discrete value
yk of Y , the distribution of each continuous Xi is Gaussian, and is defined by a
mean and standard deviation specific to Xi and yk . In order to train such a Naive
Bayes classifier we must therefore estimate the mean and standard deviation of
each of these Gaussians:
2ik

ik = E[Xi |Y = yk ]
= E[(Xi ik )2 |Y = yk ]

(10)
(11)

for each attribute Xi and each possible value yk of Y . Note there are 2nK of these
parameters, all of which must be estimated independently.
Of course we must also estimate the priors on Y as well
k = P(Y = yk )

(12)

The above model summarizes a Gaussian Naive Bayes classifier, which assumes that the data X is generated by a mixture of class-conditional (i.e., dependent on the value of the class variable Y ) Gaussians. Furthermore, the Naive Bayes
assumption introduces the additional constraint that the attribute values Xi are independent of one another within each of these mixture components. In particular
problem settings where we have additional information, we might introduce additional assumptions to further restrict the number of parameters or the complexity
of estimating them. For example, if we have reason to believe that noise in the
observed Xi comes from a common source, then we might further assume that all
of the ik are identical, regardless of the attribute i or class k (see the homework
exercise on this issue).
Again, we can use either maximum likelihood estimates (MLE) or maximum
a posteriori (MAP) estimates for these parameters. The maximum likelihood estimator for ik is
1
j
ik =
Xi (Y j = yk )
(13)

j
j (Y = yk ) j

c 2015, Tom M. Mitchell.


Copyright

where the superscript j refers to the jth training example, and where (Y = yk ) is
1 if Y = yk and 0 otherwise. Note the role of here is to select only those training
examples for which Y = yk .
The maximum likelihood estimator for 2ik is
2ik =

1
j
(Xi ik )2 (Y j = yk )

j
j (Y = yk ) j

(14)

This maximum likelihood estimator is biased, so the minimum variance unbiased estimator (MVUE) is sometimes used instead. It is
2ik =

1
j
(Xi ik )2 (Y j = yk )

j
( j (Y = yk )) 1 j

(15)

3 Logistic Regression
Logistic Regression is an approach to learning functions of the form f : X Y , or
P(Y |X) in the case where Y is discrete-valued, and X = hX1 . . . Xn i is any vector
containing discrete or continuous variables. In this section we will primarily consider the case where Y is a boolean variable, in order to simplify notation. In the
final subsection we extend our treatment to the case where Y takes on any finite
number of discrete values.
Logistic Regression assumes a parametric form for the distribution P(Y |X),
then directly estimates its parameters from the training data. The parametric
model assumed by Logistic Regression in the case where Y is boolean is:
1
1 + exp(w0 + ni=1 wi Xi )

(16)

exp(w0 + ni=1 wi Xi )
P(Y = 0|X) =
1 + exp(w0 + ni=1 wi Xi )

(17)

P(Y = 1|X) =
and

Notice that equation (17) follows directly from equation (16), because the sum of
these two probabilities must equal 1.
One highly convenient property of this form for P(Y |X) is that it leads to a
simple linear expression for classification. To classify any given X we generally
want to assign the value yk that maximizes P(Y = yk |X). Put another way, we
assign the label Y = 0 if the following condition holds:
1<

P(Y = 0|X)
P(Y = 1|X)

substituting from equations (16) and (17), this becomes


n

1 < exp(w0 + wi Xi )
i=1

c 2015, Tom M. Mitchell.


Copyright

Figure 1: Form of the logistic function. In Logistic Regression, P(Y |X) is assumed to follow this form.

and taking the natural log of both sides we have a linear classification rule that
assigns label Y = 0 if X satisfies
n

0 < w0 + wi Xi

(18)

i=1

and assigns Y = 1 otherwise.


Interestingly, the parametric form of P(Y |X) used by Logistic Regression is
precisely the form implied by the assumptions of a Gaussian Naive Bayes classifier. Therefore, we can view Logistic Regression as a closely related alternative to
GNB, though the two can produce different results in many cases.

3.1

Form of P(Y |X) for Gaussian Naive Bayes Classifier

Here we derive the form of P(Y |X) entailed by the assumptions of a Gaussian
Naive Bayes (GNB) classifier, showing that it is precisely the form used by Logistic Regression and summarized in equations (16) and (17). In particular, consider
a GNB based on the following modeling assumptions:
Y is boolean, governed by a Bernoulli distribution, with parameter =
P(Y = 1)
X = hX1 . . . Xn i, where each Xi is a continuous random variable
For each Xi , P(Xi |Y = yk ) is a Gaussian distribution of the form N(ik , i )
For all i and j 6= i, Xi and X j are conditionally independent given Y

c 2015, Tom M. Mitchell.


Copyright

Note here we are assuming the standard deviations i vary from attribute to attribute, but do not depend on Y .
We now derive the parametric form of P(Y |X) that follows from this set of
GNB assumptions. In general, Bayes rule allows us to write
P(Y = 1|X) =

P(Y = 1)P(X|Y = 1)
P(Y = 1)P(X|Y = 1) + P(Y = 0)P(X|Y = 0)

Dividing both the numerator and denominator by the numerator yields:


P(Y = 1|X) =

1
=0)P(X|Y =0)
1 + P(Y
P(Y =1)P(X|Y =1)

or equivalently
P(Y = 1|X) =

1
=0)P(X|Y =0)
1 + exp(ln P(Y
P(Y =1)P(X|Y =1) )

Because of our conditional independence assumption we can write this


P(Y = 1|X) =
=

1
=0)
1 + exp(ln P(Y
P(Y =1)

i |Y =0)
+ i ln P(X
P(Xi |Y =1) )

P(Xi |Y =0)
1 + exp(ln 1
+ i ln P(Xi |Y =1) )

(19)

Note the final step expresses P(Y = 0) and P(Y = 1) in terms of the binomial
parameter .
Now consider just the summation in the denominator of equation (19). Given
our assumption that P(Xi |Y = yk ) is Gaussian, we can expand this term as follows:


2
1 2 exp (Xi 2 i0 )
2i
P(Xi |Y = 0)
2
ln P(Xi|Y = 1) = ln 1 i  (Xii1)2 
i
i
exp
22i
22i


(Xi i1 )2 (Xi i0 )2
= ln exp
22i
i


(Xi i1 )2 (Xi i0 )2
=
22i
i
 2

(Xi 2Xi i1 + 2i1 ) (Xi2 2Xi i0 + 2i0 )
=
22i
i


2Xi (i0 i1 ) + 2i1 2i0
=
22i
i


2i1 2i0
i0 i1
=
Xi +
(20)
2i
22i
i

10

c 2015, Tom M. Mitchell.


Copyright

Note this expression is a linear weighted sum of the Xi s. Substituting expression


(20) back into equation (19), we have
P(Y = 1|X) =

1 + exp(ln 1
+ i

Or equivalently,
P(Y = 1|X) =

1


2i1 2i0 )
i0 i1
X
+
i
2
i
22i


)

1
1 + exp(w0 + ni=1 wi Xi )

(21)

(22)

where the weights w1 . . . wn are given by


wi =
and where
w0 = ln

i0 i1
2i

2 2
1
+ i1 2 i0

2i
i

Also we have
exp(w0 + ni=1 wi Xi )
P(Y = 0|X) = 1 P(Y = 1|X) =
1 + exp(w0 + ni=1 wi Xi )

3.2

(23)

Estimating Parameters for Logistic Regression

The above subsection proves that P(Y |X) can be expressed in the parametric form
given by equations (16) and (17), under the Gaussian Naive Bayes assumptions
detailed there. It also provides the value of the weights wi in terms of the parameters estimated by the GNB classifier. Here we describe an alternative method
for estimating these weights. We are interested in this alternative for two reasons.
First, the form of P(Y |X) assumed by Logistic Regression holds in many problem
settings beyond the GNB problem detailed in the above section, and we wish to
have a general method for estimating it in a more broad range of cases. Second, in
many cases we may suspect the GNB assumptions are not perfectly satisfied. In
this case we may wish to estimate the wi parameters directly from the data, rather
than going through the intermediate step of estimating the GNB parameters which
forces us to adopt its more stringent modeling assumptions.
One reasonable approach to training Logistic Regression is to choose parameter values that maximize the conditional data likelihood. The conditional data
likelihood is the probability of the observed Y values in the training data, conditioned on their corresponding X values. We choose parameters W that satisfy
W arg max P(Y l |X l ,W )
W

where W = hw0 , w1 . . . wn i is the vector of parameters to be estimated, Y l denotes


the observed value of Y in the lth training example, and X l denotes the observed

11

c 2015, Tom M. Mitchell.


Copyright

value of X in the lth training example. The expression to the right of the arg max
is the conditional data likelihood. Here we include W in the conditional, to emphasize that the expression is a function of the W we are attempting to maximize.
Equivalently, we can work with the log of the conditional likelihood:
W arg max ln P(Y l |X l ,W )
W

This conditional data log likelihood, which we will denote l(W ) can be written
as

l(W ) = Y l ln P(Y l = 1|X l ,W ) + (1 Y l ) ln P(Y l = 0|X l ,W )


l

Note here we are utilizing the fact that Y can take only values 0 or 1, so only one
of the two terms in the expression will be non-zero for any given Y l .
To keep our derivation consistent with common usage, we will in this section
flip the assignment of the boolean variable Y so that we assign
P(Y = 0|X) =

1
1 + exp(w0 + ni=1 wi Xi )

(24)

P(Y = 1|X) =

exp(w0 + ni=1 wi Xi )
1 + exp(w0 + ni=1 wi Xi )

(25)

and

In this case, we can reexpress the log of the conditional likelihood as:
l(W ) =

Y l ln P(Y l = 1|X l ,W ) + (1 Y l ) ln P(Y l = 0|X l ,W )


l

P(Y l = 1|X l ,W )
= Y ln
+ ln P(Y l = 0|X l ,W )
l
l
P(Y = 0|X ,W )
l
l

Y l (w0 + wiXil ) ln(1 + exp(w0 + wiXil ))


l

where Xil denotes the value of Xi for the lth training example. Note the superscript
l is not related to the log likelihood function l(W ).
Unfortunately, there is no closed form solution to maximizing l(W ) with respect to W . Therefore, one common approach is to use gradient ascent, in which
we work with the gradient, which is the vector of partial derivatives. The ith
component of the vector gradient has the form
l(W )
l = 1|X l ,W ))
= Xil (Y l P(Y
wi
l
l |X l ,W ) is the Logistic Regression prediction using equations (24) and
where P(Y
(25) and the weights W . To accommodate weight w0 , we assume an illusory
X0 = 1 for all l. This expression for the derivative has an intuitive interpretation:
the term inside the parentheses is simply the prediction error; that is, the difference

c 2015, Tom M. Mitchell.


Copyright

12

between the observed Y l and its predicted probability! Note if Y l = 1 then we wish
l = 1|X l ,W ) to be 1, whereas if Y l = 0 then we prefer that P(Y
l = 1|X l ,W )
for P(Y
l = 0|X l ,W ) equal to 1). This error term is multiplied by
be 0 (which makes P(Y
the value of Xil , which accounts for the magnitude of the wi Xil term in making this
prediction.
Given this formula for the derivative of each wi , we can use standard gradient
ascent to optimize the weights W . Beginning with initial weights of zero, we
repeatedly update the weights in the direction of the gradient, on each iteration
changing every weight wi according to
l = 1|X l ,W ))
wi wi + Xil (Y l P(Y
l

where is a small constant (e.g., 0.01) which determines the step size. Because
the conditional log likelihood l(W ) is a concave function in W , this gradient ascent
procedure will converge to a global maximum. Gradient ascent is described in
greater detail, for example, in Chapter 4 of Mitchell (1997). In many cases where
computational efficiency is important it is common to use a variant of gradient
ascent called conjugate gradient ascent, which often converges more quickly.

3.3

Regularization in Logistic Regression

Overfitting the training data is a problem that can arise in Logistic Regression,
especially when data is very high dimensional and training data is sparse. One
approach to reducing overfitting is regularization, in which we create a modified
penalized log likelihood function, which penalizes large values of W . One approach is to use the penalized log likelihood function

W arg max ln P(Y l |X l ,W ) ||W ||2


W
2
l
which adds a penalty proportional to the squared magnitude of W . Here is a
constant that determines the strength of this penalty term.
Modifying our objective by adding in this penalty term gives us a new objective to maximize. It is easy to show that maximizing it corresponds to calculating
the MAP estimate for W under the assumption that the prior distribution P(W ) is
a Normal distribution with mean zero, and a variance related to 1/. Notice that
in general, the MAP estimate for W involves optimizing the objective

ln P(Y l |X l ,W ) + ln P(W )
l

and if P(W ) is a zero mean Gaussian distribution, then ln P(W ) yields a term
proportional to ||W ||2 .
Given this penalized log likelihood function, it is easy to rederive the gradient
descent rule. The derivative of this penalized log likelihood function is similar to

13

c 2015, Tom M. Mitchell.


Copyright

our earlier derivative, with one additional penalty term


l(W )
l = 1|X l ,W )) wi
= Xil (Y l P(Y
wi
l
which gives us the modified gradient descent rule
l = 1|X l ,W )) wi
wi wi + Xil (Y l P(Y

(26)

In cases where we have prior knowledge about likely values for specific wi , it
is possible to derive a similar penalty term by using a Normal prior on W with a
non-zero mean.

3.4

Logistic Regression for Functions with Many Discrete Values

Above we considered using Logistic Regression to learn P(Y |X) only for the case
where Y is a boolean variable. More generally, if Y can take on any of the discrete
values {y1 , . . . yK }, then the form of P(Y = yk |X) for Y = y1 ,Y = y2 , . . .Y = yK1
is:
exp(wk0 + ni=1 wki Xi )
(27)
P(Y = yk |X) =
n
1 + K1
j=1 exp(w j0 + i=1 w ji Xi )
When Y = yK , it is
P(Y = yK |X) =

1
n
1 + K1
j=1 exp(w j0 + i=1 w ji Xi )

(28)

Here w ji denotes the weight associated with the jth class Y = y j and with input
Xi . It is easy to see that our earlier expressions for the case where Y is boolean
(equations (16) and (17)) are a special case of the above expressions. Note also
that the form of the expression for P(Y = yK |X) assures that [K
k=1 P(Y = yk |X)] =
1.
The primary difference between these expressions and those for boolean Y is
that when Y takes on K possible values, we construct K 1 different linear expressions to capture the distributions for the different values of Y . The distribution for
the final, Kth, value of Y is simply one minus the probabilities of the first K 1
values.
In this case, the gradient descent rule with regularization becomes:
l = y j |X l ,W )) w ji
w ji w ji + Xil ((Y l = y j ) P(Y

(29)

where (Y l = y j ) = 1 if the lth training value, Y l , is equal to y j , and (Y l = y j ) = 0


otherwise. Note our earlier learning rule, equation (26), is a special case of this
new learning rule, when K = 2. As in the case for K = 2, the quantity inside the
parentheses can be viewed as an error term which goes to zero if the estimated
l = y j |X l ,W )) perfectly matches the observed value
conditional probability P(Y
of Y l .

c 2015, Tom M. Mitchell.


Copyright

14

4 Relationship Between Naive Bayes Classifiers and


Logistic Regression
To summarize, Logistic Regression directly estimates the parameters of P(Y |X),
whereas Naive Bayes directly estimates parameters for P(Y ) and P(X|Y ). We often call the former a discriminative classifier, and the latter a generative classifier.
We showed above that the assumptions of one variant of a Gaussian Naive
Bayes classifier imply the parametric form of P(Y |X) used in Logistic Regression. Furthermore, we showed that the parameters wi in Logistic Regression can
be expressed in terms of the Gaussian Naive Bayes parameters. In fact, if the GNB
assumptions hold, then asymptotically (as the number of training examples grows
toward infinity) the GNB and Logistic Regression converge toward identical classifiers.
The two algorithms also differ in interesting ways:
When the GNB modeling assumptions do not hold, Logistic Regression and
GNB typically learn different classifier functions. In this case, the asymptotic (as the number of training examples approach infinity) classification
accuracy for Logistic Regression is often better than the asymptotic accuracy of GNB. Although Logistic Regression is consistent with the Naive
Bayes assumption that the input features Xi are conditionally independent
given Y , it is not rigidly tied to this assumption as is Naive Bayes. Given
data that disobeys this assumption, the conditional likelihood maximization
algorithm for Logistic Regression will adjust its parameters to maximize the
fit to (the conditional likelihood of) the data, even if the resulting parameters
are inconsistent with the Naive Bayes parameter estimates.
GNB and Logistic Regression converge toward their asymptotic accuracies
at different rates. As Ng & Jordan (2002) show, GNB parameter estimates
converge toward their asymptotic values in order log n examples, where n
is the dimension of X. In contrast, Logistic Regression parameter estimates
converge more slowly, requiring order n examples. The authors also show
that in several data sets Logistic Regression outperforms GNB when many
training examples are available, but GNB outperforms Logistic Regression
when training data is scarce.

5 What You Should Know


The main points of this chapter include:
We can use Bayes rule as the basis for designing learning algorithms (function approximators), as follows: Given that we wish to learn some target
function f : X Y , or equivalently, P(Y |X), we use the training data to
learn estimates of P(X|Y ) and P(Y ). New X examples can then be classified using these estimated probability distributions, plus Bayes rule. This

c 2015, Tom M. Mitchell.


Copyright

15

type of classifier is called a generative classifier, because we can view the


distribution P(X|Y ) as describing how to generate random instances X conditioned on the target attribute Y .
Learning Bayes classifiers typically requires an unrealistic number of training examples (i.e., more than |X| training examples where X is the instance
space) unless some form of prior assumption is made about the form of
P(X|Y ). The Naive Bayes classifier assumes all attributes describing X
are conditionally independent given Y . This assumption dramatically reduces the number of parameters that must be estimated to learn the classifier. Naive Bayes is a widely used learning algorithm, for both discrete and
continuous X.
When X is a vector of discrete-valued attributes, Naive Bayes learning algorithms can be viewed as linear classifiers; that is, every such Naive Bayes
classifier corresponds to a hyperplane decision surface in X. The same statement holds for Gaussian Naive Bayes classifiers if the variance of each feature is assumed to be independent of the class (i.e., if ik = i ).
Logistic Regression is a function approximation algorithm that uses training
data to directly estimate P(Y |X), in contrast to Naive Bayes. In this sense,
Logistic Regression is often referred to as a discriminative classifier because
we can view the distribution P(Y |X) as directly discriminating the value of
the target value Y for any given instance X.
Logistic Regression is a linear classifier over X. The linear classifiers produced by Logistic Regression and Gaussian Naive Bayes are identical in
the limit as the number of training examples approaches infinity, provided
the Naive Bayes assumptions hold. However, if these assumptions do not
hold, the Naive Bayes bias will cause it to perform less accurately than Logistic Regression, in the limit. Put another way, Naive Bayes is a learning
algorithm with greater bias, but lower variance, than Logistic Regression. If
this bias is appropriate given the actual data, Naive Bayes will be preferred.
Otherwise, Logistic Regression will be preferred.
We can view function approximation learning algorithms as statistical estimators of functions, or of conditional distributions P(Y |X). They estimate
P(Y |X) from a sample of training data. As with other statistical estimators, it can be useful to characterize learning algorithms by their bias and
expected variance, taken over different samples of training data.

6 Further Reading
Wasserman (2004) describes a Reweighted Least Squares method for Logistic
Regression. Ng and Jordan (2002) provide a theoretical and experimental comparison of the Naive Bayes classifier and Logistic Regression.

16

c 2015, Tom M. Mitchell.


Copyright

EXERCISES
1. At the beginning of the chapter we remarked that A hundred training examples will usually suffice to obtain an estimate of P(Y ) that is within a
few percent of the correct value. Describe conditions under which the 95%
confidence interval for our estimate of P(Y ) will be 0.02.
2. Consider learning a function X Y where Y is boolean, where X = hX1 , X2 i,
and where X1 is a boolean variable and X2 a continuous variable. State the
parameters that must be estimated to define a Naive Bayes classifier in this
case. Give the formula for computing P(Y |X), in terms of these parameters
and the feature values X1 and X2 .
3. In section 3 we showed that when Y is Boolean and X = hX1 . . . Xn i is a
vector of continuous variables, then the assumptions of the Gaussian Naive
Bayes classifier imply that P(Y |X) is given by the logistic function with
appropriate parameters W . In particular:
P(Y = 1|X) =

1
1 + exp(w0 + ni=1 wi Xi )

P(Y = 0|X) =

exp(w0 + ni=1 wi Xi )
1 + exp(w0 + ni=1 wi Xi )

and

Consider instead the case where Y is Boolean and X = hX1 . . . Xn i is a vector of Boolean variables. Prove for this case also that P(Y |X) follows this
same form (and hence that Logistic Regression is also the discriminative
counterpart to a Naive Bayes generative classifier over Boolean features).
Hints:
Simple notation will help. Since the Xi are Boolean variables, you
need only one parameter to define P(Xi |Y = yk ). Define i1 P(Xi =
1|Y = 1), in which case P(Xi = 0|Y = 1) = (1 i1 ). Similarly, use
i0 to denote P(Xi = 1|Y = 0).
Notice with the above notation you can represent P(Xi |Y = 1) as follows
P(Xi |Y = 1) = Xi1i (1 i1 )(1Xi )
Note when Xi = 1 the second term is equal to 1 because its exponent
is zero. Similarly, when Xi = 0 the first term is equal to 1 because its
exponent is zero.

4. (based on a suggestion from Sandra Zilles). This question asks you to consider the relationship between the MAP hypothesis and the Bayes optimal
hypothesis. Consider a hypothesis space H defined over the set of instances
X, and containing just two hypotheses, h1 and h2 with equal prior probabilities P(h1) = P(h2) = 0.5. Suppose we are given an arbitrary set of training

c 2015, Tom M. Mitchell.


Copyright

17

data D which we use to calculate the posterior probabilities P(h1|D) and


P(h2|D). Based on this we choose the MAP hypothesis, and calculate the
Bayes optimal hypothesis. Suppose we find that the Bayes optimal classifier is not equal to either h1 or to h2, which is generally the case because
the Bayes optimal hypothesis corresponds to averaging over all hypotheses in H. Now we create a new hypothesis h3 which is equal to the Bayes
optimal classifier with respect to H, X and D; that is, h3 classifies each instance in X exactly the same as the Bayes optimal classifier for H and D.
We now create a new hypothesis space H 0 = {h1, h2, h3}. If we train using
the same training data, D, will the MAP hypothesis from H 0 be h3? Will the
Bayes optimal classifier with respect to H 0 be equivalent to h3? (Hint: the
answer depends on the priors we assign to the hypotheses in H 0 . Can you
give constraints on these priors that assure the answers will be yes or no?)

7 Acknowledgements
I very much appreciate receiving helpful comments on earlier drafts of this chapter
from the following: Nathaniel Fairfield, Rainer Gemulla, Vineet Kumar, Andrew
McCallum, Anand Prahlad, Wei Wang, Geoff Webb, and Sandra Zilles.

REFERENCES
Mitchell, T (1997). Machine Learning, McGraw Hill.
Ng, A.Y. & Jordan, M. I. (2002). On Discriminative vs. Generative Classifiers: A comparison of Logistic Regression and Naive Bayes, Neural Information Processing Systems, Ng,
A.Y., and Jordan, M. (2002).
Wasserman, L. (2004). All of Statistics, Springer-Verlag.

You might also like