Preparing yourself for the ML course

The course assumes knowledge of Linear Algebra, Calculus, Probability Theory, and basic programming skills. Please, check the following self-assessment assignment to test whether you have the necessary qualifications for the course.

We will provide some help with math and Python programming basics in the first week of the course and, maybe, in the week prior to the course start (still to be decided on), but there is obviously a limit of how much can be learned in 1-2 weeks. Therefore, if you have difficulties solving the self-assessment assignment it is strongly recommended to start preparing yourself in advance. We can recommend the following literature for that.

Linear Algebra: "Introduction to Linear Algebra" by Gilbert Strang.

Calculus: We are still missing a good reference on Calculus - if you have a suggestion, let us know.

Probability Theory: You should be comfortable with Probability Theory background in Appendicies A + B of Yevgeny's lecture notes. For further reading we recommend the first three chapters of "Probability and Computing" by Mitzenmacher and Upfal. The first four chapters of the book cover all our needs in probability theory for the course.

Python programming (recommendations by Raghavendra Selvan and Sandu Ursu)

The official programming language of the course is Python. While there's a flood of material online, here are a couple of recommendations:

1. Scipy Lecture Notes

http://scipy-lectures.org/

2. Python 3 Tutorial

https://www.python-course.eu/python3_course.php

and the corresponding Numerical Python Course

https://www.python-course.eu/numpy.php

3. Introductory Course on Udacity

There are four modules in this particular course. If you just want to get acquainted with how to get stuff up and running in Python, you should maybe focus on first two. The other two modules are also good if you want to learn some bit of object oriented programming with Python.

https://www.udacity.com/course/programming-foundations-with-python--ud036

4. Basic Python for ML:

We don't vouch for the Machine Learning in this blog post, but would only use it as a template for loading files, naming variables, writing comments and to generate plots.

https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378


LaTeX: You are expected to be able to type your reports in LaTeX. If you have never used LaTeX before, we recommend Overleaf https://www.overleaf.com/ platform, which also has an introduction to LaTeX. If you register with your KU email you should automatically get a Premium account. If you are already using any other LaTeX editor - feel free to continue with it.