# 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.

## We'll cover the following

## What is Bayesian machine learning?

**Bayesian statistics** is a statistical approach that applies Bayesian inference, based on Bayes’ theorem, to estimate the

In this course, we'll see the usage of this vital area of statistics, especially in machine learning and

## Structure of the course

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

**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,**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.

## Prerequisites

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.

## Assessments

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.