SlideShare a Scribd company logo
TENSOR SPECTRAL CLUSTERING
FOR PARTITIONING HIGHER-ORDER NETWORK
STRUCTURES
1
Austin Benson
ICME, Stanford University
arbenson@stanford.edu
Joint work with
David Gleich, Purdue
Jure Leskovec, Stanford
SIAM Data Mining 2015
Vancouver, BC
Background: graph partitioning and applications
2
 Goal: find a ``balanced” partition of a graph that does
not cut many edges.
 Applications: community structure in social networks,
decompose networks into functional modules
Background: graph partitioning and clustering
3
A popular measure of the quality of a cut is conductance:
vol(S) is the number of edge end points in the set S
NP-hard in general, but there are approximation algorithms
Background: spectral clustering and random
walks
4
 P is a transition matrix representing
the random walk Markov chain.
 Entries of z used to partition graph.
Central computation:
P43 = Pr(3  4) = 1/3
zTP = λ2zT
P = ATD-1
Background: sweep cut
5
zTP = λ2zT
2 ϕ({2})
1 ϕ({2,1})
3 ϕ({2,1,3})
4 ϕ({2,1,3,4})
11 ϕ({2,1,3,4,11})
6 ϕ({2,1,3,4,11,6})
8 ϕ({2,1,3,4,11,6, 8})
10 ϕ({2,1,3,4,11,6,8,10})
9 ϕ({2,1,3,4,11,6,8,10,9})
7 ϕ({2,1,3,4,11,6,8,10,9,7})
5 ϕ({2,1,3,4,11,6,8,10,9,7,5})
0 2 4 6
0
0.5
1
size of community
conductance
Cheeger inequality
guarantee on the
conductance.
Problem: clustering methods are based on
edges and do not use higher-order relations
or motifs, which can better model problems.
6
Edges Motifs
Problem: current methods only consider edges
… and that is not enough to model many problems
7
In social networks, we want to penalize cutting
triangles more than cutting edges. The triangle motif
represents stronger social ties.
Problem: current methods only consider edges
… and that is not enough to model many problems
8
SPT16
HO
CLN1
CLN2
In transcription networks, the ``feedforward loop” motif
represents biological function. Thus, we want to look for
clusters of this structure.
SWI4_SWI6
Our contributions
9
1. We generalize the definition of conductance for motifs.
2. We provide an algorithm for optimizing this objective:
Tensor Spectral Clustering (TSC) Algorithm:
Input: set of motifs and weights
Output: Partition of graph that does not cut the motifs
corresponding to the weights (and some normalization).
1 1 1 2
Roadmap of Tensor Spectral Clustering
10
G
Random walk
transition matrix
P
Eigenvector
zTP = λ2zT
z S
Objective Φ
Motifs and weights
that model problem
Random walk
transition tensor
P
Represent tensor
by a random walk matrix
PG++
New objective Φ’
Sweep cut
Motif-based conductance
11
Our algorithm is a heuristic for minimizing this objective
based on the random walk interpretation of spectral
Edges cut Triangles cut
vol(S) =
#(edge end
points in S)
vol3(S) =
#(triangle end
points in S)
First-order  second-order Markov chain
12
k
ji
r
1/3
1/3
1/3
k
ji
r
1/2
1/2
Prob(i  j) = 1/3 Prob((i, j)  (j, k)) = 1/2
P P
13
P
k
ji
r
1/2
1/2
Representing the transition tensor
 Idea: Represent the tensor as a matrix, respecting the
motif transitions of the data. Then we can compute
eigenvectors.
P
 Problem 1: Even stationary distribution of second-
order Markov chain is O(n2) storage.
 Problem 2: Tensor eigenvectors are hard to compute.
14
Representing the transition tensor
P(:, :,
1)
P
 Each slice of transition tensor is a transition matrix.
 Convex combinations of these slices is a transition matrix.
 Which combination should we use?
