vbm683 machine learning - hacettepe Üniversitesi › ~pinar › courses › vbm... · vbm683...

140
VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas Poczos, and Aarti Singh

Upload: others

Post on 25-Jun-2020

10 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

VBM683

Machine Learning

Pinar Duygulu

Slides are adapted from

Dhruv Batra, Aykut Erdem

Barnabas Poczos, and Aarti Singh

Page 2: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Tasks

(C) Dhruv Batra 2

Classificationx y

Regressionx y

Discrete

Continuous

Clusteringx c Discrete ID

Dimensionality

Reductionx z Continuous

Supervised Learning

Unsupervised Learning

Page 3: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Unsupervised Learning

• Learning only with X

– Y not present in training data

• Some example unsupervised learning problems:

– Clustering / Factor Analysis

– Dimensionality Reduction / Embeddings

– Density Estimation with Mixture Models

(C) Dhruv Batra 3

Page 4: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

New Topic: Clustering

Slide Credit: Carlos Guestrin 4

Page 5: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Synonyms

• Clustering

• Vector Quantization

• Latent Variable Models

• Hidden Variable Models

• Mixture Models

• Algorithms:

– K-means

– Expectation Maximization (EM)

(C) Dhruv Batra 5

Page 6: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 7: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 8: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 9: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 10: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 11: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 12: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 13: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 14: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 15: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 16: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 17: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 18: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 19: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Some Data

