Moteurs d'inférence variationnelle

8

Après avoir fait quelques recherches sur le sujet, j'ai remarqué un déficit surprenant de packages d'inférence et de bibliothèques qui reposent sur des méthodes de transmission de messages ou d'optimisation pour Python et R.

À ma connaissance, ces méthodes sont extrêmement utiles. Par exemple, pour un réseau Bayes (dirigé, acyclique), la propagation des croyances seule devrait être en mesure de donner des réponses exactes. Cependant, la plupart des logiciels d'inférence disponibles en ligne (par exemple STAN, BUGS, PyMC) s'appuient sur les méthodes MCMC.

Dans le cas de Python, au meilleur de ma connaissance, ni PyMC, scikit-learn ni statsmodels n'incluent d'algorithmes d'inférence variationnelle tels que la propagation de croyances, les méthodes de transmission de messages ou l'une de leurs variantes.

Pourquoi donc? Ces méthodes sont-elles moins utilisées dans la pratique parce qu'elles ne sont pas considérées comme aussi puissantes ou génériques que leurs homologues MCMC? ou s'agit-il simplement d'un manque de main-d'œuvre et de temps?

Amelio Vazquez-Reina
la source
Pourquoi les votes serrés?
Amelio Vazquez-Reina
Probablement parce que votre question semble concerner les logiciels plutôt que les statistiques ou l'apprentissage automatique. Si vous modifiez pour indiquer clairement sur quels sujets de CV vous posez une question (c.-à-d. Pourquoi ce n'est pas «juste une question de logiciel»), le vote serré a moins de chances de réussir (et même s'il réussit, si vous modifier pour clarifier les choses, il est plus probable qu'il soit annulé par un vote de réouverture). Donc, si votre question semble clairement être un "réseau de croyances" ou une "inférence variationnelle" (même si elle implique également un logiciel), elle devrait probablement être correcte.
Glen_b -Reinstate Monica
Merci @Glen_b. Cela a du sens, je comprends. J'ai mis à jour la question. Espérons que cela le met davantage dans la portée du site.
Amelio Vazquez-Reina
1
Cela pourrait être suffisant - si je n'avais pas déjà voté pour le garder ouvert, je ne m'inquiéterais pas de le faire maintenant. D'un autre côté, certaines personnes sont beaucoup plus strictes sur l'endroit où elles tracent la ligne entre «c'est une question de statistiques / ML» et «c'est une question de logiciel» que moi. Vous ne devez en aucun cas prendre des votes serrés personnellement, même s'il finit par être fermé ou déplacé vers un autre site SE; c'est en partie comment le site est censé fonctionner.
Glen_b -Reinstate Monica
C'est sur le sujet, j'espère qu'il y aura un preneur à un moment donné.
conjectures

Réponses:

2

Avez-vous regardé Edward ? L' API d'inférence prend en charge entre autres l'inférence variationnelle:

  • Inférence variationnelle de la boîte noire
  • Inférence variationnelle stochastique
  • Auto-encodeurs variationnels
  • Divergence KL incluse: KL(p∥q)
ruoho ruotsi
la source
Merci! Oui, je l'ai testé récemment. Je pense que c'est très nouveau et ce n'était pas là quand j'ai demandé au Q. Bon de l'avoir dans le fil!
Amelio Vazquez-Reina
2
Comment as-tu trouvé de travailler avec Edward? Comme à quoi pensez-vous? a-t-il satisfait vos exigences?
ruoho ruotsi