J'essaie d'implémenter le modèle de mélange gaussien avec l'inférence variationnelle stochastique, à la suite de cet article .
C'est le pgm du mélange gaussien.
Selon l'article, l'algorithme complet d'inférence variationnelle stochastique est:
Et je suis encore très confus de la méthode pour l'adapter à GMM.
Tout d'abord, je pensais que le paramètre variationnel local est juste et que d'autres sont tous des paramètres globaux. Veuillez me corriger si je me trompais. Que signifie l'étape 6 ? Que dois-je faire pour y parvenir?as though Xi is replicated by N times
Pourriez-vous s'il vous plaît m'aider avec cela? Merci d'avance!
Réponses:
Ce tutoriel ( https://chrisdxie.files.wordpress.com/2016/06/in-depth-variational-inference-tutorial.pdf ) répond à la plupart de vos questions, et serait probablement plus facile à comprendre que le papier SVI original comme il passe spécifiquement par tous les détails de la mise en œuvre de SVI (et coordonne l'échantillonnage VI et l'échantillonnage de gibbs) pour un modèle de mélange gaussien (avec une variance connue).
la source
Tout d'abord, quelques notes qui m'aident à donner un sens au papier SVI:
Dans un mélange de Gaussiens, nos paramètres globaux sont les paramètres de moyenne et de précision (variance inverse) params pour chacun. Autrement dit, est le paramètre naturel pour cette distribution, un Normal-Gamma de la formeμ k , τ k η gk μk,τk ηg
avec , et . (Bernardo et Smith, théorie bayésienne ; notez que cela varie un peu par rapport au gamma normal à quatre paramètres que vous verrez généralement .) Nous utiliserons pour faire référence aux paramètres variationnels pourη 1 = γ ∗ ( 2 α - 1 ) η 2 = 2 β + γ 2 ( 2 α - 1η0=2α−1 η1=γ∗(2α−1) η2=2β+γ2(2α−1) a,b,m α,β,μ
Le conditionnel complet de est un Normal-Gamma avec des paramètres , , , où est le prieur. (Le là-dedans peut aussi être déroutant; il est logique de commencer par une astuce appliquée à , et se terminant avec une bonne quantité d'algèbre laissée au lecteur.)˙ ημk,τk η˙+⟨∑Nzn,k ∑Nzn,kxN ∑Nzn,kx2n⟩ η˙ zn,k expln(p)) ∏Np(xn|zn,α,β,γ)=∏N∏K(p(xn|αk,βk,γk))zn,k
Avec cela, nous pouvons terminer l'étape (5) du pseudocode SVI avec:
La mise à jour des paramètres globaux est plus facile, car chaque paramètre correspond à un décompte des données ou à l'une de ses statistiques suffisantes:
Voici à quoi ressemble la probabilité marginale de données sur de nombreuses itérations, lorsqu'elles sont formées sur des données très artificielles et facilement séparables (code ci-dessous). Le premier graphique montre la probabilité avec des paramètres variationnels aléatoires initiaux et itérations; chaque suivant est après la puissance suivante de deux itérations. Dans le code, font référence aux paramètres variationnels pour .a , b , m α , β , μ0 a,b,m α,β,μ
la source