CIVIL-226 / 5 credits

Teacher(s): Alahi Alexandre Massoud, Fink Olga

Language: English


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

Resources

Moodle Link

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

Related courses

Results from graphsearch.epfl.ch.