Vous êtes sur la page 1sur 187

Version 5.

Guide de l'utilisateur
Neuro One©

Les informations contenues dans ce document peuvent faire l'objet de


modifications sans préavis.
Les exemples donnés dans ce document sont fictifs.
Tous les efforts possibles ont été mis en œuvre par NETRAL S.A. pour rendre
ce document complet, pertinent et non inutilement redondant.
NETRAL S.A. ne peut être tenu responsable pour tout dommage, direct ou
indirect, dû à des inexactitudes ou omissions dans ce guide.
Aucune partie de ce guide ne peut être ni reproduite, ni transmise à qui que
ce soit par quelque moyen que ce soit sans l'autorisation écrite de NETRAL
S.A.
NETRAL et Neuro One© sont des marques déposées.

Neuro One© Copyright © NETRAL 1997- 2002


Neuro One

1 Objectifs du document
Ce document constitue un outil de formation au logiciel Neuro One© 5.

La formation comprend les étapes suivantes :


• installation du logiciel ;
• démarrage du logiciel ;
• quelques remarques sur la modélisation en général et les réseaux de neurones en particulier ;
• définition d’un projet ;
• description détaillée des projets statiques, de classification, avec séries temporelles, dynamiques, de
Kohonen et de densité ;
• utilisation des intervalles de confiance ;
• utilisation du modèle ;
• les graphiques sous Neuro One©.

Il est nécessaire de lire les paragraphes suivants:


1. OBJECTIFS DE LA FORMATION
3. PRISE EN MAIN DE NEURO ONE
5. UN PROJET SOUS NEURO ONE
6. LES DONNÉES
13. INTERVALLES DE CONFIANCE
14. UTILISATION D’UN MODÈLE
15. VISUALISATION SOUS NEURO ONE

Les paragraphes à lire selon les besoins sont :


2. INSTALLATION DE NEURO ONE 5
4. DE LA MODÉLISATION
7. MODÉLISATION STATIQUE
8. CLASSIFICATION

Manuel de l’utilisateur – TOME I Page 1


Neuro One

9. SÉRIE TEMPORELLE
10. MODÈLE DYNAMIQUE
11. KOHONEN
12. FONCTION DENSITÉ

Manuel de l’utilisateur – TOME I Page 2


Neuro One

2 Installation de Neuro One


Ce chapitre explique comment installer (et désinstaller) le logiciel Neuro One.

2.1 Licence Neuro One


La licence est matérialisée par une clé physique fournie avec le CD-ROM du logiciel. La clé est mise sur
l'ordinateur où Neuro One© va être utilisé. Le numéro de série fourni par Neuro One© est cohérent avec la clé.

2.2 Installer Neuro One


ATTENTION au système d'exploitation :
Sous Windows NT, XP, l'installateur doit avoir le statut d'administrateur !
Sous Windows 2000, l'installateur doit avoir le statut d'administrateur réseau !
L'installation du logiciel Neuro One© ajoute :
• le pilote de la clé physique dans le répertoire Système ;
• les fichiers partagés entre les applications Netral dans les répertoires partagés Netral ;
• les fichiers partagés nécessaires au fonctionnement du moteur de base de données BDE de Borland dans
les répertoires partagés Borland ;
• les fichiers nécessaires au fonctionnement du logiciel.
Pour lancer l'installation de Neuro One©, il suffit d’insérer le CD-ROM dans le lecteur. Vous lancez ensuite le
programme setup.exe qui est dans la racine du CD-ROM. Puis vous suivez les instructions affichées à l'écran.
La présence physique de la clé est recommandée durant l'installation. La procédure d'installation terminée, vous
devez arrêter puis redémarrer l’ordinateur pour que les modifications soient prises en compte.
Une installation incorrecte (mauvais numéro de série) sera signalée par le message Installation incorrecte.

Après avoir installé Neuro One©, le dossier apparaît sur le bureau de l’ordinateur.

2.3 Numéro de licence


Lors du premier lancement de Neuro One après l'installation, le message suivant apparaît :

Manuel de l’utilisateur – TOME I Page 3


Neuro One

Vous disposez alors de 15 jours pour enregistrer votre version de Neuro One auprès de Netral.
Pour vous enregistrer, vous devez répondre Oui à la question posée. Le gestionnaire de licence apparaît alors :

Vous sélectionnez le numéro de licence en cours dans la zone d'édition haute, puis vous le copiez dans le presse
papier. Enfin vous le collez sur un document texte ou un mail que vous envoyez à NETRAL (info@netral.com).
NETRAL vous retournera très rapidement le numéro définitif qui portera la date limite conforme à votre achat.
Vous pouvez alors recopier par une procédure similaire ce nouveau numéro dans la zone d'adition basse, et
cliquez sur Ecrire. Neuro One est alors installé et validé.

Manuel de l’utilisateur – TOME I Page 4


Neuro One

2.4 Installation de la clé


La clé doit être connectée physiquement sur un des ports parallèles de l’ordinateur.
Il arrive fréquemment que ce port soit utilisé pour brancher une imprimante. Dans ce cas, vous devez déconnecter
le câble de l’imprimante, installer la clé fournie par Netral, puis reconnecter le câble de l’imprimante sur l'arrière de
la clé fournie par Netral. La clé est pourvue d'une prise réservée à cet usage.

Manuel de l’utilisateur – TOME I Page 5


Neuro One

2.5 Désinstaller Neuro One©


Pour installer une version plus récente de Neuro One©, vous devez d’abord désinstaller la version antérieure de
Neuro One©.
Le programme de désinstallation est lancée avec les commandes suivantes :
1. Démarrer ;
2. Paramètres ;
3. Panneau de configuration ;
4. Ajout/suppression de programmes ;
5. Sélectionner Suite Neuro One dans l’onglet Installation/Désinstallation.
Avec ces commandes, les projets déjà réalisés avec la version antérieure de Neuro One ne sont pas supprimés. Ils
sont utilisables avec la nouvelle version de Neuro One©. Cependant, si vous désirez détruire ces projets, il faut le
faire avant la désinstallation du logiciel.
Le programme de désinstallation ne prends pas en compte le pilote de la clé. Si vous désirez installer une nouvelle
version de Neuro One, vous n'avez pas à vous en soucier. Par contre, si vous voulez désinstaller définitivement
Neuro One de ce poste, vous devez désinstaller le pilote de la clé. Pour désinstaller ce pilote, vous devez lancer le
programme spécifique de désinstallation du pilote qui dépend du système d'exploitation. Les programmes de
désinstallation sont sur le CD-ROM :
⇒ Windows 95 : répertoire Drivers\Français\Win_95\Sentw95.exe,
⇒ Windows NT et suivants :
répertoire Drivers\Français\Win_NT\Setupx86.exe.
Après lancement du programme spécifique de désinstallation, appelez le menu Fonctions, puis le sous menu
Enlever le pilote Sentinel. La suppression du pilote sera prise en compte lors du prochain redémarrage de votre
système.

Manuel de l’utilisateur – TOME I Page 6


Neuro One

3 Prise en main de Neuro One


Ce chapitre présente les étapes principales de la construction d’un projet neuronal sous Neuro One. Nous vous
invitons à effectuer vous-même ces manipulations pour vous familiariser avec le logiciel.

3.1 Lancer Neuro One


Ce document suppose que l’utilisateur possède une connaissance élémentaire sur la modélisation de données en
général, et sur les Réseaux de Neurones en particulier. Ces questions sont traitées en détail au chapitre 4
(« Modélisation »).
Pour lancer Neuro One, commencez par ouvrir le dossier « Suite Neuro One » en double-cliquant sur l’icône

qui est sur le bureau.


Le contenu du dossier est le suivant :

D’autres raccourcis peuvent être ajoutés en fonction des logiciels de la Suite Neuro One© installés.
La fenêtre d’accueil de Neuro One© est la suivante :

Elle est composée d’une barre d’outils dont le seul menu est Projet.

Projet

Manuel de l’utilisateur – TOME I Page 7


Neuro One

Superviseur Affichage du superviseur de projets

Charger projet Chargement d’un projet déjà défini

Assistant projet Création d’un nouveau projet en répondant à des questions

Nouveau projet Création d’un nouveau projet

3.2 Créer un nouveau projet avec l’Assistant Projet


Nous allons construire un nouveau projet ayant pour objet de reproduire une fonction matérialisée par des données
(Régression). Nous allons successivement :
• Définir le projet (données, pré traitement, réseau).
• Procéder à l’apprentissage du réseau.
• Sauvegarder le projet.

Pour cela, nous allons utiliser l’Assistant Projet qui vous guide pas à pas dans la construction d’un projet en vous
posant quelques questions simples. Nous exposerons au chapitre 5 (« Développement d’un projet sous Neuro
One » une procédure plus complète, qui vous permet d’accéder à tous les paramètres définissant un projet.

3.2.1 Définition du projet

Lancer l’Assistant Projet en cliquant sur l’icône .


©
La fenêtre de l’Assistant projet de Neuro One s’affiche :

Manuel de l’utilisateur – TOME I Page 8


Neuro One

Cette fenêtre vous permet :


• De créer un nouveau projet (ce que nous allons faire).
• Modifier un projet existant et sauvegardé (voir 3.4 « Rappel d’un projet sauvegardé » pour plus de
détails).
• Utiliser un projet existant sur de nouvelles données (voir chapitre 14 « Utilisation d’un modèle et Neuro
Fit) pour plus de détails).
Cliquez sur le bouton Suivant >> pour commencer la définition d’un nouveau projet.
La fenêtre Type du projet s’affiche :

Manuel de l’utilisateur – TOME I Page 9


Neuro One

• Cette fenêtre permet sélectionner un type de projet. Les particularités de chaque type de projet seront
précisées ultérieurement. Rappelons néanmoins brièvement les définitions des diverses
options :Statique : projet de régression. Le projet consiste à approximer une fonction connue seulement
par des exemples.
• Classification : projet de classification à deux classes. Le projet consiste à affecter les exemples à une
classe parmi deux. La question de la classification à plus de deux classes sera abordée au chapitre 8
(« Classification »).
• Série temporelle : projet de prévision par extrapolation de série temporelle par l’approche auto-régressive.
Les trois types de projets précédents ne font appels qu’à des architectures statiques, c’est à dire dans lesquelles
l’information progresse des Entrées du Réseau vers la Sortie sans bouclage rétroactif. Les deux types de projets
suivants font appel à des architectures bouclées, ou « dynamiques ».
• Dynamique : construction d’un Réseau à architecture bouclée, en général dans un but d’identification de
processus ou de création d’un contrôleur.
• Série temporelle dynamique : mise en œuvre des Réseaux Dynamiques dans un but d’extrapolation de
série temporelle.
Enfin, les deux derniers types de projets relèvent de la modélisation descriptive :
• Carte Auto Organisatrice : mise en oeuvre de la Carte de Kohonen, en général dans un but de
clusterisation ou de réduction de dimensionalité en tant que pré-traitement des données.
• Fonction de Densité : cartographie de la densité des exemples dans l’espace des données.
Cliquez sur le bouton Suivant. La fenêtre Fourniture de données s’affiche.

• « Nouvelle requête » est sélectionné, ce qui signifie que nous allons utiliser un fichier qui n’a pas encore
servi à faire un apprentissage sous Neuro One.
• En cochant « Importer », vous importeriez des données ayant déjà servi à un apprentissage sous Neuro
One, ainsi que l’identification des variables d’entrée et de sortie.

Manuel de l’utilisateur – TOME I Page 10


Neuro One

Cliquez sur Suivant. La fenêtre Source de données s’affiche.

Dans cette prise en main, nous allons charger un fichier texte au format « .csv ». Sélectionnez « ASCII », et
cliquez sur « Suivant », puis sélectionnez le fichier « Fonction Démo.csv » dans le répertoire
Netral/Exemples/Données.

La fenêtre « Entrée/Sortie » s’ouvre.


Vous allez définir quelles variables seront des variables « d’entrée », et quelles variables seront des variables de
« sortie ».
Sélectionnez successivement (ou par sélection multiple) les variables x1 à x10, et envoyez les dans la partie
supérieure de la zone de droite de la fenêtre en cliquant sur « Entrée ». Vous pouvez également effectuer cette
opération par glisser-déposer.

Manuel de l’utilisateur – TOME I Page 11


Neuro One

Procédez de même avec la variable « y » (bouton « Sorties »), que vous enverrez dans la partie inférieure de la
zone droite de la fenêtre.

En cliquant sur le bouton « Test lignes », vous saurez combien de lignes sont complètes (sans valeur
manquante). Neuro One ne retiendra que les lignes complètes.
Il est également possible à ce niveau de définir directement des blocs de lignes retenus pour participer à
l’apprentissage. Les lignes non retenues ne participeront pas à l’apprentissage.
Cliquez sur Suivant. La fenêtre Paramètres du modèle s’affiche.

Manuel de l’utilisateur – TOME I Page 12


Neuro One

Cette fenêtre vous permet de choisir entre :


1. Un Perceptron Multi-Couches (« Neuronal »).
2. Un réseau à fonctions radiales de Base (« FBR »).
3. Un polynôme.
Vous pouvez définir maintenant le nombre de neurones cachés (PMC ou RBF), ou l'ordre du polynôme. La valeur
de ce paramètre est extrêmement importante :
1. Trop faible, le modèle n’aura pas la souplesse nécessaire pour s’ajuster à des données complexes.
2. Trop élevée, le modèle donnera de bons résultats sur les données d’apprentissage, mais aura un mauvais
pouvoir de généralisation.
Vous devez maintenant donner un nom à votre modèle. Ceci vous permettra de le rappeler à une date ultérieure,
en particulier pour l’utiliser sur des données nouvelles. Dans la zone de saisie « Nom du modèle », entrez « Mon
premier réseau ».

Notez que vous pouvez simplement réutiliser une architecture définie lors d’un projet antérieur en cochant la case
« Utiliser un réseau de neurones existant ». Il vous sera alors demandé le nom du fichier de modèle à charger.
Cliquez alors sur « Initialiser ». Vous revenez alors dans la fenêtre principale de Neuro One, et les données sont
chargées automatiquement. Le modèle est prêt pour l’apprentissage.

3.2.2 Paramétrer la phase d’apprentissage


L’apprentissage est la phase pendant laquelle les paramètres du modèle (poids du réseau) sont ajustés de façon à
ce que le réseau matérialise au mieux la relation Entrées/Sortie telle qu’elle est représentée par les données.
Cette phase est définie par plusieurs paramètres, dont nous allons examiner les deux plus importants.

Manuel de l’utilisateur – TOME I Page 13


Neuro One

Pour paramétrer l’apprentissage, sélectionnez « Marche » dans le menu principal, puis sélectionnez le sous-menu

« Pilote ». Vous pouvez également cliquer sur l’icône


La fenêtre « Pilote » s’ouvre, et le volet « Apprentissage » est sélectionné.

3.2.2.1 Apprentissages successifs


Avant tout apprentissage, les poids sont initialisés aléatoirement : deux apprentissages successifs ne conduisent
donc pas nécessairement au même résultat. Pour cette raison, il est habituel de lancer successivement (et
automatiquement) plusieurs apprentissages.
Le nombre d’apprentissages successifs effectués sur un même jeu de données est déterminé par la valeur entrée
dans la zone « Modèles », initialisée par défaut à 10. Entrez la valeur « 4 ».
3.2.2.2 Validation
Avant de lancer l’apprentissage, il convient cependant de prendre des dispositions qui permettront d’estimer la
capacité du réseau (après apprentissage) à généraliser convenablement, en phase d’utilisation, sur des données
nouvelles qui n’étaient pas disponibles lors de l’apprentissage.
A cette fin, nous allons scinder l’ensemble des données en deux parties :
• La première, et souvent la plus volumineuse, constitue l’ensemble d’apprentissage. C’est l’erreur
commise par le réseau sur cet ensemble d’apprentissage que l’algorithme d’apprentissage va minimiser.
• La seconde constitue l’ensemble de validation. Les données de cet ensemble seront ignorées par
l’algorithme d’apprentissage, mais seront utilisées en temps réel pour mesurer l’erreur commise par le réseau
au cours des différentes phases de l’apprentissage. L’erreur finale commise par le réseau sur l’ensemble de
validation est une estimation du niveau d’erreur qu’il commettra sur des données nouvelles une fois
l’apprentissage terminé, c’est à dire dans sa phase d’utilisation.
Pour créer un ensemble de validation, sélectionnez le volet « Validation ».

Manuel de l’utilisateur – TOME I Page 14


Neuro One

Dans la zone de saisie « Dimension », entrez la valeur « 150 ». C’est le nombre d’enregistrements qui seront
prélevées dans vos données pour constituer l’ensemble de validation. Ce prélèvement est effectué par tirage
aléatoire (sans remise).

3.2.3 Lancer les apprentissages


Au cours de l’apprentissage, l’erreur commise par le réseau sur l’ensemble d’apprentissage diminuera de façon
régulière. Cette diminution est visualisée en temps réel dans la fenêtre « Ecart type », appelée par « Vue/Coût »
depuis la barre de menu,

ou en cliquant sur l’icône .

Lancez maintenant les apprentissages en cliquant sur . Comme vous l’avez demandé, quatre apprentissages
successifs seront effectués automatiquement. A l’issue de ces apprentissages, la fenêtre « Ecart type » aura
l’allure suivante :

Vous constatez :
• Que quatre apprentissages successifs ont été accomplis.
• Que les courbes rouges, visualisant l’écart type des erreurs commises par le réseau sur l’ensemble
d’apprentissage, décroissent régulièrement.

Manuel de l’utilisateur – TOME I Page 15


Neuro One

• Que les courbes bleues, visualisant l’erreur commise par le réseau sur l’ensemble de validation a une
décroissance qui n’est pas parfaitement régulière. De plus, cette erreur est supérieure à celle commise sur
l’ensemble d’apprentissage1.
Dans cet exercice de prise en main, nous ne nous préoccuperons pas de reconnaître et de préserver le
« meilleur » apprentissage, et laisserons Neuro One faire cette sélection.

3.2.4 Examiner les résultats de l’apprentissage


Nous allons maintenant examiner les résultats de l’apprentissage en faisant prédire au réseau la valeur de la
variable de sortie pour chaque enregistrement disponible (apprentissage et validation).

Pour cela, cliquez sur l’icône de la barre d’outils ou bien sélectionnez « Edition/Données internes » à
partir de la barre de menus.
La fenêtre « Données internes » apparaît.

On retrouve dans cette fenêtre une copie du fichier de données sélectionné pour la construction du projet. Sur la
gauche de la fenêtre, la colonne « Line » donne les numéros d’identification des individus. A sa droite, la colonne
« X-Val » contient la valeur « Vrai » quand l’exemple de la ligne a été retenu dans l’ensemble de validation.
A droite de la dernière colonne du fichier de données figure une colonne vide intitulée « Calcul y ». Cliquez sur le
bouton « Calcul ». La colonne se remplit des valeurs de y prédites par le réseau.

1
Il peut arriver exceptionnellement que l’erreur commise sur l’ensemble de validation soit inférieure à celle
commise sur l’ensemble d’apprentissage. Ce cas pathologique peut s’éliminer en changeant d’ensemble de
validation.

Manuel de l’utilisateur – TOME I Page 16


Neuro One

• La colonne « Résiduel » contient la différence entre la valeur prédite de y et sa valeur réelle, donc l’erreur
commise par le réseau.
• La colonne « Confiance y » contient un « Intervalle de confiance » affecté par Neuro One à cette
prédiction. Ce point sera repris au chapitre 13 (« Intervalle de confiance »)..
Le menu « Edition/Copier » vous permet de transférer les valeurs de sortie du réseau dans le presse-papier, par
exemple à des fins d’analyse statistique.

3.3 Sauvegarder un projet


Vous avez construit votre premier réseau de neurones avec Neuro One ! Il faut maintenant sauvegarder le projet
en vue d’une utilisation ultérieure.
A cette fin, appelez « Fermer/Enregistrer projet » à partir de la barre de menus ou

cliquez sur l’icône .


Le fenêtre « Enregistrer projet » apparaît.

Manuel de l’utilisateur – TOME I Page 17


Neuro One

Plusieurs projets peuvent être réunis en un groupe de projets.


• La partie de gauche de la fenêtre permet de créer, sélectionner ou détruire un groupe de projets,
La partie de droite permettant de sélectionner ou détruire un projet du groupe sélectionné.

Créez votre premier groupe de projets en cliquant sur l’icône . Changez « Nouveau groupe » en « Mon
premier groupe », puis entrez « Mon premier projet » dans la zone de saisie en bas de la fenêtre, et cliquez sur
« OK ».
Le regroupement de projets en groupes n’est pas obligatoire, et vous pouvez aussi bien sélectionner « Projets »
pour sauvegarder votre projet.
Vous pouvez renommer un projet en en sélectionnant le nom, puis en appelant « Renommer » depuis le menu
contextuel appelable par un clic droit de souris.
Vous avez terminé la construction et la sauvegarde de votre premier projet avec Neuro One.

3.4 Rappel d’un projet sauvegardé


Il arrive fréquemment que l’on soit amené à modifier la définition d’un projet construit et sauvegardé
précédemment, par exemple pour changer le nombre de neurones dans la couche cachée, ou pour changer le
prétraitement des données.

Pour ouvrir un projet existant, cliquez sur le bouton . La fenêtre Charger projet apparaît :

Manuel de l’utilisateur – TOME I Page 18


Neuro One

Cliquez sur « Mon premier groupe », puis double-cliquez sur « Mon premier projet ».
Votre projet est maintenant chargé en mémoire, et disponible pour tout changement de valeurs de paramètres que
vous jugerez utile.

3.5 Utilisation d’un modèle


Après avoir été construit par apprentissage sur des données disponibles, un modèle neuronal sera utilisé sur des
nouvelles données, par exemple dans le but de faire des prédictions sur les valeurs d’une variable. C’est la phase
d’utilisation.
Neuro One permet de charger un modèle (pré traitements plus réseau) déjà construit, de l’appliquer à de nouvelles
données, et de calculer le résultat du passage de ces nouvelles données à travers le modèle.
Pour utiliser un modèle sur de nouvelles données, sélectionnez « Outils/Usage modèle » depuis la barre de
menus. Vous activez ainsi le module Neuro Fit (qui peut aussi être lancé sans que Neuro One soit ouvert à partir
de la fenêtre « Neuro One Suite »). La fenêtre Neuro Fit s’ouvre.

Manuel de l’utilisateur – TOME I Page 19


Neuro One

Activez « Fichier/Charger modèle », puis sélectionnez le nom « Mon premier réseau.NET ».


Le module Neuro Fit sera décrit plus en détail par la suite (Chapitre 14, « Utilisation d’un modèle et Neuro
Fit »). Pour le moment, remarquez que dans la partie de gauche, chacune des variables du fichier d’apprentissage
du réseau est affichée sous forme d’une zone et d’un curseur. Vous pouvez déplacer ce curseur à volonté avec la
souris, et observer dans la zone intitulée « y » la valeur de la variable de sortie calculée par le réseau.
Pour charger un nouveau fichier de données, activez « Edition/Structures de données » depuis la barre de

menu, ou bien cliquez sur l’icône . La fenêtre « Expert de données » s’ouvre. Sélectionnez « ASCII », puis
cliquez sur « Parcourir » afin de sélectionner le fichier « Netral/Exemples/Données/Fonction démo
utilisation.csv ». La fenêtre suivante s’ouvre :

Manuel de l’utilisateur – TOME I Page 20


Neuro One

La partie gauche de la fenêtre (« Liste des champs ») contient la liste des noms des variables du fichier
« Fonction démo utilisation ». La zone la plus à droite de la fenêtre contient la liste des noms des variables du
fichier utilisé lors de l’apprentissage du réseau.
L’ordre des variables présentées au réseau est maintenant important : il est impératif que chaque variable du
fichier d’utilisation soit présentée à l’entrée de la variable d’apprentissage correspondante. Or il est possible que
les variables du fichier d’utilisation ne soient pas dans le même ordre que celles du fichier d’apprentissage, voire
qu’il contienne des variables qui n’ont pas été retenues lors de l’apprentissage.
Dans l’ordre des variables de la partie droite de la fenêtre, sélectionnez une par une les variables correspondantes
dans « Liste des champs », et cliquez sur « Entrée >> » (ou faites un glisser-déposer). Lorsque des variables
contiguës sont utilisables, et dans le bon ordre, vous pouvez faire une sélection multiple.
Dans le cas présent, toutes les variables sont utilisées, et elles sont présentées dans le bon ordre. Après transfert
des variables, la fenêtre a l’aspect suivant :

Manuel de l’utilisateur – TOME I Page 21


Neuro One

Cliquez sur « Terminer».


La fenêtre « Calculette» s’ouvre. Vous êtes maintenant dans une situation semblable à celle du § 3.2.4 Examiner
les résultats de l’apprentissage. La différence est que maintenant, il n’y a pas de valeur de référence à laquelle
comparer la valeur prédite par le réseau, comme c’était le cas avec le fichier d’apprentissage.
La commande « Edition/Copier » vous permet à nouveau de transférer les prédictions du réseau dans le presse-
papier.

3.6 Quitter Neuro One


Pour quitter Neuro One© et revenir sous Windows, sélectionnez le menu Fichier - Quitter.

Manuel de l’utilisateur – TOME I Page 22


Neuro One

4 De la modélisation
Ce chapitre précise quelques points importants sur la modélisation et les réseaux de neurones.

4.1 Modélisation de données


Modéliser un ensemble de données, c’est en extraire les régularités de façon à comprendre le mécanisme qui leur
a donné naissance. Ainsi, l’ensemble des données commerciales d’une entreprise (chiffres des ventes par produit,
par vendeur, par mois, divers budgets de promotion, de déplacement etc…), après modélisation, peut permettre
d’analyser l’influence du budget « Salons professionnels » sur les ventes de tel ou tel produit.
La modélisation des données est le domaine de la Statistique, qui a pour objet de construire des modèles de
données lorsqu’on ne dispose pas de modèle mathématique, physique ou logique du processus qui les a
générées.
Ces données sont organisées sous forme d’un tableau rectangulaire, dont les lignes sont des « individus » (ou
« exemples »), et les colonnes des variables (ou « champs », ou « attributs »). Les modèles prendront souvent la
forme d’équations reliant les diverses variables décrivant les données.
Les Réseaux de Neurones sont des familles de modèles qui dépassent, par leurs performances, les modèles
statistiques « classiques ».
Il existe deux grand types de modélisation : prédictive et descriptive.

4.1.1 Modélisation prédictive


Le but de la modélisation prédictive est de prédire la valeur prise par une variable, dite « variable à expliquer »
lorsqu’on connaît les valeurs prises par les autres variables, dites « variables explicatives »2. Neuro One permet
d’aborder les trois grandes modélisations prédictives : la régression, la classification, et l’extrapolation de séries
temporelles.
4.1.1.1 Régression
On parle de régression lorsque la variable « à expliquer » est continue. Par exemple, un métallurgiste ayant réalisé
une série d’expériences de résistance des matériaux, peut chercher à modéliser (prédire), à partir de ces résultats
expérimentaux, la limite de rupture d’une éprouvette en fonction de sa section, de sa composition chimique et de
sa température.
Le modèle de régression le plus connu et le plus utilisé est la régression linéaire. Il est parfaitement satisfaisant
lorsque la relation entre variable(s) explicative(s) et variable(s) à expliquer est linéaire.
Cette situation favorable est rarement rencontrée en pratique. De nombreuses techniques ont été inventées de
façon à modéliser des relations non linéaires inconnues, mais matérialisées par des données.

2
Notons que l’on utilise aussi les termes de « variables indépendantes » et « variables dépendantes ». Il convient
cependant de ne pas donner ici au terme « indépendantes » le sens qu’on lui donne habituellement en statistique.

Manuel de l’utilisateur – TOME I Page 23


Neuro One

