COURSE PHILOSOPHY
The amount of data produced in environmental sciences (energy and climate) paves
the way to new applications. While traditionnal statistical methods are still essential, advanced
machine-learning methods are more and more needed to make sense of big data, whether for analysis or to make predictions. One goal of machine learning is to extract identifiable
patterns from these complex data sets. These patterns can then be used to take informed
decisions. Another is to model relationships between different variables and then use these
models to predict one variable from information of the other.
Examples of such big data sets are:
• If we want to optimize the energy performance of a building, we can set sensors in differ-
ent places of the building that will give us a good overview of the energy consumption
and energy loss. Analyzing such data set with machine learning will help us predict or
optimize our energy consumption.
• The IPCC provides forecast of the average temperature for the next 100 years. This
forecast is based on about 30 different predictions made by complex models. Machine
learning provides a way to track reliable patterns in this complex data set.
The objective of this course is to provide an introduction to machine learning in order to help the students apply relevant methods to analyze specific data sets. Different families of unsupervised and supervised methods will be covered, while also providing a general approach to validate and test results. We encourage students to develop their critical thinking skills when facing a new dataset and applying a method in order to draw robust conclusions. We illustrate this course with examples from environmental sciences. These datasets correspond to concrete cases of analysis presented in the form of ipython notebooks.
COURSE LINK TO SUSTAINABLE DEVELOPMENT GOALS (SDGs)
This course allows students to acquire knowledge prior to approaching the following SDGs and deals with an area related to these SDGs:
- SDG 7: Ensure access to affordable, reliable, sustainable and modern energy for all
- SDG 13: Take urgent action to combat climate change and its impacts
How does the course take these SDGs into account?
The aim of this course is to acquire the fundamentals of machine learning in order to apply these methods to problems in climate science and energy systems studies. These two topics are related since energy consumption and renewable energy production are directly affected by meteorological conditions and their long term climatic change. Climate and energy systems thus share common properties such as being complex, spatially extended and variable. Furthermore, their study involves in particular extracting information from big datasets. Thus, while not the main focus of this class, students learn methods that can prove useful in improving our understanding of the climate system and its interaction with societies and in helping manage energy systems with larger shares of variables renewable energies.
COURSE TOPICS
- General Introduction and Python Basics
- Supervised Learning Problem
- Ordinary Least Squares
- Overfitting/Underfitting and Bias/Variance Decomposition
- Regularization, Model Selection and Evaluation
- Classification I: Generative models
- Unsupervised Learning with a Focus on Principal Component Analysis
- Introduction to Neural Networks
TUTORIALS
After each course session of about 45 min, the students work on a tutorial for about 45 min during which they code the applications on real data, analyse the results and discuss them. The professors assist the students during the tutorials and make sure that all students are able to achieve the objectives of the tutorials.
PROJECTS
Students by groups of two choose projects based on applications to environmental problems. The objective of the projects is to apply the statistical learning methodology from processing the intput data to evaluating the prediction skills of a model. The focus is on mastering the overall approach rather than on applying the most sophisticated models.
TECHNICAL SUPPORT
All examples, tutorials and projects are based on the scikit-learn Python package. The students are thus asked to code in Python, but they do not need to be skilled in scikit-learn to join the course (see Prerequisites below). Students work either on a JupyterHub (priority), a school computer or on their personal laptop.
PREREQUISITES
- Elementary data analysis in Python with numpy, pandas and matplotlib,
- Linear algebra (linear systems, inverse, eigenvalues and eigenvectors),
- Elements of probabilities and statistics (probability distribution and density, random variable, conditional expectation, variance, covariance, sample estimates).
GRADING POLICY
- 25% participation (short in-class MCQs at beginning of class),
- 25% mid-course coding and analysis exercise and course questions,
- 50% final presentation including final notebook and involvment in project.
LANGUAGE
English
- Teaching coordinator: Deremble Bruno
- Teaching coordinator: Tantet Alexis