## Description

1. Order the faces: The following dataset contains 33 faces of the same person (Y ∈ R

112×92×33)

in different angles,

https://yao-lab.github.io/data/face.mat

You may create a data matrix X ∈ R

n×p where n = 33, p = 112 × 92 = 10304 (e.g.

X=reshape(Y,[10304,33])’; in matlab).

(a) Explore the MDS-embedding of the 33 faces on top two eigenvectors: order the faces

according to the top 1st eigenvector and visualize your results with figures.

(b) Explore the ISOMAP-embedding of the 33 faces on the k = 5 nearest neighbor graph

and compare it against the MDS results. Note: you may try Tenenbaum’s Matlab code

https://yao-lab.github.io/data/isomapII.m

(c) Explore the LLE-embedding of the 33 faces on the k = 5 nearest neighbor graph and

compare it against ISOMAP. Note: you may try the following Matlab code

https://yao-lab.github.io/data/lle.m

2. Manifold Learning: The following codes by Todd Wittman contain major manifold learning

algorithms talked on class.

http://math.stanford.edu/~yuany/course/data/mani.m

Precisely, eight algorithms are implemented in the codes: MDS, PCA, ISOMAP, LLE, Hessian

Eigenmap, Laplacian Eigenmap, Diffusion Map, and LTSA. The following nine examples are

given to compare these methods,

(a) Swiss roll;

(b) Swiss hole;

(c) Corner Planes;

(d) Punctured Sphere;

(e) Twin Peaks;

(f) 3D Clusters;

(g) Toroidal Helix;

(h) Gaussian;

(i) Occluded Disks.

1

Homework 6. Manifold Learning 2

Run the codes for each of the nine examples, and analyze the phenomena you observed.

*Moreover if possible, play with t-SNE using scikit-learn manifold package:

http://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html

or any other implementations collected at

http://lvdmaaten.github.io/tsne/

3. Nystr¨om method: In class, we have shown that every manifold learning algorithm can be

regarded as Kernel PCA on graphs: (1) given N data points, define a neighborhood graph

with N nodes for data points; (2) construct a positive semidefinite kernel K; (3) pursue

spectral decomposition of K to find the embedding (using top or bottom eigenvectors).

However, this approach might suffer from the expensive computational cost in spectral

decomposition of K if N is large and K is non-sparse, e.g. ISOMAP and MDS.

To overcome this hurdle, Nystr¨om method leads us to a scalable approach to compute

eigenvectors of low rank matrices. Suppose that an N-by-N positive semidefinite matrix

K 0 admits the following block partition

K =

A B

BT C

. (1)

where A is an n-by-n block. Assume that A has the spectral decomposition A = UΛU

T

,

Λ = diag(λi) (λ1 ≥ λ2 ≥ . . . λk > λk+1 = . . . = 0) and U = [u1, . . . , un] satisfies U

TU = I.

(a) Assume that K = XXT

for some X = [X1; X2] ∈ R

N×k with the block X1 ∈ R

n×k

.

Show that X1 and X2 can be decided by:

X1 = UkΛ

1/2

k

, (2)

X2 = B

TUkΛ

−1/2

k

, (3)

where Uk = [u1, . . . , uk] consists of those k columns of U corresponding to top k eigenvalues λi (i = 1, . . . , k).

(b) Show that for general K 0, one can construct an approximation from (2) and (3),

Kˆ =

A B

BT Cˆ

. (4)

where A = X1XT

1

, B = X1XT

2

, and Cˆ = X2XT

2 = BT A†B, A† denoting the MoorePenrose (pseudo-) inverse of A. Therefore kKˆ − KkF = kC − BT A†BkF . Here the

matrix C − BT A†B =: K/A is called the (generalized) Schur Complement of A in K.

(c) Explore Nystr¨om method on the Swiss-Roll dataset (http://yao-lab.github.io/data/

swiss_roll_data.mat contains 3D-data X; http://yao-lab.github.io/data/swissroll.

m is the matlab code) with ISOMAP. To construct the block A, you may choose either

of the following:

n random data points;

Homework 6. Manifold Learning 3

*n landmarks as minimax k-centers (https://yao-lab.github.io/data/kcenter.

m);

Some references can be found at:

[dVT04] Vin de Silva and J. B. Tenenbaum, “Sparse multidimensional scaling using landmark points”, 2004, downloadable at http://pages.pomona.edu/~vds04747/

public/papers/landmarks.pdf;

[P05] John C. Platt, “FastMap, MetricMap, and Landmark MDS are all Nystr¨om Algorithms”, 2005, downloadable at http://research.microsoft.com/en-us/um/people/

jplatt/nystrom2.pdf.

(d) *Assume that A is invertible, show that

det(K) = det(A) · det(K/A),

(e) *Assume that A is invertible, show that

rank(K) = rank(A) + rank(K/A).

(f) *Can you extend the identities in (c) and (d) to the case of noninvertible A? A good

reference can be found at,

[Q81] Diane V. Quellette, “Schur Complements and Statistics”, Linear Algebra

and Its Applications, 36:187-295, 1981. http://www.sciencedirect.com/science/

article/pii/0024379581902329