Clustering in Networks

Similar documents
Spectral Clustering X I AO ZE N G + E L HA M TA BA S SI CS E CL A S S P R ESENTATION MA RCH 1 6,

The clustering in general is the task of grouping a set of objects in such a way that objects

Spectral Graph Sparsification: overview of theory and practical methods. Yiannis Koutis. University of Puerto Rico - Rio Piedras

Spectral Clustering. Presented by Eldad Rubinstein Based on a Tutorial by Ulrike von Luxburg TAU Big Data Processing Seminar December 14, 2014

Finding and Visualizing Graph Clusters Using PageRank Optimization. Fan Chung and Alexander Tsiatas, UCSD WAW 2010

Application of Spectral Clustering Algorithm

Spectral Clustering on Handwritten Digits Database

Algebraic Graph Theory- Adjacency Matrix and Spectrum

Spectral Clustering and Community Detection in Labeled Graphs

Visual Representations for Machine Learning

Social-Network Graphs

Feature Selection for fmri Classification

SPECTRAL SPARSIFICATION IN SPECTRAL CLUSTERING

Mining Social Network Graphs

CSE 255 Lecture 6. Data Mining and Predictive Analytics. Community Detection

CSCI-B609: A Theorist s Toolkit, Fall 2016 Sept. 6, Firstly let s consider a real world problem: community detection.

Spectral Methods for Network Community Detection and Graph Partitioning

Lecture 2: From Structured Data to Graphs and Spectral Analysis

Small Libraries of Protein Fragments through Clustering

10-701/15-781, Fall 2006, Final

Complex-Network Modelling and Inference

Kirchhoff's theorem. Contents. An example using the matrix-tree theorem

Behavioral Data Mining. Lecture 18 Clustering

with a Digital Differential Algorithm tom/lecture-notes/graphics/dda-circle/dda-circle.

Graph Theory Problem Ideas

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

Graph drawing in spectral layout

CMPSCI 711: More Advanced Algorithms

Introduction to Machine Learning

Laplacian Paradigm 2.0

SDD Solvers: Bridging theory and practice

Image Segmentation continued Graph Based Methods

My favorite application using eigenvalues: partitioning and community detection in social networks

Machine Learning for Data Science (CS4786) Lecture 11

APPROXIMATE SPECTRAL LEARNING USING NYSTROM METHOD. Aleksandar Trokicić

Some Graph Theory for Network Analysis. CS 249B: Science of Networks Week 01: Thursday, 01/31/08 Daniel Bilar Wellesley College Spring 2008

Clustering With Multi-Layer Graphs: A Spectral Perspective

Introduction to spectral clustering

Big Data Analytics. Special Topics for Computer Science CSE CSE Feb 11

Lecture 6: Unsupervised Machine Learning Dagmar Gromann International Center For Computational Logic

Topological Classification of Data Sets without an Explicit Metric

CSE 258 Lecture 6. Web Mining and Recommender Systems. Community Detection

Diffusion and Clustering on Large Graphs

TELCOM2125: Network Science and Analysis

Clustering. SC4/SM4 Data Mining and Machine Learning, Hilary Term 2017 Dino Sejdinovic

MSA220 - Statistical Learning for Big Data

An introduction to graph analysis and modeling Descriptive Analysis of Network Data


Lecture 2: Geometric Graphs, Predictive Graphs and Spectral Analysis

Programming Problem for the 1999 Comprehensive Exam

CSE 158 Lecture 6. Web Mining and Recommender Systems. Community Detection

Network Basics. CMSC 498J: Social Media Computing. Department of Computer Science University of Maryland Spring Hadi Amiri

Lesson 2 7 Graph Partitioning

Math 1505G, 2013 Graphs and Matrices

PageRank. CS16: Introduction to Data Structures & Algorithms Spring 2018

Understanding Networks through Physical Metaphors. Daniel A. Spielman

Chapter 2. Spectral Graph Drawing

Dimensionality Reduction of Laplacian Embedding for 3D Mesh Reconstruction

Clustering Lecture 8. David Sontag New York University. Slides adapted from Luke Zettlemoyer, Vibhav Gogate, Carlos Guestrin, Andrew Moore, Dan Klein

Clustering. So far in the course. Clustering. Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. dist(x, y) = x y 2 2

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search

Large-Scale Face Manifold Learning

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Clustering. CS294 Practical Machine Learning Junming Yin 10/09/06

Stanford University CS359G: Graph Partitioning and Expanders Handout 18 Luca Trevisan March 3, 2011

Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. 2 April April 2015