Transition tensor  transition matrix
15
k
ji
r
1/2
1/2
1. Compute tensor PageRank vector [Gleich+14]
2. Collapse back to probability matrix
Convex combination
of slices P(:, :, k)
16
Theorem
Suppose there is a partition of the graph that
does not cut any of the motifs of interest. Then
the second left eigenvector of the matrix P[x]
properly partitions the graph.
Layered flow network
17
 The network “flows” downward
 Use directed 3-cycles to model flow:
 Tensor spectral clustering: {0,1,2,3}, {4,5,6,7}, {8,9,10,11}
 Standard spectral: {0,1,2,3,4,5,6,7}, {8,10,11}, {9}
1 1 1 2
Planted motif communities
18
 Tensor spectral clustering: {0,1,2,3,4,5,12,13,16}
 Standard spectral: {0,1,4,5,9,11,16,17,19,20}
0
2
4
Plant a group of 6 nodes
with high motif frequency
into a random graph.
Some motifs on large networks
19
Summary of results
20
1. New objective function: motif conductance
2. Tensor Spectral Clustering algorithm that is a
heuristic for minimizing motif conductance.
Input: different motifs and weights
Output: partition minimizing the number of motifs cut
corresponding to the weights
More recent work: algorithm with Cheeger-like
inequality for motif conductance.
Thanks!
21
arbenson@stanford.edu
github.com/arbenson/tensor-sc
Tensor Spectral Clustering
for partitioning higher-order network structures

More Related Content

PPTX
Spectral clustering
PDF
Notes on Spectral Clustering
PDF
IJCAI13 Paper review: Large-scale spectral clustering on graphs
PPTX
Spectral clustering Tutorial
PDF
Spectral Clustering Report
PDF
Spectral cnn
PDF
Optics ordering points to identify the clustering structure
PDF
K means and dbscan
Spectral clustering
Notes on Spectral Clustering
IJCAI13 Paper review: Large-scale spectral clustering on graphs
Spectral clustering Tutorial
Spectral Clustering Report
Spectral cnn
Optics ordering points to identify the clustering structure
K means and dbscan

What's hot (20)

PPTX
Spectral graph theory
PPT
Data miningpresentation
PDF
Sharpness-aware minimization (SAM)
PPT
3.4 density and grid methods
PDF
Density Based Clustering
PPT
Clustering: Large Databases in data mining
PPTX
K-means Clustering
PPTX
DBSCAN (2014_11_25 06_21_12 UTC)
PPTX
Transfer learningforclp
PPTX
Clustering techniques
PDF
Emergence of Invariance and Disentangling in Deep Representations
PPTX
DBSCAN : A Clustering Algorithm
PPT
Intro to MATLAB and K-mean algorithm
PDF
Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networks
PDF
Pca ppt
PDF
Glocalized Weisfeiler-Lehman Graph Kernels: Global-Local Feature Maps of Graphs
PPT
Enhance The K Means Algorithm On Spatial Dataset
PPTX
Ram minimum spanning tree
PDF
Principal component analysis and matrix factorizations for learning (part 1) ...
PDF
Recent Advances in Kernel-Based Graph Classification
Spectral graph theory
Data miningpresentation
Sharpness-aware minimization (SAM)
3.4 density and grid methods
Density Based Clustering
Clustering: Large Databases in data mining
K-means Clustering
DBSCAN (2014_11_25 06_21_12 UTC)
Transfer learningforclp
Clustering techniques
Emergence of Invariance and Disentangling in Deep Representations
DBSCAN : A Clustering Algorithm
Intro to MATLAB and K-mean algorithm
Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networks
Pca ppt
Glocalized Weisfeiler-Lehman Graph Kernels: Global-Local Feature Maps of Graphs
Enhance The K Means Algorithm On Spatial Dataset
Ram minimum spanning tree
Principal component analysis and matrix factorizations for learning (part 1) ...
Recent Advances in Kernel-Based Graph Classification
Ad

Viewers also liked (20)

