Introduction to machine learning for engineers
Summary
Machine learning is a sub-field of Artificial Intelligence that allows computers to learn from data, identify patterns and make predictions. As a fundamental building block of the Computational Thinking education at EPFL, Civil students will learn ML with civil case studies (summary generated by ML)
Content
This class will focus on the basics of Machine Learning.
Students will code in Python.
CONTENT
The class will cover the following concepts:
- Machine learning basics
- Supervised vs Unsupervised
- Regression vs. Classification
- Underfitting vs Overfitting
- Bias vs. Variance
- Parametric vs Non-parametric approaches
- Discriminative vs Generative models
- Shallow vs Deep learning
- Shallow supervised learning
- Linear Regression
- Logistic Regression
- Naive Bayes
- Gaussian naive
- Trees
- Random forest
- Ensemble/bagging/boosting
- Support Vector Machine
- Deep learning
- Neural networks overview
- Type Layers
- Activation functions
- Backpropagation
- Unsupervised learning / dimensionality reduction
- SVD
- PCA
- Embeddings
- Autoencoders
- Unsupervised learning / clustering
- K-means
- Gaussian mixture
- DBSCAN
- Role of input
- Feature engineering
- Role of representation
- Handling different types of features
- Missing values
- Feature expansion
- Role of supervision
- Loss functions
- Multitask learning
- Role of optimization
- Stochastic/Gradient descent
- Recipe/tips for training
- Weight initialization
- Data augmentation
- Regularization techniques
- Transfer learning
- ML ethics
Keywords
Machine learning, Computational Thinking, Artificial intelligence
Learning Prerequisites
Required courses
CS-119(h)
Linear algebra
Basic programming skills (labs will use Python).
Learning Outcomes
By the end of the course, the student must be able to:
- Define the following basic machine learning problems: regression, classification, clustering, dimensionality reduction
- Explain the main differences between them
- Implement algorithms for these machine learning models
- Optimize the main trade-offs such as overfiting, and computational cost vs accuracy
- Implement machine learning methods for real-world problems, and rigorously evaluate their performance using cross-validation. Experience common pitfalls and how to overcome them.
- Finally, civil students will know the basics of Machine learning, and how they can use it in their fields of interest.
Teaching methods
Lectures and lab exercices.
Assessment methods
Lab homeworks: 10%
Final project: 40%
Final exam: 50%
Supervision
Office hours | Yes |
Assistants | Yes |
Forum | Yes |
Prerequisite for
Introduction to python programming.
In the programs
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Introduction to machine learning for engineers
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 3 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Introduction to machine learning for engineers
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 3 Hour(s) per week x 14 weeks
- Type: mandatory
Reference week
Mo | Tu | We | Th | Fr | |
8-9 | |||||
9-10 | |||||
10-11 | |||||
11-12 | |||||
12-13 | |||||
13-14 | |||||
14-15 | |||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |