# Correlation clustering

Clustering is the problem of partioning data points into groups based on their similarity. Correlation clustering provides a method for clustering a set of objects into the optimum number of clusters without specifying that number in advance.[1]

## Description of the problem

In machine learning, correlation clustering or cluster editing operates in a scenario where the relationship between the objects are known instead of the actual representation of the objects. For example, given a signed graph $G=(V,E)$ where the edge label indicates whether two nodes are similar (+) or different (−), the task is to cluster the vertices so that similar objects are grouped together. Unlike other clustering algorithms this does not require choosing the number of clusters $k$ in advance because the objective, to minimize the disagreements, is independent of the number of clusters.

It may not be possible to find a perfect clustering, where all similar items are in a cluster while all dissimilar ones are in different clusters. If the graph indeed admits a perfect clustering, then simply deleting all the negative edges and finding the connected components in the remaining graph will return the required clusters.

But, in general a graph may not have a perfect clustering. For example, given nodes a,b,c such that a,b and a,c are similar while b,c are dissimilar, a perfect clustering is not possible. In such cases, the task is to find a clustering that maximizes the number of agreements (number of + edges inside clusters plus the number of - edges between clusters) or minimizes the number of disagreements (the number of - edges inside clusters plus the number of + edges between clusters). This problem of maximizing the agreements is NP-complete (multiway cut problem reduces to maximizing weighted agreements and the problem of partitioning into triangles[2] can be reduced to the unweighted version)

## Algorithms

Bansal et al.[3] discuss the NP-completeness proof and also present both a constant factor approximation algorithm and polynomial-time approximation scheme to find the clusters in this setting. Ailon et al.[4] propose a randomized 3-approximation algorithm for the same problem.

CC-Pivot(G=(V,E+,E-))

Pick random pivot i ∈ V
Set $C=\{i\}$, V'=Ø
For all j ∈ V, j ≠ i;
If (i,j) ∈ E+ then
Add j to C
Else (If (i,j) ∈ E-)
Add j to V'
Let G' be the subgraph induced by V'
Return clustering C,CC-Pivot(G')

The authors show that the above algorithm is a 3-approximation algorithm for correlation clustering.

## Optimal number of clusters

In 2011, it was shown by Bagon and Galun[5] that the optimization of the correlation clustering functional is closely related to well known discrete optimization methods. In their work they proposed a probabilistic analysis of the underlying implicit model that allows the correlation clustering functional to estimate the underlying number of clusters. This analysis suggests the functional assumes a uniform prior over all possible partitions regardless of their number of clusters. Thus, a non-uniform prior over the number of clusters emerges.

Several discrete optimization algorithms are proposed in this work that scales gracefully with the number of elements (experiments show results with more than 100,000 variables). The work of Bagon and Galun also evaluated the effectiveness of the recovery of the underlying number of clusters in several applications.

## Correlation clustering (data mining)

Correlation clustering also relates to a different task, where correlations among attributes of feature vectors in a high-dimensional space are assumed to exist guiding the clustering process. These correlations may be different in different clusters, thus a global decorrelation cannot reduce this to traditional (uncorrelated) clustering.

Correlations among subsets of attributes result in different spatial shapes of clusters. Hence, the similarity between cluster objects is defined by taking into account the local correlation patterns. With this notion, the term has been introduced in [6] simultaneously with the notion discussed above. Different methods for correlation clustering of this type are discussed in,[7] the relationship to different types of clustering is discussed in,[8] see also Clustering high-dimensional data.

Correlation clustering (according to this definition) can be shown to be closely related to biclustering. As in biclustering, the goal is to identify groups of objects that share a correlation in some of their attributes; where the correlation is usually typical for the individual clusters.

## References

1. ^ Becker, Hila, "A Survey of Correlation Clustering", 5 May 2005
2. ^ Garey, M. and Johnson, D. (2000). "Computers and Intractability: A Guide to the Theory of NP-Completeness". Unknown parameter |organization= ignored (help)
3. ^ Bansal, N., Blum, A. and Chawla, S. (2004). "Correlation Clustering". Machine Learning Journal (Special Issue on Theoretical Advances in Data Clustering). pp. 86–113,. doi:10.1023/B:MACH.0000033116.57574.95.
4. ^ Ailon, Nir and Charikar, Moses and Newman, Alantha (2005). "Aggregating inconsistent information: ranking and clustering". STOC '05: Proceedings of the thirty-seventh annual ACM symposium on Theory of computing. pp. 684–693,. doi:10.1145/1060590.1060692.
5. ^ Bagon, S.; Galun, M. (2011) "Large Scale Correlation Clustering Optimization" arXiv:1112.2903v1
6. ^ Böhm, C., Kailing, K., Kröger, P., Zimek, A. (2004). "Computing Clusters of Correlation Connected Objects". Proc. ACM SIGMOD International Conference on Management of Data (SIGMOD'04), Paris, France. pp. 455–467. doi:10.1145/1007568.1007620.
7. ^ Zimek, A. (2008). Correlation Clustering.
8. ^ Kriegel, H.-P.; Kröger, P., Zimek, A. (March 2009). "Clustering High Dimensional Data: A Survey on Subspace Clustering, Pattern-based Clustering, and Correlation Clustering". ACM Transactions on Knowledge Discovery from Data (TKDD) 3 (1): 1–58. doi:10.1145/1497577.1497578.