La plus intuitive est de généraliser la relation linéaire par une relation polynomiale dont on choisit a priori le degré,
supérieur à 1. Neuro One offre à l’utilisateur la possibilité de construire des modèles polynomiaux.
Les modèles polynomiaux souffrent cependant d’un grave défaut : ils généralisent mal. Cette notion, fondamentale,
mérite d’être expliquée. Nous avons, jusqu’ici, parlé de « modélisation des données ». Il serait plus correct de
parler de « modélisation d’un processus qui n’est connu que par des données » (par exemple, expérimentales). Ce
que l’on attend d’un modèle, ce n’est pas seulement de modéliser correctement la relation entre les données
disponibles au moment de la modélisation, mais surtout de pouvoir affirmer que la relation ainsi identifiée
s’applique également aux données « à venir ». Ce n’est qu’à cette condition que l’on peut dire que le modèle est
bien représentatif du processus étudié. On dira alors qu’il « généralise bien ».
A performances égales sur des données disponibles, différents types de modèles généraliseront plus ou moins
bien, et seront donc plus ou moins utilisables. Les polynômes ont un pouvoir de généralisation qui se dégrade
rapidement quand augmente le nombre de variables explicatives.
A ce jour, les modèles de régression ayant le meilleur pouvoir de généralisation sont les Réseaux de Neurones
supervisés. Neuro One met à la disposition de l’utilisateur les deux types de Réseaux de Neurones supervisés
ayant les pouvoirs de généralisation les plus élevés :
1. Les Perceptrons Multi-Couches (PMC),
2. Les Réseaux à fonction radiale de base (RBF),
dont les principes sont décrits plus bas (7.2 « Types de modèles statiques »)
4.1.1.2 Classification
On parle de classification lorsque la variable « à expliquer » est qualitative (ou « modale ») et ne prend qu’un petit
nombre de valeurs. Par exemple, un constructeur automobile, disposant de trois options de motorisation A, B et C
pour un modèle donné, peut être intéressé à prédire l’option choisie par un nouvel acheteur en fonction de son
sexe, son âge, son revenu, le nombre de ses enfants, le nombre de kilomètres parcourus par an etc…
Il est clair qu’un tel modèle est forcément imparfait : deux acheteurs ayant des « profils » identiques au vu des
données dont on dispose sur lui peuvent acheter des options différentes. Le mieux que l’on puisse espérer est
donc d’estimer les probabilités pour que ces acheteurs portent leur choix sur les options A, B, et C. On fait alors
de la classification probabiliste.
On montre que la classification probabiliste est, pour le mathématicien, le même problème que celui de la
régression, à quelques détails près. Les mêmes techniques qui ont servi à faire de la régression peuvent donc
maintenant servir à faire de la classification.
En particulier, les polynômes, et les Réseaux de Neurones PMC et RBF de Neuro One permettent de faire de la
classification probabiliste, c’est à dire d’estimer les probabilités, pour chaque enregistrement, d’appartenir à telle ou
telle classe.
4.1.1.3 Séries temporelles
Prévoir la valeur que prendra une grandeur dans l’avenir est une préoccupation essentielle de beaucoup de
professions : assurance, finance, commercial, géopolitique etc… Il est donc naturel que de nombreuses techniques
aient été inventées pour pallier l’absence d’une authentique boule de cristal.
Parmi les méthodes les plus développées figurent les techniques « auto-régressives ». Dans leur forme la plus
simple, elles font l’hypothèse que la valeur de la grandeur à un pas de temps dans le futur ne dépend que des
valeurs prises par cette grandeur au temps présent et dans quelques pas de temps du passé.

Manuel de l’utilisateur – TOME I Page 24


Neuro One

Cette approche permet de ramener la prévision à un problème dont l’aspect temporel a disparu. Ainsi, si nous
supposons que la valeur de la grandeur est une fonction inconnue, mais bien réelle, des valeurs prises par cette
même grandeur dans les trois pas de temps précédents, on peut disposer les données dont on dispose (historique
de la grandeur) selon quatre colonnes, représentant les valeurs de la fonction sur trois pas de temps successifs, et
ce de toutes les façons possibles. La prévision de l’évolution de la grandeur revient alors à construire un modèle
permettant de prédire les valeurs de la quatrième colonne connaissant celles des trois premières. Autrement dit, la
prévision est maintenant ramenée à un problème de régression, d’où le nom de cette famille de techniques.
Il revient à l’utilisateur de définir le nombre de pas de temps à prendre en compte dans cette modélisation. Ce
choix effectué, Neuro One se charge de créer automatiquement le tableau des données sous une forme
appropriée pour la modélisation à venir.
Il faut cependant noter que l’approche auto-régressive n’est pas la seule envisageable. En particulier, on peut
penser à créer des modèles dynamiques (ou « récursifs ») dans lesquels la seule variable indépendante (ou
variable d’entrée) est la grandeur elle-même, mais dont la valeur de sortie dépend non seulement de la valeur en
entrée, mais également de valeurs prises par cette entrée dans le passé. Ceci s’obtient en créant, dans le modèle,
des boucles retardées permettant d’injecter en certains points du modèle des valeurs prises par d’autres points du
modèle à l’instant précédent.
Les Réseaux de Neurones Dynamiques sont des outils très puissants de modélisation récursive pour
l’extrapolation des séries temporelles et l’identification de processus. Ils sont décrits dans le chapitre 10 de ce
manuel.

4.1.2 Modélisation descriptive


La modélisation prédictive séparait clairement le rôle des variables explicatives de celui des variables expliquées.
La modélisation descriptive, elle, ne fait aucune distinction entre les variables. Elle part du constat que le cerveau
humain est mal adapté à la compréhension de gros volumes de données, et va chercher à en donner des
représentations compactes et si possibles interprétables.
Les types de modélisation descriptive sont extrêmement nombreux. Parmi les plus simples, citons :
• La valeur moyenne d’une variable.
• Plus généralement, les moments d’ordre quelconque d’une variable.
• Les histogrammes.
• Le coefficient de corrélation de deux variables.
• Etc…
Parmi les modélisations descriptives plus complexes, et que permet d’aborder Neuro One, citons :
4.1.2.1 La typologie (clustering en anglais)
Il s’agit de regrouper les individus (lignes du tableau de données) en un petit nombre de classes, chaque classe
ne contenant que des individus très semblables, et deux classes différentes contenant des individus très
dissemblables. Chaque classe nomme alors un « représentant » (ou « prototype »), par exemple son barycentre.
L’ensemble des individus disponibles (l’ « échantillon ») peut alors se résumer par la liste, très courte, des
prototypes des différentes classes. Idéalement, ces prototypes doivent, chez l’utilisateur, évoquer des
interprétations claires en termes de métier. Ainsi, une segmentation en trois classes sur une base marketing
pourrait conduire à l’interprétation suivante :

Manuel de l’utilisateur – TOME I Page 25


Neuro One

• Classe 1 : Etudiants, célibataires, faible revenu, locataire, pas de résidence secondaire.


• Classe 2 : Artisan, marié, revenu moyen, propriétaire, pas de résidence secondaire.
• Classe 3 : Cadre supérieur, revenu élevé, propriétaire, résidence secondaire.
Il existe de très nombreuses techniques de clusterisation. Des Réseaux de Neurones, d’un type particulier, appelés
« Cartes de Kohonen », permettent de faire de la clusterisation avec, en plus, des propriétés très intéressantes
d’aide à l’interprétation des résultats (voir Chapitre 11).
4.1.2.2 Réduction de dimensionalité
Dans les situations réelles, les individus d’un échantillon sont le plus souvent décrits par un grand nombre de
variables, ce qui en rend la visualisation par le cerveau humain impossible. Or il existe la plupart du temps une
forte redondance entre ces variables. On peut donc imaginer qu’il soit possible de décrire ces individus par un petit
nombre de variables « synthétiques », obtenues par combinaison des variables initiales, avec une faible perte
d’information. A l’extrême, si on ne retient que deux de ces variables synthétiques, il devient possible de donner de
l’échantillon une représentation graphique plane, facilement interprétable.
Ces considérations ont donné naissance à l’Analyse en Composantes Principales (ACP), technique très classique
d’Analyse des Données, et qui permet la création de nouvelles variables ayant la propriété d’être décorrélées, ce
qui permet de n’en retenir qu’un petit nombre pour décrire l’échantillon avec des pertes d’information minimales.
L’ACP a cependant ses limites, dues au fait que les nouvelles variables sont des combinaisons linéaires des
variables initiales. De même que, en modélisation prédictive, les Réseaux de Neurones permettaient de dépasser
les limites de la régression linéaire, ils ont la même vertu en modélisation descriptive. Dans le cas de la réduction
de dimensionalité, c’est encore la Carte de Kohonen qui permettra de dépasser les limites de l’ACP. En particulier,
elle permet de donner de l’échantillon des représentations bidimensionnelles souvent plus fidèles que celles
obtenues par l’ACP.
Notons que la réduction de dimensionalité a également une grande importance dans un autre contexte. Lors de la
construction d’un modèle (prédictif ou descriptif) se pose la question de savoir quelles sont les variables qu’il faut
retenir dans le modèle final, et quelles sont celles qu’il faut rejeter. Il semblerait que, chaque nouvelle variable
apportant de l’information, il soit préférable de prendre en compte toutes les variables disponibles dans la
construction du modèle. Malheureusement, l’augmentation inconsidérée du nombre de variables prises en compte
génère des incertitudes croissantes sur la capacité de généralisation de ce modèle. Rappelons que cette capacité
de généralisation est la raison d’être de la construction d’un modèle.
Une des phases les plus importantes de la modélisation est donc l’identification de celles des variables (originales
ou synthétiques) que l’on retiendra dans le modèle final. Une phase initiale de réduction de dimensionalité (par
exemple par Carte de Kohonen) est donc souvent un bon préalable à une modélisation réussie.
4.1.2.3 Estimation de densité
Faire de l’estimation de densité, c’est, pour chaque individu (réel ou virtuel), déterminer s’il existe peu ou beaucoup
d’individus qui lui sont très semblables, et ce de façon quantitative.
La grandeur résultant de cette estimation est la densité de probabilité, ou, plus simplement, densité. Cette
grandeur est peut-être la plus fondamentale de toute la Statistique : si on la connaissait, toutes les modélisations
(prédictives ou descriptives) en découleraient directement.
Malheureusement, la Statistique est pauvre en techniques d’estimation de densité, et celles dont on disposait
avant les Réseaux de Neurones souffrent de graves défauts (mauvaise généralisation).

Manuel de l’utilisateur – TOME I Page 26


Neuro One

Netral a développé une technique neuronale entièrement originale d’estimation de densité. Cette technique utilise
un Réseau de Neurones que l’on avait l’habitude de voir dans le domaine prédictif (régression etc…), à savoir le
PMC. La propriété fondamentale du PMC, à savoir sa remarquable capacité de généralisation, permet à Neuro
One d’offrir une technique d’estimation de densité aux résultats excellents. La mise en œuvre de cette technique
est détaillée au chapitre 12.

4.2 Grandeurs dépendantes ou indépendantes


Nous avons mentionné à propos de la prédiction les termes de :
• « variables explicatives », que l’on retrouve en entrée du modèle, et de
• « variable(s) à expliquer », que l’on retrouve en sortie du modèle.
La distinction entre les deux types de variables découle parfois naturellement du contexte : les variables « à
expliquer » décrivent des grandeurs qui sont des conséquences « physiques » des variables explicatives. Ainsi,
dans l’exemple du métallurgiste déjà évoqué, il est clair que la limite de rupture de l’éprouvette est effectivement
déterminée physiquement par les paramètres évoqués.
La distinction n’est pas toujours aussi claire. Ainsi, le métallurgiste aurait-il pu être intéressé par la prédiction du
pourcentage d’un composant à incorporer dans un alliage (variable à expliquer) afin d’atteindre un certain seuil de
rupture à une température donnée (variables explicatives).
Par ailleurs, lorsque de nombreuses variables décrivant un phénomène sont fortement corrélées, dire que l’une est
« à expliquer » est à prendre dans un sens relatif. Cette situation se rencontre souvent en économie, où il est
souvent difficile d’identifier des grandeurs réellement « indépendantes », c’est à dire sur lesquelles on puisse
librement agir sans qu’elles aient à subir de contre-réaction de la part des autres grandeurs du modèle.
Il convient donc de prêter une grande attention à la notion de variable indépendante lors de l’élaboration d’un
modèle, sous peine de construire des modèles à faible validité (exemple des problèmes dits « inverses »).

4.3 Modèle statique ou dynamique


Les problèmes de régression ou de classification sont statiques : un jeu de valeurs des variables d’entrée définit
un unique jeu de valeurs des variables de sorties. Autrement dit, les sorties sont totalement déterminées par les
entrées ″instantanées″. La structure du réseau de neurones pour modéliser la sortie d’un tel processus est un
réseau non bouclé.
Neuro One permet également de modéliser des processus dans lesquels la sortie dépend non seulement des
valeurs des entrées à un instant donné, mais également de l’historique de ces valeurs. On dit alors que le
processus est dynamique.
C’est par exemple le cas rencontré en automatique lorsque des variables de contrôle doivent maintenir la valeur
d’une grandeur d’un processus proche d’une valeur de consigne. Les valeurs correctes à donner à ces variables
de contrôle dépendent alors non seulement des valeurs instantanées des grandeurs mesurées sur le processus,
mais aussi de leurs valeurs dans le passé.
Neuro One permet de construire des Réseaux de Neurones dans lesquels des connexions réinjectent l’information
depuis les parties avales du réseau vers les parties amont. Ce type d’architecture, appelée bouclée, ou
dynamique, est utilisée en identification de processus et en contrôle.

Manuel de l’utilisateur – TOME I Page 27


Neuro One

4.4 Références
« Réseaux de neurones : méthodologie et applications »
Gérard DREYFUS et al.
Eyrolles (2002)

« Les réseaux de neurones : une technique opérationnelle pour le traitement des données industrielles,
économiques et financières. »
Gérard DREYFUS,
MESURES n°699 , novembre 1997

« Les réseaux de neurones. »


Gérard DREYFUS,
Mécanique industrielle et matériaux, n°51, septembre 1998

Manuel de l’utilisateur – TOME I Page 28


Neuro One

5 Développement d’un projet sous Neuro One


Ce chapitre présente en détail le concept de projet sous Neuro One©.
Nous décrivons la mise en forme des données, ainsi que la nature des fichiers de données utilisés par le logiciel.
On décrit la méthode générique pour concevoir un nouveau projet grâce au dialogue Projet, plus détaillé que
l’Assistant Projet. Le projet défini, nous verrons comment paramétrer l’apprentissage, puis choisir un modèle et le
sauvegarder.

5.1 Qu’est ce qu’un projet ?


Un projet regroupe toutes les informations nécessaires au développement du modèle.
Ces informations sont de trois types :
1. La description des données
Nom et format de la source de données (fichier ASCII, fichier Excel, ou table de base de données).
Choix des enregistrements (exemples) utilisés pour l’apprentissage et la validation du modèle.
Affectation des champs (entrée, sortie(s), non utilisé).
2. La description des pré-traitements et post-traitements appliqués aux données.
3. La description du modèle :
Type de modèle : Perceptron Multi-Couches statique ou dynamique, réseau RBF, polynôme.
Architecture du modèle : statique ou dynamique, nombre de neurones cachés ou degré du
polynôme.
Coefficients du modèle (poids synaptiques, coefficients des monômes).
Depuis la version 5 de Neuro One, la notion de projet a été considérablement élargie. Un projet est dorénavant
organisé autour de la modélisation d'une grandeur éventuellement par plusieurs méthodes. Il peut y avoir
plusieurs descriptions de données, et plusieurs descriptions de modèles. Chaque couple pertinent de
description de données et de description de modèle est regroupé dans un pilote, dans lequel sont également
définis les conditions d'apprentissage. Tous ces éléments sont décrits dans le § 5.3

5.2 Création d’un projet avec l’éditeur de projet


L’éditeur de projet reprend les fonctionnalités de l’Assistant Projet en les augmentant de définitions
supplémentaires de paramètres et de fonctionnalités.

Cliquer sur le bouton pour créer un nouveau projet. La fenêtre « Projet » apparaît.

Manuel de l’utilisateur – TOME I Page 29


Neuro One

5.2.1 Volet « Général »

Le volet « Général » est sélectionné. Il permet de définir quel type de projet va être construit.
• Le cadre « Type de projet » a été défini lors de la description de l’Assistant Projet (§ 3.2).
• La case « Classification » est à cocher lorsque la variable de sortie est une variable nominale à deux
valeurs. Neuro One ne traite en standard que des problèmes de classification à deux classes. Cette approche
permet néanmoins de traiter facilement des problèmes à N classes, et est reconnue comme celle conduisant aux
meilleurs résultats. Ce point est développé dans le chapitre 8 Classification.
• « Classification » n’est accessible que si Statique a été sélectionné.
• La zone « Série temporelle » permet un sur-échantillonnage des données dans les problèmes
d’extrapolation de séries temporelles par réseau dynamique. Ce point est repris en détail dans le chapitre 9
« Séries temporelles ».

5.2.2 Volet « Données »


Les données doivent être sous forme de tableau où les lignes représentent les exemples (ou « individus », ou
« enregistrements) et les colonnes les champs (ou variables). Les champs sont les futures entrées et sorties du
modèle, des dates, des renseignements supplémentaires, etc. L’ordre des champs n’a pas d’importance.
Dans le tableau qui suit, les exemples sont numérotés de 1 à N. Les champs sont « x1…x10 » et « y »

x1 x2 ------- x9 x10 y
0.67429888 0.55635119 ------- 0.89086461 0.86543298 -1.2245872
-0.13727026 0.26969323 ------- -0.4358649 0.31770289 -1.57700896
-0.7134499 -0.42975384 ------- 0.82876712 -1.02001321 -0.36816779
-0.03469657 -1.12966871 ------- 1.00223398 0.42185122 -0.72443706
-0.78848732 0.42295304 ------- 2.44929957 -0.16754907 -0.00149319

Manuel de l’utilisateur – TOME I Page 30


Neuro One

------- ------- ------- ------- ------- -------


Le fichier de données peut être
• Un fichier texte avec séparateur caractère au format ASCII (« .csv » ou « .txt »);
• Un fichier Excel© au format « .xls » ;
• Une base de données lisible par le BDE (Borland Database Engine) : dBase, Paradox, Fox Pro, Oracle,
etc.
Neuro One© transforme systématiquement chaque fichier de données au format ASCII ou Excel© en un autre
fichier au format DB. Dès que le fichier de données est modifié, la traduction est répétée. Le logiciel Neuro One©
travaille à partir des fichiers DB enregistrés dans le répertoire
C:\Program Files\Netral\Neuro One\Data\<profil>\<Nom_initial>.DB
Il est conseillé de ne pas modifier cette arborescence.
Sélectionnez la nature de la source de vos données (Presse-papier, Base de données, fichier ASCII, Excel).
Nous décrivons maintenant les spécificités de ces divers formats de données.
5.2.2.1 Données au format DB
Laissez cochée la case « DB », puis cliquez sur Suivant. La fenêtre Base de données s’ouvre.

En sélectionnant une base de données dans le cadre de gauche, vous affichez dans le cadre de droite les tables
de cette base. Sélectionnez une table et cliquez sur OK.
Note : Les bases NeuroOneData et NeuroOneData_<Utilisateur> sont créées automatiquement par le logiciel à
chaque fois que vous créez un nouveau projet.
5.2.2.2 Données au format ASCII ou « .xls »
Déselectionnez l’option « DB », puis cliquez sur « Parcourir ». La fenêtre Ouvrir s’affiche, et vous pouvez
sélectionner le fichier que vous souhaitez utiliser.

Manuel de l’utilisateur – TOME I Page 31


Neuro One

Notez que pour utiliser un fichier Excel comme fichier de données :


• Si la première ligne contient les noms des variables, la cellule le plus à gauche de cette ligne doit avoir un
commentaire contenant le lettre « T ».
• Si la deuxième ligne contient les unités des variables, la cellule le plus à gauche de cette ligne doit avoir un
commentaire contenant le lettre « U ».

5.2.3 Choix des entrées et des sorties


Après avoir sélectionné vos données, cliquez sur Suivant. La fenêtre Entrée-Sortie s’affiche alors.

Le cadre « Lignes » décrit la structure du fichier telle que l’a comprise Neuro One. Ici :
• La première ligne est annoncée comme contenant les noms des variables.
• Il n’y a pas de ligne contenant les unités des variables.

Manuel de l’utilisateur – TOME I Page 32


Neuro One

• Les données commencent à la ligne n°2.


• Le séparateur de champ est le point-virgule (« ; »).
Si cette description était incorrecte, vous pourriez la modifier, puis prendre en compte ces modifications en cliquant
sur « Actualiser ».
Cliquez maintenant sur « Suivant ». Vous pouvez maintenant définir les variables d’entrée et de sortie comme
décrit précédemment (3.2.1).
Vous pouvez également :
• Compter les lignes incomplètes (valeurs manquantes) en cliquant sur « Test lignes ». Ces lignes ne seront
de toutes façons pas prises en compte par Neuro One.
• Echantillonner votre fichier au cas où celui-ci serait trop volumineux, ce qui conduirait à des temps
d’apprentissage prohibitifs. Pour cela, entrer un nombre entier dans la zone "Echantillonnage". Si vous entrez par
exemple le nombre 3, Neuro One ne retiendra pour l’apprentissage qu’un exemple sur trois.
• Le bouton "Depuis" permet d'aller chercher une structure de données déjà définie et enregistrée. Une telle
structure peut avoir été enregistrée pour elle-même, ou provenir d'un ancien projet.

5.2.4 Volet « Traitement »


Ce volet permet de définir :
• Le type de modèle en cours de construction (Perceptron-Multicouches, réseau RBF, polynôme).

Manuel de l’utilisateur – TOME I Page 33


Neuro One

• Son nom.
• Son architecture.
• Les pré traitements appliqués aux données.

• La case Réseau interne est cochée par défaut. Elle indique que le projet va construire un nouveau modèle.
Si vous décochez cette case, vous indiquez à Neuro One que vous voulez utiliser un modèle déjà construit
précédemment. Il vous sera alors demandé d’entrer le nom du fichier du réseau ou du polynôme que vous
souhaitez utiliser.
Si vous conservez l’option « Réseau interne », donnez un nom au réseau, et entrez ce nom dans la zone de saisie
« Nom ».
• Vous devez sélectionner un type de modèle à construire, le choix étant :
1. Un Perceptron Multi-Couches (Cliquer sur Neuronal).
2. Un réseau à fonctions radiales de Base (Cliquer sur FBR).
3. Un polynôme.
• Dans le cadre Architecture, les zones « Entrées » et « Sorties » sont en grisé, et non modifiables. Les
nombres figurant dans les zones de saisie on été déterminés pendant la phase précédente, au cours de laquelle
vous avez défini les entrées et les sorties.
• Vous devez entrer maintenant :
Le nombre de neurones cachés (PMC ou RBF)
ou le degré du polynôme..
Ce paramètre très important car la capacité de modélisation des réseaux de neurones est fortement influencé par
le nombre de neurones cachés.
Un modèle avec zéro neurone caché est un modèle linéaire ; un modèle est non linéaire à partir d’un neurone
caché. A priori, le nombre de neurones cachés n’est pas connu. Il faut déterminer le meilleur choix en essayant
successivement un, deux, trois neurones cachés voire plus.

Manuel de l’utilisateur – TOME I Page 34


Neuro One

• Dans la zone Type de réseau, vous pouvez cocher les case Tout connecté ou Liens E/S.
Un réseau de type Tout connecté est un réseau où les neurones de la couche cachée sont reliés entre
eux.
Un réseau de type Liens E/S est un réseau où les neurones de sorties sont reliés aux neurones d’entrées,
en plus des liens vers les neurones cachés. Cette architecture convient bien à l’approximation de fonction
faiblement non linéaires : les liens directs E/S génèrent la « partie linéaire » de la fonction, la couche
cachée ne servant qu’à générer les écarts de la fonction à la stricte linéarité.

Liens E/S

Tout connecté Tout connecté et Liens E/S

L’intérêt de ces architectures « non standard » est de conserver au réseau son pouvoir de représentation, tout en
réduisant le nombre de poids. D’une façon générale, il faut retenir qu’à erreur égale commise sur un ensemble
d’apprentissage, un réseau de neurones (ou tout autre modèle) a d’autant plus de chance de bien généraliser qu’il
contient peu de paramètres.
• La fonction d’activation (ou fonction de transfert) par défaut (« Arc Tangente »), convient dans la majorité
des cas. Il n’est donc pas nécessaire de la modifier. D’autres fonctions d’activation sont également proposées à
l’utilisateur.
Remarquez que la fonction d’activation des neurones de sortie est définie par défaut à « Identité ». Conservez ce
choix pour les problèmes de régression. Un autre choix peut éventuellement être pris pour les problèmes de
classification (voir Chapitre 8 Classification).

Manuel de l’utilisateur – TOME I Page 35


Neuro One

• La zone « Pré traitement » vous permet de choisir un pré traitement à appliquer aux données d’entrée et
de sortie avant d’être prises en compte par le réseau.

« Aucun » n’active aucun pré traitement. Les données brutes seront utilisées lors de l’apprentissage.
« Standard » applique à chacune des variables un centrage-réduction. Les variables ainsi prétraitées
seront de moyenne nulle et de variance unité.
« Gram-Schmidt », « Composantes principales », « Composantes principales corrélées » et
« Moindre carrés » seront décrits en détail au chapitre 6.1. Ces pré traitements ont pour objectif de créer de
nouvelles variables en nombre réduit, ces nouvelles variables devenant les variables d’entrée du réseau.
La construction du réseau est terminée. Cliquez sur « Initialiser ».

Manuel de l’utilisateur – TOME I Page 36


Neuro One

5.3 Etendre le projet avec le Superviseur


5.3.1 Généralités sur le superviseur
Le superviseur de projet est un fenêtre particulière qui apparaît dans la partie gauche de la fenêtre principale de
Neuro One lorque l'on clique sur le bouton . Ce bouton est une bascule qui commande également la fermeture
du superviseur.

La fenêtre du superviseur présente une vue hiérarchisée des structures de données et des projets présents dans
la machine.

Manuel de l’utilisateur – TOME I Page 37


Neuro One

Chaque projet apparaît dans l'arborescence "Projet", éventuellement dans un nœud fils de cette arborescence.
Chaque fois qu'un nœud de l'arborescence est sélectionné, ses propriétés sontr affichées dans la fenêtre en bas
du superviseur.
Pour chaque projet trois nœuds principaux apparaissent :
Structure de données regroupe toutes les structures de données du projet
Réseaux regroupe tous les modèles du projet
Pilotes regroupe tous les pilotes du projet.
Un quatrième nœud apparaît lorsque des résultats d'apprentissage ont été sauvegardés :
Résultats regroupe les modèles sauvegardés.

Manuel de l’utilisateur – TOME I Page 38


Neuro One

Pour chacun des nœuds de l'arborescence, un menu contextuel est appelé par le bouton droit de la souris.
Les nœuds de l'arborescence peuvent être déplacés par glisser-déplacer avec la souris. Toutefois ces
mouvements ne sont autorisés que lorsqu'ils sont pertinents.

5.3.2 Edition des structures de données


Le dialogue d'édition des structures de données ressemble beaucoup à la page données de l'assistant projet. Il
vient s'y ajouter un onglet Nom qui permets de nommer la structure.

Manuel de l’utilisateur – TOME I Page 39


Neuro One

Voir le § 5.2.3

Manuel de l’utilisateur – TOME I Page 40


Neuro One

5.3.3 Edition des modèles


Le dialogue d'édition des modèles est similaire à l'onglet Traitement du dialogue projet.

L'utilisateur peut modifier à sa guise les paramètres du réseau. Il devra veiller toutefois à ce que les nombres
d'entrées et de sorties du réseau soient compatibles avec au mois une des structures de données présentes dans
le même projet.
Il est tout à fait possible de présenter dans le même projet des modèles de type différents, neuronaux,
polynomiaux ou utilisant des fonctions à base radiales, ainsi que des modèles externes modifiés par Neuro Shop,
et incorporant de la connaissance.

Manuel de l’utilisateur – TOME I Page 41


Neuro One

5.3.4 Multiplication des modèles


Lorsqu'un modèle a été définis par exemple avec 0 neurones cachés, un dialogue permet de le multiplier en
paramètrent le nombre de neurones cachés :

