Dirichlet Process Mixtures
A Bayesian clustering model that does not fix the number of clusters in advance, letting the data itself determine how many groups are needed as more observations arrive.
Prerequisites: The Dirichlet Distribution, Bayesian Inference
A standard mixture model, like a Gaussian mixture, asks you to decide the number of clusters up front — three regimes, five customer segments — and then fits the data to that fixed count. A Dirichlet process mixture removes that requirement: it treats the number of clusters itself as something to be learned, allowing new clusters to appear as more data arrives if the existing ones no longer fit well. A useful way to picture it is the "Chinese restaurant process": each new observation either joins an existing table (cluster) with probability proportional to how many points are already there, or starts a brand-new table with a probability controlled by a single concentration parameter — a small value favors a few large clusters, a large value favors many small ones. As data accumulates, popular clusters attract more new points while rarely-used ones stay small or disappear from active consideration, and the model never has to commit to a cluster count that later turns out to be wrong.
This is useful whenever the natural number of regimes, strategies, or subpopulations in a dataset is genuinely unknown and might grow — for example, discovering an unanticipated new market regime without having pre-specified how many regimes exist.
A Dirichlet process mixture lets the number of clusters grow with the data instead of being fixed in advance, using a "rich get richer" allocation rule where existing clusters attract new points but a new one can always open up.
Related concepts
Practice in interviews
Further reading
- Ferguson, A Bayesian Analysis of Some Nonparametric Problems (1973)