Dirichlet Processus de clustering: comment gérer les étiquettes?

14

Q: Quelle est la méthode standard pour regrouper des données à l'aide d'un processus Dirichlet?

Lors de l'utilisation de Gibbs, des grappes d'échantillonnage apparaissent et disparaissent pendant l'échantillonnage. Par ailleurs, nous avons un problème d'identifiabilité car la distribution postérieure est invariante aux ré-étiquetages de cluster. Ainsi, nous ne pouvons pas dire quel est le cluster d'un utilisateur mais plutôt que deux utilisateurs sont dans le même cluster (c'est-à-dire p(ci=cj) ).

Pouvons-nous résumer les affectations de classe de sorte que, si ci est l'affectation de cluster du point i , nous avons maintenant non seulement que ci=cj mais que ci=cj=cj=...=cz ?

Ce sont les alternatives que j'ai trouvées et pourquoi je pense qu'elles sont incomplètes ou erronées.

(1) DP-GMM + échantillonnage de Gibbs + matrice de confusion basée sur les paires

Pour utiliser un modèle de mélange gaussien de processus de Dirichlet (DP-GMM) pour un regroupement, j'ai mis en œuvre cet article où les auteurs proposent un DP-GMM pour l' estimation de la densité utilisant l'échantillonnage de Gibbs.

Pour explorer les performances de clustering, ils disent:

Étant donné que le nombre de composants change sur la chaîne [MCMC], il faudrait former une matrice de confusion montrant la fréquence de chaque paire de données affectée au même composant pour toute la chaîne, voir Fig. 6. entrez la description de l'image ici

Inconvénients : Ce n'est pas un véritable clustering "complet" mais un clustering par paire. La figure est si jolie car nous connaissons les vrais clusters et organisons la matrice en conséquence.

(2) DP-GMM + échantillonnage Gibbs + échantillon jusqu'à ce que rien ne change

J'ai cherché et j'ai trouvé des gens qui prétendaient faire du clustering basé sur Dirichlet Process en utilisant un échantillonneur Gibbs. Par exemple, cet article considère que la chaîne converge lorsqu'il n'y a plus de changements ni dans le nombre de grappes ni dans les moyennes, et obtient donc les résumés à partir de là.

Inconvénients : je ne suis pas sûr que cela soit autorisé car, si je ne me trompe pas:

  • (a) il pourrait y avoir des changements d'étiquette pendant la MCMC.

  • (b) même dans la distribution stationnaire, l'échantillonneur peut créer un groupe de temps en temps.

(3) DP-GMM + échantillonnage de Gibbs + choisir l'échantillon avec la partition la plus probable

Dans cet article , les auteurs disent:

Après une période de «rodage», des échantillons non biaisés de la distribution postérieure de l'IGMM peuvent être tirés de l'échantillonneur Gibbs. Un regroupement difficile peut être trouvé en tirant un grand nombre de ces échantillons et en utilisant l'échantillon avec la plus forte probabilité conjointe des variables d'indicateur de classe. Nous utilisons une implémentation IGMM modifiée écrite par M. Mandel .

Inconvénients : à moins qu'il ne s'agisse d'un échantillonneur de Gibbs réduit où nous échantillonnons uniquement les affectations, nous pouvons calculer mais pas le p marginal ( c ) . (Serait-ce plutôt une bonne pratique d'obtenir l'état avec le p le plus élevé ( c , θ ) ?)p(c|θ)p(c)p(c,θ)

(4) DP-GMM avec inférence variatonale :

J'ai vu que certaines bibliothèques utilisent l'inférence variationnelle. Je ne connais pas beaucoup l'inférence variationnelle mais je suppose que vous n'y avez pas de problèmes d'identification. Cependant, je voudrais m'en tenir aux méthodes MCMC (si possible).

Toute référence serait utile.

