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?
la source
Réponses:
Avez-vous regardé Edward ? L' API d'inférence prend en charge entre autres l'inférence variationnelle:
KL(p∥q)
la source