Cette applet illustre les possibilités de généralisation
dans les Perceptrons multi-couche. Elle permet de définir différents
ensembles de données : un pour l'apprentissage et l'autre pour
la validation croisée (cross-validation). Ces deux ensembles sont
nécessaires pour étudier la généralisation
de manière systématique.
Utiliser le menu popup pour choisir l'ensemble de points d'apprentissage
ou de validation croisée. Le graphe affichera en noir l'erreur
sur l'ensemble d'apprentissage et en vert
l'erreur sur l'ensemble de validation croisée.
Applet
Questions
Pour toutes ces questions, sauf la dernière, laissez un delai (paramètre
decay) de zéro.
Problème simple: placez deux groupes simples,
un rouge (1) et un bleu (-1) de points d'apprentissage linéairement
séparables et bien distincts. Ensuite, ajoutez des points de validation
croisée dans chacun des groupes. Pour être réaliste,
les points de validation croisée doivent être le même
couleur que les autres points dans le même groupe. Lancez l'apprentissage
pour environ 100 itérations et observer le résultat sur le
graphe de l'erreur. Que pouvez-vous dire sur les deux erreurs obtenues
?
Problème plus compliqué: utilisez deux groupes
similaires, mais placez certains points de validation croisée un
peu à l'extérieur des groupes d'apprentissage. Observez vous
des changements dans les courbes d'erreurs ? Pourquoi ?
Problème difficil: maintenant, créez deux groupes
linéairement séparables, mais très proche l'un de
l'autre. Créez des points de validation croisée légèrement
à l'extérieur des groupes, et même à l'intérieur
de l'autre groupe. Lancez l'apprentissage et commentez les résultats.
Observez-vous que le graphe de l'erreur atteind un minimum avant de croître
légèrement ? Comment expliquer cela ?
Problème non-linéairement séparable:
Placez 3 points d'apprentissage bleus à gauche de l'espace, 6 points
d'apprentissage rouges au centre et 3 points d'apprentissage bleus à
droite. Ajoutez 3 points de validation croisée dans le premier,
6 dans le second et 3 dans le dernier. Changez le numbre de neurones cachés
et les paramètres si nécessaire pour obtenir la convergence
vers une erreur nulle sur l'ensemble d'apprentissage. Pouvez-vous observer
un graphe d'erreur similaire à celui de la question 1 ? Pourquoi
?
De plus en plus compliqué: Essayez de résoudre
des problèmes plus compliqués (similaires aux question 2
et 3) avec des problèmes non linéairement séparables.
Questions générales: Comment caractériseriez-vous
l'évolution de l'erreur sur un ensemble de validation croisée
? Comment doit-on concevoir un ensemble d'apprentissage pour obtenir les
meilleurs résultats ?
Algorithme d'élimination de poids: Comme on a vu en
cours, le paramètre de delai (decay) contrôle un paramètre
supplémentaire dans la mise à jour du poids. Fixer ce delai
à une petite valeur comme 0.001 et utilisez plusieurs (au moins
4) neurones dans la couche cachée (n'oubliez pas de cliquer
sur "Init" à chaque fois que vous changez les paramètres
du réseau). Comparez les résultats obtenus à la rétro-propagation
standard (delai = 0.0).