19(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 20: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

1. Ask user how many

clusters they’d like.

(e.g. k=5)

20(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 21: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

1. Ask user how many

clusters they’d like.

(e.g. k=5)

2. Randomly guess k

cluster Center

locations

21(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 22: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

1. Ask user how many

clusters they’d like.

(e.g. k=5)

2. Randomly guess k

cluster Center

locations

3. Each datapoint finds

out which Center it’s

closest to. (Thus

each Center “owns”

a set of datapoints)

22(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 23: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

1. Ask user how many

clusters they’d like.

(e.g. k=5)

2. Randomly guess k

cluster Center

locations

3. Each datapoint finds

out which Center it’s

closest to.

4. Each Center finds

the centroid of the

points it owns

23(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 24: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

1. Ask user how many

clusters they’d like.

(e.g. k=5)

2. Randomly guess k

cluster Center

locations

3. Each datapoint finds

out which Center it’s

closest to.

4. Each Center finds

the centroid of the

points it owns

5. …Repeat until

terminated!

24(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 25: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 26: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 27: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 28: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 29: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 30: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 31: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

• Randomly initialize k centers

– (0) = 1(0),…, k

(0)

• Assign:

– Assign each point i{1,…n} to nearest center:

• Recenter:

– 𝜇𝑗 becomes centroid of its points

31(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 32: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means

• Demo

– http://mlehman.github.io/kmeans-javascript/

(C) Dhruv Batra 32

Page 33: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

What is K-means optimizing?

• Objective F(,C): function of centers and point

allocations C:

– 1-of-k encoding

• Optimal K-means:

– minmina F(,a)

33(C) Dhruv Batra

Page 34: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Coordinate descent algorithms

34(C) Dhruv Batra Slide Credit: Carlos Guestrin

• Want: mina minb F(a,b)

• Coordinate descent:

– fix a, minimize b

– fix b, minimize a

– repeat

• Converges!!!

– if F is bounded

– to a (often good) local optimum

• as we saw in applet (play with it!)

• K-means is a coordinate descent algorithm!

Page 35: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

• Optimize objective function:

• Fix , optimize a (or C)

35(C) Dhruv Batra Slide Credit: Carlos Guestrin

K-means as Co-ordinate Descent

Page 36: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

• Optimize objective function:

• Fix a (or C), optimize

36(C) Dhruv Batra Slide Credit: Carlos Guestrin

K-means as Co-ordinate Descent

Page 37: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 38: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 39: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 40: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 41: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 42: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 43: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

One important use of K-means

• Bag-of-word models in computer vision

(C) Dhruv Batra 43

Page 44: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Bag of Words model

aardvark 0

about 2

all 2

Africa 1

apple 0

anxious 0

...

gas 1

...

oil 1

Zaire 0

Slide Credit: Carlos Guestrin(C) Dhruv Batra 44

Page 45: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Object Bag of ‘words’

Fei-Fei Li

Page 46: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Fei-Fei Li

Page 47: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Interest Point Features

Normalize

patch

Detect patches

[Mikojaczyk and Schmid ’02]

[Matas et al. ’02]

[Sivic et al. ’03]

Compute

SIFT

descriptor

[Lowe’99]

Slide credit: Josef Sivic

Page 48: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Patch Features

Slide credit: Josef Sivic

Page 49: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

dictionary formation

Slide credit: Josef Sivic

Page 50: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Clustering (usually k-means)

Vector quantization

Slide credit: Josef Sivic

Page 51: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Clustered Image Patches

Fei-Fei et al. 2005

Page 52: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Image representation

…..

frequency

codewords

Fei-Fei Li

Page 53: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 54: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 55: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 56: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 57: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 58: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 59: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 60: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 61: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 62: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 63: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 64: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 65: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 66: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 67: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 68: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 69: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 70: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

(One) bad case for k-means

• Clusters may overlap

• Some clusters may be

“wider” than others

• GMM to the rescue!

Slide Credit: Carlos Guestrin(C) Dhruv Batra 70

Page 71: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

(C) Dhruv Batra 71

Page 72: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

GMM

(C) Dhruv Batra 72Figure Credit: Kevin Murphy

Page 73: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Recall Multi-variate Gaussians

(C) Dhruv Batra 73

Page 74: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

GMM

(C) Dhruv Batra 74Figure Credit: Kevin Murphy

Page 75: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Special case: spherical Gaussians

and hard assignments

Slide Credit: Carlos Guestrin(C) Dhruv Batra 75

• If P(X|Z=k) is spherical, with same for all classes:

• If each xi belongs to one class C(i) (hard

assignment), marginal likelihood:

• M(M)LE same as K-means!!!

P(xi, y = j)j=1

k

åi=1

N

Õ µ exp -1

2s 2xi -mC(i)

ëê

ù

ûú

i=1

N

Õ

P(xi | z = j)µexp -1

2s 2xi -m j

ëê

ù

ûú

Page 76: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

The K-means GMM assumption

• There are k components

• Component i has an associated

mean vector i

1

2

3

Slide Credit: Carlos Guestrin(C) Dhruv Batra 76

Page 77: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

The K-means GMM assumption

• There are k components

• Component i has an associated

mean vector i

Each component generates data

from a Gaussian with mean mi and

covariance matrix 2I

Each data point is generated

according to the following recipe:

1

2

3

Slide Credit: Carlos Guestrin(C) Dhruv Batra 77

Page 78: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

The K-means GMM assumption

• There are k components

• Component i has an associated

mean vector i

• Each component generates

data from a Gaussian with

mean mi and covariance matrix

2I

Each data point is generated

according to the following

recipe:

1. Pick a component at random:

Choose component i with

probability P(y=i)

2

Slide Credit: Carlos Guestrin(C) Dhruv Batra 78

Page 79: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

The K-means GMM assumption

• There are k components

• Component i has an associated

mean vector i

• Each component generates

data from a Gaussian with

mean mi and covariance matrix

2I

Each data point is generated

according to the following

recipe:

1. Pick a component at random:

Choose component i with

probability P(y=i)

2. Datapoint ~ N(i, 2I )

2

x

Slide Credit: Carlos Guestrin(C) Dhruv Batra 79

Page 80: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

The General GMM assumption

1

2

3

• There are k components

• Component i has an associated

mean vector mi

• Each component generates

data from a Gaussian with

mean mi and covariance matrix

Si

Each data point is generated

according to the following

recipe:

1. Pick a component at random:

Choose component i with

probability P(y=i)

2. Datapoint ~ N(mi, Si )

Slide Credit: Carlos Guestrin(C) Dhruv Batra 80

Page 81: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

K-means vs GMM

• K-Means

– http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/A

ppletKM.html

• GMM

– http://www.socr.ucla.edu/applets.dir/mixtureem.html

(C) Dhruv Batra 81

Page 82: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

EM

• Expectation Maximization [Dempster ‘77]

• Often looks like “soft” K-means

• Extremely general

• Extremely useful algorithm

– Essentially THE goto algorithm for unsupervised learning

• Plan

– EM for learning GMM parameters

– EM for general unsupervised learning problems

(C) Dhruv Batra 82

Page 83: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

EM for Learning GMMs

• Simple Update Rules

– E-Step: estimate P(zi = j | xi)

– M-Step: maximize full likelihood weighted by posterior

(C) Dhruv Batra 83

Page 84: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Gaussian Mixture Example: Start

84(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 85: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 1st iteration

85(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 86: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 2nd iteration

86(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 87: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 3rd iteration

87(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 88: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 4th iteration

88(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 89: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 5th iteration

89(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 90: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 6th iteration

90(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 91: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

After 20th iteration

91(C) Dhruv Batra Slide Credit: Carlos Guestrin

Page 92: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Tasks

(C) Dhruv Batra 92

Classificationx y

Regressionx y

Discrete

Continuous

Clusteringx c Discrete ID

Dimensionality

Reductionx z Continuous

Page 93: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

New Topic: PCA

Page 94: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Synonyms

• Principal Component Analysis

• Karhunen–Loève transform

• Eigen-Faces

• Eigen-<Insert-your-problem-domain>

• PCA is a Dimensionality Reduction Algorithm

• Other Dimensionality Reduction algorithms

– Linear Discriminant Analysis (LDA)

– Independent Component Analysis (ICA)

– Local Linear Embedding (LLE)

– …

(C) Dhruv Batra 94

Page 95: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Dimensionality reduction

• Input data may have thousands or millions of

dimensions!

– e.g., images have 5M pixels

Page 96: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Dimensionality reduction

• Input data may have thousands or millions of

dimensions!

– e.g., images have 5M pixels

• Dimensionality reduction:

represent data with fewer dimensions

– easier learning – fewer parameters

– visualization – hard to visualize more than 3D or 4D

– discover “intrinsic dimensionality” of data

• high dimensional data that is truly lower dimensional

Page 97: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

PCA / KL-Transform

• De-correlation view

– Make features uncorrelated

– No projection yet

• Max-variance view:

– Project data to lower dimensions

– Maximize variance in lower dimensions

• Synthesis / Min-error view:

– Project data to lower dimensions

– Minimize reconstruction error

• All views lead to same solution

(C) Dhruv Batra 97

Page 98: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Basic PCA algorithm

• Center data (subtract mean)

• Estimate covariance

• Find eigenvectors and values of covariance

• Principle components: choose k eigenvectors with

highest corresponding values

(C) Dhruv Batra 98

Page 99: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Video

(C) Dhruv Batra 99

• https://youtu.be/pSRA8GpWIrA?t=162

Page 100: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

Video

(C) Dhruv Batra 100

• What if the dimension is high?

– Covariance matrix is d x d

– For high d, Eigen decomposition is very slow… O(d3)

• Use Singular Value Decomposition (SVD)

– finds k-eigenvectors

– great implementations O(N2d)

Page 101: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 102: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 103: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 104: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 105: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 106: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 107: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 108: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 109: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 110: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 111: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 112: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 113: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 114: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 115: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 116: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 117: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 118: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 119: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 120: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 121: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 122: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 123: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 124: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 125: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 126: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 127: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 128: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 129: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 130: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 131: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 132: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 133: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 134: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 135: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 136: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 137: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 138: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 139: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas
Page 140: VBM683 Machine Learning - Hacettepe Üniversitesi › ~pinar › courses › VBM... · VBM683 Machine Learning Pinar Duygulu Slides are adapted from Dhruv Batra, Aykut Erdem Barnabas

What you need to know

(C) Dhruv Batra 140

• Dimensionality Reduction

– why and when its important

• visualization

• compression

• faster learning

• Principle Component Analysis

– KL Transform view

• Notes have reconstruction error and max variance views too

– Relationship to covariance matrix and eigenvectors

– using SVD for PCA