Spectral clustering of graphs

Slides:



Advertisements
Similar presentations
Class 12: Communities Network Science: Communities Dr. Baruch Barzel.
Advertisements

Partitional Algorithms to Detect Complex Clusters
Social network partition Presenter: Xiaofei Cao Partick Berg.
Learning Trajectory Patterns by Clustering: Comparative Evaluation Group D.
Modularity and community structure in networks
Information Networks Graph Clustering Lecture 14.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Clustering II CMPUT 466/551 Nilanjan Ray. Mean-shift Clustering Will show slides from:
Author: Jie chen and Yousef Saad IEEE transactions of knowledge and data engineering.
10/11/2001Random walks and spectral segmentation1 CSE 291 Fall 2001 Marina Meila and Jianbo Shi: Learning Segmentation by Random Walks/A Random Walks View.
Lecture 21: Spectral Clustering
Spectral Clustering Scatter plot of a 2D data set K-means ClusteringSpectral Clustering U. von Luxburg. A tutorial on spectral clustering. Technical report,
Spectral Clustering 指導教授 : 王聖智 S. J. Wang 學生 : 羅介暐 Jie-Wei Luo.
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
Modularity in Biological networks.  Hypothesis: Biological function are carried by discrete functional modules.  Hartwell, L.-H., Hopfield, J. J., Leibler,
Segmentation Graph-Theoretic Clustering.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Three Algorithms for Nonlinear Dimensionality Reduction Haixuan Yang Group Meeting Jan. 011, 2005.
Graph-based consensus clustering for class discovery from gene expression data Zhiwen Yum, Hau-San Wong and Hongqiang Wang Bioinformatics, 2007.
Spectral Analysis based on the Adjacency Matrix of Network Data Leting Wu Fall 2009.
Andreas Papadopoulos - [DEXA 2015] Clustering Attributed Multi-graphs with Information Ranking 26th International.
Understanding Network Concepts in Modules Dong J, Horvath S (2007) BMC Systems Biology 2007, 1:24.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Community structure in graphs Santo Fortunato. More links “inside” than “outside” Graphs are “sparse” “Communities”
Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale.
Spectral Clustering Shannon Quinn (with thanks to William Cohen of Carnegie Mellon University, and J. Leskovec, A. Rajaraman, and J. Ullman of Stanford.
Mesh Segmentation via Spectral Embedding and Contour Analysis Speaker: Min Meng
A Tutorial on Spectral Clustering Ulrike von Luxburg Max Planck Institute for Biological Cybernetics Statistics and Computing, Dec. 2007, Vol. 17, No.
Network applications Sushmita Roy BMI/CS 576 Dec 9 th, 2014.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Subject Four Graphs Data Structures. What is a graph? A data structure that consists of a set of nodes (vertices) and a set of edges that relate the nodes.
1 New metrics for characterizing the significance of nodes in wireless networks via path-based neighborhood analysis Leandros A. Maglaras 1 Dimitrios Katsaros.
Graph clustering to detect network modules
Spectral Methods for Dimensionality
Non negative matrix factorization for Global Network Alignment
Hierarchical Agglomerative Clustering on graphs
Spectral methods for Global Network Alignment
Semi-Supervised Clustering
Groups of vertices and Core-periphery structure
Multi-task learning approaches to modeling context-specific networks
Clustering Usman Roshan.
Gyan Ranjan University of Minnesota, MN
CSC317 Graph algorithms Why bother?
Generating multidimensional embeddings based on fuzzy memberships
June 2017 High Density Clusters.
Community detection in graphs
Department of Electrical and Computer Engineering
Degree and Eigenvector Centrality
Outline Nonlinear Dimension Reduction Brief introduction Isomap LLE
Section 7.12: Similarity By: Ralucca Gera, NPS.
Segmentation Graph-Theoretic Clustering.
Finding modules on graphs
Grouping.
CIS 700: “algorithms for Big Data”
Discovering Clusters in Graphs
Linear Equations in Linear Algebra
Derivative of scalar forms
Graph Operations And Representation
CSCI B609: “Foundations of Data Science”
On the effect of randomness on planted 3-coloring models
1.3 Vector Equations.
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
Spectral methods for Global Network Alignment
3.3 Network-Centric Community Detection
Spectral clustering methods
Chapter 9 Graph algorithms
Clustering Usman Roshan CS 675.
For Friday Read chapter 9, sections 2-3 No homework
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

Spectral clustering of graphs Sushmita Roy sroy@biostat.wisc.edu Computational Network Biology Biostatistics & Medical Informatics 826 Computer Sciences 838 https://compnetbiocourse.discovery.wisc.edu Nov 3rd, Nov 10th 2016

Goals for this lecture Graph Laplacian A few linear algebra concepts Connected components from the Laplacian Spectral clustering Spectral clustering and graph cut Spectral clustering demo with Zachary Karate Club Application of spectral clustering to identify integrated clusters

Notation Graph G={V, E} where V is the vertex set and E is the edge set D: Degree matrix of a graph A: Adjacency matrix of a graph L: Graph Laplacian

Unnormalized Graph Laplacian For a given graph G={V,E} The unnormalized graph Laplacian is |V|X|V| matrix

Unnormalized Graph Laplacian example Adjacency matrix(A) Degree matrix (D) 1 2 3 4 2 3 4 1 1 1 1 2 1 3 2 3 4 2 4 Laplacian (L=D-A) 1 2 3 4 2 -1 1 Example graph

A few linear algebra concepts Let A be an nXn matrix Let A’ denote the transpose of A Let Rn denote the space of nX1-dimensional real-valued vectors Eigen vector of A v, in Rn, is the eigen vector (nX1) of a matrix A with eigen value λ, (a scalar) if Positive semi-definite A is said to be positive semi-definite if, for any x in Rn, the following holds

Spectral clustering Based on the graph Laplacian derived from the adjacency matrix Graph Laplacian L=D-A D is the diagonal degree of matrix A is the adjacency matrix Obtain the k eigen vectors associated with k smallest eigen values of L Represent each node as the k-dimensional vector Cluster nodes based on k-means clustering

Spectral clustering key steps 1 N 1 N 1 k k 1 Adjacency matrix (A) 1 Laplacian (L) 1 First k eigen vectors k clusters … N N

Properties of the Laplacian L is symmetric and positive semi-definite For every vector f in Rn, The smallest eigen value of L is 0 and its corresponding eigen vector is all 1s Intuitively the L is a second derivative, it is asking how fast is a function changing on the graph

Connected components Two connected components A subgraph where there is path from one node to another The number of connected components is inherently tied to the Laplacian matrix B G C F A H E D Connected component: A subgraph spanning a vertex subset where every vertex can be “reached” from another vertex

Number of connected components and the multiplicity of λ=0 Let G be an undirected graph with non-negative weights. Then the multiplicity, k, of the eigenvalue 0 of L equals the number of connected components in the graph A1 , . . . , Ak

Number of Connected Components and L’s smallest eigen value To see why this is true, we use the property of an eigen vector, consider the case of one connected component If f is an eigen vector of L, then Lf=λf For eigen value 0, Lf=0 (vector or all zeros) In addition we know If f is an eigen vector corresponding to eigen value =0, this must be 0 The only way this can be 0 is if fi=fj because wij is non-zero This holds for all vertices connected by a path If all vertices are connected, then f is a vector of constant of all 1s

Now consider a graph with k components A is block diagonal with k blocks L is also block diagonal

Now consider the case of a graph with k components Eigen vectors of each block diagonal matrices and the full graph are directly related Eigen vectors of the full graph is the same as the eigen vectors of individual blocks with the remaining entries set to 0. Thus L for the entire graph has as many eigen vectors as the number of connected components (blocks) Each eigen vector is constant non-zeros for the entries corresponding to each connected component

Graph cuts A cut on graph is defined as a partitioning on the nodes of the graph into two sets The size of a cut is the number of edges spanning the cut Cut size=2

Different types of graph cuts A cut can be Min Cut: No other cut is smaller (fewer edges) Max Cut: No other cut is larger

Graph clustering from a graph cut point of view Clustering on the graph can be re-stated as follows: Find a partition of the graph such that the edges between different groups have a very low weight (which means that points in different clusters are dissimilar from each other) and the edges within a group have high weight (which means that points within the same cluster are similar to each other). The most direct way to find such a partition is by solving the Min-Cut problem This is an NP-hard problem The spectral clustering algorithm can be thought of as solving a continuous relaxation of this problem Luxburg Tutorial on Spectral graph clustering

Goals for this lecture Graph Laplacian A few linear algebra concepts Connected components from the Laplacian Spectral clustering Spectral clustering and graph cut Spectral clustering demo with Zachary Karate Club Application of spectral clustering to identify integrated clusters

An example with 2 connected components For this matrix, we expect to have two eigen vectors associated with eigen value =0 A1 A2

The corresponding Laplacian L=D-A L1 L2

First 10 ten eigen values The first two eigen values are 0

First 10 eigen vectors First two eigen vectors are piece-wise constant

Recall the Zachary karate club study

Adjacency matrix of Zachary Karate club study

First 20 eigen values of the ZKC graph Only 1 eigen value=0 K=5 clusters K=9 clusters Only one connected component

First two eigen vectors of the ZKC graph Cluster 2 Cluster 1

Clusters depicted on the graph

Spectral vs Girvan-Newman

First five eigen vectors of Zachary Karate club data

Reordered matrix post clustering

ZKC graph clustered into k=5 clusters

Goals for this lecture Graph Laplacian A few linear algebra concepts Connected components from the Laplacian Spectral clustering Spectral clustering and graph cut Spectral clustering demo with Zachary Karate Club Application of spectral clustering to identify integrated clusters Similarity network fusion

Application of spectral clustering Similarity network fusion for aggregating data types on a genomic scale B. Wang, A. M. Mezlini, F. Demir, M. Fiume, Z. Tu, M. Brudno, B. Haibe-Kains, and A. Goldenberg This paper had two goals: Integrate different types of data using a network-based approach Identify groups of samples representing integrated data types

Similarity network fusion for aggregating data types on a genomic scale Recent high throughput technologies have made it possible to collect many different types of genomic data for individual patients How do we combine patient data to describe a disease? This is challenging because of the following issues: Noisy samples Small number of samples than variables Complimentary nature of the data

Similarity Network Fusion Given N different types of measurements for different individuals Do Construct a similarity matrix of individuals for each data type Integrate the networks using a single similarity matrix using an iterative algorithm Cluster the network into a groups of individuals

Similarity network fusion with two data types Similarity network fusion (Nodes are patients, edges represent similarities).

Defining a similarity graph over patient samples For each data type, create a weighted graph, with vertices corresponding to patients Let xi and xj denote the measurements of patients i and j Edge weights, W(i,j) correspond to how similar patient i is to patient j based on xi and xj Euclidean distance Hyper-parameter Scaling term (average of the distance between each node and its neighborhood)

Creating a fused matrix Define two matrices for each data type A full matrix: normalized weight matrix A sparse matrix (based on k nearest neighbors or each node) This makes the assumption that the local similarities are the most reliable

Iterate for fusion Input m data types Construct W(v) for each data type v Construct dense matrix P(v) and sparse matrix S(v) At each iteration, update the dense similarity matrix of one data type using the similarity matrix of the other data type

Iteration with m=2 data types For iteration t+1 Update similarity matrix of data type 1 Update similarity matrix of data type 2 Update similarity matrix of data type 1 using weight matrix from data type 2 and vice-versa

What is going on in the iteration step Neighbors of i Neighbors of j We are updating the similarity matrix using the most confident common neighbors of i and j

Extending to m>2 data types Just average over all other data types

SNF termination After repeating the iterative updates for t steps, final similarity matrix is This is then clustered using spectral clustering

Application of SNF to Glioblastoma Contradicting information about subtypes depending upon the type of data used Glioblastoma dataset Three data types among 215 patients DNA methylation (1491 genes) mRNA (12,042 genes) miRNA (534 miRNAs)

SNF application to GBM identifies 3 subtypes DNA methylation mRNA expression miRNA expression

Validation of SNF identified subtypes Subtypes are associated with patient populations of different survival. Blue curve (subtype 3) are patients with more favorable prognosis

Key points of graph clustering algorithms Flat or hierarchical clustering Algorithms differ in how they define the similarity/distance measure Local topology measures Global measures Whether the algorithm takes as input the number of clusters or the goodness of clusters (e.g. the approximate cluster algorithm) Next time: Seed and scoring methods

References A Tutorial on Spectral Clustering. Ulrike von Luxburg, 2007 Similarity network fusion for aggregating data types on a genomic scale B. Wang, A. M. Mezlini, F. Demir, M. Fiume, Z. Tu, M. Brudno, B. Haibe-Kains, and A. Goldenberg, Nat Meth, vol. 11, no. 3, pp. 333-337, Mar. 2014. [Online]. Available: http://dx.doi.org/10.1038/nmeth.2810