PPT
Social Recommender Systems Tutorial - WWW 2011
PDF
Multilayer tutorial-netsci2014-slightlyupdated
PDF
tensor-decomposition
PDF
Cómo modificar mis datos y foto unipe
DOCX
Trabajo en equipo
PPTX
Herramientas web 2.0
PDF
Curso comunicación y marketing
PDF
Mito ediporeyequipo2
PDF
Presentación jornada senior ism enviroo
DOCX
Trabajo en equipo aurissssss b
PPTX
How To Change The Way You Think
PDF
Unidad iii
PPS
Carta escrita en el 2070
PPTX
Halloweeen
PPTX
Temática del blog
PDF
Reconocimiento institucional
PPTX
Exposición calle del medio2
PPTX
Paseo isla baja y exposición en garachico
PDF
Mito narcisoequipo6
PPT
Evaluacionx competencias
Social Recommender Systems Tutorial - WWW 2011
Multilayer tutorial-netsci2014-slightlyupdated
tensor-decomposition
Cómo modificar mis datos y foto unipe
Trabajo en equipo
Herramientas web 2.0
Curso comunicación y marketing
Mito ediporeyequipo2
Presentación jornada senior ism enviroo
Trabajo en equipo aurissssss b
How To Change The Way You Think
Unidad iii
Carta escrita en el 2070
Halloweeen
Temática del blog
Reconocimiento institucional
Exposición calle del medio2
Paseo isla baja y exposición en garachico
Mito narcisoequipo6
Evaluacionx competencias
Ad

Similar to Tensor Spectral Clustering (20)

PDF
Higher-order graph clustering at AMS Spring Western Sectional
PPTX
Higher-order spectral graph clustering with motifs
PPTX
Higher-order spectral graph clustering with motifs
PDF
Spectral clustering with motifs and higher-order structures
PDF
Analytic tools for higher-order data
PDF
Higher-order organization of complex networks
PDF
Graph Partitioning and Spectral Methods
PPT
Clique-based Network Clustering
PPTX
community detection
PPT
Mediapresentation file for social media.
PDF
Spacey random walks and higher order Markov chains
PDF
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
PDF
Community detection in social networks[1]
PDF
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
PDF
An Introduction to Spectral Graph Theory
PDF
IRJET - Exploring Agglomerative Spectral Clustering Technique Employed for...
PDF
Graph Analysis Beyond Linear Algebra
PDF
GraphSignalProcessingFinalPaper
PPTX
ICDE-2015 Shortest Path Traversal Optimization and Analysis for Large Graph C...
PDF
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
Higher-order graph clustering at AMS Spring Western Sectional
Higher-order spectral graph clustering with motifs
Higher-order spectral graph clustering with motifs
Spectral clustering with motifs and higher-order structures
Analytic tools for higher-order data
Higher-order organization of complex networks
Graph Partitioning and Spectral Methods
Clique-based Network Clustering
community detection
Mediapresentation file for social media.
Spacey random walks and higher order Markov chains
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Community detection in social networks[1]
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
An Introduction to Spectral Graph Theory
IRJET - Exploring Agglomerative Spectral Clustering Technique Employed for...
Graph Analysis Beyond Linear Algebra
GraphSignalProcessingFinalPaper
ICDE-2015 Shortest Path Traversal Optimization and Analysis for Large Graph C...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...

More from Austin Benson (20)

PDF
Hypergraph Cuts with General Splitting Functions (JMM)
PDF
Spectral embeddings and evolving networks
PDF
Computational Frameworks for Higher-order Network Data Analysis
PDF
Higher-order link prediction and other hypergraph modeling
PDF
Hypergraph Cuts with General Splitting Functions
PDF
Hypergraph Cuts with General Splitting Functions
PDF
Higher-order link prediction
PDF
Simplicial closure & higher-order link prediction
PDF
Three hypergraph eigenvector centralities
PDF
Semi-supervised learning of edge flows
PDF
Choosing to grow a graph
PDF
Link prediction in networks with core-fringe structure
PDF
Higher-order Link Prediction GraphEx
PDF
Higher-order Link Prediction Syracuse
PDF
Random spatial network models for core-periphery structure
PDF
Random spatial network models for core-periphery structure.
PDF
Simplicial closure & higher-order link prediction
PDF
Simplicial closure and simplicial diffusions
PDF
Sampling methods for counting temporal motifs
PDF
Set prediction three ways
Hypergraph Cuts with General Splitting Functions (JMM)
Spectral embeddings and evolving networks
Computational Frameworks for Higher-order Network Data Analysis
Higher-order link prediction and other hypergraph modeling
Hypergraph Cuts with General Splitting Functions
Hypergraph Cuts with General Splitting Functions
Higher-order link prediction
Simplicial closure & higher-order link prediction
Three hypergraph eigenvector centralities
Semi-supervised learning of edge flows
Choosing to grow a graph
Link prediction in networks with core-fringe structure
Higher-order Link Prediction GraphEx
Higher-order Link Prediction Syracuse
Random spatial network models for core-periphery structure
Random spatial network models for core-periphery structure.
Simplicial closure & higher-order link prediction
Simplicial closure and simplicial diffusions
Sampling methods for counting temporal motifs
Set prediction three ways

