ConvexClustering: a MATLAB package for convex clustering
Authors: Defeng Sun, Kim-Chuan Toh, Yancheng Yuan
Correspondence: K.-C. Toh
The software was first released in June 2021.
The software is designed to solve convex clustering problems of the following form given input data \((a_1,\ldots,a_n)\)
$$
\min \Big\{ \sum_{i=1}^n \|x_i -a_i\|^2 + \gamma \sum_{(i,j)\in \mathcal{E}} w_{ij}\|x_i – x_j\| \;\mid\; x_i\in\mathbb{R}^d, i=1,\ldots,n\Big\}
$$
where \(\gamma\) is a positive regularization parameter; typically \(w_{ij} = \exp(-\phi\|a_i-a_j\|^2)\) and \(\phi\) is a positive constant; \(\mathcal{E}\) is the \(k\)-nearest neighbors graph that is constructed based on the pairwise distances \(\|a_i-a_j\|\).
Important note: this is a research software. It is not intended nor designed to be a general purpose software at the moment.
Citation:
- D.F. Sun, K.C. Toh, and Y.C. Yuan, Convex clustering: model, theoretical guarantee and efficient algorithm, Journal of Machine Learning Research, 22(9), 2021.
- Y.C. Yuan, D.F. Sun, and K.C. Toh, An efficient semismooth Newton based algorithm for convex clustering, ICML 2018.
Copyright: This version of ConvexClustering is distributed under the BSD 3-clause License.
Download here: ConvexClustering.zip
Please read.
- Firstly, unpack the software.
- Run Matlab in the directory ConvexClustering.
- After that, to see whether you have installed ConvexClustering correctly, type:
>> Demo