Il faut définir les nombres minimum et maximum de neurones cachés, et donner un nom générique aux réseaux.
Le paramètre %d utilisé ici sera remplacé par le nombre de neurones cachés du réseau.
Le clic sur OK entraîne la création de tous les réseaux demandés d'un seul coup.

Manuel de l’utilisateur – TOME I Page 42


Neuro One

5.3.5 Edition des pilotes


Le dialogue d'édition des pilotes comporte un premier onglet Général qui permets de définir le nom du pilote, et de
sélectionner les structures de données et le réseau qui seront utilisés.

Les onglets suivants sont similaires à ceux du dialogue pilote habituel de Neuro One. Ils permettent de définir les
paramètres de l'apprentissage, les fonctions de coûts, les ensemble de validation ainsi que les paramètres de
l'initialisation des poids avant l'apprentissage. Voir § 5.4

Manuel de l’utilisateur – TOME I Page 43


Neuro One

5.3.6 Multiplication des pilotes


Le dialogue de multiplication des pilotes est le suivant :

Il faut définir les minimums et maximums du rang de la structure de données, ainsi que du rang des réseaux.
Le nom générique peut comporter deux numérotations génériques %d. La première porte sur les données, la
deuxième sur les réseaux. Si une seule est présente, elle porte sur les réseaux.
Un clic sur OK entraîne la création de tous les pilotes d'un seul coup. Toutefois, les couples Données/Réseau
incompatibles ne donneront pas lieu à création de pilote correspondant.

Manuel de l’utilisateur – TOME I Page 44


Neuro One

5.4 Paramétrer l’apprentissage


Avant de lancer l’apprentissage, il est nécessaire de définir un certain nombre de paramètres réunis dans le
fenêtre « Pilote », accessible depuis la barre de menus en sélectionnant « Marche/Pilote », ou en cliquant sur

l’icône de la barre d’outils. La fenêtre « Pilote » s’ouvre :

5.4.1 Volet « Apprentissage »


Ce volet permet de choisir et de paramétrer un algorithme d’apprentissage.
5.4.1.1 Cadre « Commandes »
• Modèles
En raison du caractère aléatoire de l’initialisation des poids, deux apprentissages successifs peuvent, toutes
choses égales par ailleurs, conduire à deux résultats de qualités légèrement différentes. Il est donc habituel de
procéder à plusieurs apprentissages (ou « Itérations »), puis de ne retenir que le meilleur pour une utilisation
ultérieure. Augmenter le nombre d’apprentissages favorise la découverte d’un bon modèle. Cette approche est
cependant limitée par la durée des apprentissages.
Entrez dans la zone de saisie « Modèles » un nombre aussi élevé que possible compte tenu du temps disponible.

Manuel de l’utilisateur – TOME I Page 45


Neuro One

• « Epoques »
L’apprentissage procède par une succession de petites modifications des valeurs des poids. Chaque modification
est appelée une époque. Le nombre d’époques détermine donc le temps alloué un apprentissage. Un nombre
élevé d’époques permet à l’algorithme d’apprentissage d’atteindre l’erreur la plus basse possible sur l’ensemble
d’apprentissage compte tenu de l’initialisation. Cependant, augmenter exagérément le nombre d’époques peut
rendre la durée de chaque apprentissage impraticable.
Il est donc nécessaire de procéder à quelques apprentissages exploratoires afin de déterminer expérimentalement
un nombre d’époques approprié.
Sous le libellé « Epoques » apparaissent les noms de trois algorithmes d’apprentissage (Gradient, Levenberg-
Marquardt, Quasi-Newton), avec le nombre d’époques correspondant. Ces trois algorithmes seront activés
successivement. Il n’est pas nécessaire d’activer les trois algorithmes, et de fait, il est fréquent de n’en activer
qu’un seul. Par défaut, Levenberg-Marquardt est seul activé, car il est souvent le plus efficace.
La case à cocher à gauche de « Gradient » active la version « stochastique » de cet algorithme. La mise à jour
des poids est alors effectuée au vu de l’erreur courante du réseau sur un seul enregistrement, au lieu d’être
effectuée, comme c’est habituellement le cas, au vu de l’erreur courante du réseau sur tous les enregistrements de
l’ensemble d’apprentissage.
Notons cependant que l’algorithme du gradient (souvent appelé improprement « de rétro-propagation »), souffre de
graves défauts qui tendent progressivement à le faire tomber en désuétude.
5.4.1.2 Autres options
• Précision
Cette option permet d’interrompre l’apprentissage avant le nombre spécifié d’époques, dès qu’une époque aura
conduit à une modification des poids dont les valeurs absolues seront toutes inférieures à la valeur spécifiée.
• Coût objectif
Cette option interrompt prématurément un aprrentissage lorsque l’erreur commise sur l’ensemble d’apprentissage
est inférieure à la valeur spécifiée.
• Niveau de défiance
Cette option ajuste le niveau de confiance des résultats de l’apprentissage. Ce point est détaillé dans le chapitre
13, « Intervalles de confiance ».
• Modération des poids
Lorsque le réseau est surdimensionné (trop de neurones cachés), l’apprentissage peut conduire les poids à
prendre de grandes valeurs absolues de façon à réduire l’erreur sur l’ensemble d’apprentissage. Ce comportement
conduira à une dégradation de la capacité de généralisation du réseau. Afin d’éviter ce phénomène, l’option
« Modération des poids » met en jeu un mécanisme de régularisation qui empêche les poids de prendre des
valeurs absolues exagérées.
• Leviers
Cette option, très importante, sera développée dans 5.5 « Choisir un modèle ». Brièvement, elle permet de
différencier les zones de l’espace dans lesquelles le modèle aura une bonne généralisation, de celles dans
lesquelles son pouvoir de généralisation sera moins élevé.

Manuel de l’utilisateur – TOME I Page 46


Neuro One

5.4.2 Volet « Fonction coût »


L’apprentissage a pour objectif de minimiser une fonction de coût, qui doit être définie par l’utilisateur.
Il est habituel de prendre comme fonction de coût une fonction quadratique de l’erreur arithmétique (erreur
quadratique moyenne). C’est ce choix qui est proposé par défaut (« Delta carré »).

Ce choix n’est ni obligatoire, ni nécessairement le meilleur. Il n’est justifié théoriquement que lorsque les données
sont affectées d’un bruit additif gaussien.
Neuro One offre à l’utilisateur d’autres possibilités, qui sont décrites en annexe.
Il est possible de définir pour l’ensemble de validation une fonction de coût différente de celle utilisée pour
l’apprentissage. Pour profiter de cette possibilité, cocher la case « Validation différent ».

5.4.3 Volet « Validation croisée»


En augmentant le nombre de neurones cachés, il est toujours possible de rendre l’erreur d’apprentissage aussi
petite que l’on veut, au détriment des performances du réseau en généralisation. Il est donc impératif d’estimer les
performances en généralisation d’un réseau. Une manière simple de procéder à cette estimation est de « mettre
de côté » une certaine partie des données disponibles dans un ensemble de validation. Les données de cet
ensemble ne participent pas à l’apprentissage, et servent à estimer la précision de la prédiction du réseau sur de
données n’ayant pas participé à l’apprentissage. Cette estimation est effectuée en temps réel durant
l’apprentissage.
Le choix de la taille de l’ensemble de validation est important :
Trop faible, l’estimation des performances en généralisation devient incertaine.
Trop grande, une trop grande quantité d’information est soustraite de l’ensemble d’apprentissage,
et le modèle n’a plus assez d’information a sa disposition pour modéliser le processus avec
précision.
• Pour définir un ensemble de validation, entrez dans la zone de saisie « Dimension » le nombre
d’enregistrements à prélever sur l’ensemble des données disponibles.

Manuel de l’utilisateur – TOME I Page 47


Neuro One

L’ensemble de validation est créé par tirage aléatoire (sans remise) dans le fichier de données. Dans le cas
particulier des séries temporelles, on veut tester la capacité d’extrapolation du modèle. Il faut donc que l’ensemble
de validation soit constitué d’individus postérieurs à ceux de l’apprentissage. Dans ce cas, cochez la case
« Groupé », et entrez la position du premier exemple de l’ensemble de validation.

• Cadre « Choix de la partition » L’ensemble de validation ne joue correctement son rôle que si sa
distribution est identique à celle de l’ensemble d’apprentissage. Si ces deux distributions sont sensiblement
différentes :
L’ensemble d’apprentissage devient biaisé car sa distribution n’est plus celle des données complètes.
De plus, l’erreur observée sur l’ensemble de validation sera une mauvaise estimation de l’erreur commise
par le réseau en phase d’utilisation.
Neuro One offre la possibilité de construire un grand nombre d’ensembles de validation, et de retenir celui dont
la distribution est la plus proche de celle de l’ensemble d’apprentissage. Pour cela :

Manuel de l’utilisateur – TOME I Page 48


Neuro One

Entrez dans la zone de saisie « Tentatives » le nombre d’ensembles de validation à créer (ici, 100).
Cliquer sur « Initialiser ». La construction des ensembles de validation est lancée, et pour chacun d’entre
eux, la similarité de sa distribution et de celle de l’ensemble d’apprentissage est calculée (distance de
Kulback-Leibler). Ces calculs peuvent prendre un temps important sur de gros fichiers.
Quand le processus est terminé, cliquer sur « Meilleur ». La zone « Coût de partition » affiche le degré
de dissimilarité entre les distributions pour le meilleur tirage.
Si cette valeur vous satisfait, cliquez sur « Appliquer ». Sinon, cliquez sur « RAZ », et recommencez
l’opération.
Note : cette recherche ne peut s’effectuer que si le système d’exploitation a enregistré la taille demandée pour
l’ensemble de validation. Une fois celle-ci définie, il faut la valider en cliquant sur « OK », puis rouvrir la fenêtre
« Pilote ».
• Il est souvent intéressant de comparer les performances de divers réseaux construits avec la même
partition « Apprentissage/Validation ». Pour pouvoir recréer à volonté une partition donnée, sauvegardez la en
appelant « Fichier/Enregistrer répartition » depuis la barre de menu principale. Pour recharger une répartition
sauvegardée, entrez son nom dans la zone de saisie « Partition », ou recherchez la en cliquant sur >>.

Manuel de l’utilisateur – TOME I Page 49


Neuro One

5.4.4 Volet « Initialisation »

• Au début de chaque apprentissage, les poids sont initialisés aléatoirement par un tirage gaussien centré et
d’écart-type a. La valeur par défaut de a est 0,01. En augmentant cette valeur, on augmente le nombre de minima
locaux dans lesquels peuvent se stabiliser les apprentissages, favorisant ainsi la découverte d’un minimum
particulièrement profond (erreur particulièrement faible). Cependant, il est dangereux d’augmenter exagérément la
valeur de a : ceci favorise l’apparition de poids de forte valeur absolue, conduisant à un apprentissage lent et à un
comportement pathologique du réseau.
• Par défaut, les biais sont initialisés à 0, ce qui est généralement considéré comme souhaitable sur des
données centrées-réduites. Pour que les biais soient initialisés selon la même procédure que les autres poids,
décochez l’option.
• Vous pouvez particulariser la loi de tirage aléatoire (gaussienne) pour chacun des poids. Pour cela,
décochez la case « Standard », et entrez pour chaque poids la moyenne et l’écart-type que vous aurez choisis.
Cliquez sur « OK » pour quitter le Pilote.

5.5 L’apprentissage
Avant de lancer les apprentissages, il est fortement recommandé d’afficher la fenêtre dans laquelle seront tracées
en temps réel les courbes d’erreur sur les ensembles d’apprentissage et de validation.

Pour cela, cliquez sur l’icône , ou appelez « Vues/Coût » depuis la barre de menus.

Pour lancer l’apprentissage, cliquez sur , ou appelez « Marche/Apprentissage » depuis le menu principal. Les
courbes d’erreur (écart type de l’erreur sur les données non prétraitées) s’affichent en temps réel.

Manuel de l’utilisateur – TOME I Page 50


Neuro One

L’apprentissage courant peut être interrompu à tout instant en cliquant sur l’icône , puis repris en cliquant à
nouveau sur .
Si l’on décide d’arrêter prématurément une série d’apprentissages (par exemple pour modifier la définition du
projet), interrompre l’apprentissage courant, puis cliquer sur l’icône , ce qui remet à zéro le compteur
d’itérations.

L’icône permet de réinitialiser les poids avant de relancer une nouvelle série d’apprentissages.

5.6 Choisir un modèle


5.6.1 Généralités
A la fin d’une série d’apprentissages, plusieurs modèles ont été construits. Ces modèles seront légèrement
différents les uns des autres. Un seul de ces modèles doit être retenu en vue d’une utilisation ultérieure. Il faut
donc maintenant choisir le « meilleur » modèle, et le sauvegarder.
La définition du meilleur modèle est une question délicate. Par définition, le meilleur modèle est celui dont
l’utilisation sur des données différentes de celles disponibles lors de l’apprentissage conduit à l’erreur la plus faible
possible. Malheureusement, cette définition n’est évidemment pas opérationnelle. De fait, n’existe pas de grandeur
unique dont la maximisation garantisse un pouvoir de généralisation maximal.
Une première approche à la détermination du meilleur modèle a déjà été décrite. Elle passe par la préparation d’un
ensemble de validation, simulant des données supplémentaires non disponibles lors de l’apprentissage. La
faiblesse de cette approche est double :
Il n’est pas possible de garantir qu’ensembles d’apprentissage et de validation ont la même
distribution (la dissimilarité calculée dans Pilote/Validation n’étant qu’approximative).

Manuel de l’utilisateur – TOME I Page 51


Neuro One

Prélever un ensemble de validation réduit la quantité d’information disponible pour l’élaboration du


modèle.
Un progrès consiste à appliquer aux réseaux de neurones les techniques classiques d’estimation des
performances des modèles : validation croisée, leave-one-out, bootstrap. Ces techniques, déjà lourdes avec des
modèles linéaires, deviennent souvent impraticables dans le cas des réseaux de neurones en raison de la
longueur des apprentissages.
Neuro One met à la disposition de l’utilisateur des techniques rapides et efficaces d’estimation des performances
d’un modèle neuronal. Ces techniques sont issues de travaux théoriques récents d’une grande portée3.
Rappelons que la description d’un modèle neuronal a deux composantes :
• L’architecture, c’est à dire le choix des variables d’entrée et nombre de neurones cachés,
• Et les valeurs des poids en fin d’apprentissage.
La sélection d’un modèle devra donc :
• Dans un premier temps, déterminer le nombre approprié de neurones.
• Puis, dans une famille de réseaux ayant un nombre correct de neurones, retenir celui conduisant très
probablement à la meilleure généralisation.

5.6.2 Jacobien et taille de réseau


Rappelons qu’un modèle ayant trop peu de neurones cachés est incapable de représenter une fonction (de
régression) complexe, et donc présentera une erreur importante aussi bien sur l’ensemble d’apprentissage que sur
des données nouvelles.
A l’inverse, un réseau ayant trop de neurones cachés modélise aussi bien les données que le bruit dans ces
données. Il devient donc très sensible à l’échantillon particulier utilisé pour l’apprentissage, ce qui conduit à une
mauvaise généralisation.
On appelle Jacobien d’un modèle la matrice à N lignes et q colonnes, où N est le nombre d’exemples, et q est le
nombre de poids du réseau, et dont chaque ligne i est, par définition, le vecteur gradient de la sortie du réseau par
rapport aux poids pour l’exemple considéré.

Jacobien(i, j) =
 ∂(Sortie) 
 ∂w j  Exemple n°i
On montre que le surdimensionnement d’un réseau est détecté de façon fiable par le fait que le jacobien n’est pas
de rang plein, c’est à dire que son rang est inférieur à q.
Devant une famille de réseaux de neurones, il convient donc, dans un premier temps, d’éliminer ceux dont le
jacobien n’est pas de rang plein4.

3
Voir par exemple « Réseaux de neurones », G. DREYFUS et al., Eyrolles (2002).

4
Il faut noter que si deux réseaux R et R’, ayant respectivement q et q’ neurones, avec q > q’, il est possible que le
R’ soit surdimensionné, alors que R ne le sera pas. En effet, la surdimension éventuelle d’un réseau dépend non

Manuel de l’utilisateur – TOME I Page 52


Neuro One

5.6.3 Leviers et homogénéité


En calculant théoriquement les variations des poids optimaux d’un modèle lorsqu’on retire un exemple donné
(exemple n°k) de l’ensemble d’apprentissage, on met une évidence une grandeur hkk, appelée « levier » de
l’exemple n°k.
Le levier d’un exemple est un nombre compris entre 0 et 1.
• Un levier proche de 0 signifie que la présence ou l’absence de cet exemple dans l’ensemble
d’apprentissage ne change pas le modèle optimal pour le reste des données. On montre que ceci s’interprète
comme voulant dire que le modèle est excellent pour la petite région de l’espace autour de l’individu5.
• Un levier proche de 1, à l’inverse, signifie que la présence ou l’absence de cet exemple dans l’ensemble
d’apprentissage aura une influence importante sur les poids du modèle optimal. On montre que ceci caractérise
une situation où l’erreur commise sur cet exemple est très faible si l’ensemble fait partie de l’ensemble
d’apprentissage, mais importante si l’exemple fait partie de l’ensemble de validation. Le modèle consacre donc une
trop grande partie de ses ressources sur cet exemple, au détriment de la qualité de la généralisation autour de
l’exemple.
Cette situation se rencontre dans les modèles sur paramétrés. Pour faire baisser l’erreur d’apprentissage, ceux-ci
vont chercher à réduire exagérément l’erreur commise sur certains exemples (ceux à leviers forts).
On montre que la somme des leviers est constante, et égale à q, nombre de poids du réseau. On ne peut donc
espérer n’avoir que des exemples à faible levier : si certains exemples ont des valeurs de levier faibles, d’autres
auront des valeurs de levier fortes. La confiance que l’on peut accorder au modèle varie alors fortement selon les
régions de l’espace.
Si tous les leviers ont approximativement la même valeur, à savoir q/N, tous les exemples ont alors la même
importance dans la construction du modèle. Ne privilégiant aucun exemple en particulier, le réseau ne manifeste
pas les symptômes du sur apprentissage, et a donc un pouvoir de généralisation correct dans tout l’espace.
Il existe une grandeur, appelée homogénéité, comprise entre 0 et 1, qui caractérise la dispersion des valeurs des
leviers des exemples pour un réseau donné. Ce qui précède montre qu’il est généralement souhaitable d’utiliser
des réseaux ayant une forte valeur de l’homogénéité.

5.6.4 Coût de généralisation


La théorie des leviers permet d’estimer l’erreur que commettra un réseau particulier en généralisation. C’est le
« Coût de généralisation ».
Faisons cependant deux remarques :
• Il est possible que deux réseaux ayant approximativement la même valeur de l’erreur théorique de
généralisation révèlent sur l’ensemble d’apprentissage des homogénéités de valeurs différentes. Au vu de ce qui a

seulement du nombre de neurones, mais également des valeur des poids. Pour s’en convaincre, il suffit de
considérer un réseau dont les poids ont des valeurs absolues très faibles : il se comportera presque comme un
système linéaire (dans les variables) quel que soit le nombre de neurones.

5
Ceci ne veut pas dire que l’erreur commise par le réseau pour cet exemple est faible, mais seulement que la
fonction matérialisée par le réseau autour de l’exemple est très proche de la vraie fonction de régression.

Manuel de l’utilisateur – TOME I Page 53


Neuro One

été dit dans le paragraphe précédent, entre deux réseaux présentant approximativement la même valeur du coût
de généralisation, on choisira de préférence celui ayant l’homogénéité la plus élevée.
• La notion de coût de généralisation ne fait pas apparaître la notion d’ensemble de validation. Elle permet
d’estimer les performances d’un modèle dont l’apprentissage s’est effectué sur la totalité des exemples
disponibles (pas d’ensemble de validation).

5.6.5 Choisir un réseau


Il y a donc deux grandes catégories d’approches au choix (c’est à dire, à l’estimation des performances) d'un
réseau.
• Les approches classiques basées sur la simulation du comportement du réseau en phase d’utilisation :
ensemble de validation, validation croisée, leave-one-out, bootstrap. Ces techniques, à part l’utilisation risquée
d’un unique ensemble de validation, sont lourdes à mettre en œuvre, et de plus ne permettent pas d’utiliser la
totalité des données disponibles pour construire un réseau.
• L’approche basée sur la théorie des leviers (coût de généralisation, homogénéité), qui se caractérise par la
rapidité et l’utilisation de la totalité des données disponibles pour construire un réseau.
Pour l’une ou l’autre approche, une méthodologie de sélection de modèle suivra donc le schéma constructif
suivant :
1. Pour des valeurs de C (nombre de neurones) croissantes, construire un ensemble de réseaux, et retenir
pour chaque valeur de C le réseau conduisant à l’estimation de performance la meilleure.
2. Au-delà d’une certaine valeur de C, l’estimation des performances ne cesse de se dégrader.
3. Dans la fourchette de valeurs de C retenue, conserver le réseau ayant l’estimation de performances la
meilleure.
Dans le cas de l’approche « leviers », un critère de sélection supplémentaire est l’homogénéité, qui doit être aussi
élevée que possible.

5.6.6 Choisir un réseau avec Neuro One


5.6.6.1 Analyse des résultats d’apprentissage
Ayant procédé à une série d’apprentissages à nombre de neurones constant, appelez « Marche/Choisir un
résultat » depuis la barre de menus, ou cliquez sur l’icône . La fenêtre « Analyse des résultats
d’apprentissage » s’ouvre. Elle est essentiellement constituée par une table décrivant chaque apprentissage en
termes de divers critères de performance. L’utilisateur choisit ce critère dans le cadre « Meilleur choix » situé en
bas de la fenêtre.
Chaque apprentissage donne lieu à deux lignes :
1. La première est relative à l’ensemble d’apprentissage.
2. La deuxième est relative à l’ensemble de validation (s’il y en a un).

Manuel de l’utilisateur – TOME I Page 54


Neuro One

• La première colonne donne la date et l’heure de construction du réseau., dont le numéro d’ordre et donné
dans la deuxième colonne.
• Les colonnes Index_Pilote et Rang donnent respectivement les indices du pilote et le rang de l'initialisation
des poids pour ce pilote.
• La colonne intitulée « Meilleur », contient une variable binaire dont les valeurs sont « Vrai » ou « Faux ».
« Vrai » signifie que l'enregistrement des résultats a été fait pour l'erreur de validation la plus faible
« Faux » signifie que l'enregistrement des résultats a été fait en fin d'apprentissage.
• La colonne « Coût » contient, pour chaque enregistrement :
La valeur du coût sur l'ensemble d'apprentissage lors de l'enregistrement des résultats.
• La colonne « Validation » contient, pour chaque enregistrement :
Le coût de validation lors de l'enregistrement des résultats.
• La colonne « Généralisation » contient, pour chaque apprentissage, le coût de généralisation en fin
d’apprentissage tel qu’il est estimé pour l’ensemble d’apprentissage seul. Ce nombre est donc le même pour les
deux lignes correspondant à un même apprentissage.
• La colonne « Homogénéité » contient, pour chaque apprentissage, les valeurs de l’homogénéité pour
l’ensemble d’apprentissage (pas de validation) en fin d’apprentissage, et à l’époque correspondant à la plus faible
valeur du coût de validation.
• La colonne « Rang jacobien » contient le rang du jacobien du modèle. Rappelons qu’un modèle dont le
rang n’est pas plein (c’est à dire inférieur au nombre de poids), et très probablement sur paramétré, et en devrait
donc pas être retenu.
• La colonne « Stop » contient la raison pour laquelle l’apprentissage a été interrompu.

• La colonne « Epoque » contient, pour chaque apprentissage, l’époque pour laquelle le résultat a été
enregistré.
Chacun des libellés de colonne est en fait un bouton, dont l’activation provoque le tri des apprentissages par
valeurs décroissantes de la grandeur figurant dans la colonne. Cliquer à nouveau sur le bouton provoque le tri par
valeurs croissantes de cette même grandeur.

Manuel de l’utilisateur – TOME I Page 55


Neuro One

Les colonnes peuvent également être déplacées dans la table par glisser-déplacer pour une meilleure analyse des
données.
Le bouton Filtre permet de filtrer les enregistrements affichés.

Il est possible d'éditer "à la main" le filtre en utilisant le langage SQL. Il est préférable d'utiliser les aides sélectives
qui permettent de filtrer sur les critères suivants :
Absence d'erreur de calcul (par défaut)
Membre du meilleur choix parmi les modèles
Jacobien de rang plein
Coût d'apprentissage non nul ou supérieur à un seuil
Coût de validation non nul ou supérieur à un seuil

Manuel de l’utilisateur – TOME I Page 56


Neuro One

Coût de généralisation non nul ou supérieur à un seuil


Homogénéité non nulle ou inférieure à un seuil.
Dans le cadre « Meilleur choix », cliquez sur des options. Le modèle correspondant à ce choix est mis en
évidence par la flèche de sélection .
En cliquant sur le bouton « Appliquer », les poids correspondant sont chargés en mémoire. Ce sont ces valeurs
de poids qui seront sauvegardés en appelant « Fichier/Sauver modèle ».
5.6.6.2 Représentation « Coût de généralisation/Homogénéité »
Nous avons mentionné qu’il était possible d’estimer les performances en généralisation d’un modèle sans avoir à
recourir aux techniques basées sur un ou plusieurs ensembles de validation (validation, validation croisée, leave-
one-out, bootstrap) grâce à la théorie des leviers, qui permet d’estimer l’erreur de généralisation. Il est important
de remarquer que l’erreur de généralisation n’est qu’une estimation.
De plus, lorsque deux modèles ont approximativement la même erreur de généralisation, une plus grande
confiance peut être accordée à celui des deux qui a la plus grande homogénéité.
Neuro One permet d’afficher un graphique dans lequel chaque apprentissage est représenté par un point dont
l’abscisse est l’erreur de généralisation, et l’ordonnée est l’homogénéité. Pour afficher ce graphique, cliquez sur
l’icône .
La fenêtre Analyse des résultats d'apprentissage s’ouvre :

Manuel de l’utilisateur – TOME I Page 57


Neuro One

Chaque point représente un apprentissage. En amenant le pointeur de la souris sur un point, le numéro de son
apprentissage apparaît.
Les points en bas et à droite sont des apprentissages à rejeter car ayant des coûts de généralisation élevés et des
homogénéités faibles. Les coins inférieurs gauche ou supérieur droit sont représentent des apprentissages en
lesquels on a assez peu confiance car une des deux grandeurs précédentes a des valeurs peu souhaitables.
Les modèles en lesquels on a la plus grande confiance sont situés dans le quart supérieur gauche. En effet, cette
zone est celle des apprentissages présentant à la fois un bon coût de généralisation et une grande homogénéité.
Lorsque le pointeur de la souris est amené sur un point, un clic droit de souris entraîne la sélection du modèle
correspondant dans la table, et son chargement dans Neuro One. Tous les graphiques ouverts sont alors mis à
jour. (ATTENTION si votre base d'apprentissage est importante ou si beaucoup de fenêtre sont ouvertes, la mise à
jour peut prendre plusieurs minutes)

Manuel de l’utilisateur – TOME I Page 58


Neuro One

5.6.6.3 Visualisation des leviers et de l’homogénéité

Cliquez sur l’icône . La fenêtre « Vecteur des leviers » s’ouvre :

Cette fenêtre contient pour chaque enregistrement de la base d'apprentissage, le résidu, le levier, et la pondération
d'apprentissage.

Manuel de l’utilisateur – TOME I Page 59


Neuro One

Cette table, comme toutes les tables de Neuro One, permet la visualisation de chaque champ. En particulier, le
champ levier peut être visualisé :

En abscisse figure le numéro d’ordre des enregistrements, et en ordonnée figure les leviers de chacun d’eux.
Rappelons qu’un enregistrement à fort levier est en général sujet à une erreur de prédiction faible, mais désigne
une zone où le modèle est peu fiable. A l’opposé, un enregistrement à faible levier est dans une zone où la sortie
du réseau est proche de la vraie fonction de régression.

5.7 Sauvegarde d'un modèle


