implantation de réseaux de neurones artificiels en...

155
Université de Montréal Implantation de réseaux de neurones artificiels en S-PLUS. Application : comparaison de méthodes statistiques dans le choix du nombre de cellules cachées. par Urbain Léonce Adico Département de mathématiques et de statistique Faculté des arts et des sciences Mémoire présenté à la Faculté des études supérieures en vue de l’obtention du grade de Maître ès sciences ( M. Sc. ) en Statistique Octobre, 1997 © URBAIN LÉONCE ADICO, 1997

Upload: leduong

Post on 15-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

Université de Montréal

Implantation de réseaux de neurones artificiels en S-PLUS. Application : comparaison de méthodes statistiques dans le choix

du nombre de cellules cachées.

par

Urbain Léonce Adico

Département de mathématiques et de statistique Faculté des arts et des sciences

Mémoire présenté à la Faculté des études supérieures en vue de l’obtention du grade de Maître ès sciences ( M. Sc. )

en Statistique

Octobre, 1997

© URBAIN LÉONCE ADICO, 1997

Page 2: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en
Page 3: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

iii

SOMMAIRE

Dans l’architecture d’un réseau de neurones artificiels (RNA) multi-

couches, le nombre de neurones dans les couches d’entrée et de sortie est connu,

c’est-à-dire déterminé par le problème donné. Mais ceci n’est pas le cas pour le

nombre de neurones dans la(les) couche(s) cachée(s). Ce choix est fait

généralement de façon empirique, pour que l’architecture trouvée soit

satisfaisante selon certains critères, comme par exemple, la minimisation d’un

coût quadratique ou du logarithme d’une fonction de vraisemblance.

Ainsi, dans ce mémoire, nous étudions le comportement de quelques

méthodes statistiques permettant d’estimer le nombre de neurones cachés d’un

réseau de neurones artificiels multi-couches. Ces méthodes peuvent être

classées selon deux types, en fonction de leur facilité de calcul. Les plus

économiques en temps de calcul sont la variation relative du logarithme du

maximum de la fonction de vraisemblance (appelée la méthode du coude), le

critère d’information d’Akaike (AIC) et le critère d’information bayésien de

Schwarz (BIC). Les moins économiques sont la validation croisée sur deux

groupes disjoints, la validation croisée sur v groupes disjoints (v > 2) et la

méthode du rééchantillonnage (appelée aussi bootstrap).

Nous considérons principalement le cas où l’on ignore s’il existe une

méthode statistique efficace de sélection du nombre optimal de neurones dans la

couche cachée. Il faudra donc, entre autres, choisir parcimonieusement le

nombre de neurones dans la couche cachée, c’est-à-dire choisir entre une

architecture ayant un nombre élevé de neurones dans la couche cachée mais un

coût faible et une architecture ayant peu de neurones dans la couche cachée

mais un coût élevé. En fait ici, c’est le traditionnel échange biais-variance: un

Page 4: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

iv

petit nombre de paramètres entraîne une petite variance mais un grand biais; un

grand nombre de paramètres entraîne une grande variance mais un petit biais.

Notre plan d’étude nous amène d’abord à introduire les réseaux de

neurones artificiels multi-couches de façon générale. Ensuite nous présentons

leur utilisation en statistique, dans le cas particulier de données dont la variable

dépendante est catégorielle. Nous allons aussi définir les méthodes statistiques

que nous utiliserons. Une implantation numérique du réseau de neurones

artificiels multi-couches sera effectuée avec le logiciel S-PLUS. Par la suite,

une étude sur des données réelles sera effectuée afin d’évaluer les qualités de

cette implantation et d’analyser son comportement statistique. Enfin les

performances de cette architecture optimale obtenue par réseau de neurones

seront comparées à celles obtenues par la méthode classique de la régression

logistique.

Page 5: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

v

REMERCIEMENTS

Je tiens à remercier mon directeur de recherche Gilles Ducharme qui a su

apporter les corrections nécessaires à mon mémoire. Je remercie également

mon codirecteur de recherche Antonio Ciampi pour son soutien financier, son

attention et ses conseils éclairés pour que prennent forme ces années de

recherche. Il a su se rendre complice de tout ce qui me concernait de près ou de

loin. Yoshua Bengio pour ses conseils car il m’a initié à ce domaine si

passionnant que constitue les réseaux de neurones artificiels et surtout il a

accepté d’être mon tuteur au DIRO. Mon épouse Jeanne-Claire Ibo m’a

grandement aidé pour la qualité du français et m’a apporté un soutien moral. Je

ne voudrais passer sous silence le personnel du Département de mathématiques

et statistique dont en particulier la directrice Mme Christiane Rousseau et M.

Serge Tardif pour leur aide pendant les périodes difficiles. Mes remerciements

s’adressent aussi à Miguel Chagnon pour son aide au niveau de S-PLUS. Enfin,

je ne peux oublier le gouvernement ivoirien qui m'a octroyé une bourse d'étude

ainsi que toute ma famille et ma communauté chrétienne à Montréal en

particulier Mlle Élaine Champagne pour l’aide morale.

J'en profite pour remercier et féliciter ma sœur Christine qui a soutenu

brillamment en juillet 1996 sa thèse de Doctorat d'État en Médecine à

l'Université d'Abidjan Cocody (Côte d'Ivoire).

Page 6: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

vi

Aux deux DAMES les plus ADORABLES:

Ma Mère JEANNE &

Mon Épouse JEANNE

Page 7: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

vii

TABLE DES MATIÈRES pages

SOMMAIRE iii

REMERCIEMENTS v

DÉDICACE vi

TABLE DES MATIÈRES vii

LISTE DES TABLEAUX xi

LISTE DES FIGURES xiii

LISTE DES GRAPHIQUES xiv

CHAPITRE 1. Généralités sur les réseaux de neurones artificiels multi-couches 1 1.1 INTRODUCTION 1 1.1.1 Fondements biologiques 1 1.1.1.1 Le neurone 1 1.1.1.2 Fonctionnement des neurones 2 1.1.1.3 Les synapses 4 1.1.1.4 Organisation et communication 5 1.1.1.5 Formation du cerveau-apprentissage-mémoire 6 1.1.1.6 La règle de Hebb 8 1.1.2 Qu’est-ce qu’un réseau de neurones artificiels ? 9 1.1.3 Historique des réseaux de neurones artificiels 10 1.2 CHOIX D’ALGORITHME 14 1.2.1 Algorithme de rétropropagation du gradient 17 1.2.2 Modèle général de l’apprentissage par rétropropagation 18

Page 8: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

viii

pages 1.3 LES FACTEURS D’APPRENTISSAGE ET DE LISSAGE 26 1.4 LES FONCTIONS D’ACTIVATION USUELLES ET LEUR DÉRIVÉE 29 1.5 INITIALISATION DES POIDS DES CONNEXIONS 30 CHAPITRE 2. Aspects statistiques: application aux données catégorielles (classification) 33 2.1 INTRODUCTION 33 2.2 LES DONNÉES 34 2.3 FONCTION LOG-LINÉAIRE 35 2.4 FONCTION COÛT: VALEUR NÉGATIVE DU LOGARITHME DE LA FONCTION DU MAXIMUM DE VRAISEMBLANCE 36 2.5 DESCENTE DE GRADIENT 38 2.6 ERREUR D’APPRENTISSAGE, DE TEST ET DE GÉNÉRALISATION 39 2.6.1 Courbes de généralisation et d’apprentissage 41 2.7 MESURE DE L’ERREUR DE CLASSIFICATION 46 2.7.1 Classification ambiguë 46 2.7.2 Théorie de décision de Bayes 47 2.7.3 Justification de la décision de Bayes 47

Page 9: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

ix

pages CHAPITRE 3. Méthodes statistiques pour le choix du nombre de neurones dans une couche cachée 49 3.1 MÉTHODES PLUS ÉCONOMIQUES EN TEMPS DE CALCUL 49 3.1.1 La méthode du coude 49 3.1.2 L’AIC et le BIC 51 3.2 MÉTHODES MOINS ÉCONOMIQUES EN TEMPS DE CALCUL 51 3.2.1 La validation croisée 51 3.2.1.1 Validation croisée sur deux groupes disjoints 52 3.2.1.2 Validation croisée sur plus de deux groupes disjoints 53 3.2.1.3 Critère de sélection de la meilleure architecture 55 3.2.1.3.1 Cas de la validation croisée sur plus de deux groupes disjoints 55 3.2.1.3.2 Cas de la validation croisée sur deux groupes disjoints 56 3.2.2 La méthode du rééchantillonnage 56 CHAPITRE 4. Implantation numérique et résultats 59 4.1 IMPLANTATION NUMÉRIQUE 59 4.1.1 S-PLUS pour l’environnement ‘‘Windows’’ 59 4.1.2 Méthodologie 60

Page 10: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

x

pages 4.1.2.1 Les principales fonctions créées et leur description 60 4.1.2.2 Base de données réelles 61 4.1.2.3 Initialisation des paramètres libres 62 4.2 PRÉSENTATION ET ANALYSES DES RÉSULTATS 62 4.2.1 Réseau de neurones artificiels à une couche cachée 64 4.2.2 Les erreurs de classification 73 4.2.3 Méthode classique de la régression logistique multiple 79 4.2.3.1 Régression logistique multiple sur l’échantillon total 79 4.2.3.2 Régression logistique multiple sur l’ensemble d’apprentissage 80 4.2.3.3 Régression logistique multiple sur l’ensemble de test 81 4.2.4 Réseau de neurones versus régression logistique 82 CONCLUSION 84 ANNEXE 1. DÉMONSTRATIONS DE CERTAINS RÉSULTATS DU BOOTSTRAP 86 ANNEXE 2. LES FONCTIONS CRÉÉES 88 ANNEXE 3. LES ÉCRANS D’AIDE ET PROGRAMMES 94 ANNEXE 4. DESCRIPTION DES VARIABLES 125 ANNEXE 5. TABLEAUX DES RÉSULTATS 126 ANNEXE 6. PROGRAMMES ET RÉSULTATS OBTENUS EN RÉGRESSION LOGISTIQUE 133 BIBLIOGRAPHIE 137

Page 11: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

xi

LISTE DES TABLEAUX pages

4.1 Récapitulatif des résultats 76 4.2 Les mesures prises par l’individu moyen sur les 12 variables indépendantes 77 4.3 Les différents types d’erreur de classification 78 4.4 Réseau de neurones versus régression logistique 82 A4.1 lappr en fonction du nombre de cellules dans la couche cachée 121 A4.2 Variations relatives de lappr en fonction du nombre de cellules dans la couche cachée 121 A4.3 Valeurs de l’AIC en fonction du nombre de cellules dans la couche cachée 122 A4.4 Valeurs du BIC en fonction du nombre de cellules dans la couche cachée 122 A4.5 Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes disjoints 123 A4.6 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes disjoints 123 A4.7 Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoints 124 A4.8 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoints 124

Page 12: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

xii

A4.9 Valeurs de SEtest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoints 125

A4.10 Valeurs de lboot en fonction du nombre de cellules dans la couche cachée par la méthode bootstrap 125 A4.11 Erreurs de classification après apprentissage sur tout l’ensemble des exemples en fonction du nombre de cellules dans la couche cachée 126

A4.12 Erreurs de classification sur l’ensemble d’apprentissage en fonction du nombre de cellules dans la couche cachée 126

A4.13 Erreurs de classification sur l’ensemble de test en fonction du nombre de cellules dans la couche cachée 127

Page 13: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

xiii

LISTE DES FIGURES pages

1.1 Le corps cellulaire comme sommateur à seuil 3 1.2 Structure générale typique d’un RNA avec une seule couche cachée 10 1.3 Le neurone de McCulloch-Pitts 12 1.4 Fonction binaire à seuil 12 1.5 Descente de gradient dans l’espace des poids: a) pour un petit facteur d’apprentissage η; b) pour un facteur d’apprentissage η élevé, et c) avec un facteur d’apprentissage η élevé et un facteur de lissage α 28 1.6 Zones de quasi-linéarité et de saturation de a) la Tangente hyperbolique sigmoïde et de b) la Sigmoïde 31 2.1 Courbes de généralisation et d’apprentissage en fonction de la capacité du réseau 42 2.2 Courbes de généralisation et d’apprentissage en fonction du temps d’apprentissage 43 2.3 Courbe de l’erreur de généralisation espérée 44 2.4 Courbes de généralisation et d’apprentissage en fonction du nombre d’exemples 45

Page 14: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

xiv

LISTE DES GRAPHIQUES pages

4.1 lappr en fonction du nombre de cellules dans la couche cachée 65 4.2 Variations relatives de lappr en fonction du nombre de cellules dans la couche cachée 66 4.3 Valeurs de l’AIC en fonction du nombre de cellules dans la couche cachée 67 4.4 Valeurs du BIC en fonction du nombre de cellules dans la couche cachée 67 4.5 Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes disjoints 68 4.6 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes disjoints 69 4.7 Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoints 70 4.8 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoint 71 4.9 Valeurs des écarts types SEtest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus deux groupes disjoints 71

4.10 Valeurs de lboot en fonction du nombre de cellules dans la couche cachée par la méthode bootstrap 72

Page 15: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

xv

4.11 Erreurs de classification après apprentissage sur tout l’ensemble des exemples en fonction du nombre de cellules dans la couche cachée 73

4.12 Erreurs de classification sur l’ensemble d’apprentissage en fonction du nombre de cellules dans la couche cachée 74

4.13 Erreurs de classification sur l’ensemble de test en fonction du nombre de cellules dans la couche cachée 75

Page 16: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

1

CHAPITRE 1

Généralités sur les réseaux de neurones artificiels multi-couches

1.1 Introduction

1.1.1 Fondements biologiques

Cette introduction décrit les composantes du cerveau sans prétention à

l’exhaustivité, dans le but d’expliquer et de légitimer les modélisations

présentées dans les parties suivantes. Elle considère le cerveau dans son

ensemble et tente de montrer comment certaines de ses propriétés émergent de

sa structure. On réfère aussi le lecteur intéressé à Davalo et Naïm (1990) pour

une description plus détaillée des similitudes entre les réseaux de neurones

biologiques et les réseaux de neurones artificiels.

1.1.1.1 Le neurone

Selon Stevens (1979), les cellules nerveuses, appelées neurones, sont les

éléments de base du système nerveux central. Les neurones possèdent de

nombreux points communs dans leur organisation générale et leur système

biochimique avec les autres cellules. Ils présentent cependant des

caractéristiques qui leur sont propres et qui se retrouvent au niveau des cinq

Page 17: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

2

fonctions spécialisées qu’ils assurent, c’est-à-dire, la fonction de recevoir des

signaux en provenance de neurones voisins, de les intégrer, d’engendrer un

influx nerveux, de le conduire et le transmettre à un autre neurone capable de le

recevoir.

Un neurone est constitué de trois parties qui sont: le corps cellulaire, les

dendrites, l’axone. Le corps cellulaire contient le noyau du neurone et effectue

les transformations biochimiques nécessaires à la synthèse des enzymes et des

autres molécules qui assurent la vie du neurone. Les dendrites sont de fines

extensions tubulaires. Elles se ramifient, ce qui les amène à former une espèce

d’arborescence autour du corps cellulaire. Elles sont les récepteurs principaux

du neurone pour capter les signaux qui lui parviennent. L’axone, qui est à

proprement parler la fibre nerveuse, sert de moyen de transport pour les signaux

émis par le neurone. Il se distingue des dendrites par sa forme et par les

propriétés de sa membrane externe. En effet, il est généralement plus long que

les dendrites, et se ramifie à son extrémité, là où il communique avec d’autres

neurones, alors que les ramifications des dendrites se produisent plutôt près du

corps cellulaire.

Pour former le système nerveux, les neurones sont connectés les uns aux

autres suivant des répartitions spatiales complexes. Les connexions entre deux

neurones se font en des endroits appelés synapses où ils sont séparés par un petit

espace synaptique de l’ordre d’un centième de microns.

1.1.1.2 Fonctionnement des neurones

Les fonctions spécifiques réalisées par un neurone dépendent

essentiellement des propriétés de sa membrane externe. Ainsi, celle-ci remplit

cinq fonctions principales:

Page 18: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

3

-elle sert à propager des impulsions électriques tout au long de l’axone et

des dendrites;

-elle libère des médiateurs à l’extrémité de l’axone;

-elle réagit à ces médiateurs au niveau des dendrites;

-elle réagit au niveau du corps cellulaire aux impulsions électriques que

lui transmettent les dendrites pour générer ou non une nouvelle impulsion;

-elle permet au neurone de reconnaître les autres neurones afin qu’il

puisse se situer au cours de la formation du cerveau et trouver les cellules

auxquelles il doit être connecté.

D’une façon simple, comme l’illustre la figure 1.1, on peut dire que le

corps cellulaire du neurone traite les courants électriques qui lui proviennent de

ses dendrites, et qu’il transmet le courant électrique, si un certain seuil est

atteint, résultant de ce traitement aux neurones auxquels il est connecté par

l’intermédiaire de son axone.

corps cellulaire

dendrite

seuillage

axone

sommation

Figure 1.1. Le corps cellulaire comme sommateur à seuil.

Le schéma classique présenté par les biologistes et illustré par la figure

1.1, est celui d’un corps cellulaire effectuant une sommation des influx nerveux

transmis par ses dendrites. Si la sommation dépasse un seuil, le neurone répond

Page 19: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

4

par un influx nerveux ou potentiel d’action qui se propage le long de son axone.

Si la sommation est inférieure à ce seuil, le neurone reste inactif. L’influx

nerveux qui se propage entre différents neurones est, au niveau de ces neurones,

un phénomène électrique.

Selon toujours Stevens (1979), la propagation de l’influx nerveux généré

par le corps cellulaire du neurone est assurée par un mécanisme de pompe et de

canaux présents dans la membrane axonique. Les pompes considérées sont des

pompes à ions qui maintiennent dans l’axone une différence de concentration en

ions sodium et potassium par rapport au milieu extérieur. Leur rôle est

d’expulser les ions sodium et d’attirer les ions potassium. Les canaux sont

répartis le long de la membrane axonique et permettent ou refusent le passage

des ions sodium et potassium. Au repos, quand aucun influx n’est transmis, les

canaux sont fermés et les pompes assurent le maintien du potentiel négatif dans

l’axone. Quand il y a propagation d’un influx nerveux généré par le corps

cellulaire, la différence de potentiel entre le milieu extérieur et l’axone diminue.

Cela provoque l’ouverture des canaux à sodium situés juste en avant de l’influx

nerveux. Le résultat de l’entrée des ions sodium dans l’axone est une inversion

du potentiel qui existait et donc une propagation de l’influx nerveux. Juste après

l’ouverture des canaux à sodium, ce sont les canaux à potassium qui s’ouvrent

automatiquement. Ce phénomène provoque une ré-inversion du potentiel et

ramène l’axone à son état électrique initial. C’est ainsi que se propage de lui-

même le potentiel d’action.

1.1.1.3 Les synapses

Le rôle des synapses est fondamental pour permettre aux cellules

nerveuses de communiquer entre elles (Mac Clelland et Rumelhart, 1988). Les

Page 20: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

5

signaux qui se propagent dans les neurones sont de nature électrique.

Cependant, il n’existe pas de liaisons directes entre deux cellules nerveuses.

Celles-ci sont séparées par un espace appelé fente synaptique que l’influx

électrique ne peut traverser. Le relais s’effectue à ce niveau par l’intermédiaire

d’un médiateur chimique, c’est-à-dire, l’arrivée du potentiel d’action à l’une des

extrémités de l’arborisation terminale, déclenche la libération d’une substance

chimique appelée neuro-transmetteur qui est soit excitateur car il excite le

neurone cible et produit dans celui-ci une nouvelle impulsion, soit inhibiteur car

il bloque l’impulsion nerveuse aux endroits synaptiques où il sert de relais.

Cette substance diffuse dans l’espace synaptique et vient se fixer sur des

récepteurs spécifiques appelés neuro-récepteurs, situés sur la terminaison du

neurone cible. Cette fixation provoque l’ouverture de canaux ioniques, ce qui

peut donner naissance à un nouveau signal électrique.

1.1.1.4 Organisation et communication

Chez les animaux, et en particulier chez l’homme, le système nerveux

central est le moteur de l’organisation du milieu interne. Le cerveau y joue le

rôle de centre de contrôle général. Ce contrôle s’effectue à différents niveaux

afin de pouvoir assurer à la fois stabilité et adaptabilité (Stevens, 1979). Au

niveau de la stabilité, le cerveau assure la commande et la coordination centrale

de l’activité neuro-motrice en fonction des informations internes et externes.

Pour cela il doit:

-disposer de programmes d’actions qui seront déclenchés par des stimuli

particuliers;

-disposer de programmes d’analyse des informations sensorielles qui lui

permettent de construire des représentations du monde extérieur adéquates;

Page 21: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

6

-disposer de programmes d’analyse des informations internes pour

évaluer l’état dans lequel il se trouve.

Au niveau de l’adaptabilité, le cerveau doit assurer les fonctions

cognitives que possèdent les invertébrés et vertébrés supérieurs, c’est-à-dire:

-être capable de mémorisation, afin d’enregistrer les évènements

significatifs pour modifier ou enrichir ses programmes d’actions;

-être capable d’imagination, c’est-à-dire de représenter et de simuler des

évènements.

Comme nous l’avons déjà vu, le cerveau, comme commande centrale de

l’organisme, doit recevoir des informations en provenance de l’environnement

et du corps lui-même. Le cerveau reçoit des informations sur l’environnement,

par l’intermédiaire de capteurs sensoriels spécialisés.

1.1.1.5 Formation du cerveau-apprentissage-mémoire

Selon Delacour et Danchin (1978), les expériences de privations

sensorielles montrent une grande modification de l’anatomie de la partie du

système nerveux liée à l’organe des sens sur lequel a été effectuée la privation.

Cette altération n’a cependant lieu qu’à condition que la privation soit effectuée

chez le jeune individu et non à l’âge adulte. D’une manière plus générale, ceci

nous amène à nous interroger ‘‘sur les caractéristiques structurales et

fonctionnelles qui associent la génèse post-natale des réseaux nerveux, les

aptitudes à un apprentissage et l’acquisition d’une mémoire’’ (Delacour et

Danchin, 1978). Les recherche en électrochimie nous permettent d’exposer la

théorie suivante sur l’évolution du système nerveux.

La mise en place du système nerveux se fait selon un programme

héréditaire. Ce programme est défini sur la donnée à l’instant initial:

Page 22: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

7

-d’un réseau de neurones à connexions maximales;

-du mécanisme de fonctionnement de chaque classe de neurones;

-du potentiel d’évolution des synapses.

Tous ces éléments sont sous contrôle génétique. L’évolution du système

nerveux est alors due à l’interaction entre l’environnement extérieur et le

programme génétique. Cette évolution se traduit par l’évolution des synapses

qui soit dégénèrent, soit se stabilisent d’une manière plus ou moins réversible.

Selon Davalo et Naïm (1990), l’évolution du réseau se fait par un

mécanisme sélectif qui imprime sur le réseau une image de l’environnement.

L’apprentissage, comme la mémorisation, ne peut se caractériser au niveau

biochimique que par l’évolution des connexions entre les neurones. On peut en

effet définir l’apprentissage comme l’acquisition de propriétés associatives

stables, ou, ‘‘toute modification du comportement, relativement durable, que

l’on peut attribuer à l’expérience sensorielle passée de l’organisme’’ (Delacour

et Danchin, 1978), et la mémorisation comme l’engrangement et le rappel de

ces propriétés ou modifications. Ainsi, l’apprentissage serait un mélange

