| 01 | Sep 14 | Introduction to Machine Learning | Materials |
Learning Objectives
- Understand the fundamentals of machine learning
- Distinguish between different types of learning paradigms
- Set up your development environment on Nuvolos
- Get familiar with the course structure and expectations
Topics Covered
- Introduction to Machine Learning: What is ML,
history, and applications
- Types of Learning: Supervised, unsupervised, and
reinforcement learning
- Nuvolos Setup: Cloud environment configuration for
the course
- Course overview and expectations
Key Concepts
- Machine Learning vs Traditional Programming
- Supervised vs Unsupervised vs Reinforcement Learning
- Training data, test data, and model evaluation
- Real-world applications of ML
Getting Started
- Enrol in the Nuvolos cloud platform
- Review the introduction slides thoroughly
- Familiarize yourself with the course repository
- No assignment this week - focus on setup and understanding
fundamentals
|
| 02 | Sep 21 | No class — Swiss federal fast (holiday) | — |
| 03 | Sep 28 | Get up to speed — Python, notebooks, GitHub | Materials |
Learning Objectives
- Master Python programming fundamentals for data analysis
- Work effectively with Jupyter notebooks for interactive
computing
- Understand NumPy and SciPy for scientific computing
- Set up GitHub for version control and collaboration
- Build foundation skills for machine learning implementations
Topics Covered
- Python Crash Course: Essential Python concepts for
data science
- Jupyter Notebooks: Interactive development
environment
- GitHub Introduction: Version control basics
(self-study)
- NumPy Fundamentals: Arrays, linear algebra
operations (self-study)
- SciPy Introduction: Scientific computing tools
(self-study)
- Practical Exercises: Hands-on finger exercises
Key Skills Developed
- Python data structures and control flow
- Jupyter notebook best practices
- Basic array operations with NumPy
- Scientific computing with SciPy
- Version control workflow
Assignments
- Exercise 1: Distributed this week
- Complete finger exercises from lecture
- Set up GitHub repository for course work
|
| 04 | Oct 5 | Supervised Learning - Regression | Materials |
Learning Objectives
- Understand the fundamental concepts of supervised learning
- Master linear and polynomial regression techniques
- Learn optimization methods including gradient descent
- Apply regression models to real-world datasets
- Understand model complexity and overfitting
Topics Covered
- Supervised Learning: The general framework and
approach
- Linear Regression: Single and multiple
variables
- Gradient Descent: Optimization algorithm for model
training
- Polynomial Regression: Non-linear
relationships
- Tuning Model Complexity: Bias-variance
tradeoff
- Practical Applications: Stock market prediction (if
time permits)
- Data Manipulation: Introduction to Pandas
Key Concepts
- Cost functions and loss minimization
- Normal equation vs gradient descent
- Feature scaling and normalization
- Model evaluation metrics (MSE, MAE, R²)
- Overfitting vs underfitting
Practical Skills
- Implementing regression from scratch
- Using scikit-learn for regression tasks
- Data preprocessing with Pandas
- Model evaluation and validation
Assignments
- Exercise 2: Distributed this week
- Complete finger exercises with TA guidance
- Practice implementing gradient descent
|
| 05 | Oct 12 | Guest Lecture - Generative AI for Programming | Materials |
Guest Lecturer
Anna Smirnova - PhD Candidate
Learning Objectives
- Understand the landscape of AI tools for programming (chatbots,
assistants, agents)
- Distinguish between standard and reasoning AI models
- Learn effective prompt engineering techniques for code
generation
- Understand the capabilities and limitations of AI-assisted
programming
- Get hands-on experience with GitHub Copilot and other AI coding
tools
Topics Covered
- The AI Landscape: Three types of AI tools for
coding
- Chatbots (ChatGPT, Claude)
- Code Assistants (GitHub Copilot, Cursor)
- Autonomous Agents (Devin, Claude Code)
- Understanding AI Models: Standard vs. reasoning
models
- Practical Usage: How to effectively use GitHub
Copilot
- Prompt Engineering: Techniques for better AI
assistance
- Reality Check: Benefits, limitations, and ethical
considerations
- The Future: Autonomous coding agents and their
implications
Key Concepts
- Large Language Models (LLMs) architecture
- Transformer models and attention mechanisms
- Context windows and token limits
- Fine-tuning vs. prompt engineering
- Chain-of-thought reasoning
- AI safety and alignment
Practical Skills
- Using GitHub Copilot effectively
- Writing effective prompts for code generation
- Debugging AI-generated code
- Understanding when to use (and not use) AI assistance
- Evaluating AI tool outputs critically
Important Considerations
- Academic Integrity: Proper attribution and
understanding
- Code Quality: AI as a tool, not a replacement for
learning
- Security: Risks of copying AI-generated code
without review
- Bias: Understanding limitations and biases in AI
systems
Additional Resources
- GitHub Copilot documentation
- OpenAI and Anthropic research papers
- AI safety and ethics guidelines
|
| 06 | Oct 19 | Classification | Materials |
Learning Objectives
- Understand fundamental classification concepts and algorithms
- Master k-Nearest Neighbors (k-NN) algorithm
- Learn how to evaluate classifier performance
- Understand Naive Bayes classification
- Explore decision trees and ensemble methods
- Apply classification algorithms to real-world datasets
Topics Covered
- Classification Fundamentals: Problem formulation
and terminology
- k-Nearest Neighbors (k-NN): Instance-based learning
algorithm
- Classifier Evaluation: Accuracy, precision, recall,
F1-score, confusion matrices
- Naive Bayes: Probabilistic classification based on
Bayes’ theorem
- Decision Trees: Tree-based classification and
feature selection
- Ensemble Methods: Boosting and Bagging for improved
performance
- Practical Applications: Introduction to matplotlib
(if time permits)
Key Concepts
- Supervised vs unsupervised classification
- Training and test set evaluation
- Cross-validation techniques
- Overfitting in classification models
- Feature importance and selection
- Bias-variance tradeoff in classification
Algorithms Covered
- k-NN: Distance-based classification
- Naive Bayes: Probabilistic approach
- Decision Trees: Rule-based classification
- AdaBoost: Adaptive boosting
- Bagging: Bootstrap aggregating
Practical Skills
- Implementing classifiers from scratch
- Using scikit-learn for classification tasks
- Model evaluation and performance metrics
- Data visualization with matplotlib
- Handling categorical and numerical features
Assignments
- Exercise 3: Distributed this week
- Complete finger exercises with TA guidance
- Practice implementing and comparing different classifiers
|
| 07 | Oct 26 | Deep Learning Basics | Materials |
Learning Objectives
- Understand the fundamentals of neural networks and deep
learning
- Learn about multi-layer perceptrons (MLPs) and their
architecture
- Master feed-forward networks and their training process
- Understand stochastic gradient descent (SGD) and
backpropagation
- Recognize overfitting issues and regularization techniques
- Apply deep learning to real-world problems
Topics Covered
- Deep Learning Basics: Neural network fundamentals
and motivation
- Multi-layer Perceptron (MLP): Architecture and
design principles
- Feed-forward Networks: Information flow and network
topology
- Network Training: Stochastic Gradient Descent (SGD)
optimization
- Error Backpropagation: Algorithm for computing
gradients
- Overfitting Prevention: Regularization techniques
and best practices
- Introduction to TensorFlow: Applied to supervised
learning problems
Key Concepts
- Perceptron: Single neuron model and
limitations
- Universal Approximation Theorem: Theoretical
foundation of neural networks
- Activation Functions: ReLU, sigmoid, tanh, and
their properties
- Loss Functions: Mean squared error, cross-entropy
for different tasks
- Optimization: Gradient descent variants and
learning rates
- Regularization: Dropout, weight decay, early
stopping
Practical Skills
- Building neural networks from scratch
- Implementing backpropagation algorithm
- Using TensorFlow for deep learning tasks
- Network architecture design and hyperparameter tuning
- Debugging and troubleshooting neural networks
Assignments
- Exercise 4: Distributed this week - Neural network
implementation
- Practice building and training MLPs
- Explore different activation functions and architectures
Further Reading
- Deep Learning textbook chapters on MLPs and backpropagation
- TensorFlow documentation and tutorials
|
| 08 | Nov 2 | Tensorflow/PyTorch, RNNs, LSTMs | Materials |
Learning Objectives
- Master popular deep learning frameworks: TensorFlow and PyTorch
- Understand sequence modeling with RNNs and LSTMs
- Apply deep learning to time series and sequential data
- Develop practical skills in framework-specific implementations
- Explore self-attention mechanisms and their applications
Topics Covered
- TensorFlow Tour: Comprehensive introduction to
TensorFlow ecosystem
- PyTorch Introduction: Practical PyTorch for machine
learning applications
- Deep Learning for Sequence Modeling: Working with
sequential data
- Recurrent Neural Networks (RNNs): Understanding
sequential dependencies
- Long Short-Term Memory (LSTMs): Advanced sequence
modeling
- Self-Attention: Introduction to attention
mechanisms
Key Concepts
- Framework Comparison: TensorFlow vs PyTorch
advantages and use cases
- Computational Graphs: Static vs dynamic graph
construction
- Sequential Data: Time series, text, and other
sequential patterns
- RNN Architecture: Vanilla RNNs, vanishing gradient
problem
- LSTM Components: Forget gate, input gate, output
gate
- Attention Mechanisms: Self-attention and
transformer basics
Practical Applications
- Function Approximation: Using TensorFlow for
analytical functions
- Time Series Prediction: LSTM models for ozone
concentration data
- Stock Price Modeling: Financial time series
analysis
- Sequence Classification: Text and sequential data
classification
Hands-on Examples
- Warm-up with TensorFlow: Approximate analytical functions
- Comprehensive TensorFlow tour and best practices
- PyTorch introduction for supervised learning problems
- LSTM applications to real-world time series data
- Comparison of framework implementations
Assignments
- Exercise 5: Distributed this week - Framework
implementation comparison
- Practice with both TensorFlow and PyTorch
- Implement RNN/LSTM models for sequence prediction
Technical Skills
- TensorFlow model building and training
- PyTorch tensor operations and automatic differentiation
- Sequence preprocessing and data preparation
- RNN/LSTM architecture design and optimization
- Model evaluation for sequential data
|
| 09 | Nov 9 | Recap Week | Materials |
Overview
This week provides a comprehensive review of the most important
concepts covered in the first 8 weeks of the course. It’s designed to
consolidate learning and prepare students for the advanced topics in the
remaining weeks.
Learning Objectives
- Consolidate understanding of fundamental machine learning
concepts
- Review supervised learning approaches: regression and
classification
- Revisit optimization techniques and gradient descent methods
- Strengthen knowledge of deep learning fundamentals
- Practice with sequence modeling and neural networks
Topics Reviewed
- Supervised Learning - Regression: Linear and
polynomial regression recap
- Supervised Learning - Classification: k-NN, Naive
Bayes, Decision Trees
- Optimization Methods: Gradient Descent and
Stochastic Gradient Descent
- Deep Learning Foundations: Feed-forward networks
and backpropagation
- Sequence Modeling: RNNs, LSTMs, and their
applications
- Applications in NLP: Brief introduction
(self-study)
Recap Materials
- Comprehensive notebooks covering all major topics
- Step-by-step implementation reviews
- Problem-solving strategies and best practices
- Common pitfalls and how to avoid them
Key Learning Reinforcements
- Model Selection: Choosing appropriate algorithms
for different problems
- Evaluation Metrics: Understanding when to use
different performance measures
- Overfitting Prevention: Regularization and
validation strategies
- Practical Implementation: Framework usage and
debugging techniques
Assignment
No new assignment this week - focus on reviewing and strengthening
understanding of previous concepts. Use this time to catch up on any
missed exercises or concepts.
|
| 10 | Nov 16 | Gaussian Processes | Materials |
Learning Objectives
- Understand the theoretical foundations of Gaussian Processes
(GPs)
- Master Gaussian Process regression techniques
- Learn about kernels and their role in GP modeling
- Handle noisy data in GP frameworks
- Apply GPs to financial modeling and option pricing
- Understand GP classification methods
Topics Covered
- Gaussian Process Regression: Theoretical
foundations and practical implementation
- Kernels with Noise: Incorporating uncertainty and
noise in GP models
- Option-Pricing Examples: Financial applications of
Gaussian Processes
- GP Classification: Extending GPs to classification
problems
- Bayesian Framework: Understanding the Bayesian
perspective in GPs
- Hyperparameter Optimization: Tuning GP models for
optimal performance
Key Concepts
- Gaussian Processes: Non-parametric Bayesian
approach to regression
- Kernel Functions: RBF, Matern, periodic kernels and
their properties
- Mean and Covariance Functions: Defining GP
priors
- Marginal Likelihood: Model selection and
hyperparameter optimization
- Uncertainty Quantification: Predictive
distributions and confidence intervals
- Computational Complexity: Scaling GPs and
approximation methods
Mathematical Foundations
- Multivariate Gaussian distributions
- Kernel methods and reproducing kernel Hilbert spaces
- Bayesian inference and posterior distributions
- Maximum likelihood estimation for hyperparameters
Practical Applications
- 1D and 2D Regression: Basic GP regression
examples
- Financial Modeling: Option pricing using GP
methods
- Noise Handling: Robust regression with noisy
observations
- Multi-dimensional Problems: Scaling to higher
dimensions
- Classification Tasks: GP classification with
various kernels
Assignments
- Exercise 6: Distributed this week - GP
implementation and applications
- Complete two-part finger exercises covering theory and practice
- Implement GP regression from scratch and compare with
scikit-learn
- GPy and GPFlow for advanced GP modeling
- scikit-learn for basic GP implementations
- Practical GP examples and case studies
|
| 11 | Nov 23 | Dimensionality Reduction, PCA, Active Learning | Materials |
Learning Objectives
- Understand the curse of dimensionality and its implications
- Master Principal Component Analysis (PCA) and its variants
- Learn Bayesian active learning strategies
- Explore active subspaces in the context of Gaussian Process
regression
- Apply dimensionality reduction techniques to real-world
datasets
- Understand when and how to use different dimensionality reduction
methods
Topics Covered
- Curse of Dimensionality: Challenges in
high-dimensional spaces
- Principal Component Analysis (PCA): Linear
dimensionality reduction
- Kernel PCA: Non-linear dimensionality reduction
using kernel methods
- Bayesian Active Learning: Intelligent sampling
strategies
- Active Subspaces: Dimension reduction for complex
functions
- GP Regression with Active Subspaces: Combining
dimensionality reduction with GPs
Key Concepts
- High-Dimensional Challenges: Sparsity, distance
metrics, visualization problems
- Linear vs Non-linear Methods: When to use PCA vs
kernel PCA
- Variance Explained: Choosing the number of
components
- Active Learning: Uncertainty sampling and query
strategies
- Subspace Identification: Finding low-dimensional
structure in high-dimensional functions
- Integration with GPs: Using active subspaces to
improve GP scalability
Dimensionality Reduction
Methods
- PCA: Eigenvalue decomposition and SVD
approaches
- Kernel PCA: RBF, polynomial, and custom
kernels
- Active Subspaces: Gradient-based dimension
reduction
- Comparison: When to use each method
Active Learning Strategies
- Uncertainty Sampling: Exploiting model
uncertainty
- Query by Committee: Ensemble-based active
learning
- Expected Model Change: Information-theoretic
approaches
- Bayesian Optimization: Active learning for
expensive function evaluations
Practical Applications
- Image Processing: PCA for image compression and
visualization
- Wine Dataset Analysis: Multi-class dimensionality
reduction
- Financial Data: Portfolio dimensionality
reduction
- Scientific Computing: Active subspaces for
expensive simulations
Assignments
- Exercise 7: Distributed this week - PCA and active
learning implementations
- Compare different dimensionality reduction techniques
- Implement active learning strategies
- scikit-learn for PCA and kernel PCA
- Custom implementations for active subspaces
- Visualization techniques for high-dimensional data
- Integration with previous GP implementations
|
| 12 | Nov 30 | Clustering (k-means, GMM, hierarchical) | Materials |
Learning Objectives
- Understand unsupervised learning and clustering fundamentals
- Master k-means clustering algorithm and its variants
- Learn Gaussian Mixture Models (GMM) and Expectation
Maximization
- Explore hierarchical clustering methods
- Apply density-based clustering techniques like DBSCAN
- Compare different clustering algorithms and choose appropriate
methods
Topics Covered
- k-Means Clustering: Centroid-based clustering
algorithm
- Gaussian Mixture Models (GMM): Probabilistic
clustering approach
- Expectation Maximization: Algorithm for parameter
estimation in GMM
- Hierarchical Clustering: Agglomerative and divisive
methods
- Density-Based Clustering: DBSCAN and related
algorithms
- Cluster Validation: Metrics and techniques for
evaluating clusters
Key Concepts
- Unsupervised Learning: Learning patterns without
labeled data
- Distance Metrics: Euclidean, Manhattan, cosine
similarity
- Cluster Quality: Intra-cluster vs inter-cluster
distances
- Initialization Methods: K-means++, random
initialization
- Model Selection: Choosing the number of
clusters
- Convergence: When and why algorithms converge
Clustering Algorithms
- k-Means: Lloyd’s algorithm, k-means++, mini-batch
k-means
- GMM: Multivariate Gaussian distributions, soft
clustering
- Hierarchical: Ward linkage, complete linkage,
single linkage
- DBSCAN: Density-based spatial clustering, noise
detection
- Mean Shift: Mode-seeking algorithm for
clustering
Practical Applications
- Customer Segmentation: Marketing and business
applications
- Image Segmentation: Computer vision clustering
tasks
- Gene Expression: Bioinformatics clustering
analysis
- Market Segmentation: Financial and economic
clustering
Evaluation Metrics
- Internal Metrics: Silhouette score, Davies-Bouldin
index
- External Metrics: Adjusted Rand index, normalized
mutual information
- Visual Assessment: Scatter plots, dendrograms,
cluster visualization
Assignments
- Exercise 8: Distributed this week - Clustering
algorithm implementations
- Compare different clustering methods on various datasets
- Implement k-means and GMM from scratch
- Apply clustering to real-world datasets
- scikit-learn for standard clustering algorithms
- Custom implementations for educational purposes
- Visualization tools for cluster analysis
- Performance comparison frameworks
|
| 13 | Dec 7 | Reinforcement Learning | Materials |
Learning Objectives
- Understand the fundamentals of reinforcement learning (RL)
- Master Q-learning algorithm and its applications
- Explore the optimal portfolio choice problem using RL
- Learn about Markov Decision Processes (MDPs)
- Apply RL techniques to financial and decision-making problems
- Understand the exploration-exploitation tradeoff
Topics Covered
- Introduction to Reinforcement Learning: Agents,
environments, rewards
- Q-Learning: Model-free reinforcement learning
algorithm
- Optimal Portfolio Choice: Financial application of
RL methods
- Markov Decision Processes: Mathematical framework
for RL
- Policy vs Value Methods: Different approaches to
RL
- Exploration-Exploitation: Balancing learning and
performance
Key Concepts
- Agent-Environment Interaction: The RL loop
- States, Actions, Rewards: Core RL components
- Policy: Strategy for action selection
- Value Functions: State-value and action-value
functions
- Temporal Difference Learning: Learning from
experience
- Bellman Equation: Fundamental recursive
relationship
Reinforcement Learning
Algorithms
- Q-Learning: Off-policy temporal difference
learning
- SARSA: On-policy temporal difference learning
- Policy Gradient Methods: Direct policy
optimization
- Deep Q-Networks (DQN): Deep learning meets RL
- Actor-Critic Methods: Combining value and policy
methods
Financial Applications
- Portfolio Optimization: Using RL for asset
allocation
- Markowitz Framework: Modern portfolio theory with
RL
- Risk Management: Dynamic hedging strategies
- Trading Strategies: Algorithmic trading using
RL
- Market Making: Optimal bid-ask spread
strategies
Practical Implementation
- RL Basics: Fundamental concepts and simple
environments
- Q-Learning Implementation: Step-by-step algorithm
development
- Financial Modeling: Least squares interpolation and
Markowitz optimization
- Performance Evaluation: Metrics for RL algorithm
assessment
Real-world Examples
- Game Playing: RL in strategic games
- Robotics: Control and navigation applications
- Recommendation Systems: Personalization using
RL
- Autonomous Systems: Decision making under
uncertainty
Assignment
No new assignment this week - focus on capstone project development
and RL exploration
- OpenAI Gym for RL environments
- Custom financial environment implementations
- NumPy and scikit-learn for basic RL algorithms
- TensorFlow/PyTorch for deep RL (advanced)
|
| 14 | Dec 14 | Wrap-up | Materials |
Overview
The last session applies the course’s tools to one large problem —
deep uncertainty quantification for integrated assessment models — and
then looks back over the semester: which method answers which kind of
question, and how they fit together.
Topics Covered
- Deep Uncertainty Quantification: an application to
integrated assessment models
- Course Wrap-up: the methods of the semester, side
by side
- Project showcase (voluntary): students who wish to
may present their project in a few minutes and take questions
- Project consulting: the exercise-session slot is
open for individual questions on the project
The project, in the last week
The presentation of the project is the 15-minute video
submitted with the repository; there is no oral presentation,
and the showcase above is optional and ungraded. Everything is due on
Sunday 20 December, 23:59. The requirements and the
guidelines are on the project page; the
week before the deadline, run the reproduction test described there.
|