Recently uploaded (20)

PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
PDF
Optimise Shopper Experiences with a Strong Data Estate.pdf
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPT
ISS -ESG Data flows What is ESG and HowHow
PPTX
A Complete Guide to Streamlining Business Processes
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PDF
REAL ILLUMINATI AGENT IN KAMPALA UGANDA CALL ON+256765750853/0705037305
PPTX
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
PPTX
Database Infoormation System (DBIS).pptx
PDF
annual-report-2024-2025 original latest.
PPTX
STERILIZATION AND DISINFECTION-1.ppthhhbx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PDF
[EN] Industrial Machine Downtime Prediction
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
Pilar Kemerdekaan dan Identi Bangsa.pptx
PDF
Lecture1 pattern recognition............
PPTX
Modelling in Business Intelligence , information system
PPTX
modul_python (1).pptx for professional and student
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
Optimise Shopper Experiences with a Strong Data Estate.pdf
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Acceptance and paychological effects of mandatory extra coach I classes.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
ISS -ESG Data flows What is ESG and HowHow
A Complete Guide to Streamlining Business Processes
Data_Analytics_and_PowerBI_Presentation.pptx
REAL ILLUMINATI AGENT IN KAMPALA UGANDA CALL ON+256765750853/0705037305
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
Database Infoormation System (DBIS).pptx
annual-report-2024-2025 original latest.
STERILIZATION AND DISINFECTION-1.ppthhhbx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
[EN] Industrial Machine Downtime Prediction
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Pilar Kemerdekaan dan Identi Bangsa.pptx
Lecture1 pattern recognition............
Modelling in Business Intelligence , information system
modul_python (1).pptx for professional and student

Tensor Spectral Clustering

  • 1. TENSOR SPECTRAL CLUSTERING FOR PARTITIONING HIGHER-ORDER NETWORK STRUCTURES 1 Austin Benson ICME, Stanford University [email protected] Joint work with David Gleich, Purdue Jure Leskovec, Stanford SIAM Data Mining 2015 Vancouver, BC
  • 2. Background: graph partitioning and applications 2  Goal: find a ``balanced” partition of a graph that does not cut many edges.  Applications: community structure in social networks, decompose networks into functional modules
  • 3. Background: graph partitioning and clustering 3 A popular measure of the quality of a cut is conductance: vol(S) is the number of edge end points in the set S NP-hard in general, but there are approximation algorithms
  • 4. Background: spectral clustering and random walks 4  P is a transition matrix representing the random walk Markov chain.  Entries of z used to partition graph. Central computation: P43 = Pr(3  4) = 1/3 zTP = λ2zT P = ATD-1
  • 5. Background: sweep cut 5 zTP = λ2zT 2 ϕ({2}) 1 ϕ({2,1}) 3 ϕ({2,1,3}) 4 ϕ({2,1,3,4}) 11 ϕ({2,1,3,4,11}) 6 ϕ({2,1,3,4,11,6}) 8 ϕ({2,1,3,4,11,6, 8}) 10 ϕ({2,1,3,4,11,6,8,10}) 9 ϕ({2,1,3,4,11,6,8,10,9}) 7 ϕ({2,1,3,4,11,6,8,10,9,7}) 5 ϕ({2,1,3,4,11,6,8,10,9,7,5}) 0 2 4 6 0 0.5 1 size of community conductance Cheeger inequality guarantee on the conductance.
  • 6. Problem: clustering methods are based on edges and do not use higher-order relations or motifs, which can better model problems. 6 Edges Motifs
  • 7. Problem: current methods only consider edges … and that is not enough to model many problems 7 In social networks, we want to penalize cutting triangles more than cutting edges. The triangle motif represents stronger social ties.
  • 8. Problem: current methods only consider edges … and that is not enough to model many problems 8 SPT16 HO CLN1 CLN2 In transcription networks, the ``feedforward loop” motif represents biological function. Thus, we want to look for clusters of this structure. SWI4_SWI6
  • 9. Our contributions 9 1. We generalize the definition of conductance for motifs. 2. We provide an algorithm for optimizing this objective: Tensor Spectral Clustering (TSC) Algorithm: Input: set of motifs and weights Output: Partition of graph that does not cut the motifs corresponding to the weights (and some normalization). 1 1 1 2
  • 10. Roadmap of Tensor Spectral Clustering 10 G Random walk transition matrix P Eigenvector zTP = λ2zT z S Objective Φ Motifs and weights that model problem Random walk transition tensor P Represent tensor by a random walk matrix PG++ New objective Φ’ Sweep cut
  • 11. Motif-based conductance 11 Our algorithm is a heuristic for minimizing this objective based on the random walk interpretation of spectral Edges cut Triangles cut vol(S) = #(edge end points in S) vol3(S) = #(triangle end points in S)
  • 12. First-order  second-order Markov chain 12 k ji r 1/3 1/3 1/3 k ji r 1/2 1/2 Prob(i  j) = 1/3 Prob((i, j)  (j, k)) = 1/2 P P
  • 13. 13 P k ji r 1/2 1/2 Representing the transition tensor  Idea: Represent the tensor as a matrix, respecting the motif transitions of the data. Then we can compute eigenvectors. P  Problem 1: Even stationary distribution of second- order Markov chain is O(n2) storage.  Problem 2: Tensor eigenvectors are hard to compute.
  • 14. 14 Representing the transition tensor P(:, :, 1) P  Each slice of transition tensor is a transition matrix.  Convex combinations of these slices is a transition matrix.  Which combination should we use?
  • 15. Transition tensor  transition matrix 15 k ji r 1/2 1/2 1. Compute tensor PageRank vector [Gleich+14] 2. Collapse back to probability matrix Convex combination of slices P(:, :, k)
  • 16. 16 Theorem Suppose there is a partition of the graph that does not cut any of the motifs of interest. Then the second left eigenvector of the matrix P[x] properly partitions the graph.
  • 17. Layered flow network 17  The network “flows” downward  Use directed 3-cycles to model flow:  Tensor spectral clustering: {0,1,2,3}, {4,5,6,7}, {8,9,10,11}  Standard spectral: {0,1,2,3,4,5,6,7}, {8,10,11}, {9} 1 1 1 2
  • 18. Planted motif communities 18  Tensor spectral clustering: {0,1,2,3,4,5,12,13,16}  Standard spectral: {0,1,4,5,9,11,16,17,19,20} 0 2 4 Plant a group of 6 nodes with high motif frequency into a random graph.
  • 19. Some motifs on large networks 19
  • 20. Summary of results 20 1. New objective function: motif conductance 2. Tensor Spectral Clustering algorithm that is a heuristic for minimizing motif conductance. Input: different motifs and weights Output: partition minimizing the number of motifs cut corresponding to the weights More recent work: algorithm with Cheeger-like inequality for motif conductance.

