Réseaux de neurones artificiels et apprentissage non supervisé II

Laboratoire V

Andres Perez-Uribe


 
Dans un apprentissage non supervisé, le réseau de neurones doit découvrir par lui-même les corrélations existant entre les patrons d'apprentissage. Les neurones et les connexions doivent dégager un certain degré d'auto-organisation.

Objectifs

Mettre en oeuvre des cartes de Kohonen pour découvrir de la régularité dans une base de données, sous la forme de classes ou groupes d'exemples qui se ressemblent.

Introduction

Vous allez d'abord utiliser des applets Java pour vous familiariser avec le fonctionnement de l'algorithme de Kohonen. Vous allez ensuite utiliser une implémentation en C de l'algorithme de Kohonen pour faire l'apprentissage non supervisé et une réduction de la dimensionnalité des données pour faciliter la visualisation de la régularité inhérente dans une base de données.

1. DemoGNG

DemoGNG est un applet Java qui permet de faire apprendre des réseaux de neurones de manière non supervisé la distribution de points d'un espace 2D. Cet applet implémente plusieurs algorithmes. Choisissez d'abord les "Self-Organizing Maps" dans l'option Network Model. Vous pouvez ensuite essayer d'autres algorithmes, par exemple, le Growing Neural Gas (GNG) qui fait l'apprentissage non supervisé incrémentale.
Changez la distribution de points en entrée à l'aide de l'option "prob Distrib."et les paramètres d'apprentissage (pour un SOM, epsilon_i et epsilon_f est le taux d'apprentissage initiale et finale, sigma_i et sigma_f est la taille du voisinage initiale et finale). L'option "Signals" vous permet de visualiser les points qui sont en train d'être utilisés pour l'entraînement, l'option "Teach" vous permet de voir le neurone gagnant et ces voisins, et l'option Voronoi vous montre les régions de Voronoi résultants du groupement réalisé par le réseaux de neurones.

2. ColorDemo

ColorDemo est un applet Java qui vous permet de mieux comprendre ce qu'une carte de Kohonen est capable de faire. Vous avez 4 classes de données et des données à deux dimensions: x et y. Vous pouvez modifier la plage de données de chaque classe ainsi que le pourcentage de la base de données appartenant à une classe donnée.
Vous trouverez les sources de l'applet ici.

L'image ci-dessous donne un exemple de représentation d'un graphique de Kohonen avec une faible représentation des coordonnées bleues et des coordonnées proches pour les autres couleurs. Cette représentation nous permet de mettre en évidence les ressemblances entre les points de couleur vert,jaune et rouge. L'orientation des points pour ces couleurs est similaire à la différence de la couleur bleu qui est opposée. On peut également mettre en évidence le "déplacement" des coordonnées de la couleur verte à la couleur rouge en passant par le jaune. Les cases de couleur "vides" représentent des points avec une faible activation. Puisque le coordonées correspondantes à la couleur bleue sont opposés aux autres couleurs, les cases de couleur "bleu" sont séparés par des cases "vides".

3. Logiciel SOM_PAK

Vous trouverez des fichiers exécutables pour DOS ici, ainsi qu'une guide d'utilisation du logiciel. Vous trouverez également les sources de ce logiciel au Neural Networks Research Centre, Helsinki University of Technology.

3.1. Les données

Copier le fichier de données suivant animal_data.txt. Ce fichier contient une liste d'animaux et 13 traits leur décrivant. Il s'agit d'utiliser une carte de Kohonen pour placer ces animaux dans une carte à deux dimensions et observer si les animaux qui se ressemblent sont effectivement placés proches entre eux dans la carte. Ensuite, il s'agit d'analyser si le placement de ces animaux dans une carte 2D vous permet d'extraire des informations concernant la régularité inhérente dans les données décrivant les traits des animaux. Il est important de vous rendre compte que ces régularités sont très difficile d'extraire à partir des données de base (fichier animal_data.txt).

3.2. Entraînement de la carte de Kohonen

3.3. Visualisation de la carte de Kohonen

Exécuter l'applet Java qui se trouve dans ce lien. Copier-coller les fichiers d'entraînement (animal_data.txt) et le fichier généré par le programme visual (clusters.txt) dans les onglets correspondants. Clicker sur le bouton "Dessiner le graphique" pour dessiner la carte de Kohonen.

4. Carte de Kohonen de pays

Il s'agit de générer une carte de Kohonen à partir de cette base de données wfb27_data.txt issue des informations de la CIA factbook 1996. Utilisez le fichier wfb27_norm_data.txt qui contient que des données dans la plage de valeurs (0,1). Les données dans la base de données sont les suivantes: surface (sq km), population, life expectancy at birth (years), literacy (%), GDP per capita($), Exports (billion $), et Imports (billion $).

5. Application des cartes de Kohonen à la fouille des données textuelles

Il s'agit d'utiliser des cartes de Kohonen pour établir la similarité du contenu d'une collection des documents texte.

6. Rapport de laboratoire

On vous demande de rédiger un rapport présentant les expériences menés dans les exercices 4 et 5. Présenter les cartes de Kohonen obtenues en indicant les paramètres utilisés. Analyser et commenter les résultats obtenus en décrivant les "connaissances" extraites de ces cartes et que l'on n'aurait probablement pas pu extraire des données brutes.

7. Explorer d'autres applications