Introduction to Scientific Machine Learning

Course Cover
compare button icon

Course Features

icon

Duration

16 weeks

icon

Delivery Method

Online

icon

Available on

Limited Access

icon

Accessibility

Mobile, Desktop, Laptop

icon

Language

English

icon

Subtitles

English

icon

Level

Advanced

icon

Effort

7 hours per week

icon

Teaching Type

Instructor Paced

Course Description

This course provides an introduction to data analytics for individuals with no prior knowledge of data science or machine learning. The course starts with an extensive review of probability theory as the language of uncertainty, discusses Monte Carlo sampling for uncertainty propagation, covers the basics of supervised (Bayesian generalized linear regression, logistic regression, Gaussian processes, deep neural networks, convolutional neural networks), unsupervised learning (k-means clustering, principal component analysis, Gaussian mixtures) and state space models (Kalman filters). The course also reviews the state-of-the-art in physics-informed deep learning and ends with a discussion of automated Bayesian inference using probabilistic programming (Markov chain Monte Carlo, sequential Monte Carlo, and variational inference). Throughout the course, the instructor follows a probabilistic perspective that highlights the first principles behind the presented methods with the ultimate goal of teaching the student how to create and fit their own models.

Course Overview

projects-img

Live Class

projects-img

Human Interaction

projects-img

Personlized Teaching

projects-img

International Faculty

projects-img

Post Course Interactions

projects-img

Instructor-Moderated Discussions

Skills You Will Gain

Prerequisites/Requirements

Working knowledge of multivariate calculus and basic linear algebra

Basic Python knowledge

Knowledge of probability and numerical methods for engineering would be helpful, but not required

What You Will Learn

Represent uncertainty in parameters in engineering or scientific models using probability theory

Propagate uncertainty through physical models to quantify the induced uncertainty in quantities of interest

Solve basic supervised learning tasks, such as: regression, classification, and filtering

Solve basic unsupervised learning tasks, such as: clustering, dimensionality reduction, and density estimation

Create new models that encode physical information and other causal assumptions

Calibrate arbitrary models using data

Apply various Python coding skills

Load and visualize data sets in Jupyter notebooks

Visualize uncertainty in Jupyter notebooks

Recognize basic Python software (e.g., Pandas, numpy, scipy, scikit-learn) and advanced Python software (e.g., pymc3, pytorch, pyrho, Tensorflow) commonly used in data analytics

Course Instructors

Author Image

Ilias Bilionis

Associate Professor of Mechanical Engineering at Purdue University

Bilionis obtained his Diploma in Applied Mathematics and Physical Sciences from the National Technical University of Athens in 2008. In 2013, he obtained his Ph.D. in Applied Mathematics from Cornell...
Course Cover