An Overview of the Course

Get a brief overview of Bayesian machine learning, and learn about the structure of the course, prerequisites, and learning outcomes.

What is Bayesian machine learning?

Bayesian statistics is a statistical approach that applies Bayesian inference, based on Bayes’ theorem, to estimate the posterior probabilityPosterior probability is probability after the event has occurred. of a hypothesis, given a set of data. This approach helps make inferences about unknown parameters, given observed data, and updates existing beliefs when new evidence is available. This method has become increasingly popular in machine learningThe use and development of computer systems that are able to learn and adapt without following explicit instructions by using algorithms and statistical models to analyse and draw inferences from patterns in data. and data science because it provides a way to incorporate prior knowledge and subjective beliefs into the analysis. It also allows for estimating a posterior probability distribution over a range of possible hypotheses and parameters, making it a powerful tool for making decisions under uncertainty.

In this course, we'll see the usage of this vital area of statistics, especially in machine learning and optimizationThe action of making the best or most effective use of a situation or resource.. Furthermore, this course will establish ways and methods of handling complex uncertainty problems efficiently and effectively.

Structure of the course

The course is divided into four chapters and a hands-on project, which are depicted in the following illustration.

Press + to interact
An illustration of important concepts in this course.
An illustration of important concepts in this course.
  • Introduction to Bayesian statistics: This is the first chapter of the course and serves as an introduction to the concepts of statistics in general and Bayesian statistics in particular. This chapter is primarily focused on comparing frequentist statistics with Bayesian statistics, an introduction to Bayes’ theorem, its correlation with maximum likelihood estimation, and its application in daily life. Furthermore, in order to make the course interactive, there are examples are written in Python to provide an test environment for us to interact with and see the effect of these concepts.

  • Bayesian machine learning: The second chapter provides an overview of how Bayesian statistics is used in machine learning. Here, the concepts of maximum likelihood estimation, maximum posterior estimation, and Bayesian inferences are also discussed in the context of machine learning. The chapter concludes with a hands-on example of Bayesian statistics in machine learning.

  • Optimization: This chapter presents a bird’s eye view of optimization concepts and problems. It includes different methods for optimization, including linear programming, random search, genetic algorithms, and Bayesian optimization. In the last lesson, real-life case studies are included to indicate the importance of optimization.

  • Bayesian optimization: After an overview and introduction to various optimization concepts, hands-on experience is provided to develop various components of Bayesian optimization. Furthermore, developed frameworks such as PyMO, Dragonfly, and BoTorch are considered, and their usage is explained through examples.

  • Hyperparameter tuning: At the end of this course, a complete project is done using Bayesian optimization. During the training of various machine learning models, selecting various hyperparameters is essential, and their values affect the model’s overall performance. In the mini project, we'll get hands-on experience with this problem and present different steps one by one, finishing this course with the experience of doing Bayesian optimization through Dragonfly on a real-life project.


Before starting the course, it will be beneficial for the learner to have familiarity with the following concepts to improve their overall learning experience:

  • Python programming language.

  • Python libraries like NumPy, pandas, SciPy, and Matplotlib.

  • Machine learning concepts and algorithms.

  • Software engineering concepts.

Learning outcomes

This course will help us achieve the following learning objectives:

  • Understanding the difference between traditional (frequentist) and Bayesian statistics.

  • Understanding the important concepts of Bayesian machine learning.

  • Understanding and implementing the process of Bayesian optimization from scratch.

  • Understanding and implementing the process of Bayesian optimization using a framework.

  • Implementing the process of Bayesian optimization for real-life examples of hyperparameter tuning.


Each chapter is followed by an assessment to test your level of understanding and revisit what you've learned. At the end of the course, there is a hands-on project to apply the knowledge you've gained.