Le réseau de neurones courant est sauvegardé en sélectionnant le menu Fichier -Sauver modèle. La fenêtre
Enregistrer réseau apparaît :

Par défaut, le répertoire proposé pour enregistrer le réseau de neurones est :

Manuel de l’utilisateur – TOME I Page 60


Neuro One

C:\Program Files\Netral\Neuro One\Data\<profil>\<projet>.


Le fichier contient toutes les informations nécessaires pour utiliser le modèle :
• la structure du réseau,
• la valeurs des poids,
• le prétraitement éventuel des données,
• les moyens de calculs annexes (intervalles de confiance).

5.8 Destruction d’un projet

Cliquez sur le bouton . La fenêtre Charger projet apparaît :

Vous mettez le projet que vous souhaitez supprimer en sur brillance. Puis cliquez sur le bouton de suppression de
projet . La fenêtre Confirmation s’affiche :

Si vous répondez Oui, une deuxième fenêtre Confirmation s’affiche :

Manuel de l’utilisateur – TOME I Page 61


Neuro One

Si vous répondez Non à la deuxième confirmation, les fichiers ne sont pas supprimés mais le lien vers Neuro One©
n’existe plus.

Il est également possible de supprimer un groupe de projet vide, avec le bouton .

5.9 Importer un projet


Vous sélectionnez le menu Outils – Options, onglet Compatibilité. La fenêtre suivante s’affiche :

Dans la zone Importation, vous choisissez le version précédente de Neuro One© avec laquelle vous avez travaillé
précedemment.
Dans la fenêtre principale, vous sélectionnez le menu Fichier - Importer fichier depuis x.x. Vous visualisez les
projets créés avec la version précédente de Neuro One© puis vous les importez vers la nouvelle version de Neuro
One©. Cette opération n’est nécessaire qu’une seule fois par projet, mais vous avez le choix d'effacer ou non le
projet sous son ancien format.

Manuel de l’utilisateur – TOME I Page 62


Neuro One

6 Analyse et pré-traitements des données

Ce chapitre décrit d’une part les diverses techniques d’Analyse des données d’apprentissage, et d’autre part les
divers pré traitements des données applicables avant de procéder à un apprentissage. Ces traitements on pour
objet de faciliter l’apprentissage, et d’en rendre le résultat plus fiable.
Avant de procéder à la construction d’un modèle, il est important de trouver une représentation de ces données qui
conserve le maximum d’information, tout en réduisant autant que possible le nombre d’entrées du modèle.
Une première approche consiste à utiliser sa propre connaissance experte pour réduire le nombre de variables :
• Elimination des variables qui ne sont manifestement pas pertinentes pour le problème.
• On pourra également, devant un sous-ensemble de variables fortement redondantes, envisager de ne
prendre en compte qu’une seule, ou un petit nombre de ces variables.
• Enfin, il est courant de remplacer un sous-ensemble de données par une nouvelle variable « artificielle »,
fonction des variables du sous-ensemble.
Une autre approche (non exclusive de la première), consiste à utiliser une technique statistique de réduction de
dimensionalité (typiquement, Analyse en Composantes Principales, ou ACP). Les variables d’entrée du réseau
sont alors les variables crées par l’ACP, et leur nombre sera imposé par l’utilisateur.
Enfin, Neuro One propose une méthode récente et très performante de sélection des variables originales basée
sur leur pertinence pour des modèles linéaires dans les paramètres : c’est la méthode « d’orthogonalisation de
Gram-Schmidt ».
Nous allons examiner comment Neuro One implémente ces techniques d’Analyse des données, puis nous
décrirons les pré traitements de données mis à la disposition de l’utilisateur.

6.1 Analyse des données


6.1.1 Description
Neuro One© possède des fonctionnalités d’analyse linéaire des données. L’analyse des données est indépendante
du pré traitement sélectionné par l’utilisateur dans le menu Edition / Projet, onglet Traitement, sous menu
déroulant Pré traitement. Les données analysées sont les données chargées.
La fonctionnalité est appelée à partir du menu Marche - Analyse des données. La fenêtre Analyse des données
s’affiche :

Manuel de l’utilisateur – TOME I Page 63


Neuro One

Cette fenêtre est divisée en cinq zones ;


Pré traitement des données
Aucun : normalisation et centrage des données ;
ACP normalisée : analyse en composantes principales des données normalisées ;
Carré moyen : solution des moindres carrés ;
Vues
Histogramme ;
Vecteur / matrice : valeurs numériques ;
Action
Corrélation : calcul du coefficient de corrélation linéaire entre les entrées et la sortie ;
Classement : classement de la pertinence des entrées grâce à un test statistique ;
Boutons
Calcul : lancement du calcul ;
Aide : appel de l’aide en ligne ;
OK : enregistrement des résultats de calcul ;
Quitter : absence d’enregistrement des résultats de calcul.
Remarques :
• le modèle doit posséder plus d’une entrée pour analyser les données ;

Manuel de l’utilisateur – TOME I Page 64


Neuro One

• si le modèle possède plusieurs sorties, l’analyse est menée par rapport à la sortie n°0.

6.1.2 Sélection des entrées


Neuro One© possède une fonctionnalité pour sélectionner les entrées pertinentes parmi les entrées potentielles du
modèle.
Trois algorithmes de sélection sont disponibles :
• La corrélation linéaire entre les entrées et la sortie,
• Le classement des entrées en fonction de leur pertinence pour expliquer la sortie (alogrithme de Gram-
Schmidt).
• « Classement polynomial », qui est l’algorithme précédent appliqué aux variables originales, ainsi qu’à
tous les produits de ces variables prises 2 à 2.
6.1.2.1 Corrélations
Assurez-vous que « Corrélation » est sélectionné dans le cadre « Action ».
En cliquant sur Calcul, la fenêtre précédente change. Pour la corrélation linéaire entre les entrées et la sortie, elle
devient :

Les variables sont présentées dans la zone d’affichage de droite par ordre décroissant de corrélation avec la
sortie. La zone d’affichage de gauche présente les valeurs de ces corrélations sous forme graphique. La ligne
verticale désigne une corrélation de 0,5.

Manuel de l’utilisateur – TOME I Page 65


Neuro One

6.1.2.2 Classement (Gram-Schmidt)


Pour un modèle non linéaire (dans les paramètres), la notion de pertinence d’une variable individuelle n’a pas de
sens. Seule peut-être estimée la pertinence d’un sous-ensemble de variables.
Il n’en est pas de même pour les modèles linéaires dans les paramètres (par exemple les polynômes) : on montre
qu’il est alors possible de donner un sens à la notion de pertinence d’une variable (dans le cas d’un polynôme, la
pertinence d’un monôme).
Les réseaux de neurones sont des modèles non linéaires dans les paramètres, mais l’expérience montre que le
classement des variables dans l’ordre correspondant à un modèle linéaire permet souvent de ne retenir
effectivement qu’un sous-ensemble de variables très pertinent.
La méthode de Gram-Schmidt ne crée pas de nouvelles variables, mais classe les variables « brutes » par ordre
de pertinence décroissante pour un modèle linéaire. L’utilisateur peut alors sélectionner celles des variables les
plus pertinentes.
Les étapes de l’algorithme de Gram-Schmidt sont les suivantes :
• Recherche de l’entrée la plus corrélée avec la sortie désirée ;
• Projection des autres entrées et de la sortie dans le plan orthogonal à l’entrée la plus corrélée ;
• Répétition de l’algorithme dans le sous-espace ainsi défini.
Dans le cadre « Action », sélectionnez « Classement », puis cliquez sur « Calcul ».

La zone d’affichage de droite liste les variables par ordre décroissant de pertinence (pour un modèle linéaire). La
zone d’affichage de gauche donne une représentation graphique de la pertinence de chacune des variables.
Un curseur permet d’ajuster avec la souris le « niveau de pertinence » en dessous duquel les variables ne seront
pas prises en compte par le modèle. La valeur de 50% est la « valeur théorique » de ce seuil, mais l’utilisateur peut

Manuel de l’utilisateur – TOME I Page 66


Neuro One

en choisir un autre. Dans l’exemple montré, la variable x4 est la seule a avoir un niveau de pertinence inférieur à
50%.
En cliquant sur « Appliquer », le nombre d’entrées du réseau est automatiquement diminué du nombre de
variables rejetées. Seules sont conservées les variables ayant une pertinence supérieure au seuil.
Pour constater l’effet de cette sélection, appelez « Edition/Projet/Traitement ».

Vous constatez que le nombre de variables d’entrée a été automatiquement réduit.


Neuro One© enregistre la matrice de changement de base de l’espace initial des entrées vers l’espace après
orthogonalisation de Gram-Schmidt. Les entrées sont alors, pour un modèle linéaire par rapport aux paramètres,
classées par ordre de pertinence décroissante.
6.1.2.3 Classement polynomial
La méthode de Gram-Schmidt est appliquée non seulement aux variables originales, mais également à tous les
produits des variables deux à deux. A chaque variable est affecté un niveau de pertinence égale au plus élevé des
niveaux de pertinence des monômes dans lesquels elle apparaît.
6.1.2.4 ACP Normalisée
Dans le cadre de gauche « Pré traitements », cliquez sur « ACP normalisée ». La cadre de droite change, et
devient :

Les variables affichées ne sont plus les variables originales, mais les Composantes Principales, nommées N0, N1
etc..
Selon l’option choisie, les composantes principales sont maintenant classées :
• « Corrélation »
Par degré de corrélation décroissant avec la sorite.

Manuel de l’utilisateur – TOME I Page 67


Neuro One

• « Valeurs propres »
Par ordre de valeurs propres décroissantes.
6.1.2.5 Moindres carrés
La solution des moindres carrés est la solution linéaire (dans les variables) de modélisation. Neuro One© calcule
cette solution, la positionne en première variable d’entrée, supprime la variable d’entrée la plus corrélée avec la
sortie et orthogonalise les entrées restantes par rapport à cette solution.
Cette analyse est faite sur l’ensemble des données d’entrées des exemples présentés, après normalisation.

6.1.3 Détails mathématiques


Centrage et normalisation des données
Pour les détails mathématiques à propos du centrage et de la normalisation des données, il est conseillé de se
référer au § 17.3.
Le fichier NormalizedData.lin contient la matrice M’ et le vecteur Y’.
Aucun pré traitement
Coefficients de corrélation
Cette commande calcule la matrice de covariance C des entrées ainsi que les coefficients de corrélation entre les
entrées (colonnes de M’) et la sortie Y’.
On note C la matrice de covariance des entrées normalisées et centrées,
V le vecteur dont les coefficients sont les produits scalaires des entrées normalisées avec la sortie
normalisée.

Manuel de l’utilisateur – TOME I Page 68


Neuro One

Les éléments de C sont définis par cij = ∑ m'


k
k
i m' kj et ceux de V par vi = ∑ m'ik y k' .
k

Le fichier CovarianceMatrix.lin contient la matrice C.


Le fichier CovarianceVector.lin contient le vecteur V.
Classement
Cette commande permet de classer les entrées selon la méthode d’orthogonalisation de Gram-Schmidt, puis
d’évaluer la pertinence des entrées par un test statistique.
Le fichier GSscoring.lin contient le classement des entrées après orthogonalisation Gram-Schmidt.
Le fichier PertinenceScoring.lin contient l’évaluation du coefficient de pertinence linéaire des entrées pour la
sortie.
Le fichier CovarianceVectorGS.lin contient les covariances des entrées classées par Gram-Schmidt avec la
sortie.
Le fichier TransferMatrixGS.lin contient la matrice de changement de base de l’espace initial des entrées vers
l’espace des entrées classées par Gram-Schmidt.
Pré traitement Analyse en Composantes Principales (ACP)
Coefficients de corrélation
Cette commande calcul la matrice de covariance C des entrées .
Le fichier CovarianceVectorNPCA.lin contient le vecteur des produits scalaires des vecteurs propres de C avec la
sortie.
Valeurs propres
Cette commande calcule les valeurs propres et les vecteurs propres de la matrice de covariance C.
Le fichier EigenValues.lin contient les valeurs propres de la matrice de covariance C..
Le fichier TransferMatrixNPCA.lin contient les vecteurs propres de la matrice de covariance C (verticaux),
classées par ordre de valeur propre décroissante.
Prétraitement carré moyen
Coefficients de corrélation
Cette commande calcule la matrice de covariance C.
Projections EQM
Cette commande calcule la solution des moindres carrés de la sortie en fonction de la matrice M’ des entrées
normalisées. L’entrée la plus corrélée avec la sortie est remplacée par la solution des moindres carrés et les autres
entrées sont projetées sur le plan orthogonal à la solution des moindres carrés.
Le fichier LSSolution.lin contient les coefficients de la solution des moindres carrés.
Le fichier TransferMatrixLS.lin contient la matrice de changement de base de l’espace initial des entrées vers
l’espace des moindres carrés.
Récapitulatif des fichiers

Manuel de l’utilisateur – TOME I Page 69


Neuro One

CovarianceMatrix.lin Produits scalaires des entrées deux à deux entre elles.


CovarianceVector.lin Produits scalaires de chacune des entrées avec la sortie.
CovarianceVectorGS.lin Produits scalaires des entrées après application de
l’orthogonalisation de Gram-Schmidt.
CovarianceVectorNPCA.lin Produits scalaires de chacune des composantes principales
avec la sortie.
EigenValues.lin Valeurs propres de l’analyse en composantes principales.
GSScoring.lin Classement des entrées par la méthode de Gram-Schmidt.
LSSolution.lin Coefficients de la solution des moindres carrés.
NormalizedData.lin Table des données normalisées
PertinenceScoring.lin Evaluation de la pertinence des entrées.
TransferMatrixGS.lin Matrice de transformation des entrées par l'orthogonalisation de
Gram-Schmidt.
TransferMatrixLS.lin Matrice de transformation des entrées après recherche de la
solution des moindres carrés, et orthogonalisation des entrées
restantes.
TransferMatrixNPCA.lin Matrice de transformation des entrées par l'analyse en
composante principales.

6.2 Pré traitement des données


6.2.1 Généralités
Il est rare qu’il y ait avantage à construire un modèle neuronal avec en entrée les variables brutes de la table sans
aucun pré traitement. Il y a à cela deux raisons :
1. Les variables représentent généralement des grandeurs de natures différentes, qui peuvent occuper des
échelles numériques d’étendues très différentes. Cette situation peut également se rencontrer même si
deux variables sont de même nature, mais exprimées dans des unités différentes (x1 en cm et x2 en m, par
exemple).
Pour égaliser l’influence des différentes variables sur la construction du modèle, on convient généralement
de faire subir à chacune une transformation linéaire de façon à amener sa moyenne à « 0 », et sa variance
à « 1 ». On dit que les nouvelles variables ainsi obtenues sont « centrées-réduites ».
2. Pour augmenter la fiabilité des modèles construits, l’utilisateur doit toujours prêter attention à n’utiliser en
entrée que le plus petit nombre possible de variables, tant que la performance du modèle reste suffisante
pour ses objectifs.
Neuro One met à la disposition de l’utilisateur plusieurs techniques de pré traitement linéaire des données.
Les nouvelles variables ainsi générées peuvent parfois donner lieu à une sélection de variables d’entrée
plus pertinente que sur les variables « brutes ».
Neuro One met à la disposition de l’utilisateur les pré traitements suivants :

Manuel de l’utilisateur – TOME I Page 70


Neuro One

• Aucun : le Réseau est alimenté par les données brutes.


• Standard : les variables sont centrées-réduites. Ce traitement porte sur les variables d’entrée, mais
également sur les variables de sortie si les fonctions de transfert des neurones de sortie sont linéaires.
• Diverses transformations linéaires :
Gram-Schmidt.
Composantes Principales
Composantes Principales Corrélées
Moindres carrés
Ces pré traitements sont accessibles dans le menu Edition / Projet, onglet Traitement, sous menu déroulant Pré
traitement. La fenêtre est la suivante :

Les pré traitements possibles sont détaillés dans les paragraphes suivants.

6.2.2 Pré traitement standard


Il s’agit du pré traitement par défaut de Neuro One© : les données sont centrées (moyennes nulle) et réduites
(variance unité). Le tableau suivant résume les types de données et l’application ou non du pré traitement.
Notez que ce pré traitement n’a pas pour objet de réduire le nombre de variables.

Centrage - normalisation
Entrée Oui
Entrée d’état Non
Fonction d’activation : Identité Oui
Sortie
Fonction d’activation : différente de Non
Identité
Sortie d’état anonyme Non

Manuel de l’utilisateur – TOME I Page 71


Neuro One

Le détail des calculs de normalisation-centrage est donnée en annexe


Les coefficients de normalisation sont visibles avec la commande Edition – Normalisation Entrées ou Edition -
Normalisation Sorties qui font apparaître la fenêtre de Cadrage. La fenêtre suivante montre un exemple de
coefficients de normalisation.

6.2.3 Sélectionner un pré traitement


Depuis le volet « Traitement » de la fenêtre « Projet », sélectionnez « Gramm-Schmidt » dans la liste des pré
traitements.

Dans le cadre « Architecture », le nombre d’entrées, qui était en grisé, redevient clair. Vous pouvez maintenant
choisir le nombre de variables que vous allez retenir en entrée.
Le même principe s’applique aux autre pré traitements.

Manuel de l’utilisateur – TOME I Page 72


Neuro One

7 Modélisation statique
Ce chapitre présente les particularités des modèles statiques. Il est nécessaire d’avoir lu le chapitre Un projet sous
Neuro One auparavant.

7.1 Définition
Un modèle statique est un modèle dont la sortie ne dépend que des entrées au même instant. (Nous verrons au §
10 des modèles dynamiques, dont la sortie dépend non seulement des entrées au même instant, mais également
de ces entrées aux instants précédents).
Mathématiquement, le modèle matérialise une fonction :

Sortiecalculée (t ) = Φ[Entrées(t )] .
Dans l’exemple suivant, la valeur de la variable de sortie « y » ne dépend que des valeurs au même instant des
variables « x1, x2, x3 ».

Les modèles statiques sont utilisés pour faire de l’approximation de fonction, de la régression, de la classification,
ou de l’extrapolation de série temporelle par l’approche auto-régressive.

7.2 Types de modèles statiques


Neuro One met à la disposition de l’utilisateur trois types de modèles statiques :
• Les Polynômes.
• Le plus connu des Réseaux de Neurones : le Perceptron Multi-Couches (PMC).
• Les Réseaux de Neurones dits « à Fonctions Radiales de Base », ou Réseaux RBF.

Manuel de l’utilisateur – TOME I Page 73


Neuro One

Ces types de modèle ont en commun le fait de pouvoir approximer une fonction quelconque6, pour peu qu’on leur
donne la « souplesse » nécessaire. Cette capacité, dite « d’approximation universelle», leur permet également
d’approcher les fonctions de régression de distributions définies par des « points expérimentaux ».
Ces modèles diffèrent par la stratégie mise en œuvre pour réaliser l’approximation :
1. Les PMC le font par des combinaisons linéaires de fonctions sigmoïdales,
2. Les RBF le font par des combinaisons linéaires de gaussiennes. (mono- ou multivariées),
3. Les polynômes le font par des combinaisons linéaires de monômes.
Le choix d’un type de modèle se fait dans la fenêtre «Projet », onglet « Traitement ».

7.2.1 Perceptron Multi-Couches


C’est le plus connu des Réseaux de Neurones. Il est constitué d’un assemblage de « neurones standard», dont le
schéma est le suivant:

p o
xi o
wi
Σwi.xi p
Seuil

Le « premier étage » effectue une combinaison linéaire des entrées, avec les coefficients wi, appelés « poids
synaptiques » ou plus simplement « poids ». Il produit un nombre « p » (pour « potentiel »).
Ce nombre est ensuite transformé par une fonction de forme sigmoïdale pour produire une sortie unique, « o »
(pour « output »), parfois appelée « activation ». Cette fonction s’appelle la fonction d’activation, ou fonction de
transfert du neurone. Sa position horizontale, nommée «seuil», ou « biais» définit la valeur du potentiel pour
laquelle l’activation change de signe.
L’architecture du PMC est particulièrement simple. Elle est constituée :
1. Des entrées.
2. D’une couche cachée de neurones standard.
D’une « couche de sortie », chaque neurone de sortie produisant la valeur d’une de fonctions à approximer. Les
neurones de sortie sont le plus souvent munis de la fonction de transfert « identité », ce qui revient à ne pas mettre
de fonction d’activation. Dans ce cas, un neurone de sortie effectue simplement une combinaison linéaire des
activations des neurones de la couche cachée.

6
Plus précisément, toute fonction continue sur un volume borné.

Manuel de l’utilisateur – TOME I Page 74


Neuro One

Chaque neurone de la couche cachée génère une fonction sigmoïdale des entrées, dont les diverses
caractéristiques (orientation dans l’espace, raideur, seuil) sont déterminées par les valeurs numériques de ses
poids et de son biais.
La couche de sortie effectue des combinaisons linéaires de ces fonctions sigmoïdales.
Les paramètres du modèle sont :
1. Les poids et seuils des neurones de la couche cachée,
2. Les poids et seuil du (ou des) neurone(s) de la couche de sortie.
Leurs valeurs numériques seront déterminées par le processus d’apprentissage.
En régression, Neuro One permet de construire des modèles à plusieurs sorties. Il est cependant recommandé
(mais pas indispensable) de construire un nouveau réseau pour chaque nouvelle variables de sortie dont il faut
prédire les valeurs.
En classification, Neuro One permet de faire de classification à deux classes (1 seule sortie). Néanmoins :
• Tout problème de classification à plus de 2 classes peut se ramener à une suite de problèmes de
classification à deux classes (voir chapitre 8, « Classification »). Cette approche est habituellement meilleure que
celle cherchant à construire directement un classifieur global à N classes.
• L’atelier neuronal Neuro Shop permet de construire des réseaux faisant directement de la classification à
plus de 2 classes.
L’utilisateur a la responsabilité de définir le nombre de neurones de la couche cachée. Ce nombre a une grande
importance dans les performances du réseau dans sa phase d’utilisation après apprentissage (capacité de
généralisation). Cette question a été abordée en 5.5, « Choisir un modèle ».

7.2.2 Réseaux RBF


Le principe des réseaux RBF est le même que celui du PMC : la fonction de régression recherchée est approchée
par des combinaisons de fonctions de base. Ces dernières étaient des sigmoïdes dans le cas du PMC, elles sont
maintenant des gaussiennes dans le cas des Réseaux RBF.
Il n’est pas utile de rentrer dans les détails de l’architecture des Réseaux RBF, similaire à celle du PMC. Il convient
néanmoins de noter une différence pratique importante :
1. La couche cachée d’un PMC ne contient généralement qu’un petit nombre de neurones (inférieur à 5) pour
des problèmes ordinaires. Ce nombre n’augmente que très peu quand on augmente le nombre de
variables d’entrée.
2. La couche cachée d’un Réseau RBF contient souvent des dizaines, voire des centaines de neurones
cachés, même pour des problèmes simples. De plus, ce nombre augmente très vite avec le nombre de
variables d’entrée.
Neuro One utilise des gaussiennes dont les matrices de covariance sont diagonales, c’est à dire dont les axes
d’inertie sont parallèles aux axes des données.

Manuel de l’utilisateur – TOME I Page 75


Neuro One

7.2.3 Polynômes
Le seul paramètre ajustable par l’utilisateur est le degré du polynôme. Notons qu’un polynôme est un modèle
linéaire en ses paramètres (coefficients des monômes), et qu’il n’est donc pas utile de demander plus d’une
itération : toutes les itérations donneront en effet exactement le même résultat.

7.2.4 Choix d’un type de modèle


Pourquoi mettre à la disposition de l’utilisateur plusieurs types de modèle (PMC, RBF, polynôme) ?
La raison est qu’il existe un compromis entre la capacité de généralisation d’un modèle (qui est sa vertu la plus
recherchée) et la difficulté qu’il y a à le construire.
1. Le PMC est celui de tous les modèles non linéaires qui a la meilleure capacité de généralisation. Mais son
élaboration peut s’avérer longue et laborieuse.

2. Sur des problèmes simples, les Réseaux RBF peuvent avoir un pouvoir de généralisation satisfaisant, et
se construisent plus facilement que des PMCs. Mais ce pouvoir de généralisation se dégrade vite avec le
nombre d’entrées du réseau, et avec le niveau de bruit dans les données.

3. Le polynôme est connu pour avoir un mauvais pouvoir de généralisation. Cependant, sa construction est
pratiquement instantanée et sans surprise. De plus, le degré du polynôme donnant le meilleur pouvoir de
généralisation peut être une indication de la complexité de la fonction de régression recherchée. Enfin, ce
même pouvoir de généralisation sera utilement considéré comme une « limite basse » que tout réseau de
neurones se doit de dépasser.

7.3 Champ supplémentaire


Le champ supplémentaire permet de pondérer l’importance des exemples pendant l’apprentissage. Cette
commande est disponible dans le menu Edition – Projet, onglet Données – Avancé…. La fenêtre Projet devient :

Manuel de l’utilisateur – TOME I Page 76


Neuro One

Dans la zone Champ supplémentaire, vous cliquez sur le bouton Pondération et choisissez le champ contenant
les coefficients de pondération. En l'absence de choix, tous les exemples sont égaux.

Manuel de l’utilisateur – TOME I Page 77


Neuro One

8 Classification
Ce chapitre présente les particularités des modèles de classification. Il est nécessaire d’avoir lu le chapitre Un
projet sous Neuro One auparavant.

8.1 Définition
Un projet de classification est un projet pour lequel le champ de sortie n’est pas un nombre mais le nom de la
classe à laquelle appartient l’exemple. La sortie du modèle est alors approximativement égale à la probabilité
d’appartenance d’un exemple à chacune des classes. La Suite Neuro One permet de réaliser un classifieur à
plusieurs classes. Le réseau a alors autant de sorties que de classes, et fournit sur chacune des sorties la
probabilité d'appartenance à la classe correspondante .
Si le problème ne comprend que deux classes, Neuro One propose directement un réseau adapté avec une seule
sortie, ce qui est suffisant : le niveau bas de la sortie code pour une classe, et le niveau haut code pour l’autre.
Si le problème comprend plus de deux classes, la méthodologie conseillée est la suivante :
• développer autant de classifieurs à deux classes que de paires de classes,
• fusionner les classifieurs obtenus en un seul avec Neuro Shop (en option).
Par exemple, un problème comprenant trois classes α, β et γ nécessite 3*2/2 =3 classifieurs. Ces classifieurs sont
α contre β, α contre γ et β contre γ.
Cette méthodologie n'est pas la seule envisageable. En effet, il est possible de développer des classifieurs à une
classe contre toutes les autres. Cependant, dans la plupart des cas, cette méthode est beaucoup moins précise.

8.2 Structure du réseau


On note :
• A un ensemble de points appartenant à la classe A,
• NA le nombre de points de l'ensemble A,
• B un ensemble de points appartenant à la classe B,
• NB le nombre de points de l'ensemble B,
• x le vecteur de variables des répartitions étudiées,

• P A x la probabilité a posteriori d'appartenance à la classe A connaissant x.


• fA(x) la fonction de densité de probabilité des points de A,
• fB(x) la fonction de densité de probabilité des points de B.

Manuel de l’utilisateur – TOME I Page 78


Neuro One

N A f A ( x)
La fonction P A x est égale à .
N A f A ( x) + N B f B ( x)
Pour modéliser la probabilité a posteriori d'appartenance à la classe A connaissant x, P A x , Neuro One©
propose le réseau de neurones suivant :

Biais
1 N
c= Log A
2 NB

Entrées
Sortie

Activation :
Sigmoïde

La fonction d'activation du neurone de sortie est une sigmoïde. Ainsi, la sortie est comprise entre 0 et 1.
De plus, Neuro One© ajoute une synapse fixe entre le biais et la sortie. Le poids de cette synapse est défini à partir
de la probabilité a priori d’appartenance à la classe A ou B (rapport des nombres de points des ensembles A et B).
Neuro Shop© permet de supprimer cette synapse après l’apprentissage. On obtient directement un réseau qui
modélise le rapport des fonctions de répartition des deux ensembles de points A et B, indépendamment du rapport
des nombres de points de chaque classe dans l'ensemble d'apprentissage :
f A ( x)
P' A x =
f A ( x) + f B ( x)