complexe de contraintes innées et de hasards acquis. Pour la mémoire, les

résultats sont moins évidents. Si l’on sait que la mémoire immédiate fait

intervenir des mécanismes de nature bioélectrique, on ne sait toujours pas où et

comment est stockée la mémoire à long terme, ni comment s’effectue son rappel

(Chapoutier et al., 1980). L’idée qui domine en neuro-biologie est celle d’un

stockage dans les macro-molécules du cerveau, soit dans les protéines, soit dans

l’acide ribonucléique (ARN). Son origine remonte à la découverte du stockage

de notre code génétique dans les molécules d’acide désoxyribonucléique

(ADN), constituantes essentielles des chromosomes du noyau cellulaire. Il était

alors tentant d’établir une analogie entre le mode de stockage de notre mémoire

innée et celui de notre mémoire acquise.

Page 23: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

8

1.1.1.6 La règle de Hebb

L’idée d’un mécanisme ‘‘synaptique’’ de couplage avait été proposée par

Hebb dès 1949. D’après ce dernier:

‘‘quand une cellule A excite par son axone une cellule B et que, de

manière répétée et persistante, elle participe à la genèse d’une impulsion

dans B, un processus de croissance ou un changement métabolique a lieu

dans l’une ou dans les deux cellules, de telle sorte que l’efficacité de A à

déclencher une impulsion dans B est, parmi les autres cellules qui ont cet

effet, accrue’’.

Ainsi, l’évolution d’une synapse est sensible aux échanges

d’informations entre les deux neurones que relie cette synapse, ce qui cadre bien

avec la théorie selon laquelle l’évolution du réseau nerveux est due à

l’interaction entre l’environnement et le programme génétique.

En conclusion, nous pouvons dire que tout ce qui a été exposé

précédemment peut s’inscrire dans le cadre, soit d’une caractérisation

biologique, soit d’une caractérisation fonctionnelle du cerveau. La

caractérisation biologique du cerveau (à un niveau très simplifié) peut se faire

par: la description de ses éléments constitutifs de base: les neurones; l’étude de

son architecture, c’est-à-dire de la façon dont les neurones sont reliés entre eux;

le regroupement des deux points précédents pour étudier son fonctionnement;

l’étude de son évolution, ce qui pose les problèmes de la mémoire et de

l’apprentissage. Ceci est l’objet de la neuro-anatomie. Au niveau fonctionnel, le

cerveau est caractérisé par son rôle de système central de commande de

l’organisme. Il en résulte qu’il doit disposer d’informations, être capable de les

traiter, et enfin diriger les actions de l’organisme qui l’abrite.

Page 24: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

9

1.1.2 Qu’est-ce qu’un réseau de neurones artificiels ?

Avec comme base les observations neuro-anatomiques et

neurophysiologiques de la partie précédente, nous présentons ici les

modélisations les plus générales des réseaux de neurones. D’abord, retenons que

lorsque nous parlons d’un réseau de neurones, il serait mieux de dire “réseau de

neurones artificiels (RNA)”, parce que c’est ce que nous sous-entendons. En

effet, les réseaux de neurones biologiques (RNB) sont beaucoup plus complexes

que les modèles mathématiques utilisés dans les réseaux de neurones artificiels.

Un réseau de neurones artificiels, dont un cas particulier est illustré à la

figure 1.2, est un ensemble composé de plusieurs petites unités appelées, dans la

littérature neuronale, des cellules ou des neurones. Chaque cellule a une

capacité de calcul et une petite quantité de mémoire (mémoire locale). Ainsi

chaque cellule peut faire de petites opérations mathématiques pour les

transmettre aux cellules de la couche suivante. Un groupe de cellules effectuant

les mêmes opérations mathématiques, constitue un groupe appartenant à la

même couche. Ainsi on a une couche d’entrée composée des cellules ayant une

action directe sur les variables (régresseurs), une couche de sortie composée des

cellules calculant l’estimateur de la variable dépendante et une ou plusieurs

couches cachées pour des opérations internes. Pour cette transmission, les

cellules sont reliées d’une couche à l’autre de façon unidirectionnelle par des

ports de communication (connexions), lesquels véhiculent les données

numériques. Ceux-ci représentent les synapses dont on a parlé dans la section

précédente. L’ensemble des cellules et des connexions constitue le réseau de

neurones. Les cellules opèrent seulement sur les données qu’on leur fournit

localement et sur les entrées qu’elles reçoivent des connexions. Cette

architecture des réseaux de neurones artificiels est ce qui les distingue le plus

des modèles mathématiques plus classiques.

Page 25: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

10

Ainsi, sous le terme de réseau de neurones artificiels, on regroupe un

certain nombre de modèles dont l’intention est d’imiter certaines des fonctions

du cerveau humain en reproduisant certaines de ses structures de base

présentées dans la partie précédente.

cellules de la cellules de la cellules de la

couche d’entrée couche cachée couche de sortie

Figure 1.2. Structure générale typique d’un RNA avec une seule couche cachée.

1.1.3 Historique des réseaux de neurones artificiels

Les origines de cette discipline sont historiquement très diversifiées. En

1943, McCulloch et Pitts étudièrent un ensemble de neurones formels

interconnectés et montrèrent leurs capacités à calculer certaines fonctions

logiques. Par analogie avec l’activité du corps cellulaire (figure 1.1), McCulloch

et Pitts ont proposé le modèle suivant.

Un neurone formel fait une somme pondérée des potentiels d’actions qui

lui parviennent (chacun de ces potentiels est une valeur numérique qui

Page 26: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

11

représente l’état du neurone qui l’a émis), puis s’active selon la valeur de cette

somme pondérée. Si cette somme dépasse un certain seuil, le neurone est activé

et transmet une réponse (sous forme de potentiel d’action) dont la valeur est

celle de son activation. Si le neurone n’est pas activé, il ne transmet rien.

Leur neurone formel (voir figure 1.3) est formé d’une ou de plusieurs

cellules dans la couche d’entrée et d’une seule cellule dans la couche de sortie

car la nature de la sortie est binaire (-1 ou +1). La nature des entrées zi avec

i=1,...,N, est aussi binaire car suivant leur modèle, chaque cellule d’entrée

transmet à la cellule de sortie la valeur de son activation qui n’est rien d’autre

que -1 ou +1. Afin d’écarter toute ambiguité, notons que zi est la valeur

numérique qui entre dans le neurone depuis la iième cellule d’entrée et non la

notation de la iième cellule de la couche d’entrée. Donc, la i

ième cellule de la

couche d’entrée est un contenant et zi est son contenu.

La cellule de sortie calcule la quantité

O W zi i

i

N

= −

=

∑σ θ1

avec (1.1)

σ ( ),

,X

si X

si X=

+ ≥

− <

1 0

1 0

i = 1,..., N : indice des entrées,

z i : iième entrée binaire,

Wi : paramètre de pondération de la valeur émise de la iième cellule de

la couche d’entrée. Notons que Wi

i

N

=

∑1

est différente de 1 et de 0,

θ : une constante,

O : valeur de sortie du réseau,

Page 27: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

12

σ : fonction d’activation qui est une fonction binaire à seuil (voir

figure 1.4). Elle prend la valeur +1 ou -1, avec ( )σ 0 0= .

z1

W1

z2

W2

. . +1 O

. θ

. -1

. . . W

N

zN

Figure 1.3. Le neurone de McCulloch-Pitts .

σ (x)

1

0 x

-1

Figure 1.4. Fonction binaire à seuil.

Comme nous l’avons vu, les synapses peuvent jouer différents rôles.

Elles peuvent être inhibitrices ou excitatrices. Pour modéliser ce rôle, on a

choisi d’affecter à chaque connexion entre deux neurones formels un poids Wi

Page 28: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

13

qui pondère le signal transmis. Comme il se doit, la dynamique des connexions

ne s’intéresse qu’aux réseaux dont les poids des connexions sont évolutifs. On

peut interpréter -θ comme l’utilisation d’un neurone qui fournirait toujours

l’entrée z0 = -1 au neurone étudié. Ceci fait que la fonction d’entrée totale

(équation 1.1) est une fonction affine et définit le prétraitement effectué sur les

entrées. On peut rappeler l’analogie avec les modèles de régression linéaire où,

on utilise comme première variable X0 = 1 en plus des autres variables

indépendantes afin d’inclure un terme constant dans le modèle.

À la suite des recherches de McCulloch et Pitts (1943) qui aboutirent à la

définition du neurone formel, et de celles de Hebb (1949) qui fournirent une

explication synaptique du mécanisme d’apprentissage, les chercheurs se sont

retrouvés confrontés au problème qui consiste à expliquer les fonctionnalités du

cerveau par celles de ses structures.

À la fin des années 1950, la neurobiologie ne disposait pas encore de

techniques modernes de l’électro-chimie pour étudier les structures du cerveau.

L’idée de certains chercheurs fut alors d’utiliser les modélisations des neurones

et de l’évolution des synapses pour simuler des réseaux de neurones

biologiques. Ils espéraient que si la construction de tels réseaux ne violait

aucune contrainte biologique, ceux-ci pourrait exhiber des comportements

proches de ceux du cerveau et ainsi fournir des explications sur le

fonctionnement de celui-ci.

Le premier modèle fut présenté par Rosenblatt en 1962, c’était le

perceptron. Ce modèle a pour propriétés:

- d’être spécifié en termes suffisamment précis pour permettre le test des

performances annoncées;

- d’être suffisamment complexe pour que l’on puisse espérer des

comportements intéressants;

Page 29: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

14

- d’être suffisamment simple pour que ses performances puissent être

prédites et analysées;

- enfin et surtout d’être en accord avec les faits biologiques.

Ce modèle suscita beaucoup de recherches et sans doute trop d’espoirs.

En 1969 deux mathématiciens, Minsky et Papert, démontrèrent les limites

théoriques du perceptron. L’effet fut presqu’immédiat: les chercheurs se

désintéressèrent des RNA pour se tourner vers l’approche symbolique de

l’intelligence artificielle qui semblait alors beaucoup plus prometteuse.

Le renouveau actuel des RNA est dû à des contributions originales,

comme celle de Hopfield en 1982 qui, en montrant l’analogie des RNA avec

certains systèmes physiques, a permis de leur appliquer un formalisme riche et

bien maîtrisé. En 1985, des nouveaux modèles mathématiques ont permis de

dépasser les limites du perceptron.

Plusieurs milliers d’articles ont maintenant été publiés sur le sujet dans

des revues de biologie, de psychologie, de mathématiques, de physique,

d’électronique, d’économie et de statistique, chacun abordant le problème dans

le cadre de sa spécialité.

1.2 Choix d’algorithme

Comme nous l’avons vu dans la section sur les fondements biologiques,

la règle de Hebb est le premier mécanisme d’évolution proposé pour les

synapses. Son interprétation pour les réseaux de neurones formels est la

suivante.

On considère que si deux neurones connectés entre eux sont activés au

même moment, la connexion qui les relie doit être renforcée. Dans les cas

contraires, elle n’est pas modifiée.

Page 30: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

15

Si nous prenons les conventions suivantes:

cellule activée.

cellule non-activée.

La règle de Hebb donne alors:

cellules émettrices cellules réceptrices

connexion renforcée

connexions non

modifiées

Ceci traduit bien le fait que lorsque la connexion entre deux cellules est

très forte, quand la cellule émettrice s’active, la cellule réceptrice s’active aussi.

Il faut donc, pour lui permettre de jouer ce rôle déterminant lors du mécanisme

d’apprentissage, augmenter le poids de cette connexion.

En revanche, si la cellule émettrice s’active sans que la cellule réceptrice

le fasse, ou si la cellule réceptrice s’active alors que la cellule émettrice ne

s’était pas activée, cela traduit bien le fait que la connexion entre ces deux

cellules n’est pas prépondérante dans le comportement de la cellule réceptrice.

Page 31: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

16

On peut donc, dans la phase d’apprentissage, laisser un poids faible à cette

connexion.

Notons par W tji ( ) le poids de connexion entre le neurone i et le neurone j

à l’instant t. Supposons qu’entre les instants t et t+∂t, on ait soumis le réseau à

un stimulus, et que ce stimulus ait provoqué l’activation Aj du neurone j, et

l’activation Ai du neurone i. Supposons de plus que Aj et Ai soient binaires

(d’un point de vue général, il est complètement équivalent que l’on prenne les

valeurs des activations dans (0, 1) ou dans (-1, +1)). La règle de Hebb

permettant la modification des poids s’écrit:

W t t W t A Aji ji j i( ) ( )+ = +∂ η , (1.2)

où η (η > 0) est un paramètre de l’intensité de l’apprentissage. Il permet de

renforcer ou non la connexion qui relie les neurones j et i, car il augmente si la

connexion est prépondérante et diminue sinon, sachant que les valeurs possibles

des activations sont dans (-1, +1).

Si tout le monde s’accorde à reconnaître la modification des poids des

connexions comme le principe même de l’apprentissage, les règles utilisées

pour y arriver sont variées.

Les méthodes de modification de poids sont basées sur un apprentissage

supervisé: en d’autre termes, on connaît à chaque fois la sortie désirée, qui

équivaut à la variable dépendante dans la méthode de régression. Ainsi, dans le

cas d’un réseau à une couche d’entrée et une couche de sortie, un “professeur ”

qui connaît parfaitement la réponse attendue (sortie désirée) guide le réseau en

lui rappelant à chaque instant t le bon résultat. Le réseau, prenant en compte son

erreur, modifie ses poids en utilisant la règle de Hebb (équation 1.2). On définit

son erreur comme étant la différence entre la sortie désirée et la sortie obtenue

donnée par l’équation 1.1. Mais si l’on introduit une couche supplémentaire de

neurones entre la couche d’entrée et la couche de sortie (voir la figure 1.2), le

“professeur ” ne sachant pas les modifications survenues au niveau de la couche

Page 32: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

17

qui est cachée, aura du mal à indiquer la sortie attendue aux neurones de la

couche cachée. Ainsi la question devient comment évaluer l’impact de la

modification d’un poids de la couche d’entrée et aussi de la couche cachée sur

la réponse finale ?

Ce problème est général à tous les systèmes d’apprentissage, qu’ils soient

naturels ou artificiels. Ainsi, lorsqu’un joueur d’échecs perd une partie, sauf

dans le cas où il a commis une erreur flagrante, il lui est très difficile de tirer un

enseignement particulier de chacun des coups qu’il a joué au cours de la partie.

Dans le cas des RNA à plusieurs couches, ce problème s’exprime de la

façon suivante: Comment répercuter sur chacune des couches précédentes,

l’erreur qui n’est mesurée que sur la couche de sortie ?

Ce problème a donné lieu à la mise au point dans les années 1980 de

l’algorithme de rétropropagation du gradient.

1.2.1 Algorithme de rétropropagation du gradient

L’algorithme de rétropropagation du gradient a été mis au point

simultanément et indépendamment par une équipe en France (Le Cun et

Fogelman-Soulié, 1985) et une autre aux États-Unis (Rumelhart, Hinton et

Williams, 1986).

L’idée simple à la base de cet algorithme est l’utilisation d’une fonction

dérivable en remplacement de la fonction binaire σ(x), illustrée par la figure

1.4. Mathématiquement, cet algorithme n’utilise que des règles simples de

dérivations successives et ne présente aucune difficulté particulière.

L’avantage est que cet algorithme, en plus de permettre la propagation du

signal provenant des cellules d’entrée vers la couche de sortie, permet, en

suivant le chemin inverse, rétropropager l’erreur commise en sortie vers les

couches internes. Au niveau des réseaux de neurones biologiques, ce signal

Page 33: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

18

correspond à l’influx nerveux, alors qu’au niveau des réseaux de neurones

artificiels, ce signal correspond à la valeur numérique résultant des opérations

mathématiques effectuées dans chaque cellule.

1.2.2 Modèle général de l’apprentissage par rétropropagation

Considérons le cas particulier d’un réseau à trois couches: une couche

d’entrée, un couche cachée et une couche de sortie. Ce réseau peut être défini

par les éléments suivants et qui constituent aussi les étapes de la propagation du

signal d’une couche à l’autre:

- la nature et le nombre de ses entrées. Ses entrées sont des variables

indépendantes prenant des valeurs numériques (catégorielles, discrètes ou

continues). Le nombre de ses variables d’entrée est égal au nombre de cellules

dans la couche d’entrée;

- une fonction d’entrée totale au niveau des cellules de la couche cachée

qui définit le prétraitement effectué sur les variables d’entrée de la couche

d’entrée. Cette fonction est en général une fonction affine;

- une fonction d’activation (fonction dérivable) des cellules de la couche

cachée qui définit son état interne en fonction de son entrée totale. Cette

fonction est en général une fonction logistique (par exemple la fonction

tangente hyperbolique);

- une fonction d’entrée totale au niveau des cellules de la couche de

sortie qui définit le prétraitement effectué sur les résultats obtenus par la couche

cachée. Cette fonction est en général aussi une fonction affine;

- une fonction d’activation (fonction dérivable) des cellules de la couche

de sortie qui définit son état interne en fonction de son entrée totale. La forme

de cette fonction dépend de la nature des sorties désirées. Si les sorties désirées

Page 34: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

19

sont binaires [-1, +1] ou sont continues mais comprises, de façon générale, dans

un intervalle [-a , a], on peut utiliser une fonction tangente hyperbolique

sigmoïde. Si les sorties désirées sont continues mais comprises dans l’intervalle

[0 , 1], on peut utiliser une fonction sigmoïde. Ces fonctions seront définies

dans la suite.

Nous adoptons les notations suivantes:

h indique la couche cachée,

o indique la couche de sortie,

i = 1,..., N : indice des variables d’entrée ou des cellules de la couche

d’entrée car à chaque variable correspond une cellule. N étant le

nombre de cellules dans la couche d’entrée,

j = 1,..., L : indice des cellules cachées. L étant le nombre de cellules dans la

couche cachée,

k = 1,..., M : indice des cellules de sortie. M étant le nombre de cellules dans

la couche de sortie,

p = 1,..., P : indice des observations. P étant la taille échantillonnale. Dans la

litérature neuronnale, les observations sont aussi appelées les

exemples,

z p i : iième variable d’entrée de la pième observation,

Dpk

: kième sortie désirée (variable dépendante) de la pième observation,

W ji

h : poids de connexion entre la iième cellule de la couche d’entrée et

la jième cellule de la couche cachée,

θ j

h : terme constant au niveau de la jième cellule de la couche cachée .

Wkj

o : poids de connexion entre la jième cellule de la couche cachée et

la kième cellule de la couche de sortie,

θ k

o : terme constant au niveau de la kième cellule de la couche de

sortie.

Page 35: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

20

Les termes constants θ j

h et θ k

o peuvent être nuls. Dans ce cas, au lieu

d’utiliser une fonction linéaire affine pour modéliser les fonctions d’entrées

totales, on utilise plutôt une fonction linéaire (sans terme constant).

Suivant les étapes de la propagation du signal, définies au début de cette

section, on calcule d’abord l’entrée totale au niveau de chaque cellule j de la

couche cachée par sommation sur les cellules i de la couche d’entrée, en

utilisant une fonction affine, et nous notons l’entrée totale par netpj

h . Ce calcul

est fait pour chaque observation p. On a donc:

n et W zp j

h

ji

h

p i

i

N

j

h= +=

∑1

θ . (1.3)

Ensuite, on calcule l’état interne de chaque cellule j de la couche cachée, en

fonction de son entrée totale (équation 1.3) en utilisant une fonction d’activation

f dérivable, et nous notons cet état interne par Ipj

. On a donc

( )I f n e tp j p j

h= . (1.4)

De même, pour chaque cellule k de la couche de sortie, on calcule d’abord

l’entrée totale par sommation sur les cellules j de la couche cachée, en utilisant

une fonction affine, et nous notons l’entrée totale par netpk

o . On a donc

n e t W Ip k

o

jk

o

p j k

o

j

L

= +=

∑ θ1

. (1.5)

Ensuite, on calcule l’état interne de chaque cellule k de la couche de sortie, en

fonction de son entrée totale (équation 1.5) en utilisant une fonction d’activation

g dérivable, et nous notons cet état interne par Opk . On a donc

( )O g n e tp k p k

o= . (1.6)

Le choix de f et g dépend de l’expérimentateur et il n’est pas exclu que

les fonctions f et g soient égales.

Page 36: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

21

Au lieu de Opk , on pourrait écrire ( )O z W Wpk pi ji

h

kj

o h

L

h o

M

o, , , , , , , ,θ θ θ θ1 1L L

avec p = 1, ..., P, i = 1, ..., N, j = 1, ..., L et k = 1, ..., M, car, suivant les

équations 1.3 à 1.5, Opk dépend des valeurs de z W Wpi ji

h

kj

o

j

h, , ,θ et θ k

o. Les

sorties Opk sont les estimateurs des sorties désirées D

pk. Les poids W Wji

h

kj

o

j

h, ,θ

et θ k

o sont aussi appelés les paramètres libres du réseau.

Généralement, les sorties Opk sont les sorties finales obtenues par le

réseau, mais dans certaines études où l’expérimentateur veut comme sorties

finales un vecteur de probabilité, les sorties Opk sont alors transformées en

vecteur de probabilité par la fonction log-linéaire qui fera l’objet d’analyse dans

le chapitre 2.

Contrairement à la méthode de régression où le modèle est généralement

une seule équation mathématique, le modèle d’un RNA est constitué des quatre

équations (1.3 à 1.6) qui forme aussi les étapes de la propagation du signal.

Après avoir obtenu les sorties Opk du réseau pour chaque cellule de la

couche de sortie, on les compare respectivement, aux sorties désirées Dpk

correspondantes en calculant le coût quadratique CQ , et qui est de la forme

( )C Q D Op k p k

k

M

p

P

= −==

∑∑12

2

11

. (1.7)

Le coût quadratique CQ est bien une fonction des z W Wpi ji

h

kj

o

j

h, , ,θ et

θ k

ocar il est fonction des sorties O

pk . Notons que la fonction coût la plus

utilisée est le coût quadratique. Mais pour notre étude, à partir du chapitre 2,

nous utiliserons le coût donné par la valeur négative du logarithme de la

fonction du maximum de vraisemblance (Ciampi et Lechevallier (1995), Ripley

(1994a), Ripley (1994b)).

Page 37: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

22

L’apprentissage consiste à minimiser en ses paramètres libres le coût

quadratique CQ, sur l’ensemble des exemples d’apprentissage. Ceci peut se

faire par une descente de gradient sur le coût CQ. Le gradient est défini comme

étant la dérivée de CQ par rapport aux poids ( , , , )W Wji

h

kj

o

j

h

k

oθ θ . Il est

évidemment impossible d’effectuer la descente de gradient dans un réseau

multi-couches où les fonctions d’activation sont des fonctions binaires, car les

fonctions binaires étant non dérivables, la dérivée du coût par rapport aux poids

( , , , )W Wji

h

kj

o

j

h

k

oθ θ n’existe pas. L’utilisation de neurones à fonctions d’activation

dérivables est donc cruciale pour résoudre ce problème.

Par analogie à la règle de Hebb concernant la modification des poids des

connexions (équation 1.2), le gradient qui résulte de CQ est propagé sur chaque

couche, mais, cette fois, de la couche de sortie vers la couche d’entrée. Par

conséquent, nous devons calculer l’activation entre un neurone k de la couche

de sortie et un neurone j de la couche cachée. Cette activation n’est autre que

CQ

Wkj

o . Étant donné qu’il n’y a pas de relation mathématique directe entre CQ

et Wkj

o , nous obtenons ∂

CQ

Wkj

