Pregunta

Latent Dirichlet Asignación (LDA) y proceso jerárquico de Dirichlet (HDP) son a la vez tema modelado de procesos. La principal diferencia es LDA requiere la especificación del número de temas, y HDP no lo hace. ¿Por qué es así? Y cuáles son las diferencias, pros y los contras, tanto de tema modelado métodos?

¿Fue útil?

Solución

HDP es una extensión de LDA, diseñado para hacer frente al caso en el que el número de componentes de la mezcla (el número de "temas" en términos de documentos de modelado) no se conoce a priori. Así que esa es la razón por la que hay una diferencia.

El uso de LDA para el modelado de documentos, uno trata a cada "tema" como una distribución de palabras de vocabulario conocido. Para cada documento una mezcla de temas se extrae de una distribución de Dirichlet, y luego cada palabra en el documento es un empate independiente de la mezcla (es decir, la selección de un tema y luego usarlo para generar una palabra).

Para HDP (aplicada a modelos de documento), también se utiliza un proceso de Dirichlet para capturar la incertidumbre en el número de temas. Así se selecciona una distribución de base común que representa el conjunto numerable-infinito de posibles temas para el corpus, y entonces la distribución finito de temas para cada documento se muestrea a partir de esta distribución base.

En cuanto a ventajas y desventajas, HDP tiene la ventaja de que el número máximo de temas puede ser ilimitada y aprendido de los datos en lugar de especificar con antelación. Supongo que a pesar de que es más complicado de implementar, e innecesario en el caso en el que un número limitado de temas es aceptable.

Otros consejos

Como anécdota, nunca he estado impresionado con la salida de LDA jerárquica. La pena es que no parece encontrar un óptimo nivel de granularidad para la elección del número de temas. He conseguido mucho mejores resultados mediante la ejecución de unas pocas iteraciones de LDA regular, inspeccionar manualmente los temas que produjo, decidir si se debe aumentar o disminuir el número de temas, y continuar la iteración hasta que consiga el nivel de detalle que estoy buscando.

Recuerde: LDA jerárquico no puede leer su mente ... que no sabe lo que realmente va a utilizar el tema para el modelado. Al igual que con k-means clustering, usted debe elegir el k que tiene más sentido para su caso de uso.

Yo quería señalar, ya que este es uno de los mejores de Google éxitos para este tema, que Latent Dirichlet Asignación (LDA), Procesos jerárquica de Dirichlet (HDP), y jerárquico Asignación latente Dirichlet ( HLDA) son todos los modelos distintos.

LDA modelos documentos como mezclas de Dirichlet de un número fijo de Temas- elegido como un parámetro del modelo por el por el usuario que están en mezclas a su vez de Dirichlet de palabras. Esto genera una agrupación plana, suave probabilística de los términos en temas y documentos en los temas.

HDP modelos temas como mezclas de palabras, mucho como LDA, pero en lugar de los documentos que son mezclas de un número fijo de temas, el número de temas se genera por un proceso de Dirichlet, lo que resulta en el número de temas siendo una variable aleatoria como bien. La porción "jerárquica" del nombre se refiere a otro nivel que se añade al modelo generativo (el proceso de Dirichlet producir el número de temas), no los temas sí mismos- los temas son todavía clusterings planas.

HLDA, por otro lado, es una adaptación de LDA que modela temas como mezclas de un nuevo nivel distinto de temas, extraídos de Dirichlet distribuciones y no procesos. Se sigue tratando el número de temas como hiperparámetro, es decir, independiente de los datos. La diferencia es que la agrupación es ahora hierarchical- que aprende una agrupación de la primera serie de temas propios, dando un carácter más general, las relaciones abstractas entre los temas (y por tanto, palabras y documentos). Piense en ello como la agrupación de las bolsas de pila en matemáticas, ciencia, programación, historia, etc en lugar de la ciencia y la agrupación de datos de validación cruzada en una estadísticas abstractas y programar tema que comparte algunos conceptos con, por ejemplo, la ingeniería de software, pero la ingeniería de software intercambio está agrupado en un nivel más concreto con el intercambio de la informática, y la similitud entre todos los intercambios mencionados no aparece como mucho hasta la capa superior de las agrupaciones.

Tengo una situación en la HDP funciona bien en comparación con LDA. Tengo cerca de 16.000 documentos que pertenecen a distintas clases. Como estoy al tanto de cuántos temas diferentes que he entendido para cada clase, HDP es realmente útil en este caso.

Licenciado bajo: CC-BY-SA con atribución
scroll top