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 AlgorithmSubstantial differences to the classic k-way partition refinement 1 exist: The numberof clusters is not predetermined and no balance constraints on their size aregiven. Instead determining the right number of clusters has to be achieved by thealgorithm. Clusters may be created and emptied as necessary. The modularityclustering quality is more complex than the minimum edge cut because the volumeintroduced global dependencies. Due to the multi-level approach it suffices to movesingle vertices instead of constructing vertex groups like in the original Kernighan-Lin algorithm.The algorithms are dissected into the components listed below. The next paragraphsdiscuss these components in more detail and comment on their dependencies.The section concludes <strong>with</strong> an overview how basic refinement algorithms are fit intothis design space.Vertex Ranking Which vertices should be selected for movement?Target Ranking To where should selected vertices be moved?Search Mode Which vertices and targets are evaluated before selecting one of them?Ranking Updates Is the vertex ranking updated after each move or fixed?On Modularity Decrease What to do <strong>with</strong> selected moves not improving modularity?maxmodVertex and Target Ranking The decision which vertices are moved to which clusteris split into two aspects. The vertex ranking directs the selection of vertices and thetarget ranking selected the cluster. The vertex ranking is used as a predictor similarto the merge selector in the coarsening phase and should direct the refinement intogood, modularity-increasing directions.Given vertex v, its current cluster C(v), and a target cluster j ∈ C ∪ {∅} thechange of modularity ∆ v,j Q(C) = Q(C ′ ) − Q(C) is calculated as shown in theequation below. The cluster ∅ is used for new, empty clusters. By definition edgeweights and volumes involving this cluster are zero. The maxmod vertex rankingsorts the vertices by their best increase of modularity maxmod(v) = max j ∆ v,j Q(C).The single implemented target ranking is the maxmod ranking which selects theneighbor cluster <strong>with</strong> maximal increase of modularity arg max j ∆ v,j Q(C).∆ v,j Q(C) = f(v, C j − v) − f(v, C[v] − v)− Vol(v, C j − v) − Vol(v, C[v] − v)(3.15)f(V )Vol(V )f(v, C[v] − v) Vol(v, C[v] − v)∆ v,∅ Q(C) = − + (3.16)f(V )Vol(V )The first term depends just on the adjacent vertices as shown in Figure 3.9.To compute the edge weights f(v, C j − v) all incident edges of v are visited andtheir weight is summed in an array grouped by the cluster of the end-vertex. Thus1 k equal sized clusters, minimum edge cut44

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

Saved successfully!

Ooh no, something went wrong!