3 ms·
Yes, this is precisely what is called probabilistic inference. I was trying to find out what more it can do other than parsing a DSL into a graphical model.
by gnipgnip 10y ago
Yes, this is precisely what is called probabilistic inference.
I was trying to find out what more it can do other than parsing a DSL into a graphical model.
- kqr 10y agoPlenty of things! The real world is often best modeled by a probabilistic model; you can rarely state facts in definite terms. The probability the bus arrives on time may be 70%. The probability that a particular host is up may be 92%. The probability of needing a reboot within the next week is 2%. The probability that the user switched off Wifi on their machine is 4%, and the probability that their router is having trouble is 3%. These numbers can be based on actual measurements. What do we tell the user when they have problems connecting? Instead of just saying "it's either this or that" we can run the numbers, and perhaps in aggregate there's an overwhelming probability it's a particular event, in which case we suggest that first. There are so many cases where we don't actually know for certain all the parameters involved, but the conventional approach is still to round the probability either up to 100% or down to 0%. Simply because that's easier in conventional programming languages. As a result, you might not see these events as having probability distributions, but they do.
- gnipgnip 10y agohttps://en.wikipedia.org/wiki/Graphical_model https://en.wikipedia.org/wiki/Graphical_model
- YeGoblynQueenne 10y agoHey, come on- give an explanation. Don't just flip people the link, innit.
- platz 10y ago> graphical models typically serve as coarse, high-level descriptions, eliding critical aspects such as fine-grained independence, abstraction and recursion. Maybe you're not impressed with graphical models due to your experience dealing with them according to the points above. by "writing code that generates a sample from the joint distribution", you can achieve much better modelling and control than what it would take with the normal methods of producing graphical models.
- YeGoblynQueenne 10y agoThe first probabilistic language I came across was PRISM [1] (I made a post about it earlier today). It's a probabilistic _logic_ programming language so you're basically declaring your Prolog facts with probabilities attached and then run your program as a simulation, drawing samples from a distribution over variable bindings. I see it as having a database of facts about the world with attached probabilities that tell you which view over (or perhaps version of) the world is the most likely. And then you can do EM search for optimal parameters. Learning, right? It's all built-in to the language and you don't need to hand-craft task-specific versions depending on your domain (like Baum-Welch, Inside-Outside etc). Also, it's a probabilistic Prolog: it's Turing complete and gives you all the expressive power of first-order predicate calculus. With probabilities. And learning of parameters from data. Languages like this go way, way beyond ad-hoc implementations of inference over graphical models, to giving us a new vocabulary to express reasoning over vast sets of data. __________ [1] http://rjida.meijo-u.ac.jp/prism/ http://rjida.meijo-u.ac.jp/prism/