8.3 Particularités du modèle de classification


8.3.1 Assistant projet
Vous sélectionnez Classification comme type de projet.

Manuel de l’utilisateur – TOME I Page 79


Neuro One

Les fenêtres suivantes sont similaires à celles précédemment montrées à propos du nom du réseau, du nombre de
neurones cachés, de la localisation des données, du choix des entrées et des sorties.
Une fenêtre supplémentaire Classification permet de définir les classes :

Les classes sont représentées par des chaînes de caractères. Neuro One© est insensible à la casse.
Dans cette fenêtre, vous devez préciser la Classe Vrai et la Classe Faux. Mettez en sur brillance le nom du
champ dans le pavé Classes puis vous le déplacez en cliquant sur le bouton >> ou par glisser – déplacer.
Si Classe Faux est vide, l’ensemble des classes (à l’exception de Classe Vrai) appartient à Classe Faux.

8.3.2 Dialogue Edition - Projet


Dans l’onglet Général, précisez Statique dans la zone Type du projet puis cochez la case Classification.

Manuel de l’utilisateur – TOME I Page 80


Neuro One

La méthode pour indiquer le nombre de neurones cachés, la localisation des données, le choix des entrées et des
sorties est identique à celle précédemment expliquée.
Dans l’onglet Données, vous devez appuyer sur le bouton Avancé… pour décrire les classes. La fenêtre devient :

Manuel de l’utilisateur – TOME I Page 81


Neuro One

Les classes sont représentées par des chaînes de caractères. Neuro One© est insensible à la casse.
Dans cette fenêtre, vous devez préciser la Classe Vrai et la Classe Faux. Mettez en sur brillance le nom du
champ dans le pavé Classes puis vous le déplacez en cliquant sur le bouton >> ou par glisser – déplacer.
Si Classe Faux est vide, l’ensemble des classes (à l’exception de Classe Vrai) appartient à Classe Faux.

8.3.3 Champ supplémentaire


Le champ supplémentaire permet de pondérer l’importance des exemples pendant l’apprentissage. Cette
commande est disponible dans le menu Edition – Projet, onglet Données – Avancé…. L’onglet Données
devient :

Manuel de l’utilisateur – TOME I Page 82


Neuro One

Dans la zone Champ supplémentaire, vous cliquez sur le bouton Pondération et choisissez le champ contenant
les coefficients de pondération.

Manuel de l’utilisateur – TOME I Page 83


Neuro One

8.3.4 Dialogue Marche – Pilote


Le dialogue de Marche – Pilote possède un onglet supplémentaire : Fonctions de coût.

Cet onglet permet de choisir les fonctions de coût utilisée pour l'ensemble d'apprentissage et pour l'ensemble de
validation.
Les fonctions de coût disponibles sont détaillées en annexe.

Manuel de l’utilisateur – TOME I Page 84


Neuro One

9 Série temporelle
Ce chapitre présente les particularités des modèles avec séries temporelles. Il est nécessaire d’avoir lu le chapitre
Un projet sous Neuro One auparavant.

9.1 Définitions
Si l’utilisateur estime que le temps joue un rôle fonctionnel dans le processus qu’il cherche à modéliser, il peut
commencer par les séries temporelles.
Un modèle avec des séries temporelles est un modèle dont la sortie dépend des entrées au même instant ou à des
instants passés, et éventuellement de la sortie (mesurée) à des instants passés.
Mathématiquement, le réseau de neurones réalise la fonction suivante :
Sortiecalculée(t ) = Φ[Entrées(t ), Entrées(t − 1),...,Entrées(t − n),Sortiemesurée(t − 1),...,Sortiemesurée(t − m)]

Dans cet exemple, la sortie $Dem dépend de l’entrée Taux au même instant mais aussi de $Dem et Taux avec un
retard de 1. La série temporelle porte sur la sortie et l’entrée du réseau.

Les retards sont indiqués avec [ ], et la valeur du retard est noté à l’intérieur des crochets.

Le fichier de données d’un modèle avec des séries temporelles est équivalent au fichier initial complété par des
copies de colonnes décalées verticalement. Du point de vue de l’apprentissage, un modèle avec séries
temporelles est donc un modèle statique.

9.2 Particularités
9.2.1 Le modèle
Les séries temporelles sont disponibles pour les modèles ayant une seule sortie. Si vous souhaitez modéliser
plusieurs sorties à l’aide de séries temporelles, il faut réaliser séparément un modèle pour chaque sortie puis les
fusionner grâce à l’outil Neuro Shop (en option).
La Vue - Fonction de Neuro One© n’est pas disponible.

Manuel de l’utilisateur – TOME I Page 85


Neuro One

Pour réaliser un modèle avec séries temporelles, vous avez deux possibilités :
• Utiliser l’assistant projet et sélectionner un modèle Série temporelle ;
• Utiliser le dialogue Edition - Projet pour définir le projet et cochez la case Avancé….
Nous allons détailler les deux méthodes.

9.2.2 Assistant projet


Vous sélectionnez Série temporelle comme type de projet.

Les fenêtres suivantes sont similaires à celles précédemment montrées pour définir le nom du réseau, le nombre
de neurones cachés, la localisation des données, le choix des entrées et des sorties.
Une fenêtre supplémentaire permet de définir la Profondeur de chaque entrée. Il s’agit du retard exprimé en
multiple de l’unité de temps entre deux exemples consécutifs.

Manuel de l’utilisateur – TOME I Page 86


Neuro One

Dans cet exemple, les entrées sont Taux1(t), Taux1(t-1), Taux1(t-3), de Taux1(t-7) à Taux1(t-9) et $Dem%(t-1) ;
d’où le réseau de neurones

Remarque : le retard des entrées indépendantes peut commencer à zéro. Pour la sortie, les retards commencent à
un. En effet, quel est l’intérêt de modéliser une grandeur à l’instant t en fonction d’elle-même au même instant ?

9.2.3 Dialogue Edition – Projet

A partir du menu Edition – Projet, vous sélectionnez l’onglet Données. La fenêtre est la suivante :

Manuel de l’utilisateur – TOME I Page 87


Neuro One

Vous cliquez sur le bouton Avancé…. La fenêtre devient :

Manuel de l’utilisateur – TOME I Page 88


Neuro One

Vous cochez la case Série temporelle pour pouvoir définir les séries temporelles.

Manuel de l’utilisateur – TOME I Page 89


Neuro One

Le pavé Série temporelle regroupe tous les champs sélectionnés comme entrées. Pour chaque entrée, vous
devez préciser la Profondeur qui est le retard en multiple de l’unité de temps entre deux exemples consécutifs.
Par défaut, la valeur est 0.
Dans cet exemple, les entrées sont Taux1(t), Taux1(t-1), Taux1(t-3), de Taux1(t-7) à Taux1(t-9) et $Dem%(t-1) ;
d’où le réseau de neurones :

Remarque : le retard des entrées indépendantes commence à zéro. Pour la sortie, les retards commencent à un.
En effet, quel est l’intérêt de modéliser une grandeur à l’instant t en fonction d’elle-même au même instant ?

Manuel de l’utilisateur – TOME I Page 90


Neuro One

9.2.4 Champ supplémentaire


Le champ supplémentaire permet de pondérer l’importance des exemples pendant l’apprentissage. Cette
commande est disponible dans le menu Edition – Projet, onglet Données – Avancé…. La fenêtre Projet devient :

Dans la zone Champ supplémentaire, vous cliquez sur le bouton Pondération et choisissez le champ contenant
les coefficients de pondération.

9.3 Série temporelle dynamique


Une série temporelle peut être considérée comme un cas particulier de processus dynamique dans lequel il n’y a
pas de variable de contrôle, et dans lequel les variables d’état ne sont pas mesurables (voir chapitre suivant :
« Modélisation dynamique »).
Il est donc possible de modéliser une série temporelle par un réseau bouclé. Dans ce cas, les neurones bouclés
sont des neurones d'entrée, contrairement aux réseaux bouclés classiques où ce sont des neurones de sortie qui
sont bouclés.

Manuel de l’utilisateur – TOME I Page 91


Neuro One

10 Modélisation dynamique
Ce chapitre présente les particularités des modèles dynamiques. Il est nécessaire d’avoir lu le chapitre Un projet
sous Neuro One auparavant.

10.1 Définition
Un processus dynamique est un processus pour lequel le temps joue un rôle fonctionnel. Lorsqu’un processus
dynamique est modélisable mathématiquement, les sorties et les entrées sont en général reliées par des équations
différentielles (ou des équations récurrentes pour les systèmes à temps discret). Les processus dynamiques
simulés sur ordinateur sont obligatoirement à temps discret, en raison de la quantification des données inhérente à
leur représentation informatique.
On ne considérera dans la suite qu’une seule variable de sortie.
Le plus souvent, on ne dispose pas d’une description mathématique du processus considéré. La théorie des
systèmes dynamiques linéaires permet depuis longtemps la construction de modèles dynamiques à partir de
données, mais leur linéarité même en rend le champ d’application limitée.
Une approche plus puissante, puisqu’elle permet d’introduire des non linéarités dans les modèles, consiste à
utiliser des réseaux de neurones bouclés (ou « récursifs », ou « dynamiques »), dans lesquels certaines
grandeurs « avales » sont réinjectées avec un retard temporel (z-1) dans les parties « amont » du réseau.
La modélisation des processus dynamiques est une question complexe, qu’il n’est pas possible d’exposer en détail
dans ce document. Pour une excellente synthèse, on pourra se rapporter à l’ouvrage « Réseaux de neurones », G.
Dreyfus et al., Eyrolles (2002).
Néanmoins, afin d’éclairer les options de Neuro One en modélisation dynamique, il est nécessaire de revenir
brièvement sur quelques généralités.

10.2 Généralités sur les modèles dynamiques


10.2.1 « Représentation d’état » et « Représentation
Entrée/Sortie »
Il existe deux types classiques de représentation des processus dynamiques :
• Les représentations « d’état », et
• Les représentations « Entrée/Sortie », ou « E/S ».
10.2.1.1 Les représentations d’état
Les grandeurs en présence sont :
1. u, un vecteur de variables de commandes.

Manuel de l’utilisateur – TOME I Page 92


Neuro One

2. x, un vecteur de « variables d’état », qui peuvent éventuellement être grandeurs physiques du


système, mesurées ou non.
3. y, la variable de sortie.
4. b1, un vecteur de « bruit », ou de « perturbations », par nature inconnu, affectant les variables
d’état.
5. b2, un vecteur de « bruit », ou de « perturbations », par nature inconnu, affectant la variable de
sortie.
On suppose que :
• Les valeurs à l’instant t des variables d’état dépendent des valeurs de ces mêmes variables à l’instant
précédent, des valeurs de commande à l’instant précédent, et du bruit d’état à l’instant précédent. Ceci se traduit
par l’équation :
x(t) = f(x(t-1), u(t-1), b1(t-1))
La dimension du vecteur x, c’est à dire le nombre de variables d’état, est appelé l’ordre du modèle.
• La valeur de sortie dépende des variables d’état et du bruit de sortie, ces grandeurs étant toutes
considérées au même instant. Ceci se traduit par l’équation :
y(t) = g(x(t), b2(t))
Notons qu’il est possible que la sortie soit elle même une des variables d’état.
L’ensemble de ces deux équations constitue la définition d’une représentation d’état.
L’objectif de la modélisation dynamique est de trouver des approximations des fonctions f et g lorsque le processus
n’est connu que par le biais de séquences de valeurs de commandes et de valeurs de sortie.
10.2.1.2 Les représentations « Entrée/Sortie »
On suppose qu’il existe une unique fonction h qui relie la sortie y :
1. Aux valeurs prises par la sortie sur un certain intervalle de temps dans le passé.
2. Aux valeurs prises par la commande sur un certain intervalle de temps dans le passé.
3. Aux valeurs prises par le bruit sur un certain intervalle de temps dans le passé.
On notera la disparition de la notion de variable d’état, ainsi que du bruit correspondant.
Ceci se traduit par l’équation :
y = h(y(t-1), …, y(t-n), u(t-1), …, u(t-m), b(t-1),…, b(t-p))
n, m, et p sont des nombres entiers, et n s’appelle l’ordre du modèle.
L’objectif de la modélisation dynamique est de trouver une approximation de la fonction h lorsque les processus
n’est connu que par le biais de séquences de valeurs de commandes et de valeurs de sortie.
10.2.1.3 « Etat » ou « Entrée/Sortie » ?
Ces deux représentations sont équivalentes dans le cas des modèles linéaires. Il n’en est pas de même pour les
modèles non linéaires.

Manuel de l’utilisateur – TOME I Page 93


Neuro One

• Les modèles d’état sont plus puissants que les modèles E/S. En particulier, ils sont plus parcimonieux et
permettent donc d’espérer des généralisations de meilleure qualité que les modèles E/S. En fait, on montre que les
modèles E/S sont des cas particuliers des modèles d’état.
• Mais l’apprentissage des modèles d’état est plus difficile que celui des modèles E/S (approximation de deux
fonctions simultanément, au lieu d’une seule pour les modèles E/S).
Il est donc courant de commencer une modélisation par des modèles E/S. Si les résultats ne sont pas
satisfaisants, il faudra alors passer aux modèles d’état.

10.2.2 Influence de la nature du bruit


Dans la modélisation d’un processus dynamique, il est essentiel de formuler des hypothèses correctes sur l’origine
du bruit entachant les valeurs mesurées en sortie. En effet, de ces hypothèses dépendront à la fois la structure du
modèle, et l’algorithme d’apprentissage à utiliser, et donc, en dernière analyse, le succès de la modélisation.
Un modèle sera dit optimal si, à tout instant, son erreur de prédiction est égale au bruit entachant le processus
modélisé, donc si le modèle prédit parfaitement la partie déterministe du processus.
Nous allons donner, sans démonstration, les différentes architectures de modèles optimaux en fonction des
principales hypothèses faites sur l’origine du bruit.
10.2.2.1 Bruit d’état en représentation E/S, ou Hypothèse « NARX »
Supposons que :
• La partie déterministe du processus soit correctement décrite par une équation récursive ne faisant
intervenir que les sorties passées et les commandes passées,
• Le seul bruit soit un bruit additif sur la sortie,
et donc que le processus soit correctement décrit par l’équation :
y(t) = ϕ( y(t-1), .., y(t-n), u(t-1), .., u(t-n)) + b(t)
Notons que le bruit participe au processus de façon implicitement récursive par le biais des sorties retardées. De
ce fait, cette représentation est une représentation E/S.
On montre alors que le modèle (p. ex. neuronal) optimal n’est pas bouclé, mais est de la forme :

où ϕRN est une fonction matérialisée par un réseau de neurones statique.


L’expression « NARX » est standard dans la théorie de la modélisation non linéaire, et signifie « Non linéaire Auto-
Régressif à entrées eXogènes ».
10.2.2.2 Hypothèse « Bruit additif de sortie » en représentation E/S
Supposons que :
• Que le bruit soit un simple bruit additif de mesure sur la valeur de la sortie,
• et que la partie déterministe du processus soit correctement décrite par une équation récursive ne faisant
intervenir que les valeurs passées de la commande, et les valeurs passées de la sortie non bruitée,

Manuel de l’utilisateur – TOME I Page 94


Neuro One

et donc que le processus soit correctement décrit par les équations :


x(t) = ϕ(x(t-1), .., x(t-n), u(t-1),.. u(t-m))
y(t) = x(t) + b(t)
La sortie est donc constituée de la valeur instantanée de la variable x, à laquelle vient se superposer un bruit de
façon additive. On notera que, à l’inverse du cas précédent, le bruit n’intervient pas de façon récursive : le bruit est
« extérieur » au processus (p. ex. un bruit de mesure sur la sortie).
Cette représentation ne comporte pas de variable d’état.
On montre alors que le modèle E/S (p. ex. neuronal) optimal est bouclé, et est de la forme :

où ϕRN est maintenant un réseau de neurones bouclé.


Dans Neuro One, la modélisation de ce type de processus fera appel à l’option « E/S ».
10.2.2.3 Bruit de sortie plus bruit d’état (« NARMAX ») en représentation E/S
Supposons, dans l’exemple précédent, il faille maintenant ajouter du bruit à la variable x elle même, en plus du
bruit additif de sortie. Le processus répond alors aux équations :
x(t) = ϕ(x(t-1), .., x(t-n), u(t-1),.. u(t-m), b(t-1),.. b(t-m))
y(t) = x(t) + b(t)
On montre alors que le modèle E/S (p. ex. neuronal) optimal est bouclé, et est de la forme :

Dans Neuro One, la modélisation de ce type de processus fera appel à l’option « E/S ».

NARMAX signifie « Non linéaire Auto-Régressif à Moyenne Ajustée et entrées eXogènes ».

Les trois exemples précédents relevaient de la représentation Entrée/Sortie. Les exemples suivant relèvent de la
représentation d’état.
10.2.2.4 Bruit de sortie en représentation d’état
C’est un cas particulier de la représentation générale d’état pour lequel :
• Le vecteur d’état est considéré comme sans bruit.
• La sortie est affectée d’un bruit additif. Ce bruit n’intervient donc pas dans la dynamique du système.
On a alors :
x(t) = ϕ( x(t-1), u(t-1))
y(t) = ψ( x(t)) + b(t)
Rappelons que x est un vecteur dont le nombre de composantes est l’ordre du processus.

Manuel de l’utilisateur – TOME I Page 95


Neuro One

On montre alors que le modèle d’état (p. ex. neuronal) optimal est bouclé, et est de la forme (exemple d’un
modèle d’ordre 2):

Dans Neuro One, la modélisation de ce type de processus fera appel à l’option «Etat ».
10.2.2.5 Bruit d’état en représentation d’état
A la différence de l’exemple précédent, le bruit n’est pas un simple bruit de mesure de la sortie : les variables d’état
elles-mêmes sont bruitées. Par contre, on suppose le bruit sur la mesure de la sortie négligeable. On a donc :
x(t) = ϕ( x(t-1), u(t-1), b(t-1))
y(t) = ψ( x(t))
Deux cas peuvent se présenter, selon que les variables d’état sont mesurées ou non.
1. Si les variables d’état sont mesurées, on peut les considérer comme des sorties, et la représentation est
en fait une représentation Entrée-Sortie. On a vu que dans ce cas, le modèle idéal est non bouclé
(statique).
2. Si les variables d’état sont non mesurées, on ne dispose pas assez d’information pour construire un
modèle optimal. On pourra utiliser soit une représentation E/S, soit une représentation d’état (non
optimale).
10.2.2.6 Bruit d’état et bruit de sortie en représentation d’état
La différence par rapport au cas précédent est que la sortie est bruitée (pas nécessairement de façon additive). On
a:
x(t) = ϕ( x(t-1), u(t-1), b1(t-1))
y(t) = ψ( x(t), b2(t))
Comme précédemment, on distingue les cas où les variables d’état sont mesurées ou non.
1. Si elles sont mesurées, on les considère à nouveau comme des sorties, et l’on est ramené à une
représentation E/S.
2. Sinon, le modèle idéal est de la forme :
x(t) = ϕ( x(t-1), u(t-1), y(t-1))
y(t) = ψ( x(t))

10.2.3 Eléments de méthodologie de la modélisation de système


dynamique
Les considérations précédentes (modélisation E/S ou d’état, origine du bruit) montrent la difficulté qu’il y a à bien
formuler un problème de modélisation de processus dynamique. Le texte précédent ne doit être considéré que
comme un aide-mémoire, et ne peut dispenser de se rapporter à des textes traitant la question de manière plus
approfondie.

Manuel de l’utilisateur – TOME I Page 96


Neuro One

En pratique, on sera amené à suivre une méthodologie dont le schéma générale est :
• Choisir les données pertinentes, et leur faire subir les pré traitements appropriés.
• Choisir la complexité du modèle (nombre de neurones cachés).
Ces deux premiers points se retrouvent également en modélisation statique. En modélisation dynamique, il faudra
en outre :
• Choisir un type de modèle (E/S ou d’état).
• Faire une hypothèse sur l’origine du bruit (état, sortie, état et sortie).
• Choisir l’ordre du modèle.
Pour limiter le nombre de types de modèles à essayer, rappelons que :
• Une bonne connaissance experte du processus à modéliser permet souvent déterminer a priori l’origine du
bruit.
• L’observation experte de la réponse du processus à une séquence de commandes doit permettre d’estimer
l’ordre du modèle.
• Les modèles d’état sont plus généraux et généralisent mieux que les modèles E/S, mais leur apprentissage
est plus difficile. On essayera donc en priorité les modèles E/S, ne passant aux modèles d’état que si leurs
performances s’avèrent insatisfaisantes.

10.3 La modélisation dynamique sous Neuro One


10.3.1 Les deux types de modèles
On remarquera que tous les exemples de modèles idéaux cités plus haut étaient matérialisables avec seulement
deux types d’architecture générale :
1. Les réseaux « Entrée/Sortie »

Entrées
Sortie
Réseau de
neurones

Etats
Retard

2. Les réseaux d’état

Manuel de l’utilisateur – TOME I Page 97


Neuro One

Entrées
Sortie
Réseau de
neurones

Etats
Retard

Ces deux architectures, et les algorithmes d’apprentissage correspondants, sont disponibles sous Neuro One.
Dans les deux cas, l’utilisateur devra fixer :
1. Le nombre de neurones cachés.
2. L’ordre du modèle.

10.3.2 Les données


Les données utilisées pour un modèle dynamique sont des chroniques des entrées et des sorties mesurées sur le
processus.
Un ensemble de lignes adjacentes correctement remplies définit une séquence. Une ligne ayant au moins une
donnée d’entrée ou de sortie manquante entraîne un changement de séquence. Les variables d’état sont
initialisées au début de chaque séquence.
En double cliquant sur les numéros de lignes, vous lancez l’éditeur de séquences. La fenêtre Editeur de
séquences apparaît :

Pour faire disparaître l’éditeur de séquences, double cliquez de nouveau dans la fenêtre.
Il est possible de segmenter une séquence en plusieurs séquences. La séquence allant de la ligne 2 à la ligne 202
est noté 2..202 ; elle peut être fragmentée en 2..30,31..202 par exemple. Ainsi, les variables d’état seront initialisés
aux lignes 2 et 31.

Manuel de l’utilisateur – TOME I Page 98


Neuro One

10.3.3 Assistant projet

Dans la barre d’outils de la fenêtre d’accueil, cliquez sur le bouton qui est l’assistant projet. La fenêtre
suivante apparaît :

Sélectionnez la case Dynamique comme type du projet. Puis tapez sur la case Suivant >>. La fenêtre suivante
permet de définir les paramètres du modèle.

De la même façon que pour un modèle statique, vous devez préciser le nom du modèle ainsi que le nombre de
neurones cachés. L’ordre du modèle est le nombre de neurones d’état.
Dans cet exemple, le modèle nommé essai est un modèle entrées/sorties (style E/S) avec un neurone caché et
deux neurones d’état. Le réseau est schématisé par la figure ci–dessous :

Manuel de l’utilisateur – TOME I Page 99


Neuro One

Le réseau de neurones associé à un modèle d’état (style Etat) avec un neurone caché et deux neurones d’état est
schématisé par la figure ci–dessous :

Un trait de couleur rouge représente une synapse constante et égale à 1.


Un trait de couleur verte représente un retard de 1 unité de temps pour les neurones de sortie ou les neurones
d’état.
Un trait de couleur noire représente une synapse variable.

Manuel de l’utilisateur – TOME I Page 100


Neuro One

10.3.4 Dialogue Edition - Projet


Dans le dialogue Edition - Projet, onglet Général, vous sélectionnez Dynamique dans la zone Type du projet.
La case Sur échantillonnage permet de sélectionner le nombre de fois où la sortie du réseau de neurones est
calculée entre deux exemples contigus du fichier de données. Si n est le sur échantillonnage et ∆T l’intervalle de
temps entre deux exemples adjacents, alors l’intervalle de temps correspondant à un calcul de la sortie du réseau
est ∆T/n.

Manuel de l’utilisateur – TOME I Page 101


Neuro One

L’onglet Traitement permet de choisir la structure du réseau de neurones, c’est à dire le type du réseau (modèle
entrées/sorties ou modèle d’état), le nombre de neurones cachés et l’ordre du modèle. La fenêtre est la suivante :

Le type du modèle est sélectionné dans le cadre Modèle dynamique :


E/S : modèle entrées/sorties ;
Etat : modèle d’état.
Pour un modèle entrées / sorties, vous devez indiquez le nombre de boucles (ici, 2) et le numéro du neurone d’où
part la première boucle (ici, n°0). Le réseau de neurones défini dans l’onglet Traitement est le suivant :

Pour un modèle d’état, le cadre Modèle dynamique est légèrement diffèrent.

Manuel de l’utilisateur – TOME I Page 102


Neuro One

Pour un modèle d’état, vous devez indiquer le nombre d’états (ici 2) et le traitement éventuel de la redondance.
Le réseau de neurones défini dans l’onglet Traitement est le suivant :

Manuel de l’utilisateur – TOME I Page 103


Neuro One

10.3.5 Champs supplémentaires


Les champs supplémentaires sont appelés par la commande Avancé… de l’onglet Données. La fenêtre est la
suivante :

Le champ supplémentaire peut être :


• la Pondération de la valeur de la sortie ;
• la Date ;
• l’Intervalle de temps entre l’exemple courant et l’exemple précèdent.
Pondération
Le champ supplémentaire permet de pondérer l’importance des exemples pendant l’apprentissage. Cette
commande est disponible dans le menu Edition – Projet, onglet Données – Avancé….
Date
Le champ choisi pour la date contient une indication sur la date de l’exemple considéré.
L’intervalle de temps entre les deux premières dates devient alors le pas de temps élémentaire du réseau de
neurones. Les exemples suivants sont positionnés dans le temps sur le multiple entier du pas élémentaire le plus
proche de la date. Si plusieurs exemples sont positionnés sur le même pas, il n’y a que le dernier exemple qui soit
pris en compte. Si deux exemples consécutifs sont séparés de plus d’un pas, le réseau subira le nombre de pas

Manuel de l’utilisateur – TOME I Page 104


Neuro One

nécessaire, mais les résultats calculés intermédiaires ne seront pas pris en compte dans le calcul de la fonction de
coût et du gradient.
Intervalle de temps
Le champ choisi pour l’intervalle de temps contient l’intervalle de temps entre l’exemple considéré et le précèdent.
Le contenu du champ du premier exemple représente le pas de temps élémentaire du réseau. Les exemples
suivants sont alors positionnés dans le temps sur le multiple du pas de temps le plus proche de la somme des
intervalles de temps depuis le début de la séquence.
Le traitement des exemples superposés ou séparés de plusieurs pas élémentaires est le même que pour Date.

10.3.6 Initialisation des variables d’état


Les données des modèles dynamiques sont regroupées en séquences et l’intervalle de temps entre deux
exemples d’une même séquence est constant. Les variables d’état sont initialisées au début de chaque séquence.
Si le champ Initialisation état de l’onglet Données / Avancé… est Aucune, les variables d’état sont initialisées
avec la valeur 0.
Cependant, les variables d’état d’un modèle entrées/sorties sont la sortie retardée. Il est donc possible de les
initialiser avec des valeurs mesurées ou estimées. Dans ce cas, il faut indiquer la colonne où sont les valeurs
d’initialisation des variables d’état dans le champ Initialisation état.
Pour un modèle d’état, nous ne possédons pas de mesures des variables d’état car ces variables n’ont pas
forcement de sens physique. Elles peuvent cependant être initialisées comme pour un modèle entrées/sorties.

10.3.7 Ensemble de validation


L’ensemble de validation doit être constitué d’une ou plusieurs séquences entières à cause de l’initialisation des
variables d’état. Le choix de l’ensemble de validation est fait avec la commande Marche - Pilote, onglet
« Validation ». La fenêtre est la suivante :

Dans ce dialogue, la Dimension de l’ensemble de validation est le nombre de séquences de cet ensemble.
L’ensemble de test est toujours composé des dernières séquences définies dans le dialogue Edition - Projet,
onglet Données.

Manuel de l’utilisateur – TOME I Page 105