o par la règle des dérivées successives, qui est

CQ

W

CQ

O

O

net

net

Wkj

o

pk

pk

pk

o

pk

o

kjp

P

==

∑ 01

, (1.8)

avec

( )∂

CQ

OD O

pk

pk pk= − − ,

= −O Dpk pk

(1.9)

et

( )

( )∂

O

net

g net

netg net

pk

pk

o

pk

o

pk

o pk

o= = ′ , (1.10)

car nous n’avons pas défini une forme explicite de la fonction d’activation g.

Page 38: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

23

On a ∂

net

WI

pk

o

kj

o pj= (1.11)

et

∂θ

net pk

o

k

o= 1 , (1.12)

car n e t W Ip k

o

k j

o

p j k

o

j

L

= +=

∑ θ1

.

Ainsi, l’activation entre un neurone k de la couche de sortie et un neurone j de la

couche cachée (équation du gradient de la surface d’erreur) est

( ) ( )∂

CQ

WO D g net I

kj

o pk pk pk

o

pj

p

P

= − ′=

∑1

(1.13)

et

( ) ( )∂

∂θ

CQO D g net

k

o pk pk pk

o

p

P

= − ′=

∑1

. (1.14)

De même, nous allons calculer l’activation entre un neurone j de la couche

cachée et un neurone i de la couche d’entrée. Cette activation n’est autre que

CQ

W ji

h . Nous obtenons aussi ∂

CQ

W ji

h par la règle de dérivées successives, ce qui

nous donne

CQ

W

CQ

O

O

net

net

I

I

net

net

Wji

h

pk

pk

pk

o

pk

o

pj

pj

pi

h

pi

h

ji

hp

P

==

∑1

, (1.15)

avec

( )

( )∂

I

net

f net

netf net

pj

pi

h

pi

h

pi

h pi

h= = ′ , (1.16)

car nous n’avons pas défini une forme explicite de la fonction d’activation f.

On a ∂

net

IW

pk

o

pj

kj

o= , (1.17)

car n e t W Ip k

o

k j

o

p j k

o

j

L

= +=

∑ θ1

.

Aussi, on a

net

Wz

pj

h

ji

h pi= (1.18)

Page 39: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

24

et

∂θ

net pj

h

j

h= 1 , (1.19)

car n e t W zp j

h

j i

h

p i

i

N

j

h= +=

∑1

θ .

Ainsi, l’activation entre un neurone j de la couche cachée et un neurone i de la

couche d’entrée (équation du gradient de la surface d’erreur) est

( ) ( ) ( )∂

CQ

Wf net z O D g net W

ji

h pj

h

p

P

pi pk pk pk

o

kj

o

k

M

= ′ − ′= =

∑ ∑1 1

(1.20)

et

( ) ( ) ( )∂

∂θ

CQf net O D g net W

j

h pj

h

p

P

pk pk pk

o

kj

o

k

M

= ′ − ′= =

∑ ∑1 1

. (1.21)

Compte tenu de la structure itérative de l’algorithme, toutes les quantités

W Wji

h

kj

o

j

h

k

o, , ,θ θ , netpj

h , Ipj

, netpk

o , Opk et CQ , sont aussi fonction de l’instant t.

Donc, pour certains besoins, au lieu de CQ, on notera plutôt CQ( t ).

Selon la règle de Hebb concernant la modification des poids qui est

donnée par W t t W t A Aji ji j i( ) ( )+ = +∂ η (équation 1.2), si t dénote l’instant ou la

période d’apprentissage, on obtient à l’instant t+1 les modifications de poids

suivantes:

( ) ( )( )

W t W tC Q (t

W tkj

o

kj

o

kj

o+ = +1 η

), (1.22)

( ) ( )( )

θ θ η∂

∂θk

o

k

o

k

ot t

C Q (t

t+ = +1

), (1.23)

( ) ( )( )

W t W tC Q (t

W tji

h

ji

h

ji

h+ = +1 η

) , (1.24)

( ) ( )( )

θ θ η∂

∂θj

h

j

h

j

ht t

C Q (t

t+ = +1

), (1.25)

avec η (η > 0) que nous avons défini comme étant un paramètre d’intensité de

l’apprentissage qui permet de renforcer ou non la connexion qui relie les

neurones. On l’appelle aussi le facteur d’apprentissage ou le pas du gradient.

Page 40: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

25

Si les gradients (dérivées) ( )

CQ(t

W tji

h

) , ( )

CQ(t

W tkj

o

),

( )

∂θ

CQ (t

tj

h

) et ( )

∂θ

CQ(t

tk

o

) sont

strictement inférieurs à zéro, c’est-à-dire la pente de la courbe de CQ en

fonction de chaque poids ( )W tji

h , ( )W tkj

o , ( )θ j

ht et ( )θk

ot est négative, réduire

CQ t( ) équivaut à augmenter ( )W tji

h , ( )W tkj

o , ( )θ j

ht et ( )θk

ot , alors que s’ils sont

strictement supérieurs à zéro, réduire CQ t( ) équivaut à diminuer ( )W tji

h , ( )W tkj

o ,

( )θ j

ht et ( )θk

ot .

Remarquons que si ( )

CQ(t

W tji

h

) , ( )

CQ(t

W tkj

o

),

( )

∂θ

CQ (t

tj

h

) et ( )

∂θ

CQ(t

tk

o

) sont nuls, il

n’y a pas de modifications des poids des connexions (équations 1.22 à 1.25) car

ces derniers restent constants d’une période d’apprentissage à l’autre, c’est-à-

dire ( )W t W tji

h

ji

h+ =1 ( ), ( )W t W tkj

o

kj

o+ =1 ( ) , ( )θ θj

h

j

ht t+ =1 ( ) et ( )θ θk

o

k

ot t+ =1 ( ) .

Ainsi, le réseau n’apprend pas car la modification des poids des connexions

définit le principe même de l’apprentissage.

Ce processus est donc répété à chaque itération t. Si pour tous les

exemples, le coût est inférieur à un seuil choisi, on dit alors que le réseau a

convergé. Mais selon ce critère, l’apprentissage peut être long avant de

converger. C’est pourquoi on emploie aussi d’autres critères d’arrêt de

l’apprentissage tels que:

- le nombre maximum de périodes d’apprentissage (nombre de pas de

l’algorithme);

- la variation absolue du coût entre les périodes t et t+1. Cette variation

absolue, selon Haykin (1994), doit être petite, typiquement entre 0,1% et 1%. La

valeur la plus utilisée est 0,1%;

- le critère hybride de Kramer et Sangiovanni-Vincentelli (1989). Celui-

ci porte sur la norme du vecteur gradient qui doit être inférieure à un gradient

seuil ε suffisamment petit;

Page 41: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

26

-le critère utilisant la généralisation (Haykin, 1994). Après chaque

période d’apprentissage, le réseau est testé pour sa performance à généraliser,

un peu à la façon de la validation croisée c’est-à-dire, on teste le réseau sur de

nouvelles observations ne faisant pas partie de l’ensemble d’apprentissage. Le

processus d’apprentissage est stoppé lorsque la performance à généraliser est

adéquate selon l’expérimentateur. Cette performance à généraliser se mesure en

calculant l’erreur entre la réponse désirée et la réponse obtenue en utilisant de

nouvelles observations. Dans le cas de la classification, la performance à

généraliser se mesure en déterminant l’erreur de classification qui est le fait de

se tromper sur la classe exacte d’une observation.

Dans une situation pratique, le critère d’arrêt de l’apprentissage est choisi

par rapport à l’objectif et aux analyses subséquentes envisagées.

1.3 Les facteurs d’apprentissage et de lissage Étant donné les équations 1.22 à 1.25, nous pouvons dire que la

procédure d’apprentissage requiert une modification des poids des connexions

( )W tji

h +1 , ( )W tkj

o +1 , ( )θ j

ht +1 et ( )θk

ot +1 à l’instant t+1, proportionnellement à

( )

CQ(t

W tji

h

) , ( )

CQ(t

W tkj

o

),

( )

∂ θ

C Q ( t

tj

h

) et ( )

∂θ

CQ(t

tk

o

) respectivement. La constante de

proportionnalité est le facteur d’apprentissage η qui est aussi défini comme

étant le paramètre d’intensité de l’apprentissage ou le pas du gradient. Si nous

adoptons une rigueur proche de celle des réseaux de neurones biologiques, et

sachant que η permet de renforcer ou non la connexion qui relie deux neurones,

nous pouvons dire que, en fonction de l’instant t, η augmente si la connexion est

prépondérante et diminue sinon. Par conséquent, η n’est pas identique pour

toutes les connexions et elle est fonction du niveau d’activation, à un instant t,

Page 42: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

27

entre deux neurones interconnectés. Ainsi une des difficultés de l’apprentissage

neuronal avec descente de gradient est de trouver, à chaque instant t, le facteur

d’apprentissage optimal qui permettra une meilleure convergence. Ce problème

est le plus souvent résolu par l’implantation d’algorithmes tels que la méthode

Levenberg-Marquardt qui utilise le jacobien ou la méthode de Newton qui

utilise la matrice hessienne. Pour plus de détails, nous invitons le lecteur à lire

Haykin (1994).

En pratique, une autre solution pour résoudre ce problème, est de choisir

un seul facteur d’apprentissage mais assez grand de façon à obtenir une courbe

de convergence moins lisse, offrant beaucoup de points anguleux (figure 1.5

courbe b). Une courbe de convergence moins lisse crée le plus souvent des

zones de minima locaux. Aussi, on conseille d’introduire dans les équations de

modification des poids des connexions (données en début de cette section) un

facteur de lissage noté α qui a pour rôle de rendre plus lisse la courbe de

convergence et ce facteur de lissage tient compte de la variation des poids entre

les instants t-1 et t. Ainsi, on a les nouvelles équations suivantes:

( ) ( ) ( )( )

( )( )W t W tC Q (t

W tW tkj

o

kj

o

kj

o kj

o+ = + − +1 1η α∂

∂α

)∆ , (1.26)

( ) ( ) ( )( )

( )( )θ θ η α∂

∂θα θk

o

k

o

k

o k

ot t

C Q (t

tt+ = + − +1 1

)∆ , (1.27)

( ) ( ) ( )( )

( )( )W t W tC Q (t

W tW tji

h

ji

h

ji

h ji

h+ = + − +1 1η α∂

∂α

)∆ , (1.28)

( ) ( ) ( )( )

( )( )θ θ η α∂

∂θα θj

h

j

h

j

h j

ht t

C Q (t

tt+ = + − +1 1

)∆ , (1.29)

avec les variations des poids entre les instants t-1 et t données par: ( )( ) ( ) ( )∆ W t W t W tk j

o

k j

o

k j

o= − − 1 , (1.30)

( )( ) ( ) ( )∆ θ θ θk

o

k

o

k

ot t t= − − 1 , (1.31)

( )( ) ( ) ( )∆ W t W t W tji

h

ji

h

ji

h= − − 1 , (1.32)

( )( ) ( ) ( )∆ θ θ θj

h

j

h

j

ht t t= − − 1 . (1.33)

Page 43: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

28

La figure 1.5 illustre un cas simple de courbes de convergence avec deux

poids de connexions W1 et W2. C’est une figure en trois dimensions (CQ, W1 et

W2), dont CQ est fonction de W1 et W2. Une courbe de convergence est une

courbe de CQ( t ) en fonction de chaque poids ( )W tji

h , ( )W tkj

o , ( )θ j

ht et ( )θk

ot

obtenu aux instants 0, 1, 2,..., t, t+1,..., c’est-à-dire qu’à chaque instant t on

calcule le coût et les poids. Nous pouvons remarquer que les trois courbes de

convergence a), b) et c) convergent vers le même point ( )CQ W W∗ ∗ ∗, ,1 2 , mais

l’allure des courbes diffère.

CQ W2

( )CQ W W∗ ∗ ∗, ,1 2

b a

c

W1

Figure 1.5. Descente de gradient dans l’espace des poids: a) pour un petit facteur

d’apprentissage η; b) pour un facteur d’apprentissage η élevé, et c)

avec un facteur d’apprentissage η élevé et un facteur de lissage α.

Sachant que chaque longueur de flèche représente un pas de descente de

gradient à un instant t, la courbe a) tend vers le point de convergence à petits

pas, les courbes b) et c) tendent aussi vers le point de convergence mais à

grands pas et à une allure moins lisse au niveau de la courbe b).

Page 44: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

29

1.4 Les fonctions d’activation usuelles et leur dérivée

Dans l’apprentissage d’un RNA multi-couches avec rétropropagation du

gradient, les fonctions d’activation les plus utilisées sont:

- la fonction linéaire ( )f X aX b= + (1.34)

qui est définie sur l’ensemble des réels et dont la fonction dérivée est

f X

Xa

( )= . (1.35)

- la fonction sigmoïde ( )( )

f XX

=+ −

1

1 exp (1.36)

qui est définie sur l’ensemble [ 0, 1] et dont la fonction dérivée est

( ) ( )( )∂

f X

Xf X f X

( )= −1 . (1.37)

- la fonction tangente hyperbolique sigmoïde, la plus populaire des

fonctions d’activation asymétriques (Haykin, 1994) est donnée par

( ) ( )[ ]f X a bX= tanh . (1.38)

Elle est définie sur l’ensemble [-a, a] où a et b sont des constantes réelles.

Notons que la fonction tangente hyperbolique sigmoïde n’est autre que la

fonction logistique avec changement de position et d’échelle puisque

( )[ ]( )( )

a bX abX

bXtanh

exp

exp=

− −

+ −

1

1

( )

=+ −

−2

1

a

bXa

exp. (1.39)

Sa fonction dérivée est

( )( )∂

f X

Xab f X

( )( )= −1

2 . (1.40)

Page 45: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

30

1.5 Initialisation des poids des connexions

La première étape de l’apprentissage avec rétropropagation du gradient

est, bien sûr, l’initialisation du réseau. Un bon choix des valeurs initiales des

poids des connexions Wji

h , Wkj

o , θ j

h et θk

o des neurones peut être une aide

formidable pour la convergence de l’apprentissage. Dans le cas où une

information a priori est connue, il serait mieux de l’utiliser pour choisir les

poids initiaux. Mais comment initialiser les poids si aucune information a priori

n’est connue ?

Il existe certaines approches (Bengio, 1995) donnant des façons

d’initialiser les poids. En pratique, les poids sont initialisés aléatoirement selon

une distribution uniforme. Cependant, cette approche mène parfois à un

problème appelé problème de saturation du réseau. Ce problème est illustré à la

figure 1.6, pour le cas d’une fonction d’activation tangente hyperbolique

sigmoïde et d’une fonction d’activation sigmoïde. La saturation du réseau est la

situation où le gradient reste presque nul après chaque période de temps durant

le processus d’apprentissage, c’est-à-dire selon les équations vues

précédemment et données par ( ) ( )∂

CQ

WO D g net I

kj

o pk pk pk

o

pj

p

P

= − ′=

∑1

(équation 1.13)

et ( ) ( ) ( )∂

CQ

Wf net z O D g net W

ji

h pj

h

p

P

pi pk pk pk

o

kj

o

k

M

= ′ − ′= =

∑ ∑1 1

(équation 1.20), si les dérivées

′f netpj

h( ) et ′g netpk

o( ) par rapport aux entrées totales netpj

h et netpk

o , sont près de

zéro, alors les gradients ∂

CQ

Wkj

o et

CQ

Wji

h sont presque nuls. Donc il n’y a pas de

modifications des poids des connexions (équations 1.22 à 1.25). Notons qu’au

niveau de la forme des courbes de la figure 1.6, les zones appelées zones de

saturation sont linéaires mais correspondent aussi à des endroits où ′f netpj

h( ) et

Page 46: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

31

′g netpk

o( ) sont nulles. Ce qui les différencie des zones appelées zones de quasi-

linéarité car dans les zones de quasi-linéarité les dérivées ′f netpj

h( ) et ′g netpk

o( )

sont proches de 1.

a) Tangente hyperbolique sigmoïde (f ou g) b) Sigmoïde (f ou g)

saturation linéaire saturation

+a +1

0 net 0 net

-a

saturation linéaire saturation

points de courbure maximale

Figure 1.6. Zone de quasi-linéarité et de saturation de

a) la Tangente hyperbolique sigmoïde et de b) la Sigmoïde.

La cause première de la saturation est due au fait que les entrées totales

netpj

h et netpk

o sont trop grandes en valeur absolue si les poids des connexions

sont aussi trop grands en valeur absolue. Or, sachant que les entrées totales netpj

h

et netpk

o sont fonctions des poids des connexions Wji

h , Wkj

o , θ j

h et θk

o (voir les

équations 1.3 et 1.5), il est alors préférable de réinitialiser les poids, en espérant

qu’il n’y ait plus de problème de saturation. Pour cela, on choisi des bornes [a,

b] de la distribution uniforme, avec 0 < a < b < 1 telle que a soit de plus en plus

grand et b de plus en plus petit. Une autre méthode est de modifier certains

Page 47: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

32

paramètres d’apprentissage comme par exemple le facteur de lissage ou le pas

du gradient.

Ceci complète les généralités que nous voulions introduire sur les

réseaux de neurones artificiels multi-couches. Nous nous tournons maintenant,

et pour le reste de ce mémoire, vers une approche plus statistique ayant, en

particulier, des applications sur des données catégorielles.

Page 48: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

33

CHAPITRE 2

Aspects statistiques: application aux données catégorielles

(classification)

2.1 Introduction

La plupart des récentes utilisations des réseaux de neurones artificiels

sont dévéloppées pour le contexte de la classification. Ainsi, en statistique, les

réseaux de neurones artificiels sont utilisés en tant que classificateurs (analyse

discriminante), détecteurs de classe (classification automatique), estimateurs

non paramétriques de régression non linéaire et aussi comme estimateurs de

fonctions de densité. Il est souvent aisé d’associer à un modèle statistique un

réseau de neurones. L’intérêt de cette démarche est double: d’une part, le réseau

peut offrir une solution au problème d’optimisation sous-jacent à l’estimation

des paramètres du modèle correspondant en utilisant, par exemple, l’algorithme

de rétropropagation; d’autre part, le modèle ainsi reformulé est susceptible

d’engendrer des généralisations, c’est-à-dire pouvoir prédire les classes

auxquelles appartiennent de nouvelles observations n’ayant pas été utilisées lors

de la phase d’apprentissage.

Malgré leur flexibilité et leur universalité, les réseaux de neurones

artificiels ne peuvent se soustraire aux limites intrinsèques de toute modélisation

statistique et plus particulièrement à celles de l’estimation non paramétrique,

notamment au dilemme “biais-variance” voulant qu’on ne peut pas diminuer le

biais d’un estimateur sans augmenter sa variance, et vice-versa. Dans le

contexte neuronal, on peut toujours augmenter la qualité de l’approximation en

Page 49: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

34

augmentant le nombre de neurones et de connexions, ce qui entraîne la

diminution du biais. Cependant, le gain ainsi obtenu est malheureusement

compensé par une augmentation de la variance, c’est-à-dire une diminution du

pouvoir de généralisation.

2.2 Les données

Soit D = [Z|Y] une matrice de données dont les lignes représentent les

individus, les observations ou exemples et les colonnes représentent les mesures

prises par ces individus sur les variables (z,y). Ici, y est un vecteur de variables

binaires dont les composantes ypk , k = 1, ..., M et p = 1, ..., P, sont les variables

indicatrices de M classes:

ypour un individu p de la k classe

dans les autres caspk

ieme

=

1

0

,

.

Notons qu’il y a autant de classes M que de neurones dans la couche de

sortie du réseau. Par ailleurs, zp est un vecteur de variables quelconques,

qualitatives ou quantitatives pris par l’individu p. Nous supposerons, sans perte

de généralité, que les variables qualitatives sont binaires car on peut remplacer

une variable qualitative à V valeurs par V-1 variables binaires. On veut

construire, à partir de la matrice de données D, un prédicteur de la distribution

de probabilité sur les M classes sachant les données d’entrées z et les poids des

connexions Wji

h , Wkj

o , θ j

h et θk

o avec i = 1, ..., N et j = 1, ..., L. N étant le

nombre de neurones dans la couche d’entrée ou le nombre de variables d’entrée

et L le nombre de neurones dans la couche cachée. Cette distribution de

probabilité est une loi multinomiale d’ordre M dont le paramètre est représenté

Page 50: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

35

par le vecteur de probabilité a posteriori dont la kième composante correspondant

à la classe cpk pour le pième individu est donnée par

Prpk = Pr[cpk | zp, Wji

h , Wkj

o , θ j

h, θk

o ].

Notons, pour chaque individu p, ( )Pr Pr , , Pr , , Prp p pk pM

=′

1 L L , le vecteur de

probabilité dont la kième composante est Prpk. Afin de simplifier les écritures,

nous adoptons, dans la suite, la notation Prpk au lieu de

Pr[cpk | zp, Wji

h , Wkj

o , θ j

h, θk

o ].

Dans notre formulation, on vise la construction d’un prédicteur de classe.

Un prédicteur de classe peut être aisément construit une fois que la fonction

d’erreur de classement est spécifiée et que l’on se donne comme objectif de

minimiser le risque de mauvaise classification. Par exemple la fonction d’erreur

de classement peut être spécifiée en utilisant la règle de décision de Bayes que

nous verrons dans une section ultérieure. Une solution classique à la

construction d’un prédicteur de classe, est obtenue par les modèles de régression

logistique. Ici, nous allons construire un prédicteur de classe en utilisant les

réseaux de neurones artificiels.

2.3 Fonction log-linéaire

Comme nous l’avions vu au chapitre 1, la propagation avant dans un

réseau de neurones artificiels permet de calculer les valeurs de sorties du réseau

Op1 , ..., Opk qui sont fonctions des vecteurs d’entrée zp et des poids des

connexions Wji

h , Wkj

o , θ j

h et θk

o . Pour les valeurs de sorties du réseau, nous

voulons que ces valeurs soient interprétables en terme de probabilités

Page 51: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

36

d’appartenance aux classes a priori. Ces probabilités doivent vérifier les

contraintes suivantes:

(1) ∀k = 1, ... , M et ∀p = 1, .., P, 0 ≤ Prpk ≤ 1 (2.1)

et

(2) Prpk

k

M

==

∑ 11

pour tout individu p. (2.2)

On définit les probabilités a posteriori en utilisant la fonction log-linéaire, ce

qui nous donne

Prexp( )

exp( )pk

pk

pk

k

M

O

O

=

=

∑1

, (2.3)

avec Opk la valeur de sortie de la kième cellule de la couche de sortie pour le pième

individu.

Il est évident que l’équation 2.3 vérifie bien les contraintes (2.1) et (2.2)

car

0 1

1

≤ ≤

=

exp( )

exp( )

O

O

pk

pk

k

M (contrainte 2.1)

et pour tout individu p, on a la contrainte 2.2 vérifiée par

exp( )

exp( )

exp( )

exp( )

exp( )

exp( )

O

O

O

O

O

O

p

pk

k

M

pk

pk

k

M

pM

pk

k

M

1

1 1 1

1

= = =

∑ ∑ ∑+ + + + =L L .

2.4 Fonction coût: valeur négative du logarithme de la

fonction du maximum de vraisemblance

La fonction coût que nous utilisons n’est plus le coût quadratique mais

plutôt la valeur négative du logarithme de la fonction du maximum de

Page 52: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

37

vraisemblance. Le vecteur de probabilité Prp , pour un individu p, correspondant

à une distribution multinomiale d’ordre M, on peut écrire en fonction de

variables indicatrices, la fonction logarithme du maximum de vraisemblance

comme étant

