summaryrefslogtreecommitdiff
path: root/background/ml.tex
diff options
context:
space:
mode:
Diffstat (limited to 'background/ml.tex')
-rw-r--r--background/ml.tex63
1 files changed, 45 insertions, 18 deletions
diff --git a/background/ml.tex b/background/ml.tex
index d1f95b0..7372508 100644
--- a/background/ml.tex
+++ b/background/ml.tex
@@ -1,8 +1,8 @@
L'aprantissiage automatique\footnote{\textit{Machine learning}} est le fondement de l'IA moderne.
-
+Les réseaux de neuronnes profonds notament ont révolutioné ce domaines notament grâce à l'augmentation de la puissance de calcul et des cartes graphiques~\cite{lecun2019quand}.
\subsection{Principe}
-Repprenosn la définition de L'IA donnée dans le reglement UE 2024/1689 pour une harmonisation des regulations relatives a l'IA~\cite{aiact} et notamant la Figure~\ref{fig:contexte-IAUE}.
+Repprenons la définition de L'IA donnée dans le reglement UE 2024/1689 pour une harmonisation des regulations relatives a l'IA~\cite{aiact} et notamant la Figure~\ref{fig:contexte-IAUE}.
Cette definition exprime bien le fonctionement d'un modèle d'apprantissage automatique.
Le modèle est un fonctione qui prend en entrée une donnée d'entrée et des parametre et qui renvoi un prédiction.
Le vie d'un modèle se passe en deux étape.
@@ -18,7 +18,7 @@ Nous allons présenter ces deux aspects entraîenemnt et évaluation dans les Se
\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 atendu qui est consédéré comme vraie.
Dans la justice prédictive il s'agit de savoir si le coupabe à été récidiviste après avoir été libéré.
-Pour prendre un exemple plus scolaire, sur le jeu de donnée Iris~\cite{iris}, on cherche à classifier l'éspèce d'Iris à partir de la longeur et de la largeur des sépales et des pétales.
+Pour prendre un exemple plus scolaire, sur le jeu de donnée Iris~\cite{iris_53}, on cherche à classifier l'éspèce d'Iris à partir de la longeur 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 conaissons l'espèce d'Iris.
En utilisant ces données nous ajustons les paramètres pour que le prédiction soit la plus précise possible.
@@ -57,15 +57,36 @@ Nous pouvons ainsi définir le coût induit par un choix de paramètres par la f
\right.
\end{equation*}
Ainsi nous avons une fonctionelle $c:\theta\mapsto E(C(\theta))$ en prenant l'espérence de coût.
-Nous pouvons donc appliquer un des algorithmes de minimisation vu à la Section~\ref{sec:background-opti-sgd} pour résoudre le probleme suivant :
+Nous pouvons donc appliquer une descente de gradient comme vu à la Section~\ref{sec:background-opti-sgd} pour résoudre le probleme suivant :
\begin{equation*}
\text{min}_{\theta\in\Theta}c(\theta)
\end{equation*}
En pratique la quantité $c(\theta)$ est évalué avec la loi des grands nombres~\cite{proba}.
+$c$ n'étant pas forcément convexe, un fonction du point de départ ($x_0$) l'algorithme de descente de gradient peut converger ver un minimum locale qui donnera un modèle finale avec de piètre qualités.
+C'est ce que nous réprésentons dans la Figure~\ref{fig:background-opti-cvx} ou nous voyons un convergence ver un minimum local alors que le point rechercher étant au fond d'une vallée plus profonde.
Très souvent l'algorithme d'optimisation utilisé est la déscente de gradient stochastique (SGD)\footnote{\textit{Stochastic gradient descent}}~\cite{amari1993back}, c'est une vérsion modifié de la descente de gradient adapté au réseaux de neurones qui permet d'accelerer la convergence~\cite{bottou2012stochastic} et d'éviter les minima locaux~\cite{bottou1991stochastic}.
Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élément, appelé \textit{mini batch}, d'une partition des données d'entrainement.
+La recherche des paramètre d'entraînement comme la finesse de la partition ou le pas et en prétique réalisé par des algorithme qui parcours un espace de recherche et regarde l'entraînement pour quelques itérations~\cite{bergstra2015hyperopt}.
+
+\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$).}
+ \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$).}
+ \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.}
+ \end{subfigure}
+ \caption{Impacte de la convexité sur la convergence.}
+ \label{fig:background-opti-cvx}
+\end{figure}
+
\subsection{Evaluer un modèle}
Nous appelerons ici évaluation d'un modèle le calcule des metriques qui permettent de juger de son utilité.
Ces métrique varient en fonction du type de modèle et du contexte dans lequel il est utilisé.
@@ -73,7 +94,7 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
Cela permet d'éviter de penser à tords qu'une patient n'est pas malade ce qui pourrai entraîner un retard dans sa prise en charge.
\subsubsection{Classification}
- \label{sec:backgroung-ml-classif}
+ \label{sec:background-ml-classif}
Les modèles de classification visent à attribuer à chaque point des données ébalué une classe parmis un ensemble fini.
Par exemple, dans le cadre de la justice prédictive, inférer pour chaque coupable si il sera recidivise ou non~\cite{zhiyuan2020limits}.
Quand il y a deux classes, comme dans l'exemple précédent avec \emph{récidivisite} ou \emph{non-récidiviste}, nous dirons que le modèle effectue un classification binaire.
@@ -95,10 +116,10 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
Grace à ces objets, nous allons définir des qunatités qui décrivent l'utilitée du modèle.
La première est
- l'\textit{accuracy}, c'est la prababilté que le classifieur prédise la bonne classe. Nous la définissons par $P(\hat{Y}=Y)$.
+ l'\emph{exactitude}\footnote{\textit{Accuracy}}, c'est la prababilté que le classifieur prédise la bonne classe. Nous la définissons par $P(\hat{Y}=Y)$.
Cette définission, bien que très intuitive, souffre qu'elle est sensible au désequillibre de classe~\footnote{\textit{Class imablance}}.
Considérons l'exemple suivant : imaginons un modèle depployé en 1982 qui chercheraià prédire si un employé cadre est une femme ou un homme.
- Supposons que ce modèle ai une \textit{accuracy} de $79\%$, c'est-à-dire que le modèle prédit justement le genre huit fois sur dix, nous dirons certainement que ce modèle est performant ?
+ Supposons que ce modèle ai une exactitude de $79\%$, c'est-à-dire que le modèle prédit 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:
@@ -111,7 +132,7 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
\end{equation}
C'est-à-dire un modèle qui prédise toujours homme.
- Calculons son \textit{accuracy}, pour plus lisibilité nons encodons homme par $0$ et femme par $1$.
+ Calculons son exactitude, pour plus lisibilité nons 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\\
@@ -121,14 +142,14 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
\end{align}
Or, en 1982 il y avait uniquement $21\%$ des cadres qui était des femmes~\cite{insee1982parite}, ansi $P(Y=0)=0,79$ et $P(Y=1)=0,21$.
- Nous avons donc bien une accuracy de $79\%$ bien que le modèle n'ai aucune utilité pratique !
+ Nous avons donc bien une exactitude de $79\%$ bien que le modèle n'ai aucune utilité pratique !
- Ainsi l'accuracy est significative uniquement quand $Y$ suit une loi uniforme.
- Nous définisson donc une autre métrique : la \textit{balanced accuracy}.
+ Ainsi l'exactitude est significative uniquement quand $Y$ suit une loi uniforme.
+ Nous définisson donc une autre métrique : l'\emph{exactitude équillibrée}\footnote{\textit{balanced accuracy}}.
Pour cela nous repartons de l'Equation~\ref{eq:background-ml-ac} et remplacons $P(Y=0)$ et $P(Y=1)$ par $\frac{1}{2}$.
- Ainsi la \textit{balanced accuracy} est la moyenne et $P(\hat{Y}=0|Y=0)$ et de $P(\hat{Y}=1|Y=1)$.
+ Ainsi l'exactitude équilibrée est la moyenne et $P(\hat{Y}=0|Y=0)$ et de $P(\hat{Y}=1|Y=1)$.
C'est-à-dire que nous regardons pour chaque classes séparément (homme ou femme notre exemple) la probabilité qu'on point soit bien classifié.
- Ainsi, en calculant la \textit{balanced accuracy} avec l'exemple précedent nous obtenons $\frac{1+0}{2}=0,5$.
+ Ainsi, en calculant l'exactitude equilibrée avec l'exemple précedent 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)}
@@ -138,7 +159,7 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
La classification ce fait grace un seuil sur ce logit.
C'est à dire que si on apelle $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'\textit{accuracy}, la \textit{balance accuracy} ou tout autre metrique que nous avons présenté précédament elle dépendra du seuil ($\uptau$).
+ Ainsi si nous calculons l'exactitude, l'éxactitude équilibrée ou tout autre metrique que nous avons présenté précédament elle dépendra du seuil ($\uptau$).
Pour palier cela nous regarons la ROC : une courbe parametrique qui au seuil associe le tau de faux positif (FPR)\footnote{\textit{False positive rate}} et le tau de vrai positif (TPR)\footnote{\textit{True positive rate}}.
Nous definisson ces quantité comme suit :
\begin{itemize}
@@ -226,7 +247,7 @@ Cette algorithmes évalue l'espérence empirique de $C(\theta)$ sur chaque élé
Comme nous pouvons de le voir sur la Sous-figure~\ref{subfig:background-ml-logit-d}, 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ésequilibre, 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 \textit{accuracy} et \textit{balanced accuracy} à seuil égale.
+ Cela explique la différence entre exactitude et exactitude équilibrée à seuil égale.
\subsection{Apprentissage profond}
@@ -292,16 +313,22 @@ Ainsi la $i$-ième couche s'écrit :
\end{equation*}
Regardon maintenant les couches de convolutions.
-L'idée de la convolution est d'extraire des représentations\footnote{\textit{Features extraction}}.
+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 architactre classque utilise les couches de convolution à l'entrée du réseau avant les couches linéaires.
+L'idée étant que le modèle comence par extraire de représntation pui les analysent.
+Dans ce type de couche le paramètre $\theta_i$ est le noyeau de convolution.
+C'est la fonction par laquelle on mutlilpe le signal sous l'intégrale.
+Pour un noyeau de convolution de taille $c$
\begin{equation}
f_i(x,\theta_i) = \left\{
\begin{matrix}
- \mathbb{N}^\mathbb{}\rightarrow\mathbb{N}^\mathbb{N}\\
- u\mapsto\int_{\mathbb{N}}x(u\bowtie t)\theta(\#J\bowtie t)d\sum_{j\in\mathbb{N}}\delta_j(t)
+ \mathbb{R}^o\rightarrow\mathbb{R}^\mathbb{N}\\
+ u\mapsto\int_{c}x'(u-t)\theta_i(t)d\sum_{j=0}^{c-1}\delta_j(t)
\end{matrix}
\right.
\end{equation}
+Où $x'$ est telque $x'(u-t)$ soit toujours bien défini par rembourrage\footnote{\textit{padding}}.