23
Spectral Clustering: a Tutorial for the 2010’s Marina Meila Department of Statistics, University of Washington September 22, 2016 Abstract Spectral clustering is a family of methods to find K clusters using the eigenvectors of a matrix. Typically, this matrix is derived from a set of pairwise similarities S ij between the points to be clustered. This task is called similarity based clustering, graph clustering, or clustering of diadic data. One remarkable advantage of spectral clustering is its ability to cluster “points” which are not necessarily vectors, and to use for this a“similarity”, which is less restric- tive than a distance. A second advantage of spectral clustering is its flexibility; it can find clusters of arbitrary shapes, under realistic separations. This chapter introduces the similarity based clustering paradigm, describes the al- gorithms used, and sets the foundations for understanding these algorithms. Practical aspects, such as obtaining the similarities are also discussed. This tutorial appeared in “Handbook of Cluster ANalysis” by Christian Hennig, Marina Meila, Fionn Murthagh and Roberto Rocci (eds.), CRC Press, 2015. 1

SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Spectral Clustering: a Tutorial for the 2010’s

Marina Meila∗

Department of Statistics, University of Washington

September 22, 2016

Abstract

Spectral clustering is a family of methods to find K clusters using the eigenvectorsof a matrix. Typically, this matrix is derived from a set of pairwise similarities Sij

between the points to be clustered. This task is called similarity based clustering,graph clustering, or clustering of diadic data.

One remarkable advantage of spectral clustering is its ability to cluster “points”which are not necessarily vectors, and to use for this a“similarity”, which is less restric-tive than a distance. A second advantage of spectral clustering is its flexibility; it canfind clusters of arbitrary shapes, under realistic separations.

This chapter introduces the similarity based clustering paradigm, describes the al-gorithms used, and sets the foundations for understanding these algorithms. Practicalaspects, such as obtaining the similarities are also discussed.

∗This tutorial appeared in “Handbook of Cluster ANalysis” by Christian Hennig, Marina Meila, FionnMurthagh and Roberto Rocci (eds.), CRC Press, 2015.

1

Page 2: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Contents

1 Similarity based clustering. Definitions and criteria 3

1.1 What is similarity based clustering? . . . . . . . . . . . . . . . . . . . . . . 31.2 Similarity based clustering and cuts in graphs . . . . . . . . . . . . . . . . . 31.3 The Laplacian and other matrices of spectral clustering . . . . . . . . . . . 41.4 Four bird’s eye views of spectral clustering . . . . . . . . . . . . . . . . . . . 6

2 Spectral clustering algorithms 7

3 Understanding the spectral clustering algorithms 11

3.1 Random walk/Markov chain view . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Spectral clustering as finding a small balanced cut in G . . . . . . . . . . . 133.3 Spectral clustering as finding smooth embeddings . . . . . . . . . . . . . . . 15

4 Where do the similarities come from? 16

5 Practical considerations 17

6 Conclusions and further reading 18

2

Page 3: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

1 Similarity based clustering. Definitions and criteria

1.1 What is similarity based clustering?

Clusters when the data represent similarities between pairs of points is called similaritybased clustering. A typical example of similarity based clustering is community detectionin social networks White and Smyth (2005), where the observations are individual linksbetween people, which may be due to friendship, shared interests, work relationships. The“strength” of a link can be the frequency of interactions, e.g. communications by e-mail,phone or other social media, co-authorships or citations.

In this clustering paradigm, the points to be clustered are not assumed to be part of avector space. Their attributes (or features) are incorporated into a single dimension, thelink strength, or similarity, which takes a numerical value Sij for each pair of points i, j.Hence, the natural representation for this problem is by means of the similarity matrixS = [Sij]

ni,j=1. The similarities are symmetric (Sij = Sji), and non-negative (Sij ≥ 0).

Less obvious domains where similarity based clustering is used include image segmen-tation, where the points to be clustered are pixels in an image, and text analysis, wherewords appearing in the same context are considered similar.

The goal of similarity based clustering is to find the global clustering of the data setthat emerges from the pairwise interactions of its points. Namely, we want to put pointsthat are similar to each other in the same cluster, dissimilar points in different clusters.

1.2 Similarity based clustering and cuts in graphs

It is useful to cast similarity based clustering in the language of graph theory. Let thepoints to be clustered V = {1, . . . n} be the nodes of a graph G, and the graph edges berepresented by the pairs i, j with Sij > 0. The similarity itself is the weight of edge ij.

G = (V,E), E = {(i, j), Sij > 0} ⊆ V × V (1)

Thus, G is an undirected and weighted graph. A partiiton of the nodes of a graph intoK clusters is known as a (K-way) graph cut, therefore similarity based clustering can beviewed as finding a cut in the graph G. The following definitions will be helpful. We denote

di =∑

j∈V

Sij (2)

the degree of node i ∈ V . The volume of V is Vol V =∑

i∈V di. Similarly, we define thevolume of cluster C ⊆ V by

dC =∑

i∈C

di.

Note that the volume of a single node is di.

3

Page 4: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

The value of the cut between subsets C,C ′ ⊆ V , C ∩ C ′ = ∅, briefly called the cut ofC,C ′ is the sum of the edge weigths that cross between C and C ′.

Cut(C,C ′) =∑

i∈C

j∈C′

Sij

Now we define the K-way Cut and respectivelyNormalized Cut associated to a partitionC = (C1, . . . CK) of V as

Cut(C) =1

2

K∑

k=1

k′ 6=k

Cut(Ck, V \ Ck) (3)

NCut(C) =

K∑

k=1

Cut(Ck, V \ Ck)

dCk

. (4)

In particular, for K = 2,

NCut(C,C ′) = Cut(C,C ′)

(

1

dC+

1

dC′

)

