The teaching material is produced in various formats for printing and on-screen reading.
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.
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.
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
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 following topics will be covered
The following topics will be covered
General learning book on statistical analysis:
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 |