log log PrL ypk pk

k

M

p

P

===

∑∑11

, (2.4)

où ypour un individu p de la k classe

dans les autres caspk

ieme

=

1

0

,

.

et Prpk = Pr[cpk | zp, Wji

h , Wkj

o , θ j

h, θk

o ].

Or Prexp( )

exp( )pk

pk

pk

k

M

O

O

=

=

∑1

,

ainsi on a

log logexp( )

exp( )

L yO

Opk

pm

pm

m

M

k

M

p

P

=

=

== ∑∑∑

1

11

, (2.5)

= y O Opk pk pm

m

M

k

M

p

P

===

∑∑∑ log exp( )111

. (2.6)

Estimer les probabilités a posteriori Prpk revient à maximiser log L , ou à

minimiser l L= − log . La quantité l qui sera notre fonction coût est appelée la

valeur négative du logarithme de la fonction du maximum de vraisemblance, et

est donnée par

l y O Opk pk pm

m

M

k

M

p

P

= − −

===

∑∑∑ log exp( )111

. (2.8)

Page 53: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

38

2.5 Descente de gradient

Comme dans la section 1.2.2, les étapes de la descente de gradient ainsi

que le calcul de netpj

h , Ipj , netpk

o et Opk sont identiques. Mais la différence se

situe au niveau de la fonction coût utilisée. Ainsi, au lieu de la fonction coût

quadratique CQ, nous utilisons la fonction coût notée l, et donc les gradients

( )

CQ

W tji

h,

( )

CQ

W tkj

o,

( )

∂θ

CQ

tj

h et

( )

∂θ

CQ

tk

o sont respectivement remplacés par les

gradients ( )

l

W tji

h,

( )

l

W tkj

o,

( )

∂θ

l

tj

h et

( )

∂θ

l

tk

o donnés par

l

W

l

O

O

net

net

Wkj

o

pk

pk

pk

o

pk

o

kj

op

P

==

∑1

(2.8)

et

l

W

l

O

O

net

net

I

I

net

net

Wji

h

pk

pk

pk

o

pk

o

pj

pj

pj

h

pj

h

ji

hp

P

==

∑1

. (2.9)

À part la dérivée ∂

l

Opk

, toutes les autres dérivées ont été évaluées dans la

section 1.2.2. La dérivée∂

l

Opk

a été obtenue par Ripley (1993b). Sachant que

l y O Opk pk pm

m

M

k

M

p

P

= − −

===

∑∑∑ log exp( )111

, on a

l

Oy y

pk

pk pm

m

M

pk= − −

=

∑1

Pr , (2.10)

= y ypm

m

M

pk pk

=

1

Pr . (2.11)

Or, on a kième valeur

ypk

k

M

M termes M classes=

∑ = + + + + + + =1

0 0 1 0 0 1L L1 2444 3444( )

pour tout individu p, (2.12)

Page 54: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

39

car ypour un individu p de la k classe

dans les autres caspk

ieme

=

1

0

,

.

D’où on tire que

l

Oy

pk

pk pk= −Pr . (2.13)

Ainsi, les probabilités a posteriori Prpk obtenues pendant la phase

d’apprentissage estime les probabilités exactes d’appartenir aux classes sachant

les observations z. Les probabilités exactes sont évidemment inconnues. Mais la

minimisation de la fonction coût l passe par la résolution de ∂

l

Oy

pk

pk pk= −Pr

car si l’individu zp appartient à la classe cpk, c’est-à-dire ypk

= 1, alors la

probabilité exacte d’appartenir à la classe cpk est plus proche de 1, et est

supérieure aux probabilités exactes d’appartenir aux M - 1 autres classes. Par

conséquent, si Prpk

estime la probabilité exacte d’appartenir à la classe cpk, alors

l

Oy

pk

pk pk= −Pr est satisfaite au niveau de chaque neurone k de la couche de

sortie, pour chaque individu zp.

2.6 Les erreurs d’apprentissage, de test et de généralisation

Dans cette section, nous étudions différents types d’erreurs de

classification qui sont, entre autres, importants pour l’étude de la validation

croisée. L’erreur de classification est définie comme étant le fait d’attribuer à

une observation zp, une classe différente de sa vraie classe.

Supposons que nous disposons d’un échantillon S d’observations de

taille P. On peut partitionner l’échantillon en deux sous-ensembles

d’observations disjoints. Un premier sous-ensemble servant pendant la phase

Page 55: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

40

d’apprentissage et un deuxième servant pendant la phase de test, c’est-à-dire

pour tester la performance du modèle obtenu après la phase d’apprentissage.

Notons que les paramètres de ce modèle sont les poids des connexions obtenus

au point de convergence.

Si l’erreur de classification est déterminée sur le sous-ensemble servant

pendant la phase d’apprentissage, on parle d’erreur d’apprentissage. Par contre,

si l’erreur de classification est déterminée sur le sous-ensemble servant pendant

la phase de test, on parle d’erreur de test.

Adoptons les notations suivantes:

Sappr : ensemble servant à la phase d’apprentissage ou ensemble d’apprentissage,

Stest : ensemble servant à la phase de test ou ensemble de test,

Pappr

: taille échantillonnale de l’ensemble Sappr ,

Ptest : taille échantillonnale de l’ensemble Stest ,

E appr : erreur d’apprentissage,

E test : erreur de test.

On a S S Sappr test

∪ = et S Sappr test

∩ = ∅ .

La détermination de l’erreur de test Etest

permet d’avoir une idée de la

performance du modèle pour prévoir de nouvelles observations ne faisant ni

partie de Sappr ni de Stest et dont on ne dispose pas encore. Cette qualité de

prédiction pour de nouvelles observations encore inconnues est mesurée par un

type d’erreur qui est appelée l’erreur de généralisation notée Egen

. Évidemment,

Egen

est inconnue car basée sur des observations dont on ne dispose pas. En

pratique, elle est estimée par l’erreur de test Etest

mais de façon intuitive, on peut

prédire que E Egen test

> car l’estimateur Etest

est basée sur un ensemble fini

d’observations alors que la prédiction de Egen

est basée sur un ensemble infini

d’observations.

Page 56: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

41

Étant donné que Etest

est utilisée pour estimer Egen

, on choisit

l’architecture neuronale qui performe le mieux sur l’ensemble Stest

, c’est-à-dire

ayant la plus petite erreur de test Etest

. Ce choix de l’architecture correspond à

un nombre de neurones dans la couche cachée fixé de façon empirique, on ne

peut pas se contenter des résultats obtenus avec une seule architecture. Il faut

donc faire plusieurs essais en faisant varier le nombre de neurones dans la

couche cachée pour effectuer au mieux ce choix.

2.6.1 Courbes de généralisation et d’apprentissage

Étudions maintenant, les comportements des erreurs d’apprentissage

Eappr

et de généralisation Egen

en analysant les courbes de généralisation et

d’apprentissage, c’est-à-dire les représentations graphiques de Eappr

et Egen

en

fontion de la variation de certains paramètres tels la capacité du réseau (que

nous définirons) et le nombre d’observations dans l’ensemble Pappr

.

La capacité du réseau est définie comme étant le nombre maximal

d’exemples ou d’observations que le réseau peut toujours classer correctement,

c’est-à-dire le pouvoir de déterminer la classe à laquelle appartient chaque

observation. En effet, compte tenu de certaines difficultés d’apprentissage telles

que: les minima locaux, le temps d’apprentissage trop court ou les difficultés

numériques dues à l’implantation de l’algorithme, le réseau ne peut pas classer

correctement toutes les observations. On dit alors que le réseau ne peut pas

atteindre sa capacité effective. La capacité est aussi appelée la dimension de

Vapnik-Chervonenkis (Ripley, 1994a). Plus la capacité augmente, plus l’erreur

d’apprentissage Eappr diminue. Mais l’erreur de généralisation Egen diminue

avant de remonter lorsque la valeur h* de la capacité est atteinte. La figure 2.1

Page 57: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

42

illustre les courbes d’erreur d’apprentissage et de généralisation en fonction de

la capacité du réseau (gardant Pappr

fixé). La valeur h* est la capacité optimale,

c’est-à-dire la capacité qui permet une meilleure généralisation.

Erreur

Egen

Eappr

h* h = capacité

( Pappr

fixé)

capacité optimale Figure 2.1. Courbes de généralisation et d’apprentissage en fonction de la capacité du

réseau. En effet, quand on mesure les performances d’un réseau sur des

observations ne faisant pas partie de l’ensemble d’apprentissage Sappr

, un réseau

constitué de plusieurs neurones et connexions peut se montrer moins performant

qu’un réseau plus simple, car le réseau peut être devenu trop complexe. Ceci

entraîne une modélisation plus difficile. Donc, il est possible d’augmenter la

capacité d’un réseau en augmentant le nombre de neurones et de connexions

jusqu’à un certain seuil h* après lequel les choses se dégradent. Une autre

approche consiste à augmenter le temps d’apprentissage jusqu’à atteindre un

temps d’arrêt optimal, qui lui aussi est source de diminution de la capacité (voir

la figure 2.2).

Page 58: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

43

On constate sur les figures 2.1 et 2.2 que l’erreur d’apprentissage Eappr

décroît sensiblement en fonction de la capacité ou du temps d’apprentissage.

Mais une phase d’apprentissage où tous les exemples d’apprentissage sont

appris correctement ne performe pas mieux pour autant à la généralisation car le

plus souvent les surfaces de décision sont très complexes.

Erreur

Egen

Eappr

temps d’apprentissage

temps d’arrêt optimal de ou capacité effective l’apprentissage

Figure 2.2. Courbes de généralisation et d’apprentissage en fonction du temps

d’apprentissage.

Si nous nous trouvons dans un cas où le nombre d’exemples

d’apprentissage et la capacité sont infinis (voir la figure 2.3), alors l’erreur

d’apprentissage est nulle car la capacité est infinie, c’est-à-dire que pendant la

phase d’apprentissage, le réseau arrive à classer correctement tous les exemples.

L’erreur de généralisation diminue constamment en fonction de la capacité et,

de façon asymptotique, elle converge vers l’erreur de généralisation espérée E∞

qui est la plus petite erreur de généralisation possible lorsque le nombre

d’exemples d’apprentissage et la capacité tendent vers l’infini. Concrètement,

cela veut dire que tous les exemples pouvant exister dans la vie réelle étant

passés par l’étape de l’apprentissage, le réseau ne peut être confronté à un

Page 59: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

44

exemple qu’il n’a jamais vu. Ceci est tout à fait utopique et donc il est

impossible d’avoir une performance atteignant l’erreur de généralisation

espérée.

E∞ Egen asymptote : meilleure Egen possible quand P

appr → ∞ et h → ∞

E∞ h = capacité

Figure 2.3. Courbe de l’erreur de généralisation espéréé.

Si nous exprimons respectivement Eappr

et Egen

, en fonction du nombre

d’exemples Pappr

dans l’ensemble d’apprentissage, par les équations

E ac

Pappr

appr

≅ −β

et E ab

Pgen

appr

≅ +δ

, où a, b, c, β et δ sont des constantes, et, si

la capacité est fixé et que Pappr

augmente infiniment (voir la figure 2.4), alors

l’erreur d’apprentissage reste constante (égale à zéro) si Pappr

est inférieur ou

égal à la capacité fixée. Elle devient supérieure à zéro et augmente jusqu’à

atteindre le seuil E∞ = a à partir du moment où Pappr

est supérieur à la capacité

fixée. L’erreur de généralisation diminue jusqu’à atteindre ce même seuil E∞ .

Même si certains exemples ne sont pas classés correctement parce que la

capacité du réseau est dépassée, le réseau performe de mieux en mieux

lorsqu’on augmente Pappr

et asymptotiquement, l’erreur d’apprentissage est égale

à l’erreur de généralisation.

Page 60: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

45

Erreur

E ab

Pgen

appr

≅ +δ

asymptote E∞ = a Si P

appr → ∞ , alors

Eappr = Egen → E∞ = a.

E ac

Pappr

appr

≅ −β

h Pappr

= nb. exemples d’apprentissage

(la capacité fixée)

Si c b≈ et δ β≈ , alors EE Eappr gen

∞ ≈+

2.

Figure 2.4. Courbes de généralisation et d’apprentissage en fonction du nombre d’exemples.

Remarque 2.1: La façon idéale d’augmenter la qualité réelle de

l’approximation est d’augmenter la taille de la base de données. Mais

malheureusement l’obtention de nouvelles données s’avère souvent, dans la

pratique, coûteuse voire impossible.

Remarque 2.2: Un réseau de neurones à trois couches dont une couche cachée,

peut donner une approximation aussi bonne que possible d’une fonction

quelconque de plusieurs variables; la qualité de cette approximation augmente

en fonction du nombre de neurones utilisé.

Remarque 2.3: Les comportements des courbes d’apprentissage et de

généralisation que nous venons de voir sont identiques si on utilisait les

fonctions coût (CQ ou l) à la place des erreurs d’apprentissage de test et de

généralisation. Dans ce cas, on aura les coûts d’apprentissage, de test et de

généralisation.

Page 61: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

46

2.7 Mesure de l’erreur de classification

2.7.1 Classification ambiguë

Pour différentes raisons, les régions de l’espace d’entrée associées à

chaque classe peuvent se superposer, c’est-à-dire pour une entrée zp donnée,

plusieurs classifications sont possibles. Ces sources d’ambiguïté peuvent

provenir:

- d’informations manquantes (problème le plus fréquent), c’est-à-

dire une partie des entrées possibles ne peut être observée;

- du nombre d’exemples limité. Ainsi, on ne peut dans ce cas

permettre une surface de décision très complexe sinon on serait confronté à un

problème d’apprentissage ‘‘par coeur’’ qui est défini comme étant le fait de

classer correctement toutes les observations z. Ceci n’est pas souhaitable pour la

généralisation.

Il s’agit donc non seulement de déterminer les régions associées à chaque

classe ck mais aussi la probabilité a posteriori Prpk de chaque classe cpk étant

donné un exemple zp et les poids des connexions Wji

h , Wkj

o , θ j

h et θk

o .

Pour déterminer l’erreur de classification, nous allons nous servir de la

théorie de décision de Bayes .

2.7.2 Théorie de décision de Bayes

L’idée à la base de cette méthode est qu’au lieu de modéliser directement

la surface de décision, on cherche à évalue d’abord les distributions des formes

z et ensuite on prend la décision optimale en supposant ces distributions

correctes. Pour cela définissons les probabilités a priori et a posteriori.

Page 62: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

47

Probabilité a priori = Pr(forme quelconque z soit d’une certaine classe ck),

= Pr(ck),

avec la contrainte que Pr( )ck

k

M

=

∑ =1

1 , mais sans connaître cette forme. Si on

demandait de classer une forme inconnue z, on choisirait argmax Pr( )ck

k

, c’est-

à-dire, la classe ck pour laquelle la probabilité a priori Pr(ck) est maximum.

Nous définissons la probabilité a posteriori que la classe cpk, étant donné

l’observation zp et les poids des connexions Wji

h , Wkj

o , θ j

h et θk

o par

Prpk = Pr[cpk | zp, Wji

h , Wkj

o , θ j

h ,θk

o ]. Ainsi la décision optimale de Bayes sera

[ ]arg max Pr arg max Pr | ,pk

k kpk p ji

h

kj

o

j

h

k

oc z W W= , , , θ θ .

Ainsi, on choisirait la classe cpk qui maximise Prpk.

2.7.3 Justification de la décision de Bayes

Posons A = (zp, Wji

h , Wkj

o , θ j

h, θk

o ). La probabilité d’erreur de classification

est donnée par

Pr(erreur de classification | A) = 1 - Pr(classification correcte | A),

= 1 - Prpk.

Pour minimiser Pr(erreur de classification | A), on doit maximiser

Pr(classification correcte | A). Ainsi, le choix de cpk maximise donc la

probabilité Pr(classification correcte | A). L’erreur de classification est

minimisée quand on choisit Pr(erreur de classification | A) la plus petite

possible.

Page 63: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

48

Après avoir défini et étudié la fonction coût donnée par le négatif du

logarithme du maximum de vraisemblance ainsi que les différentes erreurs de

classification, nous présentons les méthodes statistiques pouvant nous permettre

de sélectionner le meilleur modèle de RNA car étant donné deux RNA multi-

couches quelconques ayant le même nombre de neurones en entrée et en sortie,

on parle de différence d’architecture si leur nombre de neurones au niveau de la

couche cachée est différent.

Page 64: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

49

CHAPITRE 3

Méthodes statistiques pour le choix du nombre de neurones

dans une couche cachée

3.1 Méthodes plus économiques en temps de calcul

Dans ce chapitre, nous montrons comment l’estimation de l’erreur de

classification, ou du coût, peut être appliquée au problème de sélection de la

meilleure architecture et qu’il en résulte des méthodes statistiques assez

économiques en temps de calcul. En particulier, on verra que la performance

d’un modèle neuronal est liée au nombre de connexions (paramètres libres)

qu’on a dans le réseau.

3.1.1 La méthode du coude

Nous avons vu, à la section 2.6, que lorsqu’on augmente le nombre de

connexions dans le réseau, la qualité de l’approximation augmente, ce qui

entraîne une diminution du coût obtenu à la phase d’apprentissage mais aussi

une diminution du pouvoir de généralisation. Ainsi, le problème consiste à

choisir de façon optimale le nombre de paramètres libres à partir des coûts

d’apprentissage obtenus pour chaque architecture.

Page 65: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

50

Pour cela, nous allons utiliser la variation relative du coût entre deux

architectures différentes (Segal (1988), Ciampi et al. (1995), Negassa (1996,

1997)):

( )( ) ( )( ) ( )

∆ ll l

l lappr

j

apprj

apprj

apprj

apprj

=−

+

1

1

, (3.1)

où j est le nombre de cellules dans la couche cachée (c’est la quantité

indéterminée dans une architecture à trois couches) et ( )lappr j est le coût de la

valeur négative du logarithme de la fonction du maximum de vraisemblance

obtenu à la phase d’apprentissage pour l’architecture ayant j cellules dans la

couche cachée.

La variation relative donnée à l’équation 3.1 mesure le rapport de la

différence de coût entre j-1 et j cellules avec la différence de coût entre j et j+1

cellules. Si ce rapport tombe sous un certain seuil lorsque j dépasse une certaine

valeur et que, par la suite, les différences consécutives de coûts deviennent très

petites (en valeur absolue), alors on peut conclure que le gain en qualité

d’approximation est négligeable par rapport à la complexité de l’architecture.

Ainsi la meilleure architecture sera celle qui aura la variation relative ( )∆ lappr j

maximale, correspondant au ‘‘pic’’ le plus élévé au niveau de la courbe de

( )∆ lapprj en fonction de j. On appelle cette méthode, la méthode du coude car au

début, lorsqu’on a peu de cellules dans la couche cachée, les variations du coût

sont importantes d’une valeur de j à l’autre. Mais plus on rajoute de cellules

dans la couche cachée, plus les variations du coût deviennent faibles d’une

valeur de j à l’autre.

Page 66: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

51

3.1.2 L’AIC et le BIC

Une approche possible, pour choisir la meilleure architecture, consiste à

pénaliser l’architecture la plus complexe. Pour cela on peut utiliser le critère

d’information d’Akaike (AIC) (Akaike, 1974) ou le critère d’information

bayésien (BIC) de Schwarz (1978) dont les formules sont:

AIC l Tappr= +2 2 , (3.2)

BIC l P Tappr appr= +2 log( ) , (3.3)

où T est le nombre de paramètres libres et Pappr la taille échantillonnale de

l’échantillon servant à la phase d’apprentissage.

Selon cette approche, la meilleure architecture est celle ayant le plus petit

AIC (ou BIC). Typiquement le BIC choisit un modèle plus parcimonieux que

celui choisi par l’AIC (Cheng et Titterington, 1994) puisque lorsque

log( )Pappr

> 2 , il pénalise plus fortement le nombre de paramètres.

Ces deux critères ont été utilisés dans la littérature neuronale, mais une

des difficultés pour les réseaux de neurones artificiels est de quantifier de façon

correcte la complexité, qui n’est pas simplement et seulement déterminée par le

nombre de paramètres libres (Amari, 1993).

3.2 Méthodes moins économiques en temps de calcul

3.2.1 La validation croisée

Une autre approche pour le choix de j consiste à utiliser la validation

croisée. C’est une idée assez vieille, et dont les travaux clés remontent à Stone

(1974, 1977) et Allen (1974). Dans un contexte de prédiction de classe où l’on a

Page 67: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

52

P couples ( )z yp p, d’observations, on veut trouver un modèle (une architecture,

dans le cas d’un RNA) qui permettra de prédire au mieux la classe cp pour de

futures observations zp. La méthodologie n’est pas différente de celle vue dans

la section 2.6. Ainsi, on sépare les P couples en deux sous-ensembles Sappr et

Stest de tailles respectives Pappr et Ptest , pas nécessairement égales. Avec le

premier sous-ensemble Sappr tout est permis (essai de différents modèles,

modification des poids de connexions initiaux, changement des facteurs

d’apprentissage et de lissage, ...) afin de construire une meilleure règle de

prédiction de classe pendant la phase d’apprentissage. La phase de test, aussi

appelée étape de validation, consiste à évaluer la qualité de la règle de

prédiction de classe obtenue à la première phase en calculant l’erreur de test sur

les observations du sous-ensemble Stest en utilisant le modèle et les poids de

connexions trouvés avec Sappr .

Il existe deux méthodes pour partitionner l’ensemble d’exemples lorsque

P est grand: la méthode de validation croisée sur deux groupes disjoints, du

terme anglais "split-sample cross-validation" et la méthode de validation croisée

sur v groupes disjoints (v > 2), du terme anglais "v-fold cross-validation".

Évidemment, l’ensemble de test Stest

doit être le plus représentatif possible de

nouvelles données.

3.2.1.1 Validation croisée sur deux groupes disjoints

Pour partitionner selon la méthode de validation croisée sur deux groupes

disjoints, on prend Stest

égal à un tiers (1/3) de l’ensemble des exemples choisis

aléatoirement dans cet ensemble des exemples. Avec ce choix, Sappr

sera donc

Page 68: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

53

égal aux deux tiers (2/3) de l’ensemble des exemples. On fait l’apprentissage

sur Sappr

jusqu’à obtenir un coût raisonnable (ou jusqu’au point de convergence)

ce qui nous donne lappr, le coût d’apprentissage. Cette phase d’apprentissage

nous permet d’estimer les paramètres libres (poids de connexions). Une fois ces

estimateurs obtenus, on détermine le coût de test ltest sur l’ensemble de test Stest

en utilisant les paramètres libres estimés. La propagation avant du réseau nous

permet de déterminer le coût ltest et les probabilités a posteriori Prpk pour

chaque classe k et chaque observation p (voir chapitre 2).

3.2.1.2 Validation croisée sur plus de deux groupes disjoints

Pour cette méthode, on a deux façons de choisir l’ensemble de test Stest

:

1- la façon ‘‘1-sur-P’’, du terme anglais “leave-one-out cross-

validation”. Pour ce cas, l’ensemble d’apprentissage Sappr

contient P-1 observations et l’ensemble de test Stest

contient

une seule observation qui va permettre de valider le modèle

après la phase d’apprentissage. Ainsi, tour à tour, chacune des

observations est retiré de l’ensemble des exemples. Stone(1974)

montre que l’AIC et le ‘‘1-sur-P’’ sont asymptotiquement

équivalents;

2- la façon ‘‘K-sur-P’’, du terme anglais “leave-K-out cross-

validation”. Dans ce cas, l’ensemble de test Stest

contient K >1