Intuitively, a small Cut(C) is indicative of a “good” clustering, as most of the removededges must have zero or low similarity Sij. For K = 2, argmin|C|=2Cut(C) can be foundtractably by the MinCut/MaxFlow algorithm Papadimitriou and Steiglitz (1998). ForK ≥ 3, minimizing the cut is NP-hard, in practice one applies the MinCut/MaxFlowrecursively to obtain K-cuts of low value. Unfortunately, like the better known SingleLinkage criterion, the Cut criterion is very sensitive to outliers; on most realistic dataset,the smallest cut will be between an outlier and the rest of the data. Consequently, clusteringby minimizing Cut is found empirically to produce very imbalanced partitions1.

This prompted Shi and Malik (2000) to introduce the NCut (which they called balancedcut). A partition can have small NCut only if it has both a small cut value and if allits cluster have sufficiently large volumes dC . As Figure 1 shows, NCut is a very flexiblecriterion, capturing our intuitive notion of clusters in a variety of situations.

1.3 The Laplacian and other matrices of spectral clustering

In addition to the similarity matrix S, a number of other matrices derived from it matricesplay a central role in spectral clustering.

One such matrix is P, the random walk matrix of G, sometimes called the random walkLaplacian of G. P is obtained by normalizing the rows of S to sum to 1.

P = D−1S (5)

1An interesting randomizing and averaging algorithm using MinCut/MaxFlow was proposed byGdalyahu et al. (1999).

4

Page 5: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Figure 1: Four cases in which the minimum NCut partition agrees with human intuition.

Table 1: The relevant matrices in spectral clusteringMatrix name dim definition properties

S similarity matrix n× n Sij = Sji ≥ 0D degree matrix n× n D = diag(d1, . . . dn) Dii = di > 0, Dij = 0, j 6= iP random walk matrix n× n P = D−1S Pij ≥ 0,

∑nj=1 Pij = 1

L Laplacian matrix n× n L = I−D−1/2SD−1/2 Lij = Lji, L � 0

P transition matrix btw. clusters K ×K Pkl =∑

i∈Ck

j∈ClSij/dCk

5

Page 6: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

with D being the diagonal matrix of the node degrees

D = diag(d1, . . . , dn) (6)

Thus, P is a stochastic matrix, satisfying Pij ≥ 0,∑n

j=1 Pij = 1. Another matrix ofinterest is L, the Normalized Laplacian Chung (1997) of G, which we will call for brevitythe Laplacian.

L = I−D−1/2SD−1/2 (7)

where I is the unit matrix.

Proposition 1 (Relationship between L and P). Denote by 1 = λ1 ≥ λ2 ≥ . . . λn ≥ −1the eigenvalues of P and by v1, . . .vn the corresponding eigenvectors. Denote by µ1 ≤ µ2 ≤. . . µn the eigenvalues of L and by u1, . . .un the corresponding eigenvectors. Then,

1.

µi = 1− λi ui = D1/2vi for all i = 1, . . . n. (8)

2. λ1 = 1 and µ1 = 0

3. The multiplicity of λ1 = 1 (or, equivalently, of µ1 = 0) is K > 1 iff P (L) is blockdiagonal with K blocks.

This proposition has two consequences. Because λj ≤ 1, it follows that µj ≥ 0; in otherwords, that L is positive semidefinite, with µ1 = 0. Moreover, Proposition 1 ensures thatthe eigenvalues of P are always real and its eigenvectors linearly independent.

1.4 Four bird’s eye views of spectral clustering

We can approach the problem of similarity based clustering from multiple perspectives.

1. We can view each data point i as the row vector Si: in Rn, and find a low dimensional

embedding of these vectors. Once this embedding is found, one could proceed tocluster the data by e.g K-means algorithm, in the low-dimensional space. This viewis captured by Algorithm 2 in 2.

2. We can view the data points as states of a Markov chain defined by P. We groupstates by their pattern of high-level connections . This view is described in section3.1.

3. We can view the data points as nodes of graph G = (V,E, S) as in Section 1.2. Wecan remove a set of edges with small total weight, so that none of the connectedcomponents of the remaining graph is too small, in other words we can cluster byminimizing the NCut. This view is further explored in Section 3.2.

6

Page 7: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

4. We can view a cluster C as its {0, 1}-valued indicator function xC . We can findthe partition whose K indicator functions are “smoothest” with respect to the graphG, i.e. stay constant between nodes with high similarity. This view is described inSection 3.3.

As we shall see, the four paradigms above are equivalent, when the data is “well clustered”,are are all implemented by the same algorithm, which we describe in the next section.

2 Spectral clustering algorithms

The workflow of a typical spectral clustering algorithm is shown in the top row of Figure2.

The algorithm we recommend is based on Meila and Shi (2001a,b) and Ng et al. (2002).

Algorithm SpectralClustering

Input Similarity matrix S, number of clusters K

1. Transform S

Calculate di ←∑n

j=1 Sij, j = 1 : n the node degrees.Form the transition matrix P with Pij ← Sij/di, for i, j = 1 : n

2. EigendecompositionCompute the largest K eigenvalues λ1 ≥ . . . ≥ λK and eigenvectors v1, . . .vK of P.

3. Embed the data in K-th principal subspaceLet xi = [vi2 vi3 . . . viK ] ∈ R

n×(K−1), for i = 1, . . . n.

4. Run the K-means algorithm on the “data” x1:n

Output The clustering C obtained in step 4.

Note that in step 3 we discard the first eigenvector, as this is usually constant and is notinformative of the clustering.

Some useful variations and improvements of SpectralClustering are:

• Orthogonal initialization Ng et al. (2002) Find the K initial centroids x1:K of K-means in step 4 by

7

Page 8: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Similarity S R.w. matrix P Top 3 e-vectors of P Data embedded by v2,3

Degrees D P Top 3 e-vectors of S

0.67 0.26 0.070.4 0.5 0.10.25 0.25 0.50

