What is the course about?
The course serves as a practical guide on how to program machine learning. It will cover some of the most common learning methods. Explanations of how the learning algorithms work will be provided, but the main emphasis is on how they are implemented in practice. The course will briefly cover learning algorithms for images, but most of the course will consider data frames containing words and numbers. This course has an ambitious curriculum – you should be prepared for a somewhat high-paced course, but ample support will be given along the way.
What will we cover?
Each session treats a different aspect of machine learning.
Session 1: Introduction to machine learning - quick history, how it is used today, and data pre-processing. Handling missing values, encoding variables etc. We will spend some time getting familiar with data frames in Python. Elements of natural language processing.
Session 2: Common regression and classification methods with emphasis on random forest and boosted decision trees. Basics of learning algorithms. How loss functions work and optimisation of these. Choices of hyperparameters.
Session 3: Artificial neural nets - how to determine neural net architecture and hyperparameters. Will briefly cover image processing and convolutional neural networks.
Session 4: Unsupervised machine learning and summary, including k-means clustering. Explanation of some unsupervised learning methods with an emphasis on k-means clustering. Summary of common machine learning methods and outline of when to use what. Guidance on how to explore machine learning further.
What will I achieve?
By the end of this course you should be able to...
Pre-process your data using some common methods
Program simple learning algorithms in Python using random forest, boosted decision trees, neural nets, and k-means clustering
Make informed decisions on choosing variables and tweaking hyperparameters
Explore machine learning further in an informed manner.
What level is the course and do I need any particular skills?
This course is aimed at people with some programming experience, but no machine learning experience. You must have programmed in Python, R, or a similar language before. You should be comfortable with e.g. for-loops and if-statements. You must be comfortable using a computer. Some mathematical understanding is favourable, but not necessary.
How will I be taught, and will there be any work outside the class?
The session consist of a combination of presentations and coding. This is a practical course with an emphasis on implementing what you learn. There will therefore be homework after each week where you explore what you learnt in class in more depth. There will be room for you to explore your topics of interest in several of these. A larger project will be assigned after the third week. If you cannot complete any homework, you are still welcome to join the course, but be aware that you may lose out on some of learning outcomes.
Are there any other costs? Is there anything I need to bring?
Computers will be provided, but if you prefer to program on your own machine, you must install Python and Jupyter Notebook, in addition to several libraries as instructed in class. Your laptop must have some space for somewhat large data sets. It’s a good idea to bring pen and paper. For the homework tasks, make sure you have access to a computer where you can install Python and Jupyter.
When I've finished, what course can I do next?
Data science with Python.