DPSOM: Deep Probabilistic Clustering with Self-Organizing Maps

Laura Manduchi, Matthias Hüser, Julia Vogt, Gunnar Rätsch, Vincent Fortuin
10/3/2019
cs.LGstat.ML

Official code: ratschlab/dpsom (72 stars, MIT, last commit 2021-03-01).

Abstract

Generating interpretable visualizations from complex data is a common problem in many applications. Two key ingredients for tackling this issue are clustering and representation learning. However, current methods do not yet successfully combine the strengths of these two approaches. Existing representation learning models which rely on latent topological structure such as self-organising maps, exhibit markedly lower clustering performance compared to recent deep clustering methods. To close this performance gap, we (a) present a novel way to fit self-organizing maps with probabilistic cluster assignments (PSOM), (b) propose a new deep architecture for probabilistic clustering (DPSOM) using a VAE, and (c) extend our architecture for time-series clustering (T-DPSOM), which also allows forecasting in the latent space using LSTMs. We show that DPSOM achieves superior clustering performance compared to current deep clustering methods on MNIST/Fashion-MNIST, while maintaining the favourable visualization properties of SOMs. On medical time series, we show that T-DPSOM outperforms baseline methods in time series clustering and time series forecasting, while providing interpretable visualizations of patient state trajectories and uncertainty estimation.

View on arXivView PDF

Code Implementations(1)

ratschlab/dpsomOfficial100%
MIT

Code associated with ACM-CHIL 21 paper 'T-DPSOM - An Interpretable Clustering Method for Unsupervised Learning of Patient Health States'

7216Python, Jupyter NotebookOct 4, 20195 years agoMIT

Cite this paper

@article{manduchi2019dpsom,
  title  = {DPSOM: Deep Probabilistic Clustering with Self-Organizing Maps},
  author = {Laura Manduchi and Matthias Hüser and Julia Vogt and Gunnar Rätsch and Vincent Fortuin},
  year   = {2019},
  eprint = {1910.01590},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1910.01590}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1910.01590.svg)](https://codeofpaper.com/paper/1910.01590)

Discussion