Copyright © 2001, 2004, Andrew W. Moore
Clustering with
Gaussian Mixtures
Andrew W. Moore
Professor
School of Computer Science
Carnegie Mellon University
www.cs.cmu.edu/~awm
awm@cs.cmu.edu
412-268-7599
Note to other teachers and users of these slides. Andrew would be delighted if you
found this source material useful in giving your own lectures. Feel free to use these
slides verbatim, or to modify them to fit your own needs. PowerPoint originals are
available. If you make use of a significant portion of these slides in your own lecture,
please include this message, or the following link to the source repository of Andrew’s
tutorials: http://www.cs.cmu.edu/~awm/tutorials . Comments and corrections gratefully
received.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 2
Unsupervised Learning
• You walk into a bar.
A stranger approaches and tells you:
“I’ve got data from k classes. Each class produces
observations with a normal distribution and variance
σ2
I . Standard simple multivariate gaussian
assumptions. I can tell you all the P(wi)’s .”
• So far, looks straightforward.
“I need a maximum likelihood estimate of the μi’s .“
• No problem:
“There’s just one thing. None of the data are labeled. I
have datapoints, but I don’t know what class they’re
from (any of them!)
• Uh oh!!
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 3
Gaussian Bayes Classifier
Reminder
)
(
)
(
)
|
(
)
|
(
x
x
x
p
i
y
P
i
y
p
i
y
P




   
)
(
2
1
exp
||
||
)
2
(
1
)
|
(
2
/
1
2
/
x
μ
x
Σ
μ
x
Σ
x
p
p
i
y
P
i
i
k
i
T
i
k
i
m 











How do we deal with that?
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 4
Predicting wealth from age
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 5
Predicting wealth from age
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 6
Learning
modelyear , mpg ---
> maker















m
m
m
m
m
2
2
1
2
2
2
12
1
12
1
2
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 7
General: O(m2
)
parameters















m
m
m
m
m
2
2
1
2
2
2
12
1
12
1
2
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 8
Aligned: O(m)
parameters






















m
m
2
1
2
3
2
2
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 9
Aligned: O(m)
parameters






















m
m
2
1
2
3
2
2
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 10
Spherical: O(1)
cov parameters





















2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 11
Spherical: O(1)
cov parameters





















2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
















Σ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 12
Making a Classifier from a
Density Estimator
Inputs
Classifier
Predict
category
Inputs
Density
Estimator
Prob-
ability
Inputs
Regressor
Predict
real no.
Categorical
inputs only
Mixed Real /
Cat okay
Real-valued
inputs only
Dec Tree
Joint BC
Naïve BC
Joint DE
Naïve DE
Gauss DE
Gauss BC
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 13
Next… back to Density Estimation
What if we want to do density estimation
with multimodal or clumpy data?
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 14
The GMM assumption
• There are k components. The
i’th component is called i
• Component i has an
associated mean vector i
1
2
3
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 15
The GMM assumption
• There are k components. The
i’th component is called i
• Component i has an
associated mean vector i
• Each component generates
data from a Gaussian with
mean i and covariance matrix
2
I
Assume that each datapoint is
generated according to the
following recipe:
1
2
3
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 16
The GMM assumption
• There are k components. The
i’th component is called i
• Component i has an
associated mean vector i
• Each component generates
data from a Gaussian with
mean i and covariance matrix
2
I
Assume that each datapoint is
generated according to the
following recipe:
1. Pick a component at random.
Choose component i with
probability P(i).
2
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 17
The GMM assumption
• There are k components. The
i’th component is called i
• Component i has an
associated mean vector i
• Each component generates
data from a Gaussian with
mean i and covariance matrix
2
I
Assume that each datapoint is
generated according to the
following recipe:
1. Pick a component at random.
Choose component i with
probability P(i).
2. Datapoint ~ N(, 2
I )
2
x
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 18
The General GMM assumption
1
2
3
• There are k components. The
i’th component is called i
• Component i has an
associated mean vector i
• Each component generates
data from a Gaussian with
mean i and covariance matrix
i
Assume that each datapoint is
generated according to the
following recipe:
1. Pick a component at random.
Choose component i with
probability P(i).
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 19
Unsupervised Learning:
not as hard as it looks
Sometimes easy
Sometimes impossible
and sometimes
in between
IN CASE YOU’RE
WONDERING WHAT
THESE DIAGRAMS ARE,
THEY SHOW 2-d
UNLABELED DATA (X
VECTORS) DISTRIBUTED
IN 2-d SPACE. THE TOP
ONE HAS THREE VERY
CLEAR GAUSSIAN
CENTERS
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 20
Computing likelihoods in
unsupervised case
We have x1 , x2 , … xN
We know P(w1) P(w2) .. P(wk)
We know σ
P(x|wi, μi, … μk) = Prob that an observation from
class wi would have value x
given class means μ1… μx
Can we write an expression for that?
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 21
likelihoods in unsupervised
case
We have x1 x2 … xn
We have P(w1) .. P(wk). We have σ.
We can define, for any x , P(x|wi , μ1, μ2 .. μk)
Can we define P(x | μ1, μ2 .. μk) ?
Can we define P(x1, x1, .. xn | μ1, μ2 .. μk) ?
[YES, IF WE ASSUME THE X1’S WERE DRAWN INDEPENDENTLY]
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 22
Unsupervised Learning:
Mediumly Good News
We now have a procedure s.t. if you give me a guess at μ1, μ2 .. μk,
I can tell you the prob of the unlabeled data given those μ‘s.
Suppose x‘s are 1-dimensional.
There are two classes; w1 and w2
P(w1) = 1/3 P(w2) = 2/3 σ = 1 .
There are 25 unlabeled datapoints
x1 = 0.608
x2 = -1.590
x3 = 0.235
x4 = 3.949
:
x25 = -0.712
(From Duda and Hart)
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 23
Graph of
log P(x1, x2 .. x25 | μ1, μ2 )
against μ1 () and μ2 ()
Max likelihood = (μ1 =-2.13, μ2 =1.668)
Local minimum, but very close to global at (μ1 =2.085, μ2 =-1.257)*
* corresponds to switching w1 + w2.
Duda &
Hart’s
Example
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 24
Duda & Hart’s Example
We can graph the
prob. dist.
function of data
given our μ1 and
μ2 estimates.
We can also graph the
true function from
which the data was
randomly
generated.
• They are close. Good.
• The 2nd
solution tries to put the “2/3” hump where the “1/3” hump
should go, and vice versa.
• In this example unsupervised is almost as good as supervised. If the
x1 .. x25 are given the class which was used to learn them, then the
results are (μ1=-2.176, μ2=1.684). Unsupervised got (μ1=-2.13, μ2=1.668).
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 25
Finding the max likelihood μ1,μ2..μk
We can compute P( data | μ1,μ2..μk)
How do we find the μi‘s which give max. likelihood?
• The normal max likelihood trick:
Set  log Prob (….) = 0
 μi
and solve for μi‘s.
# Here you get non-linear non-analytically- solvable
equations
• Use gradient descent
Slow but doable
• Use a much faster, cuter, and recently very popular
method…
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 26
Expectation
Maximalization
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 27
The E.M. Algorithm
• We’ll get back to unsupervised learning soon.
• But now we’ll look at an even simpler case with
hidden information.
• The EM algorithm
 Can do trivial things, such as the contents of the
next few slides.
 An excellent way of doing our unsupervised
learning problem, as we’ll see.
 Many, many other uses, including inference of
Hidden Markov Models (future lecture).
DETOUR
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 28
Silly Example
Let events be “grades in a class”
w1 = Gets an A P(A) = ½
w2 = Gets a B P(B) = μ
w3 = Gets a C P(C) = 2μ
w4 = Gets a D P(D) = ½-3μ
(Note 0 ≤ μ ≤1/6)
Assume we want to estimate μ from data. In a given class
there were
a A’s
b B’s
c C’s
d D’s
What’s the maximum likelihood estimate of μ given a,b,c,d ?
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 29
Silly Example
Let events be “grades in a class”
w1 = Gets an A P(A) = ½
w2 = Gets a B P(B) = μ
w3 = Gets a C P(C) = 2μ
w4 = Gets a D P(D) = ½-3μ
(Note 0 ≤ μ ≤1/6)
Assume we want to estimate μ from data. In a given class there were
a A’s
b B’s
c C’s
d D’s
What’s the maximum likelihood estimate of μ given a,b,c,d ?
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 30
Trivial Statistics
P(A) = ½ P(B) = μ P(C) = 2μ P(D) = ½-3μ
P( a,b,c,d | μ) = K(½)a
(μ)b
(2μ)c
(½-3μ)d
log P( a,b,c,d | μ) = log K + alog ½ + blog μ + clog 2μ + dlog (½-3μ)
 
10
1
μ
like
Max
got
class
if
So
6
μ
like
max
Gives
0
μ
3
2
/
1
3
μ
2
2
μ
μ
LogP
0
μ
LogP
SET
μ,
LIKE
MAX
FOR















d
c
b
c
b
d
c
b
A B C D
14 6 9 10
Boring, but true!
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 31
Same Problem with Hidden
Information
Someone tells us that
Number of High grades (A’s + B’s) = h
Number of C’s = c
Number of D’s = d
What is the max. like estimate of μ now?
REMEMBER
P(A) = ½
P(B) = μ
P(C) = 2μ
P(D) = ½-3μ
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 32
Same Problem with Hidden
Information
h
b
h
a
μ
2
1
μ
μ
2
1
2
1




 
d
c
b
c
b




6
μ
Someone tells us that
Number of High grades (A’s + B’s) = h
Number of C’s = c
Number of D’s = d
What is the max. like estimate of μ now?
We can answer this question circularly:
EXPECTATION
MAXIMIZATION
If we know the value of μ we could compute the
expected value of a and b
If we know the expected values of a and b
we could compute the maximum
likelihood value of μ
REMEMBER
P(A) = ½
P(B) = μ
P(C) = 2μ
P(D) = ½-3μ
Since the ratio a:b should be the same as the ratio ½ : 
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 33
E.M. for our Trivial
Problem
We begin with a guess for μ
We iterate between EXPECTATION and MAXIMALIZATION to
improve our estimates of μ and a and b.
Define μ(t) the estimate of μ on the t’th iteration
b(t) the estimate of b on t’th iteration
REMEMBER
P(A) = ½
P(B) = μ
P(C) = 2μ
P(D) = ½-3μ
 
 
 
 
 
t
b
d
c
t
b
c
t
b
t
t
b
t
h
t
b
given
μ
of
est
like
max
6
)
1
(
μ
)
(
μ
|
)
(
μ
2
1
μ(t)
)
(
guess
initial
)
0
(
μ











E-step
M-step
Continue iterating until converged.
Good news: Converging to local optimum is assured.
Bad news: I said “local” optimum.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 34
E.M. Convergence
• Convergence proof based on fact that Prob(data | μ) must increase
or remain same between each iteration [NOT OBVIOUS]
• But it can never exceed 1 [OBVIOUS]
So it must therefore converge [OBVIOUS]
t μ(t) b(t)
0 0 0
1 0.0833 2.857
2 0.0937 3.158
3 0.0947 3.185
4 0.0948 3.187
5 0.0948 3.187
6 0.0948 3.187
In our example,
suppose we had
h = 20
c = 10
d = 10
μ(0) = 0
Convergence is generally linear: error
decreases by a constant factor each time
step.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 35
Back to Unsupervised Learning of
GMMs
Remember:
We have unlabeled data x1 x2 … xR
We know there are k classes
We know P(w1) P(w2) P(w3) … P(wk)
We don’t know μ1 μ2 .. μk
We can write P( data | μ1…. μk)
 
 
   
   



 
 













R
i
k
j
j
j
i
R
i
k
j
j
k
j
i
R
i
k
i
k
R
w
x
w
w
x
x
x
x
1 1
2
2
1 1
1
1
1
1
1
P
μ
σ
2
1
exp
K
P
μ
...
μ
,
p
μ
...
μ
p
μ
...
μ
...
p
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 36
E.M. for GMMs
 
 
 








R
i
k
i
j
i
R
i
k
i
j
j
k
i
x
w
P
x
x
w
P
1
1
1
1
1
μ
...
μ
,
μ
...
μ
,
μ
j,
each
for
,
likelihood
Max
For
"
:
into
this
turns
algebra
crazy
n'
wild'
Some
0
μ
...
μ
data
ob
Pr
log
μ
know
we
likelihood
Max
For
This is n nonlinear equations in μj’s.”
…I feel an EM experience coming
on!!
If, for each xi we knew that for each wj the prob that μj was in class wj is
P(wj|xi,μ1…μk) Then… we would easily compute μj.
If we knew each μj then we could easily compute P(wj|xi,μ1…μk) for each
wj and xi.
See
http://www.cs.cmu.edu/~awm/doc/gmm-algebra.pdf
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 37
E.M. for GMMs
Iterate. On the t’th iteration let our estimates be
t = { μ1(t), μ2(t) … μc(t) }
E-step
Compute “expected” classes of all datapoints for each class
     
 
 
 



 c
j
j
j
j
k
i
i
i
k
t
k
t
i
t
i
k
t
k
i
t
p
t
w
x
t
p
t
w
x
x
w
w
x
x
w
1
2
2
)
(
),
(
,
p
)
(
),
(
,
p
p
P
,
p
,
P
I
I








M-step.
Compute Max. like μ given our data’s class membership
distributions
 
 
 




k
t
k
i
k
k
t
k
i
i
x
w
x
x
w
t


,
P
,
P
1
μ
Just evaluate a
Gaussian at xk
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 38
Convergenc
e
• This algorithm is REALLY USED.
And in high dimensional state
spaces, too. E.G. Vector
Quantization for Speech Data
• Your lecturer will
(unless out of
time) give you a
nice intuitive
explanation of
why this rule
works.
• As with all EM
procedures,
convergence to a
local optimum
guaranteed.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 39
E.M. for General GMMs
Iterate. On the t’th iteration let our estimates be
t = { μ1(t), μ2(t) … μc(t), 1(t), 2(t) … c(t), p1(t), p2(t) … pc(t) }
E-step
Compute “expected” classes of all datapoints for each class
     
 
 
 





 c
j
j
j
j
j
k
i
i
i
i
k
t
k
t
i
t
i
k
t
k
i
t
p
t
t
w
x
t
p
t
t
w
x
x
w
w
x
x
w
1
)
(
)
(
),
(
,
p
)
(
)
(
),
(
,
p
p
P
,
p
,
P






M-step.
Compute Max. like μ given our data’s class membership
distributions
pi(t) is shorthand
for estimate of
P(i) on t’th
iteration
 
 
 




k
t
k
i
k
k
t
k
i
i
x
w
x
x
w
t


,
P
,
P
1
μ  
   
   
 
 

 






k
t
k
i
T
i
k
i
k
k
t
k
i
i
x
w
t
x
t
x
x
w
t




,
P
1
1
,
P
1
 
 
R
x
w
t
p k
t
k
i
i




,
P
1 R = #records
Just evaluate a
Gaussian at xk
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 40
Gaussian
Mixture
Example:
Start
Advance apologies: in Black
and White this example will be
incomprehensible
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 41
After
first
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 42
After
2nd
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 43
After 3rd
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 44
After 4th
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 45
After 5th
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 46
After 6th
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 47
After 20th
iteration
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 48
Some Bio
Assay
data
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 49
GMM
clustering
of the
assay
data
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 50
Resulting
Density
Estimator
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 51
Where are we now?
Inputs
Classifier
Predict
category
Inputs
Density
Estimator
Prob-
ability
Inputs
Regressor
Predict
real no.
Dec Tree, Sigmoid Perceptron, Sigmoid N.Net,
Gauss/Joint BC, Gauss Naïve BC, N.Neigh, Bayes
Net Based BC, Cascade Correlation
Joint DE, Naïve DE, Gauss/Joint DE, Gauss Naïve
DE, Bayes Net Structure Learning, GMMs
Linear Regression, Polynomial Regression,
Perceptron, Neural Net, N.Neigh, Kernel, LWR,
RBFs, Robust Regression, Cascade Correlation,
Regression Trees, GMDH, Multilinear Interp,
MARS
Inputs
Inference
Engine Learn
P(E1|E2) Joint DE, Bayes Net Structure Learning
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 52
The old trick…
Inputs
Classifier
Predict
category
Inputs
Density
Estimator
Prob-
ability
Inputs
Regressor
Predict
real no.
Dec Tree, Sigmoid Perceptron, Sigmoid N.Net,
Gauss/Joint BC, Gauss Naïve BC, N.Neigh, Bayes
Net Based BC, Cascade Correlation, GMM-BC
Joint DE, Naïve DE, Gauss/Joint DE, Gauss Naïve
DE, Bayes Net Structure Learning, GMMs
Linear Regression, Polynomial Regression,
Perceptron, Neural Net, N.Neigh, Kernel, LWR,
RBFs, Robust Regression, Cascade Correlation,
Regression Trees, GMDH, Multilinear Interp,
MARS
Inputs
Inference
Engine Learn
P(E1|E2) Joint DE, Bayes Net Structure Learning
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 53
Three
classes of
assay
(each learned
with it’s own
mixture model)
(Sorry, this will again be
semi-useless in black and
white)
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 54
Resulting
Bayes
Classifier
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 55
Resulting Bayes
Classifier, using
posterior
probabilities to
alert about
ambiguity and
anomalousness
Yellow means
anomalous
Cyan means
ambiguous
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 56
Unsupervised learning with
symbolic attributes
It’s just a “learning Bayes net with known structure but
hidden values” problem.
Can use Gradient Descent.
EASY, fun exercise to do an EM formulation for this case
too.
# KIDS
MARRIED
NATION
missing
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 57
Final Comments
• Remember, E.M. can get stuck in local minima,
and empirically it DOES.
• Our unsupervised learning example assumed
P(wi)’s known, and variances fixed and known.
Easy to relax this.
• It’s possible to do Bayesian unsupervised
learning instead of max. likelihood.
• There are other algorithms for unsupervised
learning. We’ll visit K-means soon. Hierarchical
clustering is also interesting.
• Neural-net algorithms called “competitive
learning” turn out to have interesting parallels
with the EM method we saw.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 58
What you should know
• How to “learn” maximum likelihood parameters
(locally max. like.) in the case of unlabeled data.
• Be happy with this kind of probabilistic analysis.
• Understand the two examples of E.M. given in
these notes.
For more info, see Duda + Hart. It’s a great book.
There’s much more in the book than in your
handout.
Copyright © 2001, 2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 59
Other unsupervised learning
methods
• K-means (see next lecture)
• Hierarchical clustering (e.g. Minimum spanning
trees) (see next lecture)
• Principal Component Analysis
simple, useful tool
• Non-linear PCA
Neural Auto-Associators
Locally weighted PCA
Others…

gmatrix distro_gmatrix distro_gmatrix distro

  • 1.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures Andrew W. Moore Professor School of Computer Science Carnegie Mellon University www.cs.cmu.edu/~awm awm@cs.cmu.edu 412-268-7599 Note to other teachers and users of these slides. Andrew would be delighted if you found this source material useful in giving your own lectures. Feel free to use these slides verbatim, or to modify them to fit your own needs. PowerPoint originals are available. If you make use of a significant portion of these slides in your own lecture, please include this message, or the following link to the source repository of Andrew’s tutorials: http://www.cs.cmu.edu/~awm/tutorials . Comments and corrections gratefully received.
  • 2.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 2 Unsupervised Learning • You walk into a bar. A stranger approaches and tells you: “I’ve got data from k classes. Each class produces observations with a normal distribution and variance σ2 I . Standard simple multivariate gaussian assumptions. I can tell you all the P(wi)’s .” • So far, looks straightforward. “I need a maximum likelihood estimate of the μi’s .“ • No problem: “There’s just one thing. None of the data are labeled. I have datapoints, but I don’t know what class they’re from (any of them!) • Uh oh!!
  • 3.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 3 Gaussian Bayes Classifier Reminder ) ( ) ( ) | ( ) | ( x x x p i y P i y p i y P         ) ( 2 1 exp || || ) 2 ( 1 ) | ( 2 / 1 2 / x μ x Σ μ x Σ x p p i y P i i k i T i k i m             How do we deal with that?
  • 4.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 4 Predicting wealth from age
  • 5.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 5 Predicting wealth from age
  • 6.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 6 Learning modelyear , mpg --- > maker                m m m m m 2 2 1 2 2 2 12 1 12 1 2                 Σ
  • 7.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 7 General: O(m2 ) parameters                m m m m m 2 2 1 2 2 2 12 1 12 1 2                 Σ
  • 8.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 8 Aligned: O(m) parameters                       m m 2 1 2 3 2 2 2 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                 Σ
  • 9.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 9 Aligned: O(m) parameters                       m m 2 1 2 3 2 2 2 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                 Σ
  • 10.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 10 Spherical: O(1) cov parameters                      2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                 Σ
  • 11.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 11 Spherical: O(1) cov parameters                      2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                 Σ
  • 12.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 12 Making a Classifier from a Density Estimator Inputs Classifier Predict category Inputs Density Estimator Prob- ability Inputs Regressor Predict real no. Categorical inputs only Mixed Real / Cat okay Real-valued inputs only Dec Tree Joint BC Naïve BC Joint DE Naïve DE Gauss DE Gauss BC
  • 13.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 13 Next… back to Density Estimation What if we want to do density estimation with multimodal or clumpy data?
  • 14.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 14 The GMM assumption • There are k components. The i’th component is called i • Component i has an associated mean vector i 1 2 3
  • 15.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 15 The GMM assumption • There are k components. The i’th component is called i • Component i has an associated mean vector i • Each component generates data from a Gaussian with mean i and covariance matrix 2 I Assume that each datapoint is generated according to the following recipe: 1 2 3
  • 16.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 16 The GMM assumption • There are k components. The i’th component is called i • Component i has an associated mean vector i • Each component generates data from a Gaussian with mean i and covariance matrix 2 I Assume that each datapoint is generated according to the following recipe: 1. Pick a component at random. Choose component i with probability P(i). 2
  • 17.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 17 The GMM assumption • There are k components. The i’th component is called i • Component i has an associated mean vector i • Each component generates data from a Gaussian with mean i and covariance matrix 2 I Assume that each datapoint is generated according to the following recipe: 1. Pick a component at random. Choose component i with probability P(i). 2. Datapoint ~ N(, 2 I ) 2 x
  • 18.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 18 The General GMM assumption 1 2 3 • There are k components. The i’th component is called i • Component i has an associated mean vector i • Each component generates data from a Gaussian with mean i and covariance matrix i Assume that each datapoint is generated according to the following recipe: 1. Pick a component at random. Choose component i with probability P(i).
  • 19.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 19 Unsupervised Learning: not as hard as it looks Sometimes easy Sometimes impossible and sometimes in between IN CASE YOU’RE WONDERING WHAT THESE DIAGRAMS ARE, THEY SHOW 2-d UNLABELED DATA (X VECTORS) DISTRIBUTED IN 2-d SPACE. THE TOP ONE HAS THREE VERY CLEAR GAUSSIAN CENTERS
  • 20.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 20 Computing likelihoods in unsupervised case We have x1 , x2 , … xN We know P(w1) P(w2) .. P(wk) We know σ P(x|wi, μi, … μk) = Prob that an observation from class wi would have value x given class means μ1… μx Can we write an expression for that?
  • 21.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 21 likelihoods in unsupervised case We have x1 x2 … xn We have P(w1) .. P(wk). We have σ. We can define, for any x , P(x|wi , μ1, μ2 .. μk) Can we define P(x | μ1, μ2 .. μk) ? Can we define P(x1, x1, .. xn | μ1, μ2 .. μk) ? [YES, IF WE ASSUME THE X1’S WERE DRAWN INDEPENDENTLY]
  • 22.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 22 Unsupervised Learning: Mediumly Good News We now have a procedure s.t. if you give me a guess at μ1, μ2 .. μk, I can tell you the prob of the unlabeled data given those μ‘s. Suppose x‘s are 1-dimensional. There are two classes; w1 and w2 P(w1) = 1/3 P(w2) = 2/3 σ = 1 . There are 25 unlabeled datapoints x1 = 0.608 x2 = -1.590 x3 = 0.235 x4 = 3.949 : x25 = -0.712 (From Duda and Hart)
  • 23.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 23 Graph of log P(x1, x2 .. x25 | μ1, μ2 ) against μ1 () and μ2 () Max likelihood = (μ1 =-2.13, μ2 =1.668) Local minimum, but very close to global at (μ1 =2.085, μ2 =-1.257)* * corresponds to switching w1 + w2. Duda & Hart’s Example
  • 24.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 24 Duda & Hart’s Example We can graph the prob. dist. function of data given our μ1 and μ2 estimates. We can also graph the true function from which the data was randomly generated. • They are close. Good. • The 2nd solution tries to put the “2/3” hump where the “1/3” hump should go, and vice versa. • In this example unsupervised is almost as good as supervised. If the x1 .. x25 are given the class which was used to learn them, then the results are (μ1=-2.176, μ2=1.684). Unsupervised got (μ1=-2.13, μ2=1.668).
  • 25.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 25 Finding the max likelihood μ1,μ2..μk We can compute P( data | μ1,μ2..μk) How do we find the μi‘s which give max. likelihood? • The normal max likelihood trick: Set  log Prob (….) = 0  μi and solve for μi‘s. # Here you get non-linear non-analytically- solvable equations • Use gradient descent Slow but doable • Use a much faster, cuter, and recently very popular method…
  • 26.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 26 Expectation Maximalization
  • 27.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 27 The E.M. Algorithm • We’ll get back to unsupervised learning soon. • But now we’ll look at an even simpler case with hidden information. • The EM algorithm  Can do trivial things, such as the contents of the next few slides.  An excellent way of doing our unsupervised learning problem, as we’ll see.  Many, many other uses, including inference of Hidden Markov Models (future lecture). DETOUR
  • 28.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 28 Silly Example Let events be “grades in a class” w1 = Gets an A P(A) = ½ w2 = Gets a B P(B) = μ w3 = Gets a C P(C) = 2μ w4 = Gets a D P(D) = ½-3μ (Note 0 ≤ μ ≤1/6) Assume we want to estimate μ from data. In a given class there were a A’s b B’s c C’s d D’s What’s the maximum likelihood estimate of μ given a,b,c,d ?
  • 29.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 29 Silly Example Let events be “grades in a class” w1 = Gets an A P(A) = ½ w2 = Gets a B P(B) = μ w3 = Gets a C P(C) = 2μ w4 = Gets a D P(D) = ½-3μ (Note 0 ≤ μ ≤1/6) Assume we want to estimate μ from data. In a given class there were a A’s b B’s c C’s d D’s What’s the maximum likelihood estimate of μ given a,b,c,d ?
  • 30.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 30 Trivial Statistics P(A) = ½ P(B) = μ P(C) = 2μ P(D) = ½-3μ P( a,b,c,d | μ) = K(½)a (μ)b (2μ)c (½-3μ)d log P( a,b,c,d | μ) = log K + alog ½ + blog μ + clog 2μ + dlog (½-3μ)   10 1 μ like Max got class if So 6 μ like max Gives 0 μ 3 2 / 1 3 μ 2 2 μ μ LogP 0 μ LogP SET μ, LIKE MAX FOR                d c b c b d c b A B C D 14 6 9 10 Boring, but true!
  • 31.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 31 Same Problem with Hidden Information Someone tells us that Number of High grades (A’s + B’s) = h Number of C’s = c Number of D’s = d What is the max. like estimate of μ now? REMEMBER P(A) = ½ P(B) = μ P(C) = 2μ P(D) = ½-3μ
  • 32.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 32 Same Problem with Hidden Information h b h a μ 2 1 μ μ 2 1 2 1       d c b c b     6 μ Someone tells us that Number of High grades (A’s + B’s) = h Number of C’s = c Number of D’s = d What is the max. like estimate of μ now? We can answer this question circularly: EXPECTATION MAXIMIZATION If we know the value of μ we could compute the expected value of a and b If we know the expected values of a and b we could compute the maximum likelihood value of μ REMEMBER P(A) = ½ P(B) = μ P(C) = 2μ P(D) = ½-3μ Since the ratio a:b should be the same as the ratio ½ : 
  • 33.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 33 E.M. for our Trivial Problem We begin with a guess for μ We iterate between EXPECTATION and MAXIMALIZATION to improve our estimates of μ and a and b. Define μ(t) the estimate of μ on the t’th iteration b(t) the estimate of b on t’th iteration REMEMBER P(A) = ½ P(B) = μ P(C) = 2μ P(D) = ½-3μ           t b d c t b c t b t t b t h t b given μ of est like max 6 ) 1 ( μ ) ( μ | ) ( μ 2 1 μ(t) ) ( guess initial ) 0 ( μ            E-step M-step Continue iterating until converged. Good news: Converging to local optimum is assured. Bad news: I said “local” optimum.
  • 34.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 34 E.M. Convergence • Convergence proof based on fact that Prob(data | μ) must increase or remain same between each iteration [NOT OBVIOUS] • But it can never exceed 1 [OBVIOUS] So it must therefore converge [OBVIOUS] t μ(t) b(t) 0 0 0 1 0.0833 2.857 2 0.0937 3.158 3 0.0947 3.185 4 0.0948 3.187 5 0.0948 3.187 6 0.0948 3.187 In our example, suppose we had h = 20 c = 10 d = 10 μ(0) = 0 Convergence is generally linear: error decreases by a constant factor each time step.
  • 35.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 35 Back to Unsupervised Learning of GMMs Remember: We have unlabeled data x1 x2 … xR We know there are k classes We know P(w1) P(w2) P(w3) … P(wk) We don’t know μ1 μ2 .. μk We can write P( data | μ1…. μk)                                 R i k j j j i R i k j j k j i R i k i k R w x w w x x x x 1 1 2 2 1 1 1 1 1 1 1 P μ σ 2 1 exp K P μ ... μ , p μ ... μ p μ ... μ ... p
  • 36.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 36 E.M. for GMMs               R i k i j i R i k i j j k i x w P x x w P 1 1 1 1 1 μ ... μ , μ ... μ , μ j, each for , likelihood Max For " : into this turns algebra crazy n' wild' Some 0 μ ... μ data ob Pr log μ know we likelihood Max For This is n nonlinear equations in μj’s.” …I feel an EM experience coming on!! If, for each xi we knew that for each wj the prob that μj was in class wj is P(wj|xi,μ1…μk) Then… we would easily compute μj. If we knew each μj then we could easily compute P(wj|xi,μ1…μk) for each wj and xi. See http://www.cs.cmu.edu/~awm/doc/gmm-algebra.pdf
  • 37.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 37 E.M. for GMMs Iterate. On the t’th iteration let our estimates be t = { μ1(t), μ2(t) … μc(t) } E-step Compute “expected” classes of all datapoints for each class                 c j j j j k i i i k t k t i t i k t k i t p t w x t p t w x x w w x x w 1 2 2 ) ( ), ( , p ) ( ), ( , p p P , p , P I I         M-step. Compute Max. like μ given our data’s class membership distributions           k t k i k k t k i i x w x x w t   , P , P 1 μ Just evaluate a Gaussian at xk
  • 38.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 38 Convergenc e • This algorithm is REALLY USED. And in high dimensional state spaces, too. E.G. Vector Quantization for Speech Data • Your lecturer will (unless out of time) give you a nice intuitive explanation of why this rule works. • As with all EM procedures, convergence to a local optimum guaranteed.
  • 39.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 39 E.M. for General GMMs Iterate. On the t’th iteration let our estimates be t = { μ1(t), μ2(t) … μc(t), 1(t), 2(t) … c(t), p1(t), p2(t) … pc(t) } E-step Compute “expected” classes of all datapoints for each class                   c j j j j j k i i i i k t k t i t i k t k i t p t t w x t p t t w x x w w x x w 1 ) ( ) ( ), ( , p ) ( ) ( ), ( , p p P , p , P       M-step. Compute Max. like μ given our data’s class membership distributions pi(t) is shorthand for estimate of P(i) on t’th iteration           k t k i k k t k i i x w x x w t   , P , P 1 μ                        k t k i T i k i k k t k i i x w t x t x x w t     , P 1 1 , P 1     R x w t p k t k i i     , P 1 R = #records Just evaluate a Gaussian at xk
  • 40.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 40 Gaussian Mixture Example: Start Advance apologies: in Black and White this example will be incomprehensible
  • 41.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 41 After first iteration
  • 42.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 42 After 2nd iteration
  • 43.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 43 After 3rd iteration
  • 44.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 44 After 4th iteration
  • 45.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 45 After 5th iteration
  • 46.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 46 After 6th iteration
  • 47.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 47 After 20th iteration
  • 48.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 48 Some Bio Assay data
  • 49.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 49 GMM clustering of the assay data
  • 50.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 50 Resulting Density Estimator
  • 51.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 51 Where are we now? Inputs Classifier Predict category Inputs Density Estimator Prob- ability Inputs Regressor Predict real no. Dec Tree, Sigmoid Perceptron, Sigmoid N.Net, Gauss/Joint BC, Gauss Naïve BC, N.Neigh, Bayes Net Based BC, Cascade Correlation Joint DE, Naïve DE, Gauss/Joint DE, Gauss Naïve DE, Bayes Net Structure Learning, GMMs Linear Regression, Polynomial Regression, Perceptron, Neural Net, N.Neigh, Kernel, LWR, RBFs, Robust Regression, Cascade Correlation, Regression Trees, GMDH, Multilinear Interp, MARS Inputs Inference Engine Learn P(E1|E2) Joint DE, Bayes Net Structure Learning
  • 52.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 52 The old trick… Inputs Classifier Predict category Inputs Density Estimator Prob- ability Inputs Regressor Predict real no. Dec Tree, Sigmoid Perceptron, Sigmoid N.Net, Gauss/Joint BC, Gauss Naïve BC, N.Neigh, Bayes Net Based BC, Cascade Correlation, GMM-BC Joint DE, Naïve DE, Gauss/Joint DE, Gauss Naïve DE, Bayes Net Structure Learning, GMMs Linear Regression, Polynomial Regression, Perceptron, Neural Net, N.Neigh, Kernel, LWR, RBFs, Robust Regression, Cascade Correlation, Regression Trees, GMDH, Multilinear Interp, MARS Inputs Inference Engine Learn P(E1|E2) Joint DE, Bayes Net Structure Learning
  • 53.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 53 Three classes of assay (each learned with it’s own mixture model) (Sorry, this will again be semi-useless in black and white)
  • 54.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 54 Resulting Bayes Classifier
  • 55.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 55 Resulting Bayes Classifier, using posterior probabilities to alert about ambiguity and anomalousness Yellow means anomalous Cyan means ambiguous
  • 56.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 56 Unsupervised learning with symbolic attributes It’s just a “learning Bayes net with known structure but hidden values” problem. Can use Gradient Descent. EASY, fun exercise to do an EM formulation for this case too. # KIDS MARRIED NATION missing
  • 57.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 57 Final Comments • Remember, E.M. can get stuck in local minima, and empirically it DOES. • Our unsupervised learning example assumed P(wi)’s known, and variances fixed and known. Easy to relax this. • It’s possible to do Bayesian unsupervised learning instead of max. likelihood. • There are other algorithms for unsupervised learning. We’ll visit K-means soon. Hierarchical clustering is also interesting. • Neural-net algorithms called “competitive learning” turn out to have interesting parallels with the EM method we saw.
  • 58.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 58 What you should know • How to “learn” maximum likelihood parameters (locally max. like.) in the case of unlabeled data. • Be happy with this kind of probabilistic analysis. • Understand the two examples of E.M. given in these notes. For more info, see Duda + Hart. It’s a great book. There’s much more in the book than in your handout.
  • 59.
    Copyright © 2001,2004, Andrew W. Moore Clustering with Gaussian Mixtures: Slide 59 Other unsupervised learning methods • K-means (see next lecture) • Hierarchical clustering (e.g. Minimum spanning trees) (see next lecture) • Principal Component Analysis simple, useful tool • Non-linear PCA Neural Auto-Associators Locally weighted PCA Others…