Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 1.74 KB

README.md

File metadata and controls

42 lines (24 loc) · 1.74 KB

Introduction to Probabilistic Programming for Scientific Discovery

Course material for the introduction to probabilistic programming for scientific discovery held at the Lviv Data Science Summer School

Structure

The course is structured into 4 lectures of 90 minutes presentation time each with 2 coding tutorials for self-paced consumption. Further reading material and references to relevant papers are provided in the respective lectures and tutorials.

This course is based on the Julia programming language. If you have not yet worked with Julia, I'd highly encourage you to take a quick look at a tutorial, such as this one or the ones offered by the JuliaAcademy.

Lectures

Lecture 1: Building the foundational knowledge

  • Example applications of probabilistic programming
  • Why do we even need probabilistic programming?
  • Underlying theoretical ideas

Lecture 2: Inference Engines & Introduction to Turing.jl

  • Approaches to inference
  • Probabilistic Programming Frameworks
  • Practical introduction to a probabilistic programming framework

Lecture 3: Hierarchical Bayesian Approaches & Bayesian Deep Learning

  • Bayesian deep learning
  • Marrying deep learning frameworks with probabilistic programming systems for type 2 machine learning

Lecture 4: The Connection to Scientific Problems

  • What types of simulators would I want to link to in scientific applications?
  • Areas of application: Robotics, Physics, Engineering, Machine-learning based design

Tutorials

Tutorial 1: Introduction to probabilistic programming systems

Tutorial 2: Bayesian deep learning + probabilistic programming (Bayesian deep learning)