observations pour valider le modèle après la phase

d’apprentissage.

Il est clair que lorsque la taille de l’ensemble d’apprentissage Sappr

augmente, la qualité du prédicteur augmente mais lorsque la taille de l’ensemble

Page 69: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

54

de test Stest

diminue, la qualité de l’évaluation diminue. Ainsi il apparaît plus

judicieux d’utiliser le ‘‘K-sur-P’’.

Au niveau du fonctionnement, on divise l’échantillon de taille P en v

groupes disjoints contenant chacun K observations. Chaque groupe de K

observations est successivement utilisé comme ensemble de test Stest

pour

valider le modèle et les v-1 groupes restants, ayant au total P-K observations,

sont mis ensemble pour former l’ensemble d’apprentissage Sappr

utilisé à la phase

d’apprentissage. On recommence ainsi de suite jusqu’à ce que chaque partition

de K observations a servi tour à tour d’ensemble de test. Au total, on a donc v

ensembles de test Stest

et d’apprentissage Sappr

, par conséquent il faudra calculer

v coûts de test ltest et d’apprentissage lappr.

La méthode de validation croisée sur deux groupes disjoints est plus

économique en temps de calcul que la méthode de validation croisée sur plus de

deux groupes disjoints car dans la dernière, les phases d’apprentissage et de test

sont repétées v fois, contrairement à la première où on a une seule phase

d’apprentissage et de test. Cependant la méthode de validation croisée sur deux

groupes disjoints peut ne pas donner de bons résultats si l’ensemble de test Stest

n’est pas représentatif de nouvelles données ou si l’ensemble d’apprentissage ne

contient pas toutes les classes possibles. La méthode de validation croisée sur

plus de deux groupes disjoints permet de contourner ce problème car la

probabilité que tous les Stest

ne soient pas représentatifs devient faible quand v

augmente.

Page 70: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

55

3.2.1.3 Critère de sélection de la meilleure architecture

Étant donné plusieurs architectures, il faut maintenant déterminer un

critère permettant de les comparer. Pour cela, nous allons utiliser les deux

méthodes de validation croisée qui ont été retenues, ainsi qu’une 3ième méthode,

la méthode du bootstrap.

3.2.1.3.1 Cas de la validation croisée sur plus de deux groupes

disjoints

Dans le cas de la validation croisée sur plus de deux groupes disjoints, on

dispose de v groupes. Pour chaque groupe, on calcule la moyenne des

performances de l’ensemble de test Stest

g( ) de taille K, qui est définie comme étant

la moyenne des coûts de test ltest

g( ) obtenus sur l’ensemble de test, après la phase

d’apprentissage basée sur Sappr

g( ) . On a donc

( )CVK

lg

test

g p

p

K∧=

=

∑( )

( ) ( )1

1

, (3.4)

où g est l’indice des groupes, g = 1, ..., v, p = 1,...,K, ( )ltest

g p( ) ( ) est le coût obtenu

pour l’observation p de l’ensemble de test Stest

g( ) .

Ainsi, nous obtenons

CVv

CVg

g

v∧=

=

∑1

1

( )

, (3.5)

qui est la moyenne des performances pour une architecture donnée.

La variance échantillonnale des CVg∧ ( )

est donnée par

var( ) ( )

CVv

CV CVg g

g

v∧

=

∧−

=

∑1

1

2

1

. (3.6)

Page 71: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

56

Ainsi, la meilleure architecture est celle qui aura la plus petite moyenne

des performances CV∧

et la plus faible variance.

3.2.1.3.2 Cas de la validation croisée sur deux groupes disjoints

Dans le cas de la validation croisée sur deux groupes disjoints, nous

n’avons qu’un seul ensemble de test Stest

pour chaque architecture. Ainsi, le coût

de test ltest obtenu sur Stest

, après la phase d’apprentissage sur l’ensemble Sappr ,

représente la performance pour l’architecture donnée et la meilleure architecture

est celle qui aura le plus faible coût de test ltest .

3.2.2 La méthode du rééchantillonnage

La méthode du rééchantillonnage (bootstrap) fut proposée par Efron en

1979 pour résoudre le problème de l’estimation de la variance de statistiques

complexes.

Cette méthode toute simple consiste à rééchantillonner les données

originales D = [Z|Y] au hasard et avec remise, chaque échantillon bootstrap étant

dénoté ( )Z Yb

* *, , b = 1, ..., B. Ensuite on calcule les estimateurs bootstrap ( )θ∧

* b

pour chaque échantillon bootstrap, ce qui nous donne la moyenne des ( )θ∧

* b :

( ) ( )θ θ∧

• =∧

=

∑* *1

1Bb

b

B

. (3.7)

L’estimation bootstrap de l’écart type des ( )θ∧

* b est

Page 72: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

57

( ) ( )seB

bB

b

B∧=

∧−

∧•

=

∑1

1

2

1

1

2

θ θ* * . (3.8)

Définissons se∧

∞ , l’écart type bootstrap exact, c’est-à-dire celui où B = ∞.

Il est facile de voir que

se seF

∧=

∧ ∧

∧ θ * , (3.9)

où F∧

est l’estimateur de la loi F basé sur les données originales D.

On démontre à l’annexe 1 que, pour tout B,

E se seF

B∧ ∞

=

∧2 2

(3.10)

et

E se E seF B F

=

2 2

. (3.11)

Cependant (voir annexe 1)

var varF B F

se se∧

2 2

, (3.12)

En d’autres termes, seB

∧ 2

a la même espérance que se∧

2

, mais a une plus grande

variance.

Appliquée à notre réseau de neurones artificiels, la méthode du bootstrap

consiste à faire l’apprentissage sur chaque ensemble d’apprentissage bootstrap

( )Z Yb

* *, et d’estimer les paramètres libres (poids de connexions). À partir de

ces paramètres libres estimés, on fait le test sur les données originales et on

détermine le coût ( )BO b∧ ∗

qui est appelé l’estimateur du coût local de

généralisation, obtenu de l’échantillon original après apprentissage sur le bième

échantillon bootstrap.

Ainsi on a

Page 73: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

58

( ) ( )BOB

BO bb

B∧• =

∧∗ ∗

=

∑1

1

. (3.13)

Ce qui permet de calculer l’écart type

( ) ( )seB

BO b BOB

b

B∧=

∧−

∧•

∗ ∗

=

∑1

1

2

1

1

2

. (3.14)

Avec ce critère de sélection, la meilleure architecture sera celle qui aura

le plus petit estimateur ( )BO∧

•∗

et le plus petit écart type seB

∧.

Page 74: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

59

CHAPITRE 4

Implantation numérique et résultats

4.1 Implantation numérique

4.1.1 S-PLUS pour l’environnement ‘‘Windows’’

Pour notre étude, nous avons utilisé la version 3.3 du logiciel S-PLUS

pour ‘‘windows’’ (MathSoft, 1995) pour implanter notre réseau de neurones

artificiels multi-couches qui nécessite un puissant matériel informatique et par

conséquent, un espace mémoire suffisant.

Le logiciel S-PLUS est un logiciel statistique interactif qui dispose de

plusieurs fonctions générales, graphiques et statistiques facilitant la

programmation de nouvelles fonctions personnelles, mais ne dispose pas encore

de fonctions permettant l’apprentissage en réseau de neurones artificiels. La

version 3.3 de S-PLUS pour ‘‘Windows’’, par rapport aux versions antérieures,

dispose d’outils performants telle que la possibilité de créer soi-même ses

propres menus, c’est-à-dire un système de fenêtres d’appel de fonctions

permettant de lancer plus aisément les programmes. Ainsi, nous avons créé un

menu que nous avons inséré dans le menu principal du logiciel S-PLUS pour

‘‘windows’’. Cet avantage ne se retrouve pas sur le logiciel S-PLUS pour

système Unix. Malgré tous les avantages que le logiciel S-PLUS nous offre, il

faut admettre qu’il demeure un logiciel très vorace dans l’occupation d’espace

disque et d’espace mémoire de l’ordinateur. En ce qui concerne le matériel

Page 75: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

60

informatique, nous avons travaillé avec un Pentium 133 hz, 8 RAM, 1.2 Go . Ce

qui était largement suffisant pour créer et exécuter nos programmes.

4.1.2 Méthodologie

Notre premier souci était d’implanter les outils pour l’apprentissage d’un

réseau de neurones multi-couches. Ainsi, nous avons implanté l’algorithme de

la descente du gradient avec ajout d’un facteur de lissage α . La valeur du coût l

est calculée à chaque période d’apprentissage, après le passage de toutes les

observations dans le réseau.

4.1.2.1 Les principales fonctions créées et leur description

Nous avons créé une soixantaine de fonctions ainsi que leur écran d’aide

que l’on trouvera en annexe 2. Les écrans d’aide permettent, comme leur nom

l’indique, d’avoir de l’aide concernant la syntaxe et les arguments de la fonction

désirée. Ainsi, en plus des fonctions générales indispensables à l’apprentissage

telles que la propagation avant, la rétropropagation, la mise à jour des

paramètres libres et le calcul des différentes erreurs de classification, nous

avons aussi créé des fonctions pour les méthodes statistiques étudiées au

chapitre 3.

Page 76: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

61

4.1.2.2 Base de données réelles

Nous utilisons des données médicales. L’objectif de notre étude est

d’abord de trouver la meilleure architecture permettant une meilleure estimation

et prédiction sur nos données ensuite, de comparer ces estimations et prédictions

obtenues à celles de la méthode de régression logistique au niveau de

l’estimateur de la valeur négative du logarithme du maximum de la fonction de

vraisemblance et des erreurs de classification obtenues dans les deux cas.

La base de données réelles utilisée pour notre étude provient d’un

échantillon obtenu de l’Institut de Cardiologie de Montréal, mais les données

ont été recueillies sur des patients de différents hôpitaux de Montréal. Les

variables d’intérêt considérées sont différentes mesures du rythme cardiaque

sur 1549 patients. Nous avons 13 variables, sans valeurs manquantes, dont une

variable dépendante de type catégoriel ordinal et 12 variables indépendantes de

type continu. La description de ces 13 variables se trouve à l’annexe 3. La

variable dépendante, notée killip, est constituée de 4 classes mesurant l’état

cardiovasculaire du patient:

- Classe 1: pas de râles,

- Classe 2: râles en dessous du milieu des poumons du patient,

- Classe 3: les râles ont atteint le dessus du milieu des poumons du

patient,

- Classe 4: patient atteint d’un choc cardiogène.

La répartition des observations, suivant la classe killip à laquelle

appartient le patient, est assez inégale car nous avions 1069 patients (69%) dans

la classe 1; 359 patients (23,2%) dans la classe 2 ; 83 patients (5,4%) dans la

classe 3 et enfin 38 patients (2,4%) dans la classe 4.

Page 77: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

62

4.1.2.3 Initialisation des paramètres libres

Pour l’obtention de résultats fiables dans un apprentissage de réseau de

neurones artificiels multi-couches, l’initialisation des paramètres libres reste une

des clés de succès.

Étant donné que les fonctions d’activation doivent être dérivables, nous

avons choisi d’utiliser comme fonction d’activation, au niveau de la couche

cachée, la fonction tangente hyperbolique sigmoïde et la fonction linéaire au

niveau de la couche de sortie, à laquelle, nous avons appliqué la fonction log-

linéaire afin d’obtenir les vecteurs de probabilité a posteriori. Pour nos données,

nous avons initialisé les poids des connexions de façon aléatoire à partir d’une

loi uniforme dans l’intervalle (-10-6, 10-6) assez réduit pour éviter les problèmes

de saturation du réseau. Le facteur d’apprentissage initial η choisi est égal à 10-4

et le facteur de lissage α initial est de 0,9. Nous sommes allés jusqu’à 10000

périodes d’apprentissage.

4.2 Présentation et analyses des résultats

Énoncé du problème:

La première phase de notre étude est de trouver la meilleure architecture

neuronale, en terme de prédiction sur de nouvelles observations ne faisant pas

partir de la base de données initiales. Pour cela nous utilisons un type général

d’architecture neuronale qui est le réseau de neurones à une couche cachée avec

un terme constant au niveau des couches d’entrée et cachée. Chaque variation

du nombre de cellules dans la couche cachée constitue une nouvelle architecture

du même type. Ainsi nous avons déterminé 10 architectures notées H, et elles

sont identifiées par le nombre de cellules se trouvant dans la couche cachée

Page 78: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

63

avec H = {H1, H2, H3, H4, H5, H6, H7, H8, H9, H10}. Pour chaque architecture,

nous avons fait des apprentissages et des tests respectivement sur les ensembles

d’apprentissage et de test.

La deuxième phase est d’identifier la meilleure architecture choisie par

les différentes méthodes présentées. Ces méthodes sont: le coude (variation

relative du coût de la valeur négative du logarithme de la fonction du maximum

de vraisemblance), l’AIC, la validation croisée sur deux groupes disjoints, la

validation croisée sur v = 3 groupes disjoints et enfin le bootstrap avec 25

rééchantillonnages. Dans le cas de la validation croisée sur deux groupes

disjoints, on choisit, de façon aléatoire, 516 observations pour la phase de test,

c’est-à-dire 1/3 de l’échantillon total et les 2/3 pour la phase d’apprentissage.

On détermine aussi les courbes d’apprentissage et de test, les erreurs

d’apprentissage et de test sur les ensembles d’apprentissage et de test. Ainsi, on

identifie l’architecture qui est majoritairement choisie par ces différentes

méthodes comme étant la meilleure.

La troisième phase est de comparer l’estimation et la prédiction par

réseau de neurones artificiels à une couche cachée à celles de la régression

logistique. Ainsi, les résultats de la meilleure architecture Hj sont comparés à

ceux de la régression logistique classique. Les résultats pris en compte au

niveau des deux méthodes sont: l’estimateur du coût de la valeur négative du

logarithme du maximum de la fonction de vraisemblance, les erreurs de

classification sur les ensembles d’apprentissage, de test et sur l’échantillon total.

Rappelons quelques notations:

Hj : architecture neuronale où j indique le nombre de cellules dans la

couche cachée avec j = 1 ,.., L;

lappr : coût de la valeur négative du logarithme du maximum de la fonction de

vraisemblance obtenu sur l’ensemble d’apprentissage;

Page 79: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

64

ltest : coût de la valeur négative du logarithme du maximum de la fonction de

vraisemblance obtenu sur l’ensemble de test;

Var.re : la variation relative de lappr d’une architecture à l’autre;

: indique la meilleure architecture choisie par une méthode;

lboot : coût de la valeur négative du logarithme du maximum de la fonction de

vraisemblance obtenu sur l’échantillon original après apprentissage sur

les échantillons bootstrap;

AIC : critère d’information d’Akaike;

BIC : critère d’information bayésien de Schwarz;

SEtest : écart type des ltest dans le cas de la validation croisée sur plus de deux

groupes disjoints;

llogit: coût de la valeur négative du logarithme du maximum de la fonction de

vraisemblance obtenu à partir de la régression logistique.

4.2.1 Réseau de neurones artificiels à une couche cachée

À partir des conditions initiales décrites dans la sous-section 4.1.2.3,

nous avons fait l’apprentissage de notre réseau pour les architectures H1, H2, H3,

H4, H5, H6, H7, H8, H9, H10 en utilisant comme ensemble d’apprentissage la

totalité de notre base de données. On utilisera le terme ‘‘architectures

consécutives’’ pour désigner deux architectures dont leurs indices sont

consécutifs, l’indice indiquant le nombre de neurones dans la couche cachée.

Après 10000 périodes d’apprentissage, nous déterminons, pour chaque

architecture Hj , le coût de la valeur négative du logarithme du maximum de la

fonction de vraisemblance lappr dont les valeurs apparaissent dans le tableau

A4.1 de l’annexe 4 et représentées par le graphique 4.1.

Page 80: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

65

Nous constatons que plus le nombre de cellules dans la couche cachée

augmente, plus le coût lappr diminue, ce qui n’est pas étonnant car plus il y a de

paramètres libres, plus l’approximation est bonne.

nombre de cellules dans la couche cachée

lappr

2 4 6 8 10

1190

1200

1210

1220

Graphique 4.1. lappr en fonction du nombre de cellules dans la couche cachée. Mais, si nous considérons qu’augmenter le nombre de cellules dans la

couche cachée, c’est augmenter la complexité du réseau, alors quel est le

nombre optimal de cellules dans la couche cachée qui nous permet d’avoir un

degré de complexité acceptable et en même temps un coût qui soit satisfaisant?

Pour cela voyons ce que nous donne la méthode du coude.

La méthode du coude dont les résultats sont illustrés par le graphique 4.2

et le tableau A4.2 de l’annexe 4, nous donne les rapports des variations du coût

lappr entre deux architectures consécutives. La variation du coût entre les

architectures H1 et H2 est très grande, mais devient moins importante à partir de

H2, jusqu’à H6. On constate ensuite d’autres variations un peu plus

significatives entre H6 et H7 , et aussi entre H7 et H8.

Page 81: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

66

nombre de cellules dans la couche cachée

Var.re

2 4 6 8

0

5

10

15

20

25

Graphique 4.2. Variations relatives de lappr en fonction du nombre de cellules dans la couche cachée.

La variation relative la plus importante se situe au niveau de H2 où le pic

est le plus élevé, ensuite on a une plage de stabilité entre H3 et H6, puis un autre

pic moins important que le premier au niveau de H7 et encore une autre plage de

stabilité à partir de H8. Les zones d’état stable indiquent que les coûts ne

décroissent pas de façon significative d’une architecture à l’autre, puisqu’il est

inutile d’augmenter le nombre de paramètres libres si aucun gain significatif

n’est obtenu.

La méthode du coude nous amène à choisir H2 comme la meilleure

architecture. Il faut remarquer que la méthode du coude ne permet pas de

calculer les variations relatives aux extrémités. Ce qui veut dire que si H1 ou H10

est la meilleure architecture, cette méthode ne nous permet pas de le déterminer.

Rappelons que les critères de l’AIC et du BIC choisissent comme

meilleure architecture, l’architecture qui minimise ces critères. Considérons

maintenant le choix de la meilleure architecture selon le critère de l’AIC. Celui-

ci indique H1 et H2 (tableau A4.3 de l’annexe 4 et graphique 4.3) comme

meilleures architectures.

Page 82: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

67

Le critère du BIC, plus parcimonieux que celle de l’AIC, indique H1

comme meilleure architecture (voir le tableau A4.4 de l’annexe 4 et le

graphique 4.4).

nombre de cellules dans la couche cachée

AIC

2 4 6 8 10

2500

2550

2600

2650

2700

Graphique 4.3. Valeurs de l’AIC en fonction du nombre de cellules dans la couche cachée.

n o m b re d e c e llu les d a n s la c o u c h e c a c h é e

B IC

2 4 6 8 1 0

2 6 0 0

2 8 0 0

3 0 0 0

3 2 0 0

3 4 0 0

3 6 0 0

Graphique 4.4 Valeurs du BIC en fonction du nombre de cellules dans la couche cachée.

Page 83: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

68

Étudions maintenant les résultats obtenus avec la méthode de la

validation croisée sur deux groupes disjoints.

Rappelons que la taille échantillonnale de l’ensemble d’apprentissage est

égale à 1033, c’est-à-dire 2/3 de la taille échantillonnale totale. Celle de

l’ensemble de test est égale à 516, c’est-à-dire 1/3 de la taille échantillonnale

totale. La répartition des observations dans chaque échantillon est aléatoire.

Nous avons aussi que ces deux sous-ensembles échantillonnaux sont disjoints.

Dans un souci d’avoir un ensemble de test représentatif de nouvelles données ne

faisant pas partie de l’ensemble d’apprentissage, la répartition des observations

dans ces deux sous-ensembles a été faite conformément aux proportions des

classes killip vues à la sous-section 4.1.2.2.

Ainsi le tableau A4.5 en annexe 4 et le graphique 4.5 donne les coûts lappr

obtenus après apprentissage sur l’ensemble d’apprentissage. Nous remarquons,

comme précédemment, que le coût diminue au fur et à mesure qu’on augmente

le nombre de cellules dans la couche cachée.

nombre de cellules dans la couche cachée

lappr

2 4 6 8 10

750

760

770

780

790

Graphique 4.5. Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes

disjoints.

Page 84: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

69

Après apprentissage sur les différentes architectures Hj, nous faisons,

pour chaque architecture, le test avec l’ensemble de test et déterminons ainsi les

coûts ltest donnés par le tableau A4.6 en annexe 4 et le graphique 4.6.

La méthode de la validation croisée sur deux groupes disjoints indique

H2 comme meilleure architecture, car le coût obtenu sur l’ensemble de test avec

H2 est minimum comparé aux coûts obtenus sur l’ensemble de test avec les

autres architectures. Cela signifie que la performance à généraliser sur de

nouvelles observations est plus importante en ce qui concerne H2 par rapport

aux autres architectures.

nombre de cellules dans la couche cachée

ltest

2 4 6 8 10

420

425

430

435

440

445

450

Graphique 4.6. Valeurs de ltest en fonction du nombre de cellules dans la couche cachée

par la méthode de la validation croisée sur deux groupes disjoints.

Une autre variation de la validation croisée que nous avons utilisée, est la

méthode de la validation croisée sur plus de deux groupes disjoints, avec le

nombre de groupes v égal à 3. Ainsi au lieu d’avoir un seul ensemble

d’apprentissage et un seul ensemble de test, nous avons partitionné notre

ensemble en trois groupes.

Page 85: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

70

nombre de cellules dans la couche cachée

lappr

2 4 6 8 10

790

795

800

805

810

Graphique 4.7. Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus de deux

groupes disjoints.

Chaque groupe de P

ν

= 516 observations sert, à tour de rôle, d’ensemble

de test et les 1033 autres observations servent d’ensemble d’apprentissage.

Ainsi pour chaque ensemble de test de chaque architecture Hj, nous obtenons le

coût sur l’ensemble d’apprentissage lappr qui est la moyenne des 3 coûts

d’apprentissage obtenus pour chaque architecture Hj (le tableau A4.7 de

l’annexe 4 et le graphique 4.7) et aussi de la même façon, nous obtenons le coût

sur l’ensemble de test ltest en faisant la moyenne des 3 coûts de test obtenus

pour chaque architecture Hj (le graphique 4.8 et le tableau A4.8 de l’annexe 4).

Nous constatons qu’au niveau de H1, le coût est un peu plus faible par

rapport au coût au niveau de H2. Cet écart n’étant pas assez important pour

prendre une décision, nous calculons ainsi les écarts types de ltest (tableau A4.9

de l’annexe 4 et le graphique 4.9).

Page 86: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

71

nombre de cellules dans la couche cachée

ltest

2 4 6 8 10

414

416

418

420

Graphique 4.8. Valeurs de ltest en fonction du nombre de cellules dans la couche cachée

par la méthode de la validation croisée sur plus de deux groupes disjoints.

nombre de cellules dans la couche cachée

SEtest

2 4 6 8 10

25

26

27

28

29

30

31

Graphique 4.9. Valeurs des écarts types SEtest en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus de deux groupes disjoints. L’écart type au niveau de H2 est assez faible par rapport aux autres. Les

coûts obtenus sur les ensembles de test après chaque phase d’apprentissage sont

moins dispersés, ce qui donne une moyenne du coût, sur les ensembles de test,

Page 87: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

72

plus stable. Comme vu dans la sous-section 3.2.1.3.1, la meilleure architecture

Hj est celle qui a un coût ltest assez faible et le plus petit écart-type. Ainsi ces

deux conditions prises en compte nous donnent H2 comme étant la meilleure

architecture choisie par cette méthode.

