Advanced Data Analytics, HEC Lausanne, Fall Semster 2025
Data Scientist (n.): Person who is better at statistics than any software engineer and better at software engineering than any statistician.
- This is a 14-week Master’s level course on machine learning, offered at HEC Lausanne during the Fall Semester 2025 (Monday, September 15 - Monday, December 15, 2025).
- The course format consists of three 45-minute lecture sessions, followed by a 45-minute hands-on session at the end of each lecture.
Meeting time and location
- Meeting time: Mondays, 10:15 - 12:00; 16:30 - 18:00
- Where: Internef 126 (10:15 - 12:00); Anthropole 3185 (16:30 - 18:00)
TA sessions:
- A weekly hands-on session is held on Mondays from 17:15 to 18:00, led by the teaching assistant, Maria Pia Lombardo.
- Individual TA sessions can be arranged via email and take place on Fridays upon request.
Class enrollment on the Nuvolos Cloud
- All lecture materials (slides, codes, and further readings) will be distributed via the Nuvolos Cloud.
- To enroll in this class, please click on this enrollment key, and follow the steps.
Video to get started with Nuvolos
- First steps on Nuvolos (Video available on Nuvolos platform)
Course Objectives
-
The objective of the course is to gain practical familiarity with current computer-aided data analysis and machine-learning approaches.
- We will study various machine learning methods in the context of:
- supervised machine learning (classification and regression).
- unsupervised machine learning.
- reinforcement learning (if time permits).
- The lectures will be interactive, in a workshop-like style, that is, a mix of theory and actively playing with code examples (delivered in Python and deployed on a cloud computing infrastructure).
Prerequisites
- Basic econometrics.
- Basic programming in Python (see this link for a thorough introduction).
- Basic calculus and probability (Mathematics for Machine learning provides a good overview of skills participants are required to be fluent in).
Approximate schedule
Witness the incredible transformation of a student throughout the Machine Learning course, from a blank slate to a pioneer in AI!
Week 1, Monday, September 15th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Get up to speed – week 1.
- Topics:
- Introduction to Machine Learning
- A brief setup session on Nuvolos
- Topics:
Week 2, Monday, September 22th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- No Class: Swiss Federal Fast, Public Holiday
Week 3, Monday, September 29th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Get up to speed – week 2.
- Topics:
- A crash course on Programming in Python
- Introduction to Jupyter Notebooks
- A brief introduction to GitHub (quick tour; self-study)
- Finger exercises (at the end of the lecture; self-study)
- Introduction to Numpy (quick tour; self-study)
- Introduction to Scipy (quick tour; self-study)
- Topics:
- Distribution of Exercise sheet 1
Week 4, Monday, October 6th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 4
- Topics:
- Supervised Learning - the general idea
- Linear Regression (with multiple variables)
- Gradient Descent
- Polynomial Regression
- Tuning Model Complexity
- Stock Market Prediction (if time permits)
- Introduction to Pandas (quick tour; self-study)
- Discussion of the previous exercises; Finger exercises (with TA)
- Topics:
- Distribution of Exercise sheet 2
Week 5, Monday, October 13th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Intermezzo: a dedicated hands-on session on programming with Generative AI (LLMs) and autonomous agents, taught by Anna Smirnova.
- Lecture slides, week 5
Week 6, Monday, October 20th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 6
- Topics:
- Supervised Learning: Classification
- k-Nearest-Neighbours
- How to evaluate Classifiers
- Naive Bayes
- Decision Trees
- Combining Models (Boosting, Bagging – if time permits)
- Introduction to matplotlib (if time permits)
- Discussion of the previous exercises; Finger exercises (with TA)
- Topics:
- Distribution of Exercise sheet 3
Week 7, Monday, October 27th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 7
- Topics:
- Deep learning basics
- Multi-layer perceptron
- Feed-forward networks
- Network training - SGD
- Error back-propagation
- Some notes on overfitting
- Introduction to Tensorflow, applied to supervised machine learning problems
- Discussion of the previous exercises (with TA)
- Topics:
- Distribution of Exercise sheet 4
Week 8, Monday, November 3rd, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 8
- Topics:
- Warm-up with Tensorflow: Approximate analytical functions
- A comprehensive Tour to Tensorflow
- Introduction to PyTorch, applied to supervised machine learning problems
- Introduction to Deep Learning for Sequence Modeling (Recurrent Neural Networks, LSTMs, and a first glimpse into self-attention)
- LSTMs applied to Ozone time series data, and stock prices (I)
- Discussion of the previous exercises; Finger exercises (with TA)
- Topics:
- Distribution of Exercise sheet 5
Week 9, Monday, November 10th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Recap week – the most important concepts of the first 8 weeks will be reviewed, and open questions discussed so that no one is left behind
- Topics:
- Recap of Supervised Machine Learning: Regression
- Recap of Supervised Learning: Classification
- Recap of Stochastic Gradient Descent
- Feed-forward networks
- Sequence Modeling with Neural Networks (RNNs, LSTMs)
- Applications in NLP (at the end of the lecture; self-study)
- Discussion of the previous exercises (with TA)
- Topics:
Week 10, Monday, November 17th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 10
- Topics:
- Gaussian Process regression
- Kernels with noise
- Option-pricing examples (if time permits)
- GP classification (self-study)
- Finger exercises part 1 (at the end of the lecture (with TA))
- Finger exercises part 2 (at the end of the lecture (with TA))
- Topics:
- Distribution of Exercise sheet 6
Week 11, Monday, November 24th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 11
- Topics:
- The curse of Dimensionality
- Bayesian active learning
- Active Subspaces and Gaussian Process Regression
- Principal Component Analysis
- Discussion of the previous exercises; Finger exercises (with TA)
- Topics:
- Distribution of Exercise sheet 7
Week 12, Monday, December 1st, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 12
- Topics:
- k-Means
- Gaussian Mixture Models
- Expectation Maximization
- Hierarchical Clustering
- Density-based Clustering
- Discussion of the previous exercises; Finger exercises (with TA)
- Topics:
- Distribution of Exercise sheet 8
Week 13, Monday, December 8th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 13
- Topics:
- Introduction to Reinforcement learning (RL)
- A notebook on RL basics
- A notebook on Q learning
- RL: Optimal portfolio choice application
- Discussion of the previous exercises (with TA)
- Topics:
Week 14, Monday, December 15th, 2025 (10:15 - 12:00; 16:30 - 18:00)
- Lecture slides, week 14
- Topics:
- An Application of the tools studied so far: Deep Uncertainty Quantification for Integrated Assessment Models (Supervised, Unsupervised, and Reinforcement Learning)
- Finger exercises (at the end of the lecture; self-study)
- Wrap-up of the lecture
- Voluntary project presentations.
- 2h Consulting for the captstone project (with TA)
- Topics:
Grading
- Every student has to provide a capstone project that illustrates what was learned.
- Each student individually has to propose a data science project and work on it over the course of the semester.
- The due date to submit the project is in the last week of the semester.
- The deliverables are:
- i) a report of about 10 pages lengths.
- ii) a GitHub repository with the related code and data.
- iii) a video recording of a maximum of 10 minutes length that presents the project, the findings, etc.
- We will award the grades based on whether the captstone project demonstrates an understanding of the material. There will be no exams.
Lecturer
- Simon Scheidegger (University of Lausanne, Department of Economics)
- Simon Scheidegger: simon.scheidegger@unil.ch
TAs and support
- Maria Pia Lombardo mariapia.lombardo@unil.ch
- Anna Smirnova: anna.smirnova@unil.ch
- Nuvolos Support: support@nuvolos.cloud
Google document for questions on the previous lecture:
References
- An Introduction to Statistical Learning (James, Witten, Hastie, Tibshirani; Springer)
- Deep Learning (Goodfellow, Bengio, Courville; MIT Press)
- Pattern Recognition and Machine Learning (Bishop; Springer)
Auxiliary materials
- Git intro (Screencast available on Nuvolos)
- Terminal intro (Screencast available on Nuvolos)