|Infer.NET Machine Learning Framework Now Open Source|
|Written by Alex Denham|
|Thursday, 11 October 2018|
Microsoft has made another of its products open source; this time its the Infer.NET machine learning network. Infer.NET is a framework for running Bayesian inference in graphical models that can also be used for probabilistic programming.
It was developed by a team at Microsoft Research in Cambridge, UK who began work on the framework back in 2004. The original plan was to use it as a research tool and it was released for academic use in 2008, since when it has achieved some success in academic research. It is currently used as the machine learning engine in a number of Microsoft products in Office, Xbox and Azure.
The Infer.NET team says that what makes it special is that it enables a model-based approach to machine learning, so you can incorporate domain knowledge into your model, and the framework can then build a bespoke machine learning algorithm directly from that model. This means that instead of having to map your problem onto a pre-existing learning algorithm that you’ve been given, Infer.NET actually constructs a learning algorithm for you, based on the model you’ve provided.
In Infer.NET, models are described using a probabilistic program, and Infer.NET compiles the probabilistic program into high-performance code for implementing deterministic approximate Bayesian inference. This lets you handle uncertainty about what value some elements of the data set should contain, assigning probabilities to the likely values. Bayesian inference lets you work backwards from an observation to its origin - the potential values and their probabilities.
The developers say that the use of deterministic inference algorithms is complementary to the predominantly sampling-based methods of most other probabilistic programming frameworks, and the approach means it supports online Bayesian inference – the ability of the system to learn as new data arrives.
This means you could use Infer.NET if you have extensive knowledge about the domain you’re solving a problem in, or if interpreting the behavior of the system is of importance for you, or if you have a production system that needs to learn as new data arrives.
Infer.NET will become a part of ML.NET – the machine learning framework for .NET developers, and the team has already taken several steps towards integration with ML.NET, including setting up the repository under the .NET Foundation and moving the package and namespaces to Microsoft.ML.Probabilistic. Infer.NET will extend ML.NET for statistical modelling and online learning.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Thursday, 11 October 2018 )|