De même, la méthode du bootstrap donne H2 comme étant meilleure architecture ( voir le tableau A4.10 de l’annexe 4 et le graphique 4.10). Comme expliquée précédemment, la méthodologie est de faire l’apprentissage avec les 25 échantillons bootstrap, et ensuite, à partir des paramètres libres estimés pour chaque échantillon bootstrap, de faire le test sur l’échantillon de départ, ce qui nous donne les coûts de test. Enfin, on fait la moyenne des coûts de test pour obtenir lboot pour chaque architecture.

nombre de cellules dans la couche cachée

lboot

2 4 6 8 10

1235

1240

1245

1250

Graphique 4.10. Valeurs de lboot en fonction du nombre de cellules dans la couche cachée par la méthode bootstrap.

Page 88: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

73

4.2.2 Les erreurs de classification

Après avoir calculé les différents coûts et variations pour chaque

architecture Hj, nous avons aussi calculé les erreurs de classification, d’abord

sur l’échantillon total, ensuite sur l’échantillon qui a servi d’ensemble

d’apprentissage pour la validation croisée sur deux groupes disjoints et enfin sur

l’ensemble de test utilisé pour cette même méthode. Ainsi, dans le cas des deux

premiers ensembles, nous avons obtenu les erreurs d’apprentissage et pour

l’ensemble de test, nous avons obtenu les erreurs de test à partir des paramètres

libres estimés.

nombre de cellules dans la couche cachée

Eappr

2 4 6 8 10

29.5

29.7

29.9

30.1

Graphique 4.11. Erreurs de classification après apprentissage sur tout l’ensemble des exemples en fonction du nombre de cellules dans la couche cachée.

Comme on peut le prévoir, dans une phase d’apprentissage, plus on

augmente le nombre de paramètres libres (nombre de cellules dans la couche

cachée), plus l’erreur de classification, sur l’ensemble d’apprentissage, diminue.

Ceci se retrouve dans le tableau A4.11 de l’annexe 4 et le graphique 4.11 pour

Page 89: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

74

le cas de l’échantillon total, et le tableau A4.12 de l’annexe 4 et le graphique

4.12 pour le cas de l’ensemble d’apprentissage.

nombre de cellules dans la couche cachée

Eappr

2 4 6 8 10

29.2

29.4

29.6

29.8

30.0

Graphique 4.12. Erreurs de classification sur l’ensemble d’apprentissage en fonction du nombre de cellules dans la couche cachée.

Ainsi, à partir des paramètres libres estimés sur l’ensemble

d’apprentissage, pour chaque architecture Hj, nous avons calculé les erreurs de

classification sur l’ensemble de test afin d’obtenir les erreurs de test pour

chaque architecture Hj . Les résultats obtenus (voir le tableau A4.13 de l’annexe

4 et le graphique 4.13) nous indique que la meilleure architecture est toujours

H2, lorsqu’on compare les différentes erreurs de test. Les erreurs de test varient

entre 30,395% et 31,558% et, comme on peut s’y attendre, les erreurs de test

sont supérieures aux erreurs d’apprentissage. L’architecture H2 nous donne une

erreur de test égale à 30,395%.

Page 90: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

75

nombre de cellules dans la couche cachée

Etest

2 4 6 8 10

30.4

30.6

30.8

31.0

31.2

31.4

31.6

Graphique 4.13. Erreurs de classification sur l’ensemble de test en fonction du nombre de cellules dans la couche cachée.

En récapitulatif des résultats obtenus avec l’apprentissage en réseau de

neurones artificiels à une couche cachée, nous pouvons conclure qu’en ce qui

concerne le choix de la meilleure architecture, à part le BIC et à un degré

moindre l’AIC, toutes les méthodes choisissent H2 comme étant la meilleure

architecture (voir le tableau 4.1).

Étant donné ces résultats, pour le reste de notre étude, seuls les résultats

(coûts, erreurs de classification) de l’architecture H2 sont utilisés.

Page 91: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

76

Les différentes architectures

Méthodes de sélection

H1

H2

H3

H4

H5

H6

H7

H8

H9

H10

Le coude

X

AIC

X X

BIC

X

Validation croisée sur deux groupes disjoints

X

Validation croisée sur plus de deux groupes disjoints

X

bootstrap

X

Légende: x indique l’architecture choisie, Hj indique l’architecture ayant j cellules dans sa couche cachée.

Tableau 4.1. Récapitulatif des résultats.

D’autres tests ont été effectués sur les observations, en considérant

l’architecture H2. On définit le terme « individu moyen » comme étant

l’observation qui a pour mesure sur les 12 variables, les valeurs moyennes sur

les 1549 observations. La classe 1 est prédite pour l’individu moyen car les

probabilités a posteriori Prk d’appartenir aux classes k = 1, 2, 3, 4 pour cet

individu sont: (Pr1 ; Pr2 ; Pr3 ; Pr4) = (0,7779 ; 0,1981 ; 0,0213 ; 0,0027).

Les valeurs obtenues sont consignées dans le tableau 4.2.

Page 92: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

77

meannn 0,904 sigmann 0,101 pnn50 8,676 sdann 0,086

meansd 0,043 totac 0,011 ulf 0,009 vlf 0,001 lf 0,0004 hf 0,0002

meandim 2,419 meanent 0,796

Tableau 4.2. Les mesures prises par l’individu moyen sur les 12 variables

indépendantes.

La classe 1 prédite pour l’individu moyen est tout à fait prévisible car la

classe 1 est la classe dominante. Elle regroupe 69% des patients contre 31% des

patients pour les trois autres classes.

Sachant que notre variable dépendante killip est une variable catégorielle

ordinale, prédire une classe k±1 pour une observation donnée alors que la vraie

classe est k, n’est pas aussi grave que prédire une classe k±i avec i > 1. Par

exemple, prédire que les râles d’un patient se situent en dessous du milieu des

poumons (classe 2) alors que ce patient n’a pas de râles (classe 1) est moins

grave que prédire que ce patient est atteint d’un choc cardiogène (classe 4). Ceci

nous permet de définir les erreurs de classification par ordre de gravité.

Ainsi le tableau 4.3 définit les différents types d’erreur de classification

qu’on peut rencontrer. Plus l’ordre est élevé, plus l’erreur de classification est

grave. Notons que l’ordre 0 signifie qu’il n’y a pas d’erreur de classification.

Page 93: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

78

Erreur de classification classe observée classe prédite

ordre 0 k k

ordre 1 k k±1

ordre 2 k k±2

ordre 3 k k±3

Tableau 4.3. Les différents types d’erreur de classification.

Cette définition et notation nous permettent de déterminer la classe

prédite et l’ordre des erreurs de classification sur l’ensemble de test ayant 516

observations et nous avons obtenu les répartitions suivantes:

- erreur de classification d’ordre 0: 69,605%,

- erreur de classification d’ordre 1: 23,031%,

- erreur de classification d’ordre 2: 5,232%,

- erreur de classification d’ordre 3: 2,132%.

Ainsi, nous constatons que 69,605% des classes sont bien prédites. La

plupart des erreurs de classification sont d’ordre 1 (23,031%) et donc sachant

que notre variable dépendante est de type catégoriel ordinal, nous pouvons dire

que certaines valeurs prises par cette variable après la phase de test, se situent

aux frontières divisant les différentes classes. Une autre analyse montre que ces

23,031% proviennent des observations dont la classe observée est la classe 2 et

qui sont prédites comme étant de la classe 1. Par cette même analyse, nous

avons constaté que les 5,232% d’erreur de classification d’ordre 2 et les 2,132%

d’erreur de classification d’ordre 3 proviennent des observations dont les

classes observées sont respectivement, la classe 3 et la classe 4 et qui sont

prédites comme étant de la classe 1. En résumé, compte tenu de la

Page 94: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

79

prédominance de la classe 1, elle a tendance à attirer les autres observations qui

ont une classe différente.

4.2.3 Méthode classique de la régression logistique multiple

Les résultats de la régression logistique multiple ont été obtenus avec le

logiciel BMDP (voir le module “PR Polychotomous Stepwise Logistic

Regression” dans le volume 2 du manuel de ce logiciel). Nous avons fait l’étude

pour différents fichiers de données: l’échantillon total, l’ensemble

d’apprentissage, l’ensemble de test. L’ensemble d’apprentissage et l’ensemble

de test sont ceux de la méthode de la validation croisée sur deux groupes

disjoints. De façon générale, le programme utilisé se trouve dans l’annexe 6.

4.2.3.1 Régression logistique multiple sur l’échantillon total

Le module PR ajoute la variable meannn à la 2ième étape (annexe 5). Le

meilleur modèle obtenu est un modèle avec 2 variables éligibles qui sont

meannn et sigmann. On peut donc écrire l’équation du modèle comme étant

égale à:

[ ]( )

( )P killip

X

X> =

+

+ +1

2 081

1 2 081

exp ,

exp ,, (4.1)

[ ]( )

( )P killip

X

X> =

+

+ +2

0 337

1 0 337

exp ,

exp ,, (4.2)

[ ]( )

( )P killip

X

X> =

− +

+ − +3

0 9128

1 0 9128

exp ,

exp ,, (4.3)

[ ]P killip > =4 0 , (4.4)

Page 95: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

80

avec X meannn sigmann= − −2 204 9 387, * , * . (4.5)

Le logarithme du maximum de la fonction de vraisemblance obtenu sur

l’échantillon total est égal à -1254,635. Ainsi, on a llogit = 1254,635 avec llogit

étant la valeur négative du logarithme du maximum de la fonction de

vraisemblance.

La commande /PRINT du programme PR nous permet d’avoir la classe

prédite pour chaque observation. Ainsi l’erreur de classification, pour

l’échantillon total, est égale à 30,749% avec les répartitions suivantes:

- erreur de classification d’ordre 0: 69,251%,

- erreur de classification d’ordre 1: 22,930%,

- erreur de classification d’ordre 2: 5,519%,

- erreur de classification d’ordre 3: 2,300%.

4.2.3.2 Régression logistique multiple sur l’ensemble d’apprentissage

Le module PR ajoute la variable sigmann à la 2ième étape (annexe 5).

Comme dans l’analyse sur l’échantillon total, le meilleur modèle obtenu est un

modèle avec 2 variables éligibles qui sont meannn et sigmann. On peut donc

écrire l’équation du modèle comme étant égale à:

[ ]( )

( )P killip

X

X> =

+

+ +1

2 516

1 2 516

exp ,

exp ,, (4.6)

[ ]( )

( )P killip

X

X> =

+

+ +2

0 7562

1 0 7562

exp ,

exp ,, (4.7)

[ ]( )

( )P killip

X

X> =

− +

+ − +3

0 6695

1 0 6695

exp ,

exp ,, (4.8)

[ ]P killip > =4 0 , (4.9)

avec X meannn sigmann= − −2 789 8 884, * , * . (4.10)

Page 96: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

81

Le logarithme du maximum de la fonction de vraisemblance obtenu sur

l’ensemble d’apprentissage est égal à -817,98. Ainsi , on a llogit = 817,98.

L’erreur de classification est égale à 30,0686% pour l’ensemble

d’apprentissage avec les répartitions suivantes:

- erreur de classification d’ordre 0: 69,931%,

- erreur de classification d’ordre 1: 22,527%,

- erreur de classification d’ordre 2: 5,877%,

- erreur de classification d’ordre 3: 1,665%.

4.2.3.3 Régression logistique multiple sur l’ensemble de test

Le module PR ne prend en compte que la variable sigmann (annexe 5).

le meilleur modèle obtenu sur l’ensemble de test est un modèle avec une seule

variable éligible qui est sigmann. On peut donc écrire l’équation du modèle

comme étant égale à:

[ ]( )

( )P killip

X

X> =

+

+ +1

0 5559

1 0 5559

exp ,

exp ,, (4.11)

[ ]( )

( )P killip

X

X> =

− +

+ − +2

1158

1 1158

exp ,

exp ,, (4.12)

[ ]( )

( )P killip

X

X> =

− +

+ − +3

2 136

1 2 136

exp ,

exp ,, (4.13)

[ ]P killip > =4 0 , (4.14)

avec X sigmann= −13 43, * . (4.15)

Le logarithme du maximum de la fonction de vraisemblance obtenu sur

l’ensemble de test est égal à -434,915. Ainsi, on a llogit = 434,915.

L’erreur de classification est égale à 30,6048% pour l’ensemble de test

avec les répartitions suivantes:

Page 97: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

82

- erreur de classification d’ordre 0: 69,395%,

- erreur de classification d’ordre 1: 24,010%,

- erreur de classification d’ordre 2: 4,196%,

- erreur de classification d’ordre 3: 2,399%.

4.2.4 Réseau de neurones versus régression logistique

Soient S l’échantillon total, Sappr l’ensemble d’apprentissage et Stest

l’ensemble de test, l le coût sur l’échantillon total, lappr le coût sur l’ensemble

d’apprentissage, ltest le coût sur l’ensemble de test et E, Eappr et Etest l’erreur de

classification respectivement sur l’échantillon total, l’ensemble d’apprentissage

et l’ensemble de test. On a les valeurs comparatives des deux méthodes (réseau

de neurones et régression logistique) dans le tableau 4.4.

S Sappr Stest

l E lappr Eappr ltest Etest

Régression 1254,635 30,749 817,98 30,069 434,915 30,605

RNA 1202,505 30,052 781,008 29,907 419,584 30,395

différence 52,13 0,697 36,972 0,162 15,331 0,209

Tableau 4.4. Réseau de neurones versus régression logistique.

On constate, dans le tableau 4.4, qu’en ce qui concerne le coût et l’erreur

de classification sur les 3 ensembles de données considérés (échantillon total,

ensemble d’apprentissage, ensemble de test), la meilleure architecture H2 de

réseau de neurones artificiels fait mieux que la régression logistique classique,

Page 98: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

83

mais la différence n’est pas très importante. Ainsi la différence de performance

sur l’ensemble de test est égale à

( ) ( )∆P E Etest RNA test it= − = − =

log, , ,30 395 30 605 0 21 .

Ainsi le réseau de neurones performe 0,21% mieux que la régression

logistique multiple sur l’ensemble de test.

Page 99: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

84

CONCLUSION

Au terme de notre étude sur ces données réelles, il en ressort, en ce qui

concerne les différentes méthodes pour choisir la meilleure architecture que

celles-ci choisissent majoritairement H2 comme étant la meilleure architecture.

En ce qui concerne la méthode du coude, on a vu qu’elle ne peut pas

prédire si H1 ou si H10 est la meilleure architecture car la variation relative ne

permet pas de calculer les valeurs extrêmes.

Bien que les méthodes moins économiques en temps de calcul semblent

aussi bonnes sur notre échantillon, il n’en demeure pas moins qu’elles restent

toujours des méthodes assez lourdes, autant dans l’implantation numérique que

dans le temps d’exécution. Ainsi avec le matériel informatique dont nous

disposions pour l’apprentissage sur 10 architectures et 10000 périodes

d’apprentissage, nous avons mis environ 2 jours pour la méthode de la

validation croisée sur deux groupes disjoints, 5 jours pour la méthode de la

validation croisée sur plus de deux groupes disjoints et 14 jours pour la méthode

du bootstrap avec 25 échantillons bootstrap. Ceci est à contraster avec les

méthodes AIC, BIC et le coude qui ne prennent que quelques minutes.

La compensation entre le gain obtenu et le temps de calcul se remarque

aussi au niveau de la comparaison entre le réseau de neurones artificiels à une

couche cachée et la régression logistique multiple sur nos ensembles de

données. Le réseau de neurones artificiels multi-couches exigent plus de temps

de calcul sans compter tous les inconvénients qu’on peut rencontrer tels que

l’initialisation des poids, le choix optimal du nombre de neurones dans la

couche cachée, le choix du critère d’arrêt de l’apprentissage et le choix de

l’algorithme d’apprentissage. Il n’est pas toujours évident de préférer la

méthode de réseau de neurones artificiels multi-couches à la régression

Page 100: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

85

logistique, lorsqu’on n’est pas sûr d’avoir une différence de performance très

importante, comme dans notre étude où le réseau de neurones artificiels

performe 0,21% mieux que la régression logistique sur l’ensemble de test. La

valeur 0,21% de performance n’est pas assez importante pour tirer une

conclusion générale, sachant que nous avons basé notre étude sur un seul

échantillon de données.

Une étude plus poussée sur plusieurs données simulées avec une

architecture neuronale bien définie aurait été plus adéquate pour tirer une

conclusion plus générale.

Un axe de recherche futur pourrait être de comparer les réseaux de

neurones artificiels multi-couches aux arbres de régression au niveau de leur

pouvoir de prédiction.

Page 101: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

86

ANNEXE 1

Démonstrations de certains résultats du bootstrap

Soit X1, ..., Xn un échantillon de variables aléatoires indépendantes et

identiquement distribuées selon la loi F (à ne pas confondre avec la F de

Fisher). Soit seB

∧ l’estimateur bootstrap de l’écart type de la distribution de la

statistique θ∧

basé sur B échantillons bootstrap. Définissons également se∧

comme étant l’écart type bootstrap exact.

1. Démontrons que E se seF

B∧ ∞

=

∧2 2

.

E se E se X X

EB

b X X

se

FB B n

b

B

n

F n

∧ ∧

=

=

=−

− •

= =

2 2

1

2

11

2

1

1

/ , ,

* ( ) * ( ) / , ,

var .

L

Lθ θ

θ

2. Démontrons que E se E seF B F

=

2 2

.

E se E E se

E E se X X

E se

F B FF

B

F B n

F

n

=

=∧

=∧

2 2

2

1

2

/ , ,

.

L

Page 102: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

87

3. Démontrons que var varF B F

se se∧

2 2

.

var var / , , var / , ,

var .

F B F B n F B n

F

se E se X X E se X X

se

=

+

≥∧

2 2

1

2

1

0

0

2

L L

1 2444 34441 24444 34444

Page 103: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

88

ANNEXE 2

Les fonctions créées

.First Attache les programmes personnels.

aide

Aide pour les fonctions créées.

b.prop

Rétropropagation du gradient.

boots.trap

Rééchantillonnage bootstrap.

cherche.doc

Cherche la documentation.

cout.emv.multinomial Coût de la valeur négative du logarithme du maximum de la fonction de vraisemblance.

cout.quad

Coût Quadratique.

crossvalidation

Échantillonnage par validation croisée sur plus de deux groupes disjoints.

deltalin

Dérivée du coût par rapport aux poids de connexion avec comme fonction d’activation, la fonction linéaire.

deltasig

Dérivée du coût par rapport aux poids de connexion avec comme fonction d’activation, la fonction sigmoïde.

deltatan

Dérivée du coût par rapport aux poids de connexion avec comme fonction d’activation, la fonction tangente hyperbolique sigmoïde.

Page 104: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

89

diff.parity.connect

Connexion des neurones de parité différente.

f.prop

Propagation avant du réseau.

fast.neurone.bootstrap.cl.ll Apprentissage par rétropropagation du gradient avec comme coût, la valeur négative du logarithme du maximum de la fonction de vraisemblance par la méthode du bootstrap dans un cas de classification pour la méthode du facteur d’apprentissage adaptif.

fast.neurone.crossval.cl.ll Apprentissage par rétropropagation du gradient avec comme coût, la valeur négative du logarithme du maximum de la fonction de vraisemblance par la méthode de la validation croisée sur deux groupes disjoints dans un cas de classification par la méthode du facteur d’apprentissage adaptif.

fast.neurone.k.crossval.cl.ll Apprentissage par rétropropagation du gradient avec comme coût, la valeur négative du logarithme du maximum de la fonction de vraisemblance par la méthode de la validation croisée sur plus de deux groupes disjoints dans un cas de classification par la méthode du facteur d’apprentissage adaptif.

fast.trainbp.cl.ll Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de régression non linéaire par la méthode du facteur d’apprentissage adaptif.

fast.trainbp.cl.ss Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de classification par la méthode du facteur d’apprentissage adaptif.

fast.trainbp.fa Apprentissage par rétropropagation du gradient avec coût quadratique dans un cas d’approximation de fonction par la méthode du facteur d’apprentissage adaptif.

fast.trainbp.nr Apprentissage par rétropropagation du gradient avec coût quadratique dans un cas de le régression non linéaire par la méthode du facteur d’apprentissage adaptif.

Page 105: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

90

full.even.connect Connexion des neurones d’une couche aux neurones d’indice pair de la couche suivante.

full.full.connect

Pleine connexion des neurones.

full.odd.connect Connexion des neurones d’une couche aux neurones d’indice impair de la couche suivante.

gen.classes Prédiction des classes sachant les probabilités a posteriori d'appartenir à ces classes.

gen.test

Détermination de la classe et de l’erreur de classification sur l’ensemble de test sachant l’entrée et les poids de connexion estimés.

hessian

Calcul de la matrice hessienne.

inpout

Entrées et sorties adaptées à la structure du réseau. jacobian

Calcul du jacobien.

learn.error Détermination de l’erreur de classification sur l’ensemble d’apprentissage.

learnlm

Rétropropagation du gradient par la méthode Levenberg-Marquardt.

lineaire

fonction d'activation linéaire.

marq.neurone.bootstrap.cl.ll Apprentissage par rétropropagation du gradient avec comme coût la valeur négative du logarithme du maximum de la fonction de vraisemblance pour la méthode du bootstrap dans un cas de classification par la méthode Levenberg- Marquardt.

Page 106: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

91

marq.neurone.crossval.cl.ll Apprentissage par rétropropagation du gradient avec comme coût la valeur négative du logarithme du maximum de la fonction de vraisemblance pour la méthode de la validation croisée sur deux groupes disjoints likelihood dans un cas de classification par la méthode Levenberg-Marquardt.

marq.neurone.k.crossval.cl.ll Apprentissage par rétropropagation du gradient avec comme coût la valeur négative du logarithme du maximum de la fonction de vraisemblance pour la méthode de la validation croisée sur plus de deux groupes disjoints dans un cas de classification par la méthode Levenberg-Marquardt.

marq.trainbp.cl.ll

Apprentissage par rétropropagation du gradient avec comme coût la valeur négative du logarithme du maximum de la fonction de vraisemblance dans un cas de classification par la méthode Levenberg-Marquardt.

marq.trainbp.cl.ss

Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de classification par la méthode Levenberg-Marquardt.

marq.trainbp.fa Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas d’approximation de fonction par la méthode Levenberg-Marquardt.

marq.trainbp.nr Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de régression non linéaire par la méthode Levenberg-Marquardt.

menu1

Menu « Neural Networks MLP ».

methodes.stat

Calcul de quelques estimateurs statistiques.

my.X11

Appel de l’écran graphique de S-plus.

neg.LL.fonction

Calcul de la valeur négative du logarithme du maximum de la fonction de vraisemblance.

neurone.bootstrap.cl.ll Apprentissage par rétropropagation du gradient avec la méthode du bootstrap.

Page 107: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

92

neurone.crossval.cl.ll

Apprentissage par rétropropagation du gradient avec la méthode de la validation croisée sur deux groupes disjoints.

neurone.k.crossval.cl.ll Apprentissage par rétropropagation du gradient avec la méthode de la validation croisée sur plus de deux groupes disjoints.

pinv Calcul de l’inverse généralisée d’une matrice.

plot.boot

Graphique obtenu à partir des résultats de l’apprentissage par la méthode du boostrap.

plot.multi

Graphique obtenu à partir des résultats de la fonction methodes.stat.

plot.val

Graphique obtenu à partir des résultats de l’apprentissage par la méthode de la validation croisée sur plus de deux groupes disjoints ou sur deux groupes disjoints.

same.parity.connect

Connexion des neurones ayant la même parité.

