This course provides a broad introduction to machine learning (ML). It is intended for people with a background in computer science, who have not studied ML and AI before and want to gain skills in this area and understand how ML techniques work under the hood.
Students will learn about standard supervised machine learning techniques (for classification and regression), some unsupervised learning techniques (for clustering and anomaly detection), as well as best practices to achieve a good generalization and avoid underfitting/overfitting. Students will also gain practice implementing these techniques in Python and getting them to work on real data.
The aim of the course is for students to learn about standard supervised Machine Learning (ML) techniques for regression and classification as well as best practices in ML, and gain practice implementing ML in Python to work on real data.
The course covers the following topics:
- Introduction to machine learning, including basics and prerequisites
- Basic aspects of supervised machine learning, including basic regression and classification algorithms
- Overfitting and generalization, the bias/variance trade-off, and methods for avoiding overfitting, including regularization. Explanation of how these problems are addressed in various methods, including Support Vector Machines (SVMs), and ensemble methods
- Introduction to Neural Networks for supervised learning, as well as an overview of deep neural networks and unsupervised feature extraction with autoencoders
- Overview of unsupervised data clustering methods and their applications.