Gaussian Mixture Models

Good example

[https://towardsdatascience.com/how-to-code-gaussian-mixture-models-from-scratch-in-python-9e7975df5252]

Good notebook

[http://ethen8181.github.io/machine-learning/clustering/GMM/GMM.html] [https://colab.research.google.com/drive/1PChVghOtJSjWwCYVoevnLGXjnbQNvFOY#scrollTo=cQ2UWSEs_tpF]

GMMs assume all data points are mixture of Gaussian distributions, with unknown parameters.

It’s actually quite similar to K-means, but unlike K-means, GMMs can learn clusters with any elliptical shape, not just circles. Also, GMMs give probabilities of belonging to a cluster, not hard assignment. This means a point can belong 50% to one cluster and 40% to another.

GMM can also be useful for outlier detection. Points with low likelihoood can be labeled as outliers.