summaryrefslogtreecommitdiff
path: root/background/ml.tex
diff options
context:
space:
mode:
authorJan Aalmoes <jan.aalmoes@inria.fr>2024-10-05 19:25:34 +0200
committerJan Aalmoes <jan.aalmoes@inria.fr>2024-10-05 19:25:34 +0200
commit411624f6f259084641deb92f20d512908c8b7d4f (patch)
treec25c1ce9afbb9252217a45deb76b3e63ae648ab9 /background/ml.tex
parentd4021e6f8a0bf771b755d39da8515266ef75e667 (diff)
Correction maman
Diffstat (limited to 'background/ml.tex')
-rw-r--r--background/ml.tex24
1 files changed, 12 insertions, 12 deletions
diff --git a/background/ml.tex b/background/ml.tex
index 55fce3c..9b9e665 100644
--- a/background/ml.tex
+++ b/background/ml.tex
@@ -2,7 +2,7 @@ L'apprentissage automatique\footnote{\textit{Machine learning}} est le fondement
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 à 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 renvoie une prédiction.
Le vie d'un modèle se passe en deux étapes.
@@ -67,8 +67,8 @@ 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é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.
+En pratique la quantité $c(\theta)$ est évaluée en calculant la moyenne empirique sur un grand 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 final 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é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 minima locaux~\cite{bottou1991stochastic}.
@@ -156,7 +156,7 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
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
- $\frac{1}{\#F}\sum_{f\in F}P(\hat{Y}=F\mid Y=F)$.
+ $\frac{1}{\#F}\sum_{f\in F}P(\hat{Y}=f\mid Y=f)$.
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é.
@@ -165,11 +165,11 @@ Nous appelons cela l'\emph{optimisation des hyperparamètres}.
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 se fait grâce un seuil sur ce logit.
+ 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 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}}.
+ Pour pallier 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)$
@@ -325,8 +325,8 @@ Une architecture classique utilise les couches de convolution à l'entrée du rÃ
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.
-C'est la fonction par laquelle on multiple le signal sous l'intégrale.
-Pour un noyau de convolution de taille $c$
+C'est la fonction par laquelle on multiplie le signal sous l'intégrale.
+Pour un noyau de convolution de taille $c$.
\begin{equation}
f_i(x,\theta_i) = \left\{
\begin{matrix}
@@ -340,7 +340,7 @@ 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}
-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.
+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étiques.
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éelles et nous appellerons données synthétiques la sortie de n'importe quel autre générateur.
@@ -349,7 +349,7 @@ Le but d'un GAN est de générer des échantillons réalistes suivant une loi de
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 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 des 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ée.
@@ -357,7 +357,7 @@ Le discriminateur est utilisé uniquement lors de l'entraînement du GAN et a po
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.
-Les GAN ne sont pas la seule manière de créer des données synthétiques, il existe aussi les auto encodeurs qui peuvent se rapprocher de méthodes plus classiques de génération de à partir d'une loi de probabilité qui admet une densité.
+Les GAN ne sont pas la seule manière de créer des données synthétiques, il existe aussi les auto encodeurs qui peuvent se rapprocher de méthodes plus classiques de génération à partir d'une loi de probabilité qui admet une densité.
Pour une variable aléatoire $X$ qui admet une densité $f$, la méthode d'inversion permet de générer des points tels que la loi empirique de ces points converge vers la loi de $X$ quand le nombre de points tend vers l'infini.
Pour cela on génère $n$ points $x$ suivant une loi uniforme sur $[0,1]$ et pour chacun de ces points on calcul $F^{-1}(x)$.
Où $F$ est une primitive de $F$.
@@ -378,7 +378,7 @@ L'apprentissage ensembliste\footnote{\textit{Ensemble learning}} vise à combine
Cette procédure se passe en deux temps.
Le premier consiste à créer un ensemble de classifieurs faibles.
Le second consiste à combiner ces classifieurs pour en obtenir un nouveau efficace.
-Bien sûr 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 ensemble.
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}.