summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Aalmoes <jan.aalmoes@inria.fr>2024-09-26 11:20:25 +0200
committerJan Aalmoes <jan.aalmoes@inria.fr>2024-09-26 11:20:25 +0200
commit74566d06f757f4b056006b03e30586a8ed159905 (patch)
tree2e66d4e42b9f3854cd66dd2625cf390c93851881
parent394b3a5cba1393399801bb62956f665b85f978db (diff)
parentb886c302573358752946372c7b7a61559b7fe7f2 (diff)
Récupération des corrections d'Emeline
Merge branch 'master' of git.jaalmoes.com:manuscrit
-rw-r--r--background/alg.tex6
-rw-r--r--background/conf.tex46
-rw-r--r--background/dif.tex10
-rw-r--r--background/eq.tex86
-rw-r--r--background/main.tex6
-rw-r--r--background/ml.tex200
-rw-r--r--background/opti.tex30
-rw-r--r--background/proba.tex22
-rw-r--r--background/set.tex52
9 files changed, 231 insertions, 227 deletions
diff --git a/background/alg.tex b/background/alg.tex
index 2c8a091..73a1d84 100644
--- a/background/alg.tex
+++ b/background/alg.tex
@@ -1,5 +1,5 @@
\subsubsection{Espace vectoriel}
-Les espaces vectoriels sont des structure fondamentales qui vont nous servir à comprendre comment fonctionne l'entraînement des réseaux de neurones.
+Les espaces vectoriels sont des structures fondamentales qui vont nous servir à comprendre comment fonctionne l'entraînement des réseaux de neurones.
\begin{definition}{Groupe}
Soit $E$ un ensemble et $+$ une opération sur $E$.
Nous dirons que $(E,+)$ est un groupe si et seulement si
@@ -15,7 +15,7 @@ Les espaces vectoriels sont des structure fondamentales qui vont nous servir à
\end{definition}
\begin{definition}{Espace vectoriel}
- Soit $E$ un ensemble munit d'une loi interne $+$ et d'une loi externe $\cdot:\mathbb{R}\times E\rightarrow E$.
+ Soit $E$ un ensemble muni d'une loi interne $+$ et d'une loi externe $\cdot:\mathbb{R}\times E\rightarrow E$.
Sous les conditions suivantes, nous dirons que $(E,+,\cdot)$ est un espace vectoriel.
\begin{enumerate}
\item $(E,+)$ est un groupe abélien.
@@ -33,7 +33,7 @@ Alors $\forall n\in\mathbb{N}~\mathbb{R}^n$ est un espace vectoriel.
Soit $E$ et $F$ deux espaces vectoriels.
Une application linéaire $h:E\rightarrow F$ est telle que
$\forall (r,e,f)\in \mathbb{R}\times E\times E~h(re+f)=rh(e)+h(f)$
-Et on note $\mathcal{L}(E,F)$ l'ensemble des applications linéaire de $E$ dans $F$.
+Et on note $\mathcal{L}(E,F)$ l'ensemble des applications linéaires de $E$ dans $F$.
Si $E=\mathbb{R}^m$ et $F=\mathbb{R}^n$ alors
la matrice de $f$ est
\begin{equation*}
diff --git a/background/conf.tex b/background/conf.tex
index a3f7e83..8ad8379 100644
--- a/background/conf.tex
+++ b/background/conf.tex
@@ -2,22 +2,22 @@
%Attacks which violate privacy and confidentiality in ML infer potentially sensitive unobservable information from observable information (e.g., model predictions).
\label{sec:bck_aia}
Dans ce manuscrit nous considérons deux types de risques pour la confidentialité.
-Le premier concerne les données qui on servi à l'entraînement du modèle, le second concerne les donnée qui son utilisé lors de l'évaluation.
+Le premier concerne les données qui ont servi à l'entraînement du modèle, le second concerne les données qui sont utilisées lors de l'évaluation.
Dans le cadre d'attaques nous parlerons de \emph{modèle cible} pour désigner le modèle utilisé par un adversaire pour apprendre des informations confidentielles.
\FloatBarrier
\subsubsection{Risque sur les données d'entraînement}
L'attaque d'inférence d'appartenance (MIA) consiste à inférer si une donnée a servi à l'entraînement du modèle cible.
-Cette attaque utilise le fait que les modèles d'apprentissage automatique ont en générale une moins bonne performance sur les donnée qui n'ont pas été utilisés à l'entraînement, c'est le sur-ajustement\footnote{\textit{Overfitting}}~\cite{hawkins2004problem,ying2019overview}.
-Ce problème peut survenir principalement quand le modèle cible est trop complexe par rapport à la tâche qui lui est demandé.
+Cette attaque utilise le fait que les modèles d'apprentissage automatique ont en général une moins bonne performance sur les données qui n'ont pas été utilisées à l'entraînement, c'est le sur-ajustement\footnote{\textit{Overfitting}}~\cite{hawkins2004problem,ying2019overview}.
+Ce problème peut survenir principalement quand le modèle cible est trop complexe par rapport à la tâche qui lui est demandée.
Pour reprendre les mots de Hawkisn et al. : \textquote{Le sur-ajustement est l'utilisation de modèles ou de procédures qui vont à l'encontre de la parcimonie, c'est-à-dire qui utilisent plus de termes ou qui utilisent des approches plus complexe que ce qui est nécessaire}
\footnote{\textit{Overfitting is the use of models or procedures that violate
parsimony, that is, that include more terms than are neces-
sary or use more complicated approaches than are necessary.}}
Nous voyons sur la Figure~\ref{fig:background-conf-mia} l'écart entre la valeur de la fonction de coût évalué sur les données d'entraînement et d'évaluation.
-Le lien est assez claire, un écart significatif indique qu'un classifieur va être capable d'apprendre quelles données ont été utilisées pour l'entraînement.
-Pour vérifier cela, la Sous-figure~\ref{sfig:background-conf-mia-ba} montre comment une forêt aléatoire a put apprendre cette distinction.
-On observe une exactitude équilibrée autour de 0,625 indiquant une fuite du confidentialité.
+Le lien est assez clair, un écart significatif indique qu'un classifieur va être capable d'apprendre quelles données ont été utilisées pour l'entraînement.
+Pour vérifier cela, la Sous-figure~\ref{sfig:background-conf-mia-ba} montre comment une forêt aléatoire a pu apprendre cette distinction.
+On observe une exactitude équilibrée autour de 0,625 indiquant une fuite de confidentialité.
\begin{figure}
\centering
@@ -30,17 +30,17 @@ On observe une exactitude équilibrée autour de 0,625 indiquant une fuite du co
\begin{subfigure}{0.65\linewidth}
\centering
\includegraphics[width=\linewidth]{background/figure/conf/mia.pdf}
- \caption{Écart entre le coût calculé sur les données d'entraînements et sur les données d'évaluation.}
+ \caption{Écart entre le coût calculé sur les données d'entraînement et sur les données d'évaluation.}
\end{subfigure}
\caption{Lien entre sur-ajustement et succès de l'attaque MIA.}
\label{fig:background-conf-mia}
\end{figure}
-L'étude de la fonction de coût est possible quand l'adversaire possède des donnée pour lesquelles il sait qu'elles ont appartenues à l'entraînement.
+L'étude de la fonction de coût est possible quand l'adversaire possède des données pour lesquelles il sait qu'elles ont appartenues à l'entraînement.
Grâce à cela il peut construire un classifieur en utilisant cette connaissance comme étiquette.
-Si ce n'est pas le cas, l'adversaire utilise des modèles miroirs\footnote{\textit{Shadow models}} qui simulent le modèle cible est permettent d'apprendre à différencier le coût d'une donnée ayant servit à l'entraînement d'une donnée jamais observé~\cite{shokri2017membership}.
+Si ce n'est pas le cas, l'adversaire utilise des modèles miroirs\footnote{\textit{Shadow models}} qui simulent le modèle cible et permettent d'apprendre à différencier le coût d'une donnée ayant servi à l'entraînement d'une donnée jamais observée~\cite{shokri2017membership}.
-Un modèle d'attaque de MIA peut ensuite être utilisé comme base pour d'autre type d'attaque comme par exemple reconstruire un attribut sensible de données ayant servit à l'entraînement~\cite{yeom}.
+Un modèle d'attaque de MIA peut ensuite être utilisé comme base pour d'autres types d'attaques, comme par exemple reconstruire un attribut sensible des données ayant servi à l'entraînement~\cite{yeom}.
La confidentialité différentielle\footnote{\textit{Differential privacy}} permet d'empêcher les attaques MIA~\cite{chen2020differential,rahman2018membership}.
\begin{definition}{Confidentialité différentielle}
@@ -59,33 +59,37 @@ La confidentialité différentielle\footnote{\textit{Differential privacy}} perm
En pratique $E$ représente l'ensemble de toutes les bases de données possibles.
$R$ est une relation telle que $(e_1,e_2)\in R$ si et seulement si $e_1$ et $e_2$ différent d'une donnée.
$S$ est l'ensemble des modèles possibles.
-$M$ est l'algorithme d'apprentissage qui prend en entrée une basse de donnée et renvoie une variable aléatoire à valeur dans l'espace des modèles $S$.
-Cette définition signifie donc que pour des bases de données de données différentes d'une ligne, l'algorithme d'apprentissage aura des sorties presque indistinguables l'une de l'autre.
+$M$ est l'algorithme d'apprentissage qui prend en entrée une base de données et renvoie une variable aléatoire à valeur dans l'espace des modèles $S$.
+Cette définition signifie donc que pour des bases de données différentes d'une ligne, l'algorithme d'apprentissage aura des sorties presque indistinguables l'une de l'autre.
Le presque étant paramétré par $\varepsilon$ et $\delta$.
\FloatBarrier
\subsubsection{Risque sur les données d'évaluation}
Le second risque pour la confidentialité que nous allons évoquer concerne les données des utilisateurs de modèles d'apprentissage et non plus les données d'entraînement.
Dans ce cas un utilisateur souhaite évaluer une donnée sur le modèle cible et la question que l'on se pose est :
-Que se passe t'il si la prédiction fuite à un adversaire ?
+Que se passe-t'il si la prédiction fuite vers un adversaire ?
Song et al.~\cite{Song2020Overlearning} introduisent le concept de \emph{sur-apprentissage}\footnote{\textit{Overlearning}}.
Ce terme désigne un modèle cible qui apprend plus que sa tâche principale.
-Par exemple un modèle servant à inférer si une personne souris dans une image vas aussi apprendre la couleur de peau~\cite{malekzadeh2021honestbutcurious}.
-Ou encore, utiliser un modèle qui prédise l'admission dans une école ou l'obtention d'un prêt pour inférer le genre~\cite{Song2020Overlearning}.
+Par exemple, un modèle servant à inférer si une personne sourit dans une image va aussi apprendre la couleur de peau~\cite{malekzadeh2021honestbutcurious}.
+Ou encore utiliser un modèle qui prédise l'admission dans une école ou l'obtention d'un prêt pour inférer le genre~\cite{Song2020Overlearning}.
Il s'agit donc d'inférer un attribut sensible en utilisant la prédiction d'un modèle cible qui n'a pas été entraîné pour inférer cet attribut sensible.
Nous appellerons ce type d'attaque : inférence d'attribut sensible (AIA).
Nous considérerons pour la suite que l'adversaire a uniquement accès à la prédiction du modèle cible et non pas à la donnée d'entrée.
-En effet le modèle cible n'ajoute pas plus d'information concernant l'attribut sensible que n'en n'est contenus dans la donnée d'entrée~\cite{jayaraman2022attribute}.
+En effet, le modèle cible n'ajoute pas plus d'informations concernant l'attribut sensible qu'il n'en est contenu dans la donnée d'entrée~\cite{jayaraman2022attribute}.
-Une AIA qui cherche à inférer un attribut sensible présent dans le données d'entrée est appelé \emph{inversion de modèle}\footnote{\textit{modèle inversion}}.
+Une AIA qui cherche à inférer un attribut sensible présent dans les données d'entrée est appelée \emph{inversion de modèle}\footnote{\textit{modèle inversion}}.
En effet comme l'adversaire cherche à inférer une entrée d'un modèle cible à partir de sa sortie, cette attaque est similaire à l'inversion d'une fonction.
Fredrikson et al.~\cite{fredrikson2} donnent un exemple marquant en pharmacogénétique :
-La molécule Warfarin entre dans le traitement préventif des crises cardiaques, cependant son dosage est complexe car il dépend de chaque patient.
-Ainsi des modèles ont été créés pour prédire le dosage à partir des données médicales du patient comme son génotype.
-Fredrikson et al. ont réussi à utiliser la prédiction de ces modèles pour retrouver les donnés médicales démontrant ainsi le risque de perte de confidentialité inhérent aux sorties des modèles.
+La molécule Warfarin entre dans le traitement préventif des crises cardiaques ; cependant son dosage est complexe car il dépend de chaque patient.
+Ainsi des modèles ont été créés pour prédire le dosage à partir des données médicales du patient, comme son génotype.
+Fredrikson et al. ont réussi à utiliser la prédiction de ces modèles pour retrouver les données médicales, démontrant ainsi le risque de perte de confidentialité inhérent aux sorties des modèles.
+
+Les développements nouveaux que propose ce manuscrit se concentreront sur les risques d'inférences liés à des attributs sensibles qui ne sont pas utilisés lors de l'entraînement.
+
+
+
-Les développements nouveaux que proposent ce manuscrit se concentrerons sur les risques d'inférences liés à des attributs sensibles qui ne sont pas utilisés lors de l'entraînement.
diff --git a/background/dif.tex b/background/dif.tex
index 9435c24..0d1b106 100644
--- a/background/dif.tex
+++ b/background/dif.tex
@@ -1,5 +1,5 @@
Le but du calcul différentiel est l'étude des variations infinitésimales des fonctions.
-Nous allons nous contenter ici d'étudier les fonctionnelles, c'est-à-dire des fonction de $\mathbb{R}^n$ dans $\mathbb{R}$ car c'est ce dont nous allons avoir besoin en apprentissage automatique.
+Nous allons nous contenter ici d'étudier les fonctionnelles, c'est-à-dire des fonctions de $\mathbb{R}^n$ dans $\mathbb{R}$ car c'est ce dont nous allons avoir besoin en apprentissage automatique.
\begin{definition}{Produit scalaire euclidien}
\label{def:background-dif-scal}
Soit $(x,y){\in\mathbb{R}^n}^2$ alors le produit scalaire euclidien est
@@ -19,11 +19,11 @@ Nous allons nous contenter ici d'étudier les fonctionnelles, c'est-à-dire des
\label{def:background-dif-lim}
Soit $f$ une fonction de $\mathbb{R}^m$ dans $\mathbb{R}^n$.
Soit $x\in\mathbb{R}^m$.
- Nous dirons que $f$ admet une limite en $x$ si il existe $y\in\mathbb{R}^n$ tel que
+ Nous dirons que $f$ admet une limite en $x$ s'il existe $y\in\mathbb{R}^n$ tel que
\begin{equation*}
\forall\varepsilon>0\exists\delta>0\forall a\in\mathbb{R}^m~||a-x||<\delta\implies||f(a)-y||<\varepsilon
\end{equation*}
- Nous écrivons alors $lim_{a\rightarrow x}f(a)=y$ car $y$ est alors unique~\cite{Bourrigan2021-dd}.
+ Nous écrivons $lim_{a\rightarrow x}f(a)=y$ car $y$ est alors unique~\cite{Bourrigan2021-dd}.
\end{definition}
\begin{definition}{Différentielle}
@@ -31,7 +31,7 @@ Nous allons nous contenter ici d'étudier les fonctionnelles, c'est-à-dire des
Soit $f$ une fonction de $\mathbb{R}^n$ dans $\mathbb{R}$.
Nous dirons que $f$ est différentiable en $a\in\mathbb{R}^n$ si et seulement si il existe
$df(a)\in\mathbb{L}(\mathbb{R}^n,\mathbb{R})$
- telle que il existe $\varepsilon:\mathbb{R}^n\rightarrow \mathbb{R}$ telle que pour tout $h\in\mathbb{R}^n$
+ tel qu'il existe $\varepsilon:\mathbb{R}^n\rightarrow \mathbb{R}$ tel que pour tout $h\in\mathbb{R}^n$
\begin{equation*}
f(a+h) = f(a)+df(a)h+||h||\varepsilon(h)
\end{equation*}
@@ -67,7 +67,7 @@ Nous allons nous contenter ici d'étudier les fonctionnelles, c'est-à-dire des
\right.
\end{equation*}
\end{definition}
-Pour le.a lecteur.ice familier avec la dérivabilité notons que
+Pour le.la lecteur.ice familier.ère avec la dérivabilité notons que
\begin{equation*}
lim_{h\rightarrow 0}\frac{f(x+he_i)-f(x)}{h} = \partial_i f(x)
\end{equation*}
diff --git a/background/eq.tex b/background/eq.tex
index 1bf9b19..5a1a794 100644
--- a/background/eq.tex
+++ b/background/eq.tex
@@ -1,18 +1,18 @@
\label{sec:bck_fair}
L'équité algorithmique a pour but de réduire les biais dans les modèles prédictifs.
-C'est-à-dire, comment peut on faire en sorte que le modèle ne désavantage pas ou n'avantage pas certain sous-groupes ?
-En effet, qu'une donnée appartienne à certaine minorité peut avoir un impacte sur la qualité de la prédiction.
-Par exemple en justice prédictive, la couleur de peau d'un coupable joue un rôle qui n'est pas négligeable dans la prédiction du récidivisme au États Unis~\cite{fairjustice}.
-Pour savoir si un attribut est sensible ou non, nous pouvons nous référer à la liste des vingt-cinq critères de discrimination présenté à la Section~\ref{sec:contexte-legal-discrimination}.
-Ces biais sont appris par le modèle car ils sont présent dans les donnés d'entraînement qui reflètent la population dans laquelle ces donnée ont été prélevés.
-Nous représentons sur la Figure~\ref{fig:background-eq-logi} comment une régression logistique peut présenter une différence de traitement entre deux sous groupe de la population.
-Nous observons que comme il y a moins de donnée de femmes, le modèle à appris une courbe qui se rapproche plus des données hommes.
-Comme le seuil de ce modèle est situé à $0,5$, nous voyons que tous le points rouges qui correspondent aux femmes passent au dessus du seuil représenté par la ligne horizontale grise.
-Ainsi, bien que les étiquettes soient répartis équitablement chez les hommes et chez les femmes, le modèle classifie toutes les femme dans la classe 1.
-Il s'agit ici d'un cas scolaire sur des données générés mais supposons que la classe 1 soit désavantageuse.
+C'est-à-dire, comment peut-on faire en sorte que le modèle ne désavantage pas ou n'avantage pas certains sous-groupes ?
+En effet, qu'une donnée appartienne à certaines minorités peut avoir un impact sur la qualité de la prédiction.
+Par exemple, en justice prédictive, la couleur de peau d'un coupable joue un rôle qui n'est pas négligeable dans la prédiction du récidivisme aux États-Unis~\cite{fairjustice}.
+Pour savoir si un attribut est sensible ou non, nous pouvons nous référer à la liste des vingt-cinq critères de discrimination présentée à la Section~\ref{sec:contexte-legal-discrimination}.
+Ces biais sont appris par le modèle car ils sont présents dans les données d'entraînement qui reflètent la population dans laquelle ces données ont été prélevées.
+Nous représentons sur la Figure~\ref{fig:background-eq-logi} comment une régression logistique peut présenter une différence de traitement entre deux sous-groupes de la population.
+Nous observons que comme il y a moins de données de femmes, le modèle a appris une courbe qui se rapproche plus des données d'hommes.
+Comme le seuil de ce modèle est situé à $0,5$, nous voyons que tous les points rouges qui correspondent aux femmes passent au dessus du seuil représenté par la ligne horizontale grise.
+Ainsi, bien que les étiquettes soient réparties équitablement chez les hommes et chez les femmes, le modèle classifie toutes les femme dans la classe 1.
+Il s'agit ici d'un cas scolaire sur des données générées mais supposons que la classe 1 soit désavantageuse.
Par exemple, imaginons que ce modèle soit utilisé dans un programme de recrutement automatique.
La classe 0 implique que le candidat est sélectionné, la classe 1 implique que le candidat est rejeté.
-Alors ce programme serait discriminatoire car bien que 50\% des femme et 50\% des homme ont une étiquette qui les rendent admissibles, le programme ne sélectionne que des candidats hommes.
+Alors ce programme serait discriminatoire car bien que 50\% des femmes et 50\% des hommes aient une étiquette qui les rendent admissibles, le programme ne sélectionne que des candidats hommes.
\begin{figure}
\centering
@@ -31,25 +31,25 @@ Alors ce programme serait discriminatoire car bien que 50\% des femme et 50\% de
\textbf{Exactitude}&1&0,5&0,92\\
\hline
\end{tabular}
- \caption{Exemple d'une régression logistique qui a une meilleur performance pour les hommes que pour les femmes.
+ \caption{Exemple d'une régression logistique qui a une meilleure performance pour les hommes que pour les femmes.
Les données proviennent d'une génération et servent uniquement à titre d'illustration.
- La régression logistique à bien été optimisé sur les données générés en utilise l'algorithme de scikit learn~\cite{scikit-learn}}
+ La régression logistique a bien été optimisée sur les données générées en utilisant l'algorithme de scikit learn~\cite{scikit-learn}}
\label{fig:background-eq-logi}
\end{figure}
\subsubsection{Définitions de l'équité}
-L'équité en apprentissage automatique se présente sous deux aspects qui mettent lumière deux visions différentes :
+L'équité en apprentissage automatique se présente sous deux aspects qui mettent en lumière deux visions différentes :
\textbf{L'équité individuelle}\footnote{Individual fairness}
-cherche à faire en sorte que deux données, à toutes choses égale excepté l'attribut sensible, produisent la même prédiction.
+cherche à faire en sorte que deux données, à toutes choses égales, excepté l'attribut sensible, produisent la même prédiction.
\textbf{L'équité de groupe}\footnote{Group fairness}
-vient de l'idée que différents sous groupes définis par un critère de discrimination devrait être traite de manière similaire.
+vient de l'idée que différents sous-groupes définis par un critère de discrimination devraient être traités de manière similaire.
Il y a différentes définitions mathématiques de l'équité de groupe.
-Nous allons en regarder trois qui sont bien établis dans la littérature et souvent utilisé : l'effet différencié\footnote{disparate impact} la parité démographique\footnote{Demographic parity} et l'équité des chances\footnote{Equality of odds}.
+Nous allons en regarder trois qui sont bien établies dans la littérature et souvent utilisées : l'effet différencié\footnote{disparate impact} la parité démographique\footnote{Demographic parity} et l'équité des chances\footnote{Equality of odds}.
Pour cela nous allons considérer le cadre suivant :
-Nous avons un classifieur modélisé par une variable aléatoire $\hat{Y}$ qui essai d'inférer l'étiquette $Y$.
+Nous avons un classifieur modélisé par une variable aléatoire $\hat{Y}$ qui essaie d'inférer l'étiquette $Y$.
Ces deux variables prennent leurs valeurs dans un ensemble $F$.
De plus, nous avons l'attribut sensible modélisé par $S$ qui prend ses valeurs dans $G$.
@@ -62,7 +62,7 @@ De plus, nous avons l'attribut sensible modélisé par $S$ qui prend ses valeurs
Cette notion ne fonctionne que pour $F=G=\{0,1\}$.
\end{definition}
-Cette définition est utilisé au États Unis pour montrer qu'une structure a une politique discriminatoire à l'encontre d'une minorité comme nous l'avons vus à la Section~\ref{sec:contexte-legal}.
+Cette définition est utilisé aux États-Unis pour montrer qu'une structure a une politique discriminatoire à l'encontre d'une minorité, comme nous l'avons vu à la Section~\ref{sec:contexte-legal}.
\begin{definition}
\label{def:background-eq-dp}
@@ -70,13 +70,13 @@ Cette définition est utilisé au États Unis pour montrer qu'une structure a un
\end{definition}
La parité démographique ne prend pas en compte l'étiquette, cette définition est équivalente à dire que l'attribut sensible est indépendant de la prédiction (même si l'étiquette ne l'est pas).
-Cela peut créer des cas où en cherchant à imposer cette notion, nous obtenons des taux de vrais et de faux positif différents pour les sous groupes~\cite{dpbad}.
-Ainsi, la parité démographique peut être respecté tout en dégradant l'effet différencié.
-Il n'est pas nécessaire que si $\hat{Y}=Y$ (le classifieur infère parfaitement l'étiquette) alors la parie démographique soit respecté.
+Cela peut créer des cas où, en cherchant à imposer cette notion, nous obtenons des taux de vrais et de faux positifs différents pour les sous-groupes~\cite{dpbad}.
+Ainsi, la parité démographique peut être respectée tout en dégradant l'effet différencié.
+Il n'est pas nécessaire que si $\hat{Y}=Y$ (le classifieur infère parfaitement l'étiquette) alors la parité démographique soit respectée.
Chercher à imposer cette définition peut revenir à faire de la discrimination positive.
Pour certaines applications cet effet n'est pas souhaitable.
-Ainsi Hardt et al.~\cite{fairmetric2} propose de modifier la parité démographique pour prendre en compte l'étiquette ce qui donne la définition suivante :
+Ainsi Hardt et al.~\cite{fairmetric2} proposent de modifier la parité démographique pour prendre en compte l'étiquette, ce qui donne la définition suivante :
\begin{definition}
\label{def:background-eq-eoo}
$\hat{Y}$ satisfait l'équité des chances pour $S$ si et seulement si : $\forall (\hat{y},y,s_1,s_2)\in E\times E\times G\times G \quad
@@ -84,23 +84,23 @@ Ainsi Hardt et al.~\cite{fairmetric2} propose de modifier la parité démographi
\end{definition}
\subsubsection{Imposer l'équité comme contrainte d'optimisation}
-Ces définitions peuvent être imposé au modèle de trois manières:
+Ces définitions peuvent être imposées au modèle de trois manières:
\begin{enumerate}
\item Prétraitement\footnote{\textit{Preprocessing}} :
Le prétraitement consiste à modifier les données avant l'entraînement pour en retirer les biais.
- Pour cela le rééquilibrage des poids\footnote{\textit{Reweighting}} attribut un poids à chaque donnée et corrige le déséquilibre en augmentant le poids des certaines données pour qu'elle soient plus pris en compte~\cite{preprocessing}.
+ Pour cela le rééquilibrage des poids\footnote{\textit{Reweighting}} attribue un poids à chaque donnée et corrige le déséquilibre en augmentant le poids de certaines données pour qu'elles soient prises en compte de manière plus forte~\cite{preprocessing}.
\item Entraitement\footnote{\textit{Inprocessing}} :
- Ces algorithmes, comme le rééquilibrage adverse\footnote{\textit{Adversarial debiasing}}~\cite{debiase} ou la descente de gradient exponentiée\footnote{\textit{Exponentiated gradient descent}}~\cite{reductions}, modifient l'algorithme d'optimisation du modèle pour imposer les définitions d'équité sous forme d'un problème d'optimisation sous contraintes.
+ Ces algorithmes, comme le rééquilibrage adverse\footnote{\textit{Adversarial debiasing}}~\cite{debiase} ou la descente de gradient exponentié\footnote{\textit{Exponentiated gradient descent}}~\cite{reductions}, modifient l'algorithme d'optimisation du modèle pour imposer les définitions d'équité sous forme d'un problème d'optimisation sous contraintes.
\item Postraitement\footnote{\textit{Postprocessing}} :
Cette méthode consiste à cacher les biais dans la sortie du modèle.
Le modèle est biaisé mais sa sortie est filtrée.
\end{enumerate}
Comme nous nous intéressons aux interactions entre équité et confidentialité, le Chapitre~\ref{sec:aia} s'inscrit dans la lignée de travaux précédents qui se concentrent sur les mécanismes entraitements~\cite{chang2021privacy}.
-Nous allons en présenter deux que nous allons utiliser dans la suite du manuscrit.
+Nous allons en présenter deux, que nous allons utiliser dans la suite du manuscrit.
\paragraph{Descente de gradient exponentié}
-L'approche par réduction pour une classification équitable\footnote{\textit{Reductions approaches for fair classification}} traduit une définition d'équité en terme de contraintes d'inégalités~\cite{reductions}.
-Par exemple la parité démographique peut se reformuler de la manière suivante
+L'approche par réduction pour une classification équitable\footnote{\textit{Reductions approaches for fair classification}} traduit une définition d'équité en termes de contraintes d'inégalités~\cite{reductions}.
+Par exemple, la parité démographique peut se reformuler de la manière suivante
\begin{equation*}
\left\{
\begin{matrix}
@@ -110,22 +110,22 @@ Par exemple la parité démographique peut se reformuler de la manière suivante
\end{matrix}
\right.
\end{equation*}
-Où $\epsilon_0$ et $\epsilon_1$ ont été rajouté pour relaxer la contrainte permettant de contrôler le compromis entre utilité en confidentialité.
-Ensuite ces contraintes sont utilisés avec le problème de minimisation sous la forme d'un lagrangien comme nous l'avons vu à la Section~\ref{sec:background-opti-sous}.
+Où $\epsilon_0$ et $\epsilon_1$ ont été rajoutés pour relaxer la contrainte permettant de contrôler le compromis entre utilité et confidentialité.
+Ensuite, ces contraintes sont utilisées avec le problème de minimisation sous la forme d'un lagrangien comme nous l'avons vu à la Section~\ref{sec:background-opti-sous}.
-Pour trouver le point selle Agarwal et al. utilisent en algorithme qui produit un classifieur stochastique\footnote{\textit{Randomized classifieur}}.
+Pour trouver le point selle Agarwal et al. utilisent un algorithme qui produit un classifieur stochastique\footnote{\textit{Randomized classifieur}}.
C'est un classifieur particulier qui n'est pas déterministe.
-Lors de l'apprentissage, plusieurs solutions approchant le point selle sont trouvé qui correspondent à plusieurs sous-classifieurs.
-Ensuite pour chaque prédiction un choix aléatoire est réalisé pour sélectionner l'un des sous-classifieur qui sera évalué sur la donnée d'entrée.
+Lors de l'apprentissage, plusieurs solutions approchant le point selle sont trouvées qui correspondent à plusieurs sous-classifieurs.
+Ensuite, pour chaque prédiction, un choix aléatoire est réalisé pour sélectionner l'un des sous-classifieurs qui sera évalué sur la donnée d'entrée.
Il s'agit donc d'une méthode d'apprentissage ensembliste.
Le nom de la méthode vient de l'utilisation de l'algorithme \textit{Exponentiated Gradient}~\cite{kivinen1997exponentiated} pour la résolution du problème dual qui accélère le convergence comparativement à l'algorithme de descente de gradient.
\paragraph{Rééquilibrage adverse}\footnote{\textit{Adversarial debiasing}}
Cette méthode prend le problème sous un tout autre angle~\cite{10.1145/3278721.3278779}.
-Au lieu d'intégrer les contraintes d'équités lors de l'apprentissage, elle utilise l'idée suivante :
-La parité démographique signifie que l'attribut sensible est indépendant de la sortie, donc si il est impossible pour un adversaire de prédire l'attribut sensible à partir du logit, le modèle doit satisfaire cette définition.
-C'est une remarque très juste que nous allons étudié en détail et démontrer dans les Chapitres~\ref{sec:fini} et~\ref{sec:aia}.
+Au lieu d'intégrer les contraintes d'équité lors de l'apprentissage, elle utilise l'idée suivante :
+La parité démographique signifie que l'attribut sensible est indépendant de la sortie, donc s'il est impossible pour un adversaire de prédire l'attribut sensible à partir du logit, le modèle doit satisfaire cette définition.
+C'est une remarque très juste que nous allons étudier en détail et démontrer dans les Chapitres~\ref{sec:fini} et~\ref{sec:aia}.
La méthode de Zhan et al. consiste donc à utiliser deux réseaux de neurones.
L'un infère la tâche principale, l'autre utilise le logit du premier pour inférer l'attribut sensible : nous l'appelons adversaire.
@@ -135,12 +135,12 @@ Cela signifie que la fonction de coût est de la forme
\label{eq:background-ml-adv}
C(x) = F(x) - sA(x)
\end{equation}
-Où $F$ est le coût du classifieur principale et $A$ celui de l'adversaire.
-Nous voyons que minimiser $C$ à tendance à minimiser $F$ et maximiser $A$ ce qui signifie trouver les paramètres du classifieur de la tâche principale qui vas réaliser une bonne classification tout en empêchant l'adversaire d'inférer l'attribut sensible.
-L'avantage de cette méthode par rapport aux multiplicateurs de Lagrange est que ici on protège directement le logit au lieu de la prédiction ce qui est plus générale.
-Cela serai impossible et générerai une quantité infinie (non-dénombrable) de contraintes si on devais les écrire sous une forme acceptable pour créer un lagrangien.
+Où $F$ est le coût du classifieur principal et $A$ celui de l'adversaire.
+Nous voyons que minimiser $C$ a tendance à minimiser $F$ et maximiser $A$, ce qui signifie trouver les paramètres du classifieur de la tâche principale qui va réaliser une bonne classification tout en empêchant l'adversaire d'inférer l'attribut sensible.
+L'avantage de cette méthode par rapport aux multiplicateurs de Lagrange est qu'ici on protège directement le logit au lieu de la prédiction, ce qui est plus général.
+Cela serait impossible et générerait une quantité infinie (non-dénombrable) de contraintes si on devait les écrire sous une forme acceptable pour créer un lagrangien.
-Le principale désavantage de cette méthode est dans le paramètre $s$ de l'Equation~\ref{eq:background-ml-adv}.
+Le principal désavantage de cette méthode est dans le paramètre $s$ de l'Equation~\ref{eq:background-ml-adv}.
Ce paramètre sert à avoir un bon équilibre entre la tâche principale et contrer l'adversaire.
-Cependant, comme Zhang et al. le précise, il est très difficile de le trouver et rentre dans la catégorie de l'optimisation des hyperparamètres des réseaux de neurones.
+Cependant, comme Zhang et al. le précisent, il est très difficile de le trouver et rentre dans la catégorie de l'optimisation des hyperparamètres des réseaux de neurones.
diff --git a/background/main.tex b/background/main.tex
index 49d9c8f..aaafc6c 100644
--- a/background/main.tex
+++ b/background/main.tex
@@ -1,13 +1,13 @@
-Nous présentons dans ce chapitre les différentes théories et concepts sur les quelles se basent nos développements.
+Nous présentons dans ce chapitre les différentes théories et concepts sur lesquels se basent nos développements.
\section{Mathématiques}
\label{sec:background-math}
L'origine de l'IA est mathématique~\cite{dartmouth,lecun2019quand}.
Nous utilisons dans ce manuscrit principalement deux théories : l'optimisation pour entraîner les modèles et les probabilités pour les évaluer.
Ainsi nous présentons dans cette section les prérequis nécessaires pour comprendre les prochains développements.
-Cette section ne serai être un cours exhaustif mais a pour but de mettre en place les définitions et les principaux théorèmes qui nous allons utiliser.
+Cette section ne saurait être un cours exhaustif mais a pour but de mettre en place les définitions et les principaux théorèmes que nous allons utiliser.
Nous supposons que le lecteur est familier du calcul des prédicats.
Nous utiliserons les quantificateurs $\forall$ (pour tout) et $\exists$ (il existe tel que).
-Nous utiliserons aussi les opérateurs logiques suivant que nous définissons par leurs tables de vérités :
+Nous utiliserons aussi les opérateurs logiques suivants que nous définissons par leur table de vérité :
\begin{equation}
\begin{matrix}
a & b & a\iff b & a\implies b & a\wedge b & a\vee b & \neg a\\
diff --git a/background/ml.tex b/background/ml.tex
index 447e9d1..b8331b5 100644
--- a/background/ml.tex
+++ b/background/ml.tex
@@ -1,30 +1,30 @@
L'apprentissage automatique\footnote{\textit{Machine learning}} est le fondement de l'IA moderne.
-Les réseaux de neurones profonds ont révolutionné ce domaines notamment grâce à l'augmentation de la puissance de calcul des cartes graphiques~\cite{lecun2019quand}.
+Les réseaux de neurones profonds ont révolutionné ce domaine notamment grâce à l'augmentation de la puissance de calcul des cartes graphiques~\cite{lecun2019quand}.
\subsection{Principe}
-Reprenons la définition de L'IA donnée dans le règlement UE 2024/1689 pour une harmonisation des régulations relatives a l'IA~\cite{aiact} et notamment la Figure~\ref{fig:contexte-IAUE}.
+Reprenons la définition de l'IA donnée dans le Règlement UE 2024/1689 pour une harmonisation des régulations relatives a l'IA~\cite{aiact} et notamment la Figure~\ref{fig:contexte-IAUE}.
Cette définition exprime bien le fonctionnement d'un modèle d'apprentissage automatique.
-Le modèle est une fonction qui prend en entrée une donnée d'entrée et des paramètres et qui renvoi une prédiction.
+Le modèle est une fonction qui prend en entrée une donnée d'entrée et des paramètres et qui renvoie une prédiction.
Le vie d'un modèle se passe en deux étapes.
Premièrement il faut trouver des paramètres qui assurent un bon fonctionnement du modèle.
-En générale le bon fonctionnement se défini en disant que le modèle a une bonne utilité et respecte les contraintes qui lui sont demandé.
+En général le bon fonctionnement se définit en disant que le modèle a une bonne utilité et respecte les contraintes qui lui sont demandées.
Ces contraintes peuvent imposer l'équité ou la confidentialité par exemple.
-Ensuite, les paramètres sont utilisés pour réaliser des prédictions sur des données nouvelles, qui n'ont en générale pas été utilisés pour l'entraînement.
-Par exemple pour en revenir à la justice prédictive, les paramètre sont trouvé en utilisant des données historiques de tribunaux.
-Le modèle est ensuite utilisé sur de nouveaux cas de condamné.
-Nous allons présenter ces deux aspects, entraînent et évaluation, dans les Sections qui suivent.
+Ensuite, les paramètres sont utilisés pour réaliser des prédictions sur des données nouvelles, qui n'ont en général pas été utilisées pour l'entraînement.
+Par exemple, pour en revenir à la justice prédictive, les paramètres sont trouvés en utilisant des données historiques de tribunaux.
+Le modèle est ensuite utilisé sur de nouveaux cas de condamnés.
+Nous allons présenter ces deux aspects, entraînement et évaluation, dans les Sections qui suivent.
\subsection{Entraîner un modèle}
\label{sec:background-ml-train}
-Les données qui servent à l'entraînement du modèle doivent posséder une étiquette : c'est-à dire le résultat attendu qui est considéré comme vraie.
-Dans la justice prédictive il s'agit de savoir si le coupable à été récidiviste après avoir été libéré.
-Pour prendre un exemple plus scolaire, sur le jeu de donnée Iris~\cite{iris_53}, on cherche à classifier l'espèce d'iris à partir de la longueur et de la largeur des sépales et des pétales.
-Nous utilisons, pour l'entraînement, des données de taille de sépale et pétale pour lesquelles nous connaissons l'espèce d'iris.
+Les données qui servent à l'entraînement du modèle doivent posséder une étiquette : c'est-à-dire le résultat attendu qui est considéré comme vrai.
+Dans la justice prédictive, il s'agit de savoir si le coupable a été récidiviste après avoir été libéré.
+Pour prendre un exemple plus scolaire, sur le jeu de données Iris~\cite{iris_53}, on cherche à classifier l'espèce d'iris à partir de la longueur et de la largeur des sépales et des pétales.
+Nous utilisons, pour l'entraînement, des données de taille de sépales et pétales pour lesquelles nous connaissons l'espèce d'iris.
En utilisant ces données nous ajustons les paramètres pour que la prédiction soit la plus précise possible.
-Pour ce faire nous utilisons une fonction de coût.
+Pour ce faire, nous utilisons une fonction de coût.
C'est une fonction qui sert à déterminer à quel point une prédiction est bonne.
-C'est-à-dire que plus la fonction de coût renvoi une valeur petite, meilleur est le modèle.
+C'est-à-dire que plus la fonction de coût renvoie une valeur petite, meilleur est le modèle.
Nous définissons le modèle suivant :
\begin{equation*}
@@ -36,9 +36,9 @@ Nous définissons le modèle suivant :
\end{matrix}
\right.
\end{equation*}
-Alors une fonctions de coût, est une fonction $l$ de $\mathbb{R}^n\times\mathbb{R}^n$ dans $\mathbb{R}^+$.
+Alors une fonction de coût, est une fonction $l$ de $\mathbb{R}^n\times\mathbb{R}^n$ dans $\mathbb{R}^+$.
On se donne l'espace probabilisé $(\Omega,\mathcal{T},P)$.
-Soit $\mathcal{V}$ l'ensemble des variables aléatoire de $\Omega$ dans $\mathbb{R}^+$.
+Soit $\mathcal{V}$ l'ensemble des variables aléatoires de $\Omega$ dans $\mathbb{R}^+$.
Nous pouvons ainsi définir le coût induit par un choix de paramètres par la fonction
\begin{equation*}
@@ -61,66 +61,66 @@ Nous pouvons donc appliquer une descente de gradient comme vu à la Section~\ref
\begin{equation*}
\text{min}_{\theta\in\Theta}c(\theta)
\end{equation*}
-En pratique la quantité $c(\theta)$ est évalué en calculant la moyenne empirique sur un grande nombre de donnée ce qui converge vers l'espérance d'après la loi des grands nombres~\cite{proba}.
-$c$ n'étant pas forcément convexe, en fonction du point de départ ($x_0$) l'algorithme de descente de gradient peut converger vers un minimum local qui donnera un modèle finale avec de piètre qualités.
+En pratique la quantité $c(\theta)$ est évaluée en calculant la moyenne empirique sur un grande nombre de données, ce qui converge vers l'espérance d'après la loi des grands nombres~\cite{proba}.
+$c$ n'étant pas forcément convexe, en fonction du point de départ ($x_0$) l'algorithme de descente de gradient peut converger vers un minimum local qui donnera un modèle finale avec de piètres qualités.
C'est ce que nous représentons dans la Figure~\ref{fig:background-opti-cvx} où nous voyons une convergence vers un minimum local alors que le point recherché est au fond d'une vallée plus profonde.
-Très souvent l'algorithme d'optimisation utilisé est la descente de gradient stochastique (SGD)\footnote{\textit{Stochastic gradient descent}}~\cite{amari1993back}, c'est une version modifié de la descente de gradient adapté aux réseaux de neurones qui permet d'accélérer la convergence~\cite{bottou2012stochastic} et d'éviter les minima locaux~\cite{bottou1991stochastic}.
-Cet algorithme évalue l'espérance empirique de $C(\theta)$ sur chaque élément, appelé \textit{mini batch}, d'une partition des données d'entraînements.
+Très souvent l'algorithme d'optimisation utilisé est la descente de gradient stochastique (SGD)\footnote{\textit{Stochastic gradient descent}}~\cite{amari1993back}, c'est une version modifiée de la descente de gradient adaptée aux réseaux de neurones qui permet d'accélérer la convergence~\cite{bottou2012stochastic} et d'éviter les minimas locaux~\cite{bottou1991stochastic}.
+Cet algorithme évalue l'espérance empirique de $C(\theta)$ sur chaque élément, appelé \textit{mini batch}, d'une partition des données d'entraînement.
-La recherche des paramètre d'entraînement comme la finesse de la partition ou le pas est en pratique réalisé par des algorithmes qui parcours un espace de recherche et regarde l'entraînement pour quelques itérations~\cite{bergstra2015hyperopt}.
+La recherche des paramètres d'entraînement comme la finesse de la partition ou le pas est en pratique réalisée par des algorithmes qui parcourent un espace de recherche et regardent l'entraînement pour quelques itérations~\cite{bergstra2015hyperopt}.
Nous appelons cela l'\emph{optimisation des hyperparamètres}.
\begin{figure}
\begin{subfigure}{0.3\linewidth}
\includegraphics[width=\linewidth]{background/figure/ml/convex/f_local3.1.pdf}
- \caption{L'algorithme tombe dans un minimum locale ($u_0=3,1$).}
+ \caption{L'algorithme tombe dans un minimum local ($u_0=3,1$).}
\end{subfigure}
\begin{subfigure}{0.3\linewidth}
\includegraphics[width=\linewidth]{background/figure/ml/convex/f_local8.28.pdf}
- \caption{L'algorithme tombe dans un minimum globale ($u_0=8,28$).}
+ \caption{L'algorithme tombe dans un minimum global ($u_0=8,28$).}
\end{subfigure}
\begin{subfigure}{0.3\linewidth}
\includegraphics[width=\linewidth]{background/figure/ml/convex/conv_local.pdf}
- \caption{Convergence vers un minimum locale et globale.}
+ \caption{Convergence vers un minimum local et global.}
\end{subfigure}
- \caption{Impacte de la convexité sur la convergence.}
+ \caption{Impact de la convexité sur la convergence.}
\label{fig:background-opti-cvx}
\end{figure}
\subsection{Évaluer un modèle}
Nous appellerons ici évaluation d'un modèle, le calcul des métriques qui permettent de juger de son utilité.
Ces métriques varient en fonction du type de modèle et du contexte dans lequel il est utilisé.
- Par exemple il est souhaitable qu'un modèle qui permette de prédire l'absence ou la présence d'une maladie ai un faible taux de faux négatifs.
- Cela permet d'éviter de penser à tords qu'un patient n'est pas malade ce qui pourrai entraîner un retard dans sa prise en charge.
+ Par exemple, il est souhaitable qu'un modèle qui permette de prédire l'absence ou la présence d'une maladie ait un faible taux de faux négatifs.
+ Cela permet d'éviter de penser à tord qu'un patient n'est pas malade ce qui pourrait entraîner un retard dans sa prise en charge.
\subsubsection{Classification}
\label{sec:background-ml-classif}
- Les modèles de classification visent à attribuer à chaque point des données évalué une classe parmi un ensemble fini.
- Par exemple, dans le cadre de la justice prédictive, inférer pour chaque coupable si il sera récidiviste ou non~\cite{zhiyuan2020limits}.
- Quand il y a deux classes, comme dans l'exemple précédent avec \emph{récidiviste} ou \emph{non-récidiviste}, nous dirons que le modèle effectue une classification binaire.
+ Les modèles de classification visent à attribuer à chaque point des données évaluées une classe parmi un ensemble fini.
+ Par exemple, dans le cadre de la justice prédictive, inférer pour chaque coupable s'il sera récidiviste ou non~\cite{zhiyuan2020limits}.
+ Quand il y a deux classes, comme dans l'exemple précédent, avec \emph{récidiviste} ou \emph{non-récidiviste}, nous dirons que le modèle effectue une classification binaire.
Ce cas est très présent en apprentissage automatique~\cite{li2020statistical, kumari2017machine} ainsi il existe beaucoup d'outils qui permettent d'évaluer ce genre de classifieur~\cite{canbek2022ptopi}.
- Nous représentons le modèle que nous souhaite évaluer par une fonction $f:E\rightarrow \{0,1\}$
- C'est-à-dire que le modèle prend une donnée d'entrée dans $E$, cela peut être une image ou une ligne d'un tableau, et lui attribut soit la classe $0$ soit la classe $1$.
+ Nous représentons le modèle que nous souhaitons évaluer par une fonction $f:E\rightarrow \{0,1\}$
+ C'est-à-dire que le modèle prend une donnée d'entrée dans $E$, cela peut être une image ou une ligne d'un tableau, et lui attribue soit la classe $0$ soit la classe $1$.
Nous dirons que $0$ est un résultat négatif et $1$ un résultat positif.
- Pour évaluer correctement le modèle, nous devons prendre en compte la répartition dé données dans $E$.
- Nous modélisons cette répartition par les lois de probabilités de deux variables aléatoires :
+ Pour évaluer correctement le modèle, nous devons prendre en compte la répartition des données dans $E$.
+ Nous modélisons cette répartition par les lois de probabilité de deux variables aléatoires :
\begin{itemize}
\item $X:\Omega\rightarrow E$
\item $Y:\Omega\rightarrow \{0,1\}$
\end{itemize}
$(\Omega,\mathcal{T},P)$ est un espace probabilisé.
- Il n'est pas nécessaire que nous définissons de manière plus précise cet espace car nous ne nous intéressons qu'aux mesure images de $X$ et $Y$ par $P$.
- Nous pouvons, de la même manière définir une variable aléatoire pour la sortie du modèle : $\hat{Y} = f\circ X$.
+ Il n'est pas nécessaire que nous définissions de manière plus précise cet espace car nous ne nous intéressons qu'aux mesures images de $X$ et $Y$ par $P$.
+ Nous pouvons, de la même manière, définir une variable aléatoire pour la sortie du modèle : $\hat{Y} = f\circ X$.
Grâce à ces objets, nous allons définir des quantités qui décrivent l'utilité du modèle.
La première est
l'\emph{exactitude}\footnote{\textit{Accuracy}}, c'est la probabilité que le classifieur prédise la bonne classe. Nous la définissons par $P(\hat{Y}=Y)$.
- Cette définition, bien que très intuitive, souffre qu'elle est sensible au déséquilibré de classe~\footnote{\textit{Class imablance}}.
+ Cette définition, bien que très intuitive, a le désavantage d'être sensible au déséquilibre de classe~\footnote{\textit{Class imablance}}.
Considérons l'exemple suivant : imaginons un modèle déployé en 1982 qui cherche à prédire si un employé cadre est une femme ou un homme.
- Supposons que ce modèle ai une exactitude de $79\%$, c'est-à-dire que le modèle prédise justement le genre huit fois sur dix, nous dirons certainement que ce modèle est performant ?
+ Supposons que ce modèle ait une exactitude de $79\%$, c'est-à-dire que le modèle prédise justement le genre huit fois sur dix, nous dirons certainement que ce modèle est performant ?
Voici donc un modèle qui atteint cette performance :
\begin{equation}
f:
@@ -133,7 +133,7 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
\end{equation}
C'est-à-dire un modèle qui prédise toujours homme.
- Calculons son exactitude, pour plus de lisibilité nous encodons homme par $0$ et femme par $1$.
+ Calculons son exactitude ; pour plus de lisibilité nous encodons homme par $0$ et femme par $1$.
Comme le modèle prédit toujours homme, $P(\hat{Y}=0)=1$ et $P(\hat{Y}=1)=0$.
\begin{align}
&P(\hat{Y}=Y)\nonumber\\
@@ -142,29 +142,29 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
=&1\cdot P(Y=0) + 0\cdot P(Y=1) = P(Y=0)\nonumber
\end{align}
- Or, en 1982 il y avait uniquement $21\%$ des cadres qui était des femmes~\cite{insee1982parite}, ainsi $P(Y=0)=0,79$ et $P(Y=1)=0,21$.
- Nous avons donc bien une exactitude de $79\%$ bien que le modèle n'ai aucune utilité pratique !
+ Or, en 1982 il y avait uniquement $21\%$ des cadres qui étaient des femmes~\cite{insee1982parite}, ainsi $P(Y=0)=0,79$ et $P(Y=1)=0,21$.
+ Nous avons donc bien une exactitude de $79\%$ bien que le modèle n'ait aucune utilité pratique !
Ainsi l'exactitude est significative uniquement quand $Y$ suit une loi uniforme.
Nous définissons donc une autre métrique : l'\emph{exactitude équilibrée}\footnote{\textit{balanced accuracy}}.
Pour cela nous repartons de l'Equation~\ref{eq:background-ml-ac} et remplaçons $P(Y=0)$ et $P(Y=1)$ par $\frac{1}{2}$.
Ainsi l'exactitude équilibrée est la moyenne de $P(\hat{Y}=0|Y=0)$ et de $P(\hat{Y}=1|Y=1)$.
De manière plus générale, l'exactitude équilibrée est
- $\sum_{e\in E}P(\hat{Y}=e\mid Y=e)$.
- C'est-à-dire que nous regardons pour chaque classes séparément (homme ou femme dans notre exemple) la probabilité qu'un point soit bien classifié.
+ $\frac{1}{\#E}\sum_{e\in E}P(\hat{Y}=e\mid Y=e)$.
+ C'est-à-dire que nous regardons pour chaque classe séparément (homme ou femme dans notre exemple) la probabilité qu'un point soit bien classifié.
Ainsi, en calculant l'exactitude équilibrée avec l'exemple précèdent nous obtenons $\frac{1+0}{2}=0,5$.
Ce résultat montre bien que le modèle n'a pas d'utilité.
\paragraph{La courbe \textit{Receiver Operating Characteristic} (ROC)}
- Un grand nombre d'algorithme d'apprentissage automatique pour la classification binaire optimise les paramètres d'un e fonctions à valeurs dans $[0,1]$ (ou dans un ensemble un bijection avec $[0,1]$).
- C'est le cas par exemple des réseaux de neurones avec un unique neurones dans la couche finale, de la régression logistique, de la forêt aléatoire, etc.
+ Un grand nombre d'algorithmes d'apprentissage automatique pour la classification binaire optimise les paramètres d'une fonction à valeurs dans $[0,1]$ (ou dans un ensemble en bijection avec $[0,1]$).
+ C'est le cas par exemple des réseaux de neurones avec un unique neurone dans la couche finale, de la régression logistique, de la forêt aléatoire, etc.
Nous appelons cette étape intermédiaire dans la classification, logit ou \textit{soft label}.
- La classification ce fait grâce un seuil sur ce logit.
- C'est à dire que si on appelle $g(x)$ le logit de $x$, le modèle de classification peut se décomposer par : $f_\uptau = 1_{[\uptau,1]}\circ g$.
+ La classification se fait grâce un seuil sur ce logit.
+ C'est-à-dire que si on appelle $g(x)$ le logit de $x$, le modèle de classification peut se décomposer par : $f_\uptau = 1_{[\uptau,1]}\circ g$.
- Ainsi si nous calculons l'exactitude, l'exactitude équilibrée ou tout autre métrique que nous avons présenté précédemment elle dépendra du seuil ($\uptau$).
- Pour palier cela nous regardons la ROC : une courbe paramétrique qui au seuil associe le taux de faux positif (FPR)\footnote{\textit{False positive rate}} et le taux de vrai positif (TPR)\footnote{\textit{True positive rate}}.
- Nous définissons ces quantité comme suit :
+ Ainsi si nous calculons l'exactitude, l'exactitude équilibrée ou toute autre métrique que nous avons présentée précédemment, elle dépendra du seuil ($\uptau$).
+ Pour palier cela nous regardons la ROC : une courbe paramétrique qui, au seuil, associe le taux de faux positifs (FPR)\footnote{\textit{False positive rate}} et le taux de vrais positifs (TPR)\footnote{\textit{True positive rate}}.
+ Nous définissons ces quantités comme suit :
\begin{itemize}
\item Taux de faux positifs : $\text{fpr}(\uptau) = P(f_\uptau\circ X=1\mid Y=0)$
\item Taux de vrais positifs $\text{tpr}(\uptau) = P(f_\uptau\circ X=1\mid Y=1)$
@@ -199,23 +199,23 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
\label{fig:background-ml-roc}
\end{figure}
- La courbe ROC montre que le seuil permet d'ajuster le compromis entre faux positif et vrai positif, en pratique ce compromis dépend de l'application.
- En effet, comme nous le voyons sur la Figure~\ref{fig:background-ml-roc}, si le seuil vaut $\uptau=0$, tous les points sont classifié positivement par le modèle.
- Ainsi le taux de faux positifs est maximal et vaux $1$.
- Dans le cas totalement opposé de $\uptau=1$ aucun point n'est classifié comme positif et donc il n'y a pas de faux positif mais il n'y a pas non plus de vrai positif.
+ La courbe ROC montre que le seuil permet d'ajuster le compromis entre faux positifs et vrais positifs ; en pratique ce compromis dépend de l'application.
+ En effet, comme nous le voyons sur la Figure~\ref{fig:background-ml-roc}, si le seuil vaut $\uptau=0$, tous les points sont classifiés positivement par le modèle.
+ Ainsi le taux de faux positifs est maximal et vaut $1$.
+ Dans le cas totalement opposé de $\uptau=1$ aucun point n'est classifié comme positif et donc il n'y a pas de faux positifs mais il n'y a pas non plus de vrais positifs.
Il s'agit donc de trouver un équilibre entre ces deux extrêmes.
- Il peut être utile, pour comparer plusieurs classifieurs de résumer la ROC en une seule valeur.
- Pour cela nous utilisons l'aire sous la courbe ROC, appelé AUC~\footnote{\textit{Area Under the Curve}}.
- Comme nous le voyons sur la Figure~\ref{fig:background-ml-roc}, un classifieur qui malgré l'ajustement de son seuil ne prédit pas correctement l'étiquette a une AUC de $0,5$.
- Alors qu'un classifieur parfait, c'est-à-dire pour lequel il existe un seuil qui produit un taux de faux positif nul et un taux de vrai positif égale à 1, a une AUC de $1$.
+ Il peut être utile, pour comparer plusieurs classifieurs, de résumer la ROC en une seule valeur.
+ Pour cela nous utilisons l'aire sous la courbe ROC, appelé AUC\footnote{\textit{Area Under the Curve}}.
+ Comme nous le voyons sur la Figure~\ref{fig:background-ml-roc}, un classifieur qui, malgré l'ajustement de son seuil, ne prédit pas correctement l'étiquette, a une AUC de $0,5$.
+ Alors qu'un classifieur parfait, c'est-à-dire pour lequel il existe un seuil qui produit un taux de faux positifs nul et un taux de vrais positifs égaux à 1, a une AUC de $1$.
\subsubsection{Régression}
- La régression est un autre type de modèle qui cherche non pas à ranger une donnée dans une classe mais plutôt à prédire une grandeur.
- Par exemple prédire la masse d'une personne à partir de sa taille.
- Nous avons vu dans la section précédente que certain modèle de classification utilise une étape intermédiaire de calcul de logit.
- Le calcul de logit est une forme de régression car il s'agit de prédit une grandeur et non pas de choisir une classe.
- Pour mieux comprendre le lien entre ces deux type de modèles, nous pouvons observer l'exemple de la régression logistique.
+ La régression est un autre type de modèle qui cherche, non pas à ranger une donnée dans une classe, mais plutôt à prédire une grandeur.
+ Par exemple, prédire la masse d'une personne à partir de sa taille.
+ Nous avons vu dans la section précédente que certains modèles de classification utilisent une étape intermédiaire de calcul de logit.
+ Le calcul de logit est une forme de régression car il s'agit de prédire une grandeur et non pas de choisir une classe.
+ Pour mieux comprendre le lien entre ces deux types de modèles, nous pouvons observer l'exemple de la régression logistique.
\begin{figure}
\centering
\begin{subfigure}{0.3\linewidth}
@@ -244,24 +244,24 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
\end{figure}
Dans la Figure~\ref{fig:background-ml-logit} nous avons l'exemple d'une régression logistique qui nous donne la courbe logit dans les trois premières sous-figures.
- Le seuil est représenté par le changement de couleur tandis que les étiquettes sont représentées par la position sur l'axe de ordonnées.
- Nous observons que changer le seuil permet d'influer sur les différentes métriques que nous avons présenté en Section~\ref{sec:backgroung-ml-classif}.
+ Le seuil est représenté par le changement de couleur, tandis que les étiquettes sont représentées par la position sur l'axe des ordonnées.
+ Nous observons que changer le seuil permet d'influer sur les différentes métriques que nous avons présentées en Section~\ref{sec:backgroung-ml-classif}.
Le choix d'un seuil approprié est donc dépendant de l'application.
- Comme nous pouvons de le voir sur la Sous-figure~\ref{subfig:background-ml-logit-d}, un seuil proche de $1$ permet de grandement réduire le FPR mais réduit les autres métriques.
- Le choix d'un seuil est aussi particulièrement important quand les données présentent un déséquilibre, c'est-à-dire qu'une classe et majoritaire par rapport à une autre~\cite{zou2016finding}.
- Dans la Figure~\ref{fig:background-ml-logit} il y $28\%$ de points positif représenté en rouge.
- Cela explique la différence entre exactitude et exactitude équilibrée à seuil égale.
+ Comme nous pouvons le voir sur la Sous-figure~\ref{subfig:background-ml-logit-d}, un seuil proche de $1$ permet de grandement réduire le FPR mais réduit aussi les autres métriques.
+ Le choix d'un seuil est aussi particulièrement important quand les données présentent un déséquilibre, c'est-à-dire qu'une classe est majoritaire par rapport à une autre~\cite{zou2016finding}.
+ Dans la Figure~\ref{fig:background-ml-logit} il y $28\%$ de points positifs représentés en rouge.
+ Cela explique la différence entre exactitude et exactitude équilibrée à seuil égal.
\subsection{Apprentissage profond}
Nous allons présenter ici rapidement les réseaux de neurones dans un contexte d'inférence et de génération car cela nous sera utile pour les Chapitres~\ref{sec:aia} et~\ref{sec:synth}.
\subsubsection{Réseau de neurones}
-En apprentissage profond, l'expression explicite qui lie entrée, paramètre et sortie (que nous avons appelé $f(x,\theta)$ à la Section~\ref{sec:background-ml-train}) est appelé l'architecture du réseau de neurones.
+En apprentissage profond, l'expression explicite qui lie entrée, paramètre et sortie (que nous avons appelé $f(x,\theta)$ à la Section~\ref{sec:background-ml-train}) est appelée l'architecture du réseau de neurones.
Dans cette section nous allons présenter quelques architectures classiques.
-Pour en savoir plus à ce sujet et sur l'apprentissage automatique en générale, notamment pour avoir plus de détails sur l'entraînement, nous renvoyons le.la lecteur.rice au livre de Yann Le Cun, \textit{Quand la machine apprend}~\cite{lecun2019quand}.
+Pour en savoir plus à ce sujet et sur l'apprentissage automatique en général, notamment pour avoir plus de détails sur l'entraînement, nous renvoyons le.la lecteur.rice au livre de Yann Le Cun, \textit{Quand la machine apprend}~\cite{lecun2019quand}.
-Un réseau de neurones est composé de plusieurs couches successives qui on chacune des paramètres.
-En d'autre termes un modèle
+Un réseau de neurones est composé de plusieurs couches successives qui ont chacune des paramètres.
+En d'autres termes un modèle
\begin{equation*}
f:\left\{
\begin{matrix}
@@ -270,15 +270,15 @@ En d'autre termes un modèle
\end{matrix}
\right.
\end{equation*}
-peut se décomposer comme une composition de modèle intermédiaires.
+peut se décomposer comme une composition de modèles intermédiaires.
Par exemple un modèle à $m$ couches peut s'écrire :
\begin{equation*}
f(\Box,\theta) = f_{m-1}(\Box,\theta_{m-1})\circ\cdots\circ
f_{0}(\Box,\theta_0)
\end{equation*}
-Nous utiliserons deux types de couches : les couches entièrement connectée\footnote{\textit{Fully connected}} et les couches de convolution.
+Nous utiliserons deux types de couches : les couches entièrement connectées\footnote{\textit{Fully connected}} et les couches de convolution.
-Une couche entièrement connectée est elle même composé d'une multiplication matricielle, une addition à un vecteur et une fonctions d'activation.
+Une couche entièrement connectée est elle-même composée d'une multiplication matricielle, d'une addition à un vecteur et d'une fonction d'activation.
Considérons une couche intermédiaire de $\mathbb{R}^o$ dans $\mathbb{R}^p$
Nous dirons que cette couche a $p$ neurones.
Nous utiliserons toujours la même fonction d'activation : \textit{Rectified Linear} (ReLu).
@@ -291,15 +291,15 @@ Cette fonction est définie de la manière suivante :
\begin{matrix}
1_{\mathbb{R}^+}(x_0)x_0\\
\vdots\\
- 1_{\mathbb{R}^+}(x_{n-1})x_{n-1}\\
+ 1_{\mathbb{R}^+}(x_{p-1})x_{p-1}\\
\end{matrix}
\right)
\end{matrix}
\right.
\end{equation*}
-Nous remarquons que cette fonction n'as pas de paramètre à optimiser, son but et d'éviter que l'architecture globale soit une fonction affine.
+Nous remarquons que cette fonction n'a pas de paramètres à optimiser ; son but est d'éviter que l'architecture globale soit une fonction affine.
-La partie linéaire de la couche est paramétré par les coefficient de la matrice de l'application linéaire.
+La partie linéaire de la couche est paramétrée par les coefficients de la matrice de l'application linéaire.
Cette fonction $l$ admet donc comme expression $l(x)=Mx$ avec $M\in\mathbb{R}_{p,o}$
Enfin la partie additive est appelée biais et s'écrit $B(x) = x+b$ avec $b\in\mathbb{R}^p$.
@@ -313,12 +313,12 @@ Ainsi la $i$-ième couche s'écrit :
\right.
\end{equation*}
-Regardons maintenant les couches de convolutions.
+Regardons maintenant les couches de convolution.
L'idée de la convolution est d'extraire des représentations\footnote{\textit{Features extraction}} à partir d'un signal qui est généralement une image, un son ou la sortie d'un capteur analogique comme un gyroscope.
-Une architecture classique utilise les couches de convolutions à l'entrée du réseau avant les couches entièrement connectées.
-L'idée étant que le modèle commence par extraire de représentations puis les analyse.
+Une architecture classique utilise les couches de convolution à l'entrée du réseau avant les couches entièrement connectées.
+L'idée étant que le modèle commence par extraire des représentations puis les analyse.
-Dans ce type de couche le paramètre $\theta_i$ est le noyau de convolution.
+Dans ce type de couche, le paramètre $\theta_i$ est le noyau de convolution.
C'est la fonction par laquelle on multiple le signal sous l'intégrale.
Pour un noyau de convolution de taille $c$
\begin{equation}
@@ -334,37 +334,37 @@ Où $x'$ est tel que $x'(u-t)$ soit toujours bien défini par rembourrage\footno
\subsubsection{Modèle génératif}
\label{sec:background-generation}
-Une générateur est une fonction qui prend en entrée un jeu de données réel et renvoi un jeu de donnée synthétique.
+Un générateur est une fonction qui prend en entrée un jeu de données réel et renvoie un jeu de données synthétique.
Cette définition est suffisamment générale pour que l'identité soit un générateur.
-Nous dirons que la sortie du générateur identité sont des données réels et nous appellerons donnée synthétique la sortie de n'importe quel autre générateur.
+Nous dirons que la sortie du générateur identité sont des données réelles et nous appellerons données synthétiques la sortie de n'importe quel autre générateur.
-En plus du générateur identité nous utiliserons des réseaux de neurones adverse génératifs~\footnote{\textit{Genertaiv Adversarial Network}} (GAN)~\cite{gan}.
-Le but d'un GAN est de générer des échantillons réalistes étant donné une loi de probabilité.
+En plus du générateur identité, nous utiliserons des réseaux de neurones adverses génératifs~\footnote{\textit{Genertaiv Adversarial Network}} (GAN)~\cite{gan}.
+Le but d'un GAN est de générer des échantillons réalistes suivant une loi de probabilité.
Pour arriver à cela, un GAN utilise deux réseaux de neurones : un générateur et un discriminateur.
-Le domaine du générateur est de petit dimension relativement à son codomaine.
+Le domaine du générateur est de petite dimension comparativement à son codomaine.
La dimension du codomaine est la même que celle des données que l'on souhaite générer.
-Par exemple pour générer de images de taille 64 par 64, le codomaine est $\mathbb{R}_{64,64}$.
+Par exemple, pour générer de images de taille 64 par 64, le codomaine est $\mathbb{R}_{64,64}$.
Pour générer une donnée, nous évaluons le générateur sur un point généré à partir d'une loi normale multidimensionnelle.
-La sortie de générateur est la nouvelle donnée généré.
+La sortie de générateur est la nouvelle donnée générée.
Le discriminateur est utilisé uniquement lors de l'entraînement du GAN et a pour but de s'assurer que le générateur produise des données réalistes.
-Pour cela, le discriminateur est un réseau de neurones ayant une tâche de classification : inférer si une donnée est synthétique ou réel.
-Ainsi, dans la procédure d'entraînement, le discriminateur et le générateur sont en compétition : le but du générateur est de tromper le discriminateur à classifier une donnée synthétique comme réel.
+Pour cela, le discriminateur est un réseau de neurones ayant une tâche de classification : inférer si une donnée est synthétique ou réelle.
+Ainsi, dans la procédure d'entraînement, le discriminateur et le générateur sont en compétition : le but du générateur est de tromper le discriminateur à classifier une donnée synthétique comme réelle.
\subsection{Apprentissage ensembliste}
L'apprentissage ensembliste\footnote{\textit{Ensemble learning}} vise à combiner plusieurs classifieurs pour en obtenir un nouveau plus performant.
Cette procédure se passe en deux temps.
-Le premier consiste à créer un ensemble de classifieur faibles.
+Le premier consiste à créer un ensemble de classifieurs faibles.
Le second consiste à combiner ces classifieurs pour en obtenir un nouveau efficace.
-Bien sure ces deux étapes sont liées et doivent être réfléchies ensembles.
+Bien sûr ces deux étapes sont liées et doivent être réfléchies ensembles.
-L'apprentissage ensembliste intervient à deux niveau dans ce manuscrit.
-Déjà nous utiliserons beaucoup la forêt aléatoire\footnote{\textit{Random forest}} qui est un algorithme particulièrement efficace pour les bases de donnée tabulaires~\cite{shwartz2022tabular,grinsztajn2022tree}.
-La forêt aléatoire~\cite{breiman2001random} construit des arbres de décisions sur des sous ensembles de la base de donnée d'entraînement et sur des projections aléatoirement choisit des donnée\footnote{\textit{Feature bagging}}.
+L'apprentissage ensembliste intervient à deux niveaux dans ce manuscrit.
+Déjà nous utiliserons beaucoup la forêt aléatoire\footnote{\textit{Random forest}} qui est un algorithme particulièrement efficace pour les bases de données tabulaires~\cite{shwartz2022tabular,grinsztajn2022tree}.
+La forêt aléatoire~\cite{breiman2001random} construit des arbres de décision sur des sous-ensembles de la base de données d'entraînement et sur des projections aléatoirement choisies des données\footnote{\textit{Feature bagging}}.
-Ensuite au Chapitre~\ref{sec:fini} nous allons crée un nouvel algorithme de votation\footnote{\textit{Voting}} : une manière de combiner plusieurs classifieurs.
-Cet algorithme se basera la notion d'espace de compréhension.
-Un espace de compréhension\footnote{\textit{Behavior knowledge space}} est une application qui associa aux prédictions d'une vecteur de classifieurs une prédiction optimale~\cite{1688199}.
+Ensuite au Chapitre~\ref{sec:fini} nous allons créer un nouvel algorithme de votation\footnote{\textit{Voting}} : une manière de combiner plusieurs classifieurs.
+Cet algorithme se basera sur la notion d'espace de compréhension.
+Un espace de compréhension\footnote{\textit{Behavior knowledge space}} est une application qui associe aux prédictions d'un vecteur de classifieur une prédiction optimale~\cite{1688199}.
Pour $f_0,\cdots,f_n$ classifieurs à valeur dans $E$, l'espace de compréhension $e$ est une fonction de $E^n$ dans $E$.
Ainsi, pour une donnée d'entrée $x$ la prédiction retenue sera $e(f_0(x),\cdots,f_n(x))$~\cite{1626170}.
diff --git a/background/opti.tex b/background/opti.tex
index bb2ec17..1043861 100644
--- a/background/opti.tex
+++ b/background/opti.tex
@@ -1,18 +1,18 @@
L'optimisation est une branche des mathématiques appliquées qui cherche à trouver les points pour lesquels une fonction réalise un certain nombre d'exigences.
Le lecteur pourra se référer par exemple au livre de Phillipe G. Ciarlet \textit{Introduction à l'analyse numérique matricielle et à l'optimisation}~\cite{ciarlet} pour une présentation très complète d'un grand nombre de techniques.
-Dans ce manuscrit nous ne nous intéresserons qu'a deux type de problèmes liées à l'apprentissage automatique et surtout au réseaux de neurones.
+Dans ce manuscrit nous ne nous intéresserons qu'a deux types de problèmes liés à l'apprentissage automatique et surtout aux réseaux de neurones.
Le premier de ces problèmes est la minimisation sans contrainte d'une fonctionnelle convexe.
Cela permet l'entraînement de modèles d'apprentissage automatique à l'aide de fonctions de coûts.
Le second problème reprend le premier mais y ajoute des contraintes.
-C'est à dire, comme minimise-t'on le coût tout en garantissant certaines conditions ?
+C'est-à-dire, comment minimise-t'on le coût tout en garantissant certaines conditions ?
-\subsubsection{Optimisation sans contrainte : Descente de gradient}
+\subsubsection{Optimisation sans contrainte : descente de gradient}
\label{sec:background-opti-sgd}
Nous appelons fonctionnelles les fonctions de $\mathbb{R}^n$ dans $\mathbb{R}$.
Soit $J$ une fonctionnelle convexe, nous cherchons à trouver $x\in\mathbb{R}^n$ tel que $J(x) = \text{inf}\{J(t)\mid t\in\mathbb{R}^n\}$.
-Pour simplifier cette rapide présentation, nous supposerons que $J$ à toujours les conditions de régularité (différentiabilité) suffisante pour les opérations que nous appliquerons.
-Pour trouver $x$ qui minimise $J$ une des méthode les plus utilisé en apprentissage automatique est la descente de gradient.
-Il s'agit de construire une suite $(x_k)_{k\in\mathbb{N}}$ telle que à chaque étape la direction de descente soit optimale.
+Pour simplifier cette rapide présentation, nous supposerons que $J$ a toujours les conditions de régularité (différentiabilité) suffisantes pour les opérations que nous appliquerons.
+Pour trouver $x$ qui minimise $J$ une des méthodes les plus utilisées en apprentissage automatique est la descente de gradient.
+Il s'agit de construire une suite $(x_k)_{k\in\mathbb{N}}$ telle qu'à chaque étape la direction de descente soit optimale.
L'idée pour arriver à cela est de considérer une approximation de l'accroissement de $J$ en utilisant la définition du gradient.
On cherche $h$ tel que $||h||=1$ et $J(x_k+h)$ soit minimal.
@@ -32,11 +32,11 @@ Et aussi
\end{equation*}
$h=-\frac{\nabla J(x_k)}{||\nabla J(x_k)||}$ est donc solution de (*) pour que $\langle\nabla J(x_k),h\rangle$ soit négatif.
-Ainsi la méthode de descente de gradient est définit par la suite
+Ainsi la méthode de descente de gradient est définie par la suite
$x_{k+1}=x_k-l_k\nabla J(x_k)$.
$l_k$ est appelé le pas.
-En théorie nous pouvons lire dans le livre de Ciarlet qu'il existe de multiple manières de trouver un pas optimale ou approprié à la fonctionnelle $J$.
-Cependant, en apprentissage automatique les hypothèses nécessaires pour obtenir l'optimale sont souvent absentes, en pratique le pas est souvent choisit constant $\exists c\forall k~l_k=c$.
+En théorie, nous pouvons lire dans le livre de Ciarlet qu'il existe de multiples manières de trouver un pas optimal ou approprié à la fonctionnelle $J$.
+Cependant, en apprentissage automatique les hypothèses nécessaires pour obtenir l'optimale sont souvent absentes, en pratique le pas est souvent choisi constant $\exists c\forall k~l_k=c$.
Nous montrons dans la Figure~\ref{fig:background-opti-gd} le fonctionnement de la méthode de gradient à pas fixe en dimension un pour une fonctionnelle convexe
avec une illustration de la convergence de l'écart entre $J(x_k)$ et le minimum.
@@ -45,13 +45,13 @@ avec une illustration de la convergence de l'écart entre $J(x_k)$ et le minimum
\begin{subfigure}{0.45\linewidth}
\centering
\includegraphics[width=0.66\linewidth]{background/figure/opti/f.pdf}
- \caption{La suite $u$ approche un minimum locale de la fonction $f$.}
+ \caption{La suite $u$ approche un minimum local de la fonction $f$.}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}{0.45\linewidth}
\centering
\includegraphics[width=0.66\linewidth]{background/figure/opti/conv.pdf}
- \caption{Convergence des l'écart entre $u$ et le minimum vers $0$ en fonction des itérations.}
+ \caption{Convergence de l'écart entre $u$ et le minimum vers $0$ en fonction des itérations.}
\end{subfigure}
\caption{Convergence de la méthode de gradient.}
\label{fig:background-opti-gd}
@@ -62,14 +62,14 @@ avec une illustration de la convergence de l'écart entre $J(x_k)$ et le minimum
\subsubsection{Optimisation sous contraintes : multiplicateurs de Lagrange}
\label{sec:background-opti-sous}
Pour expliquer ce qu'est l'optimisation sous contraintes, reprenons les mots de Philipe G. Ciarlet :
-\textquote{On s'intéresse au problème suivant : trouver des conditions \emph{nécessaires}, et des conditions \emph{suffisantes}, pour qu'un point d'un ensemble $U$ soit un extremum relatif de la restriction à l'ensemble $U$ d'une fonction $J$ définie sur un ensemble "plus grands". [...]
+\textquote{On s'intéresse au problème suivant : trouver des conditions \emph{nécessaires}, et des conditions \emph{suffisantes}, pour qu'un point d'un ensemble $U$ soit un extremum relatif de la restriction à l'ensemble $U$ d'une fonction $J$ définie sur un ensemble "plus grand". [...]
Un premier exemple est celui des \emph{extremums relatifs liés}, où l'ensemble $U$ est de la forme
\begin{equation*}
U=\{v\in V \mid \forall i\in m-1~\varphi_i(v)\leq 0\}
\end{equation*}
}
-On introduit le lagrangien de ce problèmes par la formule suivante:
+On introduit le lagrangien de ce problème par la formule suivante:
\begin{equation*}
L:\left\{
\begin{matrix}
@@ -79,7 +79,7 @@ On introduit le lagrangien de ce problèmes par la formule suivante:
\right.
\end{equation*}
-Pour respecter les contrainte du problèmes, la méthode consiste à chercher un point selle de $L$,
+Pour respecter les contraintes du problème, la méthode consiste à chercher un point selle de $L$,
c'est-à-dire, un point $(u,\lambda)\in V\times \mathbb{R}^m_+$ tel que
\begin{equation*}
sup L(\square,\lambda)=L(u,\lambda)\wedge inf L(u,\square)=L(u,\lambda)
@@ -88,7 +88,7 @@ c'est-à-dire, un point $(u,\lambda)\in V\times \mathbb{R}^m_+$ tel que
$u$ est alors solution du problème.
Il est donc suffisant de connaître $\lambda$ appelé \emph{multiplicateurs de Lagrange} pour pouvoir trouver $u$ en se ramenant au cas sans contraintes de la section précédente.
Trouver $\lambda$ s'appelle le \emph{problème dual} en contrepartie de la recherche de $u$ qui est le \emph{problème primal}.
-Le problème dual bénéficie du fait que les contraintes sont plus simples car il s'agit uniquement de la positivité des multiplicateur de Lagrange.
+Le problème dual bénéficie du fait que les contraintes sont plus simples car il s'agit uniquement de la positivité des multiplicateurs de Lagrange.
Le problème dual s'écrit donc $sup (inf_{v\in V}L(v,\square))$.
Pour une présentation plus complète des multiplicateurs de Lagrange et de la dualité voir les Sections 7.2 et 9.3 du livre de Ciarlet~\cite{ciarlet}
diff --git a/background/proba.tex b/background/proba.tex
index 2ff37b7..f4cbd96 100644
--- a/background/proba.tex
+++ b/background/proba.tex
@@ -1,13 +1,13 @@
La théorie des probabilités est profondément liée à l'apprentissage automatique.
-Les propriétés de modèles comme la confidentialité différentielle, les définitions d'équité, les métriques d'utilité, etc. que nous aborderons en Section~\ref{sec:background-ml} s'écrivent en terme de probabilité.
+Les propriétés des modèles comme la confidentialité différentielle, les définitions d'équité, les métriques d'utilité, etc. que nous aborderons en Section~\ref{sec:background-ml} s'écrivent en termes de probabilité.
Ainsi nous présentons les notions de probabilités et de théorie de la mesure que nous allons utiliser.
-A la manière de la Section~\ref{sec:background-set}, notre présentation à principalement le but de fixer les objets que nous utiliserons dans les prochaines sections et non pas d'être un cours complet.
-Si le.la lecteur.rice souhaite en apprendre plus sur la théorie de la mesure nous le renvoyons vers les notes de cours de Thierry Gallay de l'université Joseph Fourrier~\cite{mesure}.
-Si il.elle souhait explorer plus en avant les probabilités il.elle pourra consulter les notes de cours de Jean-François Le Gall de l'École Normale Supérieur de Paris~\cite{proba}.
+A la manière de la Section~\ref{sec:background-set}, notre présentation a principalement le but de fixer les objets que nous utiliserons dans les prochaines sections et non pas d'être un cours complet.
+Si le.la lecteur.rice souhaite en apprendre plus sur la théorie de la mesure nous le renvoyons vers les notes de cours de Thierry Gallay de l'Université Joseph Fourrier~\cite{mesure}.
+Si il.elle souhaite explorer plus en avant les probabilités il.elle pourra consulter les notes de cours de Jean-François Le Gall de l'École Normale Supérieure de Paris~\cite{proba}.
Soit $A$ un ensemble.
-Nous appelons une tribu que nous notons $\mathcal{A}$ un sous ensemble de $\mathcal{P}(A)$ qui contient $\emptyset$ et $A$, qui est stable par complémentaire et qui est stable par union dénombrable d'éléments de $\mathcal{A}$.
+Nous appelons une tribu que nous notons $\mathcal{A}$ un sous-ensemble de $\mathcal{P}(A)$ qui contient $\emptyset$ et $A$, qui est stable par complémentaire et qui est stable par union dénombrable d'éléments de $\mathcal{A}$.
Nous disons alors que $(A,\mathcal{A})$ est un espace mesurable.
Soit maintenant $A\subset\mathcal{P}(A)$, nous appelons $\sigma(A)$ la plus petite tribu pour l'intersection qui contient tous les éléments de $A$.
@@ -57,17 +57,17 @@ Nous définissons la mesure image de $f$ par $d$, que nous notons $d_f$, par l'e
\end{equation}
\begin{definition}{Intégrale}
- Soient $(E,\mathcal{E},\mu)$ un espace mesuré.
- Pour une fonction $f=\sum_{i\in I}\alpha_i 1_{A_i}$, nous dirons étagé,
+ Soit $(E,\mathcal{E},\mu)$ un espace mesuré.
+ Pour une fonction $f=\sum_{i\in I}\alpha_i 1_{A_i}$, nous dirons étagée,
avec $\{A_i\mid i\in I\} \subset \mathcal{E}$ et $\alpha_i\in\mathbb{R}^+$.
alors $\int_E f d\mu= \sum_{i\in I}\alpha_i \mu(A_i)$.
- Soit $g$ un fonction mesurable de $(E,\mathcal{E},\mu)$ dans $\mathbb{R}^+$, alors
+ Soit $g$ une fonction mesurable de $(E,\mathcal{E},\mu)$ dans $\mathbb{R}^+$, alors
\begin{equation*}
\int_{E}gd\mu = sup\left\{\int_E fd\mu\mid f~\text{est étagé}\wedge f\leq g\right\}
\end{equation*}
- Enfin dans le cas générale de $h$ une fonction mesurable de $(E,\mathcal{E},\mu)$ dans $\mathbb{R}$, alors
+ Enfin dans le cas général de $h$ une fonction mesurable de $(E,\mathcal{E},\mu)$ dans $\mathbb{R}$, alors
si $\int_E |h|d\mu\in\mathbb{R}$ on pose
\begin{equation*}
\int_E hd\mu = \int_E max(h,0)d\mu - \int_E max(-h,0)d\mu
@@ -76,7 +76,7 @@ Nous définissons la mesure image de $f$ par $d$, que nous notons $d_f$, par l'e
Dans le cas particulier où $d(A) = 1$, nous appelons $d$ une mesure de probabilité
- $(A,\mathcal{A},d)$ est alors un espace probabilisé et les fonctions mesurables sur cet espace sont appelés variables aléatoires.
+ $(A,\mathcal{A},d)$ est alors un espace probabilisé et les fonctions mesurables sur cet espace sont appelées variables aléatoires.
Pour un évènement $a\in\mathcal{A}$ tel que $d(a)\neq 0$, la probabilité conditionnelle est
\begin{equation*}
d(\square\mid a):\left\{
@@ -87,7 +87,7 @@ Pour un évènement $a\in\mathcal{A}$ tel que $d(a)\neq 0$, la probabilité cond
\right.
\end{equation*}
La loi de probabilité d'une variable aléatoire $f$ sur $(X,\mathcal{X})$ est la mesure image de $f$ sur $d$.
-Nous dirons que deux variables aléatoire $f$ et $g$ sont indépendantes si et seulement si la loi de la variables aléatoire $h:\omega\mapsto (f(\omega),g(\omega))$ est la mesure produit de la loi de $f$ et $g$.
+Nous dirons que deux variables aléatoires $f$ et $g$ sont indépendantes si et seulement si la loi de la variables aléatoire $h:\omega\mapsto (f(\omega),g(\omega))$ est la mesure produit de la loi de $f$ et $g$.
De plus, dans le cas des variables aléatoires, il est courant d'écrire $\{f\in A\}$ pour $f^{-1}(A)$ et $\{f=a\}$ pour $f^{-1}(\{a\})$.
diff --git a/background/set.tex b/background/set.tex
index ee5c2c1..93b2f5d 100644
--- a/background/set.tex
+++ b/background/set.tex
@@ -1,25 +1,25 @@
-Commençons donc cette section préliminaire avec les définitions et quelques propriétés des ensembles et de fonctions.
+Commençons donc cette section préliminaire avec les définitions et quelques propriétés des ensembles et des fonctions.
Commençons par les ensembles.
Nous utilisons ici la théorie des ensembles Zermelo–Fraenkel (ZF).
-Si nous avons, dans ce manuscrit, besoin d'objet plus grands que les ensembles, nous les appellerons classes bien qu'il soit hors de propos de présenter ici la théorie Von Neumann–Bernays–Gödel (NBG).
-Nous allons présenter ZF de manière assez succincte, juste suffisante pour réaliser les calculs du Chapitre~\ref{sec:fini}.
+Si nous avons, dans ce manuscrit, besoin d'objets plus grands que les ensembles, nous les appellerons classes bien qu'il soit hors de propos de présenter ici la théorie Von Neumann–Bernays–Gödel (NBG).
+Nous allons présenter ZF de manière assez succincte, juste suffisamment pour réaliser les calculs du Chapitre~\ref{sec:fini}.
Si le.la lecteur.rice souhaite plus de détails sur ces théories il.elle peut consulter \textit{Elements of set thoery} de Herbert B. Enderton~\cite{enderton1977elements}.
\subsubsection{Axiomes de la théorie ZF}
\label{sec:background-math-zf}
Nous présentons dans cette section les axiomes de la théorie ZF.
-Ces axiomes sont la pierre angulaire des tous les développements mathématiques que nous ferons dans ce manuscrit.
-Pour un.e lecteur.rice qui ne serai pas familier.ère de cette théorie, disons qu'il s'agit de modéliser formellement le principe d'ensemble.
+Ces axiomes sont la pierre angulaire de tous les développements mathématiques que nous ferons dans ce manuscrit.
+Pour un.e lecteur.rice qui ne serait pas familier.ère de cette théorie, disons qu'il s'agit de modéliser formellement le principe d'ensemble.
C'est-à-dire le principe de ranger des choses, les éléments, dans des boîtes, les ensembles.
\paragraph{Axiome d'Extensionnalité}
-Deux ensemble $A$ et $B$ sont égaux si et seulement si ils ont les mêmes éléments.
+Deux ensembles $A$ et $B$ sont égaux si et seulement si ils ont les mêmes éléments.
\begin{equation*}
\forall A\forall B (\forall x~x\in A \iff x\in B) \implies A=B
\end{equation*}
\paragraph{Axiome de l'ensemble vide}
-Il existe un ensemble qui ne contienne aucun élément.
+Il existe un ensemble qui ne contient aucun élément.
Nous le notons donc $\{\}$ ou $\emptyset$.
\paragraph{Axiome de la Paire}
@@ -28,7 +28,7 @@ Nous le notons donc $\{\}$ ou $\emptyset$.
\end{equation*}
\paragraph{Axiome de l'Union}
-Pour tout ensemble $A$, il existe un ensemble $\bigcup A$ qui soit exactement composé des éléments de chaque élément de $A$.
+Pour tout ensemble $A$, il existe un ensemble $\bigcup A$ qui est exactement composé des éléments de chaque élément de $A$.
\begin{equation*}
\forall A \exists \bigcup A \forall b \left(b\in\bigcup A\iff \exists a\in A~ b\in a\right)
\end{equation*}
@@ -69,7 +69,7 @@ $\forall b\in B (b\in A \wedge F)$
Une relation symétrique ($\forall x\forall y~(x,y)\in R \iff (y,x)\in R$),
réflexive ($\forall x~(x,x)\in R$) et
transitive ($\forall x\forall y\forall z~(x,y)\in R\wedge (y,z)\in R\implies (x,z)\in R $)
- est appelé une \emph{relation d'équivalence}.
+ est appelée une \emph{relation d'équivalence}.
Pour tout $a$, nous notons $[a]_R = \{b~|~(a,b)\in R\}$ la \emph{classes d'équivalence} de $a$.
Nous notons $A/R$ l'ensemble des classes d'équivalence d'une relation $R$ sur un ensemble $A$.
@@ -109,10 +109,10 @@ $\forall b\in B (b\in A \wedge F)$
\right.
\end{equation*}
- Pour une expression $f(x)$, quand cela est pertinent nous noterons $f(\square)$ la fonction $f:x\mapsto f(x)$ quand il n'y a pas d'ambiguïté sur le domaine et codomaine.
+ Pour une expression $f(x)$, quand cela est pertinent, nous noterons $f(\square)$ la fonction $f:x\mapsto f(x)$ quand il n'y a pas d'ambiguïté sur les domaine et codomaine.
\textbf{Produit cartésien.}
- Soit $A$ un ensemble $f$ une fonctions le produit cartésien est
+ Soit $A$ un ensemble $f$ une fonction, le produit cartésien est
\begin{equation*}
\bigtimes_{a\in A}f(a) =
\left\{
@@ -129,13 +129,13 @@ $\forall b\in B (b\in A \wedge F)$
Dans le cas où $f$ serait à la fois injective et surjective nous dirons qu'elle est bijective et que les ensembles $E$ et $F$ sont en bijection.
Pour une bijection $f$ de $E$ dans $F$ nous notons $f^{-1} : y\mapsto x~\text{tel que}~f(x)=y$, c'est la fonction inverse de $f$.
- Dans le cas où $f$ n'est pas bijective, nous définissons cette notation de la manière suivant :
+ Dans le cas où $f$ n'est pas bijective, nous définissons cette notation de la manière suivante :
pour $B\subset F$,
$f^{-1}(B)=\{x\in E\mid f(x)\in B\}$,
c'est l'image réciproque de $f$.
\paragraph{Axiome du choix}
-Cette axiome nous assure qui si tous les termes du produit cartésien sons non-vides alors le produit cartésien est non-vide.
+Cet axiome nous assure que si tous les termes du produit cartésien sont non-vides alors le produit cartésien est non-vide.
\begin{equation*}
\forall a\in A f(a)\neq\emptyset \implies
\bigtimes_{a\in A}f(a) \neq\emptyset
@@ -152,9 +152,9 @@ Nous appelons un tel $A$, un ensemble récursif.
\label{def:background-set-usu}
\textbf{Entiers.}
-Soit $C$ la classe des ensembles récursif.
+Soit $C$ la classe des ensembles récursifs.
Soit $A$ un ensemble récursif.
-Nous appelons $\mathbb{N}$ l'ensemble des entier naturels que nous définissons comme suit :
+Nous appelons $\mathbb{N}$ l'ensemble des entiers naturels que nous définissons comme suit :
\begin{equation*}
\mathbb{N} = \{n\in A~|~\forall c\in C~n\in c\}
\end{equation*}
@@ -197,7 +197,7 @@ La relation
|u_a-u_b|\leq\varepsilon
\end{equation*}
- Soit $C$ l'ensemble des suite de Cauchy sur $\mathbb{Q}$.
+ Soit $C$ l'ensemble des suites de Cauchy sur $\mathbb{Q}$.
\end{definition}
La relation
@@ -213,7 +213,7 @@ La relation
\right\}
\end{equation*}
est une relation d'équivalence sur $C^2$.
- Nous définissons alors l'ensemble des \emph{Nombres réels} $\mathbb{R}=C/T$.
+ Nous définissons alors l'ensemble des \emph{nombres réels} $\mathbb{R}=C/T$.
\end{definition}
@@ -270,10 +270,10 @@ Cela est possible grâce aux injections canoniques suivantes :
\end{equation*}
Nous identifions aussi $\mathbb{R}$ aux représentations en base 10 de ses éléments.
-Et nous utiliserons les opérations usuelles $+$, $\cdot$, $-$ et $/$ ainsi que la relation d'ordre $<$ sur ces représentation.
-En générale il est possible de construire ces opérations sans utiliser la représentation en base 10~\cite{enderton1977elements} mais une telle construction est hors de propos pour ce manuscrit.
+Et nous utiliserons les opérations usuelles $+$, $\cdot$, $-$ et $/$ ainsi que la relation d'ordre $<$ sur ces représentations.
+En général il est possible de construire ces opérations sans utiliser la représentation en base 10~\cite{enderton1977elements} mais une telle construction est hors de propos pour ce manuscrit.
-Outre les opérations usuelles, nous allons avoir aussi besoin de quelques fonction particulière :
+Outre les opérations usuelles, nous allons avoir aussi besoin de quelques fonctions particulières :
\begin{itemize}
\item L'indicatrice de $A\subset E$ est
\begin{equation*}
@@ -298,20 +298,20 @@ Outre les opérations usuelles, nous allons avoir aussi besoin de quelques fonct
\subsubsection{Intervalle}
\label{sec:background-math-int}
-Pour $(a,b)\in\mathbb{R}^2$ avec $a\leq b$ nous définissons l'intervalle $[a,b]$ de la manière suivant : $\{x\in\mathbb{R}\mid a\leq x\wedge x\leq b\}$.
+Pour $(a,b)\in\mathbb{R}^2$ avec $a\leq b$ nous définissons l'intervalle $[a,b]$ de la manière suivante : $\{x\in\mathbb{R}\mid a\leq x\wedge x\leq b\}$.
Et aussi sa contrepartie entière : $[|a,b|] = [a,b]\cap\mathbb{N}$.
\subsubsection{Cardinal}
\label{sec:background-math-card}
La notion de cardinal cherche à comparer la taille d'ensembles arbitraires.
-Nous n'allons pas ici considérer la théorie de ordinaux de Van Neumann qui complète notre simplification.
-Le lecteur souhaitant aller plus loin et apprendre cette théorie peut se référer aux chapitres 6,7,8 et 9 de \textit{Elements of set thoery} de Herbert B. Enderton~\cite{enderton1977elements}.
-Notre simplification se suffit à elle même pour les développements qui nous allons présenter dans ce manuscrit.
+Nous n'allons pas ici considérer la théorie des ordinaux de Van Neumann qui complète notre simplification.
+Le.la lecteur.rice souhaitant aller plus loin et apprendre cette théorie peut se référer aux chapitres 6,7,8 et 9 de \textit{Elements of set thoery} de Herbert B. Enderton~\cite{enderton1977elements}.
+Notre simplification se suffit à elle-même pour les développements que nous allons présenter dans ce manuscrit.
Nous dirons donc que tout ensemble $A$ a un cardinal que nous noterons $\#A$.
Si $A$ est en bijection avec $n\in\mathbb{N}$ alors $\#A = n$.
Nous dirons alors que $A$ est un ensemble fini.
Dans le cas contraire nous dirons que $A$ est infini.
-Si $A$ est en bijection avec un sous ensemble de $\mathbb{N}$ nous dirons que $A$ est dénombrable.
+Si $A$ est en bijection avec un sous-ensemble de $\mathbb{N}$ nous dirons que $A$ est dénombrable.
Si $A$ est en bijection avec $\mathbb{N}$ nous notons $\#A = \aleph_0$.
-Enfin nous dirons que deux ensemble arbitraires ont le même cardinal si et seulement si ils sont en bijection.
+Enfin nous dirons que deux ensembles arbitraires ont le même cardinal si et seulement si ils sont en bijection.