Mon Wed Fri
This module starts with an introduction to machine learning: how it is organized, what are the sub branches of machine learning, fundamental differences between these approaches and types of problems they are designed to solve.
Next, students get familiar with framing a machine learning problem, picking up appropriate objective function and algorithm according to a given problem. It is well known that data wrangling and feature engineering takes most of the time of model development. Students learn techniques to effectively deal with missing values, outliers, categorical variables and design new features.
This course also covers algorithms that are used when the target variable which has to be predicted is known. It starts with simple KNN and ends with fully connected feed-forward neural networks. Proper testing of a model is essential to build a reliable product. Students are introduced to various testing methods and parameters that help to build generalizable and stable models.
- Formulating an ML problem;
- Feature engineering;
- Loss functions;
- Generalization and performance estimation;
- Hyperparameters optimization;
- Model selection;
- Linear regression;
- Logistic regression.
- k Nearest Neighbours;
- Tree-based models;
- Ensemble methods;
- Support Vector Machine (SVM);
- Introduction to neural networks;
- Recommendation systems;
- Collaborative filtering.
- Basic python programming skills;
- Experience in working with Pandas, NumPy, Matplotlib;
- Math skills: linear algebra, calculus, probability, statistics.
- Mathematical computing using popular Python packages as NumPy or Scikit-Learn
- How to prepare your data for model building (feature engineering)
- How to train and evaluate the performance of machine learning models
- How to tune the model’s hyperparameters and select models
- Understand and use linear/non-linear models
- Obtain an in-depth understanding of supervised and unsupervised learning models such as linear regression, logistic regression, SVM, clustering and K-NN
- Get an understanding of how the magic of neural networks actually works and will be able to write them yourself
- Build reproducible machine learning pipelines
- Experience applying these methods to real-world problems
- Experience in building machine learning model APIs