Vous êtes sur la page 1sur 5

Data Mining

Apprendre ? Les rseaux neuronaux


Le neurone artificiel est modlis ainsi :
O1 W1 W2

O2

O3

W3

O tp t u u f(wi) oi
i= 1 n

W n On

O tp t u u O

f(x)= 1 1+ e x

avec des fonctions dactivations au choix :

Tutorial. On va en Suisse.
Rendez vous sur le site de lUniversit de Lausanne : http://diwww.epfl.ch/mantra/tutorial/french/ 1. Neurone Artificiel :

En utilisant la fonction d'activation de pas unitaire, on va essayer de dterminer sur papier un ensemble de poids (et une valeur de seuil) qui va produire la classification suivante :
x1 -0.2 0.2 0.8 0.8 x2 0.5 -0.5 -0.8 0.8 sortie 0 0 1 1

Reprsenter dans un repre, le problme de classification. Reprsentez le neurone artificiel correspondant. En utilisant la fonction d'activation linaire, dterminez un ensemble de poids (et une valeur de seuil) qui va produire la classification exige. En utilisant la fonction d'activation chelon ou pas (fonction linaire seuille pour xmin=xmax=0), dterminez un ensemble de poids (et une valeur de seuil) qui va produire la classification exige. Testez lensemble de ce qui prcde grce l'applet http://diwww.epfl.ch/mantra/tutorial/french/aneuron/html/index.html . Seriez-vous capable de tenir le raisonnement que prcdemment avec la fonction dactivation sigmode (=1) ?. Quapporte une telle fonction pour le problme de classification ? Sur lensemble de classification suivant, ce modle permettrait-t-il de rpondre la question ? Si non, proposez un modle neuronal possible.
x1 -0.2 0.2 0.8 0.8 x2 0.5 -0.5 -0.8 0.8 sortie 0 1 0 1

Testez lensemble de ce qui prcde grce l'applet http://diwww.epfl.ch/mantra/tutorial/french/aneuron/html/index.html . Quel comportement diffrent induit le changement de fonction dactivation ?

2. Apprentissage sur perceptron simple : Lancer lapplet correspondante : http://diwww.epfl.ch/mantra/tutorial/french/perceptron/html/index.html Modifier les paramtres de Learning Rate, Number of Iterations et Error Threshold pour chaque fonction dactivation pour apprendre la configuration (0,0,0), (1,0,0), (0,1,0) et (1,1,1) avec (x,y,classe). Commentez. Mme question pour le problme du XOR. (Nutilisez pas la case cocher SOLVE XOR). On rappelle le principe de lalgorithme dapprentissage par rtro-propagation de lerreur :

Sur lensemble dapprentissage suivant, et partir du rseau une couche cache initial suivant, faites tourner sur papier lalgorithme dapprentissage par rtro-propagation du gradient (back-propagation) sur 2 itrations.
0.5

0.5

x1 0 0 1

x2 1 0 1 0

sortie 1 0 0 1

0.5

0.5 0.5 0.5

Expliquez lintrt dutiliser un rseau neuronal puis dfinissez les tapes dapprentissage pour les donnes du cas marketing du TP-Data. Imaginez les applications dans le cadre du Web Mining.

3. Applet Adaline, Perceptron et Rtro-propagation : Cas idal: placez 10 points rouges (classe 1) et 10 points bleus (classe 0) dans deux groupes similaires, distincts et linairement sparables et apprenez avec lalgorithme de rtropropagation. Quelles valeurs de taux d'apprentissage (learning rate) donne les meilleurs rsultats ?

Diffrentes dispersions de groupe: Placez 20 poitns rouges (1) dans un trs petit groupe (points fortement corrls) et 5 points bleus (0) dans un trs large groupe de manire ce que les deux classes soient linairement sparables et apprenez avec lalgorithme de rtropropagation. Quelles valeurs de taux d'apprentissage (learning rate) donne les meilleurs rsultats ? Sparation non parfaite: Placez 10 points rouges (1) et 10 points bleus (0) dans deux groupes similaires et linairement sparables. Placez ensuite des points bleus supplmentaires l'intrieur du groupe de points rouges et apprenez avec lalgorithme de rtropropagation. Quelles valeurs de taux d'apprentissage (learning rate) donne les meilleurs rsultats ?

