{"id":170935,"date":"2012-04-02T08:16:07","date_gmt":"2012-04-02T08:16:07","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/infer-net-fun\/"},"modified":"2017-06-16T09:44:24","modified_gmt":"2017-06-16T16:44:24","slug":"infer-net-fun","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/infer-net-fun\/","title":{"rendered":"Infer.NET Fun"},"content":{"rendered":"<p>&#8220;I think it&#8217;s extraordinarily important that we in computer science keep fun in computing.&#8221;<\/p>\n<p>Alan J. Perlis &#8211; ACM Turing Award Winner 1966.<\/p>\n<p class=\"asset-content\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/infer-net-fun-2.jpg\" alt=\"\" width=\"222\" height=\"137\" \/>Infer.NET Fun turns the simple succinct syntax of F# into an executable modeling language for Bayesian machine learning.<!-- .asset-content --><\/p>\n<p>We propose a marriage of probabilistic functional programming with Bayesian reasoning. Infer.NET Fun turns F# into a probabilistic\u00a0modeling language \u2013 you can code up the conditional probability distributions of Bayes\u2019 rule using F# array comprehensions with constraints. Write your model in F#. Run it directly to synthesize test datasets and to debug models. Or compile it with Infer.NET for efficient statistical inference. Hence, efficient algorithms for a range of regression, classification, and specialist learning tasks derive by probabilistic functional programming.<\/p>\n<p>Tabular brings the power of Infer.NET Fun to spreadsheet users, via a domain-specific languages for probabilistic models designed to be authored within the spreadsheet, taking machine learning to where the data is.<\/p>\n<ul>\n<li><strong>April 2015:<\/strong> new version released of the <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/tabular\/\">Excel addin<\/a>.<\/li>\n<li><strong>November 2014: <\/strong>the <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/probabilistic-programs-as-spreadsheet-queries\/\">full version of our ESOP 2015<\/a> paper on embedding Tabular in spreadsheets is out.<\/li>\n<li><strong>June 2014:<\/strong> Tabular is available as an <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/tabular\/\">Excel addin<\/a>.<\/li>\n<li><strong>March 2014: <\/strong>Tabular is being shown at TechFest&#8217;14.<\/li>\n<li><strong>January 2014:<\/strong>\u00a0catch up with the\u00a0slides from\u00a0Andy&#8217;s <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/tabular-a-schema-driven-probabilistic-programming-language\/\">POPL talk on Tabular<\/a>, now available on the web.<\/li>\n<li><strong>December 2013: <\/strong>the <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/tabular-a-schema-driven-probabilistic-programming-language\/\">full version of our POPL 2014<\/a> paper on Tabular is out. Tabular is a new schema-driven approach to probabilistic programming: don\u2019t make the programming language probabilistic, make the schema probabilistic.<\/li>\n<li><strong>August 2013:<\/strong> our\u00a0paper on <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"http:\/\/arxiv.org\/abs\/1308.0689\" target=\"_blank\">measure transformer semantics for probabilistic programs<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> has been accepted by the journal <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"http:\/\/www.lmcs-online.org\/index.php\" target=\"_blank\">LMCS<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<li><strong>March 2013<\/strong>: our <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/deriving-probability-density-functions-from-probabilistic-functional-programs\/\">TACAS paper<\/a> wins the EAPLS Best Paper Award for ETAPS 2013. Let&#8217;s you drive MCMC samplers like <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/filzbach\/\">Filzbach<\/a> from Fun programs.<\/li>\n<li>Read Andy Gordon&#8217;s <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/fun-agendaforprobabilisticprogramming.pdf\">position statement<\/a> <strong>An Agenda for Probabilistic Programming: Usable, Portable, and Ubiquitous<\/strong> for the ISAT\/DARPA workshop on &#8220;Probabilistic Programming: Democratizing Machine Learning&#8221;, Menlo Park, February 2013.<\/li>\n<li>See <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/Model_Learner_Pattern_POPL_Rome.pdf\" target=\"_new\">here<\/a> for Andy Gordon&#8217;s talk at POPL 2013, which explains the <strong>5 distributions of a Bayesian model as 5 probabilistic programs in F#.<\/strong><\/li>\n<li>And see <a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/fun-probabilistic_programming_obt_january_2013.pdf\" target=\"_self\">here<\/a>\u00a0for Andy Gordon&#8217;s <strong>Probabilistic Programming<\/strong> talk at OBT 2013.<\/li>\n<li>See <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/channel9.msdn.com\/Events\/Lang-NEXT\/Lang-NEXT-2012\/Reverend-Bayes-meet-Countess-Lovelace-Probabilistic-Programming-for-Machine-Learning\">here<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> for the slides and video of Andy Gordon&#8217;s <b>Infer.NET Fun<\/b> talk at Lang.NEXT 2012.<\/li>\n<\/ul>\n<p>Some current participants in the Infer.NET Fun project:<\/p>\n<ul>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"http:\/\/users.mct.open.ac.uk\/ma4962\/index.utf8.html\" target=\"_blank\">Mihhail Aizatulin<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> (Open University)<\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"http:\/\/johannes.borgstroem.org\/\" target=\"_blank\">Johannes Borgstr\u00f6m\u00a0<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>(Uppsala University)<\/li>\n<li><a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/adg\/\">Andy Gordon<\/a> (Microsoft Research Cambridge)<\/li>\n<li>Thore Graepel (Microsoft Research Cambridge)<\/li>\n<li><a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/adityan\/\">Aditya Nori<\/a> (Microsoft Research Bangalore)<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sriram\/\">Sriram Rajamani<\/a> (Microsoft Research Bangalore)<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/crusso\/\">Claudio Russo<\/a> (Microsoft Research Cambridge)<\/li>\n<\/ul>\n<p>Since\u00a0September 2012, Infer.NET Fun is a component of Infer.NET.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;I think it&#8217;s extraordinarily important that we in computer science keep fun in computing.&#8221; Alan J. Perlis &#8211; ACM Turing Award Winner 1966. Infer.NET Fun turns the simple succinct syntax of F# into an executable modeling language for Bayesian machine learning. We propose a marriage of probabilistic functional programming with Bayesian reasoning. Infer.NET Fun turns [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13556,13560],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-170935","msr-project","type-msr-project","status-publish","hentry","msr-research-area-artificial-intelligence","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2012-04-02","related-publications":[159909,163680,165848,167607],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[235453],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","value":"adityan","display_name":"Aditya Nori","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/adityan\/\" aria-label=\"Visit the profile page for Aditya Nori\">Aditya Nori<\/a>","is_active":false,"user_id":30829,"last_first":"Nori, Aditya","people_section":0,"alias":"adityan"},{"type":"user_nicename","value":"sriram","display_name":"Sriram Rajamani","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sriram\/\" aria-label=\"Visit the profile page for Sriram Rajamani\">Sriram Rajamani<\/a>","is_active":false,"user_id":33711,"last_first":"Rajamani, Sriram","people_section":0,"alias":"sriram"}],"msr_research_lab":[199562],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170935\/revisions"}],"predecessor-version":[{"id":236771,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170935\/revisions\/236771"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=170935"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=170935"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=170935"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=170935"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=170935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}