Lecture 7 Jan-Willem van de Meent DIMENSIONALITY REDUCTION - - PowerPoint PPT Presentation

lecture 7
SMART_READER_LITE
LIVE PREVIEW

Lecture 7 Jan-Willem van de Meent DIMENSIONALITY REDUCTION - - PowerPoint PPT Presentation

Unsupervised Machine Learning and Data Mining DS 5230 / DS 4420 - Fall 2018 Lecture 7 Jan-Willem van de Meent DIMENSIONALITY REDUCTION Borrowing from : Percy Liang (Stanford) Dimensionality Reduction Goal: Map high dimensional


slide-1
SLIDE 1

Unsupervised Machine Learning 
 and Data Mining

DS 5230 / DS 4420 - Fall 2018

Lecture 7

Jan-Willem van de Meent

slide-2
SLIDE 2

DIMENSIONALITY REDUCTION

Borrowing from:
 Percy Liang
 (Stanford)

slide-3
SLIDE 3

Dimensionality Reduction

Original Data (4 dims) Projection with PCA (2 dims) Goal: Map high dimensional data onto lower-dimensional data in a manner that preserves distances/similarities Objective: projection should “preserve” relative distances

slide-4
SLIDE 4

Linear Dimensionality Reduction

∈ x ∈ R361 z = U>x z ∈ R10

Idea: Project high-dimensional vector 


  • nto a lower dimensional space
slide-5
SLIDE 5

Problem Setup

Given n data points in d dimensions: x1, . . . , xn ∈ Rd X =( x1 · · · · · · xn) ∈ Rd⇥n

Transpose of X
 used in regression!

slide-6
SLIDE 6

Problem Setup

Given n data points in d dimensions: x1, . . . , xn ∈ Rd X =( x1 · · · · · · xn) ∈ Rd⇥n Want to reduce dimensionality from d to k Choose k directions u1, . . . , uk U =( u1 ·· uk ) ∈ Rd⇥k

slide-7
SLIDE 7

Problem Setup

Given n data points in d dimensions: x1, . . . , xn ∈ Rd X =( x1 · · · · · · xn) ∈ Rd⇥n Want to reduce dimensionality from d to k Choose k directions u1, . . . , uk U =( u1 ·· uk ) ∈ Rd⇥k For each uj, compute “similarity” zj = u>

j x

slide-8
SLIDE 8

Problem Setup

Given n data points in d dimensions: x1, . . . , xn ∈ Rd X =( x1 · · · · · · xn) ∈ Rd⇥n Want to reduce dimensionality from d to k Choose k directions u1, . . . , uk U =( u1 ·· uk ) ∈ Rd⇥k For each uj, compute “similarity” zj = u>

j x

Project x down to z = (z1, . . . , zk)> = U>x How to choose U?

slide-9
SLIDE 9

Top 2 components Bottom 2 components

Data: three varieties of wheat: Kama, Rosa, Canadian
 Attributes: Area, Perimeter, Compactness, Length of Kernel, 
 Width of Kernel, Asymmetry Coefficient, Length of Groove

Principal Component Analysis

slide-10
SLIDE 10

Principal Component Analysis

∈ x ∈ R361 z = U>x z ∈ R10

Optimize two equivalent objectives

  • 1. Minimize the reconstruction error
  • 2. Maximizes the projected variance
slide-11
SLIDE 11

PCA Objective 1: Reconstruction Error

U serves two functions:

  • Encode: z = U>x,

zj = u>

j x

P

slide-12
SLIDE 12

PCA Objective 1: Reconstruction Error

U serves two functions:

  • Encode: z = U>x,

zj = u>

j x

  • Decode: ˜

x = Uz = Pk

j=1 zjuj

slide-13
SLIDE 13

PCA Objective 1: Reconstruction Error

U serves two functions:

  • Encode: z = U>x,

zj = u>

j x

  • Decode: ˜

x = Uz = Pk

j=1 zjuj

Want reconstruction error kx ˜ xk to be small

slide-14
SLIDE 14

PCA Objective 1: Reconstruction Error

U serves two functions:

  • Encode: z = U>x,

zj = u>

j x

  • Decode: ˜

