15 votos

Procesos Dirichlet para la agrupación: ¿cómo tratar las etiquetas?

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 enter image description here

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 ".

1voto

AusTravel Puntos 6

Sólo quería compartir algunos recursos sobre el tema, con la esperanza de que alguno de ellos pueda ser útil para responder a esta pregunta. Hay muchos tutoriales sobre Procesos Dirichlet (DP) incluyendo algunos sobre el uso de DP para agrupación . Van desde "suaves", como este tutorial de presentación a otros más avanzados, como este tutorial de presentación . Este último es una versión actualizada del mismo tutorial, presentado por Yee Whye Teh en MLSS'07. Puede ver el vídeo de esa charla con diapositivas sincronizadas aquí . Hablando de vídeos, puedes ver otra interesante y relevante charla con diapositivas de Tom Griffith aquí . En cuanto a los tutoriales en formato papel, este tutorial es agradable y bastante popular.

Por último, me gustaría compartir un par de artículos relacionados. Este documento sobre la AD jerárquica parece importante y pertinente. Lo mismo puede decirse de este documento por Radford Neal. Si le interesa modelado de temas , asignación latente de Dirichlet (LDA) también debería estar en tu radar. En ese caso, este documento muy reciente presenta un enfoque LDA novedoso y muy mejorado. En cuanto al modelado temático, recomiendo la lectura de los trabajos de investigación de David Blei y sus colaboradores. Este documento es uno introductorio, el resto lo puedes encontrar en su página de publicaciones de investigación . Me doy cuenta de que algunos de los materiales que he recomendado pueden ser demasiado básicos para usted, pero pensé que al incluir todo lo que me encontré sobre el tema, aumentaría las posibilidades de que usted encuentre la respuesta .

0 votos

Entiendo lo que intentas hacer aquí, pero realmente no responde a la pregunta.

1 votos

@ssdecontrol: Si entiendes lo que estoy tratando de hacer aquí (que es ayudar al OP a descubrir la respuesta y aprender una cosa o dos), entonces ¿cuál es el punto de tu comentario? Nunca he afirmado que mi respuesta sea el respuesta, pero expresó su esperanza de que útil En última instancia, es el OP quien decide. Si usted tiene una respuesta mejor, estoy seguro de que será apreciado por el OP y la comunidad.

1 votos

Sí, lo entiendo perfectamente. Eso es mucho de lo que hago aquí también. Pero la pregunta es acerca de la forma correcta de recoger las etiquetas de clúster de los resultados MCMC y no creo que esto aborda esa cuestión en absoluto.

1voto

trish Puntos 31

Mi respuesta provisional sería tratar $\mathbf{c}$ como parámetro para que $p(\mathbf{c},\theta)$ es simplemente la moda posterior. Esto es lo que sospecho que hicieron Niekum y Barto (el artículo al que se hace referencia en la opción 3). La razón por la que fueron imprecisos sobre si utilizaron $p(\mathbf{c}, \theta)$ o $p(\mathbf{c}|\theta)$ es que una es proporcional a la otra.

La razón por la que digo que esta respuesta es "provisional" es que no estoy seguro de si designar un valor como "parámetro" es sólo una cuestión semántica, o si hay una definición más técnica/teórica que uno de los usuarios con doctorado aquí podría dilucidar.

0 votos

Tienes razón, $p(\mathbf{c,\theta}) = p(\mathbf{c |\theta}) p (\theta)$ . Sin embargo, esta opción puede dar buenos resultados en la práctica, pero yo diría que no tiene garantías teóricas de que el estado elegido no sea un óptimo local con respecto a $p(\mathbf{c})$ en lugar de la verdadera moda posterior. Además, estaríamos abandonando toda esperanza de obtener la verdadera posterior de p(\mathbf{c}. En fin, si no hay más remedio y tiene que ser un estimador puntual... que así sea.

0 votos

@alberto de nuevo, eso no tiene nada que ver con este modelo y todo que ver con la estadística bayesiana. Ver aquí: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . Y si te preocupan los modos múltiples, consulta aquí: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM y aquí: stats.stackexchange.com/q/3328/36229

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X