Overview of course material: Data Analysis and Machine Learning

Morten Hjorth-Jensen [1, 2]

[1] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University, USA
[2] Department of Physics (office FV308), University of Oslo, Norway

The teaching material is produced in various formats for printing and on-screen reading.

Warning.

The PDF files are based on LaTeX and have seldom technical failures that cannot be easily corrected. The HTML-based files, called "HTML" and "ipynb" below, apply MathJax for rendering LaTeX formulas and sometimes this technology gives rise to unexpected failures (e.g., incorrect rendering in a web page despite correct LaTeX syntax in the formula). Consult the corresponding PDF files if you find missing or incorrectly rendered formulas in HTML or ipython notebook files.

Basic introduction to the course with schedule etc

Introduction to Data Analysis and Machine Learning

Getting started with Machine Learning

Review of central linear algebra elements

Monte Carlo methods and elements of probability theory

Splines and Gradient methods

Regression Methods

Logistic Regression

Neural Networks

Elements of Bayesian theory

Decision trees, from simple to random ones

Support Vector Machines

Unsupervised Learning, Boltzmann Machines

Python and Scikit Learn, a short guide

Teach yourself C++

Projects and Exercises Fall 2018

First homework set, week 35

Second homework set, week 36

Project 1, Deadline October 1

Project 2, Deadline November 5

Project 3, Deadline November 30

Course content

Probability theory and statistical methods play a central role in science. Nowadays we are surrounded by huge amounts of data. For example, there are about one trillion web pages; more than one hour of video is uploaded to YouTube every second, amounting to 10 years of content every day; the genomes of 1000s of people, each of which has a length of \( 3.8\times 10^9 \) base pairs, have been sequenced by various labs and so on. This deluge of data calls for automated methods of data analysis, which is exactly what machine learning provides. In this course the approach is to define machine learning as a set of methods that can automatically detect patterns in data, and then use the uncovered patterns to predict future data, or to perform other kinds of decision making under uncertainty. Since many of these problems can be studied using tools of probability theory, the aim of this course is to expose you to central methods in probability theory linked with machine learning.

This course covers thus topics like Monte Carlo methods and Markov chains, Bayesian statistics, error estimates, various linear methods, optimization of data and error analysis and central algorithms in machine learning. The course has several numerical projects and numerical exercises that are meant to illustrate the theory.

Learning outcomes

The course introduces a variety of central algorithms and methods essential for studies of data analysis and machine learning. The course is project based and through the various projects, normally three, the students will be exposed to fundamental research problems in these fields, with the aim to reproduce state of the art scientific results. The students will learn to develop and structure large codes for studying these systems, get acquainted with computing facilities and learn to handle large scientific projects. A good scientific and ethical conduct is emphasized throughout the course. More specifically, after this course you will

Prerequisites

Basic knowledge in programming and numerics. Required courses are the equivalents to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx.

The course has two central parts

  1. Statistical analysis and optimization of data
  2. Machine learning

Statistical analysis and optimization of data

The following topics will be covered

Machine learning

The following topics will be covered

All the above topics will be supported by examples, hands-on exercises and project work.

Recommended textbooks

Other textbooks

General learning book on statistical analysis:

General Machine Learning Books:

Teaching schedule Fall 2018

Acronyms for textbooks and references to chapter

Week and days Topics to be covered Projects, exercises and deadlines Reading assignments Lab activities
Week 34 Introduction and regression analysis Exercises TBD HTF chapters 1-3 and lecture notes No lab first week
Week 35 Regression analysis Exercises TBD HTF chapter 3 and lecture notes Introduction to Git, GitHub and Python software, Python technicalities and work on exercises
Week 36 Regression analysis and nearest neighbors Exercises TBD HTF chapters 3, 4 and 13 and lecture notes Work on exercises
Week 37 Classification and logistic regression Presentation of Project 1, deadline October 1 HTF chapter 4 and lecture notes Work on project 1
Week 38 Optimization methods Exercises and project 1 HTF chapter 5 and lecture notes Work on project 1, deadline October 1
Week 39 Statistics, Bayesian statistics Project 1 Lecture notes Work on Project 1
Week 40 Statistics, Monte Carlo and Randow walks Presentation of project 2, deadline November 5 Lecture notes Deadline project 1, October 1
Week 41 Statistics, Monte Carlo, Gibbs and Metropolis sampling Project 2 Lecture notes Work on project 2
Week 42 Neural networks Project 2 HTF chapter 11 and lecture notes Work on project 2
Week 43 Neural networks Project 2 HTF chapter 11 and lecture notes Work on project 2
Week 44 Neural networks Project 2 HTF chapter 11 and lecture notes Work on project 2
Week 45 Support Vector Machines Presentation and discussion of project 3 HTF chapter 12 and lecture notes Deadline project 2 November 5
Week 46 Decision trees Project 3 HTF chapter 9 and lecture notes Work on project 3
Week 47 Unsupervised learning, Boltzmann machines Project 3 HTF chapter 14 and lecture notes Work on project 3
Week 48 Unsupervised learning, summary of course and final workshop Project 3 Lecture notes Final workshop with presentation of project 3