• Aucun résultat trouvé

Apprentissage supervis´e et non supervis´e TP2 : R´eseaux de neuronnes M2 SISE - Universit´e Lyon 2- 2017/2018

N/A
N/A
Protected

Academic year: 2022

Partager "Apprentissage supervis´e et non supervis´e TP2 : R´eseaux de neuronnes M2 SISE - Universit´e Lyon 2- 2017/2018"

Copied!
3
0
0

Texte intégral

(1)

Apprentissage supervis´ e et non supervis´ e TP2 : R´ eseaux de neuronnes

M2 SISE - Universit´e Lyon 2- 2017/2018

Responsable : Julien Ah-Pine

1 Pr´ esentation de l’´ etude de cas

Les donn´ees que vous devez mod´eliser correspondent `a des (bouts de) verres. Les donn´ees recuillies sont la composition chimique des verres et le probl`eme consiste `a pr´edire de quel type il s’agit (bris de glace de v´ehicule, de fenˆetre, verre de table. . . ). Ce probl`eme a ´et´e motiv´e par des besoins d’inves- tigation dans le cadre de sc`enes de crime. En effet, les verres pouvaient ˆetre utilis´es comme preuves `a condition qu’ils aient ´et´e bien identifi´es !

Nous avons `a notre disposition 214 observations et pour chacune diff´erentes mesures dont les compositions selon les composants chimiques. Les diff´erents type de verre sont au nombre de 6 : (1) building windows float processed, (2) building windows non float processed, (3) vehicule windows float processed, (5) containers, (6) tableware, (7) headlamps.

2 Lecture et decription des donn´ ees

1. Chargez la librairie mlbench(installez la si besoin).

2. Chargez le jeu de donn´ees‘‘Glass’’ `a l’aide de la commandedata.

3. Stockez dans la variable nom varle nom des variables `a l’aide de la commandenames.

4. Identifiez les variables explicatives et la variable `a expliquer. Stockez dans p le nombre de variables explicatives et dansnle nombre d’observations.

5. Stockez dans nom var exp le nom des variables explicatives et stockez dans nom clas cib le nom des classes cibles comme ci-dessous :

