En primer lugar, una advertencia. En la agrupación, a menudo no hay una "respuesta correcta": una agrupación puede ser mejor que otra según una métrica, y lo contrario puede ser cierto utilizando otra métrica. Y en algunas situaciones, dos agrupaciones diferentes pueden ser igualmente probables según la misma métrica.
Dicho esto, tal vez quiera echar un vistazo a Procesos de Dirichlet . Vea también esto tutorial .
Si se empieza con un modelo de mezcla gaussiana, se tiene el mismo problema que con k-means: que hay que elegir el número de clusters. Podrías utilizar pruebas del modelo, pero no serán robustas en este caso. Así que el truco es utilizar un Proceso Dirichlet a priori sobre los componentes de la mezcla, lo que le permite tener un número potencialmente infinito de componentes de la mezcla, pero el modelo (normalmente) encontrará automáticamente el número "correcto" de componentes (bajo los supuestos del modelo).
Tenga en cuenta que todavía tiene que especificar el parámetro de concentración $\alpha$ del Proceso Dirichlet a priori. Para valores pequeños de $\alpha$ Las muestras de un DP suelen estar compuestas por un pequeño número de medidas atómicas con grandes pesos. Para los valores grandes, es probable que la mayoría de las muestras sean distintas (concentradas). Se puede utilizar un hiperprior en el parámetro de concentración y luego inferir su valor a partir de los datos, y este hiperprior puede ser convenientemente vago como para permitir muchos valores posibles diferentes. Sin embargo, si se dispone de suficientes datos, el parámetro de concentración dejará de ser tan importante y se podrá prescindir de este hiperprioritario.