Procesos de Dirichlet para la agrupación: ¿cómo lidiar con las etiquetas?

14

P: ¿Cuál es la forma estándar de agrupar datos utilizando un proceso Dirichlet?

Cuando se usa Gibbs, los grupos de muestreo aparecen y desaparecen durante el muestreo. Además, tenemos un problema de identificabilidad ya que la distribución posterior es invariable para los reencadenamientos de conglomerados. Por lo tanto, no podemos decir cuál es el grupo de un usuario, sino que dos usuarios están en el mismo grupo (es decir, ).p(ci=cj)

¿Podemos resumir las asignaciones de clase de modo que, si es la asignación de grupo del punto i , ahora no solo que c i = c j, sino que c i = c j = c j = . . . = c z ?ciici=cjci=cj=cj=...=cz

Estas son las alternativas que encontré y por qué creo que están incompletas o mal orientadas.

(1) DP-GMM + muestreo de Gibbs + matriz de confusión basada en pares

Para utilizar un modelo de mezcla gaussiana de proceso de Dirichlet (DP-GMM) para una agrupación, implementé este documento donde los autores proponen un DP-GMM para la estimación de densidad utilizando el muestreo de Gibbs.

Para explorar el rendimiento de agrupamiento, dicen:

Dado que el número de componentes cambia a lo largo de la cadena [MCMC], sería necesario formar una matriz de confusión que muestre la frecuencia de cada par de datos que se asignan al mismo componente para toda la cadena, vea la Fig.6. ingrese la descripción de la imagen aquí

Contras : no se trata de una agrupación "completa" real sino de una agrupación por pares. La figura se ve muy bien porque conocemos los clústeres reales y organizamos la matriz en consecuencia.

(2) DP-GMM + muestreo de Gibbs + muestra hasta que nada cambie

Estuve buscando y encontré algunas personas que afirmaban hacer agrupaciones basadas en el Proceso Dirichlet usando una muestra de Gibbs. Por ejemplo, esta publicación considera que la cadena converge cuando no hay más cambios en el número de grupos o en los medios, y por lo 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 etiquetas durante el MCMC.

  • (b) incluso en la distribución estacionaria, el muestreador puede crear algún grupo de vez en cuando.

(3) DP-GMM + muestreo de Gibbs + elegir muestra con la partición más probable

En este artículo , los autores dicen:

Después de un período de "quemado", se pueden extraer muestras imparciales de la distribución posterior del IGMM de la muestra de Gibbs. Se puede encontrar una agrupación difícil al extraer muchas de esas muestras y utilizar la muestra con la mayor probabilidad conjunta de las variables indicadoras de clase. Utilizamos una implementación IGMM modificada escrita por M. Mandel .

p(c|θ)p(c)p(c,θ)

(4) DP-GMM con inferencia variatonal :

He visto que algunas bibliotecas usan inferencia variacional. No conozco mucho la Inferencia Variacional, pero supongo que no tienes problemas de identificación allí. Sin embargo, me gustaría seguir con los métodos MCMC (si es posible).

Cualquier referencia sería útil.

alberto
fuente
p(c)
shadowtalker
p(c)
Eso es por diseño . De hecho, va más allá de MCMC: es una característica incorporada de cualquier modelo bayesiano. En todo caso, se encuentra con un problema porque está tratando de hacer algo antinatural, algo con lo que estamos obsesionados: meter una estimación distributiva en una estimación puntual.
shadowtalker
Hay razones para no querer hacer algo como esto en primer lugar: hay varios sentidos en los que el modelo de mezcla de proceso de Dirichlet no puede estimar de manera consistente el número de grupos (y, por lo tanto, no puede hacer un buen trabajo para recuperar un " verdadero "agrupamiento de los datos). Hubo un artículo reciente en NIPS sobre este tema.
chico
1
Ver aquí . Creo que en su lugar proponen poner un Poisson antes del número de componentes (y derivar algún tipo de proceso de restaurante para implementarlo), pero no estoy seguro de si este es el papel que lo hacen.
chico

Respuestas:

1

cp(c,θ)p(c,θ)p(c|θ)

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 solo una cuestión de semántica, o si hay una definición más técnica / teórica de que uno de los usuarios con doctorado aquí sería capaz de dilucidar.

Shadowtalker
fuente
p(c,θ)=p(c|θ)p(θ)p(c)
@alberto nuevamente, eso no tiene nada que ver con este modelo y todo que ver con las estadísticas bayesianas. Ver aquí: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . Y si le preocupan los modos múltiples, consulte aquí: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM y aquí: stats.stackexchange.com/q/3328/36229
shadowtalker
1

Solo quería compartir algunos recursos sobre el tema, con la esperanza de que algunos de ellos pudieran ser útiles para responder esta pregunta. Hay muchos tutoriales sobre los procesos de Dirichlet (DP) , incluidos algunos sobre el uso de DP para la agrupación . Van desde "suave", como este tutorial de presentación , hasta más avanzado, como este tutorial de presentación . Esta última es una versión actualizada del mismo tutorial, presentada por Yee Whye Teh en MLSS'07. Puede ver el video de esa charla con diapositivas sincronizadas aquí . Hablando de videos, puedes ver otra charla interesante y relevante con diapositivas de Tom Griffith aquí . En cuanto a los tutoriales en formato papel, este tutorial Es una bonita y muy popular.

Finalmente, me gustaría compartir un par de documentos relacionados. Este documento sobre DP jerárquico parece ser importante y relevante. Lo mismo se aplica a este artículo de Radford Neal. Si está interesado en el modelado de temas , la asignación de Dirichlet latente (LDA) probablemente también debería estar en su radar. En ese caso, este documento muy reciente presenta un enfoque LDA novedoso y muy mejorado. Con respecto al dominio de modelado de temas, recomendaría leer trabajos de investigación de David Blei y sus colaboradores. Este documento es introductorio, el resto lo puede 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 encontré sobre el tema, aumentaría las posibilidades de que encuentre la respuesta .

Aleksandr Blekh
fuente
Entiendo lo que estás tratando de hacer aquí, pero realmente no responde a la pregunta.
shadowtalker
1
@ssdecontrol: Si entiendes lo que estoy tratando de hacer aquí (lo que está ayudando al OP a descubrir la respuesta y aprender una o dos cosas), ¿cuál es el punto de tu comentario? Nunca he afirmado que mi respuesta es la respuesta, pero expresé la esperanza de que sea útil , lo que finalmente depende del OP para decidir. Si tiene una mejor respuesta, estoy seguro de que será apreciada por el OP y la comunidad.
Aleksandr Blekh
1
Sí, lo entiendo totalmente. Eso es mucho de lo que hago aquí también. Pero la pregunta es acerca de la forma correcta de seleccionar las etiquetas de clúster de los resultados de MCMC y no creo que esto aborde esa pregunta en absoluto.
shadowtalker
@AleksandrBlekh Estoy de acuerdo con ssdecontrol en que está un poco fuera de tema ya que OP parece conocer los "conceptos básicos" y hace una pregunta específica.
Tim
1
@AleksandrBlekh Agradezco tu publicación, al menos es un buen resumen para una introducción a DP. Conozco los conceptos básicos (nivel intermedio, digamos), pero al menos sus referencias me hicieron volver a LDA y darme cuenta de que andan de puntillas sobre el tema, ya que sus etiquetas a menudo no cambian.
alberto