Editor's Notes

  • #2: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\\ \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \path[draw, ultra thick] (0) edge [->] (2); % i -> j \end{tikzpicture}
  • #3: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [-] (1); % i -> k \path[draw, ultra thick] (1) edge [-] (2); % k -> j \path[draw, ultra thick] (0) edge [-] (2); % i -> j \end{tikzpicture} \tikzset{first node/.style={circle,fill=yellow!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (0) edge [->] (2); % k -> j \path[draw, ultra thick] (1) edge [->] (2); % i -> j \path[draw, ultra thick] (2) edge [->] (1); % i -> j \end{tikzpicture}
  • #4: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [-] (1); % i -> k \path[draw, ultra thick] (1) edge [-] (2); % k -> j \path[draw, ultra thick] (0) edge [-] (2); % i -> j \end{tikzpicture} \min_{S} \phi(S) = \min_{S} \frac{\#(\text{edges cut})}{\min(\text{vol}(S), \text{vol}(\bar{S})) } \tikzset{first node/.style={circle,fill=yellow!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (0) edge [->] (2); % k -> j \path[draw, ultra thick] (1) edge [->] (2); % i -> j \path[draw, ultra thick] (2) edge [->] (1); % i -> j \end{tikzpicture}
  • #5: \begin{aligned} & \underset{\vect{z} \in \mathbb{R}^n}{\text{minimize}} & & \vect{z}^{\Tra\right(}\mat{D} - \mat{A}\left)\vect{z} / \vect{z}^{\Tra}\mat{D}\vect{z} \\ & \text{subject to} & & \allones^{\Tra}\mat{D}\vect{z} = 0, \quad \| \vect{z} \| = 1 \end{aligned} \vect{z}^T\mat{P} = \lambda_2\vect{z}^T
  • #6: \begin{aligned} & \underset{\vect{z} \in \mathbb{R}^n}{\text{minimize}} & & \vect{z}^{\Tra\right(}\mat{D} - \mat{A}\left)\vect{z} / \vect{z}^{\Tra}\mat{D}\vect{z} \\ & \text{subject to} & & \allones^{\Tra}\mat{D}\vect{z} = 0, \quad \| \vect{z} \| = 1 \end{aligned} \vect{z}^T\mat{P} = \lambda_2\vect{z}^T
  • #7: \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [right = \sqdist of 0] {$\knode$}; \path[draw, ultra thick] (0) edge [-] (1); \end{tikzpicture} \\ \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (0) edge [->] (2); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [<->] (1); % i -> k \path[draw, ultra thick] (1) edge [<->] (2); % k -> j \path[draw, ultra thick] (2) edge [<->] (0); % j -> k \end{tikzpicture}\\\vspace{0.3cm} \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); \path[draw, ultra thick] (0) edge [->] (2); \end{tikzpicture}\quad \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} % open 0 recip out \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [<->] (1); \path[draw, ultra thick] (0) edge [<->] (2); \path[draw, ultra thick] (1) edge [<->] (0); \path[draw, ultra thick] (2) edge [<->] (0); \end{tikzpicture}\quad \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} % open 0 recip out \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (1) edge [-] (0); \path[draw, ultra thick] (0) edge [-] (2); \path[draw, ultra thick] (1) edge [-] (2); \end{tikzpicture}\quad \tikzset{first node/.style={circle,fill=blue!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [right = \sqdist of 0] {$\knode$}; \node[first node] (2) [below = \sqdist of 0] {$\jnode$}; \node[first node] (3) [below = \sqdist of 1] {$\lnode$}; \path[draw, ultra thick] (0) edge [-] (1); \path[draw, ultra thick] (0) edge [-] (2); \path[draw, ultra thick] (0) edge [-] (3); \path[draw, ultra thick] (1) edge [-] (2); \path[draw, ultra thick] (1) edge [-] (3); \end{tikzpicture}
  • #8: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [-] (1); % i -> k \path[draw, ultra thick] (1) edge [-] (2); % k -> j \path[draw, ultra thick] (0) edge [-] (2); % i -> j \end{tikzpicture} \tikzset{first node/.style={circle,fill=yellow!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (0) edge [->] (2); % k -> j \path[draw, ultra thick] (1) edge [->] (2); % i -> j \path[draw, ultra thick] (2) edge [->] (1); % i -> j \end{tikzpicture}
  • #9: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [-] (1); % i -> k \path[draw, ultra thick] (1) edge [-] (2); % k -> j \path[draw, ultra thick] (0) edge [-] (2); % i -> j \end{tikzpicture} \tikzset{first node/.style={circle,fill=yellow!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (0) edge [->] (2); % k -> j \path[draw, ultra thick] (1) edge [->] (2); % i -> j \path[draw, ultra thick] (2) edge [->] (1); % i -> j \end{tikzpicture}
  • #12: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$\knode$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$\jnode$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture} \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$\inode$}; \node[first node] (1) [below right = \tridist of 0] {$\knode$}; \path[draw, ultra thick] (0) edge [-] (1); % i -> k \end{tikzpicture} \phi(S) = \frac{\#(\text{edges cut})}{\min(\text{vol}(S), \text{vol}(\bar{S})) }, \quad \text{vol}(S) = \#(\text{edge points in $S$}) \phi_3(S)&=& \frac{\#(\text{triangles cut})}{\min(\text{vol}_3(S), \text{vol}_3(\bar{S})) }, \\ \text{vol}_3(S) &=& \#(\text{triangle end points in $S$}) \phi(S) = \frac{\#(\text{edges cut})}{\min(\text{vol}(S), \text{vol}(\bar{S})) } vol(S) =
  • #13: \begin{aligned} &\mat{P}_{ij} &= 1 \\ &\mat{A}_{ik}&= 1 \\ &\mat{A}_{il} &= 1 \\ &\mat{A}_{jk} &= 1 \\ \end{aligned} \begin{aligned} \tens{A}(i, j, k) &=& 1 \\ \tens{A}(i, j, l) &=& 1 \\ \end{aligned} P_{ji} \\ = A_{ij} / \sum_{k} A_{ik} \tens{P}_{kji} \\ = \tens{A}_{ijk} / \sum_{l}A_{ijl} \\ \tens{P}(i, j, k) = \\ \text{Pr}(S_{t+1} = k \;\mid\; S_t = j, \; S_{t-1} = i) \mat{P}(i, j) =
  • #14: \begin{aligned} &\mat{P}_{ij} &= 1 \\ &\mat{A}_{ik}&= 1 \\ &\mat{A}_{il} &= 1 \\ &\mat{A}_{jk} &= 1 \\ \end{aligned} \begin{aligned} \tens{A}(i, j, k) &=& 1 \\ \tens{A}(i, j, l) &=& 1 \\ \end{aligned} P_{ji} \\ = A_{ij} / \sum_{k} A_{ik} \tens{P}_{kji} \\ = \tens{A}_{ijk} / \sum_{l}A_{ijl}
  • #15: \begin{aligned} &\mat{P}_{ij} &= 1 \\ &\mat{A}_{ik}&= 1 \\ &\mat{A}_{il} &= 1 \\ &\mat{A}_{jk} &= 1 \\ \end{aligned} \begin{aligned} \tens{A}(i, j, k) &=& 1 \\ \tens{A}(i, j, l) &=& 1 \\ \end{aligned} P_{ji} \\ = A_{ij} / \sum_{k} A_{ik} \tens{P}_{kji} = \tens{A}_{ijk} / \sum_{l}A_{ijl}
  • #16: \alpha\mat{R}\left( \vect{x} \otimes \vect{x} \right) + (1 - \alpha)\vect{v} = \vect{x}, \; x_k \ge 0, \; \allones^{\Tra}\vect{x} = 1 \mat{P}[\vect{x}] := \sum_{k=1}^{n}x_k\tens{P}(:, :, k) \vect{z}^{\Tra} \mat{P}[\vect{x}] = \lambda_2\vect{z}^{\Tra}
  • #17: \begin{aligned} &\mat{P}_{ij} &= 1 \\ &\mat{A}_{ik}&= 1 \\ &\mat{A}_{il} &= 1 \\ &\mat{A}_{jk} &= 1 \\ \end{aligned} \begin{aligned} \tens{A}(i, j, k) &=& 1 \\ \tens{A}(i, j, l) &=& 1 \\ \end{aligned} P_{ji} \\ = A_{ij} / \sum_{k} A_{ik} \tens{P}_{kji} = \tens{A}_{ijk} / \sum_{l}A_{ijl}
  • #18: \tikzset{first node/.style={circle,fill=red!20,draw,minimum size=0.6cm,inner sep=0pt},} \tikzset{second node/.style={circle,fill=blue!20,draw,minimum size=0.6cm,inner sep=0pt},} \tikzset{third node/.style={circle,fill=green!20,draw,minimum size=0.6cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$0$}; \node[first node] (1) [below right = 0.4cm and 2cm of 0] {$1$}; \node[first node] (2) [below right = 0.4cm and 0.4cm of 0] {$2$}; \node[first node] (3) [below right = 0.1cm and 3cm of 0] {$3$}; \node[second node] (4) [below = 0.5cm of 2] {$4$}; \node[second node] (5) [right = 1cm of 4] {$5$}; \node[second node] (6) [below right = 0.3cm and 0.5cm of 4] {$6$}; \node[second node] (7) [below right = 0.3cm and 0.5cm of 5] {$7$}; \node[third node] (8) [below= 0.5cm of 6] {$8$}; \node[third node] (9) [right = 1.7cm of 8] {$9$}; \node[third node] (10) [below left = 0.4cm and 0.5cm of 8] {$10$}; \node[third node] (11) [right = 1.5cm of 10] {$11$}; \path[draw, ultra thick] (0) edge [->] (1); \path[draw, ultra thick] (1) edge [->] (2); \path[draw, ultra thick] (2) edge [->] (0); \path[draw, ultra thick] (1) edge [->] (0); \path[draw, ultra thick] (2) edge [->] (1); \path[draw, ultra thick] (0) edge [->] (2); \path[draw, ultra thick] (0) edge [->] (3); \path[draw, ultra thick] (3) edge [->] (1); \path[draw, ultra thick] (4) edge [->] (5); \path[draw, ultra thick] (5) edge [->] (6); \path[draw, ultra thick] (6) edge [->] (4); \path[draw, ultra thick] (6) edge [->] (7); \path[draw, ultra thick] (7) edge [->] (5); \path[draw, ultra thick] (5) edge [->] (7); \path[draw, ultra thick] (8) edge [->] (9); \path[draw, ultra thick] (9) edge [->] (10); \path[draw, ultra thick] (10) edge [->] (8); \path[draw, ultra thick] (10) edge [->] (11); \path[draw, ultra thick] (11) edge [->] (10); \path[draw, ultra thick] (8) edge [->] (11); % Level 1 -> 2 \path[draw, ultra thick] (1) edge [->] (4); \path[draw, ultra thick] (1) edge [->] (5); \path[draw, ultra thick] (1) edge [->] (7); \path[draw, ultra thick] (2) edge [->] (4); \path[draw, ultra thick] (4) edge [->] (5); \path[draw, ultra thick] (3) edge [->] (5); \path[draw, ultra thick] (3) edge [->] (7); % Level 2 -> 3 \path[draw, ultra thick] (6) edge [->] (8); \path[draw, ultra thick] (6) edge [->] (9); \path[draw, ultra thick] (6) edge [->] (11); \path[draw, ultra thick] (7) edge [->] (8); \path[draw, ultra thick] (7) edge [->] (9); % Level 1 -> 3 \path[draw, ultra thick] (3) edge [->] (9); % Add connectedness to graph \path[draw, ultra thick] (10) edge [->] (0); \path[draw, ultra thick] (8) edge [->] (7); \path[draw, ultra thick] (7) edge [->] (3); \end{tikzpicture} \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$k$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$j$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$k$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$j$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$k$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$j$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture}\quad \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$k$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$j$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (1) edge [->] (0); % k -> i \path[draw, ultra thick] (1) edge [->] (2); % k -> j \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \path[draw, ultra thick] (0) edge [->] (2); % i -> j \end{tikzpicture}
  • #20: \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$j$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$k$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (2) edge [->] (1); % j -> k \path[draw, ultra thick] (2) edge [->] (0); % j -> i \end{tikzpicture} \tikzset{first node/.style={circle,fill=black!20,draw,minimum size=0.35cm,inner sep=0pt},} \begin{tikzpicture} \node[first node] (0) {$i$}; \node[first node] (1) [below right = \tridist and \tridist of 0] {$j$}; \node[first node] (2) [below left = \tridist and \tridist of 0] {$k$}; \path[draw, ultra thick] (0) edge [->] (1); % i -> k \path[draw, ultra thick] (2) edge [<->] (1); % j -> k \path[draw, ultra thick] (0) edge [->] (2); % j -> i \end{tikzpicture}