sigmoid

Fonction d'activation sigmoïde.

sim.inpout Simulation des données d’entrées et de sorties du réseau.

softmax

Fonction log-linéaire.

tansig

Fonction d'activation tangente hyperbolique sigmoïde.

trainbp.cl.ll Apprentissage par rétropropagation du gradient avec comme coût la valeur négative du logarithme du maximum de la fonction de vraisemblance dans un cas de classification.

Page 108: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

93

trainbp.cl.ss

Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de classification.

trainbp.fa Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas d’approximation de fonction.

trainbp.nr Apprentissage par rétropropagation du gradient avec le coût quadratique dans un cas de régression non linéaire.

UPDATE

Mise à jour des paramètres libres.

Page 109: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

94

ANNEXE 3

Les écrans d’aide et programmes

.First Attache les programmes personnels

---------------------------------------------------------------------

Description Cette fonction est exécutée de façon automatique lorsqu'on exécute S-plus. Elle permet d'attacher, aux autres librairies de S-plus, les programmes personnels contenant les fonctions et les objets créés. Ainsi, elle permet l'accessibilité en exécution,lecture et copie des fonctions et objets à tout usager de S-plus.

Page 110: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

95

aide Aide pour les fonctions créées

---------------------------------------------------------------------

Description La fonction aide permet de consulter le fichier d'aide d'une fonction donnée existant dans le répertoire des fonctions sur les réseaux de neurones artificiels multi-couches.

USAGE aide(name)

VALEUR Donne l'écran d'aide de la fonction spécifiée. Si l’argument est manquant, cette fonction donne la liste de toutes les fonctions créées.

EXEMPLES aide() # pour consulter la liste de toutes les # fonctions créées. aide(UPDATE) # pour consulter l'aide de la fonction # de mise à jour des paramètres libres # (poids des connexions).

Page 111: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

96

b.prop Rétropropagation du gradient

---------------------------------------------------------------------

Description Cette fonction compile les gradients de la fonction coût par rapport aux poids des connexions des cellules entre d’une part les couches de sortie et cachée et d’autre part, les couches cachée et d’entrée.

USAGE b.prop(S, S0, w2, e, df1, df2, b2)

ARGUMENTS S La sortie non linéaire au niveau de la couche de

sortie.

S0 La sortie non linéaire au niveau de la couche

cachée.

w2 Matrice des poids des connexions des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

e Dérivée du coût par rapport à la sortie non

linéaire du réseau.

df1 Fonction retournant les dérivées de la fonction

coût par rapport aux poids des connexions des cellules entre les couches cachée et d’entrée.

df2 Fonction retournant les dérivées de la fonction

coût par rapport aux poids de connexion des cellules entre les couches cachée et d’entrée.

b2 argument à valeur logique indiquant s’il y a un

terme constant au niveau de la couche cachée. Il est égal à T s’il y a un terme constant et F sinon.

VALEUR La fonction retourne une liste contenant:

delta2 La dérivée première de la fonction coût par rapport

aux poids des connexions de la couche de sortie vers la couche cachée.

delta1 La dérivée première de la fonction coût par rapport

aux poids des connexions de la couche cachée vers la couche d'entrée.

Page 112: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

97

REFERENCES RIPLEY, B. D.(1993). Statistical aspect of neural networks. In Networks and Chaos-Statistical and Probabilistic Aspects. Barndorff-Nielsen, O. E., Cox, D. R., Jensen, L., Kendall, W. S., Chapman & HALL. London. pp. 49-50

FREEMAN, J. A.(1994), Simulating Neural Networks with Mathematica. Addison-Wesley Publishing Company. pp 68-74.

PROGRAMME

function(S, S0, w2, e, df1, df2, b2)

{

delta2 <- df2(S, e)

if(b2 == T) {

S0 <- S0[, - ncol(S0)]

w2 <- w2[, - ncol(w2)]

if(is.vector(w2) == T)

w2 <- as.matrix(w2)

}

S0 <- as.matrix(S0)

delta1 <- df1(S0, delta2, w2)

return(delta2, delta1)

}

Page 113: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

98

boots.trap Rééchantillonnage bootstrap

---------------------------------------------------------------------

Description Cette fonction permet de rééchantillonner une base de données avec remise (caractéristique de la méthode du bootstrap), c’est-à-dire la nouvelle base de données est de la même taille que l’échantillon initial mais elle contient plusieurs fois certaines observations.

USAGE boots.trap(Z.Y, repl = T)

ARGUMENTS Z.Y Matrice de données dont les lignes représentent les

individus et les colonnes représentent les mesures prises par ces individus sur les variables d’entrée Z et la variable de sortie Y.

repl Si il est égal à T, alors le rééchantillonnage se

fait avec remise et F sinon. Argument optionnel.

VALEUR la fonction retourne:

data La matrice rééchantillonnée avec remise.

REFERENCE Efron, B. et Tibshirani, R. J. (1993). An Introduction to the Bootstrap. Chapman & Hall, London. pp 398-412.

PROGRAMME

function(Z.Y, repl = T)

{

npat <- nrow(Z.Y)

o <- sample(1:npat, replace = repl)

data <- Z.Y[o, ]

row.names(data) <- 1:npat

data

}

Page 114: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

99

cout.emv.multinomial Coût de la valeur négative du logarithme du maximum de la fonction de vraisemblance

---------------------------------------------------------------------

Description Cette fonction calcule la valeur négative du logarithme du maximum de la fonction de vraisemblance.

USAGE cout.emv.multinomial(Y, S)

ARGUMENTS Y Matrice de variables binaires (0,1):

yk=1 pour un individu de la kième classe,

yk=0 dans les autres cas.

S La sortie non linéaire au niveau de la couche de

sortie. Ce sont les sorties obtenues après apprentissage.

VALEUR La fonction retourne une liste contenant:

neg.LL valeur négative du logarithme du maximum de la

fonction de vraisemblance.

PZ.bp Transformation log-linéaire des sorties

obtenues, ce qui donne les probabilités a

posteriori.

error Dérivée du coût par rapport à la sortie non

linéaire du réseau.

REFERENCE CIAMPI, A. et LECHEVALLIER, Y.(1995), Designing Neural Networks from Statistical Models: A new approach to Data Exploration. Proceedings of the 1st Conference on Knowledge Discovery & Data Mining, 45-50.

PROGRAMME

function(Y, S)

{

PZ.bp <- softmax(S)

logexpS <- as.numeric(log(exp(S) %*% rep(1, ncol(Y))))

neg.LL <- - sum(as.numeric(Y * (S - logexpS)))

error <- Y - PZ.bp

return(neg.LL, PZ.bp, error)

}

Page 115: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

100

cout.quad Coût quadratique

---------------------------------------------------------------------

Description Cette fonction calcule le coût quadratique

USAGE cout.quad(Y, S)

ARGUMENTS Y Matrice des sorties désirées.

S La sortie non linéaire au niveau de la couche de

sortie. Ce sont les sorties obtenues après apprentissage.

VALEUR La fonction retourne une liste contenant:

sumCq Somme des carrés des erreurs sur l'ensemble des

observations.

error Dérivée première du coût quadratique par rapport

aux sorties obtenues.

REFERENCES RIPLEY, B. D.(1993). Statistical aspect of neural networks. In Networks and Chaos-Statistical and

Probabilistic Aspects. Barndorff-Nielsen, O. E., Cox, D. R., Jensen, L., Kendall, W. S., Chapman & HALL. London. pp. 49-50

FREEMAN, J. A.(1994), Simulating Neural Networks with Mathematica. Addison-Wesley Publishing Company. p 72.

PROGRAMME

function(Y, S)

{

error <- Y - S

Cq <- error^2

sumCq <- sum(Cq %*% rep(1, ncol(Cq)))

return(sumCq, error)

}

Page 116: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

101

crossvalidation Échantillonnage par validation croisée sur plus de deux groupes disjoints

---------------------------------------------------------------------

Description Cette fonction répartit, de façon aléatoire, les exemples dans des groupes. Chaque groupe sert d’ensemble de test ou d’ensemble d’apprentissage tour à tour. Chaque ensemble de test contient K observations.

USAGE crossvalidation(npat, ngroup)

ARGUMENTS npat La taille de l’échantillon initial.

ngroup Le nombre de groupes qu’on désire obtenir.

VALEUR

la fonction retourne une liste contenant:

leave.out La taille de chaque ensemble de test.

groups Liste contenant les indices des différents groupes.

REFERENCE Efron, B. et Tibshirani, R. J. (1993). An Introduction to the Bootstrap. Chapman & Hall, London. pp 398-412.

PROGRAMME

function(npat, ngroup)

{

ngroup <- trunc(ngroup)

if(ngroup < 2)

stop("ngroup doit etre superieur ou egal a 2")

if(ngroup > npat)

stop("ngroup doit etre inferieur ou egal a npat")

if(ngroup == npat) {

groups <- 1:npat

leave.out <- 1

}

if(ngroup < npat) {

leave.out <- trunc(npat/ngroup)

o <- sample(1:npat)

Page 117: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

102

groups <- vector("list")

for(j in 1:(ngroup - 1)) {

jj <- (1 + (j - 1) * leave.out)

groups[[j]] <- (o[jj:(jj + leave.out - 1)])

}

groups[[ngroup]]<-o[( 1 + (ngroup-

1)*leave.out):npat]

}

if(leave.out == 1)

groups <- NULL

return(leave.out, groups)

}

Page 118: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

103

deltalin Dérivée du coût par rapport aux poids de connexion avec comme fonction d’activation, la fonction linéaire

---------------------------------------------------------------------

Description Cette fonction calcule les gradients par rapport aux sorties des couches de sortie et cachée avec la fonction linéaire comme fonction d’activation.

USAGE deltalin(s, e, w2)

ARGUMENTS s Sortie de la couche cachée ou de sortie.

e Gradients obtenus sur la couche précédente si on a

trois arguments. Les dérivées de la fonction linéaire par rapport aux sorties, si on a deux arguments.

w2 Matrice des poids de connexion des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

VALEUR

la fonction retourne:

delta Les dérivées des sorties si on a un argument.

Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches de sortie et cachée si on a deux arguments. Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches cachée et d’entrée si on a trois arguments.

REFERENCE Demuth, H. and Beale, M. (1992-93). Neural Network Toolbox for use with Matlab. The Math Works, Inc.

Page 119: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

104

PROGRAMME

function(s, e, w2)

{

if(nargs() == 1)

delta <- s * 0 + 1

if(nargs() == 2)

delta <- e

if(nargs() == 3)

delta <- e %*% w2

delta

}

Page 120: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

105

deltasig Dérivée du coût par rapport aux poids

de connexion avec comme fonction

d’activation, la fonction sigmoïde

---------------------------------------------------------------------

Description Cette fonction calcule les gradients par rapport aux sorties des couches de sortie et cachée avec la fonction sigmoïde comme fonction d’activation.

USAGE deltasig(s, e, w2)

ARGUMENTS s Sortie de la couche cachée ou de sortie.

e Gradients obtenus sur la couche précédente si on a

trois arguments. Les dérivées de la fonction sigmoïde par rapport aux sorties, si on a deux arguments.

w2 Matrice des poids de connexion des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

VALEUR

la fonction retourne:

delta Les dérivées des sorties si on a un argument.

Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches de sortie et cachée si on a deux arguments. Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches cachée et d’entrée si on a trois arguments.

REFERENCE Demuth, H. and Beale, M. (1992-93). Neural Network Toolbox for use with Matlab. The Math Works, Inc.

Page 121: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

106

PROGRAMME

function(s, e, w2)

{

if(nargs() == 1)

delta <- s * (1 - s)

if(nargs() == 2)

delta <- s * (1 - s) * e

if(nargs() == 3)

delta <- s * (1 - s) * (e %*% w2)

delta

}

Page 122: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

107

deltatan Dérivée du coût par rapport aux poids de connexion avec comme fonction d’activation, la fonction tangente hyperbolique sigmoïde

---------------------------------------------------------------------

Description Cette fonction calcule les gradients par rapport aux sorties des couches de sortie et cachée avec la fonction tangente hyperbolique sigmoïde comme fonction d’activation.

USAGE deltatan(s, e, w2)

ARGUMENTS s Sortie de la couche cachée ou de sortie.

e Gradients obtenus sur la couche précédente si on a

trois arguments. Les dérivées de la fonction tangente hyperbolique sigmoïde par rapport aux sorties, si on a deux arguments.

w2 Matrice des poids de connexion des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

VALEUR

la fonction retourne:

delta Les dérivées des sorties si on a un argument.

Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches de sortie et cachée si on a deux arguments. Les dérivées de la fonction coût par rapport aux poids de connexion des cellules entre les couches cachée et d’entrée si on a trois arguments.

REFERENCE Demuth, H. and Beale, M. (1992-93). Neural Network Toolbox for use with Matlab. The Math Works, Inc.

Page 123: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

108

PROGRAMME

function(s, e, w2)

{

if(nargs() == 1)

delta <- 1 - s * s

if(nargs() == 2)

delta <- (1 - s * s) * e

if(nargs() == 3)

delta <- (1 - s * s) * (e %*% w2)

delta

}

Page 124: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

109

f.prop Propagation avant du réseau

---------------------------------------------------------------------

Description Cette fonction calcule les sorties linéaires et non linéaires au niveau des couches cachée et de sortie.

USAGE f.prop(Z, w1, w2, b2, f1, f2)

ARGUMENTS Z Matrice des données contenant les covariables, y

compris la colonne du terme constant 1.

w1 Matrice des poids de connexion des cellules de la

couche d'entrée avec celles de la couche cachée. C'est une matrice de dimension (j,i), avec j=nombre de cellules dans la couche cachée, et i=nombre de cellules dans la couche d'entrée.

w2 Matrice des poids de connexion des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

b2 Argument à valeur logique indiquant s’il y a un

terme constant au niveau de la couche cachée. Il est égal à T s’il y a un terme constant et F sinon.

f1 La fonction d’activation au niveau de la couche

cachée.

f2 La fonction d’activation au niveau de la couche de

sortie.

VALEUR La fonction retourne une liste contenant:

netin La sortie linéaire au niveau de la couche cachée.

S0 La sortie non linéaire au niveau de la couche

cachée.

netout La sortie linéaire au niveau de la couche de

sortie.

S La sortie non linéaire au niveau de la couche de

sortie.

Page 125: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

110

REFERENCES RIPLEY, B. D.(1994). Neural Networks and Related Methods for classification. J. R. Statist. Soc. B, 56, 409-415.

FREEMAN, J. A.(1994), Simulating Neural Networks with Mathematica. Addison-Wesley Publishing Company. pp 68-74.

PROGRAMME

function(Z, w1, w2, b2, f1, f2)

{

netin <- Z %*% t(w1)

if(b2 == F)

S0 <- f1(netin)

else S0 <- cbind(f1(netin), 1)

netout <- S0 %*% t(w2)

S <- f2(netout)

return(netin, S0, netout, S)

}

Page 126: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

111

gen.classes Prédiction des classes sachant

les probabilités a posteriori

d’appartenir à ces classes

---------------------------------------------------------------------

Description Cette fonction détermine la classe de l’individu

sachant les probabilités a posteriori obtenues aux sorties de la propagation avant du réseau.

USAGE gen.classes(PZ)

ARGUMENTS PZ Probabilités a posteriori d’appartenir aux classes.

VALEUR

la fonction retourne:

classe La classe de l’individu.

PROGRAMME

function(PZ)

{

npat <- nrow(PZ)

nout <- ncol(PZ)

classe <- vector("numeric")

for(p in 1:npat)

classe[p] <- (1:nout)[PZ[p, ] == max(PZ[p, ]))

classe

}

Page 127: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

112

gen.test Détermination de la classe et de l’erreur de classification

---------------------------------------------------------------------

Description Cette fonction détermine la classe de l’individu et l’erreur de classification sur l’ensemble de test sachant les paramètres libres estimés après la phase d’apprentissage.

USAGE gen.test(Z, Y, w1, w2, f1=tansig, f2=lineaire)

ARGUMENTS Z L’ensemble de test.

Y Matrice de variables binaires (0,1):

yk=1 pour un individu de la kième classe,

yk=0 dans les autres cas.

w1 Les poids de connexion estimés entre les cellules

de la couche cachée et d’entrée.

w2 Les poids de connexion estimés entre les cellules

de la couche de sortie et cachée.

f1 La fonction d’activation au niveau de la couche

cachée. Argument optionnel.

f2 La fonction d’activation au niveau de la couche de

sortie. Argument optionnel.

VALEUR

la fonction retourne une liste contenant:

classe La classe de l’individu.

error.clas L’erreur de classification

PZ.bp Probabilités a posteriori d’appartenir aux classes

déterminées par le réseau.

Page 128: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

113

PROGRAMME

function(Z, Y, w1, w2, f1 = tansig, f2 = lineaire)

{

npat <- nrow(Z)

classe <- vector("numeric")

if(nrow(w1) == ncol(w2))

b2 <- F

else b2 <- T

S <- f.prop(Z, w1, w2, b2, f1, f2)$S

PZ.bp <- softmax(S)

nout <- ncol(PZ.bp)

y.bp <- matrix(0, npat, nout)

for(p in 1:npat) {

classe[p] <- (1:nout)[PZ.bp[p,]==max(PZ.bp[p, ]))

y.bp[p, classe[p]] <- 1

}

su <- apply(abs(Y - y.bp), 1, sum)

error.clas <- (100 * sum(su != 0))/npat

return(classe, error.clas, PZ.bp)

}

Page 129: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

114

learn.error Détermination de l’erreur de

classification

---------------------------------------------------------------------

Description Cette fonction calcule l’erreur de classification sur l’ensemble d’apprentissage.

USAGE learn.error(Y, PZ)

ARGUMENTS Y Matrice de variables binaires (0,1):

yk=1 pour un individu de la kième classe,

yk=0 dans les autres cas.

PZ Probabilités a posteriori d’appartenir aux classes

déterminées par le réseau.

VALEUR

la fonction retourne:

error.clas L’erreur de classification.

PROGRAMME

function(Y, PZ)

{

npat <- nrow(PZ)

nout <- ncol(PZ)

y.bp <- matrix(0, npat, nout)

for(p in 1:npat) {

clas <- (1:nout)[pz[p, ] == max(pz[p, ])]

y.bp[p, clas] <- 1

}

su <- apply(abs(Y - y.bp), 1, sum)

error.clas <- (100 * sum(su != 0))/npat

error.clas

}

Page 130: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

115

lineaire fonction d’activation linéaire

---------------------------------------------------------------------

USAGE lineaire(x, a=1, b=0.0)

ARGUMENTS x Matrice, vecteur ou scalaire. Pas de valeur

manquante.

a La pente différente de 0. Argument optionnel.

b La constante. Argument optionnel.

VALEUR La fonction retourne la densité en utilisant la fonction de densité définie par f(x) = ax + b .

EXEMPLES # les valeurs de a et b sont respectivement 1 et 0 >lineaire(2) [1] 2 >lineaire(c(-1.3, 6, 3, -8.9, 1.6, 0.3)) [1] -1.3 6.0 3.0 -8.9 1.6 0.3 >mat <- matrix(runif(4, 0, 1), 2, 2) >lineaire(mat) [,1] [,2] [1,] 0.05123971 0.8346350 [2,] 0.60057972 0.3796711

PROGRAMME

function(x, a = 1, b = 0)

{

a * x + b

}

Page 131: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

116

methodes.stat Calcul de quelques estimateurs statistiques

---------------------------------------------------------------------

Description Cette fonction permet de calculer l’AIC, le BIC et le coude (variation de la valeur négative du logarithme du maximum de la fonction de vraisemblance).

USAGE methodes.stat(neg.LL, hidden, npat, nin, nout, b2)

ARGUMENTS neg.LL Valeur négative du logarithme du maximum de

la fonction de vraisemblance.

hidden Nombre de cellules dans la couche cachée.

npat La taille de l’échantillon.

nin Nombre de cellules dans la couche d’entrée.

nout Nombre de cellules dans la couche de sortie.

b2 Argument à valeur logique indiquant s’il y a un

terme constant au niveau de la couche cachée. Il est égal à T s’il y a un terme constant et F sinon. Argument optionnel.

VALEUR

la fonction retourne une liste contenant:

hidden Nombre de cellules dans la couche cachée.

neg.LL Valeur négative du logarithme du maximum de

la fonction de vraisemblance.

aic Le critère d’information d’Akaike.

bic Le critère d’information bayésien de Schwarz.

var.r.neg.LL La variation relative de la valeur négative du

logarithme du maximum de la fonction de vraisemblance.

Page 132: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

117

EXEMPLES >methodes.stat(c(800,700,400,100),c(1,2,3,4),1000 , 8, 3) $hidden: [1] 1 2 3 4 $neg.LL: [1] 800 700 400 100 $aic: [1] 1628 1450 872 294 $bic: [1] 1696.7086 1572.6939 1048.6792 524.6645 $var.r.neg.LL: [1] 0.3333333 1.00000000

PROGRAMME

function(neg.LL, hidden, npat , nin, nout, b2 = T)

{

nh <- length(hidden)

if(b2 == T) {

aic <- 2 * neg.LL + 2 * (hidden*(nin+nout)+ nout)

bic <- 2*neg.LL+log(npat)*(hidden*(nin+nout)+nout)

}

else {

aic <- 2 * neg.LL + 2 * hidden * (nin + nout)

bic <- 2 * neg.LL + log(npat)*hidden*(nin+nout)

}

var.r.neg.LL <- diff(neg.LL)[-(nh-1)]/diff(neg.LL)[-1]

return(hidden, neg.LL, aic, bic, var.r.neg.LL)

}

Page 133: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

118

plot.multi Graphique obtenu à partir des résultats de la fonction methodes.stat

---------------------------------------------------------------------

Description Cette fonction donne les graphiques des résultats des méthodes statistiques obtenus à partir de la fonction methodes.stat

USAGE plot.multi(objet)

ARGUMENTS objet Une liste contenant:

hidden Nombre de cellules dans la couche cachée.

neg.LL Valeur négative du logarithme du maximum de

la fonction de vraisemblance.

aic Le critère d’information d’Akaike.

bic Le critère d’information bayésien de Schwarz.

var.r.neg.LL La variation relative de la valeur négative du

logarithme du maximum de la fonction de vraisemblance.

VALEUR

la fonction retourne les graphiques de l’AIC, du BIC, de la valeur négative du logarithme du maximum de la fonction de vraisemblance et de sa variation relative.

PROGRAMME

function(objet)

