Clustering is a classic task in data mining, whereby input data are organised into groups (or clusters) such that data points within a group are more similar to each other than to those outside the group . Such a task is distinct from supervised (or semi-supervised) classification, where examples of the different classes are known a priori and are used to train a computational model to assign other objects to the known groups. Instead, clustering aims to find natural, intrinsic sub-classes in the data, without assuming a priori the number or type of clusters. Indeed, a key open issue in this field is the principled determination of the number of clusters in an unsupervised manner, without the assumption of a generative model [2, 3]. The obtained groups can then constitute the basis for a simpler, yet informative, representation of large, complex datasets.
Data clustering has a long history and there exist a myriad of clustering algorithms based on different principles and heuristics
. In their most basic form, many popular clustering techniques (e.g., k-means and mixture models 
) are based on the assumption that the data follows an explicit (typically multivariate Gaussian) distribution. Clusters are then defined as the samples most likely generated from the same distribution, and learned by likelihood maximisation. However, in real applications, the model that generates the data is unknown and the resulting data distribution may be complex. In this case of data-driven analysis, model-based clustering often yields poor results[7, 8].
. Spectral clustering is underpinned by results in matrix analysis (e.g., singular value decomposition), and has strong connections to model reduction, geometric projections and dimensionality reduction[9, 10]
. The choice of similarity measure is a crucial ingredient to the clustering performance but, as long as a similarity matrix can be computed, spectral methods provide an attractive choice for non-vector data or for data sampled from irregular and non-convex data manifolds[11, 12].
From a different perspective, the similarity matrix of a dataset can also be viewed as the adjacency matrix of a fully connected, weighted graph, where the nodes correspond to data points and the edge between two nodes is weighted by their similarity. One can then apply graph-based algorithms for community detection or graph partitioning to the problem of data clustering. Graph-based methods typically operate by searching for balanced graph cuts, sometimes invoking notions from spectral graph theory, i.e., using the spectral decomposition of the adjacency or Laplacian matrices of the graph [13, 14]. Spectral clustering can thus be understood as a special case of the broader class of graph-based clustering methods . Importantly, graph-based clustering is also able to reveal modular structure in graphs across levels of resolution through multiscale community detection [15, 16, 17]. This approach allows for the discovery of natural data clusterings of different coarseness , thus recasting the problem of finding the appropriate number of clusters to the detection of relevant scales in the graph.
Methods for graph construction usually involve a sparsification of the similarity (or distance) matrix under different heuristics (from simple thresholding to sophisticated regularisations) in order to extract a similarity graph that preserves key properties of the dataset . The representation of data through graphs has attractive characteristics, including the capability of capturing efficiently the local and global properties of the data through graph-theoretical concepts that embody naturally the notions of local neighbourhoods, paths, and global connectivity [20, 21, 16]. The usage of graphs provides a natural links of spectral clustering with other clustering methods and allows for easy generalisation to a semi-supervised setting [22, 23]. Graphs also provide a means to capture the geometry of complex manifolds, a feature of interest in realistic datasets . Graph representations not only reduce the computational cost for spectral graph methods, but also allow us to use the techniques developed for complex networks as an alternative to address problems in data clustering. However, it has been shown that both the method of graph construction and the choice of method parameters (i.e., sparsity) have a strong impact on the performance of graph-based clustering methods .
Here, we study the use of multiscale community detection applied to similarity graphs extracted from data for the purpose of unsupervised data clustering. The basic idea of graph-based clustering is shown schematically in Figure 1. Specifically, we focus on the problem of assessing how to construct graphs that appropriately capture the structure of the dataset with the aim of being used within a multiscale graph-based clustering framework. In particular, we carry out an empirical study of different graph construction methods used in conjunction with Markov Stability (MS), a dynamics-based framework for multiscale community detection for graphs [17, 26]. MS allows for the unsupervised identification of communities at different levels of resolution, and has been applied successfully to a variety of problems, including protein structures [27, 28], airport networks , social networks 
and neuronal network analyses. We evaluate several geometric graph constructions, from methods that use only local distances to others that balance local and global measures, and find that the recently proposed Continuous -nearest Neighbours (CkNN) graph 
performs well for graph-based data clustering via community detection. We then show how the multiscale capabilities of the Markov Stability to scan across scales can be exploited to deliver robust clusterings, reducing the sensitivity to the parameters of the graph construction. In other words, a range of parameters in the graph construction lead to good clustering performance. We validate our graph-based clustering approach on real datasets and compare its performance to several other popular clustering methods, including k-means, mixture models, spectral clustering and hierarchical clustering.
The rest of the paper is structured as follows. We first introduce several methods for graph construction, apply them to nine public datasets with ground truths, and evaluate the performance of graph-based data clustering on the ensuing similarity graphs. We then describe briefly the Markov Stability framework for multiscale community detection, and use a synthetic example dataset to illustrate how the multi-resolution clustering reduces the sensitivity to graph construction parameters. Finally, we validate the Markov Stabiity graph-based clustering through comparisons with other clustering methods on real datasets.
Graph construction methods for data clustering
Let us consider a dataset consisting of samples , where each sample is a -dimensional vector. We will assume that we can define a measure of pairwise dissimilarity between the samples: . In some cases, the vectors will be defined in a metric space, and the dissimilarity will be a true distance . Other dissimilarity measures, such as the cosine distance, can also be used depending on the application. In the examples below, we will restrict ourselves to Euclidean distances as the measure of dissimilarity.
The aim of transforming the data into a graph is to capture the geometry of the data through inherent features of the graph topology or through processes taking place on the graph. There exist a variety of ways to construct a graph from a high-dimensional dataset, invoking different principles. Here we focus on geometric graphs and examine two of the most widely used methods (-ball graph,
-nearest neighbour (kNN) graph) and three recent methods (continuous-nearest neighbours (CkNN) graph , perturbed minimum spanning tree (PMST)  and relaxed minimum spanning tree (RMST) ). These methods can be broadly ascribed to two categories depending on how they use the geometry of the data, as follows.
Neighbourhood based methods: -ball, kNN and CkNN graphs
The idea of neighbourhood based methods is to connect two nodes if they are local neighbours, as given by their pairwise distance . The two simplest and most popular ways to construct a graph from pairwise distances are the -ball graph and the -nearest neighbour graph (kNN): in the -ball graph, any two points at a distance smaller than are connected; in the kNN graph, every point is connected to its -th nearest neighbours. These two methods capture the local information of the data but are highly sensitive to the parameters or 
. The parameter is usually set according to the density of the data points but in many datasets, the data points are not uniformly distributed.
A recently proposed method that can resolve this problem is the continuous -nearest neighbours (CkNN) graph . If is the distance between sample and sample , and is the distance between sample and its -th nearest neighbour, the CkNN graph is constructed by connecting sample and sample if
where is a positive parameter that controls the sparsity of the graph. Through this construction, the topology of the CkNN graph captures the geometric features of the data with the additional consistency that the CkNN graph Laplacian converges to the Laplace-Beltrami operator in the limit of large data . It should be kept in mind that in CkNN the distance must be a metric to ensure geometrical consistency, whereas kNN graphs can be generated from any dissimilarity measure (i.e., one does not need a true distance) since only the ranking of node closeness matters.
Minimum spanning tree based methods: PMST and RMST graphs
A different class of approaches for graph construction attempt to capture the global geometry of the overall dataset by constructing graphs based on measures of global connectivity of the ensuing graph. A popular way to ensure such global connectivity is through the minimum spanning tree (MST) , as follows. If we consider the matrix of all pairwise distances as the adjacency matrix of a weighted, fully connected graph, the MST is the subgraph such that all the nodes are path connected and the sum of edge weights is minimised. In other words, the MST provides a graph that connects all the points in the dataset with minimal global distance. MST-based approaches can thus capture the geometry of in-homogeneously sampled data points in a high-dimensional space since the MST contains not only local but also global features of the dataset.
In its simplest form, the MST is sometimes added to sparse neighbourhood graphs as a means to guarantee global connectivity of the dataset, i.e., the final graph is the union of the MST and a kNN graph with a small . These schemes, which are sometimes referred as MST+kNN graphs, are the ones we adopt by default in our neighbourhood constructions. However, the global properties of the MST can be exploited to generate MST-based graphs from data with distinct properties. We have explored here the use of two such MST-based algorithms: the perturbed minimum spanning tree (PMST)  and the relaxed minimum spanning tree (RMST) [21, 35].
In PMST , each data point
is perturbed by a small amount of noise of standard deviation() where is used as an estimation of the local noise and is a parameter controlling the level of noise. The MST is then computed for each realisation of the perturbed data and the process is performed repeatedly to generate an ensemble of MSTs. The PSMT graph is given by the union of all the perturbed MSTs, plus the original MST. The intuition behind this algorithm is that random perturbations of the points in high-dimensional space will induce changes inhomogeneously in different parts of the MST, depending on how globally important certain edges of the graph are, i.e., globally important edges will be consistently captured across all MSTs in the perturbed ensemble. One limitation of this algorithm is the heavy computational demand, since both the distance matrix and MST need to be computed for each random realisation. The computational burden makes it impractical to sweep over the parameters of the PMST, so we fix and in this paper.
RMST  proposes a different heuristic for estimating an MST-based graph with lower computational cost. Note that any two nodes are connected by a single path in the MST and we denote the longest edge on this path as . In RMST, the samples and are connected if
where is a parameter that weights the local density (measured by the average distance to the -th neighbours of and ) against a global property (the maximum distance found on the MST path linking the samples and ). Similarly to the parameter in CkNN, the value of controls the sparsity of the resulting graph. The RMST construction was proposed as a means to reconstruct data that have been inhomogeneously sampled from continuous manifolds, and has been shown to provide good description of datasets when preserving a measure of continuity (due to temporal or parametric changes) is important .
In Figure 2, we use a synthetic dataset of four groups of points sampled from a geometric structure (a noisy circle and its centre) to illustrate the different graph construction schemes . The graph representations allow us to gain intuition about the suitability of the different graph constructions for clustering, and the effect of their parameters. For instance, the sparsity of the RMST graph is controlled by the parameter . Note that RMST gives a similar graph to PMST with much lower computational cost. Note also that, for the same number of neighbours , the CkNN gives a sparser graph than the kNN. To make CkNN and kNN comparable, we thus fix the parameter in CkNN and vary .
As discussed above, the MST-based methods are not optimised for clustering but aimed at manifold learning. It follows from (2) that, in the RMST (and PMST) graphs it is more likely for an edge to appear between node and node if the longest edge on the MST path between node and is large. This feature makes the geodesic distance on the graph a good approximation to the true distance in the underlying space. Hence both RMST and PMST are closer to manifold learning approaches such as Isomap ). In contrast, the kNN and CkNN graphs tend to have better modular structures and hence appear as potentially more suitable for graph partitioning. We compare these issues in detail in Section Tests on benchmark real datasets below.
Markov Stability for graph-based clustering
Let us consider a graph representing the dataset. The unweighted and undirected graph with nodes representing the dataset is encoded by the adjacency matrix , where if there is an edge connecting node and and otherwise. The degree of the nodes is summarised in the degree vector where , and we also define the diagonal degree matrix where . The total number of edges of the network is . We then apply multiscale community detection to extract relevant subgraphs in an unsupervised manner using the framework of Markov Stability.
Multiscale community detection with Markov Stability
Markov Stability is a quality measure for community detection which adopts a dynamical perspective to unfold relevant structures in the graph at all scales as revealed by a diffusion process [15, 16, 17, 37]. Consider a continuous-time Markov process on the graph governed by the dynamics where is an -dimensional row vector defined on the nodes and is the one step random walk transition matrix. For this Markov process, there is a unique stationary distribution . Let us denote the autocovariance matrix of this process as where encodes the stationary distribution and is the transition matrix. Given a partition of the nodes into non-overlapping groups denoted by , the Markov Stability of is defined as:
A partition has a high value of (3
) if the probability of finding a random walker at timewithin the group where it started at is higher than that expected by mere chance. In this sense, Markov Stability is a quality function for partitions of a graph and the objective is therefore to find the partitions that achieve high values of the Markov Stability as a function of :
The (time) parameter is the so-called Markov time, and can be viewed as the resolution parameter that leads to multiscale community detection—as grows, the partitions of the graph become coarser. Computationally, the Markov Stability is optimised at different Markov times through a version of the Louvain algorithm .
Through the computational maximisation (4), Markov Stability detects optimised partitions at all scales, parameterised by the value of . However, we are interested in finding robust partitions and robust scales, in the sense that a partition is found to optimise MS over a long interval of Markov time. We thus compute the dissimilarity between the obtained partitions at different times and :
where we use the variation of information ()  as the metric of dissimilarity between partitions. If is a robust partition, the partition found at a Markov time close to should be very similar, and hence will be small. We therefore look for large diagonal blocks of small values in the matrix. Such blocks correspond to a robust scale with an associated robust partition.
As an additional feature, we look for optimised partitions that are also robust to the Louvain optimisation. Since the Louvain method is a greedy algorithm dependent on the random initialisation, the consistency of the output of the algorithm can be used as an indicator of the robustness of the solution. At each , we run the Louvain optmisation multiple times and if the Markov time corresponds to a robust scale, the output partition should be always the same. Therefore we expect a low value of the average variation of information of the optimised partitions at time
where the Louvain algorithm is run times. Depending on the structure of the graph, several such robust scales and associated graph partitions might be found, which can then be used as the basis of unsupervised data clustering.
Using Markov Stability for data clustering
We illustrate the application of MS to data clustering through the synthetic dataset in Figure 3. The example dataset has geometric struture and is designed to have two scales, so that it can be divided into 3 big clusters or 9 small clusters. First, we construct an unweighted CkNN graph (, ) and apply MS as described above. We optmise the Markov Stability (3) for Markov times , and at each , we run the Louvain algorithm times. For each Markov time, we record the partition with the maximal Markov Stability, , and the average dissimilarity of the partitions found in the optimisations, (6). Once the scan across Markov time is completed, we also compute , the matrix recording the dissimilarity of the optimal partitions found across the scan.
The results are presented in Figure 3, where, as a function of Markov time , we plot the number of communities in the optimal partition ; the the optimised Markov Stability (3); the average dissimilarity due to algorithmic variability ; and the dissimilarity of partitions across time given by the matrix. The diagonal blocks of low values of (which also correspond to plateaux in the number of communities) and the low values (or dips) of suggest that there are two relevant scales in this graph, which correspond to a finer clustering into 9 groups (at small ) and a partition into 3 groups (at larger ). The inset shows that the clustering recovers the planted groups of this synthetic example.
The robustness of the partitions found across scales is further examined in Figure 4. To understand how the graph partitions evolve with , we compute the metric between all the partitions found across the Markov time scan () and project them on a low dimensional space using multidimensional scaling (MDS). In Figure 4, we use the first MDS coordinate of each of the partitions as a function of coloured by its frequency. Several partitions can coexist at a given Markov time, but our numerics show that the two robust partitions ( and ) have a long-lived high frequency of appearance when the matches the corresponding resolution. Between and , other partitions of lesser robustness appear through mergers of clusters one by one, as shown by the Sankey diagramme in Figure 4, and only exist for short Markov times until the robust partition of appears.
Scanning across Markov time reduces the sensitivity to graph construction
Graph-based clustering performance is sensitive to the parameters of the graph construction method, which modulate sparsity, but there is no easy way to select the best parameter if the ground truth is unknown. In practice, the parameters are usually set empirically with little guidance that the chosen parameter will lead to good clustering results for a particular dataset. Within the Markov Stability framework, we can use the robustness provided by scanning across Markov time to reduce the sensitivity to the details of graph construction, thus improving the reliability of the detected clusters.
To illustrate this idea, We use the same dataset in Figure 3 and construct CkNN () graphs with different values of . Our numerics show that Markov Stability detects the relevant underlying scales of the data ( and ) for the different values of , as shown by the long diagonal blocks of low and the low values of in Figure 5. Although the degree of the CkNN graph varies markedly with the parameter , the two significant scales are identified by scanning across the Markov time. Hence the scanning across scales inherent to multiscale community detection provides additional robustness to the parameters of the graph construction algorithm.
Tests on benchmark real datasets
We have tested several graph-based clustering approaches (both graph constructions and clustering methods) using nine benchmark datasets from the UCI repository (see Table 1 for a summary of attributes) . All the datasets have ground truth labels, which we use to validate the results of the different methods.
Comparison between graph constructions
Starting from the Euclidean distance , we generated geometric graphs from each of the nine UCI datasets using the five graph construction methods described in Section Graph construction methods for data clustering. If the constructed graph is disconnected, the MST is added to the graph to ensure a connected graph. Each graph was analysed using Markov Stability to obtain optimised partitions at any scale, and we selected the closest of those partitions to the ground truth, as measured by the normalised mutual information (NMI) . The computed NMI is a quality index for the graph construction under clustering. We also compute the adjusted Rand index (ARI)  as an additional quality index.
|Dataset||No. of samples,||Dimension,||No. of classes,|
The results of the comparison are shown in Table 2. The kNN and
-ball graphs, both widely-used in many machine learning and both based on local neighbourhoods, give good results for a range of. (Note that is set to be the average of the distances to the 7-th neighbour, .) For the MST-based methods, RMST achieves better performance for sparser graphs (with smaller ) when the cluster structure is not obscured by the objective of manifold reconstruction (Fig. 2). The same applies to the PMST graph. The empirical tests show that the CkNN graph gives the best average results over the nine datasets for and above. Hence we adopt the CkNN graph with in the range of 7 to 12 as a good choice for graph-based clustering.
The CkNN graph is constructed by using a variable bandwidth diffusion kernel  where the bandwidth is inversely proportional to the sampling density and allows for uniform estimation errors over the underlying manifold, while the graph construction which uses a fixed bandwidth kernel will have large errors in areas of small sampling density. By such a construction, the graph Laplacian of the CkNN graph converges to the the Laplacian operator in the manifold. This explains why the CkNN graph shows a better clustering performance than the other graph construction when the graph is partitioned with Markov Stability, which considers a diffusion process on the graph.
Comparison between clustering methods
In this section, we evaluate the performance of graph-based clustering through Markov Stability against several other clustering methods applied to the datasets from the UCI repository. We include a variety of clustering approaches. Model-based methods include k-means and Gaussian mixture (clustering repeated 10 times and partition with the best NMI is reported). We also apply hierarchical clustering with complete linkage and Euclidean distance is used as the distance measure. Since graph-based clustering is closely related to spectral clustering, we compare to two spectral clustering methods: the multiclass n-cut algorithm  and the classic NJW algorithm 
. The affinity matrix for these two spectral clustering algorithms is calculated with a local density kernel as described in. Note that all these algorithms need the number of clusters to be given as an input. Hence we use the number of classes in the ground truth as an input to set the number of clusters. For comparability, in the case of Markov Stability, we construct the CkNN graph with Euclidean distance ( and ) and find the optimised partition with the number of communities equal to .
The results are presented in Table 3
. Given the distinct features of the datasets, no method is expected to achieve consistently better performance across all datasets. The hierarchical clustering performs worst, as it is easily affected by the noise in real datasets. Model-based methods, such as the Gaussian mixture model, can achieve good performance if the properties of the data fit the assumptions (e.g., the Iris dataset), but can also perform poorly. On datasets that have non-convex geometries, graph-based methods and spectral clustering tend to perform better. On average, the Markov Stability approach achieves the best NMI and ARI scores.
|Control chart ()||0.6907||0.5348||0.7070||0.7924||0.7891||0.8489|
|Breast tissue ()||0.5446||0.5487||0.4745||0.5481||0.5366||0.5291|
|Control chart ()||0.5207||0.2699||0.5374||0.6835||0.6803||0.7056|
|Breast tissue ()||0.2876||0.2872||0.1895||0.3983||0.3806||0.3659|
To further validate the quality of the robust partitions found by Markov Stability, we also carried out MS clustering in a fully unsupervised manner, i.e., without providing the number of classes in the ground truth as an input. Using the principles described in Section Markov Stability for graph-based clustering, we identify robust scales and robust partitions in order to establish the number of clusters inherent to the data in an unsupervised manner. Table 4 presents the NMI and ARI values and the number of communities detected by MS and compares it to the results obtained in Table 3, where the number of communities in the ground truth was provided. Although the number of detected clusters differs slightly from the ground truth, the clusters found in the unsupervised MS have a higher average NMI value, i.e., they provide more information about the ground truth thus highlighting the advantage of multiscale clustering with Markov Stability as an unsupervised means to find a partition closer to the ground truth.
|Iris||0.7980 ()||0.7980 ()|
|Glass||0.3932 ()||0.3687 ()|
|Wine||0.8347 ()||0.8347 ()|
|WBDC||0.7231 ()||0.7231 ()|
|Control chart||0.8489 ()||0.8520 ()|
|Parkinson||0.1334 ()||0.2973 ()|
|Vertebral||0.5971 ()||0.6018 ()|
|Breast tissue||0.5291 ()||0.5104 ()|
|Seeds||0.7142 ()||0.7142 ()|
|Iris||0.7455 ()||0.7455 ()|
|Glass||0.2380 ()||0.2086 ()|
|Wine||0.8471 ()||0.8471 ()|
|WBDC||0.8244 ()||0.8244 ()|
|Control chart||0.7056 ()||0.6824 ()|
|Parkinson||0.2659 ()||0.2667 ()|
|Vertebral||0.6096 ()||0.6113 ()|
|Breast tissue||0.3659 ()||0.3764 ()|
|Seeds||0.7432 ()||0.7432 ()|
We have investigated the use of multiscale community detection for graph-based data clustering. The first step in graph-based clustering is to construct a graph from the data, and our empirical study shows that the recently proposed CkNN graph is a good choice for this purpose. In contrast to other neighbourhood-based graph constructions like kNN or -ball graphs, the CkNN graph is designed to provide a consistent discrete approximation of the diffusion operator on the underlying data manifold. Since many community detection methods are closely related to diffusion or random walks (e.g., Markov Stability and spectral methods), this explains the good performance of CkNN for clustering purposes. Other graph construction methods specifically designed for manifold learning (e.g, RMST) performed well but are not optimised for cluster separation.
Our work has also examined the suitability of multiscale community detection as a means for unsupervised data clustering. Specifically, we have used the Markov Stability framework, which employs a diffusion process on the graph to detect the presence of relevant subgraphs at all scales. The time of the diffusion process acts as a resolution parameter and a cost function for graph partitioning is optimised at different scales by scanning time. Robust partitions and robust scales can be identified by analysing the consistency of the ensemble of optimised partitions found by the Louvain algorithm. Our numerics show that the Markov Stability framework is able to determine the number of clusters and reveal the multiscale structure in data. Further, by scanning Markov time, the MS analysis can reduce the sensitivity to the parameters in the graph construction step, thus improving the robustness of graph-based clustering.
We have validated our graph-based clustering approach on several real datasets by comparing with other popular clustering methods, including k-means, Gaussian mixture model, hierarchical clustering, and two spectral clustering algorithms. The graph-based clustering method achieves the best NMI and ARI values on average across the datasets. Importantly, we show that the clustering can be done in a completely unsupervised way (without assuming a knowledge of the number of clusters), whereas for the other standard methods the number of clusters needs to be given as an input.
Our study also suggests several directions of future work. Here we showed that the CkNN graph is a good choice for graph-based clustering, but it will be interesting to establish the performance of CkNN in other data mining problems, such as manifold learning where graphs also play a important role 
. We showed that the variation of information of partitions and the ensemble of partitions found by greedy optimisation can be used to guide the identification of robust partitions. However, a quantitative, statistically sound process to choose the significant partitions automatically would be desirable and useful in practice.
The authors declare that they have no competing interests.
ZL and MB conceived of the idea of the study. ZL implemented the methods and ran the numerical experiments. Both authors wrote, reviewed and approved the manuscript.
This work was supported by the European Commission [European Union 7th Framework Programme for research, technological development and demonstration under grant agreement no. 607466], and the Engineering and Physical Sciences Research Council (EPSRC) through grant EP/N014529/1 to M.B..
Xu, R., Wunsch, D.: Survey of clustering algorithms. IEEE Transactions on Neural Networks16(3), 645–678 (2005)
-  Sugar, C.A., James, G.M.: Finding the number of clusters in a dataset: An information-theoretic approach. Journal of the American Statistical Association 98(463), 750–763 (2003)
Azran, A., Ghahramani, Z.: Spectral methods for automatic multiscale data clustering. In: Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference On, vol. 1, pp. 190–197 (2006). IEEE
-  Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: a review. ACM computing surveys (CSUR) 31(3), 264–323 (1999)
-  MacQueen, J.: Some methods for classification and analysis of multivariate observations. In: Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Statistics, pp. 281–297. University of California Press, Berkeley, Calif. (1967). https://projecteuclid.org/euclid.bsmsp/1200512992
-  Dempster, A.P., Laird, N.M., Rubin, D.B.: Maximum likelihood from incomplete data via the em algorithm. Journal of the royal statistical society. Series B (methodological), 1–38 (1977)
-  Shi, J., Malik, J.: Normalized cuts and image segmentation. Pattern Analysis and Machine Intelligence, IEEE Transactions on 22(8), 888–905 (2000)
Ng, A.Y., Jordan, M.I., Weiss, Y.: On spectral clustering: Analysis and an algorithm. In: Proceedings of the 14th International Conference on Neural Information Processing Systems: Natural and Synthetic. NIPS’01, pp. 849–856. MIT Press, Cambridge, MA, USA (2001)
-  Von Luxburg, U.: A tutorial on spectral clustering. Statistics and computing 17(4), 395–416 (2007)
-  Schaub, M.T., Delvenne, J.-C., Lambiotte, R., Barahona, M.: Multiscale dynamical embeddings of complex networks. Phys. Rev. E 99, 062308 (2019). doi:10.1103/PhysRevE.99.062308
-  Alpert, C.J., Kahng, A.B., Yao, S.-Z.: Spectral partitioning with multiple eigenvectors. Discrete Applied Mathematics 90(1), 3–26 (1999)
-  Dhillon, I.S.: Co-clustering documents and words using bipartite spectral graph partitioning. In: Proceedings of the Seventh ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 269–274 (2001). ACM
-  Hagen, L., Kahng, A.B.: New spectral methods for ratio cut partitioning and clustering. IEEE transactions on computer-aided design of integrated circuits and systems 11(9), 1074–1085 (1992)
-  Chung, F.R.K.: Spectral Graph Theory. CBMS Regional Conference Series, vol. no. 92. Conference Board of the Mathematical Sciences
-  Lambiotte, R., Delvenne, J.-C., Barahona, M.: Laplacian Dynamics and Multiscale Modular Structure in Networks. arXiv e-prints, 0812–1770 (2008). 0812.1770
-  Lambiotte, R., Delvenne, J.-C., Barahona, M.: Random walks, Markov processes and the multiscale modular organization of complex networks. IEEE Transactions on Network Science and Engineering 1(2), 76–90 (2014)
-  Delvenne, J.-C., Yaliraki, S.N., Barahona, M.: Stability of graph communities across time scales. Proceedings of the National Academy of Sciences 107(29), 12755–12760 (2010)
-  Altuncu, M.T., Mayer, E., Yaliraki, S.N., Barahona, M.: From free text to clusters of content in health records: an unsupervised graph partitioning approach. Applied Network Science 4(1), 2 (2019). doi:10.1007/s41109-018-0109-9
-  Cheng, B., Yang, J., Yan, S., Fu, Y., Huang, T.S.: Learning with -graph for image analysis. IEEE Transactions on Image Processing 19(4), 858–866 (2010). doi:10.1109/TIP.2009.2038764
-  Tenenbaum, J.B., De Silva, V., Langford, J.C.: A global geometric framework for nonlinear dimensionality reduction. Science 290(5500), 2319–2323 (2000)
-  Beguerisse-Díaz, M., Vangelov, B., Barahona, M.: Finding role communities in directed networks using Role-Based Similarity, Markov Stability and the Relaxed Minimum Spanning Tree. In: Global Conference on Signal and Information Processing (GlobalSIP), 2013 IEEE, pp. 937–940 (2013). IEEE
-  Dhillon, I.S., Guan, Y., Kulis, B.: Kernel k-means: spectral clustering and normalized cuts. In: Proceedings of the Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 551–556 (2004). ACM
-  Kulis, B., Basu, S., Dhillon, I., Mooney, R.: Semi-supervised graph clustering: a kernel approach. Machine learning 74(1), 1–22 (2009)
-  Bronstein, M.M., Bruna, J., LeCun, Y., Szlam, A., Vandergheynst, P.: Geometric deep learning: Going beyond euclidean data. IEEE Signal Processing Magazine 34(4), 18–42 (2017). doi:10.1109/MSP.2017.2693418
-  Maier, M., Luxburg, U.v., Hein, M.: Influence of graph construction on graph-based clustering measures. In: Proceedings of the 21st International Conference on Neural Information Processing Systems. NIPS’08, pp. 1025–1032. Curran Associates Inc., USA (2008)
-  Delvenne, J.-C., Schaub, M.T., Yaliraki, S.N., Barahona, M.: The stability of a graph partition: A dynamics-based framework for community detection. In: Mukherjee, A., Choudhury, M., Peruani, F., Ganguly, N., Mitra, B. (eds.) Dynamics On and Of Complex Networks, Volume 2: Applications to Time-Varying Dynamical Systems, pp. 221–242. Springer, New York, NY (2013)
-  Delmotte, A., Tate, E.W., Yaliraki, S.N., Barahona, M.: Protein multi-scale organization through graph partitioning and robustness analysis: application to the myosin–myosin light chain interaction. Physical biology 8(5), 055010 (2011)
-  Amor, B., Yaliraki, S., Woscholski, R., Barahona, M.: Uncovering allosteric pathways in caspase-1 using markov transient analysis and multiscale community detection. Molecular BioSystems 10(8), 2247–2258 (2014)
-  Beguerisse-Díaz, M., Garduno-Hernández, G., Vangelov, B., Yaliraki, S.N., Barahona, M.: Interest communities and flow roles in directed networks: the Twitter network of the UK riots. Journal of The Royal Society Interface 11(101), 20140940 (2014)
-  Bacik, K.A., Schaub, M.T., Beguerisse-Díaz, M., Billeh, Y.N., Barahona, M.: Flow-based network analysis of the Caenorhabditis elegans connectome. PLoS computational biology 12(8), 1005055 (2016)
Berry, T., Sauer, T.: Consistent manifold representation for topological data analysis. Foundations of Data Science1(1), 1–38 (2019)
-  Rokach, L., Maimon, O.: Clustering methods. In: Data Mining and Knowledge Discovery Handbook, pp. 321–352. Springer, Boston, MA (2005)
-  Carreira-Perpiñán, M.A., Zemel, R.S.: Proximity graphs for clustering and manifold learning. In: Proceedings of the 17th International Conference on Neural Information Processing Systems. NIPS’04, pp. 225–232. MIT Press, Cambridge, MA, USA (2004)
-  Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, Third Edition, 3rd edn. The MIT Press, Cambridge, MA (2009)
-  Vangelov, B.: Unravelling biological processes using graph theoretical algorithms and probabilistic models. PhD thesis, Imperial College London (2014)
-  Ben-Hur, A., Horn, D., Siegelmann, H.T., Vapnik, V.: Support vector clustering. Journal of machine learning research 2(Dec), 125–137 (2001)
-  Schaub, M.T., Delvenne, J.-C., Yaliraki, S.N., Barahona, M.: Markov dynamics as a zooming lens for multiscale community detection: non clique-like communities and the field-of-view limit. PloS one 7(2), 32210 (2012)
-  Blondel, V.D., Guillaume, J.-L., Lambiotte, R., Lefebvre, E.: Fast unfolding of communities in large networks. Journal of statistical mechanics: theory and experiment 2008(10), 10008 (2008)
-  Meilă, M.: Comparing clusterings by the variation of information. In: Schölkopf, B., Warmuth, M.K. (eds.) Learning Theory and Kernel Machines, pp. 173–187. Springer, Berlin, Heidelberg (2003)
-  Dheeru, D., Karra Taniskidou, E.: UCI Machine Learning Repository (2017). http://archive.ics.uci.edu/ml
-  Strehl, A., Ghosh, J.: Cluster ensembles—a knowledge reuse framework for combining multiple partitions. Journal of machine learning research 3(Dec), 583–617 (2002)
-  Hubert, L., Arabie, P.: Comparing partitions. Journal of classification 2(1), 193–218 (1985)
-  Berry, T., Harlim, J.: Variable bandwidth diffusion kernels. Applied and Computational Harmonic Analysis 40(1), 68–96 (2016)
-  Yu, S.X., Shi, J.: Multiclass spectral clustering. In: Proceedings Ninth IEEE International Conference on Computer Vision, pp. 313–319 (2003). doi:10.1109/ICCV.2003.1238361
-  Zelnik-Manor, L., Perona, P.: Self-tuning spectral clustering. In: Proceedings of the 17th International Conference on Neural Information Processing Systems. NIPS’04, pp. 1601–1608. MIT Press, Cambridge, MA, USA (2004)
-  Yan, S., Xu, D., Zhang, B., Zhang, H.-J., Yang, Q., Lin, S.: Graph embedding and extensions: A general framework for dimensionality reduction. IEEE transactions on pattern analysis and machine intelligence 29(1), 40–51 (2007)