Edwige Cyffers

Phd Student in Privacy Preserving Machine Learning

Data Privacy

18-hour lecture in Engineering Master

I teach a lecture to Master students of a private school aiming at training project managers, engineer in AI and data scientists.

Data Privacy is an Ethics lecture. It surveys the potential threats, the technical solutions and their limit to develop privacy preserving machine learning. The first part covers real use-case were data leakages which were not prevented and highlights the mathematical impossibility of successful anonymization, leading to challenges both from ethical, social and legal point of view. The second part covers the technical ML-specific risks and what are the current tools to mitigate those risks.

Dimension Reduction

Responsible of 24-hour lecture in Master of Machine Learning

During my PhD, I have the opportunity to teach at University of Lille. I was lucky to get a Master course, with the freedom to design lectures and tutorials. I created the integrality of the lecture materials and tutorials.

Part of a computer science Degree specialized in Machine Learning, I aim to give students a better intuition of high dimension, and of the trade-off between dimension reduction and preservation of data characteristics. The goal is also to strengthen their mathematical background and their ability to code in Python. The lecture covers the curse of dimensionality, PCA, SVD, kernel-PCA, manifold-learning, LLE, t-SNE, spectral clustering…

In 2024, I will teach the course for the third time.

I continue this year to get involved in the Rendez-vous des jeunes mathématiciennes et informaticiennes. We now include more computer-science-oriented tutorials, and ot only mathematic ones. I was looking for a topic easy to understand and to explain to parents and relatives. Maze generation was looking fun and reasonable for 3-hour work.
We generate mazes with two different algorithms. For small mazes, the construction can be seen step by step with animation. We finish with mazes following the form of a picture.
You can find the notebook that we use during the tutorial (in French).
Once again, I was surprised by the quality of the questions and solutions found by the girls. Let’s share also share a fun fact. I got one expected question that I wasn’t prepared to. How can we draw the figure in pink? Well, usually, I’d prefer to use other colors, but we can look at the possibilities. Is purple enough? (You can see the result)

Ethics of algorithms

12 hours tutorial

I design three practicals from scratch for people coming from social sciences, with Python programming. I taught this tutorial at the University Paris Eiffel in 2021.

  • Compas example: How to compute the fairness metrics in this simple but interesting example.
  • Introduction on Privacy: what is re-identification, and can we do it at scale ? Which solutions ?
  • Bias in NLP: why and how we keep historical gender bias.

The goal is to open some black boxes and give them some tools that they could reuse in other projects.

Rendez-vous des jeunes mathématiciennes

A Python tutorial (French)

Une implémentation python : construire un bon graphe planaire

On peut construire un graphe planaire d’étirement maximal 6 et de degré maximal 12

On donnes un nuage de point, et on souhaite construire un réseau à partir de celui-ci. Comment procéder ? On souhaite que le graphe soit planaire, c’est-à-dire sans croisement. Si on fait l’analogie avec des villes et des routes, cela veut dire qu’on ne veut pas de tunnel ou de pont. Mais ce n’est pas tout : il faut que tout le monde soit bien desservi, c’est-à-dire qu’on puisse aller d’un point à un autre sans parcourir une distance beaucoup plus grande que celle qu’on aurait parcouru à vol d’oiseau : on parle pour cela de l’étirement d’un graphe. Ce TP propose une construction qui garantit qu’on parcourra au plus une distance deux fois plus grande.

Une deuxième partie du TP, un peu plus ambitieuse, propose de construire un second graphe avec un contrainte supplémentaire : pas plus de 12 routes par ville, c’est-à-dire un graphe de degré maximal 12.

Le sujet du TP est ici.

Dans un premier temps, on va regarder ce code. Le code à compléter est et un corrigé est disponible

Recent Posts