Figure 2: Spectral clustering of a synthetic data set with n = 30 points and K = 3 clustersof sizes 15, 10 and 5; the data are sorted so that points in the same cluster are consecutive.The top row, from left to right, displays the similarity matrix S, the random walk matrixP, the entries in the top 3 eigenvectors of P, plotted vs. the index i = 1, . . . 30, andfinally, the embedding x1:n of the data obtained from the eigenvectors. The similarity S

is a perfect similarity matrix to which noise was added; hence in the second and thirdeigenvectors of P the corresponding to a cluster have approximately but not exactly thesame value; the first eigenvector of P is proportional to 1 and hence has exactly equal entriesfor all i. Since v2,3 are almost piecewise-constant, in the embedding the points x1:n arewell clustered. The bottom row displays the node degrees on the diagonal of D, the Pkl

values of the transition probabilities between blocks, and the top 3 eigenvectors of S. Notethat this is not a case of nearly block diagonal S: the probabilities of transitioning betweenclusters are significantly away from 0, and the minimum NCut is not small (its value is1.33 = 3 − trace P). Yet the data is very “well clustered”, if one uses the eigenvectorsof P for clustering. In contrast, the top 3 eigenvectors of the untransformed S are notinformative (nor are the other eigenvectors of S). The Cut corresponding to the clusteringfound by SpectralClustering is 140.3 (which represents 0.23 of the total VolV = 614.5);in contrast removing the point of smallest degree has Cut equal to 11.7.

8

Page 9: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Algorithm OrthogonalInitialization

1. choose x1 randomly from x1, . . .xn

2. for k = 2, . . . K set xk = argminximaxk′<k | cos(xk′ ,xi)|.

This initialization is a variant of the FastestFirstTraversal algorithm Hochbaumand Shmoys (1985); FastestFirstTraversal is part of one the best EM andK-means initialization algorithms known to date Dasgupta and Schulman (2007); Bubecket al. (2012).

• Rescaling xi to have unit length in step 3 was recommended by Ng et al. (2002) andwas found empirically to have good noise reduction effects.

• Rescaling v2:K by the eigenvalues (diffusion distance rescaling) in step 2. When P isalmost block diagonal, or close to perfect, this rescaling will have almost no effect.But in the noisier situations, it can put more weight on the first eigenvectors whichare more robust to noise (see also Section 5). Moreover, Nadler et al. (2006) showedthat setting vk ← λ2t

k vk, with some t > 1, is related to the diffusion distance, a true

metric on the nodes of a graph. The parameter t is a smoothing parameter, withlarger t causing more smoothing.

• Using S instead of P in step 2 (and skipping the transformation in step 1). Thisalgorithm variant can be shown to (approximately) minimize a criterion call RatioCut (RCut).

RCut(C) =

K∑

k=1

Cut(Ck, V \ Ck)

|Ck|(9)

The RCut differs from the NCut only in the denominators, which are the clustercardinalities, instead of the cluster volumes. The discussion in Sections 3.1,3.2 and 3.3applies with only small changes to this variant of SpectralClustering, w.r.t. theRCut criterion. However, it can be shown that whenever S has piecewise constanteigenvectors (see Section 3.1) then P will have piecewise constant eigenvectors aswell, but the converse is not true Verma and Meila (2003). Hence, whenever thisalgorithm variant can find a good clustering, the original 2 can find it too. Moreover,the eigenvectors and values of P converge to well-defined limits when n→∞, whereasthose of S may not.

The most significant variant of Algorithm 2 is its original recursive form Shi and Malik(2000) given below.

9

Page 10: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Algorithm Two-Way Spectral Clustering

Input Similarity matrix S

1. Transform S

Calculate di =∑n

j=1 Sij , j = 1 : n the node degrees.Form the transition matrix P with Pij ← Sij/di for i, j = 1, . . . n

2. Compute the eigenvector v corresponding to the second largest eigenvalue λ2 of P

3. SortLet vsort = [vi1 vi2 . . . vin ] be the entries of v sorted in increasing order and denoteCj = {i1, i2, . . . ij} for j = 1, . . . n− 1.

4. CutFor j = 1, . . . n−1 compute NCut(Cj, V \Cj) and find j0 = argminj NCut(Cj, V \Cj).

Output clustering C = {Cj0 , V \ Cj0}

Two-WaySpectralClustering is called recursively on each of the two resulting clusters,if one wishes to obtain a clustering with K > 2 clusters.

Finally, an observation related to numerical implementation that is too important toomit. From Proposition 1, it follows that steps 1 and 2 of spcalg can be implementedequivalently as

Algorithm StableSpectralEmbedding

1. Lij ← Sij/√

didj for i, j = 1 : n (note that L = I − L)

2. Compute the largest K eigenvalues λ1 = 1 ≥ λ2 ≥ . . . ≥ λK and eigenvectorsu1, . . .uk of L (these are the eigenvalues of P and the eigenvectors of L).Rescale vk ← D−1/2uk (obtain the eigenvectors of P).

Eigenvector computations for symmetric matrices like L are much more stable numericallythan for general matrices like P. This modification guarantees that the eigenvalues will bereal and the eigenvectors orthogonal.

10

Page 11: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

3 Understanding the spectral clustering algorithms

3.1 Random walk/Markov chain view

Recall the stochastic matrix P defines a Markov chain (or random walk) on the nodes V .Remarkably, the stationary distribution π of this chain has the explicit and simple form2

πi =di

VolVfor i ∈ V (10)

Indeed, it is easy to verify that

[π1 . . . πn ]P =1

VolV

[

i

diPi1 . . .∑

i

diPin

]

=1