{

hidden <- objet$hidden

neg.LL <- objet$neg.LL

aic <- objet$aic

bic <- objet$bic

var.r.neg.LL <- objet$var.r.neg.LL

hidden1 <- hidden[-1]

hidden2 <- hidden1[-length(hidden1)]

my.X11(1, 1)

plot(hidden, aic, type = "l", xlab = "nb. unites

cachees", ylab = "aic")

title(main = "aic", col = 9)

Page 134: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

119

my.X11(1, 1)

plot(hidden, bic, type = "l", xlab = "nb. unites

cachees", ylab = "bic")

title(main = "bic", col = 9)

my.X11(1, 1)

plot(hidden, neg.LL, type = "l", xlab = "nb. unites

cachees", ylab = "neg.LL")

title(main = "neg.LL", col = 9)

my.X11(1, 1)

plot(hidden2, var.r.neg.LL, type = "l", xlab = "nb.

unites cachees", ylab = "var.r.neg.LL")

title(main = "neg.LL: variation relative", col = 2)

}

Page 135: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

120

sigmoid fonction d’activation sigmoïde

---------------------------------------------------------------------

USAGE sigmoid(x)

ARGUMENTS x Matrice, vecteur ou scalaire. Pas de valeur

manquante.

VALEUR La fonction retourne la densité en utilisant la fonction de densité définie par f(x) = 1/(1+exp(-x)) . f(x) est une valeur comprise entre 0 et 1.

REFERENCE FREEMAN, J. A.(1994), Simulating Neural Networks with Mathematica. Addison-Wesley Publishing Company. pp 68-74.

EXEMPLES >sigmoid(2) [1] 0.8807971 >sigmoid(c(-1.3, 6, 3, -8.9, 1.6, 0.3)) [1] 0.2141650170 0.9975273768 0.9525741268 0.0001363703 [5] 0.8320183851 0.5744425168 >mat <- matrix(runif(4, 0, 1), 2, 2) >sigmoid(mat) [,1] [,2] [1,] 0.5128071 0.6973341 [2,] 0.6457889 0.5937938

PROGRAMME

function(x)

{

1/(1 + exp( - x))

}

Page 136: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

121

softmax fonction log-linéaire

---------------------------------------------------------------------

USAGE softmax(x)

ARGUMENTS x Matrice, vecteur. Pas de valeur manquante.

VALEUR La fonction retourne:

S les probabilités a posteriori.

REFERENCES RIPLEY, B. D. (1994a). Neural Networks and Related Methods for classification. J. R. Statist. Soc. B, 56, pp. 409-415.

CIAMPI, A. et LECHEVALLIER, Y.(1995), Designing Neural Networks from Statistical Models: A new approach to Data Exploration. Proceedings of the 1st Conference on Knowledge Discovery & Data Mining, 45-50.

PROGRAMME

function(x)

{

x <- as.matrix(x)

if(ncol(x) == 1)

soft <- as.numeric(exp(x))

else

soft <- as.numeric(exp(x) %*% rep(1, ncol(x)))

S <- exp(x)/soft

S

}

Page 137: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

122

tansig fonction d’activation tangente hyperbolique sigmoïde

---------------------------------------------------------------------

USAGE tansig(x)

ARGUMENTS x Matrice, vecteur ou scalaire. Pas de valeur

manquante.

VALEUR La fonction retourne une valeur en utilisant la fonction définie par f(x) = 2/(1 + exp(-2*x)) - 1 f(x) est une valeur comprise entre -1 et 1.

EXEMPLES >tansig(2) [1] 0.9640276 >tansig(c(-1.3, 6, 3, -8.9, 1.6, 0.3)) [1] -0.8617232 0.9999877 0.9950548 -1.0000000 [5] 0.9216686 0.2913126 >mat <- matrix(runif(4, 0, 1), 2, 2) >tansig(mat) [,1] [,2] [1,] 0.09151815 0.7490309 [2,] 0.14693582 0.4608017

PROGRAMME

function(x)

{

2/(1 + exp(-2 * x)) - 1

}

Page 138: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

123

UPDATE Mise à jour des paramètres libres

---------------------------------------------------------------------

Description Cette fonction permet de mettre à jour les paramètres libres du réseau après chaque période d’apprentissage.

USAGE UPDATE(Z, w1, w2, delta2, delta1, dw2, dw1, S0, eta, alpha)

ARGUMENTS Z Matrice des données contenant les covariables, y

compris la colonne du terme constant 1.

w1 Matrice des poids de connexion des cellules de la

couche d'entrée avec celles de la couche cachée. C'est une matrice de dimension (j,i), avec j=nombre de cellules dans la couche cachée, et i=nombre de cellules dans la couche d'entrée.

w2 Matrice des poids de connexion des cellules de la

couche cachée avec celles de la couche de sortie. C'est une matrice de dimension (k,j), avec j=nombre de cellules dans la couche cachée, et k=nombre de cellules dans la couche de sortie.

delta2 La dérivée première de la fonction coût par rapport

aux poids de connexion de la couche de sortie vers la couche cachée.

delta1 La dérivée première de la fonction coût par rapport

aux poids de connexion de la couche cachée vers la couche d'entrée.

dw2 Variation des paramètres libres entre les périodes

t-1 et t de la couche de sortie vers la couche cachée.

dw1 Variation des paramètres libres entre les périodes

t-1 et t de la couche cachée vers la couche d'entrée.

S0 La sortie non linéaire au niveau de la couche

cachée.

eta Facteur d'apprentissage.

alpha Facteur moment ou facteur de lissage.

Page 139: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

124

VALEUR La fonction retourne une liste contenant:

w1 Matrice des poids de connexion des cellules de la couche d'entrée avec celles de la couche cachée, mise à jour.

w2 Matrice des poids de connexion des cellules de la couche cachée avec celles de la couche de sortie, mise à jour.

dw2 Variation des paramètres libres entre les périodes

t-1 et t de la couche de sortie vers la couche cachée, mise à jour.

dw1 Variation des paramètres libres entre les périodes

t-1 et t de la couche cachée vers la couche d'entrée, mise à jour.

REFERENCE RIPLEY, B. D. (1994a). Neural Networks and Related Methods for classification. J. R. Statist. Soc. B, 56, pp. 409-415.

PROGRAMME

function(Z, w1, w2, delta2, delta1, dw2, dw1, S0, eta, alpha)

{

dw2 <- (1 - alpha) * eta * t(delta2) %*% S0 + alpha * dw2

w2 <- w2 + dw2

dw1 <- (1 - alpha) * eta * t(delta1) %*% Z + alpha * dw1

w1 <- w1 + dw1

return(w1, w2, dw1, dw2)

}

Page 140: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

125

ANNEXE 4

Description des variables

NN: intervalle séparant deux pics consécutifs d’un électrocardiogramme.

CA: courant alternatif.

Nom Type Description Classification

killip Catégoriel mesure l’état cardiaque du patient 1: Classe1, 2: Classe2, 3: Classe3, 4: Classe4

Meannn Continu Moyenne des intervalles NN sur toute la longueur de l’enregistrement Varie entre 0,479 et 1,696

Sigmann Continu Écart type des intervalles NN Varie entre 0,019 et 1,948

Pnn50 Continu Probabilité que les différences successives des intervalles NN > 50 msec Varie entre 0 et 85,371 %

Sdann Continu Écart type de 5-minutes intervalle NN écart type Varie entre 0,017 et 0,449

Meansd Continu Moyenne de 5-minutes intervalle NN écart type Varie entre 0,007 et 0,222

Totac Continu Puissance CA totale pour 24 heures d’électrocardiogramme Varie entre 0,000363 et 0,2036

Ulf Continu Énergie obtenue dans la bande < 0,0033 hz pour 24 heures d’électrocardiogramme Varie entre 0,000317 et 0,2018

Vlf Continu Énergie obtenue dans la bande (0,0033 - 0,04) hz Varie entre 0,000019 et 0,026663

Lf Continu Énergie obtenue dans la bande (0,04 - 0,15) hz Varie entre 0,00003 et 0,00955

Hf Continu Énergie obtenue dans la bande (0.15 - 0.4) hz Varie entre 0,000001 et 0,011498

Meandim Continu Moyenne des valeurs 5-minutes des dimensions approximées Varie entre 0,906 et 3,679

Meanent Continu Moyenne des valeurs 5-minutes des entropies approximées Varie entre 0 et 1,261

Page 141: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

126

ANNEXE 5

Tableaux des résultats

Tableau A4.1 lappr en fonction du nombre de cellules dans la couche cachée.

# de cellules lappr

1 1219,501 2 1202,505 3 1201,904 4 1201,684 5 1200,835 6 1198,634 7 1192,637 8 1192,243 9 1187,383 10 1183,755

Tableau A4.2 Variations relatives de lappr en fonction du nombre de cellules dans la couche cachée.

# de cellules variation relative

2 28,265 3 2,733 4 0,259 5 0,385 6 0,367

7 15,225 8 0,081 9 1,340

Page 142: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

127

Tableau A4.3

Valeurs de l’AIC en fonction du nombre de cellules dans la couche cachée.

# de cellules AIC

1 2481,002 2 2481,010 3 2513,808 4 2547,368 5 2579,671 6 2609,268 7 2631,273 8 2664,486 9 2688,765 10 2715,510

Tableau A4.4 Valeurs du BIC en fonction du nombre de cellules dans la couche cachée.

# de cellules BIC

1 2593,255 2 2684,134 3 2807,803 4 2932,234 5 3055,408 6 3175,877 7 3288,753 8 3412,837 9 3527,988 10 3645,604

Page 143: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

128

Tableau A4.5

Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur deux groupes disjoints.

# de cellules lappr

1 794,085 2 781,008 3 776,060 4 768,292 5 767,608 6 762,911 7 758,622 8 757,412 9 754,441 10 748,065

Tableau A4.6 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la

méthode de la validation croisée sur deux groupes disjoints.

# de cellules ltest

1 424,466 2 419,584 3 443,036 4 429,314 5 442,648 6 440,802 7 449,430 8 439,548 9 447,062 10 449,594

Page 144: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

129

Tableau A4.7

Valeurs de lappr en fonction du nombre de cellules dans la couche cachée par la méthode de la validation croisée sur plus de deux groupes disjoints.

# de cellules lappr

1 812,131 2 804,555 3 802,834 4 797,501 5 792,911 6 792,644 7 790,149 8 789,254 9 788,954 10 788,590

Tableau A4.8 Valeurs de ltest en fonction du nombre de cellules dans la couche cachée par la

méthode de la validation croisée sur plus de deux groupes disjoints.

# de cellules ltest

1 413,490 2 413,730 3 415,608 4 418,177 5 419,927 6 419,944 7 418,723 8 421,205 9 420,614 10 420,638

Page 145: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

130

Tableau A4.9 Valeurs de SEtest en fonction du nombre de cellules dans la couche cachée par la

méthode de la validation croisée sur plus de deux groupes disjoints.

# de cellules SEtest

1 26,220 2 24,999 3 26,062 4 27,588 5 28,784 6 29,767 7 27,106 8 27,911 9 31,111 10 29,835

Tableau A4.10 Valeurs de lboot en fonction du nombre de cellules dans la couche cachée par la

méthode du bootstrap.

# de cellules lboot

1 1235,813 2 1235,487 3 1235,837 4 1236,025 5 1236,757 6 1236,225 7 1240,519 8 1247,131 9 1252,270 10 1259,918

Page 146: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

131

Tableau A4.11 Erreurs de classification après apprentissage sur tout l’ensemble des exemples en

fonction du nombre de cellules dans la couche cachée.

# de cellules Erreur(%)

1 30,117 2 30,052 3 29,794 4 29,794 5 29,665 6 29,600 7 29,536 8 29,471 9 29,471 10 29,471

Tableau A4.12 Erreurs de classification sur l’ensemble d’apprentissage en fonction du nombre de

cellules dans la couche cachée.

# de cellules Erreur(%)

1 30,100 2 29,906 3 29,810 4 29,713 5 29,713 6 29,617 7 29,519 8 29,422 9 29,326 10 29,229

Page 147: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

132

Tableau A4.13 Erreurs de classification sur l’ensemble de test en fonction du nombre de cellules dans

la couche cachée.

# de cellules Erreur(%)

1 30,589 2 30,395 3 30,783 4 30,589 5 31,170 6 31,170 7 31,558 8 31,170 9 31,550 10 31,558

Page 148: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

133

ANNEXE 6

Programmes et résultats obtenus en régression logistique

1. Programme BMDP / INPUT TITRE ='REGRESSION LOGISTIQUE SUR' FILE = 'fichier'. FORMAT = FREE . VARIABLES = 13 . / VARIABLES NAMES = killip, meannn, sigmann, pnn50, sdann, meansd, totac, ulf, vlf, lf, hf, meandim, meanent . / GROUP CODES(killip) = 1, 2, 3, 4 . NAMES(killip) = un, deux, trois, quatre . / REGRESS DEPENDENT = killip . LEVEL = 4 . TYPE = ORD . INTERVAL = meannn TO sigmann . ENTER = .01, .01 . REMOVE = .02, .02 . / PRINT CELLS = MODEL . / END

2. Régression logistique sur l’échantillon total NUMBER OF CASES READ. . . . . . . . . . . . . . 1549 TOTAL NUMBER OF RESPONSES USED IN THE ANALYSIS 1549. un . . . . . . 1069. deux . . . . . . 359. trois . . . . . . 83. quatre . . . . . . 38. TOTAL NUMBER OF DISTINCT COVARIATE PATTERNS . . 1522

Page 149: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

134

STEP NUMBER 2 meannn IS ENTERED ------------------------ LOG LIKELIHOOD = -1254.635 IMPROVEMENT CHI-SQUARE ( 2*(LN(MLR) ) = 22.993 D.F.= 1 P-VALUE= 0.000 GOODNESS OF FIT CHI-SQ (2*O*LN(O/E)) = 2488.816 D.F.=4561 P-VALUE= 1.000 STANDARD 95% CI OF EXP(COEF) COEFFICIENT ERROR COEF/SE EXP(COEF) LOW-END HIGH-END ALL OUTCOMES 1 meannn -2.204 0.466 -4.73 0.11 0.44E-01 0.27 2 sigmann -9.387 2.04 -4.59 0.84E-04 0.15E-05 0.46E-02 OUTCOME: un 3 CONST1 2.081 0.356 5.85 8.0 4.0 16. un TO deux 4 CONST2 0.3370 0.355 0.949 1.4 0.70 2.8 un TO trois 5 CONST3 -0.9128 0.376 -2.43 0.40 0.19 0.84 SUMMARY OF STEPWISE RESULTS STEP TERM LOG IMPROVEMENT GOODNESS OF FIT NO. ENTERED REMOVED DF LIKELIHOOD CHI-SQUARE P-VAL CHI-SQUARE P-VAL --- ------------------------ --- ---------- ---------- ----- ---------- ----------------------------------------------------- 0 -1305.140 2589.826 1.000 1 sigmann 1 -1266.132 78.016 0.000 2511.809 1.000 2 meannn 1 -1254.635 22.993 0.000 2488.816 1.000

3. Régression logistique sur l’ensemble d’apprentissage NUMBER OF CASES READ. . . . . . . . . . . . . . 1033 TOTAL NUMBER OF RESPONSES USED IN THE ANALYSIS 1033. un . . . . . . 718. deux . . . . . . 236. trois . . . . . . 58. quatre . . . . . . 21 .

Page 150: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

135

TOTAL NUMBER OF DISTINCT COVARIATE PATTERNS . . 1021 STEP NUMBER 2 sigmann IS ENTERED ------------------------ LOG LIKELIHOOD = -817.980 IMPROVEMENT CHI-SQUARE ( 2*(LN(MLR) ) = 14.269 D.F.= 1 P-VALUE= 0.000 GOODNESS OF FIT CHI-SQ (2*O*LN(O/E)) = 1635.960 D.F.=3094 P-VALUE= 1.000 STANDARD 95% CI OF EXP(COEF) COEFFICIENT ERROR COEF/SE EXP(COEF) LOW-END HIGH-END ALL OUTCOMES 1 meannn -2.789 0.587 -4.75 0.61E-01 0.19E-01 0.19 2 sigmann -8.884 2.49 -3.57 0.14E-03 0.10E-05 0.18E-01 OUTCOME: un 12 CONST1 2.516 0.448 5.61 12. 5.1 30. un TO deux 13 CONST2 0.7562 0.446 1.70 2.1 0.89 5.1 un TO trois 14 CONST3 -0.6695 0.478 -1.40 0.51 0.20 1.3 SUMMARY OF STEPWISE RESULTS STEP TERM LOG IMPROVEMENT GOODNESS OF FIT NO. ENTERED REMOVED DF LIKELIHOOD CHI-SQUARE P-VAL CHI-SQUARE P-VAL --- ------------------------ --- ---------- ---------- ------ ---------- ---------------------------------------------------- 0 -858.436 1716.873 1.000 1 meannn 1 -825.114 66.645 0.000 1650.228 1.000 2 sigmann 1 -817.980 14.269 0.000 1635.960 1.000

4. Régression logistique sur l’ensemble de test NUMBER OF CASES READ. . . . . . . . . . . . . . 516 TOTAL NUMBER OF RESPONSES USED IN THE ANALYSIS 516. un . . . . . . 351. deux . . . . . . 123 . trois . . . . . . 25. quatre . . . . . . 17.

Page 151: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

136

TOTAL NUMBER OF DISTINCT COVARIATE PATTERNS . . 143 STEP NUMBER 1 sigmann IS ENTERED ------------------------ LOG LIKELIHOOD = -434.915 IMPROVEMENT CHI-SQUARE ( 2*(LN(MLR) ) = 20.811 D.F.= 1 P-VALUE= 0.000 GOODNESS OF FIT CHI-SQ (2*O*LN(O/E)) = 869.831 D.F.=1544 P-VALUE= 1.000 STANDARD 95% CI OF EXP(COEF) COEFFICIENT ERROR COEF/SE EXP(COEF) LOW-END HIGH-END ALL OUTCOMES 2 sigmann -13.43 3.09 -4.34 0.15E-05 0.34E-08 0.63E-03 OUTCOME: un 12 CONST1 0.5559 0.307 1.81 1.7 0.95 3.2 un TO deux 13 CONST2 -1.158 0.322 -3.59 0.31 0.17 0.59 un TO trois 14 CONST3 -2.136 0.368 -5.81 0.12 0.57E-01 0.24 SUMMARY OF STEPWISE RESULTS STEP TERM LOG IMPROVEMENT GOODNESS OF FIT NO. ENTERED REMOVED DF LIKELIHOOD CHI-SQUARE P-VAL CHI-SQUARE P-VAL --- ------------------------ --- ---------- ---------- ----------------------------------------------------- ---------- ----- 0 -445.321 890.642 1.000 1 sigmann 1 -434.915 20.811 0.000 869.831 1.000

Page 152: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

137

BIBLIOGRAPHIE

Akaike, H. (1974). A new look at the statistical model identification. IEEE Transactions on Automatic Control, AC-19, 716-723. Allen, D. M. (1974). The relationship between variable selection and data

augmentation and a method of prediction. Technometrics, 16, 125-127. Amari, S. (1993). Mathematical methods of neurocomputing. In networks and chaos - statistical probabilistic aspects. Barndorff-Nielsen, O. E., Cox, D. R., Jensen, L., Kendall, W. S., Chapman & Hall, London. Bengio, Y. (1995). Réseaux neuronaux et apprentissage. Notes de cours (IFT 6265), Département d’informatique et de recherche opérationnelle, Université de Montréal. Chapoutier, G., Kreutzer, M. et Menini, C. (1980). Le système nerveux et le

comportement. Études vivantes, collection Academic Press. Cheng, B. et Titterington, D. M. (1994). Neural networks: A review from a

statistical perspective. Statistical Science, V 9 (1), 2-54. Ciampi, A. et Lechevallier, Y. (1995). Designing neural networks from

statistical models: A new approach to data exploration. Proceedings of the 1st Conference on Knowledge Discovery & Data Mining, 45-50. Ciampi, A., Negassa, A. et Lou, Z. (1995). Tree-structured prediction for

censored survival data and the cox model. Journal of Clinical Epidemiology, 48, 675-689. Davalo, E. et Naïm, P. (1990). Des réseaux de neurones. Édition Eyrolles, Paris. Delacour, J. et Danchin, A. (1978). Neurobiologie de l’apprentissage. Masson, Paris. Demuth, H. et Beale, M. (1992-93). Neural Network Toolbox for use with

Matlab. The Math Works, Inc.

Page 153: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

138

Efron, B. (1979). Bootstrap methods: another look at the jackknife. Annals of Statistic, 7, 1-26. Freeman, J. A. (1994). Simulating neural networks with Mathematic. Addison-wesley, reading, Massachusetts. Haykin, S. (1994 ). Neural networks: A comprehension foundation. Maxwell Macmillan, Canada. Hebb, D.O. (1949). The organization of behaviour. Wiley, New York. Hopfield, J.J. (1982). Neural networks and physical systems with emergent

collective computational abilities. Proceedings of the National Academy of Sciences, USA, 79, 2554-2558. Kramer, A.H. et Sangiovanni-Vincentelli, A. (1989). Efficient parallel learning

algorithms for neural networks. In advances in Neural Information Processing Systems 1 (D.S. Touretzky, ed.), pp. 40-48. San Mateo, CA: Morgan Kaufmann. Le Cun, Y. et Fogelman-Soulié, F. (1985). Une procédure d’apprentissage

pour réseau à seuil asymétrique, Proceedings of Cognitiva, 85, 599-604. Mac Clelland, J. et Rumelhart, D.E. (1988). Explorations in parallel distributed

processing: a handbook of models, programs, and exercises. Vol. 2. The MIT Press, Cambridge, Massachusetts. MathSoft, Août 1995. S-PLUS version 3.3 for Windows. StatSci Division MathSoft, Inc. Seattle, Washington. McCulloch, W.S., et Pitts, W. (1943). A logical calculus of the ideas immanent

in nervous activity. Bulletin of mathematical biophysics, 5, 115-133. Minsky, M. et Papert, S. (1969). Perceptrons. The MIT Press, Cambridge, Massachusetts. Negassa, A. (1996). Validation of tree-structured prediction for censored

survival data. Thèse de doctorat, Département d’Épidémiologie et de Biostatistique, McGill University, Montréal (Québec), Canada.

Page 154: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

139

Negassa, A., Ciampi, A., Abrahmowicz, M., Shapiro, S. et Boivin, J-F. (1997). Tree-structured prognostic classification for censored survival data:

Validation of computationally inexpensive model selection criteria. (sous révision). Ripley, B. D. (1993). Statistical aspects of neural networks. In networks and

chaos - Statistical probabilistic aspects. Barndorff-Nielsen, O. E., Cox, D. R., Jensen, L., Kendall, W. S., Chapman & Hall, London. pp. 49-50. Ripley, B. D. (1994a). Neural networks and related methods for classification

(with discussion). J. R. Statist. Soc. ser. B, 56, 409-456. Ripley, B. D. (1994b). Flexible Non-linear Approches to classification. In form Statistics to Neural Networks. Theory and Pattern Recognition Applications (V. Cherkassky, J. H. Friedman et H. Wechsler, eds.). Springer, New York. Rosenblatt, F. (1962). Principles of neurodynamics. Spartan, New York. Rumelhart, D.E., Hinton, G.E. et Williams, R.J. (1986). Learning

representations by back-propagating errors. Nature, 323, 533-536. Schwarz, G. (1978). Estimating the dimension of a model. Annals of Statistic, 6, 461-464. Segal, R. M. (1988). Regression tree for censored data. Biometrics, 44, 35-47. Stevens, C. (1979). Le neurone. Masson, Paris. Stone, M. (1974). Cross-validation choice and assessment of statistical

predictions. J. Royal. Statist. Soc. B 36, 111-147. Stone, M. (1977). An asymptotic equivalence of choice of model by cross-

validation and Akaike’s criterion. J. Royal. Statist. Soc. B 39, 44-47.

Page 155: Implantation de réseaux de neurones artificiels en …cogidcanada.org/site/data/docs/memoire_adico.pdfUniversité de Montréal Implantation de réseaux de neurones artificiels en

Université de Montréal Faculté des études supérieures

Ce mémoire intitulé

Implantation de réseaux de neurones artificiels en S-PLUS. Application : comparaison de méthodes statistiques dans le choix

du nombre de cellules cachées.

présenté par

Urbain Léonce Adico

a été évalué par un jury composé des personnes suivantes :

M. Yves Lepage (président-rapporteur)

M. Gilles Ducharme (directeur de recherche)

M. Antonio Ciampi (co-directeur de recherche)

M. Jean-François Angers (membre du jury)

Mémoire accepté en :