Today, thousands of scientists and engineers are applying machine learning to an extraordinarily broad range of domains, and over the last five decades, researchers have created literally thousands of machine learning algorithms. Traditionally an engineer wanting to solve a problem using machine learning must choose one or more of these algorithms to try, and their choice is often constrained by their familiar with an algorithm, or by the availability of software implementations. In this talk we talk about 'model-based machine learning', a new approach in which a custom solution is formulated for each new application. We show how probabilistic graphical models, coupled with efficient inference algorithms, provide a flexible foundation for model-based machine learning, and we describe several large-scale commercial applications of this framework. We also introduce the concept of 'probabilistic programming' as a powerful approach to model-based machine learning, and we discuss a specific probabilistic programming language called Infer.NET, which has been widely used in practical applications.