VolV[

n∑

i=1

Si1 . . .

n∑

i=1

Sin = [π1 . . . πn ]

(11)If the Markov chain is ergodic, then π is the unique stationary distribution of P, otherwise,uniqueness is not guaranteed, yet property 11 still holds.

Now let’s consider the Algorithm 2 and ask when are the points xi ∈ RK well clustered?

Is there a case when the xi’s are identical for all the nodes i that belong to the same clusterk? If this happens we say that S (and P) are perfect. In the perfect the case, the K-Meansalgorithm (or, by that matter, any clustering algorithm) will be guaranteed to find the sameclustering.

Thus, to understand what is a “good” clustering from the point of view of spectralclustering, it is necessary to understand what the perfect case represents.

Definition 1. If C = (C1, . . . CK) is a partition of V , we say that a vector x is piecewiseconstant w.r.t C if for all pairs i, j in the same cluster Ck we have xi = xj.

Proposition 2. Lumpability Lemma Meila and Shi (2001b) Let P be a matrix with rowsand columns indexed by V that has independent eigenvectors. Let C = (C1, C2, . . . Ck)be a partition of V . Then, P has K eigenvectors that are piecewise constant w.r.t. C andcorrespond to non-zero eigenvalues if and only if the sums Pik =

j∈CkPij are constant for

all i ∈ Cl and all k, l = 1, . . . K and the matrix P = [Pkl]k,l=1,...K (with Pkl =∑

j∈CkPij , i ∈

Cl) is non-singular. We say that (the Markov chain represented by) P is lumpable w.r.tC∗.

Corrolary 3. If stochastic matrix P obtained in Step 1 is lumpable w.r.t C∗ with piece-wise constant eigenvectors v1, . . .vK corresponding to the K largest eigenvalues of P, thenAlgorithm 2 will output C∗.

2This is true for any reversible Markov chain.

11

Page 12: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Corrolary 3 shows that spectral clustering will find clusterings for which points i, i′ arein the same cluster k if they have the same probability Pkl of transitioning to cluster l, forall k = l to K.

A well-known special case of lumpability is the case when the clusters are completelyseparated, i.e. when Sij = 0 whenever i, j are in different clusters. Then, S and P areblock diagonal with K blocks, each block representing a cluster. From Proposition 2 itfollows that P has K eigenvalues equal to 1, and that P = I. What can be guaranteedin the vicinity of this case has been intensely studied in the literature. In particular, Nget al. (2002) and later Balakrishnan et al. (2011) give theoretical results showing that ifS is nearly block diagonal, the clusters representing the blocks of S can be recovered byspectral clustering.

The Lumpability Lemma shows however that having an approximately block diagonalS is not necessary, and that spectral clustering algorithms will work in a much broaderrange of cases, namely as long as “the points in the same cluster behave approximately inthe same way” in the sense of Proposition 2.

This interpretation relates spectral clustering to a remarkable fact about Markov chains.It is well-known that if one groups the states of a Markov chains in clusters C1, . . . CK , asequence of states i1, i2, . . . it implies a sequence of cluster labels k1, k2, . . . kt ∈ {1, . . . K}.From the transition matrix P and the clustering C1, . . . CK one can calculate the transitionmatrix at the cluster level Pr[Ck → Cl|Ck] = Pkl, as well as the stationary distributionw.r.t the clusters by

Pkl =∑

i∈Ck

j∈Cl

Sij/dCk, πk =

dCk

Vol V, k, l = 1, . . . K. (12)

However, it can be easily shown that the chain k1, k2, . . . kt, . . . is in general not Markov; thatis, Pr[kt+1|kt, kt−1] 6= Pr[kt+1|kt], or knowing past states can give information about futurestates even when the present state kt is known. Lumpability in Markov chain terminologymeans that there exists a clustering C∗ of the nodes in V so that the chain defined by P isMarkov. Proposition 2 shows that lumpability hold essentially iff P has piecewise-constanteigenvectors. Hence, spectral clustering Algorithm 2 finds equivalence classes of nodes(when they exist) so that all nodes in an equivalence class Ck contain the same informationabout the future.

The following proposition underscores the discussion about lumpability, showing thatthe eigenvectors of P, when they are piecewise constant, are “stretched versions” of theeigenvectors of P.

Proposition 4. Relationship between P and P (Telescope Lemma) Assume that the con-ditions of Proposition 2 hold. Let v1, . . . vK ∈ R

n and 1 = λ1 ≥ λ2 ≥ . . . λK be thepiecewise constant eigenvectors of P and their eigenvalues and 1 = λ1 ≥ λ2 ≥ . . . λK and

12

Page 13: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

v1, . . . vK ∈ RK the eigenvalues and eigenvectors of P. Then

λk = λk and (13)

vkl = vki for l = 1, . . . K and i ∈ Cl (14)

3.2 Spectral clustering as finding a small balanced cut in GWe now explain the relationship between spectral clustering algorithms like 2 and minimiz-ing the K-way normalized cut.

First, we show that the NCut defined in 4 can be rewritten in terms of probabilitiesPkl of transitioning between clusters in the random walk defined by P.

Proposition 5 (NCut as conditional probability of leaving a cluster). The K-way normal-ized cut associated to a partition C = (C1, . . . CK) of V is equal to

NCut(C) =

K∑

k=1

[

1−∑

i∈Ckπi∑

j∈CkPij

i∈Ckπi

]

=

K∑

k=1

[

1− Pkk

]

= K − trace P (15)

The denominators∑

i∈Ckπi above represent dCk

/VolCk = πCk, the probability of being

in cluster Ck under the stationary distribution π. Consequently each term of the sumrepresents the probability of leaving cluster Ck given that the Markov chain is in Ck, underthe stationary distribution.

In the perfect case, from Proposition 4, λ1:K are also the top K eigenvalues of P, hence

NCut(C∗) = K −K∑

k=1

λk (16)

Next, we show that the value K − ∑Kk=1 λk is the lowest possible NCut value for any

K-clustering C in any graph.

Proposition 6 (Multicut Lemma). Let S, L, P, v1, . . . vK and λ1, . . . λK be defined asbefore, and let C be a partition of V into K disjoint clusters. Then,

NCut(C) ≥ min{traceYTLY |Y ∈ Rn×K , Y has orthonormal columns} (17)

= K − (λ1 + λ2 + . . . + λK) (18)

The proof is both simple and informative so we will present it here. Consider anarbitrary partition C = (C1, . . . CK). Denote by xk ∈ {0, 1}n the indicator vector of clusterCk for k = 1, . . . K.

13

Page 14: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

We start with rewriting, again, the expression of NCut . From Proposition 5, notingthat

i∈Ckdi =

i∈V (xki )

2di and

i,j∈Ck

Sij =∑

i,j∈V

Sijxki x

kj =

i∈V

(xki )2di −

ij∈E

Sij(xki − xkj )

2 (19)

we obtain that

NCut(C) = K −K∑

k=1

i,j∈CkSij

i∈Ckdi

=

K∑

k=1

ij∈E Sij(xki − xkj )

2

i∈V (xki )

2di=

K∑

k=1

R(xk) (20)

In the sums above, i, j ∈ Ck means summation over the ordered pairs (i, j) while ij ∈ Emeans summation over all “edges”, i.e all unordered pairs (i, j) with i 6= j. Next, wesubstitute

yk = D1/2xk (21)

obtaining

R(xk) =(yk)TLyk

(yk)Tyk= R(yk) (22)

and

NCut(C) =

K∑

k=1

R(yk) (23)

The expression R(y) represents the Rayleigh quotient for the symmetric matrix L Chung(1997) equation (1.13). Recall a classic Rayleigh-Ritz theorem in linear algebra Strang(1988), stating that the sum of K Rayleigh quotients depending on orthogonal vectorsy1 . . .yK is minimized by the eigenvectors of L corresponding to its smallest K eigenvaluesµ1 ≤ µ2 ≤ . . . µK . As yk,yl defined by 21 are orthogonal, the expression 23 cannot besmaller than

∑Kk=1 R(uk) =

∑Kk=1 µk = K −∑K

k=1 λk, which completes the proof.Hence, if S is perfect with respect to some K-clustering C∗, then C∗ is the minimum

NCut clustering, and Algorithm 2 returns C∗.Recall that finding the clustering C† that minimizes NCut is NP-hard. Formulated in

terms of y1:K this problem is

miny1,...yK∈Rn

K∑

k=1

(yk)TLyk s.t. (yl)Tyk = δkl (24)

there exist x1:K ∈ {0, 1}n so that 21 holds (25)

By dropping constraint 25, we obtain

miny1,...yK∈Rn

K∑

k=1

(yk)TLyk s.t. (yl)Tyk = δkl (26)

14

Page 15: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

whose solution is given by the eigenvectors u1, . . . , uK and smallest eigenvalues µ1, . . . µK

of L. Applyiing 21 and Proposition 1 to u1:K we see that the x1:K correspondig to thesolution of 26 are no other than the eigenvectors v1:K of P. Problem 26 can be formulateddirectly in the x variables as

minx1,...xK

K∑

k=1

R(xk) s.t. xk ⊥ Dxl for k 6= l and ||xk|| = 1 for all k (27)

Problem 27 is called a relaxation of the original minimization problem 24. Intuitively, thesolution of the relaxed problem is an approximation to the original problem 24 when thelatter has a clustering with cost near the lower bound. This intuition has been provedformally by Bach and Jordan (2006); Meila (2014). Hence, spectral clustering algorithmsare an approximate way to find the minimum NCut.

We have shown here that (1) when P is perfect, Algorithm 2 minimizes theNCut exactlyand that (2) otherwise, the algorithm solves the relaxed problem 27 and rounds the resultsby K-means to obtain an approximately optimal NCut clustering.

3.3 Spectral clustering as finding smooth embeddings

Here we explore further the connection between the normalized cut of a clustering C andthe Laplacian matrix L seen as an operator applied to functions on the set V , and thefunctional ||f ||2∆ defined below as a smoothness functional.

Proposition 7. Let L be normalized Laplacian defined by 7 and f ∈ Rn be any vector

indexed by the set of nodes V . Then

∆ fdef= fTLf =

ij∈E

Sij

(

fi√di− fj√

dj

)2

(28)

The proof follows closely the steps 19 to 20.Now consider the NCut expression 24 and replace yk by D−1/2xk according to 21. We

obtain3

R(yk) = R(xk) =∑

ij∈E

Sij(xki − xk

j )2 (29)

This shows that a clustering that has low NCut is one whose indicator functions x1:K aresmooth w.r.t the graph G. In other words, the functions xk must be almost constant ongroups of nodes that are very similar, and are allowed to make abrupt changes only alongedges Sij ≈ 0.

3This expression is almost identical to 20; the only difference is that in 20 the indicator vectors xk takevalues in {0, 1} while here they are normalized by (xk)TDx

k = 1.

15

Page 16: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

The symbol ∆ and the name “Laplacian” indicate that L and fTLf are the graphanalogues of the well-known Laplace operator on R

d, while Proposition 28 corresponds tothe relationship < f,∆ f >=

dom f |∇f |2dx in real analysis. The relationship between

the continuous ∆ and the graph Laplacian has been studied by Belkin and Niyogi (2002);Coifman and Lafon (2006); Hein et al. (2007).

4 Where do the similarities come from?

If the original data are vectors in xi ∈ Rd (note the abusive notation x in this section only),

then the similarity is typically the Gaussian kernel (also called heat kernel)

Sij = exp

(

−||xi − xj||2σ2

)

(30)

This similarity gives raise to a complete graph G, as Sij > 0 always. Alternatively, one candefine graphs that are dense only over local neighborhoods. For example, one can set Sij

by 30 if ||xi − xj|| ≤ cσ and 0 otherwise, with the constant c ≈ 3. This construction leadsto a sparse graph, which is however a good approximation of the complete graph obtainedby the heat kernel Ting et al. (2010). A variant of the above to zero out all Sij except forthe m nearest neighbors of data point i. This method used without checks can producematrices that are not symmetric.

Even though the two graph construction methods appear to be very similar, it has beenshown theoretically and empiricaly Hein et al. (2007); Maier et al. (2008) that the spectralclustering results they produce can be very different, both in high and in low dimensions.With the fixed m-nearest neighbor graphs, the clustering results are strongly favor bal-anced cuts, even if the cut occurs in regions of higher density; the radius-neighbor graphconstruction favors finding cuts of low density more. This is explained by the observationbelow, that the graph density in the latter graphs reflects the data density stronger thanin the former type of graph.

It was pointed out that when the data density varies much, there is no unique radiusthat correctly reflects “locality”, while the K-nearest neighbor graphs adapt to the variyingdensity. A simple and widely used way to “tune” the similarity function to the local densityZelnik-Manor and Perona (2004) is to set

Sij = exp

(

−||xi − xj||2σiσj

)

(31)

where σi is the distance from xi to its m-th nearest neighbor. Another simple heuristic tochoose σ is to try various σ values and to pick the one that produces the smallest K-meanscost in step 4 Ng et al. (2002).

16

Page 17: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

If the features in the data x have different units, or come from different modalities ofmeasuring similarity, then it is useful to give each feature xf a different kernel width σf .Hence, the similarity becomes

Sij = exp

d∑

j=1

(xif − xjf)2

σ2f

(32)

Clustering by similarities is not restricted to points in vector spaces. This represents oneof the strengths of spectral clustering. If a distance dist(i, j) can be defined on the data,then dist(i, j)2 can substitute ||xi − xj||2 in 30; dist can be obtained from the kernel trickScholkopf and Smola (2002). Hence, spectral clustering can be applied to a variety of classesof non-vector data for which Mercer kernels have been designed, like trees, sequences orphylogenies Shin et al. (2011); Clark et al. (2011); Scholkopf and Smola (2002).

Several methods for learning the similarities as a function of data features in a supervisedsetting exist Meila and Shi (2001a),Bach and Jordan (2006),Meila et al. (2005); the methodof Meila et al. (2005) has been extended to the unsupervised setting Shortreed and Meila(2005).

5 Practical considerations

The main advantage of spectral clustering is that it does not make any assumptions aboutthe cluster shapes, and even allows clusters to “touch”, as long as the clusters have sufficientoverall separation and internal coherence (see e.g. Figure 2 right panels).

The method is computationally expensive compared to e.g center based clustering, asit needs to store and manipulate similarities/distances between all pairs of points insteadof only distances to centers. The eigendecomposition step can also be computationallyintensive. However, with a careful implementation, for example using sparse neighborhoodgraphs as in Section 4 instead of all pairwise similarities, and sparse matrix representations,the memory and computational requirements can be made tractable for sample sizes in thetens of thousands or larger. Several fast and approximate methods for spectral clusteringhave been proposed Chen et al. (2006); Fowlkes et al. (2004); Liu et al. (2007); Wauthieret al. (2012).

It is known from matrix perturbation theory Stewart and Sun (1990) that eigenvectorswith smaller λk are more affected by numerical errors and noise in the similarities. Thiscan be a problem when the number of clusters K is not small. In such a case, one caneither (1) use only the first K0 < K, eigenvectors of P or, (2) use the diffusion distancetype rescaling vk by λα

k , with α > 1 which will smoothly decrease the effect of the noisiereigenvectors or (3) use Two-WaySpectralClustering recursively.

17

Page 18: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

One drawback of spectral clustering is the sensitivity of the eigenvectors vk on thesimilarity S in ways that are not intuitive. For example, monotonic transformations of Sij,even shift by a constant, can change a perfect S into one that is not perfect.

Outliers in spectral clustering need special treatment. An outlier is a point which hasvery low similarity with all other points (for example, because it is far away from them).An outlier will produce a spurious eigenvalue very close to 1 with an eigenvector whichapproximates an indicator vector for the outlier. So, l outliers in a data set will cause thel principal eigenvectors to be outliers, not clusters. Thus, it is strongly recommended thatoutliers be detected and removed before the eigendecomposition is performed. This is doneeasiest by removing all points for which

j 6=i Sij ≤ ǫ for some ǫ which is small w.r.t. theaverage di. Also before the eigendecomposition, one should detect if G is disconnected bya connected components algorithm .

6 Conclusions and further reading

The tight relationship betweenK-means and SpectralClustering hints at the situationswhen SpectralClustering is recommended. Namely, SpectralClustering returnshard, non-overlaping clusterings, requires the number of clusters K as input, and worksbest when this number is not too large (up to K = 10). For larger K, recursive partitioningbased on Two-WaySpectralClustering is more robust.The relationship withK-meansis even deeper than we have presented it here Ding and He (2004). As mentioned above,the algorithm is sensitive to outliers and transformations of S, but it is very robust to theshapes of clusters, to small amounts of data “spilling” from one cluster to the another, andcan balance well cluster sizes and their internal coherence.

For chosing the number of clusters K, there are two important indicators: the eigengapλK − λK+1, and the gap NCut(CK) − (K −∑K

k=1 λK), where we have denoted by CK theclustering returned by a spectral clustering algorithm with input S and K. Ideally, theformer should be large, indicating a stable principal subspace, and the latter should benear zero, indicating almost perfect P for that K and CK . A heuristic proposed by Meilaand Xu (2003) is to find the knee in the graph of gap vs. K, or in the graph of gap dividedby the eigengap, as suggested by the theory in Meila (2014); Azran and Ghahramani (2006)proposes heuristic based on the eigengaps λt

k − λtk+1 for t > 1 that can find clusterings at

different granularity levels and works well for matrices that are almost block diagonal.Other formulations of clustering that aim to minimize the same Normalized Cut crite-

rion are based on Semidefinite Programming Xing and Jordan (2003), and on submodularfunction optimization Narasimhan and Bilmes (2007); Boykov et al. (2001); Kolmogorovand Zabih (2004).

Spectral clustering has been extended to directed graphs Pentney and Meila (2005);Andersen et al. (2007); Meila and Pentney (2007) as well as finding the local cluster of a

18

Page 19: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

data point in a large graph Spielman and Teng (2008)Clusterability for spectral clustering, i.e. the problem of defining what is a “good” clus-

tering, has been studied by Meila (2006); Meila (2014); Ackerman and Ben-David (2009);Balcan and Braverman (2009); Kannan et al. (2000); some of these references also intro-duced new algorithms with guarantees that depend on how clusterable is the data.

Finally, the ideas and algorithms presented here have deep connections with the fastgrowing areas of non-linear dimension reduction, also known as manifold learning Belkinand Niyogi (2002) and of solving very large linear systems Batson et al. (2013).

References

Ackerman, M. and Ben-David, S. (2009). Clusterability: A theoretical study. In Dyk, D.A. V. and Welling, M., editors, Proceedings of the Twelfth International Conference onArtificial Intelligence and Statistics, AISTATS 2009, Clearwater Beach, Florida, USA,April 16-18, 2009, volume 5 of JMLR Proceedings, pages 1–8. JMLR.org.

Andersen, R., Chung, F. R. K., and Lang, K. J. (2007). Local partitioning for directedgraphs using pagerank. In WAW, pages 166–178.

Azran, A. and Ghahramani, Z. (2006). Spectral methods for automatic multiscale dataclustering. In Computer Vision and Pattern Recognition, pages 190–197. IEEE ComputerSociety.

Bach, F. and Jordan, M. I. (2006). Learning spectral clustering with applications to speechseparation. Journal of Machine Learning Research, 7:1963–2001.

Balakrishnan, S., Xu, M., Krishnamurthy, A., and Singh, A. (2011). Noise thresholds forspectral clustering. In Advances in Neural Information Processing Systems 24: 25thAnnual Conference on Neural Information Processing Systems 2011. Proceedings of ameeting held 12-14 December 2011, Granada, Spain., pages 954–962.

Balcan, M. and Braverman, M. (2009). Finding low error clusterings. In COLT 2009 - The22nd Conference on Learning Theory, Montreal, Quebec, Canada, June 18-21, 2009.

Batson, J. D., Spielman, D. A., Srivastava, N., and Teng, S. (2013). Spectral sparsificationof graphs: theory and algorithms. Commun. ACM, 56(8):87–94.

Belkin, M. and Niyogi, P. (2002). Laplacian eigenmaps and spectral techniques for em-bedding and clustering. In Dietterich, T. G., Becker, S., and Ghahramani, Z., editors,Advances in Neural Information Processing Systems 14, Cambridge, MA. MIT Press.

19

Page 20: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Boykov, Y., Veksler, O., and Zabih, R. (2001). Fast approximate energy minimizationvia graph cuts. IEEE Transactions on Pattern Analysis and Machine Intelligence,23(11):1222–1239.

Bubeck, S., Meila, M., and von Luxburg, U. (2012). How the initialization affects thestability of the k-means algorithm. ESAIM: Probability and Statistics, 16:436–452.

Chen, B., Gao, B., Liu, T.-Y., Chen, Y.-F., and Ma, W.-Y. (2006). Fast spectral cluster-ing of data using sequential matrix compression. In Proceedings of the 17th EuropeanConference on Machine Learning, ECML, pages 590–597.

Chung, F. R. K. (1997). Spectral Graph Theory. Number Regional Conference Series inMathematics in 92. American Mathematical Society, Providence, RI.

Clark, A., Florencio, C. C., and Watkins, C. (2011). Languages as hyperplanes: grammat-ical inference with string kernels. Machine Learning, 82(3):351–373.

Coifman, R. R. and Lafon, S. (2006). Diffusion maps. Applied and Computational HarmonicAnalysis, 30(1):5–30.

Dasgupta, S. and Schulman, L. (2007). A probabilistic analysis of em for mixtures ofseparated, spherical gaussians. Journal of Machine Learnig Research, 8:203–226.

Ding, C. and He, X. (2004). K-means clustering via principal component analysis. InBrodley, C. E., editor, Proceedings of the International Machine Learning Conference(ICML). Morgan Kauffman.

Fowlkes, C., Belongie, S., Chung, F., and Malik, J. (2004). Spectral grouping using theNystrom method. IEEE Transactions on Pattern Analysis and Machine Intelligence,26(2):214–225.

Gdalyahu, Y., Weinshall, D., and Werman, M. (1999). Stochastic image segmentation bytypical cuts. In Computer Vision and Pattern Recognition, volume 2, page 2596. IEEEComputer Society, IEEE.

Hein, M., Audibert, J., and von Luxburg, U. (2007). Graph laplacians and their convergenceon random neighborhood graphs. Journal of Machine Learning Research, 8:1325–1368.

Hochbaum, D. S. and Shmoys, D. B. (1985). A best possible heuristic for the k-centerproblem. Mathematics of Operations Research, 10(2):180–184.

Kannan, R., Vempala, S., and Vetta, A. (2000). On clusterings: good, bad and spectral.In Proc. of 41st Symposium on the Foundations of Computer Science, FOCS 2000.

20

Page 21: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Kolmogorov, V. and Zabih, R. (2004). What energy functions can be minimized via graphcuts? IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(2):147–159.

Liu, T.-Y., Yang, H.-Y., Zheng, X., Qin, T., and Ma, W.-Y. (2007). Fast large-scale spectralclustering by sequential shrinkage optimization. In Proceedings of the 29th EuropeanConference on IR Research, pages 319–330.

Maier, M., von Luxburg, U., and Hein, M. (2008). Influence of graph construction on graph-based clustering measures. In Advances in Neural Information Processing Systems 21,Proceedings of the Twenty-Second Annual Conference on Neural Information ProcessingSystems, Vancouver, British Columbia, Canada, December 8-11, 2008, pages 1025–1032.

Meila, M. (2014). The stability of a good clustering. Technical Report 624, University ofWashington.

Meila, M. and Xu, L. (2003). Multiway cuts and spectral clustering. Technical Report 442,University of Washington, Department of Statistics.

Meila, M. (2006). The uniqueness of a good optimum for K-means. In Moore, A. and Co-hen, W., editors, Proceedings of the International Machine Learning Conference (ICML),pages 625–632. International Machine Learning Society.

Meila, M. and Pentney, W. (2007). Clustering by weighted cuts in directed graphs. InProceedings of the Seventh SIAM International Conference on Data Mining, April 26-28, 2007, Minneapolis, Minnesota, USA, pages 135–144.

Meila, M. and Shi, J. (2001a). Learning segmentation by random walks. In Leen, T. K.,Dietterich, T. G., and Tresp, V., editors, Advances in Neural Information ProcessingSystems, volume 13, pages 873–879, Cambridge, MA. MIT Press.

Meila, M. and Shi, J. (2001b). A random walks view of spectral segmentation. In Jaakkola,T. and Richardson, T., editors, Artificial Intelligence and Statistics AISTATS.

Meila, M., Shortreed, S., and Xu, L. (2005). Regularized spectral learning. In Cowell,R. and Ghahramani, Z., editors, Proceedings of the Artificial Intelligence and StatisticsWorkshop(AISTATS 05).

Nadler, B., Lafon, S., Coifman, R., and Kevrekidis, I. (2006). Diffusion maps, spectralclustering and eigenfunctions of fokker-planck operators. In Weiss, Y., Scholkopf, B.,and Platt, J., editors, Advances in Neural Information Processing Systems 18, pages955–962, Cambridge, MA. MIT Press.

Narasimhan, M. and Bilmes, J. (2007). Local search for balanced submodular clusterings. InVeloso, M. M., editor, IJCAI 2007, Proceedings of the 20th International Joint Conferenceon Artificial Intelligence, Hyderabad, India, January 6-12, 2007, pages 981–986.

21

Page 22: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Ng, A. Y., Jordan, M. I., and Weiss, Y. (2002). On spectral clustering: Analysis and analgorithm. In Dietterich, T. G., Becker, S., and Ghahramani, Z., editors, Advances inNeural Information Processing Systems 14, Cambridge, MA. MIT Press.

Papadimitriou, C. and Steiglitz, K. (1998). Combinatorial optimization. Algorithms andcomplexity. Dover Publication, Inc., Minneola, NY.

Pentney, W. and Meila, M. (2005). Spectral clustering of biological sequence data. InVeloso, M. and Kambhampati, S., editors, Proceedings of Twentieth National Conferenceon Artificial Intelligence (AAAI-05), pages 845–850, Menlo Park, California. The AAAIPress.

Scholkopf, B. and Smola, A. J. (2002). Learning with Kernels. M. I. T. Press, Cambridge,MA.

Shi, J. and Malik, J. (2000). Normalized cuts and image segmentation. PAMI.

Shin, K., Cuturi, M., and Kuboyama, T. (2011). Mapping kernels for trees. In Getoor, L.and Scheffer, T., editors, Proceedings of the 28th International Conference on MachineLearning, ICML 2011, Bellevue, Washington, USA, June 28 - July 2, 2011, pages 961–968. Omnipress.

Shortreed, S. and Meila, M. (2005). Unsupervised spectral learning. In Jaakkola, T. andBachhus, F., editors, Proceedings of the 21st Conference on Uncertainty in AI, pages534–544, Arlington,Virginia. AUAI Press.

Spielman, D. and Teng, S.-H. (2008). A local clustering algorithm for massive graphs andits application to nearly-linear time graph partitioning. Technical Report :0809.3232v1[cs.DS], arXiv.

Stewart, G. W. and Sun, J.-g. (1990). Matrix perturbation theory. Academic Press, SanDiego, CA.

Strang, G. (1988). Linear Algebra and its applications, 3rd Edition. Saunders CollegePublishing.

Ting, D., Huang, L., and Jordan, M. I. (2010). An analysis of the convergence of graphlaplacians. In Proceedings of the 27th International Conference on Machine Learning(ICML-10), June 21-24, 2010, Haifa, Israel, pages 1079–1086.

Verma, D. and Meila, M. (2003). A comparison of spectral clustering algorithms. TR03-05-01, University of Washington.

22

Page 23: SpectralClustering: aTutorialforthe2010’s · Input Similarity matrix S, number of clusters K 1. Transform S Calculate di ← Pn j=1 Sij, j = 1 : n the node degrees. Form the transition

Wauthier, F., Jojic, N., and Jordan, M. (2012). Active spectral clustering via iterativeuncertainty reduction. In 18th ACM SIGKDD International Conference on KnowledgeDiscovery and Data Mining, pages 1339–1347.

White, S. and Smyth, P. (2005). A spectral clustering approach to finding communities ingraphs. In Proceedings of SIAM International Conference on Data Mining.

Xing, E. P. and Jordan, M. I. (2003). On semidefinite relaxation for normalized k-cut andconnections to spectral clustering. Technical Report UCB/CSD-03-1265, EECS Depart-ment, University of California, Berkeley.

Zelnik-Manor, L. and Perona, P. (2004). Self-tuning spectral clustering. In Advances inNeural Information Processing Systems, volume 17, pages 1601–1608.

23