n o m _ c l a s _ c i b = c (" b u i l d i n g _ f p " ," b u i l d i n g _ n f p " ," v e h i c u l e _ f p " ," c o n t a i n e r s

" ," t a b l e w a r e " ," h e a d l a m p s ")

6. Concernant les variables explicatives, utilisez la commande summary pour avoir un aper¸cu de leurs statistiques descriptives. Les variables ont-elles des grandeurs qui sont comparables ?

3 Pr´ e-traitement des donn´ ees

7. Entrez, ex´ecutez et commentez les commandes suivantes : X = s c a l e ( G l a s s [ ,1: p ])

Y = c b i n d ( i f e l s e ( G l a s s $ T y p e ==1 ,1 ,0) , i f e l s e ( G l a s s $ T y p e ==2 ,1 ,0) , i f e l s e ( G l a s s $ T y p e ==3 ,1 ,0) , i f e l s e ( G l a s s $ T y p e ==5 ,1 ,0) , i f e l s e ( G l a s s $ T y p e

==6 ,1 ,0) , i f e l s e ( G l a s s $ T y p e ==7 ,1 ,0) ) Y = as . d a t a . f r a m e ( Y )

G l a s s = c b i n d ( X , Y )

n a m e s ( G l a s s ) = c ( n o m _ v a r _ e x p , n o m _ c l a s _ c i b )

1

(2)

4 R´ eseaux de neurones avec 1 couche cach´ ee

Nous allons utiliser la librairie R neuralnet pour mettre en oeuvre le mod`ele de r´eseaux de neurones pour ce probl`eme de cat´egorisation. Vous trouverez la page du CRAN d´edi´ee `a la librairie ici : https://cran.r-project.org/package=neuralnet.

8. Installez puis chargez la librairie neuralnet.

La commande principale pour l’estimation des param`etres est neuralnet. Pour instancier un mod`ele et d´efinir variable `a expliquer et variables explicatives, on utilise ici ´egalement les formulas de R (comme pour la commande lm par exemple). En revanche, il n’est pas possible d’utiliser les racourcis de type y~.,data=X. Il nous faut “´ecrire” la formule “`a la main”.

9. Entrez, ex´ecutez et commentez les commandes suivantes : v a r _ e x p = p a s t e ( n o m _ v a r _ e x p , c o l l a p s e = " + " ) c l a s _ c i b = p a s t e ( n o m _ c l a s _ c i b , c o l l a p s e = " + " ) mod = p a s t e ( c l a s _ c i b ,"~" , var_exp , sep = " " ) mod = as . f o r m u l a ( mod )

Attention ! la formule est symbolique et en aucun cas, le probl`eme se limite `a un mod`ele lin´eaire.

Rappelons qu’un des int´erˆets des r´eseaux de neurones consiste `a mod´eliser non lin´eairement les d´ependances entre la variable cible et les variables explicatives via les fonctions d’activation.

10. Entrez, ex´ecutez et commentez la commande suivante :

n n e t _ f i t _ 1 h l = n e u r a l n e t ( f o r m u l a = mod , d a t a = Glass , h i d d e n = p , err . fct

= " ce " , l i n e a r . o u t p u t = F A L S E )

11. Etudier en d´etail les r´esultats stock´es dans nnet fit 1hl. Quelle est la fonction d’activation utilis´ee par d´efaut ici ? Quelle sous-liste contient les coefficients synaptiques estim´es ?

12. Entrez, ex´ecutez et commentez la commande suivante : p l o t ( n n e t _ f i t _ 1 h l )

13. Entrez, ex´ecutez et commentez la commande suivante : p r e d _ s c = c o m p u t e ( n n e t _ f i t _ 1 h l , G l a s s [ 1 : 1 0 , 1 : p ])

5 Validation crois´ ee

Pour une meilleure estimation de l’erreur en g´en´eralisation, il est indispensable de faire de la validation crois´ee. Il nous faut ici impl´ementer “`a la main” la validation crois´ee. Voici une fa¸con de faire qu’il vous faut compl´eter. En particulier, d´eterminez le taux d’erreur de chaque fold et le taux d’erreur moyen.

14. Entrez, commentez et compl´etez les commandes suivantes en vue de mettre en oeuvre la vali- dation crois´ee du mod`ele pr´ec´edent :

n b _ f o l d s =5

f o l d s _ o b s = s a m p l e ( rep (1: n b _ f o l d s , l e n g t h . out = n ) ) for ( k in 1: n b _ f o l d s )

{

p r i n t ( p a s t e ( " = = = = = F o l d :" , k ) ) t e s t = w h i c h ( f o l d s _ o b s == k )

t r a i n = s e t d i f f (1: n , t e s t ) ...

}

2

(3)

6 R´ eseaux de neuronnes avec plusieurs couches cach´ ees et autres types de fonction d’activation

15. Sur le mˆeme jeu de donn´ees, utilisez les commandes pr´ec´edentes pour estimer les coefficients et analyser les r´esultats d’un r´eseau de neuronne avec 2 couches cach´ees. Comparez les r´esultats avec ceux du r´eseau de neuronnes `a 1 couche cach´ee.

16. Sur le mˆeme jeu de donn´ees, utilisez les commandes pr´ec´edentes et tester un autre type de fonction d’activation. Comparez les r´esultats avec ceux des mod`eles pr´ec´edents.

3

Références

Documents relatifs

Objectifs: Apprentissage supervis´ e, non supervis´ e, fouille de donn´

Ainsi après un régime de rotation stationnaire, si le cylindre extérieur est arrêté subitement, le temps d’amortissement du cylindre intérieur est plus court avec l’air

L’examen comporte deux exercices sur 4 et 5 points respectivement et un probl` eme sur 39 points, soit un total de 48 points, dont 8 points hors bar` eme, pour une note sur 20.. Ce

Tuyˆ et Trˆ am DANG NGOC Introduction ` a la s´ ecurit´ e r´ eseau 2 /

Cette accumulation apparente de charges (+), pourtant a priori immobiles, résulte d’un déficit de charges (–) qui sont elles mobiles.. 1.9 Champ E ⎯ → dans

Enfin, dans la section 4, nous pr´ esentons quelques r´ esultats pr´ eliminaires montrant l’influence des individus utilis´ es pour l’inf´ erence sur le r´ eseau lui- mˆ eme et

dans l’exemple précédent donne bien un vecteur égal à AM , mais il n’est pas représenté « en commençant par A ». Il faut donc finir comme le second

Sauvegarder votre script R : En activant la fenˆ etre qui le contient (celle du haut ` a gauche : le curseur doit clignoter en noir) puis en allant de nouveau dans la barre de menu