All Projects → CHLWR → Kdd2019_k Multiple Means

CHLWR / Kdd2019_k Multiple Means

Licence: gpl-3.0
Implementation for the paper "K-Multiple-Means: A Multiple-Means Clustering Method with Specified K Clusters,", which has been accepted by KDD'2019 as an ORAL paper, in the Research Track.

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Kdd2019 k Multiple Means

text clustering
文本聚类(Kmeans、DBSCAN、LDA、Single-pass)
Stars: ✭ 230 (+411.11%)
Mutual labels:  clustering, kmeans
AnnA Anki neuronal Appendix
Using machine learning on your anki collection to enhance the scheduling via semantic clustering and semantic similarity
Stars: ✭ 39 (-13.33%)
Mutual labels:  clustering, kmeans
clustering-python
Different clustering approaches applied on different problemsets
Stars: ✭ 36 (-20%)
Mutual labels:  clustering, kmeans
kmeans
A simple implementation of K-means (and Bisecting K-means) clustering algorithm in Python
Stars: ✭ 18 (-60%)
Mutual labels:  clustering, kmeans
gouda
Golang Utilities for Data Analysis
Stars: ✭ 18 (-60%)
Mutual labels:  clustering, kmeans
kmeans
K-Means clustering
Stars: ✭ 51 (+13.33%)
Mutual labels:  clustering, kmeans
Clustering
fast clustering algorithms
Stars: ✭ 14 (-68.89%)
Mutual labels:  clustering
K Means Constrained
K-Means clustering - constrained with minimum and maximum cluster size
Stars: ✭ 33 (-26.67%)
Mutual labels:  clustering
Adapt
Advanced Developer Async Programming Toolkit
Stars: ✭ 26 (-42.22%)
Mutual labels:  clustering
Bagofconcepts
Python implementation of bag-of-concepts
Stars: ✭ 18 (-60%)
Mutual labels:  clustering
Compress
Compressing Representations for Self-Supervised Learning
Stars: ✭ 43 (-4.44%)
Mutual labels:  clustering
Clusteredbigcache
golang bigcache with clustering as a library.
Stars: ✭ 37 (-17.78%)
Mutual labels:  clustering
Cytometry Clustering Comparison
R scripts to reproduce analyses in our paper comparing clustering methods for high-dimensional cytometry data
Stars: ✭ 30 (-33.33%)
Mutual labels:  clustering
Tribuo
Tribuo - A Java machine learning library
Stars: ✭ 882 (+1860%)
Mutual labels:  clustering
Satellite imagery analysis
Implementation of different techniques to find insights from the satellite data using Python.
Stars: ✭ 31 (-31.11%)
Mutual labels:  clustering
Data mining
The Ruby DataMining Gem, is a little collection of several Data-Mining-Algorithms
Stars: ✭ 10 (-77.78%)
Mutual labels:  clustering
Fuzzy C Means
A simple python implementation of Fuzzy C-means algorithm.
Stars: ✭ 40 (-11.11%)
Mutual labels:  clustering
Stream
A framework for data stream modeling and associated data mining tasks such as clustering and classification. - R Package
Stars: ✭ 23 (-48.89%)
Mutual labels:  clustering
Densitycluster
Machine learning. Clustering by fast search and find of density peaks.
Stars: ✭ 27 (-40%)
Mutual labels:  clustering
Flexible Clustering
Clustering for arbitrary data and dissimilarity function
Stars: ✭ 37 (-17.78%)
Mutual labels:  clustering

KDD2019_K-Multiple-Means (KMM)

Implementation for the paper "K-Multiple-Means: A Multiple-Means Clustering Method with Specified K Clusters", which has been accepted by KDD'2019 as an Oral Paper, in the Research Track.

Paper: https://dl.acm.org/citation.cfm?id=3330846

Abstract

In this paper, we make an extension of K-means for the clustering of multiple means. The popular K-means clustering uses only one center to model each class of data. However, the assumption on the shape of the clusters prohibits it to capture the non-convex patterns. Moreover, many categories consist of multiple subclasses which obviously cannot be represented by a single prototype. We propose a K-Multiple-Means (KMM) method to group the data points with multiple sub-cluster means into specified k clusters. Unlike the methods which use the agglomerative strategies, the proposed method formalizes the multiple-means clustering problem as an optimization problem and updates the partitions of m subcluster means and k clusters by an alternating optimization strategy. Notably, the partition of the original data with multiple-means representation is modeled as a bipartite graph partitioning problem with the constrained Laplacian rank. We also show the theoretical analysis of the connection between our method and the K-means clustering. Meanwhile, KMM is linear scaled with respect to n. Experimental results on several synthetic and well-known realworld data sets are conducted to show the effectiveness of the proposed algorithm.

Short demo

Run 'test_KMM_toy.m' in MATLAB. A example of updating process of multiple-means is as follows:

Short Promotion Video

Welcome to click 'thumbs-up' for our work. https://youtu.be/HswEYH2td8w

IMAGE ALT TEXT

Oral Presentation Video

which will be released soon.

Others

KMM can not only obtain the clustering result but also obtain the prototypes corresponding to each sub-cluster, which can be applied to many fields such as vector quantization, cluster analysis, feature learning, nearest-neighbor search, data compression, etc. KMM can also be used as an anchor-based spectral clustering method, which can find better anchors and achieve better clustering result.

If you find this code useful in your research, please cite the paper.

Reference:

Feiping Nie, Cheng-Long Wang, Xuelong Li, "K-Multiple-Means: A Multiple-Means Clustering Method with Specified K Clusters," in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'19), Anchorage, AK, USA, August 4–8, 2019.


Update Log

Fixed a bug on random seeds generation! Oct-12th-2019

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].