Neuro One

10.3.8 Menu Vue – Fonction


Il est possible de tester qualitativement la réponse du modèle à une excitation de fréquence donnée. Par défaut, le
signal d’excitation est une sinusoïde dont la fréquence de base est définie à partir de l'intervalle de temps séparant
deux exemples contigus des données d’apprentissage.
Soit :
• δt l'intervalle de temps entre deux exemples de l'ensemble d'apprentissage
• P le taux de sur-échantillonnage lors de l'apprentissage;
• N le taux de sur-échantillonnage lors de l'utilisation.
N
L'intervalle de temps δu correspondant à un transfert à travers le modèle lors de l'utilisation est δu = δt
P
QNδt
Si Q est le nombre de pas pour une période de la fonction d'excitation, la période est T = Qδu = et la
P
2 Π 2 ΠP
fréquence F = = .
T QNδt

Manuel de l’utilisateur – TOME I Page 106


Neuro One

11 Cartes auto-organisatrices de Kohonen


Ce chapitre présente les particularités des cartes de Kohonen. Il est nécessaire d’avoir lu le chapitre Un projet
sous Neuro One auparavant.

11.1 Définition
La Carte de Kohonen est un réseau de neurones (non supervisé) ayant deux finalités :
1. La réduction de dimensionalité des données.
2. Le regroupement (clustering) des données.
Ces deux fonctionnalités sont intimement liées et sont toujours disponibles simultanément.
Une Carte de Kohonen (bidimensionnelle7) peut se visualiser comme un « filet de pêcheur » aux mailles
élastiques, jeté dans un espace de données de grande dimensionalité. Les nœuds du filet sont les « neurones » de
la carte de Kohonen, et ils peuvent être repérés par une paire de nombres entiers.
L’algorithme d’apprentissage a pour objectif de déployer ce filet de façon à ce qu’il épouse « au mieux » le nuage
de points des données. Après stabilisation, chaque point du nuage (exemple) sera projeté sur le nœud dont il est le
plus proche.
• La réduction de dimensionalité est obtenue en remplaçant, pour chaque exemple, les coordonnées
originales par les deux nombres entiers repérant le nœud sur lequel il a été projeté.
• Le regroupement (clustering) est obtenue naturellement par regroupement, sur un même nœud, de tous
les exemples qui étaient plus proche de ce nœud que de tout autre nœud de la Carte.
L’utilisation première de la Carte de Kohonen est de fournir une alternative à l’Analyse en Composantes
Principales (ACP). Les performances de l’ACP sont limitées par le fait que les nouvelles variables (composantes
principales) ne sont que des combinaisons linéaires des variables initiales. La carte de Kohonen produit des
nouvelles variables qui ne sont pas des fonctions linéaires des variables initiales, et donc peuvent permettre une
réduction de dimensionalité occasionnant moins de perte d’information que l’ACP.
Le regroupement, du à la quantification des nouvelles coordonnées, peut n’apparaître que comme un effet
secondaire, peut-être indésirable. A l’usage, il apparaît néanmoins que cet regroupement possède une propriété
« topologique » désirable, dont les techniques classiques (p. ex. centres mobiles) sont dépourvues : deux nœuds
voisins de la Carte regroupent des exemples fortement semblables. L’ensemble des groupes résultants est donc
muni d’une notion naturelle de proximité qui en facilite grandement l’interprétation.

11.2 Algorithme d’apprentissage


Une carte de Kohonen est composée de d dimensions ayant nd cellules, soit Πn d neurones. Chaque neurone
possède autant de poids qu’il y a d’entrées dans le modèle.

7
Les Cartes peuvent en fait avoir une dimension quelconque (inférieure au nombre de variables originales), mais
le cas bidimensionnel est le plus fréquemment utilisé.

Manuel de l’utilisateur – TOME I Page 107


Neuro One

Exemple : carte à deux dimensions avec 3 cellules dans la dimension 1 et 2 cellules dans la dimension 2. Le
modèle possède 2 entrées.

Les cartes auto-organisatrices de Kohonen font partie de la famille des modèles non supervisés. L’apprentissage
n’est pas guidé par la comparaison entre les valeurs calculées par le modèle et celles mesurées sur le processus
mais s’effectue de la façon suivante :
• un exemple est choisi aléatoirement dans la collection d’exemples à présenter;
• le neurone le plus proche dans la carte de Kohonen est recherché ;
• les poids de tous les neurones sont modifiés.
La loi pour modifier les poids des neurones est du type
poids nouveau = (1 − λ ) poids ancien + λ × Χ
où poids… est le vecteur des poids du réseau de neurones,
Χ est le vecteur des coordonnées de l’exemple présenté,
λ est le coefficient d’apprentissage complet λ = λ 0 × f d (n ) − f v [d ( N , N c ), g (n )] .
fd est une fonction qui décroît lorsque le nombre d’exemples présentés n augmente ;
fv est une fonction de voisinage dont les variables sont la distance dans la carte entre le neurone considéré Nc et le
neurone le plus proche de l’exemple N, et une distance caractéristique g(n) qui décroît lorsque le nombre
d’exemples présentés n augmente .
A la fin, les corrections apportées à la carte de Kohonen sont localisées et de faible amplitude.

11.3 Particularités du modèle Kohonen


11.3.1 Assistant projet

Dans la barre d’outils de la fenêtre d’accueil, cliquez sur le bouton qui est l’Assistant Projet. La fenêtre
suivante apparaît :

Manuel de l’utilisateur – TOME I Page 108


Neuro One

Sélectionnez la case Carte Auto Organisatrice comme type de projet. Puis tapez sur la case Suivant >>. Les
fenêtres suivantes permettent de définir le nom du réseau et des entrées.

Cette fenêtre permet de choisir la dimension de la carte de Kohonen. Les dimensions possibles sont 1, 2 ou 3.
Pour chaque dimension, vous précisez le nombre de cellules dans le pavé dessous. Dans l’exemple détaillé, la
carte de Kohonen est bidimensionnelle ; la dimension 1 a une cellule et la dimension 2 a deux cellules.

Manuel de l’utilisateur – TOME I Page 109


Neuro One

11.3.2 Dialogue Edition – Projet


Dans le dialogue Edition - Projet, onglet Général, vous sélectionnez Kohonen dans la zone Type du projet.

Dans le dialogue Edition - Projet, onglet Données, vous sélectionnez la base de données et les entrées du
réseau de Kohonen. La fenêtre est la suivante :

Manuel de l’utilisateur – TOME I Page 110


Neuro One

Comme le modèle est non supervisé, le choix des champs n’est possible que pour les entrées.
La fenêtre de l’onglet Traitement est la suivante :

Cet onglet permet de choisir la dimension de la carte de Kohonen. Les dimensions possibles sont 1, 2 ou 3.
Pour chaque dimension, vous précisez le nombre de cellules dans le pavé dessous. Dans l’exemple détaillé, la
carte de Kohonen est bidimensionnelle ; la dimension 1 a une cellule et la dimension 2 a deux cellules.

11.3.3 Dialogue Marche - Pilote


Le dialogue Marche – Pilote permet de paramétrer l’apprentissage : nature des algorithmes, nombre d’itérations,
initialisation des poids, critère d’enregistrement du réseau.
La fenêtre Apprentissage est la suivante :

Manuel de l’utilisateur – TOME I Page 111


Neuro One

Dans la zone Commands, vous choisissez :


• Le nombre d’itérations, c’est à dire le nombre de fois où un modèle est calculé depuis l’initialisation des poids
jusqu’à la fin de l’apprentissage ;
• le nombre d’époques pour une itération, c’est à dire le nombre de fois où l’ensemble des exemples est
présenté à la carte.
Dans la zone Coefficient d’apprentissage, vous sélectionnez
• la Fonction de décroissance fd ;
• la Valeur initiale ;
• le Temps de décroissance, exprimé en nombre d’époques.
Dans le pavé Coefficient de voisinage, vous sélectionnez
• la Fonction de voisinage fv ;
• la Fonction de décroissance g de la distance caractéristique ;
• la Valeur initiale de la distance caractéristique, ce nombre est compris entre 0 et 1 (représente la longueur de
la diagonale de la carte) ;
• le Temps de décroissance de la distance caractéristique, exprimé en nombre d’époques.
L’onglet Init permet de sélectionner les paramètres d’initialisation des poids.

Manuel de l’utilisateur – TOME I Page 112


Neuro One

Si vous cochez la case Aléatoire, les poids sont tirés aléatoirement avec une distribution gaussienne d’écart type
Enveloppe.
Si vous cochez la case Données, les poids sont tirés aléatoirement parmi les données.

Manuel de l’utilisateur – TOME I Page 113


Neuro One

12 Fonction densité
Ce chapitre présente les particularités des fonctions de densité. Il est nécessaire d’avoir lu les chapitres Un projet
sous Neuro One et Classification auparavant.

12.1 Définition
Les projets de type Densité permettent de développer un modèle neuronal dont la sortie représente la densité de
probabilité d’une distribution d’exemples.
Cette fonctionnalité est fondée sur la considération suivante : si l’on dispose de deux ensembles de points dans un
espace à N dimensions, il est possible de réaliser un classifieur neuronal qui donne la probabilité d’appartenance à
l’une des deux distributions en tout point du domaine de validité de l’espace considéré.
On dispose d’une seule distribution dont la fonction de densité de probabilité est inconnue. Nous allons créer une
deuxième distribution dont la fonction de densité de probabilité est connue ; puis, nous allons créer un classifieur
pour ces deux distributions et en déduire la densité de probabilité inconnue.

N A f A (x )
Classifieur P Ax =
N B f B (x ) + N A f A (x )

NB P A x
Fonction densité de f A (x ) = f B (x )
probabilité N A 1− P A x
avec les notations suivantes :
• NA le nombre de points de l’ensemble A,
• NB le nombre de points de l’ensemble B,
• fA la fonction de densité inconnue de l’ensemble de A,
• fB la fonction de densité connue de l’ensemble de B,
• x le vecteur des variables,

• P A x la probabilité a posteriori d’appartenance à la classe A connaissant x.


La fonction de distribution connue sera appelée fonction maître ; le réseau de neurones qui la réalise est le
réseau maître.
Le réseau dont la sortie est (à la transformation décrite ci-dessus près) la densité de l’échantillon sera appelé
réseau densité.

Manuel de l’utilisateur – TOME I Page 114


Neuro One

12.2 Particularités des fonctions de densité


12.2.1 Procédure
La procédure à suivre est la suivante :
1 sélectionner les données de la distribution inconnue ;
2 choisir la fonction maître ;
3 effectuer un tirage aléatoire des exemples dont la fonction de densité de probabilité est la fonction maître ;
4 apprendre la classifieur ;
5 transformer le classifieur de façon à obtenir la fonction de densité ;
6 éventuellement, recommencer le processus à partir du point n°3, en utilisant la fonction obtenue comme
fonction maître.
Cette dernière étape n’est a priori pas nécessaire, puisqu’à l’issue de l’étape précédente, la sortie du réseau
densité, après transformation, est égale à la densité recherchée. Cependant, il est possible d’améliorer la qualité
de l’estimation initiale en prenant pour nouvelle fonction maître la première estimation de la densité et donc,
comme nouveau réseau maître le premier réseau densité.

12.2.2 Assistant projet

Dans la barre d’outils de la fenêtre d’accueil, cliquez sur le bouton qui est l’assistant projet. La fenêtre
suivante apparaît :

Sélectionnez la case Fonction de densité comme type de projet. Puis tapez sur la case Suivant >>. Les fenêtres
suivantes permettent de définir le nom du réseau et des entrées.

Manuel de l’utilisateur – TOME I Page 115


Neuro One

Cette fenêtre permet de préciser l’existence d’un réseau maître et son nom éventuel.
Le choix du réseau maître est facultatif. Lors de la première approche d’une distribution inconnue, vous avez
intérêt à laisser Neuro One© sélectionner le réseau maître. Dans ce cas, la fonction du réseau maître est quasi
rectangulaire et elle englobe tous les points de la distribution sur tous les axes.
En deuxième approche, vous sélectionnerez le réseau obtenu précédemment comme nouveau réseau maître.

12.2.3 Dialogue Edition – Projet


Dans le dialogue Edition - Projet, onglet Général, vous sélectionnez Densité dans la zone Type du projet. La
fenêtre est la suivante :

Dans le dialogue Edition - Projet, onglet Données, vous sélectionnez la base de données et les entrées du projet
densité. La fenêtre est la suivante :

Manuel de l’utilisateur – TOME I Page 116


Neuro One

La fenêtre de l’onglet Traitement est la suivante :

Le choix du réseau maître est facultatif. Lors de la première approche d’une distribution inconnue, vous avez
intérêt à laisser Neuro One© sélectionner le réseau maître. Dans ce cas, la fonction du réseau maître est quasi
rectangulaire et elle englobe tous les points de la distribution sur tous les axes.
Il est nécessaire d’affecter un nom au premier réseau densité. En effet lors de la deuxième approche, vous devrez
rappeler ce réseau afin d’en faire le nouveau réseau maître. .
Les icônes sont différentes entre le réseau maître et le réseau courant.

Manuel de l’utilisateur – TOME I Page 117


Neuro One

Vue Réseau Vue Fonction


Reseau courant

Reseau Maitre

12.2.4 Dialogue Marche - Pilote


Le dialogue de Marche – Pilote possède un onglet supplémentaire : Fonctions de coût.

Cet onglet permet de différencier la fonction de coût pour l’ensemble d’apprentissage et celui de test.
Zone Apprentissage :
• Standard : la fonction de coût pour l’ensemble d’apprentissage est l’écart quadratique moyen ;
• Spécial classification : la fonction de coût est adaptée à la classification.
Zone Test :
• Identique apprentissage : même fonction de coût pour l’ensemble d’apprentissage et l’ensemble de test ;
• Mauvais classement : la fonction de coût pour l’ensemble de test est le ratio nombre d’exemples mal classés
sur nombre total d’exemples.

12.2.5 Sauver réseau


A la fin de l’apprentissage, deux réseaux de neurones existent : classifieur ou densité. Le classifieur représente la
probabilité d’appartenance à la classe inconnue et le réseau densité représente la fonction de densité de
probabilité de la distribution inconnue.
La commande Enregistrer réseau fait apparaître la commande suivante :

Manuel de l’utilisateur – TOME I Page 118


Neuro One

Si vous répondez Oui, le réseau de neurones enregistré est le classifieur.


Si vous répondez Non, le réseau de neurones enregistré est le réseau densité.
Pour utiliser le modèle, il est nécessaire d’enregistrer la fonction de densité.
Pour répéter la procédure d’apprentissage du modèle, vous devez enregistrer le classifieur.

Manuel de l’utilisateur – TOME I Page 119


Neuro One

13 Leviers et Intervalles de confiance


Dans ce chapitre, vous verrez comment appeler le calcul des intervalles de confiance et les bases mathématiques
du calcul.

13.1 Généralités
En régression, la sortie d’un réseau de neurones matérialise une estimation de la fonction de régression de la
distribution qui a donné naissance aux données d’apprentissage. Peut-on avoir confiance dans cette estimation, ou
plus précisément, est-il possible de quantifier l’incertitude sur cette estimation ?
Cette question est classique en statistique, et se formule naturellement dans le contexte de l’estimation de la
valeur de l’espérance Ey d’une variable aléatoire y dont on a observe N tirages. Il s’énonce ainsi :
Si m est la valeur moyenne empirique des N tirages, identifier, pour toute valeur de α, un
intervalle contenant m, et tel que la probabilité pour que l’espérance vraie Ey soit dans cet
intervalle soit supérieure à 1 - α
La quantité (1 - α) est appelée « niveau de confiance » de l’estimation.
Neuro One© possède une fonctionnalité pour évaluer les intervalles de confiance de la prédiction effectuée par un
modèle neuronal.
L’évaluation de la confiance d’une prédiction sous Neuro One est représentée de deux façons :
1. Graphiquement, en ajoutant à la « Vue fonction » un « ruban » encadrant la représentation graphique
de la fonction (voir 15.6 « Vue fonction »). Ce ruban est plus large dans les zones de forte incertitude,
plus étroit dans les zones de faible incertitude.
La largeur moyenne du ruban est une conséquence du choix de α par l’utilisateur (voir plus bas).

2. Numériquement, dans la colonne « Confiance » de la table des données internes. Cette colonne contient
les valeurs des demi-largeurs d’intervalle de confiance autour de la valeur prédite pour la variable de
sortie.
Le mode de calcul de cette évaluation, ainsi que les conditions de validités sont détaillées dans les § 13.3 et 13.5.
Cependant, ce calcul est légitime avec deux hypothèses :
• le bruit est additif et de moyenne nulle,
• la surface d'erreur est assimilée localement à sa tangente dans l'espace des poids. Autrement dit, on suppose
que la surface d'erreur n'a pas une courbure trop grande, notamment au voisinage d'un minimum de la fonction
de coût.

13.2 Dialogue
Le calcul des intervalles de confiance est appelé à partir de la commande Marche – Pilote, onglet Apprentissage.
La fenêtre suivante apparaît :

Manuel de l’utilisateur - TOME II Page 121


Neuro One

Cochez la case « Calcul des leviers » pour visualiser les intervalles de confiance dans la Vue fonction et dans la
Table de Données internes.
• L’éditeur de table des Données internes possède une colonne supplémentaire intitulée « Confiance ». Les
valeurs de cette colonne sont l’amplitude des intervalles de confiance pour l’exemple considéré. Un exemple de
table des données internes est représenté dans la fenêtre suivante :

• Dans la fenêtre graphique de la Vue fonction, la fonction mathématique réalisée par le modèle ainsi que
les intervalles de confiance sont représentées.

Manuel de l’utilisateur - TOME II Page 122


Neuro One

Le menu Affichage – Mode a plusieurs sous-menus qui sont :


• Avec confiance : fonction mathématique réalisée par le modèle et intervalles de confiance ;
• Standard :fonction mathématique réalisée par le modèle
• Courbe-confiance : différence entre la courbe supérieure et inférieure de l’intervalle de confiance, différence
entre la fonction mathématique réalisée par le modèle et la courbe inférieure
• Confiance seule : les deux courbes de l’intervalle de confiance
Lors de l’enregistrement du modèle, Neuro One© vous propose de sauver les moyens de calcul des intervalles de
confiance, en même temps que le réseau de neurones.

13.3 Définition et signification des leviers


L'indice T est la notation de la transposée d'un vecteur ou d'une matrice.
On note
• x le vecteur des entrées,
• F la fonction renvoyée par le réseau, c’est à dire F = f ( x , θ )

• θ le vecteur des poids du réseau,


• z le vecteur de dimension q, dont chaque composante est la dérivée de la sortie par rapport à un poids du
réseau (gradient de la sortie par rapport aux poids) :

Manuel de l’utilisateur - TOME II Page 123


Neuro One

∂f ( x,θ )
z =
∂θ
• zi le vecteur gradient de la sortie par rapport aux poids pour l'exemple i de l'ensemble d'apprentissage :

∂ f ( x i ,θ )
zi =
∂θ
• Z la matrice de dimension (N, q) dont les lignes sont les vecteurs zi, Cette matrice est le Jacobien du modèle.
−1
• M la matrice carrée symétrique de dimension (q, q) définie par M = ( Z Z ) . Cette matrice est la matrice
T

de dispersion du modèle.
Le levier est défini comme la grandeur :

h = z T ( Z T Z ) −1 z
ou

h = z T Mz
Lorsque le vecteur gradient z est calculé sur l'un des points de l'ensemble d'apprentissage, c'est à dire que z
constitue l'une des ligne du Jacobien Z, cette grandeur peut prendre toute valeur entre 0 et 1. Elle est alors
représentative de la contribution du point considéré au modèle.
En d'autres termes, si h est faible, le point est peu utilisé par le modèle, c'est à dire que ce point se trouve dans
une zone de l'espace des entrées où la densité de points de l'ensemble d'apprentissage est relativement élevée
relativement à la quantité d'information nécessaire à l'apprentissage du modèle. Si par opposition z est voisin de 1,
cela signifie que le point considéré se trouve dans une zone de l'espace des entrées pauvre en points relativement
à l'information nécessaire à l'apprentissage du modèle.
Les valeurs de h pour les points de l'ensemble d'apprentissage peuvent donc servir à gérer cet ensemble lorsque
cela est nécessaire.
Lorsque la fonction h est calculée pour un point n'appartenant pas à l'ensemble d'apprentissage, sa valeur est
alors positive, mais n'est plus limitée à 1. Cette valeur peut être prise comme une mesure de l'appartenance du
point considéré au domaine de validité du modèle. Si elle est inférieure à 1, le point appartient au domaine de
validité. Dans le cas contraire, il n'y appartient pas.

13.4 Mode de calcul de l'estimation des intervalles de


confiance.
On note
• N le nombre d'exemples de l'ensemble d'apprentissage,
• q le nombre de paramètres du modèle ou nombre de poids modifiables du réseau,
• p le nombre de degrés de liberté du modèle donc p = N − q

Manuel de l’utilisateur - TOME II Page 124


Neuro One

On note aussi, pour un apprentissage donné :


• R le vecteur des résidus, c'est à dire le vecteur (de dimension N) dont chaque composante est l'erreur
quadratique commise sur un des exemples de l'ensemble d'apprentissage,

l'erreur quadratique totale sur l'ensemble d'apprentissage donc E = R R


T
• E
Soit t p ( u) la valeur de la variable de Student à p degrés de liberté pour laquelle la fonction de répartition vaut u.
L'intervalle de confiance avec un degré de signification α, c'est à dire l'intervalle dans lequel se trouve l'espérance
mathématique de la grandeur modélisée avec une probabilité α, vaut :

1+ α  E
f ( x, θ ) ± t p   h
 2 p

Dans cette formule, les paramètres dépendant de l’apprentissage sont :


• p le nombre de degré de liberté,
• M la matrice de dispersion,
• E l’erreur quadratique totale.
Ces trois paramètres peuvent être sauvegardés avec le réseau de façon à pouvoir calculer l’intervalle de confiance
lors d’une utilisation ultérieure du modèle. Ils sont en quelque sorte la mémoire de l’apprentissage !

13.5 Définition du coût de généralisation


On note
• yi* la valeur désirée de l'exemple i.
On définit une fonction de coût, dit coût de généralisation par la relation suivante :

2
F ( xi , θ ) − y i* R
Ep = ∑( ) = ∑ ( i )2
i i − hi ,i i 1 − hi ,i
On peut montrer que cette valeur représente le "score de Leave-One-Out simulé" pour le modèle. En anglais, cette
grandeur est appelée PRESS (Predictive Regression Error on Sum of Square).
Le coût de généralisation peut être utilisé à la place du coût de validation pour caractériser la qualité de
généralisation d'un modèle.

13.6 Validité de l’estimation des intervalles de confiance


Ce résultat est valable s'il n'y a pas de sur-apprentissage, c'est à dire si le modèle est suffisamment parcimonieux.

Manuel de l’utilisateur - TOME II Page 125


Neuro One

En effet, si les neurones cachés sont trop nombreux, certains d'entre eux peuvent être saturés quel que soit
l’exemple. Le jacobien Z contient des colonnes de +1 ou -1 pour les dérivées de la sortie par rapport aux poids
entre les neurones cachés saturés et la sortie, et des colonnes de 0 pour les dérivées de la sortie par rapport aux
poids entre les entrées et les neurones cachés saturés.
Le jacobien Z n’est pas bien conditionnée et donc la matrice d'information ZTZ n’est pas de dimension q ; elle est
difficile à inverser avec une précision correcte.
Pour s'assurer que l'on ne se trouve pas dans cette situation, Neuro One© propose plusieurs approches :
• Surveiller le rang du jacobien. Si ce rang n'est pas égal à q le nombre de paramètres, le modèle est incorrect ;
• Surveiller le coût de généralisation. Le minimum de coût de généralisation correspond au meilleur compromis
entre la précision de l’apprentissage et la qualité de la généralisation.
Ces deux méthodes originales sont beaucoup plus performantes que les méthodes traditionnelles présentées ci-
dessous, qui restent cependant disponibles :
• Surveiller les valeurs absolues des poids entre les entrées et les neurones cachés, et s'assurer qu'elles restent
suffisamment faibles ;
• Vérifier que l'erreur quadratique obtenue sur un ensemble de validation et sur l’ensemble d’apprentissage sont
du même ordre de grandeur ;

Manuel de l’utilisateur - TOME II Page 126


Neuro One

14 Utilisation d’un modèle et Neuro Fit