Local Graph Clustering and Applications to Graph Partitioning

6 Randomized rounding of semidefinite programs

SIMPLE INPUT and OUTPUT:

MAT 280: Laplacian Eigenfunctions: Theory, Applications, and Computations Lecture 18: Introduction to Spectral Graph Theory I. Basics of Graph Theory

Clustering: Classic Methods and Modern Views

Energy Minimization for Segmentation in Computer Vision

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates

Hypergraph Exploitation for Data Sciences

THE KNOWLEDGE MANAGEMENT STRATEGY IN ORGANIZATIONS. Summer semester, 2016/2017

Robust Face Recognition via Sparse Representation Authors: John Wright, Allen Y. Yang, Arvind Ganesh, S. Shankar Sastry, and Yi Ma

Social Network Analysis

A Spectral Based Clustering Algorithm for Categorical Data with Maximum Modularity

Graph based machine learning with applications to media analytics

Testing Isomorphism of Strongly Regular Graphs

Segmentation and Grouping

Types of general clustering methods. Clustering Algorithms for general similarity measures. Similarity between clusters

Interpretability and Informativeness of Clustering Methods for Exploratory Analysis of Clinical Data

Overview of Clustering

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

Ambiguity Detection by Fusion and Conformity: A Spectral Clustering Approach

A Novel Spectral Clustering Method Based on Pairwise Distance Matrix

Unsupervised Clustering of Bitcoin Transaction Data

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Big Data Management and NoSQL Databases

Mesh Segmentation Using Laplacian Eigenvectors and Gaussian Mixtures

Further Mathematics 2016 Module 2: NETWORKS AND DECISION MATHEMATICS Chapter 9 Undirected Graphs and Networks

SGN (4 cr) Chapter 11

CS 1675 Introduction to Machine Learning Lecture 18. Clustering. Clustering. Groups together similar instances in the data sample

Math 443/543 Graph Theory Notes 10: Small world phenomenon and decentralized search

Dynamic Programming II

CSE 190 Lecture 16. Data Mining and Predictive Analytics. Small-world phenomena

Computational Statistics and Mathematics for Cyber Security

Clustering Algorithms for general similarity measures

Transcription:

Clustering in Networks (Spectral Clustering with the Graph Laplacian... a brief introduction) Tom Carter Computer Science CSU Stanislaus http://csustan.csustan.edu/ tom/clustering April 1, 2012 1

Our general topics: What is Clustering? 3 An Example 8 Spectral Clustering (a general outline) 11 Graph Laplacian(s) 13 References 18 2

What is Clustering? Many real-world data sets consist of (or refer to) collections of entities of some general type. Some example data sets might be: Points in space (e.g., a set of (x, y) coordinates) Populations of people (e.g., census data... ) Financial instruments (e.g., stocks, with data set the daily closing prices) Collections of texts (e.g., a set of emails, or blog posts, or... ) A social network (e.g., Facebook, or phone contacts) 3

Our data sets give us views into collections of entities, and we would like to use the data sets to better understand the entities... Often we can think of our data set as telling us something about the relatedness of our collection of entities. In some cases, the relatedness might be very simply and directly represented in the data set. For example, on Facebook, two members might be related if they are friends of each other. Two emails might be related if they are from the same person. In the census, two people might be related if they live in the same town, or if they have the same job, or etc. Two web pages might be related if one contains a link to the other. More generally, we may be able to develop a relatedness metric associated with the data set. For example, the 4

relatedness between two stocks might be the degree to which their prices are correlated with each other over time. The relatedness between two texts might be the number of distinct words they have in common. One useful starting point to understanding such data sets is to look for subsets of the collection of entities which are more closely related to each other than they are to other members of the collection. We can think of such closely related subsets as clusters. Our goal, then, would be to find (automated or algorithmic) ways to find such clusters in our data sets. If we are lucky, we can also develop techniques for visualizing our data set through the lens of the clusters we have found. For example, we might develop a graphical display of the 5

data set where things in a particular cluster are near each other, or have the same color. In the case of very large data sets, we can use clustering to reduce the effective size (or dimensionality) of the data set by collapsing clusters into single points, and proceeding from there with our analysis. There are even likely to be times when we want to iterate this process... The general approach I ll briefly describe here is sometimes called spectral clustering. It involves representing the relatedness as a weighted graph ( or network), and applying various mathematical/algorithmic techniques. We can represent the graph as an adjacency matrix i.e., we can construct a symmetric square matrix A from the data set where A(i, j) is the level of relatedness between entities i and j. In simple traditional graph theory, two 6

