Question

Latent Dirichlet Allocation (LDA) et Process hiérarchique Dirichlet (HDP) sont à la fois les processus de modélisation sujet. La principale différence est LDA nécessite la spécification du nombre de sujets, et HDP ne fonctionne pas. Pourquoi est-ce si? Et quelles sont les différences, les avantages et les inconvénients des deux méthodes de modélisation sujet?

Était-ce utile?

La solution

HDP est une extension de LDA, conçu pour traiter le cas où le nombre de composants du mélange (le nombre de « sujets » en termes de modélisation document) ne sait pas a priori. Voilà donc la raison pour laquelle il y a une différence.

Utilisation LDA pour la modélisation de documents, on traite chaque « sujet » comme une distribution de mots dans un vocabulaire connu. Pour chaque document un mélange de sujets est tiré d'une distribution Dirichlet, puis chaque mot dans le document est un tirage indépendant de ce mélange (qui est, en sélectionnant un sujet, puis l'utiliser pour générer un mot).

Pour HDP (appliquée à la modélisation de documents), on utilise également un processus de Dirichlet pour saisir l'incertitude du nombre de sujets. Ainsi, une distribution de base commune est sélectionnée qui représente l'ensemble dénombrable infini de sujets possibles pour le corpus, puis la distribution finie de sujets pour chaque document est échantillonné à partir de cette distribution de base.

En ce qui concerne les avantages et les inconvénients, HDP a l'avantage que le nombre maximum de sujets et peut être sans bornes appris à partir des données plutôt que spécifiées à l'avance. Je suppose que si elle est plus compliqué à mettre en œuvre, et inutile dans le cas où un certain nombre de sujets est borné acceptable.

Autres conseils

Pour la petite histoire, je ne l'ai jamais été impressionné par la sortie de LDA hiérarchique. Il ne semble pas seulement de trouver un niveau optimal de granularité pour choisir le nombre de sujets. J'ai obtenu de bien meilleurs résultats en exécutant quelques itérations de LDA régulière, l'inspection manuelle des sujets qu'elle a produits, de décider d'augmenter ou de diminuer le nombre de sujets, et itérer continuer jusqu'à ce que je la granularité que je cherche.

Souvenez-vous: LDA hiérarchique ne peut pas lire dans votre esprit ... il ne sait pas ce que vous réellement l'intention d'utiliser la modélisation de sujet pour. Tout comme avec k-means, vous devez choisir le k qui fait le plus de sens pour votre cas d'utilisation.

Je voulais souligner, puisque c'est l'un des plus grands succès de Google pour ce sujet, que Latent Dirichlet Allocation (LDA), processus hiérarchique Dirichlet (HDP), et hiérarchique Latent Dirichlet Allocation ( HDLA) sont tous les modèles distincts.

Modèles LDA documents sous forme de mélanges de Dirichlet d'un nombre fixe de discussion- choisi en tant que paramètre du modèle par le par l'utilisateur qui sont dans des mélanges de Dirichlet de tour de parole. Cela génère un regroupement probabiliste plane, douce des termes sur des sujets et des documents sur des sujets.

HDP sujets modèles comme des mélanges de mots, un peu comme LDA, mais plutôt que des documents étant des mélanges d'un nombre fixe de sujets, le nombre de sujets est généré par un processus de Dirichlet, entraînant le nombre de sujets étant une variable aléatoire bien. La partie « hiérarchique » du nom se réfère à un autre niveau étant ajoutée au modèle génératif (le processus de Dirichlet production du nombre de sujets), non sujets themselves- les sujets sont encore clusterings plats.

HDLA, d'autre part, est une adaptation de LDA que des sujets modèles comme mélanges d'un nouveau niveau distinct de sujets, tirés de Dirichlet distributions et non les processus. Il traite encore le nombre de sujets comme hyperparam'etre, à savoir, indépendamment des données. La différence est que le regroupement est maintenant hierarchical- il apprend un regroupement de la première série de sujets eux-mêmes, ce qui donne une plus générale, les relations abstraites entre les sujets (et, par conséquent, des mots et des documents). Pensez-y comme le regroupement des échanges de pile en mathématiques, la science, la programmation, l'histoire, etc., par opposition à la science des données de regroupement et de validation croisée dans un sujet statistiques abstraites et une programmation qui partage certains concepts avec, disons, génie logiciel, mais le génie logiciel l'échange est ordonné en clusters sur un niveau plus concret avec l'échange de la science informatique, et la similitude entre tous les échanges mentionnés ne semble pas autant que la couche supérieure des clusters.

J'ai une situation où HDP fonctionne bien par rapport à LDA. J'ai sur les documents qui appartiennent 16000 à différentes classes. Comme je ne suis pas au courant de combien de sujets différents, je peux rassembler pour chaque classe, HDP est vraiment utile dans ce cas.

Licencié sous: CC-BY-SA avec attribution
scroll top