3. Applet Perceptron multi-couche (sortie des neurones: {0;1}) Rsolvez le problme du XOR. Placez trois groupes de points en ligne : un rouge avec 3 points, un bleu avec 6 points et encore un rouge avec 3 points. Est-ce que le perceptron multi-couche le plus simple est capable de rsoudre ce problme ? Si ce n'est pas le cas, quelle est la structure minimale qui permet de rsoudre ce problme ? Prcisez le momentum et le taux d'apprentissage (learning rate). Placez un groupe de points rouges au centre, entour par des points bleus. Quel structure de rseau et quels paramtres (momentum et taux d'apprentissage) permettent de rsoudre un tel problme ?

Cas gntique : le logiciel JavaNNS qui nous vient de Stuttgart.


Ce logiciel gratuit permet de faire de lapprentissage sur des donnes plus consquentes que les prcdentes. Un rapide tour dhorizon Ouvrez les fichiers xor_untrained.net et xor.pat qui stockent un rseau simple et le fichier de motifs apprendre correspondant : le bien connu problme du xor. Pour visualiser le rseau si ncessaire dans la fentre principale, choisissez View/Nework. Les neurones et les liens ont des couleurs diffrentes symbolisant les diffrentes valeurs des units dactivation et des poids des connexions. A prsent, entranons le rseau de neurones reconnatre les motifs, cest-dire reprogrammons les poids pour que le rseau fournisse les sorties dsires quand un motif dentre est fourni. Pour cela, ouvrez le Control Panel partir du menu Tools. Cest la fentre la plus importante car toutes les modifications et manipulations du rseau y seront effectues. Ouvrez galement la fentre dError Graph pour observez lvolution de processus dapprentissage et Log pour des informations.

Dans le Control Panel, rendez-vous longlet Learning. Choisissez la fonction dapprentissage classique Backpropagation et tudiez les paramtres par dfaut. A quoi correspondent-ils pour chacun deux ? Lancez lapprentissage en pressant le bouton Learn all . Quobservez-vous et expliquez ?

Quelques indications pour crer un rseau adapt vos donnes : Avec un diteur de texte de votre choix, visualisez le fichier de motifs good_train.pat. Donnez-en une interprtation possible dans le domaine du marketing par exemple. Choisissez File/New pour supprimer le rseau en cours du simulateur. Puis File/Open good_train.pat et good_valid.pat pour rendre disponibles les deux fichiers de motifs en question. Nous allons pouvoir crer un rseau adapt ces motifs 4 neurones dentre, 2 neurones de sortie et une couche cache 3 neurones. Choose height "4", unit type "Input" and click "Create" to create a new layer. For the next layer, set height to 3 and the unit type to "Hidden" and click "Create" again. Finally, create the output layer with the height of 2 and unit type "Output" and close the window. To connect the created units, use Create/Connections from the Tools menu. Simply choose "Connect feed-forward" and click "Connect". Doing that, you have created a simple feed-forward neural network, with 4 input, 3 hidden and 2 output unit. You can now close the Connections window, too Pour voir comment deux ensembles de motifs sont utiliss pour lapprentissage et la validation, chargez les deux fichiers good_train.pat et good_valid.pat partir de longlet Pattern. Revenez longlet Learning et entranez le rseau. Durant lapprentissage deux courbes sont affiches dans Graph Error, lune qui affiche lerreur sur lensemble dapprentissage et lautre en rose qui reprsente lerreur sur lensemble de validation. Observez ventuellement l effet de sur-apprentissage. A quel comportement et de quel courbe cela correspond-t-il ? A prsent, utilisez vos donnes Dataset.data qui se trouve dans le rpertoire splice rcupr auparavant Toronto. Ce fichier est compose de lignes avec sur chaque ligne la classe laquelle appartient la squence EI, IE, ou N puis la squence ADN concerne. Ce fichier doit permettre de prvoir si le nuclotide central de la squence propose marque une transition entre une partie codante (EXON) et noncodante (INTRON) ( classe EI), ou la transition contraire (classe IE), ou bien ni lune ni lautre (classe N pour Neutre).Vous allez apprendre un rseau de neurones puis le tester en suivant les indications suivantes : 1. Prenez 1/3 des donnes pour lapprentissage et 2/3 pour le test (pensez la commande awk vue prcdemment). 2. Crez un rseau neuronal 2 couches caches et entranez-le.

Sil vous reste du temps, faites les exercices suivants sur le site de Lausanne.
1. 2. 3. 4. Gnralisation avec un Perceptron multi-couche (sortie des neurones: {0;1}). Reconnaissance de caractres optique (OCR) avec un Perceptron multi-couche. Prdiction avec un Perceptron multi-couche. Amusez vous avec le fichier titanic.tar.gz. et JavaNNS