Sommaire Avant-propos et guide de lecture Guide de lecture Détail des contributions XI XII XIII 1 L’apprentissage statistique : pourquoi, comment ? 1 Introduction Premier exemple : un problème élémentaire d’apprentissage statistique Point de vue algorithmique Point de vue statistique Quelques définitions concernant les modèles Modèles statiques Modèles dynamiques Deux exemples académiques d’apprentissage supervisé Un exemple de modélisation pour la prédiction Un exemple de classification Conclusion Éléments de théorie de l’apprentissage Fonction de perte, erreur de prédiction théorique Dilemme biais-variance De la théorie à la pratique Remplacer des intégrales par des sommes Bornes sur l’erreur de généralisation Minimisation du risque structurel Conception de modèles en pratique Collecte et prétraitement des données Les données sont préexistantes Les données peuvent être spécifiées par le concepteur Prétraitement des données Sélection des variables Apprentissage des modèles Sélection de modèles Sélection de modèles Validation simple (hold-out) 1 2 3 4 5 5 6 7 7 11 16 16 17 22 25 26 27 30 30 30 30 30 31 31 32 32 32 32 IV L’apprentissage statistique Validation croisée (« cross-validation ») Leave-one-out Sélection de variables Cadre théorique Méthode de la variable sonde Résumé : stratégies de conception Conception de modèles linéaires par rapport à leurs paramètres (régression linéaire) Sélection de variables pour les modèles linéaires en leurs paramètres Apprentissage de modèles linéaires en leurs paramètres : la méthode des moindres carrés Propriétés de la solution des moindres carrés Estimation de la qualité de l’apprentissage Interprétation géométrique Dilemme biais-variance pour les modèles linéaires Sélection de modèles linéaires Moindres carrés par orthogonalisation de Gram-Schmidt Éléments de statistiques Qu’est-ce qu’une variable aléatoire ? Espérance mathématique d’une variable aléatoire Estimateur non biaisé Variance d’une variable aléatoire Autres distributions utiles Intervalles de confiance Tests d’hypothèse Conclusion Bibliographie 2 Les réseaux de neurones Introduction Réseaux de neurones : définitions et propriétés Les neurones Les réseaux de neurones Propriété fondamentale des réseaux de neurones statiques (non bouclés) : l’approximation parcimonieuse À quoi servent les réseaux de neurones non bouclés à apprentissage supervisé ? Modélisation statique et discrimination (classification) À quoi servent les réseaux de neurones à apprentissage non supervisé ? Analyse et visualisation de données 33 34 35 36 37 47 48 48 49 51 52 53 54 56 59 60 60 62 63 64 65 66 68 70 70 73 73 73 74 75 82 84 87 Sommaire À quoi servent les réseaux de neurones bouclés à apprentissage supervisé ? Modélisation dynamique « boîte noire » et « semi-physique » ; commande de processus Quand et comment mettre en œuvre des réseaux de neurones à apprentissage supervisé ? Quand utiliser les réseaux de neurones ? Comment mettre en œuvre les réseaux de neurones ? Conclusion Réseaux de neurones à apprentissage supervisé et discrimination (classification) Quand est-il opportun d’utiliser un classifieur statistique ? Classification statistique et formule de Bayes Classification et régression Modélisation et classification de données structurées : les « graph machines » Définitions Apprentissage Deux exemples académiques Exemples d’applications Introduction Reconnaissance de formes : la lecture automatique de codes postaux Une application en contrôle non destructif : la détection de défauts dans des rails par courants de Foucault Fouille de données : le filtrage de documents Aide à la découverte de médicaments : prédiction de propriétés chimiques et d’activités thérapeutiques de molécules Une application en formulation : la prédiction de la température de liquidus de verres Modélisation d’un procédé de fabrication : le soudage par points Application en robotique : modélisation de l’actionneur hydraulique d’un bras de robot Modélisation semi-physique d’un procédé manufacturier Contrôle de l’environnement : hydrologie urbaine Une application en robotique mobile : le pilotage automatique d’un véhicule autonome Techniques et méthodologie de conception de modèles statiques (réseaux non bouclés) Sélection des variables Estimation des paramètres (apprentissage) d’un réseau de neurones non bouclé V 87 88 88 89 93 93 93 95 96 103 104 105 106 107 107 107 111 112 116 118 118 121 122 123 124 125 126 126 VI L’apprentissage statistique Sélection de modèles Techniques et méthodologie de conception de modèles dynamiques (réseaux bouclés ou récurrents) Représentations d’état et représentations entrée-sortie Les hypothèses concernant le bruit et leurs conséquences sur la structure, l’apprentissage et l’utilisation du modèle Apprentissage non adaptatif des modèles dynamiques sous forme canonique Que faire en pratique ? Un exemple réel de modélisation « boîte noire » Mise sous forme canonique des modèles dynamiques Modélisation dynamique « boîte grise » Principe de la modélisation semi-physique Conclusion : quels outils ? Compléments théoriques et algorithmiques Quelques types de neurones usuels Algorithme de Ho et Kashyap Complément algorithmique : méthodes d’optimisation de Levenberg-Marquardt et de BFGS Complément algorithmique : méthodes de recherche unidimensionnelle pour le paramètre d’apprentissage Complément théorique : distance de Kullback-Leibler entre deux distributions gaussiennes Complément algorithmique : calcul des leviers Bibliographie 143 156 157 158 166 172 175 179 179 188 189 189 191 191 193 194 196 197 3 Compléments de méthodologie pour la modélisation : réduction de dimension et ré-échantillonnage 203 Pré-traitements Pré-traitements des entrées Pré-traitement des sorties pour la classification supervisée Pré-traitement des sorties pour la régression Réduction du nombre de composantes Analyse en composantes principales Principe de l’ACP Analyse en composantes curvilignes Formalisation de l’analyse en composantes curvilignes Algorithme d’analyse en composantes curvilignes Mise en œuvre de l’analyse en composantes curvilignes Qualité de la projection Difficultés présentées par l’analyse en composantes curvilignes 204 204 204 205 206 206 206 210 211 212 213 214 214 Sommaire Application en spectrométrie Le bootstrap et les réseaux de neurones Principe du bootstrap Algorithme du bootstrap pour calculer un écart-type L’erreur de généralisation estimée par bootstrap La méthode NeMo Test de la méthode NeMo Conclusions Bibliographie VII 215 216 217 218 218 219 221 223 224 4 Identification « neuronale » de systèmes dynamiques commandés et réseaux bouclés (récurrents) 225 Formalisation et exemples de systèmes dynamiques commandés à temps discret Formalisation d’un système dynamique commandé par l’équation d’état Exemple d’un système dynamique à espace d’état discret Exemple d’un oscillateur linéaire Exemple du pendule inversé Exemple d’un oscillateur non linéaire : l’oscillateur de Van der Pol Introduction d’un bruit d’état dans un système dynamique à espace d’état discret : notion de chaîne de Markov Introduction d’un bruit d’état dans un système dynamique à états continus : modèle linéaire gaussien Modèles auto-régressifs Limites des modélisations des incertitudes sur le modèle par un bruit d’état Identification de systèmes dynamiques commandés par régression Identification d’un système dynamique commandé par régression linéaire Identification d’un système dynamique non linéaire par réseaux de neurones non bouclés Identification adaptative (en ligne) et méthode de l’erreur de prédiction récursive Estimateur récursif de la moyenne empirique Estimateur récursif de la régression linéaire Identification récursive d’un modèle AR Méthode générale de l’erreur de prédiction récursive Application à l’identification neuronale d’un système dynamique commandé Filtrage par innovation dans un modèle d’état Introduction d’une équation de mesure et problème du filtrage Filtrage de Kalman Extension du filtre de Kalman 226 226 227 227 228 229 229 231 231 233 233 233 237 239 239 241 242 243 244 245 245 247 251 VIII L’apprentissage statistique Apprentissage adaptatif d’un réseau de neurones par la méthode du filtrage de Kalman Réseaux neuronaux récurrents ou bouclés Simulateur neuronal d’un système dynamique commandé en boucle ouverte Simulateur neuronal d’un système dynamique commandé en boucle fermée Quelques réseaux bouclés particuliers Mise sous forme canonique des réseaux bouclés Apprentissage des réseaux de neurones récurrents ou bouclés Apprentissage dirigé (teacher forcing) Dépliement de la forme canonique et rétropropagation à travers le temps Apprentissage en temps réel des réseaux bouclés Application des réseaux neuronaux bouclés à l’identification de systèmes dynamiques commandés mesurés Compléments algorithmiques et théoriques Calcul du gain de Kalman et propagation de la covariance Importance de la distribution des retards dans un réseau récurrent Bibliographie 5 Apprentissage d’une commande en boucle fermée Généralités sur la commande en boucle fermée des systèmes non linéaires Principe de la commande en boucle fermée Commandabilité Stabilité des systèmes dynamiques commandés Synthèse d’une commande « neuronale » par inversion du modèle du processus Inversion directe Utilisation d’un modèle de référence Commande avec modèle interne Commande prédictive et utilisation des réseaux récurrents Programmation dynamique et commande optimale Exemple de problème déterministe à espace d’états discret Exemple de problème de décision markovienne Définition d’un problème de décision markovienne Programmation dynamique à horizon fini Programmation dynamique à horizon infini et à coût actualisé Problèmes de décision markovienne partiellement observés Apprentissage par renforcement et programmation neuro-dynamique Évaluation d’une politique par la méthode de Monte-Carlo et apprentissage par renforcement 252 254 254 255 255 258 258 259 260 262 263 264 264 266 267 269 269 269 270 271 273 273 276 277 278 280 280 281 282 286 287 288 289 289 Sommaire Présentation de l’algorithme TD d’évaluation d’une politique Apprentissage par renforcement : méthode du Q-learning Apprentissage par renforcement et approximation neuronale Bibliographie 6 La discrimination Apprentissage de la discrimination Erreurs d’apprentissage et de généralisation Surfaces discriminantes Séparation linéaire : le perceptron Géométrie de la classification Algorithmes d’apprentissage pour le perceptron Algorithme Minimerror Exemple d’application : la classification de signaux de sonar Algorithmes d’apprentissage adaptatifs (« en ligne ») Interprétation de l’apprentissage en termes de forces Au-delà de la séparation linéaire Perceptron sphérique Heuristiques constructives Algorithme constructif NetLS Machines à vecteurs supports (Support Vector Machines) SVM à marge dure Machines à noyaux (Kernel machines) SVM à marge floue (Soft margin SVM) SVM pratique Problèmes à plusieurs classes Questions théoriques Formulation probabiliste de l’apprentissage et inférence bayésienne Théorie statistique de l’apprentissage Prédiction du comportement typique des classifieurs Compléments Bornes du nombre d’itérations de l’algorithme du perceptron Nombre de dichotomies linéairement séparables Bibliographie non commentée 7 Cartes auto-organisatrices et classification automatique Notations et définitions IX 290 292 294 297 301 302 303 304 305 306 309 317 318 320 320 321 321 322 323 325 327 329 331 333 334 335 335 340 342 344 344 345 345 349 351 X L’apprentissage statistique Méthode des k-moyennes Présentation de l’algorithme Version stochastique des k-moyennes Interprétation probabiliste des k-moyennes Carte topologique auto-organisatrice Les cartes auto-organisatrices L’algorithme d’optimisation non adaptative des cartes topologiques L’algorithme de Kohonen Discussion Architecture neuronale et carte topologique Architecture et carte topologique évolutive Interprétation de l’ordre topologique Carte topologique probabiliste Classification et carte topologique Étiquetage de la carte par données expertisées Recherche d’une partition adaptée aux classes recherchées Étiquetage et classification Applications Une application en télédétection satellitaire Carte topologique et recherche documentaire Extension des cartes topologiques aux données catégorielles Codage et analyse des données catégorielles Cartes topologiques et données binaires Cartes topologiques probabilistes et données catégorielles (CTM) Discussion Exemples d’application Le modèle BTM Analyse des correspondances multiples Le modèle CTM Bibliographie 352 352 354 357 360 360 363 369 370 371 372 373 375 378 378 379 381 382 383 407 409 409 410 413 416 417 417 418 419 424 Bibliographie commentée 427 Outils pour les réseaux de neurones et contenu du CD-Rom 431 Installer Neuro One Présentation des exemples Exemple 1 431 436 436 Sommaire Exemple 2 Exemple 3 Exemple 4 Exemple 5 Installation des exemples Compiler le code source Exécuter le code source Exécuter le code source Visual Basic Visualiser les modèles La librairie NDK (Neuro Developer Kit) Programme de démonstration de la librairie Les compilateurs C Licence Index XI 436 437 437 437 437 438 438 439 440 440 440 441 442 443