x = Uz = Pk

j=1 zjuj

Want reconstruction error kx ˜ xk to be small Objective: minimize total squared reconstruction error min

U2Rd⇥k n

X

i=1

kxi UU>xik2

slide-15
SLIDE 15

PCA Objective 2: Projected Variance

Empirical distribution: uniform over x1, . . . , xn Expectation (think sum over data points): ˆ E[f(x)] = 1

n

Pn

i=1 f(xi)

Variance (think sum of squares if centered): c var[f(x)] + (ˆ E[f(x)])2 = ˆ E[f(x)2] = 1

n

Pn

i=1 f(xi)2

slide-16
SLIDE 16

PCA Objective 2: Projected Variance

Empirical distribution: uniform over x1, . . . , xn Expectation (think sum over data points): ˆ E[f(x)] = 1

n

Pn

i=1 f(xi)

Variance (think sum of squares if centered): c var[f(x)] + (ˆ E[f(x)])2 = ˆ E[f(x)2] = 1

n

Pn

i=1 f(xi)2

c Assume data is centered: ˆ E[x] = 0 (what’s

slide-17
SLIDE 17

PCA Objective 2: Projected Variance

Empirical distribution: uniform over x1, . . . , xn Expectation (think sum over data points): ˆ E[f(x)] = 1

n

Pn

i=1 f(xi)

Variance (think sum of squares if centered): c var[f(x)] + (ˆ E[f(x)])2 = ˆ E[f(x)2] = 1

n

Pn

i=1 f(xi)2

c Assume data is centered: ˆ E[x] = 0 (what’s

slide-18
SLIDE 18

PCA Objective 2: Projected Variance

Empirical distribution: uniform over x1, . . . , xn Expectation (think sum over data points): ˆ E[f(x)] = 1

n

Pn

i=1 f(xi)

Variance (think sum of squares if centered): c var[f(x)] + (ˆ E[f(x)])2 = ˆ E[f(x)2] = 1

n

Pn

i=1 f(xi)2

Objective: maximize variance of projected data max

U2Rd⇥k,U>U=I

ˆ E[kU>xk2] c Assume data is centered: ˆ E[x] = 0 (what’s

slide-19
SLIDE 19

PCA Objective 2: Projected Variance

Empirical distribution: uniform over x1, . . . , xn Expectation (think sum over data points): ˆ E[f(x)] = 1

n

Pn

i=1 f(xi)

Variance (think sum of squares if centered): c var[f(x)] + (ˆ E[f(x)])2 = ˆ E[f(x)2] = 1

n

Pn

i=1 f(xi)2

c P Assume data is centered: ˆ E[x] = 0 (what’s ˆ

E[U>x]?)

Objective: maximize variance of projected data max

U2Rd⇥k,U>U=I

ˆ E[kU>xk2]

slide-20
SLIDE 20

Equivalence of two objectives

Key intuition: variance of data | {z }

fixed

= captured variance | {z }

want large

+ reconstruction error | {z }

want small

slide-21
SLIDE 21

Equivalence of two objectives

Key intuition: variance of data | {z }

fixed

= captured variance | {z }

want large

+ reconstruction error | {z }

want small

Pythagorean decomposition: x = UU>x + (I UU>)x kUU>xk k(I UU>)xk kxk Take expectations; note rotation U doesn’t affect length: ˆ E[kxk2] = ˆ E[kU>xk2] + ˆ E[kx UU>xk2]

slide-22
SLIDE 22

Equivalence of two objectives

Key intuition: variance of data | {z }

fixed

= captured variance | {z }

want large

+ reconstruction error | {z }

want small

Pythagorean decomposition: x = UU>x + (I UU>)x kUU>xk k(I UU>)xk kxk Take expectations; note rotation U doesn’t affect length: ˆ E[kxk2] = ˆ E[kU>xk2] + ˆ E[kx UU>xk2] Minimize reconstruction error $ Maximize captured variance

slide-23
SLIDE 23

Changes of Basis

U =( u1 ·· uk ) ∈ Rd⇥

Data Orthonormal Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

d d

slide-24
SLIDE 24

Changes of Basis

U =( u1 ·· uk ) ∈ Rd⇥

Data Orthonormal Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

d d

Change of basis

z = U>x

” zj = u>

j x

to z = (z1, . . . , zk)>

d

Inverse Change of basis

˜ x = Uz =

> j x

d

slide-25
SLIDE 25

U =( u1 ·· uk ) ∈ Rd⇥

Data Orthonormal Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

d d

Eigenvectors of Covariance

Λ =    λ1 λ2 ... λd   

Eigen-decomposition

Principal Component Analysis

d

Claim: Eigenvectors of a symmetric matrix are orthogonal

slide-26
SLIDE 26

n

(from stack exchange)

Principal Component Analysis

slide-27
SLIDE 27

Λ =    λ1 λ2 ... λd   

U =( u1 ·· uk ) ∈ Rd⇥

Data Orthonormal Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

d d

Eigenvectors of Covariance Eigen-decomposition

Principal Component Analysis

d

Idea: Take top-k eigenvectors to maximize variance

slide-28
SLIDE 28

U =( u1 ·· uk ) ∈ Rd⇥k

Data Truncated Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

Truncated decomposition Eigenvectors of Covariance

Principal Component Analysis

Λ(k) =    λ1 λ2 ... λk   

slide-29
SLIDE 29

PCA: Complexity

Using eigen-value decomposition

  • Computation of covariance C: O(n d 2)
  • Eigen-value decomposition: O(d 3)
  • Total complexity: O(n d 2 +d 3)

U =( u1 ·· uk ) ∈ Rd⇥k

Data Truncated Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

slide-30
SLIDE 30

PCA: Complexity

Using singular-value decomposition

  • Full decomposition: O(min{nd 2 , n 2d})
  • Rank-k decomposition: O(k d n log(n))


(with power method)


U =( u1 ·· uk ) ∈ Rd⇥k

Data Truncated Basis

X =( x1 · · · · · · xn) ∈ Rd⇥n

slide-31
SLIDE 31

Idea: Decompose a
 d x d matrix M into

  • 1. Change of basis V


(unitary matrix)

  • 2. A scaling Σ


(diagonal matrix)

  • 3. Change of basis U


(unitary matrix)

Singular Value Decomposition

slide-32
SLIDE 32

Singular Value Decomposition

Idea: Decompose the
 d x n matrix X into

  • 1. A n x n basis V


(unitary matrix)

  • 2. A d x n matrix Σ


(diagonal projection)

  • 3. A d x d basis U


(unitary matrix)

d X = Ud⇥dΣd⇥nV>

n⇥n

slide-33
SLIDE 33
  • d = number of pixels
  • Each xi 2 Rd is a face image
  • xji = intensity of the j-th pixel in image i

Eigen-faces [Turk & Pentland 1991]

slide-34
SLIDE 34

Eigen-faces [Turk & Pentland 1991]

  • d = number of pixels
  • Each xi 2 Rd is a face image
  • xji = intensity of the j-th pixel in image i

Xd×n u Ud×k Zk×n

(

. . .

) u ( )( z1 . . . zn)

slide-35
SLIDE 35

Eigen-faces [Turk & Pentland 1991]

  • d = number of pixels
  • Each xi 2 Rd is a face image
  • xji = intensity of the j-th pixel in image i

Xd×n u Ud×k Zk×n

(

. . .

) u ( )( z1 . . . zn)

Idea: zi more “meaningful” representation of i-th face than xi Can use zi for nearest-neighbor classification

slide-36
SLIDE 36
  • d = number of pixels
  • Each xi 2 Rd is a face image
  • xji = intensity of the j-th pixel in image i

Xd×n u Ud×k Zk×n

(

. . .

) u ( )( z1 . . . zn)

Idea: zi more “meaningful” representation of i-th face than xi Can use zi for nearest-neighbor classification Much faster: O(dk + nk) time instead of O(dn) when n, d k

Eigen-faces [Turk & Pentland 1991]

slide-37
SLIDE 37
  • d = number of pixels
  • Each xi 2 Rd is a face image
  • xji = intensity of the j-th pixel in image i

Xd×n u Ud×k Zk×n

(

. . .

) u ( )( z1 . . . zn)

Idea: zi more “meaningful” representation of i-th face than xi Can use zi for nearest-neighbor classification Much faster: O(dk + nk) time instead of O(dn) when n, d k Why no time savings for linear classifier?

Eigen-faces [Turk & Pentland 1991]

slide-38
SLIDE 38

Aside: How many components?

  • Magnitude of eigenvalues indicate fraction of variance captured.
  • Eigenvalues on a face image dataset:

2 3 4 5 6 7 8 9 10 11

i

287.1 553.6 820.1 1086.7 1353.2

λi

  • Eigenvalues typically drop off sharply, so don’t need that many.
  • Of course variance isn’t everything...
slide-39
SLIDE 39

Latent Semantic Analysis [Deerwater 1990]

  • d = number of words in the vocabulary
  • Each xi ∈ Rd is a vector of word counts

=

slide-40
SLIDE 40

Latent Semantic Analysis [Deerwater 1990]

  • d = number of words in the vocabulary
  • Each xi ∈ Rd is a vector of word counts
  • xji = frequency of word j in document i

Xd⇥n u Ud⇥k Zk⇥n

(

stocks: 2 · · · · · · · · · 0 chairman: 4 · · · · · · · · · 1 the: 8 · · · · · · · · · 7 · · · . . . · · · · · · · · · . . . wins: 0 · · · · · · · · · 2 game: 1 · · · · · · · · · 3)

u(

0.4 ·· -0.001 0.8 ·· 0.03 0.01 ·· 0.04 . . . ·· . . . 0.002 ·· 2.3 0.003 ·· 1.9 )( z1 . . . zn)

slide-41
SLIDE 41

Latent Semantic Analysis [Deerwater 1990]

  • d = number of words in the vocabulary
  • Each xi ∈ Rd is a vector of word counts
  • xji = frequency of word j in document i

Xd⇥n u Ud⇥k Zk⇥n

(

stocks: 2 · · · · · · · · · 0 chairman: 4 · · · · · · · · · 1 the: 8 · · · · · · · · · 7 · · · . . . · · · · · · · · · . . . wins: 0 · · · · · · · · · 2 game: 1 · · · · · · · · · 3)

u(

0.4 ·· -0.001 0.8 ·· 0.03 0.01 ·· 0.04 . . . ·· . . . 0.002 ·· 2.3 0.003 ·· 1.9 )( z1 . . . zn)

How to measure similarity between two documents? z>

1 z2 is probably better than x> 1 x2

slide-42
SLIDE 42

Latent Semantic Analysis [Deerwater 1990]

  • d = number of words in the vocabulary
  • Each xi ∈ Rd is a vector of word counts
  • xji = frequency of word j in document i

Xd⇥n u Ud⇥k Zk⇥n

(

stocks: 2 · · · · · · · · · 0 chairman: 4 · · · · · · · · · 1 the: 8 · · · · · · · · · 7 · · · . . . · · · · · · · · · . . . wins: 0 · · · · · · · · · 2 game: 1 · · · · · · · · · 3)

u(

0.4 ·· -0.001 0.8 ·· 0.03 0.01 ·· 0.04 . . . ·· . . . 0.002 ·· 2.3 0.003 ·· 1.9 )( z1 . . . zn)

How to measure similarity between two documents? z>

1 z2 is probably better than x> 1 x2

Applications: information retrieval Note: no computational savings; original x is already sparse

slide-43
SLIDE 43

PCA Summary

  • Intuition: capture variance of data or minimize

reconstruction error

  • Algorithm: find eigendecomposition of covariance

matrix or SVD

  • Impact: reduce storage (from O(nd) to O(nk)), reduce

time complexity

  • Advantages: simple, fast
  • Applications: eigen-faces, eigen-documents, network

anomaly detection, etc.

slide-44
SLIDE 44

Probabilistic Interpretation

g: max

U p(X | U)

For each data point i = 1, . . . , n: Draw the latent vector: zi ∼ N(0, Ik×k) Create the data point: xi ∼ N(Uzi, σ2Id×d) PCA finds the U that maximizes the likelihood of the data

Generative Model [Tipping and Bishop, 1999]:

slide-45
SLIDE 45

Probabilistic Interpretation

g: max

U p(X | U)

For each data point i = 1, . . . , n: Draw the latent vector: zi ∼ N(0, Ik×k) Create the data point: xi ∼ N(Uzi, σ2Id×d) PCA finds the U that maximizes the likelihood of the data

Generative Model [Tipping and Bishop, 1999]:

Advantages:

  • Handles missing data (important for collaborative

filtering)

  • Extension to factor analysis: allow non-isotropic noise

(replace σ2Id×d with arbitrary diagonal matrix)

slide-46
SLIDE 46

Limitations of Linearity

PCA is effective PCA is ineffective

slide-47
SLIDE 47

Limitations of Linearity

PCA is effective PCA is ineffective Problem is that PCA subspace is linear: S = {x = Uz : z ∈ Rk} In this example: S = {(x1, x2) : x2 = u2

u1x1}

slide-48
SLIDE 48

Nonlinear PCA

Broken solution Desired solution We want desired solution: S = {(x1, x2) : x2 = u2

u1x2 1}

slide-49
SLIDE 49

Nonlinear PCA

Broken solution Desired solution We want desired solution: S = {(x1, x2) : x2 = u2

u1x2 1}

We can get this: S = {φ(x) = Uz} with φ(x) = (x2

1, x2)>

slide-50
SLIDE 50

Nonlinear PCA

Broken solution Desired solution We want desired solution: S = {(x1, x2) : x2 = u2

u1x2 1}

We can get this: S = {φ(x) = Uz} with φ(x) = (x2

1, x2)>

{ }

Linear dimensionality reduction in φ(x) space ⇔ Nonlinear dimensionality reduction in x space

slide-51
SLIDE 51

Nonlinear PCA

Broken solution Desired solution We want desired solution: S = {(x1, x2) : x2 = u2

u1x2 1}

We can get this: S = {φ(x) = Uz} with φ(x) = (x2

1, x2)>

{ }

Linear dimensionality reduction in φ(x) space ⇔ Nonlinear dimensionality reduction in x space

Idea: Use kernels

slide-52
SLIDE 52

Kernel PCA

t u = Xα = Pn

i=1 αixi

Representer theorem:

: XX>u = λu x

slide-53
SLIDE 53

Kernel PCA

Kernel function: k(x1, x2) such that K, the kernel matrix formed by Kij = k(xi, xj), is positive semi-definite

t u = Xα = Pn

i=1 αixi

Representer theorem:

: XX>u = λu x

slide-54
SLIDE 54

Kernel PCA

Kernel function: k(x1, x2) such that K, the kernel matrix formed by Kij = k(xi, xj), is positive semi-definite

u = max α>Kα=1 α>K2α max

kuk=1 u>XX>u =

max α>X>Xα=1 α>(X>X)(X>X)α

t u = Xα = Pn

i=1 αixi

Representer theorem:

: XX>u = λu x

slide-55
SLIDE 55

Kernel PCA

Direct method: Kernel PCA objective: max α>Kα=1 α>K2α ⇒ kernel PCA eigenvalue problem: X>Xα = λ0α Modular method (if you don’t want to think about kernels): Find vectors x0

1, . . . , x0 n such that

x0>

i x0 j = Kij = φ(xi)>φ(xj)

Key: use any vectors that preserve inner products One possibility is Cholesky decomposition K = X>X

. . , x0

n

. . , x0

n

slide-56
SLIDE 56

Kernel PCA

slide-57
SLIDE 57

Canonical Correlation Analysis (CCA)

slide-58
SLIDE 58

Motivation for CCA [Hotelling 1936]

Often, each data point consists of two views:

  • Image retrieval: for each image, have the following:

– x: Pixels (or other visual features) – y: Text around the image

slide-59
SLIDE 59

Often, each data point consists of two views:

  • Image retrieval: for each image, have the following:

– x: Pixels (or other visual features) – y: Text around the image

  • Time series:

– x: Signal at time t – y: Signal at time t + 1

Motivation for CCA [Hotelling 1936]

slide-60
SLIDE 60

Often, each data point consists of two views:

  • Image retrieval: for each image, have the following:

– x: Pixels (or other visual features) – y: Text around the image

  • Time series:

– x: Signal at time t – y: Signal at time t + 1

  • Two-view learning: divide features into two sets

– x: Features of a word/object, etc. – y: Features of the context in which it appears

Motivation for CCA [Hotelling 1936]

slide-61
SLIDE 61

Often, each data point consists of two views:

  • Image retrieval: for each image, have the following:

– x: Pixels (or other visual features) – y: Text around the image

  • Time series:

– x: Signal at time t – y: Signal at time t + 1

  • Two-view learning: divide features into two sets

– x: Features of a word/object, etc. – y: Features of the context in which it appears Goal: reduce the dimensionality of the two views jointly

Motivation for CCA [Hotelling 1936]

slide-62
SLIDE 62

CCA Example

Setup: Input data: (x1, y1), . . . , (xn, yn) (matrices X, Y) Goal: find pair of projections (u, v)

slide-63
SLIDE 63

CCA Example

Setup: Input data: (x1, y1), . . . , (xn, yn) (matrices X, Y) Goal: find pair of projections (u, v) Dimensionality reduction solutions: Independent Joint , x and y are paired by brightness

slide-64
SLIDE 64

CCA Definition

Definitions: Variance: c var(u>x) = u>XX>u Covariance: c cov(u>x, v>y) = u>XY>v Correlation:

c cov(u>x,v>y)

c var(u>x)√ c var(v>y)

Objective: maximize correlation between projected views max

u,v d

corr(u>x, v>y) Properties:

  • Focus on how variables are related, not how much they vary
  • Invariant to any rotation and scaling of data
slide-65
SLIDE 65

From PCA to CCA

PCA on views separately: no covariance term

max

u,v

u>XX>u u>u + v>YY>v v>v

PCA on concatenation (X>, Y>)>: includes covariance term

max

u,v

u>XX>u + 2u>XY>v + v>YY>v u>u + v>v

slide-66
SLIDE 66

From PCA to CCA

PCA on views separately: no covariance term

max

u,v

u>XX>u u>u + v>YY>v v>v

PCA on concatenation (X>, Y>)>: includes covariance term

max

u,v

u>XX>u + 2u>XY>v + v>YY>v u>u + v>v

Maximum covariance: drop variance terms

max

u,v

u>XY>v √ u>u √ v>v

slide-67
SLIDE 67

From PCA to CCA

PCA on views separately: no covariance term

max

u,v

u>XX>u u>u + v>YY>v v>v

PCA on concatenation (X>, Y>)>: includes covariance term

max

u,v

u>XX>u + 2u>XY>v + v>YY>v u>u + v>v

Maximum covariance: drop variance terms

max

u,v

u>XY>v √ u>u √ v>v

Maximum correlation (CCA): divide out variance terms

max

u,v

u>XY>v √ u>XX>u √ v>YY>v

slide-68
SLIDE 68

Importance of Regularization

Extreme examples of degeneracy:

  • If x = Ay, then any (u, v) with u = Av is optimal

(correlation 1)

  • If x and y are independent, then any (u, v) is optimal

(correlation 0)

slide-69
SLIDE 69

Importance of Regularization

Extreme examples of degeneracy:

  • If x = Ay, then any (u, v) with u = Av is optimal

(correlation 1)

  • If x and y are independent, then any (u, v) is optimal

(correlation 0) Problem: if X or Y has rank n, then any (u, v) is optimal

†>Yv ⇒ CCA is meaningless!

(correlation 1) with u = X

slide-70
SLIDE 70

Importance of Regularization

Extreme examples of degeneracy:

  • If x = Ay, then any (u, v) with u = Av is optimal

(correlation 1)

  • If x and y are independent, then any (u, v) is optimal

(correlation 0) Problem: if X or Y has rank n, then any (u, v) is optimal

†>Yv ⇒ CCA is meaningless!

(correlation 1) with u = X ⇒ Solution: regularization (interpolate between maximum covariance and maximum correlation)

max

u,v

u>XY>v p u>(XX> + λI)u p v>(YY> + λI)v