Model-Based Machine Learning

Philosophical Transactions of the Royal Society A | , Vol 371

Publication

Several decades of research in the field of machine learning have resulted in a multitude of different algorithms for solving a broad range of problems. To tackle a new application, a researcher typically tries to map their problem onto one of these existing methods, often influenced by their familiarity with specific algorithms and by the availability of corresponding software implementations. In this study, we describe an alternative methodology for applying machine learning, in which a bespoke solution is formulated for each new application. The solution is expressed through a compact modelling language, and the corresponding custom machine learning code is then generated automatically. This model-based approach offers several major advantages, including the opportunity to create highly tailored models for specific scenarios, as well as rapid prototyping and comparison of a range of alternative models. Furthermore, newcomers to the field of machine learning do not have to learn about the huge range of traditional methods, but instead can focus their attention on understanding a single modelling environment. In this study, we show how probabilistic graphical models, coupled with efficient inference algorithms, provide a very flexible foundation for model-based machine learning, and we outline a large-scale commercial application of this framework involving tens of millions of users. We also describe the concept of probabilistic programming as a powerful software environment for model-based machine learning, and we discuss a specific probabilistic programming language called Infer.NET, which has been widely used in practical applications

Publication Downloads

MBML Book Sample Code

June 21, 2019

Supporting code for the Model-Based Machine Learning book. This project contains the sample code and test data for the freely available online book on model-based machine learning published at http://mbmlbook.com/. The book aims at educating readers how to build machine learning models for real-world problems. Each chapter tackles one such scenario by defining a statistical model and demonstrating how to apply it to actual data. The repository contains the source code for these models together with the sample data, so that readers can run it on their own, re-create the results from the book and experiment with modifying the code. Models here are created and inferred on using the Infer.NET framework (https://github.com/dotnet/infer).