Q: ¿Cuál es la forma estándar de agrupar datos mediante un proceso Dirichlet?
Al utilizar el muestreo de Gibbs, los conglomerados aparecen y desaparecen durante el muestreo. Además, tenemos un problema de identificabilidad, ya que la distribución posterior es invariante a los reetiquetados de los clusters. Así, no podemos decir cuál es el cluster de un usuario sino que dos usuarios están en el mismo cluster (es decir $p(c_i=c_j)$ ).
¿Podemos resumir las tareas de clase para que, si $c_i$ es la asignación de clúster del punto $i$ , ahora no sólo que $c_i=c_j$ pero que $c_i=c_j=c_j=...=c_z$ ?
Estas son las alternativas que he encontrado y por qué creo que son incompletas o equivocadas.
(1) DP-GMM + muestreo de Gibbs + matriz de confusión por pares
Para utilizar un Modelo de Mezclas Gaussianas de Proceso Dirichlet (DP-GMM) para una agrupación implementé este documento donde los autores proponen un DP-GMM para estimación de la densidad utilizando el muestreo de Gibbs.
Para explorar el rendimiento de la agrupación, dicen:
Dado que el número de componentes cambia a lo largo de la cadena [MCMC], habría que formar una matriz de confusión que muestre la frecuencia con la que cada par de datos se asigna al mismo componente para toda la cadena
Contras : No se trata de una agrupación "completa" real, sino de una agrupación por pares. La figura es así de bonita porque conocemos los conglomerados reales y ordenamos la matriz en consecuencia.
(2) DP-GMM + muestreo de Gibbs + muestreo hasta que nada cambie
He estado buscando y he encontrado algunas personas que afirman hacer clustering basado en el Proceso Dirichlet utilizando un muestreador de Gibbs. Por ejemplo, esta entrada considera que la cadena converge cuando no hay más cambios ni en el número de conglomerados ni en las medias, y por tanto obtiene los resúmenes a partir de ahí.
Contras : No estoy seguro de que esto esté permitido ya que, si no me equivoco:
-
(a) puede haber cambios de etiqueta durante el MCMC.
-
(b) incluso en la distribución estacionaria, el muestreador puede crear algún conglomerado de vez en cuando.
(3) DP-GMM + muestreo de Gibbs + elegir la muestra con la partición más probable
En este papel dicen los autores:
Tras un período de "rodaje", se obtienen muestras insesgadas de la variable posterior del IGMM pueden extraerse del muestreador de Gibbs. Una de la distribución posterior del IGMM a partir del muestreador de Gibbs. con la mayor probabilidad conjunta de las variables indicadoras de clase de clase. Utilizamos una implementación modificada del IGMM w Mandel .
Contras : A menos que se trate de un muestreador de Gibbs colapsado en el que sólo muestreamos las asignaciones, podemos calcular $p(\mathbf{c} | \theta)$ pero no el marginal $p(\mathbf{c})$ . (¿Sería una buena práctica, en cambio, conseguir que el estado con mayor $p(\mathbf{c}, \theta)$ ?)
(4) DP-GMM con inferencia variable :
He visto que algunas bibliotecas utilizan la inferencia variacional. No conozco mucho la Inferencia Variacional pero supongo que ahí no tienes problemas de identificabilidad. Sin embargo, me gustaría ceñirme a los métodos MCMC (si es posible).
Cualquier referencia sería útil.
0 votos
En el enfoque 3 (el modo posterior), su queja sobre $p(\mathbf{c})$ no estar disponible no tiene mucho sentido para mí. Parece más una queja sobre MCMC en general que sobre este problema en particular.
0 votos
Sí, exactamente, quiero decir que MCMC no nos da acceso a $p(\mathbf{c})$ y, por tanto, no podemos pretender recogerlo de un estado determinado de la cadena.
0 votos
Eso es por diseño . De hecho, va más allá de MCMC: es una característica integrada de cualquier modelo bayesiano. En todo caso, te encuentras con un problema porque estás intentando hacer algo antinatural, algo que estamos obsesionados con hacer: meter una estimación distribucional en una estimación puntual ".
0 votos
Hay razones para no querer hacer algo así en primer lugar: hay varios sentidos en los que el modelo de mezcla del proceso Dirichlet no puede estimar de forma coherente el número de conglomerados (y, por tanto, no puede hacer un buen trabajo de recuperación de un conglomerado "verdadero" de los datos). En NIPS se presentó recientemente un artículo sobre este tema.
0 votos
Gracias por el comentario @guy. Alguien me hizo un comentario similar hace algunas semanas y más bien sugirió un enfoque de selección de modelos. ¿Tienes a mano la referencia de ese artículo?
1 votos
Véase aquí . Creo que proponen en su lugar para poner un Poisson prior en el número de componentes (y derivar algún tipo de proceso de restaurante para ponerlo en práctica), pero no estoy seguro de si este es el papel que lo hacen.