Bayes variationnels combinés avec Monte Carlo

10

Je lis sur les Bayes variationnels, et si je comprends bien, cela revient à l'idée que vous approximez (où z sont les variables latentes de votre modèle et les données observées) avec une fonction , en faisant l'hypothèse que factorise comme où est un sous-ensemble des variables latentes. On peut alors montrer que le facteur optimal est: p(zX)zq ( z ) q q i ( z i ) z i q i ( z i ) q * i ( z i ) = ln p ( x , z ) z / i + const.Xq(z)qqje(zje)zjeqje(zje)

qje(zje)=lnp(X,z)z/je+const.

Où les parenthèses angulaires indiquent l'espérance sur toutes les variables latentes à l'exception de par rapport à la distribution . q ( z )zjeq(z)

Maintenant, cette expression est généralement évaluée analytiquement, pour donner une réponse exacte à une valeur cible approximative. Cependant, il m'est venu à l'esprit que, puisqu'il s'agit d'une attente, une approche évidente consiste à approximer cette attente par échantillonnage. Cela vous donnerait une réponse approximative à une fonction cible approximative, mais cela rend un algorithme très simple, peut-être pour les cas où l'approche analytique n'est pas faisable.

Ma question est, est-ce une approche connue ? At-il un nom? Y a-t-il des raisons pour lesquelles cela pourrait ne pas fonctionner aussi bien ou ne pas générer un algorithme aussi simple?

Peter
la source
Je pense que le plus gros problème sera la sous-estimation de l'incertitude que les approximations VB produisent généralement.
probabilités

Réponses:

4

J'avoue que ce n'est pas un domaine que je connais très bien, alors prenez-le avec un grain de sel.

Tout d'abord, notez que ce que vous proposez ne donne pas un algorithme aussi simple: pour calculer le nouveau , nous n'avons pas besoin de calculer une seule valeur attendue (comme une moyenne ou une variance), mais la valeur attendue d'une fonction entière. Ceci est difficile à calculer et vous obligera à approximer la vraie par un certain (par exemple, nous pourrions trouver une approximation d'histogramme) q ˜ qqjeqq~

Mais, si vous allez restreindre le à une petite famille paramétrique, une meilleure idée pourrait être d'utiliser la descente de gradient stochastique pour trouver les meilleures valeurs de paramètre (voir: Inférence variation bayésienne avec recherche stochastique, 2012, Paisley, Blei, Jordan ). Le gradient qu'ils calculent est très similaire à ce que vous avez écrit: ils échantillonnent à partir de toutes les approximations qu'ils n'optimisent pas actuellement.qje

Donc ce que vous proposez n'est pas si simple, mais c'est assez proche d'une méthode réelle qui a été proposée très récemment

Guillaume Dehaene
la source