12.07.2015 Views

Multilevel Graph Clustering with Density-Based Quality Measures

Multilevel Graph Clustering with Density-Based Quality Measures

Multilevel Graph Clustering with Density-Based Quality Measures

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3 The Multi-Level Refinement AlgorithmData: graph,clustering,selectorResult: clusteringcurrent ← clustering ;// outer looprepeatstart ← current;peak ← current;mark all vertices as unmoved ;// inner loopwhile unmoved vertices exist dov ← selector:find best ranked, unmoved vertex;j ← selector:find best target cluster for v;mark v as moved;if modularity is decreasing ∧ current better than peak thenpeak ← current;move v to cluster j and update selector;if peak better than current thencurrent ← peak;until current not better than start ;clustering ← current;Figure 3.12: Refinement Method: basic Kernighan-Linchecked at modularity decreasing moves in the inner loop. In order to not directlyrevert modularity decreasing moves processed vertices are marked and ignored inlater inner iterations. In case the inner loop found an improved clustering it iscontained in the current or the peak clustering. This is checked after the inner loopand the best is returned to the outer loop. Altogether the outer loop restarts therefinement on the best intermediate clustering until no further improvements werefound.Just the Kernighan-Lin algorithm <strong>with</strong> maxmod vertex ranking fully moves intolocal optima. Its inner loop starts like greedy refinement and performs modularityincreasing moves until reaching a local optimum and suppressed moves of markedvertices are performed by the second outer iteration. Unfortunately this is not sharedby the other vertex rankings. When vertices <strong>with</strong> no modularity increasing movesare proposed before reaching a local optimum they are moved. Thus it becomesunlikely to reach local optima.Similar to greedy refinement <strong>with</strong> maxmod vertex ranking the time required fora complete run of the inner loop is O(|V |(|E| + |V | max |C|)). But in contrastto the complete greedy refinement this algorithm does not abort in local optima.This makes the basic algorithm very expensive which is also confirmed by empiricexperience.Creation of Clusters The creation of clusters is an aspect specific to modularityclustering because the optimal number of clusters is not known. Initial observations<strong>with</strong> the basic algorithm discovered an excessive creation of new clusters in theinner loop. For example the scatter plot in Figure 3.13a shows the relation between50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!