nodes (or vertices) are related if there is an edge between them, and the adjacency matrix has A(i, j) = 1, and 0 otherwise. Many of our examples will be of the more general weighted graph type. 7

An Example Let s start with a (relatively) simple example. Consider the following, a collection of points in 2-dimensional space: 8

Two points in this data set are related by being near each other. A comparatively naive clustering algorithm might find this: 9

But we can see that there is more structure to the data set. We would really like something more like this: This version of clustering was done via an algorithm in a general class often called spectral clustering. 10

Spectral Clustering (a general outline) A general outline of a useful approach to a spectral clustering is as follows: Through some mechanism, generate an adjacency matrix. I ll sometimes call this an affinity matrix. This will be an n x n matrix, where each entry is an affinity between a pair of elements in the collection we are studying. Massage the affinity matrix appropriately ( art, not science :-) Compute the (a... ) graph Laplacian from the affinity matrix (see below) 11

Calculate eigenvalues and associated eigenvectors from the graph Laplacian Choose an appropriate number k of clusters (art, not science :-) Select the eigenvectors associated with the largest k eigenvalues Make an n x k matrix with those eigenvectors Perform k-means clustering on the rows of the n x k matrix Display the results, lather, rinse, and repeat... 12

Graph Laplacian(s) The general idea of the graph Laplacian is to derive a new matrix from the adjacency matrix that can tell us something about the structure of the graph. These have enough similarity to the Laplacian found elsewhere in mathematics that they share the name. There are actually several variations in use. Some versions are outlined in the following. In practice, it is typical for people to work with the eigenvalues and eigenvectors of these derived matrices. Let A (with entries A(i, j)) be the adjacency (or affinity) matrix. Note: in the general case, these are frequently labeled W (with entries W (i, j)), the weight matrix. 13

We now compute the (generalized) degrees D of the nodes in the graph: D(i, i) = j A(i, j) D(i, j) = 0 if i j A convenient abbreviation is D(i) = D(i, i). In the simple case of an unweighted graph, D(i) tells how many other nodes are connected to node i. In the more general case, it tells the total weight of edges emanating from a node. The easiest version of a graph laplacian is L = D A 14

A second version is often called a normalized graph laplacian : Or, in coordinate form: L norm1 (i, j) = L norm1 = I D 1 2AD 1 2 1 if i = j and D(i) 0 A(i,j) if i j anda(i, j) 0 D(i) D(j) 0 otherwise. 15

A slightly simpler, but still useful, version of this is: In other words, L norm2 = D 1 2AD 1 2 L norm2 (i, j) = A(i, j) D(i)D(j) An alternate version of a normalized laplacian is: L norm3 = D 1 A This version has the nice property that if we think about a random walk on the graph, with the likelihood of 16

moving from node i to node j being proportional to A(i, j), then the corresponding matrix of probabilities will be: P = D 1 A more later... 17

References [1] Chung, Fan, Course notes for UCSD Math 261C (Probabilistic Combinatorics and Algorithms III), Spring 2010 http://math.ucsd.edu/ jthughes/math261c/math261c.html [2] Chung, Fan, Graph Theory in the Information Age, Notices of the AMS, Vol. 57, No. 6, pp. 726-732 http://www.math.ucsd.edu/ fan/wp/graph.pdf [3] Horaud, Radu, A Short Tutorial on Graph Laplacians, Laplacian Embedding, and Spectral Clustering http://perception.inrialpes.fr/ Boyer/ReadingGroup/GraphLaplacian-tutorial.pdf 18

[4] von Luxburg, Ulrike, A Tutorial on Spectral Clustering http://people.kyb.tuebingen.mpg.de/ule/ publications/publication downloads/luxburg07 tutorial.pdf [5] Spielman, Daniel, and Srivastava, Nikhil, Graph Sparsification by Effective Resistances Abstract: http://arxiv.org/abs/0803.0929 Full text: http://arxiv.org/pdf/0803.0929v4 [6] Vejmelka, Martin, Spectral Graph Clustering http://ai.ms.mff.cuni.cz/ sui/seminar2009martinvejmelka.pdf [7] Ng, Andrew, Jordan, Michael, and Weiss, Yair, On Spectral Clustering: Analysis and an Algorithm http://www.stat.washington.edu/wxs/stat593-s03/literature/ngjordan-weiss-nips01.pdf [8] Zhu, Xiaojin, Course notes, Advanced Natural Language Processing http://pages.cs.wisc.edu/ jerryzhu/cs769.html To top 19