Variational Fair Clustering

Imtiaz Masud Ziko, Eric Granger, Jing Yuan, Ismail Ben Ayed
6/19/2019
cs.LGstat.ML

Official code: imtiazziko/Variational-Fair-Clustering (11 stars, last commit 2024-06-17).

Abstract

We propose a general variational framework of fair clustering, which integrates an original Kullback-Leibler (KL) fairness term with a large class of clustering objectives, including prototype or graph based. Fundamentally different from the existing combinatorial and spectral solutions, our variational multi-term approach enables to control the trade-off levels between the fairness and clustering objectives. We derive a general tight upper bound based on a concave-convex decomposition of our fairness term, its Lipschitz-gradient property and the Pinsker's inequality. Our tight upper bound can be jointly optimized with various clustering objectives, while yielding a scalable solution, with convergence guarantee. Interestingly, at each iteration, it performs an independent update for each assignment variable. Therefore, it can be easily distributed for large-scale datasets. This scalability is important as it enables to explore different trade-off levels between the fairness and clustering objectives. Unlike spectral relaxation, our formulation does not require computing its eigenvalue decomposition. We report comprehensive evaluations and comparisons with state-of-the-art methods over various fair-clustering benchmarks, which show that our variational formulation can yield highly competitive solutions in terms of fairness and clustering objectives.

View on arXivView PDF

Code Implementations(1)

Variational Fair clustering

114Shell, PythonJun 10, 20192 years ago
bound-optimizationclusteringfairness-mlk-means-clusteringnormalized-cuts+1 more

Similar Papers

Cite this paper

@article{ziko2019variational,
  title  = {Variational Fair Clustering},
  author = {Imtiaz Masud Ziko and Eric Granger and Jing Yuan and Ismail Ben Ayed},
  year   = {2019},
  eprint = {1906.08207},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1906.08207}
}

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/1906.08207.svg)](https://codeofpaper.com/paper/1906.08207)

Discussion