Apprentissage Automatique
En informatique, un programme prend des entrées, les traite, et donne des sorties. En apprentissage automatique, le programme apprend sur des données d'entraînement
ML provides a computer with the ability to do certain tasks without being explicitly programmed for it
Arthur Samuel, 1959
-> Implicitement dans les données
ML fait des avancées actuelles dans l'IA. Le ML est un champ à l'interface de plusieurs disciplines:
- Informatique
- Statistiques
- Optimisation
Exemples
Régression: Exemple d'Abalone -> Prédire l'âge d'un bivalve (coquillage) à partir de plusieurs mesure physiologiques
L'ensemble d'apprentissage: \( S = {(\overrightarrow{x_1}, \overrightarrow{y_1}), \dots , (\overrightarrow{x_n}, \overrightarrow{y_{n}} ))} \) avec \( \overrightarrow{x_{i}} \in \mathbb{R}^{d} \) : les mesures physiologiques de l'individu \( i \)
Classification: Exemple MNIST: Reconnaissance optique de caractères (OCR).
L'ensemble d'apprentissage: \( S = {(\overrightarrow{x_{i}}, y_{i} )}_{1 \leq i \leq m} \) où :
- \( \overrightarrow{x_{i}} \) est une image de 28x28 pixels
- \( y_{i} \) est le nombre écrit dans l'image
Segmentation clustering: Exemple OldFaithful (geyser), où on a le temps entre deux éruption en fonction de la durée de l'éruption
Sert à organiser, structurer l'information interne implicitiment dans les données
Formalisation
Apprentissage supervisé: Un algorithme d'apprentissage, i.e. un apprenant, a des entrées (i.e. instance d'apprentissage), \( x \in \chi \) et des sorties (i.e. output, valeurs cible, target, étiquette, labels), \( y in \mathcal{Y} \). Il est entraîné sur un ensemble (toujours le même). L'apprenant produit un programme \( h_{s} : \chi \to \mathcal{Y} \). Les données de l'apprennant :
- \( \overrightarrow{x} \) peut être envisagé comme un enregistrement avec ses différents champs (Bases de données)
- \( \overrightarrow{x} \) est un individu décrit par des variables descriptives (vecteur de variables aléatoires) (statistiques)
\( \overrightarrow{x} \) est un vecteur avec \( d \) composants (maths)
On distingue deux types d'étiquette :
- \( y \) est catégorielle : \( y \) est fini et sans ordre établi
- \( y \) est quantitative: \( \mathcal{Y} \) est un ensemble continu avec des relations d'ordre entre les valeurs
Hypothèse d'apprentissage: Les données dont \( S \) est un échantillon sont générées par une distribution \( \mathcal{D} \) sur \( \mathcal{X} \) et par une fonction \( f : \mathcal{X} \to \mathcal{Y} \). \( \mathcal{D} \) et \( f \) sont inconnues :(. \( f \) est l'étiquetage parfait. On cherche \( h \) qui se rapproche le plus de \( f \). Pour cela on doit choisir une façon de mesurer l'erreur de h. Dans le cas d'une classification binaire \( \mathcal{Y} = {-1, 1} \). On peut mesurer l'erreur par la fonction de perte :
\[ l_{0-1}(h(\overrightarrow{x}, y )) = \begin{cases} 1 \text{ si } h(x) \neq y = f(x) \\ 0 \text{ sinon } \end{cases} \]
On appelle le risque espéré ou "vraie" erreur:
\[ \mathcal{L}_{\mathcal{D}, f} (h) = \mathbb{E}_{\mathcal{D}, f } [l(h(X), f(X))] = P_{x ~ \mathcal{D} }(f(x) \neq h(x)) \]
On cherche \( h \) qui minimise le risque. Étant donné que \( \mathcal{D} \) est inconnue, on ne peut pas calculer la vraie erreur. À la place, on calcule le risque empirique (i.e. erreur d'entraînement)
\begin{align*} \mathcal{L}_{S} &= \frac{1}{m} \sum_{i=1}^{m}{l(h(\overrightarrow{x_{i}}, y_{i} ))} \\ &= \frac{\card ({(\overrightarrow{x}, y ) \in S | h(\overrightarrow{x} \neq y )})}{m} \end{align*}On cherche \( h \) qui minimise le risque empirique
Exemple jouet
Supposons qu'on connaisse \( \mathcal{D} \) qui est la distribution uniforme sur le grand carré, \( f(\overrightarrow{x} ) = \begin{cases} l \text{ si } x \text{ est dans le carré central } \\ 0 \text{ sinon } \end{cases} \) et \( S = {}, \card S = m \)
\( h_{s}(\overrightarrow{x} ) = \begin{cases} y_{i} \text{ si } \exists i \in {1\dots , m} tq \overrightarrow{x_{i}} = \overrightarrow{x} \end{cases} \)
\( \mathcal{L}_{S} (h_{s}) = 0 \) et \( \mathcal{L_{\mathcal{D}, f }} (h_{S}) = \frac{1}{4} \)
-> apprentissage "par coeur", sur-apprentissage, overfitting. \( h_{s} \) n'est pas assez général. Pour éviter le sur-apprentissage, on contraint \( h_{s} \) (on lui donne moins de degré de liberté). Si on la contraint trop, on risque de se trouver en sous-apprentissage
Fonction de perte
- Classification binaire: \( l_{0-1}(h(x), y) = \begin{cases} 1 \text{ si } h(x) \neq y \\ 0 \text{ sinon } \end{cases} \)
- Régression:
\[ l_{\text{ square } } (h(x), y) = (h(x) -y)^2 \]
- Erreur empirique:
\[ \mathcal{L}_{s} (h) = \frac{1}{m} \sum_{i = 1}^{m}{l(h(x_{i}, y_{i}))} \]
L'apprentissage peut être vu comme un problème d'optimisation la minimisation du risque empirique
\[ h_{s} = \underset{h}{\operatorname{argmin}} \mathcal{L}_{S}(h) \]
Erreur de généralisation
On cherche à trouver une solution \( h_{s} \) qui soit la meilleure pcssible sur un ensemble \( E = \{(( x_1, y_1 ), \dots , (x_{m_{E}}, y_{m_{E}}\} \) avec \( E \) tiré de la même distribution de données que \( S \)
\[ \mathcal{L}_{E}(h_{s}) = \frac{1}{m_{E}} \sum_{(x, y) \in E}{l(h_{s}(x), y)} \]
Le classifieur stupide
= classe majoritaire
\[ \operatorname{dummy}_{S}(x) = \text{ classe majoritaire de } S \]
et donc \( \mathcal{L}_{S}(\operatorname{dummy}_{S}) = \frac{card( \text{ classe majoritaire dans } S )}{m} \)
Compromis biais-variance
salut bg