5 ms·
Interesting marketing. It seems to be an API for statistical functions and data. Though the term Probabilistic Programming sugggests a new programming paradigm,
by riazrizvi 10y ago
Interesting marketing. It seems to be an API for statistical functions and data. Though the term Probabilistic Programming sugggests a new programming paradigm, which it is not. If I'm not missing something, the term makes a dry subject sound cool.
- williamsmj 10y agoThere's much more to it than you suggest, but if marketing bothers you then check out the MIT Probabilistic Programming Project's talk at Strange Loop 2015: https://www.youtube.com/watch?v=-8QMqSWU76Q https://www.youtube.com/watch?v=-8QMqSWU76Q. Probabilistic programming is an area of huge academic activity, with deep connections to statistical inference, compiler design and, yes, UX.
- riazrizvi 10y agoOh I see. It is now a recognized application field in CS like Big Data, due to maturity of a suite of different tools from APIs to data engines.
- cscurmudgeon 10y agoAcademia is not exempt from marketing. And not all marketing is bad. :) Remember the origin of the term "dynamic programming"? > "I spent the Fall quarter (of 1950) at RAND. My first task was to find a name for multistage decision processes. An interesting question is, Where did the name, dynamic programming, come from? The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was Secretary of Defense, and he actually had a pathological fear and hatred of the word research. I’m not using the term lightly; I’m using it precisely. His face would suffuse, he would turn red, and he would get violent if people used the term research in his presence. You can imagine how he felt, then, about the term mathematical. The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially. Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation. What title, what name, could I choose? In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. I decided therefore to use the word “programming”. I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying. I thought, let's kill two birds with one stone. Let's take a word that has an absolutely precise meaning, namely dynamic, in the classical physical sense. It also has a very interesting property as an adjective, and that it's impossible to use the word dynamic in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It's impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities." https://en.wikipedia.org/wiki/Dynamic_programming#History https://en.wikipedia.org/wiki/Dynamic_programming#History
- chiph 10y ago> Probabilistic Programming Reminds me of myself, early in my career. "Well, it probably works..."
- Cybiote 10y agoIt is a different paradigm in the same sense that Logic programming is a different paradigm. It's not just some API or library you can start calling into, it's a tool which deeply changes how you approach your problem. You need to be comfortable and able to reason with probabilistic concepts^. Another way to look at it is, similar to how you can have the concept of a program as a differentiable function, you can have probabilistic programs as defining a distribution. Their utility is the ease with which they allow you to model complex probability distributions and then condition on observations. With that, you can do inference. If you've heard of bayesian networks or graphical models, PPs can generalize these. It's just a few lines to do hidden markov models, bayesian regression, gaussian processes, gaussian mixture models and LDA topic models. Their downside is that performing inference has been less efficient than writing these models out by hand. We know that the ideas are powerful as they produce generative models which work off less data and naturally incorporate uncertainty. The dream is, just as a more expressive language should have less patterns, probabilistic programming will one day make writing complex generative models so routine people won't bother specially naming them as this or that machine learning algorithm. ^ The kind you find in a book like this: http://www.mbmlbook.com/toc.html http://www.mbmlbook.com/toc.html
- marmaduke 10y ago> Probabilistic Programming sugggests a new programming paradigm PP itself is not just an API for stat functions and data. It lets you write a generative, forward program, and then you run the program on outputs (data), and it generates probable inputs (parameters). It's similar to constraint programming paradigm, but based on probabilities.
- mr_pink 10y ago> sugggests a new programming paradigm, which it is not No, you're just dismissing it without understanding it first. Which seems super common on this forum.