alberto
la source
p(c)
p(c)
c'est par conception . En fait, cela va au-delà de MCMC: c'est une fonction intégrée de tout modèle bayésien. Si quoi que ce soit, vous rencontrez un problème parce que vous essayez de faire quelque chose de contre nature, quelque chose qui nous obsède: faire une estimation de la distribution en une estimation ponctuelle
shadowtalker
Il y a des raisons de ne pas vouloir faire quelque chose comme ça en premier lieu - il existe différents sens dans lesquels le modèle de mélange de processus de Dirichlet ne peut pas estimer de manière cohérente le nombre de clusters (et donc ne peut pas faire un bon travail de récupération d'un " true "clustering des données). Il y avait un article récent au NIPS sur ce sujet.
mec
1
Voyez ici . Je pense qu'ils proposent à la place de mettre un Poisson prioritaire sur le nombre de composants (et de dériver une sorte de processus de restauration pour le mettre en œuvre), mais je ne sais pas si c'est le papier qu'ils le font.
mec

Réponses:

1

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

La raison pour laquelle je dis que cette réponse est "provisoire" est que je ne suis pas sûr que la désignation d'une valeur en tant que "paramètre" soit juste une question de sémantique, ou s'il existe une définition plus technique / théorique que l'un des utilisateurs titulaires d'un doctorat ici serait en mesure d'élucider.

shadowtalker
la source
p(c,θ)=p(c|θ)p(θ)p(c)
@alberto encore, cela n'a rien à voir avec ce modèle et tout à voir avec les statistiques bayésiennes. Voir ici: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . Et si vous vous inquiétez de plusieurs modes, voir ici: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM et ici: stats.stackexchange.com/q/3328/36229
shadowtalker
1

Je voulais juste partager quelques ressources sur le sujet, en espérant que certaines d'entre elles pourraient être utiles pour répondre à cette question. Il existe de nombreux didacticiels sur les processus Dirichlet (DP) , y compris certains sur l'utilisation de DP pour le clustering . Ils vont de "doux", comme ce tutoriel de présentation , à plus avancé, comme ce tutoriel de présentation . Ce dernier est une version mise à jour du même tutoriel, présenté par Yee Whye Teh à MLSS'07. Vous pouvez regarder la vidéo de cette conférence avec des diapositives synchronisées ici . En parlant de vidéos, vous pouvez regarder une autre discussion intéressante et pertinente avec des diapositives de Tom Griffith ici . En termes de tutoriels au format papier, ce tutoriel est une belle et assez populaire.

Enfin, je voudrais partager quelques articles connexes. Ce document sur le DP hiérarchique semble être important et pertinent. Il en va de même pour cet article de Radford Neal. Si vous êtes intéressé par la modélisation de sujets , l' allocation de Dirichlet latente (LDA) devrait très probablement être également sur votre radar. Dans ce cas, cet article très récent présente une approche LDA nouvelle et très améliorée. En ce qui concerne le domaine de la modélisation de sujets, je recommanderais de lire les articles de recherche de David Blei et de ses collaborateurs. Cet article est une introduction, le reste que vous pouvez trouver sur sa page de publications de recherche. Je me rends compte que certains des documents que j'ai recommandés peuvent être trop basiques pour vous, mais je pensais qu'en incluant tout ce que j'ai rencontré sur le sujet, j'augmenterais vos chances de trouver la réponse .

Aleksandr Blekh
la source
Je comprends ce que vous essayez de faire ici, mais cela ne répond vraiment pas à la question.
shadowtalker
1
@ssdecontrol: Si vous comprenez ce que j'essaie de faire ici (qui aide le PO à découvrir la réponse et à apprendre une ou deux choses), alors quel est le point de votre commentaire? Je n'ai jamais prétendu que ma réponse était la réponse, mais j'ai exprimé l'espoir qu'elle serait utile , ce qui appartient en dernier ressort au PO de décider. Si vous avez une meilleure réponse, je suis sûr qu'elle sera appréciée par le PO et la communauté.
Aleksandr Blekh
1
Ouais, je comprends parfaitement. C'est aussi beaucoup de ce que je fais ici. Mais la question se pose sur la bonne façon de choisir les étiquettes de cluster à partir des résultats de MCMC et je ne pense pas que cela réponde à cette question.
shadowtalker
@AleksandrBlekh Je serais d'accord avec ssdecontrol que c'est un peu hors sujet puisque OP semble connaître les "bases" et pose une question spécifique.
Tim
1
@AleksandrBlekh J'apprécie votre message, au moins il fait un bon résumé pour une introduction à DP. Je connais les bases (niveau intermédiaire, disons), mais au moins vos références m'ont fait revenir à LDA et se rendre compte qu'elles contournent le problème car leurs étiquettes ne changent souvent pas.
alberto