Probabilistische graphische Modelle mit Scala
Andreas Bille rcs systems GmbH
Probabilistische graphische Modelle mit Scala Andreas Bille rcs - - PowerPoint PPT Presentation
Probabilistische graphische Modelle mit Scala Andreas Bille rcs systems GmbH Ab 1500 G. Cardano Glcksspiel Ab 1600 Fermat, Pascal Diskrete Rume 1763 Bayes Bayes Theorem 1902 Gibbs Graphen als Distribution 1921
Andreas Bille rcs systems GmbH
probabilistic models and toolkits for building probabilistic inference algorithms.
relatively easy to represent uncertainty about the number of underlying objects explaining observed data.
modern implementations (such as WinBUGS, JAGS, and OpenBUGS) are based on Metropolis-Hastings. BiiPS is an implementation based on interacting particle systems methods like Sequential Monte Carlo.
stochastic processes and other recursively-defined generative processes (Goodman, Mansinghka, Roy, Bonawitz and Tenenbaum, 2008). Implementations of Church include MIT-Church, Cosh, Bher, and JSChurch.
constructed models.
inference as well as importance sampling-based inference, and model inference over inference.
discrete models and support for a number of non-parametric process priors.
parameters of a PRISM program from data, e.g., by expectation-maximization.
executable from C-language generative model code.
ProbLog2 can calculate both conditional probabilities and MPE states.
includes methods for summarizing output, plotting, goodness-of-fit and convergence diagnostics.
efficient inference.
Bayesian inference via a method similar to Hamiltonian Monte Carlo sampling.
general-purpose use. Its virtual machine supports multiple scalable, reprogrammable inference strategies, plus two front-end languages: VenChurch and VentureScript.
„Traditionelles Programmieren“ „Probabilistisches Programmieren“ Computer können erstmal nichts. Computer sind autonom lernfähig. Der Entwickler ist allwissend. Der Entwickler wird zum Trainer. Ein Programm ist in sich stark strukturiert – oder sollte es sein: Klassen, Module, Komponenten, Funktionen, Tiers, Bus, Service, Regeln, Workflow …. Ein Graph setzt Wahrscheinlichkeitsvariablen zueinander in Beziehung. Systemmodellierung ist vor allem Bestimmung der relevanten WV. Ein Programm ist eine eindeutige und deterministische Beschreibung des Systemverhaltens zu jeder Eingabe. Der Computer lernt durch Training. Das Endergebnis wird nicht spezifiziert. Logik, Eindeutigkeit, Determiniertheit Datenqualität, Samplesize etc. Spezifikation, Testen, Versionen ,Wartung, Application Lifecycle Fehlerhafte Verhalten inhärent, Debugging, Lifecyle? Ausgereift, erlernbar Emerging, keine best practices etc.
Informationlink: Informationen, die in Entscheidungen einfliessen Entscheidungen Utility-Funktionen