Toute la phase de construction d’un modèle a pour but final de prédire les valeurs d’une variable de sortie pour de
nouvelles variables d’entrée qui n’étaient pas disponibles au moment de la construction du modèle. C’est la phase
d’utilisation.
L’utilisation d’un modèle sous Neuro One se fait dans le module Neuro Fit. Au § 3.5, nous avons décrit
sommairement le fonctionnement de Neuro Fit, mais nous allons maintenant reprendre cette description plus en
détail.
Neuro Fit permet de :
1. Calculer les prédictions sur un fichier d’utilisation ne comportant pas de variable de sortie.
2. Inversement, pour une valeur de sortie donnée, trouver des valeurs des entrées pour les quelles la sortie
du réseau a cette valeur donnée, et qui de plus vérifient certaines conditions.
Rappelons que pour utiliser un modèle, il faut avoir préalablement sauvegardé le réseau (modèle) sélectionné
après une série d’apprentissages. Le nom du modèle est :
• Soit donné lors de la création du projet (fenêtre « Projet », volet « Traitement ».
• Soit donné lors de la sauvegarde du modèle (« Fichier/Sauver modèle »).

14.1 Chargement d’un modèle


Pour ouvrir Neuro Fit, sélectionnez « Outils/Usage modèle » depuis la barre de menus8.
Activez « Fichier/Charger modèle », puis sélectionnez le fichier portant le nom du réseau que vous voulez
charger.

8
Neuro Fit est un module indépendant qui peut également être utilisé sans Neuro One.

Manuel de l’utilisateur - TOME II Page 127


Neuro One

14.2 Chargement d’un fichier de données


Pour charger un nouveau fichier de données, activez « Edition/Structures de données » depuis la barre de
menu, ou bien cliquez sur l’icône . La fenêtre « Expert de données » s’ouvre. Sélectionnez « ASCII », puis
cliquez sur « Parcourir » afin de sélectionner le fichier « Netral/Exemples/Données/fonction démo test.csv ».
La fenêtre suivante s’ouvre.
La partie gauche de la fenêtre (« Liste des champs ») contient la liste des noms des variables du fichier
« Fonction démo utilisation ». La zone la plus à droite de la fenêtre contient la liste des noms des variables du
fichier utilisé lors de l’apprentissage du réseau.

Manuel de l’utilisateur - TOME II Page 128


Neuro One

L’ordre des variables présentées au réseau est maintenant important : il est impératif que chaque variable du
fichier d’utilisation soit présentée à l’entrée de la variable d’apprentissage correspondante. Or il est possible que
les variables du fichier d’utilisation ne soient pas dans le même ordre que celles du fichier d’apprentissage, voire
qu’il contienne des variables qui n’ont pas été retenues lors de l’apprentissage.
Dans l’ordre des variables de la partie droite de la fenêtre, sélectionnez une par une les variables correspondantes,
et cliquez sur « Entrée >> » (ou faites un glisser-déposer »). Lorsque des variables contiguës sont utilisables, et
dans le bon ordre, vous pouvez faire une sélection multiple.
Après transfert des variables, la fenêtre a l’aspect suivant :

Manuel de l’utilisateur - TOME II Page 129


Neuro One

Cliquez sur « Terminer».


La fenêtre « Calculette» s’ouvre. Vous êtes maintenant dans une situation semblable à celle du § 3.2.4 Objectifs
du document. La différence est que maintenant, il n’y a pas de valeur de référence à laquelle comparer la valeur
prédite par le réseau, comme c’était le cas avec le fichier d’apprentissage.
La commande « Edition/Copier » vous permet à nouveau de transférer les prédictions du réseau dans le presse-
papier.

14.3 La fenêtre Neuro Fit


La fenêtre Neuro Fit a quatre onglets :
• Calcul.
• Réglage des entrées.
• Réglage de la sortie.
• Algorithmes.
Nous allons passer en revue ces onglets.

14.3.1 Onglet « Calcul »


La barre de menus est divisée en deux parties :
• La partie gauche, « Utilisation », reprend certaines commandes de Neuro One illustrées par les mêmes
boutons, décrits en Annexe. La seule différence est que les icônes d’ouverture et de fermeture font référence
maintenant à des modèles (réseaux) et non à des projets.

Manuel de l’utilisateur - TOME II Page 130


Neuro One

• La partie droite, « Commande », contient deux icônes, une boîte défilante et un bouton appelant des
fonctionnalités décrites plus bas.
La boîte défilante permet d'afficher trois modes de fonctionnement : le mode Direct, le mode Inverse et le mode
Désirabilité. Ces trois modes sont décrits ci-dessous.
14.3.1.1 Mode Direct
La partie gauche de la fenêtre affiche toutes les variables sous forme de plages munies chacune d’un curseur. En
agissant sur ces curseurs avec la souris, on peut imposer à chacune des variables une valeur quelconque de sa
plage de variation.
Sur la partie droite s’affiche la valeur calculée de la (ou les) variable de sortie, ainsi que la confiance qui peut être
accordée à cette prédiction (Voir chapitre 13 « Intervalles de confiance ».
Il est également possible d’ajuster la valeur des variables en entrant au clavier une valeur numérique. Pour cela,

cliquez sur l’icône décrivant un curseur. L’icône devient . Vous pouvez alors entrer au clavier la valeur
de la variable dans la zone de saisie correspondante. Pour revenir en mode « curseur », cliquez à nouveau sur
l’icône.
A droite de la zone « Entrées » se trouvent deux colonnes : « Valeur » et « Sensibilité ».
• « Valeur » contient la valeur de la variable telle qu’elle est déterminée par la position du curseur ou par la
valeur entrée au clavier.
• « d(xx)/dx » contient la valeur de la dérivée partielle d'une des sorties par rapport à l’entrée correspondante
au point de fonctionnement défini par les valeurs des variables d’entrée. Pour changer la sortie dont on calcule la
dérivée, cliquez sur le bouton  à coté du sigle de la dérivée.
Une dérivée élevée signifie que, au point de fonctionnement considéré, la variable a une forte influence sur la
valeur de sortie.

Manuel de l’utilisateur - TOME II Page 131


Neuro One

Pour ramener toutes les variables au milieu de leur domaine, cliquer sur .
Les valeurs des sorties sont affichées dans leurs cases. Lorsque les moyens de calcul des leviers et de l'intervalle
de confiance ont été sauvegardés avec le modèle, une deuxième case apparaît, qui donne les s ou les intervalles
de confiance de la sortie considérée. Pour choisir l'affichage, cliquez sur le bouton  dans la champ SORTIES.
Les calculs des s et des intervalles de confiance sont faits indépendamment pour chaque sortie.
Lorsque la valeur du levier calculé au point de fonctionnement est supérieure à 1, la zone d'affichage passe au
rouge.
Lorsque cette valeur est supérieure à la racine de la valeur moyenne des leviers, la zone d'affichage est en jaune.

Manuel de l’utilisateur - TOME II Page 132


Neuro One

14.3.1.2 Mode Inverse


Neuro Fit offre la possibilité d’étudier le comportement du réseau en mode inverse. Dans ce mode, l’utilisateur
impose la valeur de la variable de sortie et Neuro Fit calcule un jeu de valeurs des variables d’entrée conduisant
à cette valeur de sortie.
Il peut bien entendu exister un grand nombre de valeurs des entrées conduisant à une valeur de sortie donnée.
Pour que la solution soit définie de façon unique, il faut définir des contraintes supplémentaires. Les différentes
contraintes disponibles sont décrites dans le § 14.3.2, « Volet Algorithmes ».
Pour accéder au mode inverse, choissez Inverse dans la boîte défilante La partie droite de la fenêtre se voit
compléter par une zone de valeurs pour la sortie, munie d’un curseur. On voit également apparaître la zone
« Erreur ».

Avec la souris, déplacez le curseur vertical pointant sur les valeurs de la variable de sortie. Les curseurs des
variables se déplacent. Les nouvelles positions des curseurs désignent un jeu de valeurs des variables d’entrée
pour lesquelles la valeur de sortie est celle que vous avez choisie.
Notez qu’il est possible de verrouiller certaines variables à des valeurs définies par l’utilisateur (voir § 14.3.1.4
Paramétrage des entrées et 14.3.1.5 Paramétrage des sorties).
Il peut arriver que l’algorithme de recherche de valeurs d’entrées échoue dans sa recherche (voir § 14.3.1.4).
Lorsque c’est le cas, la zone « Erreur » affiche la différence entre la meilleure valeur de sortie calculée, et la valeur
demandée. Des mouvements répétés du curseur de la valeur de sortie demandée permettent de réduire l’erreur à
0 lorsque la solution existe.

Manuel de l’utilisateur - TOME II Page 133


Neuro One

Lorsque la valeur du levier calculé au point de fonctionnement est supérieure à 1, la zone d'affichage des leviers
passe au rouge.
Lorsque cette valeur est supérieure à la racine de la valeur moyenne des leviers, la zone d'affichage des leviers est
en jaune.

Les valeurs des variables d’entrées sont calculées par un algorithme itératif, dont le nombre d’itérations est fixé.
Eventuellement, vous pouvez cliquer sur le bouton Calcul pour relancer l’algorithme, et affiner ainsi la position des
curseurs.
14.3.1.3 Mode désirabilité
Pour les modèles multi-sortie, il est fréquent que l'on recherche à obtenir un jeu des variables d'entrée qui donne
un jeu de valeurs de sortie prédéfinies, ou pour lesquelles certaines contraintes portent sur ces valeurs de sortie.
Or un tel problème est souvent sans solution. Il convient donc de définir les règles d'un compromis entre des désirs
incompatibles.
Neuro One offre la possibilité d'affecter à chaque sortie une fonction de désirabilité. Une fonction de désirabilité
donne, en fonction de la valeur de la sortie considérée, une valeur comprise entre 0 et 1, 0 signifiant un
mécontentement complet, alors que 1 signifie un contentement total. Neuro One effectue le produit des
désirabilités de chacune des sorties pour calculer la désirabilité globale.
La recherche du meilleur compromis consiste donc à maximiser cette désirabilité globale.

Manuel de l’utilisateur - TOME II Page 134


Neuro One

En sélectionnant Désirabilité dans la liste déroulante , on obtient un fenêtre similaire à celle-ci :

Un double clic sur la zone de désirabilité, à droite des éditeur de la sortie, ouvre une liste déroulante qui permet de
choisir la fonction désirée. Les fonctions disponibles sont les suivantes :
Indifférent → Fonction plate de valeur 1 (par défaut)
Centré → Fonction gaussienne
Domaine → Fonction combinaison de sigmoïdes
Supérieur → Fonction sigmoïde
Inférieur → Fonction sigmoïde
Centré exclu → Fonction 1-gaussienne
Pour chacune de ces fonctions il faut définir 2 ou 3 paramètres qui sont rappelés sur un graphe explicatif qui
apparaît dans la zone de désirabilité.
Un double clic sur ces paramètres fait apparaître un éditeur, que l'on peut quitter avec le bouton Entrée.
Une fois que les fonctions de désirabilité ont été fixée et paramétrées, un clic sur le bouton Calcul lance la
recherche de la solution.
De la même façon que pour le mode Inverse, le mode désirabilité peut fonctionner en compensation. A partir d'un
jeu d'entrées précédemment calculé, il est possible de rechercher une nouvelle solution en faisant varier "à la
main" les entrées. Les autre entrées vont alors s'ajuster pour conserver la meilleure désirabilité globale.

Manuel de l’utilisateur - TOME II Page 135


Neuro One

14.3.1.4 Paramétrage des entrées


Pour chaque entrée, le clic sur le bouton < ouvre le dialogue suivant :

• Le maximum et le minimum de la variable sont au départ les valeurs constatées lors de l'apprentissage.
Ces valeurs peuvent être modifiées par l’utilisateur. Elles limitent la plage explorée par les glissières. Pour le calcul
inverse, elles ne seront prises en compte que si l’utilisateur coche la case « Inverse avec limites ».
• Précision permet d'ajuster le nombre de pas des glissières entre leur minimum et leur maximum.
• Calculable permet de verrouiller une variable à sa valeur courante. En mode inverse, la valeur de cette
variable ne change pas lorsqu’on change la valeur imposée à la variables de sortie.
14.3.1.5 Paramétrage des sorties
Pour chaque sortie, le clic sur le bouton > ouvre le dialogue suivant :

Les zones de saisie de gauche ont les mêmes significations que pour les variables d’entrée. Le paramètre
Calculable détermine ici si la sortie sera considérée comme un objectif à atteindre lors du calcul inverse.

Manuel de l’utilisateur - TOME II Page 136


Neuro One

A droite, on peut choisir le fonction de désirabilité à utiliser. L'apparition et le sens des champs de paramètres A, B
et C dépend de la fonction choisie.

14.3.2 Onglet Algorithmes »


Cet onglet permet de définir les paramètres des calculs d'optimisation fait en mode Inverse ou en mode
désirabilité.
En mode inverse, la différence entre la valeur imposée par l’utilisateur à les variables de sortie, et les valeurs
calculées par le réseau pour le jeu courant de valeurs des variables d’entrée est considérée comme une grandeur
à minimiser.
En mode désirabilité, c'est la désirabilité globale, elle même produit des désidérabilités individuelles qui sera
minimisée.
Dans les deux cas, le calcul effectué est un calcul d'optimisation, qui utilise la propagation inverse dans le modèle.

La boîte à cocher Inverse avec limite permet d'imposer aux variables d'entrée de ne pas sortir des plages affiches
sur les glissières.
La boîte à cocher Inverse avec pondération permet de pondérer l'importance de chaque entrée par l'amplitude de
la plage affichée sur la glissière.
Le nombre de pas inverse est le nombre de calcul d'itération effectué pour la recherche de la solution. Par défaut,
ce nombre est fixé à 100.
La zone « Algorithme principal » permet de choisir le mode de calcul des entrées.

Standard
L’algorithme d’optimisation est activé sans imposer de contrainte sur les valeurs finales des variables d’entrée. Les
valeurs finales des variables d’entrée n’auront a priori d’autre propriété autre que celle de produire à travers le
réseau un nombre égal à la valeur imposée par l’utilisateur à la variable de sortie.
Minimiser les entrées
L’algorithme identifie, parmi les solutions possibles, celle qui minimise la somme des carrés des valeurs des
variables d’entrée.

Manuel de l’utilisateur - TOME II Page 137


Neuro One

Autrement dit, le point de fonctionnement trouvé est celui dont la distance à l’origine est minimale.
Minimiser les variations des entrées
L’algorithme identifie, parmi les solutions possibles, celle qui minimise la somme des carrés des variations des
valeurs des variables d’entrée.
Autrement dit, le point de fonctionnement trouvé est celui dont la distance au point de départ est minimale.
Le nombre de pas inverse est le nombre d'itérations effectuées par l'algorithme d'optimisation pour trouver sa
solution. La valeur par défaut est 100.

Il faut noter qu’un algorithme d’optimisation ne peut pas garantir de trouver le meilleur minimum d’une fonction.
Dans le cas particulier qui nous intéresse, ceci veut dire qu’il n’est pas possible de garantir que l’algorithme
trouvera du premier coup un jeu de valeurs des variables d’entrée qui, après traversée du réseau, conduit à la
valeur de sortie imposée. Il est donc possible que le point de fonctionnement trouvé pour le réseau ne conduise
pas exactement à la valeur demandée pour la variable de sortie. Dans ce cas, l’erreur résiduelle est affichée dans
la zone « Erreur » du volet « Calcul ».Quelques clics sur le bouton calcul permettent en général de trouver une
solution exacte.

14.4 Neuro Fit en dynamique


14.4.1 Chargement du modèle et des données
Le chargement d'un modèle dynamique modifie la fenêtre de Neuro Fit de la façon suivante :

Le chargement de données se fait de la même façon que pour un modèle statique, par le menu Edition /
Structure de données.

Manuel de l’utilisateur - TOME II Page 138


Neuro One

Un clic sur le bouton Calcul permet de remplir les colonnes vides, et d'obtenir les valeurs des sorties, des variables
d'état, et des leviers calculés.

Manuel de l’utilisateur - TOME II Page 139


Neuro One

14.4.2 Générateur de scénarios


Neuro Fit offre la possibilité de créer des données, ou d'enrichir une table de données existante en utilisant un
générateur de scénario. Un clic sur le bouton fait apparaître celui-ci.

Si aucunes données n'avaient été préalablement chargées, le générateur de scénario va créer un nouveau jeu de
données, en utilisant au départ les champs du modèle.
Si un jeu de données avait été préalablement chargé, le générateur de scénario va proposer d'ajouter de nouvelles
données à la suite de celles déjà présentes dans la table ouverte.
Le principe des scénarios est le suivant :
La longueur du scénario est exprimé en nombre d'exemples de la table.
Le temps est repéra par rapport à des évènements. Un événement Initial marque le début du scénario, et
un événement Final en marque la fin. D'autres évènements sont crées entre ceux-ci. Tous les autres
événement peuvent être créés, détruits ou déplacés.
Le comportement de chaque champ entre les événement est défini par une fonction paramétrée. Cette
fonction peut être transparente. Dans ce cas la fonction active est celle de l'événement précédent.

Manuel de l’utilisateur - TOME II Page 140


Neuro One

14.4.2.1 Création d'un champ

Un clic sur le bouton propose la création d'un nouveau champ dans la table. Il suffit alors de renseigner le nom
du champ, et de cliquer sur Appliquer.

14.4.2.2 Création d'un événement

Un clic sur le bouton propose la création d'un événement. L' événement doit avoir un nom unique et une
position temporelle entre les événements Initial et Final.

Un événement apparaît daos la fenêtre du bas comme une barre verticale. Cette barre peut être cliquée et
déplacée avec la souris. La valeur de la position est alors changée.
14.4.2.3 Création d'un fonction

Une fonction peut être crée par clic sur le bouton , ou par sélection d'un champ dans la liste des champs, ou
d'un événement dans la liste des évènements. La fonction créée s'appliquera au champ sélectionné, à partir de
l'événement sélectionné.
Le choix du type de fonction se fait dans la liste déroulante Type. Les types de fonction disponibles sont :
Aucun (fonction transparente)
Constante Paramètres : Valeur initiale
Linéaire Paramètres : Valeur initiale
Pente
Quadratique Paramètres : Valeur initiale
Extremum
Courbure
Sinus Paramètres : Valeur initiale
Amplitude
Période
Phase

Manuel de l’utilisateur - TOME II Page 141


Neuro One

Tangente hyperbolique Paramètres : Valeur initiale


Constante de temps
Asymptote positive
Asymptote négative
Exponentiel Paramètres : Valeur initiale
Constante de temps
Asymptote.

Pour chacune de ces fonctions, les paramètres nécessaires s'affichent au dessous, et doivent être renseignées
Un clic sur le bouton Appliquer crée les données, et les affiche dans le graphe du bas.
Les exemples ci-dessous montrent l'effet de deux fonctions, ici Sinus et Linéaire, appliquées successivement à un
champ.

Manuel de l’utilisateur - TOME II Page 142


Neuro One

Par défaut, l'événement Initial porte les fonction constante pour tous les champs, avec la valeur 0.
Le bouton Appliquer permet de retourner à Neuro Fit, et d'utiliser le scénario ainsi généré.

Manuel de l’utilisateur - TOME II Page 143


Neuro One

15 L'atelier neuronal Neuro Shop

15.1 Modélisation semi-physique


Les modèles construits par Neuro One sont parfois insuffisants pour traiter les problèmes réels. En particulier
lorsqu'il est nécessaire d'introduire dans le modèle une certaine dose de connaissance, c'est à dire de mettre le
modèle sous contrainte.
Neuro Shop© est l'outil de base de la modélisation neuronale semi-physique qui combine la modélisation des
connaissances et la modélisation neuronale.
1. La modélisation neuronale consiste à bâtir et utiliser une boite noire (avec Neuro one©) à partir
d’exemples, d’un stock de données. Cette méthode ne nécessite pas de connaissances à priori du
phénomène mais exige des données qui permettent à Neuro one© de bâtir un modèle neuronal.
2. La modélisation neuronale semi-physique consiste à déduire d’une connaissance à priori d’un
phénomène un réseau de neurones que l’on bâtit alors de toutes pièces à l’aide de Neuro Shop©. Cela
consiste à bâtir le réseau à partir des équations décrivant le phénomène. Les paramètres ajustables de
l’équation deviennent des synapses. Le poids de ces synapses, la valeur de ces paramètres seront
calculés par l’apprentissage, grâce à des données exemples.
Cette méthode suppose une connaissance à priori. Elle nécessite des données exemples. Elle présente
l’avantage :
• par rapport à la modélisation des connaissances d’autoriser une connaissance imparfaite du phénomène
• par rapport à la modélisation neuronale de simplifier le réseau de neurone utilisé, et donc de réduire le nombre
d’exemples à introduire lors de la phase d’apprentissage afin d’obtenir un réseau efficient.

Prenons un exemple élémentaire de construction d’un réseau de neurone à partir d’une équation :
soit y = ax + b, ou a et b sont les paramètres à déterminer. Le réseau correspondant sera :

Exemple de réseau de connaissance qui réalise une équation du deuxième degré :

Manuel de l’utilisateur - TOME II Page 144


Neuro One

soit y = ax² + bx + c , ou a, b et c sont les paramètres à déterminer. Le réseau correspondant sera :

Remarque : les liens doubles-barrés sont fixes, de poids « 1 ».

Manuel de l’utilisateur - TOME II Page 145


Neuro One

15.2 Extension des types de neurones et de synapses


Neuro Shop propose une grande variété de neurones et de synapses, qui constituent les composants de base de
la modélisation de semi-physique.

15.2.1 Les types de neurones


L'action d'un neurone se décrit en deux temps principaux :
1. le calcul d'un potentiel fonction des entrées xi et des poids des synapses ci :
⇒ U = C({cixi})
2. l'application à ce potentiel d'une fonction d'activation non-linéaire :
⇒ S = f(U)

Neuro Shop propose quatre types de neurones qui se différencient par la méthode de calcul du potentiel :
1. Neurone Σ
⇒ U j = Σ cij xi
i

2. Neurone Σ²
⇒ U j = Σ cij x
2
i
i

3. Neurone Π
⇒ U j = Π cij xi
i

4. Neurone Σ+
⇒ U j = Σ cij g ( xi )
i

15.2.2 Les genres de synapses


Les genres de synapses sont :
• Standard
⇒ Les synapses standards contribuent au calcul du potentiel.
• Facteur Pi
⇒ La synapse Facteur Pi, si elle existe, est unique pour chaque neurone. Sa contribution vient
multiplier le résultat de l'application de la fonction d'activation.
• Facteur Sigma
⇒ La synapse Facteur Sigma, si elle existe, est unique pour chaque neurone. Sa contribution s'ajoute
au résultat du calcul de la sortie, après application de la fonction d'activation non-linéiare et de la
synapse Facteur Pi éventuelle.

Manuel de l’utilisateur - TOME II Page 146


Neuro One

Par exemple, pour un neurone S, possédant :


• une synapse Facteur Pi de poids Pp, pointant sur un neurone de valeur de sortie Sp
• une synapse Facteur Sigma de poids Ps, pointant sur un neurone de valeur de sortie Ss
• des synapses standards de poids Ci pointant sur des neurones de valeurs de sortie xi
le calcul de la valeur de sortie du neurone sera :
⇒ S = Pp × S p × f ( ∑c x ) + P × S
i
i i s s

15.2.3 Les types de synapses


Les types de synapses sont :
• Libre
⇒ Synapse traditionnelle susceptible d’apprentissage avec Neuro One.
• Fixe
⇒ Valeur définie une fois pour toute. Sa valeur n’apparaîtra pas dans les vecteurs de poids.

15.3 L'écran principal de Neuro Shop


L'écran principal de Neuro Shop est scindé en deux parties. A gauche, un enregistrement textuel des opérations
accomplies. A droite une présentation graphique ou textuelle du réseau en cours de modification.

Manuel de l’utilisateur - TOME II Page 147


Neuro One

Les synapses différents types et genres sont différenciés par la nature du trait et sa couleur.
Les neurones de différents types sont différenciés par leur couleur.
Sur la vue graphique du réseau, tous les nœuds et le réseau dans son ensemble sont déplaçables par glisser-
déplacer avec la souris.
Un double clic sur un neurone fait apparaître sa description graphique :

Manuel de l’utilisateur - TOME II Page 148


Neuro One

15.4 Les commandes de Neuro Shop


Les barres d'outils de Neuro Shop sont présentées ci-dessous :

avec :
Général Réseau

Créer réseau
Suivant

Précédent Fusionner réseau

Bascule Ajouter boucle

Zoom vertical Bouclage différentiel

Couches
Zoom horizontal

Haut Créer/Détruire couche

Neurones
Bas

Gauche Créer/Détruire neurone

Déplacer neurone
Droite

Haut/Bas Absorber neurone


Synapses
Pente

Créer/Détruire synapse

Multiples synapses

Les effets de ces différentes commandes sont détaillés ci-après.

Manuel de l’utilisateur - TOME II Page 149


Neuro One

15.4.1 Création d'un nouveau modèle

Pour créer un modèle ex-nihilo, cliquez sur le bouton ou sur le menu Fichier / Nouveau Modèle. Le dialogue
suivant apparaît :

On retrouve sur ce dialogue les paramètres principaux d'un réseau de neurones de type Perceptron MultiCouche
(PMC) à une couche cachée.
Les enrichissement possibles sont regroupés dans la fenêtre Type de réseau :
• Tout connecté → Les neurones de la couche cachée sont tous connectés aux précédents
• Lien E/S → Ajout de synapses entre les entrées et les sorties
• Moniteur → Ajout d'un neurone moniteur. Un neurone moniteur est un neurone qui réaalise
une transformation affile sur une des entrées, et multiplie une des sorties par le résultat..
• Parallèle → Si le modèle possède plusieurs sorties, le réseau sera constitué d'autant de
réseaux parallèles, n'ayant que les entrées en commun.
• Norme Entrée → Introduction d'une couche de normalisation pour les entrées. Les valeurs des
paramètres de normalisation doivent être entrés à la main.
• E/S fixe → Création de liens fixes entre une entrée et une sortie

Manuel de l’utilisateur - TOME II Page 150


Neuro One

• E/S tout → Création de liens fixes entre les entrées et lres sorties une à une
• Retro → Le comptage des positions de neurones est fait en sens inverse
• Numérotation inverse → La numérotation des synapses est faite en ordre inverse.
• Norme Sortie → Introduction d'une couche de normalisation pour les sorties. Les valeurs des
paramètres de normalisation doivent être entrés à la main.
La case à cocher Sans synapse permet la création du squeloette du réseau, sans synapses.

15.4.2 Chargement d'un modèle existant


Pour charger un modèle existant sous forme de fichier, cliquer sur le menu Fichier / Charger Modèle.

Ce dialogue se comlporte comme un dialogue d'ouverture de fichier ordianire, avec en plus l'affichage dans la
fenêtre de droite des propriétés des fichiers sélectionnées.

Manuel de l’utilisateur - TOME II Page 151


Neuro One

15.4.3 Création d'une couche de neurones

Pour créer ou détruire une couche, cliquez sur le bouton ou sur le menu Atelier / Couches.

Cette commande permet de créer ou de détruire une couche de neurones dans le réseau existant.
Pour la création, il faut fixer le rang de la couche. Si ce rang est supérieur au nombre de couches existantes, la
nouvelle couche se metra en couche de sortie. Autrement, elle prendra la place de la couche existante de même
rang. Cette couche et toute celles de rang supé&rieur seront repoussés d'un rang.
La coche Comptage inverse permet de compter les couches depuis la couche de sortie, en ordre inverse.
La longueur de la couche représente le nombre de neurones qu'elle comprendra.
L'activation des neurones sera identique sur toute la couche créée. Elle est fixée à l'aide de la liste défilante
Activation.
Si le type de neurones est Sigma Plus, une deuxième liste défilante apparaît qui permet de fixer l'activation
d'entrée.
Pour la destruction, il suffit de définir le rang de la couche visée, et de cliquer sur le bouton Détruire.

Manuel de l’utilisateur - TOME II Page 152


Neuro One

15.4.4 Création/Modification/Destruction d'un neurone

Pour créer ou détruire un neurone, cliquez sur le bouton , ou sur le menu Atelier / Neurones / Créer détruire
neurones. Le dialogue suivant apparaît :

Le groupe Position permet de définir la position du neurone visé. Il est possible de créer un neurone constant, ou
de la détruire, à l'exception du neurone Biais qui reste indestructible. Les neurones doivent être repérés par leur
rang dans leur couche, et un neurone caché doit égalment être défini par la rang de sa couche. Si le neurone visé
existe, son nom et son numéro sont indiqués.

15.4.5 Déplacement d'un neurone

Pour déplacer un neurone dans le réseau, cliquez sur le bouton , ou sur le menu Atelier / Neurones /
Déplacer neurone. Le dialogue suivant apparaît :

Manuel de l’utilisateur - TOME II Page 153


Neuro One

Le choix du neurone à déplacer est fait dans la groupe Origine. Le choix de la cible est fait dans le groupe Cible.
Le neurone Origine est déplacé vers la place du neurone Cible, et celui-ci ainsi que tous les suivants sur sa couche
seront repoussés d'un rang.

15.4.6 Fusion de neurones

Pour fusionner deux neurones du réseau, cliquez sur le bouton , ou sur le menu Atelier / Neurones /
Absorber neurone. Le dialogue suivant apparaît :

Le neurone cible est désigné dans le groupe Cible. La coche Parents ordonne la saisie des synapses parents du
neurone cible. La coche Enfants ordonne la saisie des synapses enfants du neurone cible.
Le neurone absorbant est désigné dans le groupe Absorbant.

Manuel de l’utilisateur - TOME II Page 154


Neuro One

15.4.7 Création/ Modification d'une synapse

Pour créer ou détruire une synapse, cliquez sur le bouton , ou sur le menu Atelier / Synapses / Créer
Détruire Synapse. Le dialogue suivant apparaît :

Le neurone parent de la synapse est désigné dans le groupe Parent.


Le neurone enfant de la synapse est désigné dans le groupe Enfant.
Le groupe Genre permet de définir si la synapse sera une synapse standard, une synapse Facteur Sigma ou une
synapse Facteur Pi.
Le groupe Type permet de choisir entre le type Libre, pour lequel le poids sera susceptible d'être modifié mors
d'un apprentissage, ou Fixe, pour lequel la valeur de la synapse sera définie une fois pour toute.
Lorsque la description de la synapse correspond à une synapse existante dans le réseau, les bouton Détruire et
Modifier deviennent visibles. Lorsque la synapse ainsi désignée est libre, le bouton Fixer devient visible.
Un clic sur le bouton Créer entraîne la création de la synapse désignée.
Un clic sur le bouton Détruire entraîne la destruction de la synapse désignée.
Un clic sur le bouton Modifier entraîne la modification de la synapse désignée.
Un clic sur le bouton Fixer entraîne la transformation de la synapse libre désignée en synapse .

Manuel de l’utilisateur - TOME II Page 155


Neuro One

15.4.8 Création de multiples synapses

Pour créer ou détruire de multiples synapses, cliquez sur le bouton , ou sur le menu Atelier / Synapses /
Multiples Synapses. Le dialogue suivant apparaît :

Ce dialogue permet la création simultanée de toutes le synapse connectant un neurone et un couche. Le neurone
peut être avant la couche ou après la couche. Le choix est fait dsans le groupe Direction.

Manuel de l’utilisateur - TOME II Page 156


Neuro One

Dans le deuxième cas, le dialogue devient :

Les liens synaptiques peuvent être libres, c'est à dire susceptible d'être modifiés par un apprentissage, ou fixe, de
valeur 1.

Manuel de l’utilisateur - TOME II Page 157


Neuro One

15.4.9 Fusion de modèles

Pour fusionner le réseau courant avec un réseau préalablement sauvegardé, cliquez sur le bouton , ou sur le
menu Atelier / Réeau / Fusionner Modèles. Le dialogue suivant apparaît :

Vous pouvez choisir Auto fusion. dans ce cas, la fusion sera faite avec une copie du réseau en cours.
Vous pouvez choisir Nouveau réseau. Dans ce cas, le dialogue est modifié comme ci-dessous, de façon à
permettre de définir un nouveau réseau qui sera fusionné au réseau en cours.

Manuel de l’utilisateur - TOME II Page 158


Neuro One

Les paramètres du nouveau réseau sont définis au § 15.4.1 Création d'un nouveau modèle.
Une fois choisi le réseau à fusionner, les paramètres de la fusion sont définis dans l'onglet Fusion.

Le choix de Fusion des entrées par noms entraîne une fusion des entrées des deux réseaux portant le même
nom. La recherche des noms est sensible à la casse.
Le choix de Synapses partagées entraîne une mise en commun des synapses, depuis la première jusqu'à la
dernière du réseau qui en comporte le moins.
Le choix de Branchement entraîne la fusion des neurones sans enfant du réseau en cours avec les neurones
sans parent du réseau fusionné chaque fois que ceux ci se trouveront superposés par la fusion.
Le nombre de Fusion entrées détermine combien d'entrées sont fusionnées. Cette optoion est incompatible avec
le choix de Fusion des entrées par noms.
Le Décalage couches est le déplacement du réseau fusionné vers les couches supérieures du réseau en cours.
Le Décalage neurones est le déplacement du réseau fusionné vers les neurones de rang supérieurs.

Manuel de l’utilisateur - TOME II Page 159


Neuro One

15.4.10 Bouclage d'un réseau


Un réseau en cours peut être bouclé. Il est possible de créer les boucles séparément, oiu de créer un bouclage
différentiel, comme décrit au § suivant 15.4.11.

En cliquant sur le bouton ou sur le menu Atelier / Réseau / Ajouter boucle, on ouvre le dialogue de bouclage
suivant. Par défaut, le Modèle dynamique choisi est le modèle d'Etat.

Il faut définir le nombre d'états anonymes, ou autrement dit, l'ordre du modèle.


Le Modèle dynamique peut aussi être le modèle Entrée/Sortie, comme ci-dessous :

Manuel de l’utilisateur - TOME II Page 160


Neuro One

Il faut alors définir le nombre de boucles et le rang de la sortie bouclée (base 0). Le nombre de boucle représente
l'augmentation de l'ordre du réseau.
Il est aussi possible de boucler un Neurone quelconque du réseau, comme ci-dessous :

Il faut alors désigner le neurone par sa couche et son rang dans sa couche, puis le nombre de boucles à installer.
Dans tous les cas, la création des bouclages peut être faite sans création des synapses correspondantes.

15.4.11 Bouclage différentiel


Dans le cadre de la modélisation semi-physique d'un processus dynamique, on commence par modéliser les
membre de droite des équations différentielles par un réseau statique. Il faut ensuite boucler ce réseau de façon à
obtenir le réseau dynamique modèle du processus.

Un clic sur le bouton ou sur le menu Atelier / Réseau / Bouclage différentiel ouvre le dialogue :

Neuro Shop propose les trois types de bouclage suivants :


Euler
Runge-Kutta d'ordre 2

Manuel de l’utilisateur - TOME II Page 161


Neuro One

Runge-Kutta d'ordre 4
Pour appliquer le bouclage d'Euler, cliquez simplement sur Appliquer.
Pour appliquer un bouclage de Runge-Kutta, Sélectionnez votre choix puis cliqurez sur Appliquer. Le réseau subit
alors une première transformation qu'il faut compléter par un clic sur le bouton Boucler afin d'obtenir le réseau
bouclé désiré.

15.4.12 Fonctions de coût


Le choix de la fonction de coût peut être fait ici, par un clic sur le menu Atelier / Fonction de coût.

Le choix de la fonction est limité aux fonctions présentes dans la liste déroulante. Les fonctions proposées par
défaut par Neuro One sont décrites en annexe.
Lorsque la fonction choisie nécessite un paramètre, celui-ci sera défini dans le champ Facteur.
Si vous cliquez sur Validation différente, il est possible de définir une fonction de coût différente qui sera utilisée
pour le calcul du coût sur l'ensemble de validation.
Il est également possible de définir de nouvelles fonctions de coût. Cette fonctionnalité est décrite dans l'aide en
ligne de Neuro Shop Fonctions de coût.

Manuel de l’utilisateur - TOME II Page 162


Neuro One

15.4.13 Informations modèle


Le dialogue information modèle est appelé par le menu Atelier / Info Modèle.

Ce dialogue permet de lire les principaux paramètres du réseau en cours de modification. Ce dialogue permet
également de modifier lorsque cela est nécessaire les valeurs d'entrée, de sortie ou de sous-ordre.
Pour mémoire, le sous-ordre d'un réseau dynamique est défini comme le nombre de cycles que le réseau doit
effectuer pour avoir calculé au moins une fois toutes ses variables d'état.

15.4.14 Options
Le menu Outils / Options ouvre le dialogue suivant :

Il permet de définir le nombre de chargement retenu en mémoire, et de de définir si l'affichage du réseau modifié
se fait immédiatement après chaque modification. Si l'option n'est pas retenue, il faudra cliquer sur le menu
Affichage / Actualiser pour actualiser les affichages.

Manuel de l’utilisateur - TOME II Page 163


Neuro One

16 Visualisation sous Neuro One©


Ce chapitre présente toutes les vues (graphiques ou non) de Neuro One.

16.1 Généralités
La barre d’outil commune à toutes les vues graphiques comporte les boutons suivants :

zoom vertical croissant

zoom vertical décroissant


+ Maj

zoom horizontal croissant

zoom horizontal décroissant


+ Maj

petit déplacement vers le haut

grand déplacement vers le haut


+ Ctrl

petit déplacement vers le bas

+ Ctrl grand déplacement vers le bas

petit déplacement vers la gauche

grand déplacement vers la gauche


+ Ctrl

petit déplacement vers la droite

grand déplacement vers la droite


+ Ctrl

16.2 Editeur de table


L'éditeur de table est l'outil général de présentation des données de Neuro One©. Il est utilisé pour éditer :
• Les poids synaptiques ;
• Les coefficients de normalisation ;
• Les matrices de traitement initial des données ;

Manuel de l’utilisateur - TOME II Page 164


Neuro One

• Les valeurs d'initialisation des états ;


• Les fichiers de données ;
• Les données d’apprentissage, de test et de validation ;
• Les données internes de Neuro One©.
Les fichiers lus par l'éditeur de tables proviennent de différentes sources :
• Neuro One© ;
• Fichiers ASCII ;
• Fichiers binaires d'algèbre linéaire (*.lin) générés par l'analyse de données ;
• Bases de données (Dbase, Paradox, Oracle, FoxPro...), en fonction des drivers installés.
L'éditeur de table permet de sauvegarder au format ASCII ou base de données.
L’éditeur de table est complètement interactif avec Neuro One© lorsqu’il est appelé par ce dernier. En effet, les
données peuvent être modifiées dans l'éditeur de table, et la modification est aussitôt répercutée dans Neuro
One©. De même, les calculs effectués par Neuro One© sont immédiatement répercutés dans les éditeurs de tables
ouverts.
Appelé directement, l'éditeur de table permet de modifier le contenu de tables existantes au format ASCII ou bases
de données. Dans tous les cas, cet outil ne permet pas de modifier la structure des tables, ni de créer de nouvelles
tables.

16.3 La table implicite de Neuro One


Lorsqu'un projet est chargé dans Neuro One, et que ses données sont chargées, Neuro One utilise une table
implicite, non visible. Il est possible d'(appeler le menu de visualisation de cette table avec un clic droit de la souris
dans le fenêtre principale de Neuro One.

16.4 Champ
16.4.1 Présentation
Le menu Champs de l’éditeur de table, ou le menu contextuel appelé par un clic droit de la souris, reprend tous
les champs de la table.

Manuel de l’utilisateur - TOME II Page 165


Neuro One

La commande Champs/<champs>/Sauvegarde sauvegarde le contenu du champ dans un fichier au format ASCII


ou binaire.
La commande Champs/<champs>/Copier copie le contenu du champ dans le presse-papiers.
La commande Champs/<champs>/Visible rend le champ visible ou non dans la table.
La commande Champs/<champs>/Vue Champ ouvre une vue graphique du contenu du champ. Cette vue est
extrêmement souple car il est possible de
• Retrouver un point du tracé dans la table ;
• Tracer simultanément un ou plusieurs champs de la table;
• Choisir l’axe des abscisses ;
• Modifier le tracé d'un champ en fonction du contenu d'un autre ;
Il est également possible d'appeler un dialogue de gestion du graphique par un clic droit de la souris dans le
graphique ou par le menu Outils / Propriétés.
Ces différentes commandes sont étudiées dans les paragraphes suivants.

16.4.2 Retrouver un point du tracé dans la table


Lorsque la courbe représentant un champ présente une singularité, il est intéressant de remonter rapidement à cet
enregistrement dans la table de données. La façon de procéder est la suivante :
• positionner la souris au voisinage du point intéressant,
• Cliquer sur le bouton gauche de la souris.
Le curseur de la table de données est alors déplacé sur l'enregistrement correspondant au point visé.

16.4.3 Tracés multiples


La vue graphique d’un champ est liée à la table de données. A tout moment, il est possible d’ajouter d’autres
courbes ou de modifier le tracé.
La commande Outils - Choix des courbes ouvre la fenêtre Choix des courbes :

Manuel de l’utilisateur - TOME II Page 166


Neuro One

L’ensemble des champs de la table est listé dans la zone Liste des champs. Tous les champs peuvent être
déplacés vers la zone Tracés principaux.
Pour chaque tracé principal, il est possible de choisir un tracé secondaire qui va servir à modifier l'affichage du
tracé principal. La modification sera définie dans la liste défilante Action secondaires. Les action possibles sont :
Aucun
Addition
Soustraction
Multiplication
Division
En cliquant sur OK, les champs de la liste Tracés principaux sont tracés dans la fenêtre graphique. Les courbes
sont de couleurs différentes et le nom de chaque champ tracé est écrit avec la même couleur que celle de la
courbe.

Manuel de l’utilisateur - TOME II Page 167


Neuro One

16.4.4 Propriétés d'un graphique


Le dialogue Personnalisation du graphique est appelé par le menu Outils / Propriétés :

Ce dialogue avec tous ses onglets permet un réglage très fin de l'affichage, des couleurs des formes des tracés et
des zooms. Il permet également de commander l'exportation du graphique vers le presse papier, vers un fichier ou
vers l'imprimante, dans différents formats.

Manuel de l’utilisateur - TOME II Page 168


Neuro One

16.4.5 Copier le contenu de la fenêtre


Les données sont enregistrées par la commande de menu Fichier - Enregistrer.

Le graphique contenu dans la fenêtre peut être exporté vers le presse-papier, un fichier ou l'imprimante. Le format
d'exportation peut être choisi parmi MetaFile, BitMap ou JPG.
La taille du graphique peut également être définie.
Le bouton Export réalise l'exportation demandée.

16.4.6 Commande de Zoom


Dans certaines fenêtre graphiques, il est possible de sélectionner un rectangle par glisser-déplacer avec la souris.
Lors du relâchement de la souris, le dialogue suivant apparaît :

Manuel de l’utilisateur - TOME II Page 169


Neuro One

ou, dans les vues doubles, présentant simultanément les valeurs désirées et les valeurs calculées par le modèle :

Le nombre de point encadrés par le rectangle est noté en tête de groupe. Si vous choisissez Zoom, l'affichage
utilisera le cadre sélectionné comme format. Si vous choisissez Suppression, les ponts encadrés seront
supprimés de l'ensemble d'apprentissage.
Le retour en arrière du zoom est assuré par la commande de menu Affichage / Défaut.

16.4.7 Champs calculés et désirés.


Lorsque vous éditez les données internes d'un projet, Neuro One© ajoute des champs calculés aux données
initiales. Les champs dont le nom est Calcul - <champ> de sortie du modèle possèdent un menu plus riche. En
effet, les vues suivantes deviennent disponibles :
• Vue double : Calcul <champ> et <champ> sur un même graphique ;
• Vue Delta : différence entre Calcul <champ> et <champ> ;
• Vue XY : diagramme de dispersion, c'est à dire Calcul <champ> en fonction de <champ>.
Ces vues sont modifiables avec les dialogues Propriétés comme toutes les vues graphiques.

Manuel de l’utilisateur - TOME II Page 170


Neuro One

16.5 Coût
La vue Coût permet de suivre en temps réel le coût d’apprentissage, le coût de test (si un ensemble de test a été
défini) et le coût de prédiction (si la case Calcul des leviers est cochée).

La vue Coût est obtenue à partir du bouton ou par la commande Vues - Coût.
L’échelle verticale peut être linéaire ou logarithmique. Le changement est fait en cochant ou non la commande
Outils - Logarithmique. Si l’échelle verticale est logarithmique, des commandes supplémentaires permettant de
translater verticalement les courbes sont accessibles.

16.6 Réseau de neurone


La vue Réseau définit une vue graphique puis textuelle du réseau de neurones courant. Elle est particulièrement
utile pour un réseau chargé grâce au fichier réseau.

La vue Réseau est obtenue à partir du bouton ou par la commande Vues - réseau. La fenêtre suivante
s’affiche :

Les neurones sont numérotés à partir du numéro 1 ; le numéro 0 est réservé au biais (terme constant égal à 1).
La représentation ci-dessus suppose qu ‘aucun pré traitement n’a été sélectionné. Un pré traitement est considéré
par Neuro One comme faisant partie intégrante du modèle, et il apparaît comme tel sur la représentation
graphique.

Manuel de l’utilisateur - TOME II Page 171


Neuro One

Sur la vue précédente, le réseau a trois entrées (x1, x2 et x3) et deux neurones cachés. Le pré traitement
« Standard » a été sélectionné. Il est appliqué :
• Aux variables d’entrée, et apparaît comme les nœuds N_x1, N_x2 et N_x2.
• Et à la variable de sortie : nœud N_y.
Si on double clique sur un neurone, une description textuelle apparaît :

Numéro du Nom du neurone


neurone

Fonction d'activation
Nature du
neurone (2)'H0(0)'
Numéro et nom d'un
caché ArcTangente
neurone amont
synapses
Liste des ( 0) du neurone (0) 'Bias'
synapses amonts ( 1) du neurone (1) 'X(Unit)'
8.83830958824497E-0001 du neurone (0) 'Bias'
Numéro d'une enfants
synapse amont 5, 8
Poids d'une synapse
Liste des amont fixe
synapses avals Numéro d'un neurone aval

Nature du neurone : Entrée, Caché, Sortie, Entrée d’etat, (Sortie d’) etat ;
Fonction d’activation : Identité, ArcTangente, sigmoïde, etc.
La commande Outils - Réseau ouvre la description textuelle du réseau de neurones qui est une compilation des
descriptions de chaque neurone.

Manuel de l’utilisateur - TOME II Page 172


Neuro One

Le menu Autres… permet de se déplacer dans les couches du réseau. L’ordre des couches est le réseau complet,
la couche constante, la couche d’entrées, le(s) couches(s) cachée(s) et la couche de sortie. La commande
Autres… - Suivant (Précèdent) mène à la couche suivante (précédente).

16.7 Vue Fonction


16.7.1 Statique
La vue fonction permet d’afficher graphiquement la valeur de sortie du réseau en fonction de une ou de deux
variables d’entrée.
Lorsque le modèle possède une seule entrée, Neuro One© propose la vue fonction à une dimension. Lorsque le
modèle a deux variables d’entrée, Neuro One permet l’affichage tridimensionnel de la sortie du réseau en fonction
des deux variables d’entrée.
Lorsqu’il y a trois variables d’entrée ou plus, il n’est bien sûr plus possible de représenter graphiquement la sortie
du réseau en fonction des entrées. Neuro One propose alors une représentation tridimensionnelle de la sortie du
réseau en fonction de deux variables choisies par l’utilisateur, qui peut alors fixer les valeurs des autres variables à
son gré.

On accède à la vue fonction par la commande de menu Vues – Fonction (Ctr + Alt + F5) ou grâce au bouton .
La fenêtre « Vue fonction » se présente alors ainsi :

Manuel de l’utilisateur - TOME II Page 173


Neuro One

Sur la figure précédente est représentée la vue de la fonction des trois variables x1, x2, x3 en fonction de x1.
L’utilisateur peut fixer les valeurs de x2 et x3. Il peut également choisir la variable de l’abscisse du graphique en
double-cliquant sur la variable correspondante.

En cliquant sur l’icône « 3D » , on passe à la vue suivante :

qui est une représentation 3D de la sortie du réseau en fonction des variables x1 et x2. En double-cliquant sur x3,
on obtiendrait la vue de la sortie du réseau en fonction de x2 et x3.

Manuel de l’utilisateur - TOME II Page 174


Neuro One

L’utilisateur peut ajuster les valeurs des variables non utilisées dans ce graphique. Il peut également faire varier
l’angle de vue en déplaçant les curseurs de défilement horizontal et vertical.

En cliquent sur l’icône , on obtient une représentation de la fonction sous forme de courbes de niveau.

Pour revenir à la première vue, cliquer sur .

16.7.2 Dynamique
Il est possible de tester qualitativement la réponse du modèle à une excitation de fréquence donnée. Par défaut, le
signal d’excitation est une sinusoïde dont la fréquence de base est définie à partir de l'intervalle de temps séparant
deux exemples contigus des données d’apprentissage.
Soit :
• δt l'intervalle de temps entre deux exemples de l'ensemble d'apprentissage
• P le taux de sur-échantillonnage lors de l'apprentissage;
• N le taux de sur-échantillonnage lors de l'utilisation.
N
L'intervalle de temps δu correspondant à un transfert à travers le modèle lors de l'utilisation est δu = δt
P

Manuel de l’utilisateur - TOME II Page 175


Neuro One

QNδt
Si Q est le nombre de pas pour une période de la fonction d'excitation, la période est T = Qδu = et la
P
2 Π 2 ΠP
fréquence F = = .
T QNδt

16.7.3 Fonction densité


Vous pouvez visualiser la fonction réalisée par le réseau de neurones courant et le réseau maître. Les icônes sont
les suivantes :

Vue Fonction
Courant

Maitre

Manuel de l’utilisateur - TOME II Page 176


Neuro One

17 Annexe

17.1 Fonctions d'activation


Fonction Définition Remarque
Identité S=x Non bornée

Tangente hyperbolique S = th( x) Fonction par défaut

∈ [− 1,1]
Arc tangente S = atn( x)  Π Π
∈ − , 
 2 2
Exponentielle S = ex Non bornée

Inverse 1 Non bornée


S=
x
Logarithme S = ln( x) Non bornée

Quadratique x2 Non bornée


S=
2
Cubique x3 Non bornée
S=
6
Gaussienne S = exp(− x 2 ) ∈ [0,1]
Sinusoïde S = sin( x) ∈ [− 1,1]
Sigmoïde 1 + th( x) ∈ [0,1]
S=
2
Arc sinus hyperbolique S = arcsh( x) Non bornée

Racine S= x Non bornée

Complément à 1 S = 1− x Non bornée

Moment 0 1− x2 ∈ [− 1,1]
S=
1+ x2

Manuel de l’utilisateur – TOME II Page 177


Neuro One

Moment 1 x ∈ [− 1,1]
S=
1+ x2
Quasi absolu abs ( x ) > 10 −3 ⇒ S = −5.10 −4 + abs ( x ) Non bornée

abs ( x) ≤ 10 −3 ⇒ S = 5.10 − 2 x 2
Unité S =1
Echelon x=0⇒ S =0 Non dérivable.
x < 0 ⇒ S = −1 Ne pas employer pour un
apprentissage
x > 0 ⇒ S =1

17.2 Fonctions de coût


y est la valeur de la sortie calculée
y* est la valeur de la sortie désirée
p est un paramètre ajustable de la fonction

Fonction Définition Remarque


Nulle J =0
Delta carré ( y − y* )2 Fonction par défaut
J=
2
Delta log carré y 2 y et y* doivent être de
Ln( ) même signe
y*
J=
2
Delta carré minoré
y − y* 2
J = 1+ ( ) −1
p
Delta carré pondéré ( y − y* )2
J=
y − y* 2
2(1 + ( ) )
p

Manuel de l’utilisateur – TOME II Page 178


Neuro One

Classement incorrect ( y − p )( y * − p ) < 0 ⇒ J = 1 Non dérivable.


Ne peut pas être utilisé
( y − p )( y * − p ) ≥ 0 ⇒ J = 0 pour l'apprentissage
Classement pondéré Non dérivable.
y − p + 1 + ( y − p) 2 2
y < p⇒J =(
*
) Ne peut pas être utilisé
2 pour l'apprentissage
− y + p + 1 + ( y − p) 2 2
y ≥ p⇒J =(
*
)
2
Delta carré relatif y
(− 1) 2
y*
J=
2
Delta carré gauss ( y − y* )2
J=
y*
2 Exp(−( ) 2 )
p
Entropie croisée { }
J = − y * Ln( y ) + (1 − y * ) Ln(1 − y ) y ∈]0,1[
y* = 0 | 1
Réservé à la classification

17.3 Normalisation centrage standard

On note :
• N le nombre d'exemples valides de la base de données,
• q le nombre d'entrées,

• X k le vecteur des entrées pour le kème exemple,


• xik valeur de la ième entrée pour le kème exemple,
k
• M la matrice des entrées (N,q) de coefficient xi ,

• y k la sortie désirée pour le kème exemple,


k
• Y le vecteur de sortie (1,N) de coefficient y .

Manuel de l’utilisateur – TOME II Page 179


Neuro One

    
    
    
  Y 
M   
 
     N exemples
[
 Xk  ]  yk 
 


 
    
    
14442444
3   

q entrées

Soit M' la matrice des entrées M après normalisation et Y' le vecteur de la sortie Y après normalisation. Les
données normalisées sont calculées à partir des données brutes selon les relations mathématiques suivantes :

x 'ik =
1
C
[
Π i × x ik + Σ i ] où Π i et Σ i sont les facteurs multiplicatif et additif pour l'entrée n°i,

y'k =
1
C
[
Πs × yk + Σs ] où Π s et Σ s sont les facteurs multiplicatif et additif pour la sortie.

Le coefficient C vaut 1 pour les modèles statiques et 3 pour les modèles dynamiques.

Les facteurs multiplicatif et additif sont définis par :

N N
Πi = Πs =
(∑ x ) k
i
2
(∑ y k ) 2
∑ (x
k
k
i )2 − k

N ∑(y k
)2 − k

N
k

∑x i
k
∑y k

Σ i = −Π i k Σ s = −Π s k

N N

17.4 Récapitulatif des barres d’outils


Les barres d’outils de la fenêtre principale sont les suivantes :

Manuel de l’utilisateur – TOME II Page 180


Neuro One

La barre supérieure est subdivisée en trois menus : Apprentissage, Données et Projet.

Apprentissage

Superviseur Bascule affichage du superviseur

Pilote Pilote de l’apprentissage

Coût Visualisation des fonctions Coûts

Réinitialiser poids Initialisation des poids

Initialiser époques Initialisation des époques d'apprentissage

Arrêt apprentissage Arrêt de l’apprentissage

Apprentissage Démarrage de l’apprentissage

Super apprentissage Démarrage de l'apprentissage par minimisation de la


fonction de coût de généralisation.
Choisir résultat Analyse des apprentissages, et choix du résultat.

Données

Charger données Chargement des données

Données internes Visualisation des données internes

Validation Sélection d’un ensemble de validation

Fonction Courbe de la fonction réalisée par le réseau de


neurones

Projet

Manuel de l’utilisateur – TOME II Page 181


Neuro One

Charger projet Chargement d’un projet

Fermer projet Fermeture du projet courant

Editer projet Edition des paramètres du projet courant

Enregistrer projet sous Enregistrement du projet sous un nouveau nom

Réseau Vue graphique du réseau de neurones

Pour la barre inférieure, on trouve de gauche à droite :

Les indicateurs de mode

Indicateur graphique de mode

Indicateur textuel de mode

Les compteurs

Nombre d’exemples de l’ensemble d’apprentissage / nombre


d’exemples de l’ensemble de validation
Numéro de l’époque / nombre d’époques

Numéro du modèle en cours d'apprentissage / nombre de


modèles
Nom et numéro du pilote d'apprentissage en cours
d'utilisation / nombre de pilotes
Indicateur graphique de l’apprentissage pour une époque
(cadre du haut), pour l’ensemble des époques (cadre du
bas)

Les boutons sont dans un état inactif si leur action est interdite en raison du contexte. Dans ce cas, le bouton est
grisé.

17.5 Glossaire
Algorithme Méthode pour calculer un nouveau jeu de poids.
d'apprentissage

Manuel de l’utilisateur – TOME II Page 182


Neuro One

Biais Poids d’un neurone ayant un rôle particulier (voir 7.2, « Types
de modèles statiques ».
Données Données de l’ensemble d’apprentissage et de validation.
d'apprentissage
Apprentissage Opération de calcul itératif des poids pour minimiser une
fonction de coût.
Cachée Couche de neurones située entre les entrées et les sorties du
réseau. C’est la couche cachée qui crée la non-linéarité du
modèle.
Coût d'apprentissage Valeur de la fonction de coût sur l'ensemble d'apprentissage.
Coût de validation Valeur de la fonction de coût sur l'ensemble de validation.
Coût de généralisation Estimation de l’erreur en généralisation basée sur la théorie
des leviers
Dynamique Un processus est dit « dynamique » si les sorties dépendent
des entrées instantanées et également de leur historique.
Contraire : statique.
Ensemble Sous-ensemble des données d'apprentissage utilisé pour
d'apprentissage calculer le coût puis un nouveau jeu de poids.
Ensemble de validation Sous-ensemble des données d'apprentissage utilisé pour
provoquer l'arrêt de l'apprentissage en évaluant la capacité de
généralisation du modèle.
Ensemble de test Ensemble de données indépendant des deux précédents,
permettant d'évaluer la qualité du modèle.
Epoque Présentation de toutes les données de l'ensemble
d’apprentissage, et calcul d'un nouveau jeu de poids.
Homogénéité Mesure de la dispersion des valeurs des leviers à travers
l’ensemble d’apprentissage.
Itération Ensemble d'époques débutant avec l’initialisation aléatoire
des poids et se terminant lorsqu’un critère d’arrêt est vérifié.
Levier Mesure de l’influence d’un exemple sur la construction d’un
modèle. Un modèle est localement bon autour d’un exemple
de faible valeur de levier.
Ordre Nombre de variables d’état d’un modèle d’état ou nombre de
valeurs retardées de la sortie dans un modèle E/S.
Poids Coefficients d’un modèle neuronal.
Statique Un modèle est dit « statique » si les sorties ne dépendent que
des entrées au même instant.
Sur apprentissage Apprentissage poussé au-delà de l’optimum sur un réseau
tt d hé

Manuel de l’utilisateur – TOME II Page 183


Neuro One

ayant trop de neurones cachés.


er ème
1 et 2 ordre Un algorithme d’apprentissage peut être du 1er ordre, c'est à
dire utiliser le gradient du coût par rapport aux poids, ou du
2ème ordre, c'est à dire utiliser la matrice des dérivées
secondes du coût par rapport aux poids.
Les algorithmes du second ordre de Neuro One sont : quasi-
Newton et Levenberg-Marquardt.

Manuel de l’utilisateur – TOME II Page 184


Neuro One

Copyright 1994 - 2002 Netral. Tous droits réservés.


Tous les noms de marques et de produits Netral sont des marques, déposées ou non, de Netral SA.
Tous les autres noms de produits et de marques cités dans cet ouvrage sont des marques déposées de leurs
propriétaires respectifs.

Société anonyme au capital de 213 429 €.


Siège social : 14, rue Verdi 92130 Issy-Les-Moulineaux FRANCE
Tél : (33) 01 46 38 75 12 - Fax : (33) 01 46 38 75 94
R.C.S. Nanterre B 394 912 737 (94B02423)

http://www.netral.com