Sommaire

Implémentation

Les MLP (MultiLayer Perceptron) sont des réseaux très utilisés. Ce sont des réseaux feed-forward, avec des neurones de type perceptron. La fonction d’agrégation est une somme pondérée, et la fonction d’activation une sigmoïde, ce qui permet un apprentissage par rétropropagation. On les retrouve surtout en régression.

Le réseau codé ici possède une seule couche cachée. Le nombre de neurones des différentes couches comme le nombre d’entrées sont paramétrables.

Deux problèmes sont ensuite présentés :

  • Le problème du XOR (OU exclusif) qui est simple à résoudre et permet de tester que les algorithmes fonctionnent.

  • Le problème "Abalone", qui est de type régression et est très utilisé pour comparer des algorithmes d’apprentissage.

L’application est en Java et n’utilise que les librairies standards, de manière à être facilement réutilisable.

1. Points et ensembles de points

Les problèmes utilisés avec les réseaux de neurones nécessitent de nombreux points pour l’apprentissage. Il n’est donc pas concevable de les rentrer à la main dans le code.

On utilisera donc des fichiers texte, avec des tabulations comme séparateurs.

La première classe est PointND, correspondant à un exemple (contenant N dimensions). Celui-ci contient un tableau ...