intitulé: apprentissage des réseaux de neurones mlp par une
TRANSCRIPT
Université Larbi Ben M’hidi Oum-El-Bouaghi
Faculté des Sciences et Sciences Appliquées
Département de Génie Electrique
Filière : Génie Electrique
Option : ELCTRONIQUE DES
SYSTEMES EMBARQUEES
Présenté par:Melki Rima
Encadreur : Ourzifi O
Soutenu le: 06 octobre 2019
Année universitaire : 2018 / 2019
République Algérienne Démocratique et Populaire
العلـمـــــــي البحــــث و العــالــــي التعـلـيــم وزارة
Ministère de l’Enseignement Supérieur et de la
Recherche Scientifique
Intitulé:
Apprentissage des réseaux de neurones MLP par une
méthode hybride à base d’une métaheuristique
Remerciements
i
Remerciement Je remercie «ALLAH» de m’avoir donné le courage ainsi que la force pour pouvoir
achever ce modeste travail.
J'exprime toute mes remerciements à mon encadreur MdOurzifi.O pour ses conseils pertinents,
Leurs soutient morale et scientifique et les facilités qu’elle m’a accordées.
Un merci bien particulier adressé également à Mr DJEBABLA
pour son aide, ses remarques et ses directives.
Je tiens à remercier également le président et les membres de jury de ma soutenance
qui n’ont pas hésités pour examiner le contenu de cet ouvrage. Qu’ils trouvent ici
le témoignage de mes profonds respects.
Je tiens à remercier chaleureusement tous mes amies, toute la famille du département
d’électronique de l’université Larbi ben M'hidi d’Oum El Bouaghi , qu’ils trouvent
ici l’expression de ma profonde sympathie.
Que tout enseignant nous ayant fait bénéficier de son savoir, trouve ici
l’expression de notre profonde gratitude.
Je remercie mes parents pour m’avoir transmit des valeurs
telles que la ténacité, grâce auxquelles j’ai pu mener ce
travail à son aboutissement.
J’ai une pensée spéciale pour mon mari « Soufiane », qui s’est montré compréhensive,
patient etmême intéressée.
Je tien a remercie ma sœur Mounira pour son
encouragement continu et l’aide quelle m’a apportés.
Enfin que tous ceux, d’une manière ou d’une autre, ont contribué
à la réalisation de ce travail trouvent ici, l’expression
sincères de ma reconnaissance et ma gratitude.
Dédicaces
ii
Dédicaces
Je dédie ce modeste travail à:
Mes parents qui m’ont permettent d’être ce que je suis.
Mon mari avec amour et gratitude.
Mes sœurs et mon frère.
Toute la promotion.
Tous mes amis.
Toute la famille.
A tous ceux qui
me sont chers.
Table des matières
vi
Table des matières
Remerciement i
Dédicace ii
Liste des tableaux xii
Liste des figures xiii
Liste des acronymes xv
Introduction Générale 1
Chapitre 1 :Réseaux de Neurones Artificiels
1.1 Introduction 6
1.2 Neurone biologique et Neurone Formel 6
1.3 Fonctions d’activation 7
1.4 Réseaux de neurones 8
1.4.1 Définition 8
1.4.2 Propriétés 9
1.4.3 Topologie 10
1.4.3.1 Réseaux directs 10
a Perceptron simple 11
b Perceptron multicouche 12
c Réseaux de neurone à fonction de base radiale 13
1.4.3.2 Réseaux récurrents 13
1.5 Apprentissage 14
1.5.1 Définition 14
1.5.2 Types d’apprentissage 14
a Apprentissage supervisé 14
b Apprentissage semi supervisé 15
c Apprentissage non supervisé 15
1.5.3 Règles d’apprentissage 15
1.6 Avantage et limites des RNAs 16
1.7 Application des RNAs 17
1.8 Conclusion 18
Table des matières
vii
Chapitre 2 : Optimisation par lesmétaheuristiques
2.1 Introduction 20
2.2 Algorithmes d’optimisation 20
2.2.1 Définition 21
2.2.2 Les grandes familles de technique d’optimisation 21
a Méthodes exactes 22
b Méthodes heuristiques 22
c Méthodes métaheuristiques 22
2.3 Métaheuristique 23
2.3.1 Définition 23
2.3.2 Principale caractéristique 23
2.4 Les algorithmes génétiques 24
2.4.1 Présentation
2.4.2 Structure de l’algorithme génétique
2.4.2.1 Codage des donnés 26
a Codage binaire 26
b Codage réel 27
2.4.2.2 Génération de la population initiale 27
2.4.2.3 Evaluation « fitness » 27
2.4.2.4 Mécanismes d’un AG 28
a Sélection 28
b Croisement 29
c Mutation 32
e Sélection des individus de la nouvelle génération 33
d Critère d’arrêt 34
2.5 Hybridation des métaheuristiques 34
2.6 Conclusion 35
Chapitre 3 : Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
3.1 Introduction 37
3.2 Optimisation du réseau MLP par l’algorithme GA-MGA 37
3.2.1 Adaptation de l’algorithme génétique aux réseaux de neurones 37
3.2.2 Structure d’optimisation 38
3.2.3 Plateforme de l’algorithme GA et de l’algorithme MGA 39
3.2.4 Algorithme hybride GA -MGA 40
3.3 Simulation 42
3.3.1 Optimisation de la fonction de Rosenbrock 42
a Optimisation par l’algorithme GA 42
b Algorithme hybride GA-MGA 44
3.3.2 Optimisation du réseau de neurones : 45
3.3.1.1 Présentation du système de Box & Jenkins 45
3.3.1.2 Structure du réseau de neurones émulateur 46
Table des matières
viii
a Emulation par un réseau MLP utilisant l’algorithme BP 47
b Emulation par un réseau MLP utilisant l’algorithme GA 48
c Emulation par un réseau MLP utilisant l’algorithme Hybride GA-MGA
50
3.4 Conclusion 52
Conclusion générale 54
Bibliographie 55
Liste des tableaux
xii
Liste des tableaux
Tableau 1.1 Exemples de fonctions d'activations. 8
Tableau 1.2 Correspondance type de RNA-Domaine d'application- 18
Tableau 3.1 Paramètres de l’algorithme GA-MGA 40
Tableau 3.2 Paramètres de l’algorithme AG 42
Tableau 3.3 Paramètres des deux algorithmes GA et MGA 44
Tableau 3.4 Paramètres de l’algorithme GA 48
Tableau 3.5 Paramètres de l’algorithme GA-MGA
50
Tableau 3.6 Comparaison de différent algorithme pour l’émulation du système de
Box et Jenkins
52
Liste des figures
xii
Liste des figures
Chapitre1
Fig 1.1 : le cerveau humain……………………………………………………………….6
Fig 1.2 : Neurone biologique………………………………………………………….......6
Fig 1.3 : Neurone formel……………………………………………………………….....7
Fig 1.4 : Topologies des réseaux de neurones artificiels…………………………….......10
Fig 1.5 : Perceptron monocouche……………………………………………………......11
Fig 1.6 : Réseau multicouche………………………………………………………........12
Fig 1.7 : Réseau RBF……………………………………………………………………13
Chapitre2
Fig2.1 : Eléments d’une population……………………………………………………....23
Fig2.2 : Organigramme générale d’un algorithme génétique…………………………….25
Fig2.3 : Structure d’un chromosome……………………………………………………...26
Fig2.4 : Chromosome codé en binaire…………………………………………………....26
Fig2.5 : Chromosome codé réel……………………………………………………….....27
Fig2.6 : Mécanismes de l’algorithme génétique………………………………………....28
Fig2.7 : Exemple d’une roulette de la fortune…………………………………………...29
Fig 2.8 : Croisement en un point……………………………………………………..…..31
Fig2.9 : Croisement en deux points……………………………………………………...31
Fig 2. 10 : Croisement uniforme………………………………………………………….31
Fig 2. 11 : Mutation binaire………………………………………………………………32
xiv
Liste des figures
Chapitre3
Fig3.1 : Structure du chromosome……………………………………………………... 37
Fig 3.2 : Structure d’optimisation et de contrôle…………………………………...........38
Fig3. 3 : Evolution de la minimisation de la fonction de Rosenbrock……………..……43
Fig3.4 : Evolution de la fonction Fitness………………………………………….........43
Fig3. 5 : Evolution de la minimisation de la fonction de Rosenbrock……………….….44
Fig 3.6 : Evolution de la fonction Fitness……………………………………………… 45
Fig 3.7 : Signal d’entrée du système Box et Jenkins………………………………….....46
Fig 3.8 : Signal de sortie du système Box et Jenkins………………………………....... 46
Fig 3.9 : Evolution de la fonction d’évaluation………………………………………....47
Fig3.10 : Signal de sortie émulée et sortie désirée…………………………………….. 47
Fig 3.11 : Signal d’erreur d’émulation……………………………………………...… ..48
Fig 3.12 : Evolution de la fonction d’évaluation………………………………………...49
Fig 3.13 : Signal de sortie émulée et sortie désirée……………………………………. .49
Fig 3.14 : Signal d’erreur d’émulation………………………………………………… .50
Fig 3.15 : Evolution de la fonction d’évaluation………………………………………. .51
Fig 3.16 : Signal de sortie émulée et sortie désirée……………………………………. .51
Fig 3.17 : Signal d’erreur d’émulation………………………………………………… .52
Liste des acronymes
xv
Liste des acronymes
Ce mémoire contient un certain nombre d’acronymes, d’usage courant,
employés le long de ce travail. Ces abréviations sont, explicitement, définies ci-
dessous. Afin de faciliter la tâche du lecteur, le repérage de ces acronymes est établi
par ordre alphabétique.
AG Algorithme Génétique
AG-MGA L’algorithme génétique et Microgénétique
BP Back propagation
EQM Erreur Quadratique Moyenne
MLP Perceptron multicouches
MGA Microgénétique
RBF Les réseaux de neurone à fonction de base radiale
RNAs Réseaux de Neurones Artifiticiel
Introduction Générale
Page 1
Introduction Générale
Introduction Générale
Page 2
.
Introduction générale
Le développement des réseaux de neurones artificiels est issu d’une volonté des
chercheurs de comprendre et d’imiter les capacités du cerveau, mémoire, apprentissage, et
traitement parallèle pour la synthèse de systèmes artificiels capables de remplacer l’homme
dans la réalisation de tâches complexes. Les réseaux de neurones sont considérés comme des
approches très intéressantes dans le domaine de l’intelligence artificielle et ils sont connus par
leur puissance d’apprentissage et de généralisation [4].
Les réseaux de neurones sont apparus dans les années cinquante mais n’ont reçu
cependant un intérêt considérable qu’à partir des années quatre-vingt avec l’apparition de
l’algorithme de rétropropagation et grâce aux résultats théoriques et pratiques obtenus au
cours des dernières décennies, ils sont devenus un outil très utilisé dans divers domaines; ils
ont prouvé leur efficacité dans la reconnaissance de formes, l'identification des paramètres, la
commande des procédés et le traitement de signal…. Les réseaux de neurones demeurent
toutefois un sujet d’un grand intérêt pour les chercheurs qui désirent améliorer leurs
performances et étendre leur champ d’applications [8].
L’identification des paramètres du réseau de neurones, appelés poids de
connexion, est souvent obtenue par l’utilisation de l’algorithme de rétropropagation, back
propagation algorithm BP, basé sur la méthode de la descente du gradient, dont l’objectif est
la minimisation de l’erreur d’apprentissage. Cependant, la surface de l’erreur est souvent
complexe et présente des caractéristiques peu satisfaisantes pour réaliser une descente du
gradient ce qui crée des inconvénients, tels que: la lenteur de la convergence, la sensibilité aux
minima locaux et la difficulté à régler les paramètres d’apprentissage [32].
Plusieurs approches ont été proposées pour améliorer la méthode de
rétropropagation : la modification du pas d’apprentissage, la décentralisation du pas
d’apprentissage [5], l’utilisation des algorithmes du type quasi Newton [5]…
Introduction Générale
Page 3
D’un autre côté, certains auteurs ont proposé l’utilisation d’approches qui ne
dépendent pas du calcul des dérivés, tel que l’algorithme du simplex ou les métaheuristiques
comme les algorithmes génétiques et le recuit simulé [1].
Les métaheuristiques, souvent inspirées à partir des systèmes naturels, sont
apparues dans les années quatre-vingt et forment une famille d’algorithmes d'optimisation
visant à résoudre des problèmes d'optimisation complexes, pour lesquels on ne connaît pas de
méthode classique efficace. Parmi les métaheuristiques les plus connues, en y trouve : les
algorithmes génétiques, les colonies de fourmis, l’essaim de particules, la recherche taboue et
le recuit simulé [3].
Au cours de ces dernières années, ces techniques intelligentes font leur entrée
dans les sciences de l’ingénieur. La combinaison de ces techniques a attiré l’attention de
beaucoup de chercheurs. Plusieurs hybridations ont été alors proposées dont les plus
rencontrées sont: Algorithme génétique-Logique flou, Réseau de neurones-Logique flou et
Algorithme génétique-Réseau de neurones [2].
Dans ce mémoire on s’intéresse aux Réseaux de Neurones Multicouches MLP,
qui sont souvent utilisés, et ceci est dû à leurs simplicités et leurs propriétés d’approximation
universelle. Notre objectif est d’appliquer un algorithme hybride basé sur l’association d’un
Algorithme Génétique (GA) et d’un opérateur grimpeur nommé MGA(Micro Genetic
Algorithm)pour l’optimisation des réseaux de neurones émulateurs [34]. L’Algorithme
Génétique réalise unerecherche globale tandis que la Micro Génétique réalise une recherche
locale autour du meilleur poids du réseau de neurones obtenu par l’Algorithme Génétique.
Le travail présenté dans ce mémoire a pour objectif de montrer les capacités de
l’algorithme hybride GA-MGA dans l’optimisation de l’erreur d’apprentissage du réseau de
neurones MLP pour l’émulation du système de Box et Jenkins.
Introduction Générale
Page 4
Ce mémoire est organisé comme suit :
Le premier chapitre rappelle les principales notions théoriques des réseaux de
neurones artificiels. Il commence par une présentation de la structure du neurone biologique et
du neurone formel, puis il accède aux architectures et à l’apprentissage des réseaux de
neurones et il s’achève avec les avantages et les limites des réseaux de neurones.
Le deuxième chapitre décrit les techniques d’optimisation et un état de l’art sur
les métaheuristiques. Il présente le mécanisme de fonctionnement de l’algorithme génétique,
de l’algorithme micro génétique et de l’algorithme hybride génétique-micro génétique.
Le dernier chapitre, expose la structure et le fonctionnement de l’algorithme
hybride génétique-microgénétique (GA-MGA), des exemples tests sont utilisés pour justifier
la validation de notre approche et les résultats de simulation issus de l’application de
l’algorithme GA-MGA pour l’entraînement du réseau de neurones MLP sont présentés et
commentés.
Finalement, et pour clôturer ce mémoire, on a une conclusion générale qui
récapitule les travaux de l’ensemble des chapitres et propositions envisagées pour poursuivre
cette recherche sont présentées.
Page 5
Chapitre 1 Réseaux de Neurones Artificiels
Chapitre 1:
Réseaux de
Neurones Artificiels
1.1 Introduction
1.2 Neurone biologique et Neurone formel
1.3 Fonctions d’activations
1.4 Réseaux de neurones
1.5 Apprentissage
1.6 Avantages et limites des RNAs
1.7 Applications des RNAs
1.8 Conclusion
Page 6
Chapitre 1 Réseaux de Neurones Artificiels
1.1. Introduction:
Les réseaux de neurones sont des modèles mathématiques et informatiques, des
assemblages d’unités de calculs appelés neurones formels, et dont l’inspiration originale
était un modèle de la cellule nerveuse humaine. Cet héritage de la neurobiologie forme une
composante importante de la matière, et le souci de maintenir une certaine correspondance
avec le système nerveux humain a animé une part importante des recherches dans le
domaine. Malgré cet héritage, l’essentiel des travaux d’aujourd’hui ont pour objet le réseau
de neurones formels et non son corrélat neurobiologique. Vu comme des systèmes de calcul,
les réseaux de neurones possèdent plusieurs propriétés qui les rendent intéressants d’un
point de vue théorique, et fort utiles en pratiques [11].
Dans ce chapitre, nous présentons dans un premier temps des généralités sur les
réseaux de neurones, des concepts de base et nous abordons ensuite le processus
d’apprentissage.
1.2. Neurone biologique et neurone formel :
Le cerveau humain contient près de 86 milliards de neurones, et il existe environ 200
types de neurones (figure 1.1). Le neurone est une cellule composée d’un corps cellulaire et d’un
noyau. Ce corps cellulaire se ramifie pour former ce que l’on nomme les dendrites, celles-ci sont
parfois assez nombreuses que l’on parle alors de chevelure dendritique ou d’arborisation
dendritique. C’est par les dendrites que l’information est acheminée de l’extérieur vers le soma
(corps du neurone). L’information traitée par le neurone est propagée ensuite le long de l’axone
(unique) pour être transmise aux autresneurones. La jonction entre deux neurones est appelée la
synapse (figure 1.2).[12].
Fig 1.1 : Cerveau humain Fig 1.2 : Neurone biologique
Page 7
Chapitre 1 Réseaux de Neurones Artificiels
D’une manière très réductrice, un neurone biologique est une cellule qui se caractérise
par :
Des synapses, les points de connexions avec les autres neurones, fibres nerveuses.
Les dendrites, les entrées du neurone.
L’axone, la sortie du neurone vers d’autres neurones ou fibres musculaires.
Le noyau qui active la sortie en fonction du stimulus en entrée.
Par analogie, le neurone formel (voir figure 1.3) est une fonction non linéaire, paramétrée,
à valeurs bornées, il se caractérise par un état interne∈ 𝑦𝑗, des signaux d’entrée 𝑥1, … , 𝑥𝑁et une
fonction de transition d’état 𝑓 comme suit :
𝑦𝑗 = 𝑓(𝑤0 + ∑ 𝑤𝑖𝑗𝑥𝑖) … … … … … … … … … . . (1.1)
𝑁
𝑖=1
La fonction de transition est une transformation d’une combinaison des signaux
d’entrée. Cette combinaison est déterminée par un vecteur de poids ( 𝑤1𝑗, . . . , 𝑤𝑁𝑗) associé à
chaque neurone et dont les valeurs sont estimées dans la phase d’apprentissage, 𝑤0 étant appelé
le biais du neurone, il constitue la mémoire ou la connaissance répartie du réseau [13].
Fig 1.3 : Neurone formel
1.3. Fonctions d’activations:
La fonction d’activation est une transformation linéaire ou non linéaire, elle permet la
liaison entre la sortie et son entrée. Vu la variété des modèles de Réseaux de Neurones
Artificiels, différentes fonctions ont été proposées, parmi lesquelles on peut citer [23]:
jy
Fonction
d’activation
Sortie
fVecteur d’entrée
Unité de
Sommation
Poids Synaptiques
0w
0x
1 jw
njw
2 jw
3 jw
1x
2x
3x
nx
Page 8
Chapitre 1 Réseaux de Neurones Artificiels
Les modèles linéaires et sigmoïdaux : ces modèles sont très adaptés aux algorithmes
d’apprentissage comme celui de rétropropagation du gradient car leur fonction de transition est
différentiable.
Le modèle à seuil : ce modèle est très proche et conforme à la réalité biologique mais il
pose des problèmes d’apprentissage.
Le modèle stochastique: ce type de modèle est utilisé pour les problèmes d’optimisation
globale des fonctions perturbées ou encore pour les analogies avec les systèmes de particules.
Le tableau 1.1 illustre quelques importantes fonctions d’activation [36] [31] [16].
Nom de la fonction Relation entrée/sortie Icône
Seuil
𝑦 = 0 𝑠𝑖 𝑠 < 0 𝑦 = 1 𝑠𝑖 𝑠 ≥ 0
Seuil symétrique
𝑦 = −1 𝑠𝑖 𝑠 < 0
𝑦 = 1 𝑠𝑖 𝑠 ≥ 0
Linéaire
𝑦 = 𝑠
Linéaire saturée
𝑦 = 0 𝑠𝑖 𝑠 < 0 𝑦 = 𝑠 𝑠𝑖 0 ≤ 𝑠 ≤ 1
𝑦 = 1 𝑠𝑖 𝑠 > 1
Linéaire saturée
symétrique
𝑦 = −1 𝑠𝑖 𝑠 < −1 𝑦 = 𝑠 𝑠𝑖 − 1 ≤ 𝑠 ≤ 1
𝑦 = 1 𝑠𝑖 𝑠 > 1
Linéaire positive
𝑦 = 0 𝑠𝑖 𝑠 < 0
𝑦 = 𝑠 𝑠𝑖 𝑠 ≥ 0
Sigmoïde
𝑦 =1
1 + 𝑒𝑥𝑝(−s)
Tableau 1.1 : Exemples de fonctions d'activations.
1.4. Réseaux de neurones :
1.4.1. Définitions :
Dès leur apparition, les Réseaux de Neurones Artificiels (RANs) ont été appliqués à
plusieurs domaines et quelques soit le domaine adopté, les Réseaux de Neurones Artificiels
peuvent être définis comme suit :
Page 9
Chapitre 1 Réseaux de Neurones Artificiels
Définition 1 : Les Réseaux de Neurones Artificiels sont des réseaux fortement connectés
de processeurs élémentaires, fonctionnant en parallèle. Chaque processeur calcule une sortie
unique sur la base des informations qu’il reçoit, toute structure hiérarchique de réseaux est
évidemment un réseau [31].
Définition2:Les Réseaux de Neurones Artificiels sont des modèles statistiques adaptatifs,
basés sur une analogie avec le cerveau humain. Leur adaptabilité revient du fait qu’ils peuvent
apprendre à estimer les paramètres d’un ensemble de données en utilisant un nombre
d’exemples. Dans sa structure de base, un Réseau de Neurones Artificiels est constitué d’un
ensemble d’unités simples qui sont les neurones. Ces dernières sont interconnectées à l’aide
d’un ensemble de connexions pondérées [14].
Les Réseaux de Neurones Artificiels sont généralement organisés en couches. La
première couche est la couche d’entrée. Elle est responsable de la transmission de
l’information à analyser vers le réseau. La dernière couche est la couche de sortie. Elle reçoit le
résultat final qui est la réponse du réseau. Les couches intermédiaires sont les couches cachées,
le nombre de ces couches est défini selon le type du problème à résoudre. Elles relient les deux
couches d’entrée et de sortie [11-22].
1.4.2. Propriétés :
Les Réseaux de Neurones Artificiels sont considérés comme des simulateurs du
système biologique. Ils doivent prendre en considération les points suivants :
Le parallélisme : Les Réseaux de Neurones Artificiels sont constitués à base de neurones
simples fortement interconnectés, dont le but est la réalisation d’une fonction de type bien
défini ce qui rend le traitement de l’information massivement parallèle [14].
Les poids synaptiques : La pondération des liaisons synaptiques entre les neurones influe
sur l’efficacité et la fiabilité du réseau du point de vue rapidité et exactitude des résultats
fournis[23].
L’apprentissage : L’apprentissage est vraisemblablement la propriété la plus intéressante
des Réseaux de Neurones Artificiels, elle ne concerne cependant pas tous les modèles mais les
plus utilisés, son principal problème est d’arriver à trouver un ensemble de valeurs d’entrée
des connexions afin d’atteindre les résultats voulus [16].
Page 10
Chapitre 1 Réseaux de Neurones Artificiels
1.4.3. Topologies :
On appelle topologie des réseaux, la façon dont les neurones sont connectés entre eux
à travers les différentes couches. En général on peut distinguer deux grandes classes de
Réseaux de Neurones Artificiels selon leurs topologies : les réseaux à couches qui sont des
réseaux de neurones dans lesquels l'information se propage couche par couche sans retour en
arrière possible et les réseaux récurrents qui sont des réseaux de neurones dans lesquels il y a
une liaison vers l'arrière. Les connexions de ces réseaux forment des boucles. Ainsi la
fonction d'activation peut circuler le long de ces boucles et affecter le réseau pendant une
période arbitrairement longue. Pour cette raison les comportements des réseaux récurrents
sont potentiellement plus complexes que ceux des réseaux à couches [23]. La figure 1.4 [12]
présente les différentes topologies d’un Réseau de Neurones Artificiels.
Fig 1.4: Topologies des réseaux de neurones artificiels.
1.4.3.1. Réseaux directs « Non Bouclés ou Statiques » (Feedforward) :
Les réseaux à couches peuvent se diviser en réseaux sans couches cachées et les
réseaux avec une ou plusieurs couches cachées. Les réseaux sans couches cachées sont les
réseaux les plus simples. Ils sont utilisables pour des problèmes de classification ou
d'approximation. Ils ont un avantage majeur, leur apprentissage converge vers une solution
optimale. Cela est dû au fait que c'est un système linéaire. Leur inconvénient est qu’ils
peuvent seulement classifier ou approximer les problèmes linéaires et ne peuvent résoudre
un problème non linéaire [23].
Page 11
Chapitre 1 Réseaux de Neurones Artificiels
a) Perceptron simple (mono couche):
L'exemple classique pour ce type de réseau est le perceptron monocouche, inventé par
Rosenblatt. C'est un modèle très simple, basé sur l'orientation physico-physiologique. Il ne
dispose que de deux couches:
Une couche d'entrée qui s'appelle la rétine et qui est une aire sensorielle;
Une couche de sortie qui donne la réponse correspondante à la simulation présentée à
l'entrée[37].
Le fonctionnement du réseau est comme suit : une donnée est présentée au réseau en
activant la rétine. L'activation se propage vers la couche de sortie où on peut noter la réponse
du système. Cette réponse suit la formule suivante:
𝑦 = 𝜑 (∑ 𝑤𝑖 𝑥𝑖
2
𝑖=1
+ 𝑤0 ) … … … (1. 2)
𝜑 ∶ La fonction d’activation utilisée.
𝑤𝑖 : Les poids du neurone.
𝑥𝑖 : Les entées.
𝑤0 ∶Le seuil du neurone.
La figure 1.5 montre la structure du Perceptron monocouche, avec une sortie y et
plusieurs entrées x1 et ….. xp qui forme la rétine du réseau.[9].
𝜑 (∑ 𝑤𝑖 𝑥𝑖
𝑝
𝑖=1
+ 𝜔0)
Fig 1.5 : Perceptron monocouche.
w1 W2
SORTIE
ENTREE
Poids de connexion
X0=1 X1 X2 Xp
W0 wp
…
BIAIS
Page 12
Chapitre 1 Réseaux de Neurones Artificiels
Ces réseaux suivent un apprentissage supervisé selon la règle d'apprentissage delta ou la
règle de correction d'erreurs. Les deux règles ajustent les poids et les seuils de la même
manière. Pour chaque poids la nouvelle valeur est calculée par l'addition d'une correction de
valeur ancienne :
𝑤𝑖 (𝑛𝑜𝑢𝑣𝑒𝑎𝑢) = 𝑤𝑗(𝑎𝑛𝑐𝑖𝑒𝑛) + ∆𝑤𝑗
𝑤0 (𝑛𝑜𝑢𝑣𝑒𝑎𝑢) = 𝑤0 (𝑎𝑛𝑐𝑖𝑒𝑛) + ∆𝑤0 … … … (1. 3)
b) Le perceptron multicouche MLP (Multi LayerPerceptron) :
Un réseau monocouche ne permet pas de résoudre des problèmes non linéaires. Les
réseaux multicouches qui sont des systèmes non linéaires ont été inventés pour remédier ce
problème. Le MLP ou PMC (perceptron multicouches) est un réseau orienté de neurones
artificiels en couches, où l’information circule dans un seul sens, de la couche d’entrée vers
la couche de sortie. La figure 1.6 donne un exemple d’un réseau contenant une couche
d’entrée, deux couches cachées et une couche de sortie. La couche d’entrée présente toujours
une couche virtuelle associée aux entrées du système.[20]
Fig 1.6 : Réseau multicouche.
Le Perceptron multicouches est un modèle possédant une grande capacité de calcul. Sa
structure est composée d'une couche d'entrée, une couche de sortie, interprétée comme étant
la réponse du réseau et d'une ou plusieurs couches intermédiaires dites « couches cachées ».
Un neurone d'une couche inférieure ne peut être relié qu'à des neurones des couches
suivantes. Il suit un apprentissage supervisé et utilise la règle d'apprentissage de rétro
propagation. En général, les neurones du Perceptron multicouches sont animés par une
fonction d'activation non linéaire (au moins dans une des couches)[25]. Les choix classiques
pour cette fonction sont :
La fonction tangente hyperbolique 𝜑(𝑥) = tanh(𝑥) (c’est le choix standard).
La fonction sigmoïde: 𝜑 (𝑥) =1
1+𝑒−𝑥
1 ère
Couche cachée
2 éme
Couche cachée
Page 13
Chapitre 1 Réseaux de Neurones Artificiels
c) Le Réseau de neurones à Fonction de base Radiale :
Le réseau à fonction radiale (RBF) a la même structure que le Perceptron multicouches.
A l’exception de sa fonction d'activation qui est une fonction de type Gaussienne. Ce réseau,
à cause de son architecture, utilise le plus souvent la règle d'apprentissage de correction
d'erreur et la règle par apprentissage compétitif. Il peut avoir un apprentissage qui combine en
même temps l'apprentissage supervisé et l'apprentissage non supervisé. Il est caractérisé par
un apprentissage plus rapide et plus simple (figure 1.7).[13][14]
La fonction radiale est une classe de fonctions spéciales, leur réponse croit où décroît de
façon monotone par rapport à la distance d'un point central. Le centre, la distance, et la
forme de la fonction à base radiale sont les paramètres du modèle qui est linéaire si ils sont
fixent. Une fonction à base radiale typique est de la forme :
𝑔(𝑥) = 𝑒𝑥𝑝 (−(𝑥 − 𝑐)2
𝑟2) … … … … … … (1. 4)
Ces paramètres sont le centre c et le rayon r.
Une fonction à base radiale Gaussienne décroît quand la distance par rapport au centre
augmente. A l'opposé, une fonction à base radiale multi-quadratique croît la distance par
rapport au centre augmente. Elle a la forme suivante :
g(x) =√r2 + (x − c)2
r2… … … … … . .. (1. 5)
Fig 1.7 : Réseau RBF.
1.4.3.2. Réseauxrécurrents
Les réseaux récurrents, Recurrent Neural Networks (RNNs), sont des réseaux de
neurones dans lesquels l’information peut se propager dans deux sens, y compris des
couches profondes aux premières couches. En cela, ils sont plus proches du vrai
fonctionnement du système nerveux. Ces réseaux possèdent des connexions récurrentes au
f (x - C1)
Y= f(x)= g(x,w)
W4
W1
W2
W3
Couche de sortie
x3
Couche d’entrée
x2
x1
f (x - Cnc)
E
S
Page 14
Chapitre 1 Réseaux de Neurones Artificiels
sens où elles conservent des informations en mémoire : ils peuvent prendre en compte à
un instant d’un certain nombre d’états passés. Pour cette raison, les RNNs sont
particulièrement adaptés aux applications faisant intervenir le contexte, et plus
particulièrement au traitement des séquences temporelles comme l’apprentissage et la
génération de signaux, c’est à dire quand les données forment une suite et ne sont pas
indépendantes les unes des autres. Troisclasses importantes de ce type des réseaux sont les
plus utilisées : réseaux de Jordan et d’Elmane et de Kohenn[35].
1.5. Apprentissage :
La notion d’apprentissage est claire et intuitive pour les humains ou les animaux : c’est
une procédure cognitive qui doit faire en sorte que l’individu réalise de manière autonome
une tâche donnée, typiquement à partir d’exemples.
1.5.1. Définitions :[14]
L’apprentissage est une phase de développement d’un réseau de neurones durant
laquelle une modification du comportement du réseau se fait jusqu’à l’obtention d’un
comportement désiré. L’apprentissage neuronal fait appel à des exemples de comportement.
Durant cette phase les poids synaptiques seront modifiés, donc d’une manière plus
simple, on peut dire que l’apprentissage est une action de mise à jour des poids des
connexions dans le but d’atteindre la sortie du réseau pour les exemples présentés en entrée
1.5.2. Type d’apprentissage :
Au niveau des algorithmes d’apprentissage, il existe trois types selon l’intervention
ou non d’un superviseur [23] :
a) Apprentissage supervisé : Ce mode est le plus courant, l’utilisateur dispose d’un
comportement de références précis qu’il désire faire apprendre au réseau. Schématiquement, il
consiste à évaluer les poids synaptiques minimisant l’erreur sur une base d’apprentissage, cette
base comprend un ensemble d’observations pour lesquelles on connaît à la fois les entrées et
les sorties souhaitées. L’apprentissage est dit supervisé, car il est nécessaire de connaître la sortie
attendue pour chaque jeu d’entrées, le réseau de neurones va ajuster ses paramètres afin de
minimiser l’erreur entre la sortie désirée et sa sortie réelle.
Page 15
Chapitre 1 Réseaux de Neurones Artificiels
b) Apprentissage semi- supervisé : Cet apprentissage est identique au précédent dans la
mesure où il se base sur la présence d’un concepteur, cependant la valeur exacte de la sortie
n’est pas disponible, en général la seule information disponible est un signal d’échec ou de
succès.
c) Apprentissage non supervisé : Ce mode d’apprentissage est moins intuitif, il correspond
au cas où l’on ne dispose pas de bases d’apprentissage, par exemple lorsqu’on ne sait pas à
priori déterminer ponctuellement si une sortie est ou non valable. L’apprentissage repose alors
sur un «critère interne » de conformité du comportement du réseau par rapport à des
spécifications générales et non sur des observations. Cet apprentissage consiste donc, à détecter
automatiquement des régularités qui figurent dans les exemples présentés et à modifier les poids
des connexions pour que les exemples ayant les mêmes caractéristiques de régularité provoquent
la même sortie[33].
1.5.3. Règles d’apprentissage :
L’apprentissage d’un Réseau de Neurones Artificiels se base sur des règles
d’apprentissage. Nous citons ci-après les règles les plus répandues [19,18,23,24]:
La règle de Hebb, vue dans le livre « Organisation of Behavior» en 1949. Elle permet de
modifier la valeur des poids synaptiques en fonction de l'activité des unités qui les relient. Le
but principal est le suivant : si deux unités s'activent en même temps la connexion qui les lie
est renforcée (c'est une connexion excitatrice) sinon elle est affaiblie (c'est une connexion
inhibitrice).
La règle delta qui calcule la différence entre la valeur de la sortie et la valeur désirée pour
ajuster les poids synaptiques. Elle emploie une fonction d'erreur, nommée « la moindre carré
moyen », basée sur les différences utilisées pour l'ajustement des poids.
La règle d'apprentissage compétitif qui ne concerne qu'un seul neurone. Son principe est
de regrouper les données en catégorie. Les neurones similaires vont donc être rangés dans
une même classe en se basant sur des corrélations des données et seront représentés par un
seul neurone. L'architecture d'un tel réseau possède une couche d'entrée et une couche de
compétition. Une forme est présentée à l'entrée du réseau. Elle est projetée ensuite, sur
chacun des neurones de la couche compétitive. Le neurone gagnant est celui qui possède un
vecteur de poids le plus proche de la forme présentée en entrée. Chaque neurone de sortie est
connecté aux neurones de la couche d'entrée et aux autres cellules de sortie (c'est une
connexion inhibitrice) ou à elle-même (c'est une connexion excitatrice). La sortie dépend
alors de la compétition entre les connexions inhibitrices et excitatrices.
Page 16
Chapitre 1 Réseaux de Neurones Artificiels
La règle de corrélation en cascade, qui est une technique d'apprentissage, ajoute
progressivement des neurones cachés au réseau jusqu'à ce que l'effet bénéfique de ces
nouveaux neurones ne soit plus perceptible. Cette règle suit les deux étapes suivantes:
1. On entraîne le système par un apprentissage classique qui s'effectue premièrement dans
un petit réseau sans couche cachée.
2. On entraîne par la suite un petit groupe des neurones supplémentaires qui doit diminuer
l'erreur résiduelle du réseau. La règle d'apprentissage utilisée modifie les poids de ces
neurones. Le neurone qui réussit le mieux est retenu, et intégré au réseau. L'étape 1 est
relancée encore une fois, pour permettre au réseau de s'adapter à la nouvelle ressource.
La règle de correction d'erreurs qui est caractérisée par les étapes suivantes:
1. On commence avec des valeurs des poids de connexions qui sont pris auhasard.
2. On introduit un vecteur d'entrée de l'ensemble des échantillons pour l'apprentissage.
3. Si la sortie ou la réponse n'est pas correcte, on modifie toutes les connexions pour
atteindre la bonne réponse
La règle de rétro-propagation inventée par Rumelhart, Hinton et Williams en 1986. Elle
s'utilise pour ajuster les poids de la couche d'entrée à la couche cachée. Cette règle peut aussi
être considérée comme une généralisation de la règle delta pour des fonctions d'activation
non linéaire et pour des réseaux multicouches. Les poids dans le réseau de neurones sont au
préalable initialisés avec des valeurs aléatoires. On considère ensuite un ensemble de
données qui vont servir comme un échantillon d'apprentissage. Chaque échantillon possède
ses valeurs cibles qui sont celles que le réseau de neurones doit atteindre lorsqu’on lui
présente le même échantillon.
1.6. Avantage et limites des RNAs :
Les Réseaux de Neurones Artificiels ont plusieurs avantages dont on peut citer [12,
24,23] :
Réutilisabilité: Un réseau de neurones n’est pas programmé pour une application mais
pour uneclasse de problèmes : après une phase d’apprentissage adéquate, il peut traiter de
nombreuses tâches.
Robustesse: Les couches cachées du réseau de neurone forment une représentation
abstraite des données (concepts), qui permettent de savoir catégoriser des données non
traitées lors de l’apprentissage (non prévues).
Page 17
Chapitre 1 Réseaux de Neurones Artificiels
Parallélisme: L’architecture des réseaux permet théoriquement à un grand nombre
d’éléments de calcul simples de travailler d’une façon concurrente, ce qui facilite l’obtention
des résultats très rapides et aide à l’implantation des applications ayant notamment des
contraintestemps-réel.
Logique floue: Les réseaux de neurone se sont inspirés du fonctionnement du cerveau
humain, ils savent utiliser des notions imprécises, modélisent des systèmes dynamiques et
non linéaires, le réseau établit lui-même ses connaissances, à partir d'exemples.
Bien que les réseaux de neurones soient capables d’effectuer beaucoup de tâches, ils
souffrent néanmoins de certaines limites dont on peut citer [27,33] :
Choix des attributs : Pour permettre de travailler avec les réseaux de neurones, il est
nécessaire de choisir soigneusement la représentation des données. Les attributs ne peuvent
être que numériques.
Processus d’apprentissage : Lorsque la durée d’apprentissage est très longue, la
possibilité de perdre la capacité de généralisation par le RN augmente c.-à-d. apprentissage
au détriment de la généralisation (Le problème du sur-apprentissage).
Architecture du réseau : Le nombre de nœuds dans les couches d’entrée et de sortie
sont généralement fixés par l’application, mais comment optimiser le nombre de niveaux
cachés et le nombre de nœuds dans ces niveaux ? Il n’existe pas des règles claires dans ce
sens.
Exploitabilité : Il existe une grande difficulté pour expliquer les résultats obtenus
par le réseau de neurones, car ce dernier fonctionne comme une boite noire et peut découvrir
des règles et l’exploitent pour résoudre des problèmes, mais il ne permet pas la possibilité
d’extraire des lois ou des formules depuis ces règles.
1.7. Application des RNAs:
Depuis leur apparition, les réseaux de neurones ont été largement utilisés dans
plusieurs domaines. On peut citer [21,22] :
Industrie: contrôle de qualité, diagnostic de panne, analyse de signature ou d'écriture
manuscrite, contrôle de procédés industriels...
Finance: prévision et modélisation du marché (cours de monnaies...), sélection
d'investissements, attribution de crédits...
Page 18
Chapitre 1 Réseaux de Neurones Artificiels
Télécommunications et informatique : analyse du signal, élimination du bruit,
reconnaissance de formes (bruits, images, paroles), compression de données...
Environnement: évaluation des risques, analyse chimique, prévisions et modélisation
météorologiques, gestion desressources...
Médical: Diagnostique automatisé des maladies, et traitement automatique des
informations issues des imageries médicales…
Militaire: Guidage des missiles, Drones et avions sans pilotes, …
Le tableau 1.2, représente la correspondance entre chaque domaine d’application et le
type de Réseau de Neurones Artificiels le plus approprié.
Domaine d’application Type de RNA
Optimisation Hopefield, ART
Approximation de fonctions MLP, RBF
Traitement d’images Hopefield
Classification MLP, Kohonen, RBF, ART
Tableau1.2 : Correspondance type de RNA-Domaine d'application-.
1.8. Conclusion :
Les RNAs constituent une technique de traitement de données bien comprise et bien
maitrisée. Ils sont connus par leur puissance d’apprentissage et généralisation. En effet, elles
réalisent des fonctionnalités d’identification, de contrôle ou de filtrage, et prolonge les
techniques classiques de l’automatique non linéaire pour aboutir à des solutions plus efficaces et
robustes. Dans ce chapitre, un aperçu général est donné sur la notion des Réseaux de
Neurones Artificiels, en passant par la définition, la structure et le fonctionnement et les
types d’apprentissage. Les différents types de réseaux sont présentés aussi avec le domaine
d’applications.
Page 19
Chapitre 2 Optimisation par les métaheuristiques
Chapitre2:
Optimisation par
les métaheuristiques.
2.1 Introduction
2.2 Algorithmes d’optimisation
2.3 Métaheuristiques
2.4 Algorithmes génétiques
2.5 Méthode hybrides
2.6 Conclusion
Page 20
Chapitre 2 Optimisation par les métaheuristiques
2.1 Introduction:
Dans divers domaines, le besoin croissant d'efficacité et de rentabilité a conduit les
décisionnaires à solutionner leurs problèmes quelle que soit la difficulté en introduisant des
méthodes d’optimisation. Cependant, la compétition entre les méthodes de recherche pour
arriver aux meilleurs résultats en termes de qualité et de temps de traitement a conduit à
distinguer un type de problèmes classés difficiles. Lorsque le problème à résoudre est
difficile, l’utilisation d’une méthode exacte qui garantit l’obtention de la meilleure solution
nécessite un temps de calcul très long qui croit de façon exponentielle avec la taille du
problème traité. Dans ce cas, l’utilisation de méthodes qui offrent une solution de
bonne qualité, quasi optimale, mais en un temps raisonnable s’avère intéressante.Ces
méthodes sont les métaheuristiques.[30]
Les métaheuristiques sont apparues dans les années 1980 et forment une famille
d’algorithmes d'optimisation, dont le but est de minimiser (ou de maximiser) une (ou
plusieurs) fonction(s) objectif. L'évolution des métaheuristiques se fait de manière
itérative. Ceci a l'avantage de permettre l'arrêt de l'algorithme quand on le souhaite, et de
récupérer la meilleure solution trouvée jusqu’à présent[17].
Dans ce chapitre nous allons aborder les techniques d’optimisation de manière
générale, ensuite nous présentons l’algorithme génétique comme l'une des techniques
d’optimisation choisi d’être utilisée dans notre projet conjointement avec le réseau de
neurones multicouches (MLP) pour ajuster les poids de ce dernier afin d’obtenir un meilleur
réseau émulateur.
2.2 Algorithmes d’optimisations :
L’optimisation est un ensemble de techniques permettant de trouver les valeurs des
variables qui rendent optimale une fonction de réponse, appelée aussi fonction objectif. Sur
le plan mathématique, cela correspond à la recherche des extrémums de fonctions à
plusieurs variables. Dans le domaine des sciences appliquées, il s’agit en général de
trouver l’optimum de la réponse d’opérations industrielles ou d’expériences de laboratoire
ou d’une solution à un problème précis[29].
Page 21
Chapitre 2 Optimisation par les métaheuristiques
2.2.1 Définitions :
Un algorithme d’optimisation est une procédure mathématique qui permet de
maximiser ou de minimiser une fonction réelle f, que l’on appelle fonction objectif.
L’algorithme est un processus itératifs qui génère une séquence de valeurs à partir d’un point
de départ. On dit qu’un algorithme est convergent quand pour n’importe quel point de
départ, la séquence arrive à la solution (maximum ou minimum). Le non convergence d’un
algorithme n’implique pas le non existence de solution, il faut essayer avec un autre point de
départ ou bien utiliser un autre type d’algorithme (Algorithmes méta heuristiques), qui
représente l’une des familles de techniques d’optimisation. [29]
2.2.2 Les grandes familles de techniques d’optimisation :
Les techniques d'optimisation peuvent être classées en trois grandes familles [30]:
a) Méthodes exactes: Ces méthodes s’appliquent aux problèmes qui peuvent êtrerésolus
de façon optimale et rapide. Elles sont basées soit sur une résolution algorithmique,
analytique ou sur une énumération exhaustive de toutes les solutions possibles, dans le but
de trouver des solutions exactes à des problèmes difficiles, (exemples: méthode de branche
and bound, algorithme de simplexe, etc.).
b) Méthodes heuristiques: Une heuristique est un algorithme approché qui permet
d’identifier au moins une solution réalisable rapide, utilisé pour calculer une solution
spécifique approchée d’un problème bien déterminé et ainsi accélérer le processus de
résolution exacte. Généralement une heuristique est conçue pour un problème particulier,
sans offrir aucune garantie sur la qualité de la solution calculée.
c) Métaheuristiques: Sont des méthodes approchées qui peuvent résoudre différents
problèmes, elles sont souvent inspirées par des systèmes naturels, qu’ils soient pris en
physique (cas du recuit simulé), en éthologie (cas des algorithmes de colonies de fourmis
ou de l’optimisation par essaims particulaires) ou encore en biologie de l’évolution (cas
des algorithmes génétiques).
Le principal avantage des métaheuristiques est qu’elles peuvent s’appliquer à
n’importe quelle classe de problèmes faciles ou très difficiles, bien ou mal formulés, avec ou
sans contrainte, en particulier elles ne nécessitent pas une modélisation mathématique du
problème. Elles semblent être tout à fait adaptées à l’optimisation de l’entrainement du
réseau de neurones MLP pour l’émulation du système de Box et Jenkins. [29]
Page 22
Chapitre 2 Optimisation par les métaheuristiques
2.3 Métaheuristiques:
2.3.1Définitions :
Le terme métaheuristique vient des mots grecs méta (au-delà) et heuriskein (trouver).
Il n’y a pas clairement de consensus sur la définition exacte des heuristiques et des
métaheuristiques [30]. Nous allons adopter celles-ci :
Une heuristique est une technique de résolution spécialisée à un problème et elle ne
garantit pas la qualité du point obtenu.
Une métaheuristique est une heuristique générique qu’il faut adapter à chaque
problème.
Une métaheuristique est un algorithme d’optimisation visant à résoudre des
problèmes d’optimisation difficile (souvent issus des domaines de la recherche
opérationnelle, de l’ingénierie ou de l’intelligence artificielle) pour lesquels on ne connait
pas de méthode classique plus efficace. Les métaheuristiques sont généralement des
algorithmes stochastiques itératifs, qui progressent vers un optimum global, c’est à dire
l’extremum global d’une fonction objectif. Elles se comportent comme des algorithmes de
recherche, tentant d’apprendre les caractéristiques d’un problème afin d’en trouver une
approximation de la meilleure solution (d’une manière proche des algorithmes
d’approximation).
2.3.2 Principales caractéristiques :[30]
Les métaheuristiques sont des stratégies qui permettent de guider la recherche
d’une solution.
Le but visé par les métaheuristiques est d’explorer l’espace de recherche
efficacement afin de déterminer des points (presque) optimaux.
Les techniques qui constituent des algorithmes de type métaheuristique vont de la
simple procédure de recherche locale à des processus d’apprentissage complexes.
Les métaheuristiques sont en général non-déterministes et ne donnent aucune
garantie d’optimalité.
Les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter
d’être bloqué dans des régions de l’espace de recherche.
Les concepts de base des métaheuristiques peuvent être d´écrits de manière
abstraite, sans faire appel à un problème spécifique.
Les métaheuristiques peuvent faire appel à des heuristiques qui tiennent compte de
Page 23
Chapitre 2 Optimisation par les métaheuristiques
la spécificité du problème traité.
Les métaheuristiques peuvent faire usage de l’expérience accumulée durant la
recherche de l’optimum, pour mieux guider la suite du processus de recherche.
2.4 Algorithmes Génétiques:
Les Algorithmes Génétiques (AGs) sont des algorithmes d’optimisation s’appuyant
sur des techniques dérivées de la génétique et de l´évolution naturelle. Ils appartiennent à
la famille des algorithmes évolutionnistes : un sous-ensemble des métaheuristiques. Fondés
sur les mécanismes de la sélection naturelle et de la génétique, ils ont été initialement
développés et adaptés à l’optimisation par John Holland en 1975. Leurs champs
d’application sont très vastes ; l’économie, l’optimisation de fonctions, finance, en théorie
du contrôle optimal, théorie des jeux répétés et différentiels, etc...[6].
2.4.1 Présentation:
Un Algorithme Génétique est défini par les caractéristiques suivantes (figure2.1):
Séquence/Chromosome/Individu (Codage binaire) : « Nous appelons une
séquence (chromosome, individu) A de longueur L(A) une suite A = {a1,a2,...,aL} avec
∀i ∈[1,L], ai∈V = {0,1 }».[6]
Un chromosome est donc une suite de bits en codage binaire, appelé aussi chaîne
binaire. Dans le cas d’un codage non binaire, tel que le codage réel, la suite A ne contient
qu’un point réel, nous avons A = {a} avec a ∈ℜ.
Population : Un ensemble de chromosomes ou de points de l’espace de recherche.
Gène : C’est une partie d'une solution au problème, donc d'un individu.
Environnement : C’est l’espace de recherche.
Fonction de fitness :C’est la fonction - positive - que nous cherchons à maximiser.
Fig 2.1 : Eléments d’une population.
Bits
Génes
Chromosomes
Individus
Population
Page 24
Chapitre 2 Optimisation par les métaheuristiques
2.4.2 Structure de l’Algorithme Génétique :
L'implémentation d'un AG est spécifique au problème à résoudre. Pour l’utiliser, il
faut disposer des cinq éléments suivants [28, 6,17] :
Un principe de codage de l'élément de population : La qualité du codage des
données conditionne le succès des algorithmes génétiques. Les codages binaires ont été très
utilisés à l'origine. Les codages réels sont désormais largement utilisés, notamment dans les
domaines applicatifs pour l'optimisation de problèmes à variables réelles.
Un mécanisme de génération de la population initiale. Ce mécanisme doit être
capable de produire une population d'individus non homogène qui servira de base pour les
générations futures.
Une fonction à optimiser : Celle-ci retourne une valeur appelée fitness ou fonction
d'évaluation de l'individu.
Des opérateurs permettant de diversifier la population au cours des générations et
d'explorer l'espace d'état. L'opérateur de croisement recompose les gènes d'individus
existant dans la population ainsi que l'opérateur de mutation a pour but de garantir
l'exploration de l'espace d'états.
Des paramètres de dimensionnement : Taillent de la population, nombre total de
générations, probabilités d'application des opérateurs de croisement et de mutation.
Page 25
Chapitre 2 Optimisation par les métaheuristiques
Début
Codage de paramètres
Génération aléatoire de la
première population
Calcul de la fonction d’évaluation
Critères
d’arrêt
satisfait ? Oui
Non
Sélection des parents
Croisement
Solution optimale
Mutation
Sélection finale
L’organigramme fonctionnel de la figure 2.2 illustre la structure de l’Algorithme
Génétique. Les diverses phases et les mécanismes associés à chacune d’entre elles seront
présentés dans les sections suivantes :
Fig 2.2 : Organigramme générale d’un algorithme génétique.
Page 26
Chapitre 2 Optimisation par les métaheuristiques
Chromosome
Gène
Allèle
Chromosome
1110101 1
Gène 1
10010011
Gène 2
00011010
Gène 3
2.4.2.1. Codage des données :
Chaque paramètre d'une solution est assimilé à un gène, toutes les valeurs qu'il peut
prendre sont les allèles de ce gène. Un chromosome est une suite de gènes, on peut choisir
de regrouper les paramètres similaires dans un même chromosome et chaque gène sera
repérable par sa position. Chaque individu est représenté par un ensemble de chromosomes,
figure 2.3.[38]
Fig 2.3 : Structure d’un chromosome.
Il existe principalement deux types de codage : le codage binaire, le codage réel :
a) Codage binaire :
Chaque gène dispose du même alphabet binaire {0, 1}(figure 2.4). Chaque paramètre 𝑥𝑖
situé dans un intervalle[𝑥𝑚𝑖𝑛, 𝑥𝑚𝑎𝑥], est associé à une chaîne binaire{ 𝑏0, … , 𝑏𝑙𝑥𝑖−1} définie
sur 𝑙𝑥𝑖bits. A cette chaîne correspond un entier naturel 𝑦𝑖[ 38]:
𝑦𝑖 = ∑ 𝑏𝑗2𝑙𝑥𝑖−𝑗−1
𝑙𝑥𝑖−1
𝑗=0
… … … . (2. 1)
Cette chaîne doit être décodée pour pouvoir calculer la valeur de la fonction d’évaluation
qui lui est associée. Le paramètre réel 𝑥𝑖de l’espace de recherche relatif à 𝑦𝑖 est obtenu par
interpolation linéaire: [10]
𝑥𝑖 = 𝑥𝑖𝑚𝑖𝑛 +(𝑥𝑖𝑚𝑎𝑥−𝑥𝑖𝑚𝑖𝑛)
2𝑙𝑥𝑖 −1
𝑦𝑖 … … … . (2. 2)
Fig 2.4 : Chromosome codé en binaire.
Page 27
Chapitre 2 Optimisation par les métaheuristiques
b) Codage réel :
Le codage réel est plus simple que le codage binaire, chaque chromosome est en fait un
vecteur dont les composantes sont les paramètres du processus d’optimisation. Par
exemple, si on recherche l’optimum d’une fonction de 𝑛 variables 𝑓(𝑥1, 𝑥2, … , 𝑥𝑛−1, 𝑥𝑛),
on peut utiliser tout simplement un chromosome contenant les 𝑛 variables, figure 2.5[28].
Fig 2.5 : Chromosome codé réel.
Avec ce type de codage, la procédure d’évaluation des chromosomes est plus rapide vu
l’absence de l’étape de transcodage (du binaire vers le réel).
2.4.2.2 Génération de la population initiale :
Le choix de la population initiale d’individus conditionne fortement la rapidité de
convergence de l’algorithme. Si la position de l’optimum dans l’espace d’état est totalement
inconnue, il est naturel de générer aléatoirement des individus en faisant des tirages
uniformes dans chacun des domaines associés aux composantes de l’espace d’état en veillant
à ce que les individus produits respectent les contraintes. Si des informations a priori sur le
problème sont disponibles, il est naturel de générer les individus dans un sous domaine
particulier afin d’accélérer la convergence.[38]
2.4.2.3 Evaluation (Fitness) :
L’évaluation de la Fitness est généralement l’étape où on mesure la performance de
chaque individu pour pouvoir juger sa qualité et ainsi la comparée aux autres, il faut établir
une mesure commune d’évaluation. Aucune règle n’existe pour définir cette fonction, son
calcul peut ainsi être quelconque, que ce soit une simple équation ou une fonction affine. La
manière la plus simple est de poser la fonction d’adaptation comme la formalisation du
critère d’optimisation. En raison de l’analogie avec la théorie de l’évolution (survie des
individus les mieux adaptés à leur environnement), l’algorithme génétique est naturellement
formulé en terme de maximisation. [28]
Chromosome
𝒙𝟏 𝒙𝟐 …. 𝒙𝒏−𝟏 𝒙𝒏
Page 28
Chapitre 2 Optimisation par les métaheuristiques
Etant donné une fonction 𝑓 réelle à une ou plusieurs variables, le problème
d’optimisation sur l’espace de recherche 𝐸 s’écrit de la manière suivante:
𝑚𝑎𝑥𝑥∈𝑆 𝑓(𝑥) … … (2.3)
Dans beaucoup de problèmes, l’objectif est exprimé sous forme de minimisation
d’une fonction coût ℎ :
𝑚𝑖𝑛𝑥∈𝑆 ℎ(𝑥) … … (2.4)
Le passage du problème de minimisation à un problème de maximisation est obtenu
par transformation de la fonction ℎ selon la relation suivante :
𝑓(𝑥) =1
(1 + ℎ(𝑥))… … … … . . (2. 5)
2.4.2.4 Mécanismes d’un AG :
A partir d’une première population d’individus créée aléatoirement, les AGs
génèrent de nouveaux individus plus performants que leurs prédécesseurs en effectuant des
opérations génétiques. Les AGs utilisent des outils tels que la reproduction, le croisement et
la mutation. Ces outils sont basés sur des processus aléatoires. [15]
La reproduction est une version artificielle de la sélection naturelle, c’est un
processus dans lequel chaque individu est copié en fonction des valeurs de la fonction
d’évaluation. Le croisement est l’opérateur le plus dominant dans un AG, il permet à deux
chaînes d’échanger des portions de leurs structures produisant ainsi de nouvelles chaînes. La
mutation est un opérateur local qui est appliqué avec une très faible probabilité, figure 2.6.
Fig 2.6 : Mécanismes de l’algorithme génétique.
Page 29
Chapitre 2 Optimisation par les métaheuristiques
a) Sélection :
Permet d’identifier statistiquement les meilleurs individus d’une population et
d’éliminer les mauvais pendant le passage d’une génération à une autre, ce processus est
basé sur la performance (l’évaluation) de l’individu. Il y’ a plusieurs méthodes de sélection,
citons quelques-unes [7, 6,28] :
Sélection uniforme:La sélection se fait aléatoirement, et sans intervention de la valeur
d'adaptation. Chaque individu a donc une probabilité 1
𝑝 d'être sélectionné, où 𝑝 est la taille de
population.
Sélection par rang : Cette technique de sélection choisit toujours les individus
possédant les meilleurs scores d'adaptation, le hasard n'entre donc pas dans ce mode de
sélection, la sélection appliquée consiste à conserver les meilleurs individus (au sens de la
fonction d'évaluation).
Roue de la fortune (roulette wheel) :Selon cette méthode, chaque chromosome sera
dupliqué dans une nouvelle population proportionnellement à sa valeur d’adaptation. Nous
effectuons, en quelque sorte, autant de tirages avec remises qu’il y a d’éléments dans la
population, la fitness d’un chromosome particulier étant(𝑑(𝑐𝑖)), la probabilité avec laquelle
il sera réintroduit dans une nouvelle population de taille 𝑁 est :
𝑓(𝑑(𝑐𝑖))
∑ 𝑓(𝑑(𝑐𝑗))𝑁𝑗=1
… … … … (2. 6)
Les individus ayant une grande fitness ont donc plus de chance d’être sélectionnés. On
parle alors de section proportionnelle, figure 2.7.
Fig 2.7 : Exemple d’une roulette de la fortune.
Roulette de casino : C’est la sélection naturelle la plus employée pour l’AG binaire.
Chaque chromosome occupe un secteur de roulette dont l’angle est proportionnel à son
indice de qualité. Un chromosome est considéré comme bon aura un indice de qualité élevé,
un large secteur de roulette et alors il aura plus de chance d’être sélectionné.
0,4/10 Roulette
1,2/10 6,2/10
2,2/10
Individu1
Individu2
Individu3
Individu4
Page 30
Chapitre 2 Optimisation par les métaheuristiques
Sélection par tournoi : Choisir aléatoirement deux individus et on compare leur
fonction d’adaptation (combattre) et on accepte la plus adapte pour accéder à la génération
intermédiaire, et on répète cette opération jusqu'à remplir la génération intermédiaire
( 𝑁
2 composants). Les individus qui gagnent à chaque fois on peut les copier plusieurs fois ce
qui favorisera la pérennité de leurs gènes.
Sélection Elitiste :La stratégie élitiste consiste à conserver le meilleur individu à
chaque génération. Ainsi l’élitisme empêche l’individu le plus performant de disparaître au
cours de la sélection ou que des bonnes combinaisons soient affectées par les opérateurs de
croisement et de mutation. Après chaque évaluation de la performance des individus à une
génération 𝑘 donnée, le meilleur individu de la génération précédente 𝑘 − 1 est réintroduit
dans la population siaucun des individus de la génération 𝑘 n’est meilleur que lui. Par cette
approche, la performance du meilleur individu de la population courante est monotone de
génération en génération.
b) Croisement (Crossover):
Le phénomène de croisement est une propriété naturelle de l’ADN, et c’est
analogiquement qu’on fait les opérations de croisement dans les AGs. L’opérateur de
croisement favorise l’exploration de l’espace de recherche et enrichit la diversité de la
population en manipulant la structure des chromosomes, selon une probabilité 𝑃𝑐 le
croisement est appliqué à un couple de parents arbitrairement choisis dans la population
pour produire deux enfants. La valeur de cette probabilité est choisie généralement entre
0.5 et 0.9. Il existe plusieurs méthodes de croisementet ils différent selon le type de codage
adapté.[7, 15,28]
Croisement binaire :
Le croisement binaire est l’échange d’un certain nombre de bits entre deux
chromosomes représentant deux individus de la population. Il existe différents types de
croisements :
Croisement en un point :
On choisit au hasard un point de croisement, pour chaque couplede chromosomes
parents(𝑐ℎ𝑟1 𝑒𝑡 𝑐ℎ𝑟2), ensuite on échange les deux sous chaînes terminales de chacun des
chromosomes, ce qui produit deux enfants 𝑐ℎ𝑟1′ 𝑒𝑡 𝑐ℎ𝑟2
′ comme indiqué sur la figure 2.8.
Notons que le croisement s’effectue directement au niveau binaire (bit), et non pas au
niveau des gènes (figure 2.8).
Page 31
Chapitre 2 Optimisation par les métaheuristiques
Fig 2.8 : Croisement en un point.
Croisement en deux points :
Deux points de coupure sont choisis au hasard et le contenu entre ces points est
interchangé pour former les enfants (figure 2.9).
Fig2.9 : Croisement en deux points.
Croisement uniforme :
Un masque de croisement est généré aléatoirement pour chaque couple d'individus,
les valeurs de ce masque sont binaires et sa taille est identique à celle du chromosome. Si
la valeur du bit du masque est égale à 1 alors la valeur du gène du parent1 est copiée chez
l'enfant1 et si la valeur du bit du masque est égale à 0 alors la valeur du gène du parent2 est
transmise à l'enfant1. Les valeurs des gènes de l'enfant2 sont les valeurs des gènes du
parents1 lorsque la valeur du bit du masque est égale à 0 et les valeurs des gènes du
parents2 lorsque la valeur du bit du masque est égale à 1. Le fonctionnement croisement
uniforme est illustré par la figure 2.10.
Fig 2. 10 : Croisement uniforme.
Parant2
1
1 1 0 0 0
0 1 1 1 0
Enfant 1
Enfant 2
Parant1
0 0 0
1 1 1 0
0 1
Masque de croisement
1
1 0 0
0
𝒄𝒉𝒓𝟏
𝒄𝒉𝒓𝟐
𝒄𝒉𝒓𝟏′
𝒄𝒉𝒓𝟐′
1 1 1 0
0 1
1 1 1 0 0
0 1 0
0
1 0 1 0 0
0
𝒄𝒉𝒓𝟏
𝒄𝒉𝒓𝟐
𝒄𝒉𝒓𝟏′
𝒄𝒉𝒓𝟐′
1 1 1 0
0 1
1 1 1 0 0
0 1 0 1 0 1 0 0
0
2 parents 2 enfant
Site de croisement
2 parents 2 enfants
Page 32
Chapitre 2 Optimisation par les métaheuristiques
Croisement réel :
Le croisement réel ne se différencie du croisement binaire que par la nature des
éléments qu'il altère : ce ne sont plus des bits qui sont échangés à droite du point de
croisement, mais des variables réelles. Il y a plusieurs méthodes de croisement parmi
lesquels on trouve le croisement barycentre:
Croisement barycentre :
Deux gènes 𝑐ℎ𝑟1 (𝑖) 𝑒𝑡 𝑐ℎ𝑟2(𝑖) sont sélectionnés dans chacun des parents à la
même position 𝑖. Ils définissent deux nouveaux gènes 𝑐ℎ𝑟1′(𝑖) 𝑒𝑡 𝑐ℎ𝑟2
′(𝑖) par combinaison
linéaire.
𝑐ℎ𝑟1′(𝑖) = 𝑟 ∗ 𝑐ℎ𝑟1(𝑖) + (1 − 𝑟) ∗ 𝑐ℎ𝑟2(𝑖) … (2.7)
𝑐ℎ𝑟2′(𝑖) = (1 − 𝑟) ∗ 𝑐ℎ𝑟1(𝑖) + r ∗ 𝑐ℎ𝑟2(𝑖) … (2.8)
Où 𝑟 est un coefficient de pondération aléatoire adapté au domaine d’extension des
gènes qui prend généralement ses valeurs dans l’intervalle [−0.5, 1.5].
c) Mutation:
La mutation est également identique à la mutation biologique, elle vise à modifier
légèrement un gène à une position aléatoire dans le chromosome.Les individus de la
population issue du croisement vont subir un processus de mutation avec une probabilité𝑝𝑚,
cette probabilité est généralement de faible valeur.[9]
L’operateur de mutation permet de modifier aléatoirement la valeur d’un paramètre du
dispositif. Il joue le rôle de bruit et empêche l’évolution de se figer en assurant une
recherche aussi bien globale que locale.[6, 15,38]
Il existe plusieurs méthodes de mutation parmi lesquels on trouve :
Mutation binaire :
La mutation binaire s'applique à un seul chromosome. Un bit du chromosome est tiré
au hasard. Sa valeur est alors inversée, le bit est donc remplacé par son complément. Il
existe une variante où plusieurs bits peuvent muter au sein d'un même chromosome.
Fig 2. 11 : Mutation binaire.
0 1 0 1 0
𝑪𝒉𝒓𝒊 𝑪𝒉𝒓𝒊′
1 0 0 1 1
Bit muté
Page 33
Chapitre 2 Optimisation par les métaheuristiques
Mutation réelle :
La mutation réelle ne se différencie de la mutation binaire que par la nature de
l'élément qu'elle altère: ce n'est plus un bit qui est inversé, mais une variable réelle qui est
de nouveau tirée au hasard sur son intervalle de définition. Dans le cas d’un codage réel,
on utilise principalement deux opérateurs de mutation: la mutation uniforme et la mutation
non uniforme [17].
Mutation uniforme :
C’est une simple extension de la mutation binaire, en supposant fixée la probabilité
de mutationpm, un tirage au sort pour chaque gène 𝑐ℎ𝑟(𝑖)d’un chromosome permet de
décider si ce gène doit être ou non modifié. Le gène sélectionné est remplacé par une
valeur quelconque 𝑐ℎ𝑟′(𝑖) tirée aléatoirement dans l’intervalle[𝑐ℎ𝑟(𝑖)𝑚𝑖𝑛, 𝑐ℎ𝑟(𝑖)𝑚𝑎𝑥].
Mutation uniforme :
Le calcul de la nouvelle valeur d’un gène est un peu plus complexe. Le gène
𝑐ℎ𝑟(𝑖) subit des modifications importantes durant les premières générations, puis
graduellement décroissantes au fur et à mesure que l’on progresse dans le processus
d’optimisation. Pour une génération 𝑘, on tire au sort une valeur binaire qui décidera si le
changement doit être positif ou négatif. La nouvelle valeur 𝑐ℎ𝑟′(𝑖) du gène 𝑐ℎ𝑟(𝑖) est
donnée par :
𝐜𝐡𝐫(𝐢) = {𝐜𝐡𝐫(𝐢) = ∆(𝐤, 𝐜𝐡𝐫(𝐢)𝐦𝐚𝐱 − 𝐜𝐡𝐫(𝐢)) 𝐬𝐢 𝐫 = 𝟎
𝐜𝐡𝐫(𝐢) = ∆(𝐤, 𝐜𝐡𝐫(𝐢) − 𝐜𝐡𝐫(𝐢)𝐦𝐢𝐧) 𝐬𝐢 𝐫 = 𝟏… … 𝟐. 𝟗
Où ∆(𝑘, 𝑦) est une fonction qui définit l’écart entre la nouvelle valeur et la valeur
initiale à la génération 𝑘 et 𝑟 est nombre aléatoire qui prend les valeurs 0 ou 1.
d) Sélectiondes individus de la nouvelle génération (sélection finale):
A la suite de l'application des opérateurs de recombinaison génétique, la population
comporte 2N individus (N enfants et N parents). Pour construire la nouvelle génération, il
faut donc éliminer N individus et garder seulement les solutions les plus intéressantes.
Plusieurs stratégies sont possibles pour effectuer une telle sélection [15]:
Sélection par compétition :
Une compétition a lieu entre parents et enfants pour déterminer les survivants de la
nouvelle génération. Ainsi, les enfants peuvent être insérés dans la population si et
seulement si leur performance est supérieure à celle de leur parents à rang équivalent.
Page 34
Chapitre 2 Optimisation par les métaheuristiques
Sélection élitiste (Steady State Sélection) :
Ici, la population de la prochaine génération est choisie à partir de la population des
enfants et de la population des parents ensemble. Une compétition entre les parents et les
enfants est effectuée pour garder les deux meilleurs individus parmi les quatre.
Sélection par descendance :
Il n'y a aucune compétition entre parents et enfants. La population de la nouvelle
génération est obtenue par descendance, les enfants remplaçant automatiquement leurs
parents quelle que soit leur adaptation. L'inconvénient de ce type de sélection est que l'on
risque de voir disparaître les caractéristiques génétiques des parents les mieux adaptés si
elles n'ont pas été totalement transmis lors de la recombinaison génétique.
e) Critère d’arrêt :
Le cycle de génération (application des opérateurs génétique) et de sélection de
population est répété jusqu’à ce qu’un critère d’arrêt soit satisfait; ce critère peut être
notamment un nombre maximum de générations, un temps maximal de calcul, une valeur
de fitness, ou une convergence vers une solution satisfaisante[28]:
2.5 Hybridation des métaheuristiques:
On parle d’hybridation quand la métaheuristique considérée est composée de plusieurs
méthodes se répartissant les tâches de recherche. Une des techniques les plus populaires
d'hybridation concerne l'utilisation des métaheuristiques à base d'une solution unique avec
des métaheuristiques à population. La plupart des applications réussies des
métaheuristiques à population sont complétées par une phase de recherche locale. Afin
d'augmenter leurs capacités d'intensification, les individus d’une population tentent
d'explorer l'espace de solutions afin de trouver les zones prometteuses, lesquelles sont
ensuite explorées plus en détail par des méthodes de recherche locale[30].
La méthode d’optimisation hybride que nous avons utilisée, dans notre travail, fait
partie de ce type de méthodes hybrides. Cette méthode est basée sur l’association de
l’algorithme génétique et de l’algorithme micro génétique ; l’algorithme génétique réalise
une recherche globale tandis que la micro génétique exécute une recherche locale autour du
meilleur poids du réseau de neurones, obtenu par l’algorithme génétique au cours de
chaque génération[2].
Page 35
Chapitre 2 Optimisation par les métaheuristiques
2.6 . Conclusion :
Dans ce chapitre, nous avons abordé dans sa première partie le principe et les
techniques d’optimisation. Aussi, on a présenté dans la deuxième partie les
métaheuristiques, et les algorithmes génétiques qui présentent un intérêt considérable dans
l’optimisation.
Page 36
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Chapitre3:
Optimisation Du
Réseau Emulateur MLP
Par l’Algorithme Hybride GA-MGA
3.1 Introduction
3.2 Optimisation du réseau MLP par
l’algorithme GA-MGA
3.3 Simulation
3.4 Conclusion
Page 37
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
3.1. Introduction :
Les algorithmes d’optimisation ont fait leur apparition afin d’avoir des solutions
réalisables de bonne qualité pour des problèmes difficiles issus des domaines de la recherche
opérationnelle ou de l’ingénierie. Les métaheuristiques, particulièrement les algorithmes
évolutionnaires tels que les algorithmes génétiques ont été largement utilisés pour
l’optimisation.
Dans ce chapitre nous allons présenter les résultats de simulation de l’optimisation
d’entrainement du réseau de neurones MLP par les trois méthodes qui suivent :
La méthode classique utilisant la rétropropagation du gradient (BP).
La méthode dite algorithme génétique (GA).
La méthode dite hybride algorithme génétique- microgénétique (GA-MGA).
3.2. Optimisation du réseau MLP par l’algorithme GA-MGA:
3.2.1. Adaptation de l’algorithme génétique aux réseaux de neurones :
Pour appliquer les Algorithmes Génétiques directement, ou couplée avec d'autres
métaheuristiques, aux réseaux de neurones, le problème de la représentation du
chromosome est posé. La première décision que le concepteur doit faire est de savoir
comment représenter une solution dans une structure chromosomique. Le chromosome de
l’Algorithme Génétique va représenter les poids du réseau de neurones. Ainsi, pour un
réseau de neurones MLP à une seule couche cachée, avec deux neurones sur la couche
d’entrée, trois neurones sur la couche cachée et un seul neurone sur la couche de sortie, la
structure du chromosome est donnée par la figure 3.1:
Fig3.1 : Structure du chromosome.
𝒘𝒔𝟏𝒋 :est le poid entre le neurone de la couche de sorite et le neurone j de la couche cachée.
𝒘𝒄𝒋𝒊 :est le poid entre le neurone jde la couche cachée et le neurone i de la couche d’entrée.
Chromosome
𝒘𝒔𝟏𝟏
Chr
omo
som
e𝒙𝟏
𝒘𝒔𝟏𝟐 𝒘𝒔𝟏𝟑 𝒘𝒄𝟏𝟏 𝒘𝒄𝟏𝟐 𝒘𝒄𝟐𝟏 𝒘𝒄𝟐𝟐 𝒘𝒄𝟑𝟏 𝒘𝒄𝟑𝟐
Page 38
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Système
À émuler Yd
+ e Fonction
Objectif
Réseau
Emulateur
-
yR
Algorithme
d’optimisation
3.2.2. Structure d’optimisation :
Le diagramme de l’optimisation d’entrainement du réseau de neurones MLP est
schématisé par la figure 3.2 et il est consisté de quatre blocs:
Réseau émulateur.
Système a émulé.
Algorithme d’optimisation.
Fonction objectif (Fitness)
Fig 3.2 : Structure d’optimisation et de contrôle
L’interaction mutuelle entre les différents blocs de la structure de la figure 3.2 est
illustrée par la procédure suivante :
1. Génération d’une population initiale des chromosomes caractérisant les poids du
réseau
2. Pour tous les chromosomes :
Evaluer la fonction objectif.
Classifier les chromosomes selon leur aptitude.
Construction d’une nouvelle population par application des opérateurs génétiques.
L’étape 2 est répétée jusqu'à ce qu'un nombre maximum de générations soit effectué.
Après le processus d'évolution, la génération finale de l’algorithme se compose des
individus bien adaptés et qui fournissent des solutions ‘optimales’ ou proches.
Page 39
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
3.2.3.Plateforme de l’algorithme GA et de l’algorithme MGA :
Un algorithme microgénétique (MGA) est un simple algorithme génétique dont la
taille de la population est petite,le nombre de génération est réduit et l’espace de recherche
est petit. Dans notre travaille, nous avons choisi la même plateforme pour les deux
algorithmes (GA et MGA)[28,34].
Afin de construire un algorithme d’optimisation à base des AGs, il faut bien
préparer la plateforme qui suit :
Définir la configuration initiale (taille de la population, critère d’arrêt,
probabilités de croisement et de mutation,…etc.).
Mode du codage approprié (binaire, réel,…etc.).
Méthode de génération de la population initiale.
Définir la fonction objectif.
Adapter les opérateurs génétiques au mode de codage choisi.
L’algorithme génétique utilisé dans ce mémoire a les caractéristiques fondamentales
suivantes :
Le codage utilisé pour le chromosome est le codage réel, puisque la résolution
du problème d’optimisation sera plus efficace avec les AGs à codage réel.
La population initiale est générée aléatoirement pour couvrir tous l’espace de
recherche.
La sélection par tournoie est choisie pour sélectionner les parents reproducteur.
Le croisement barycentre est utilisé.
La mutation uniforme est choisie car elle est la plus simple et la plus adaptée au
codage réel.
La sélection finale pour la nouvelle génération sera par compétition, pour que
les meilleurs individus (enfants et parents) participent dans la nouvelle génération.
L’objectif de l’optimisation est de réduire au minimum l’erreur à chaque instant 𝑘
entre la réponse réelle du système et la réponse du réseau neuronal. Il existe plusieurs
indices de performance permettant de mesurer la qualité d’entrainement, celui utilisés dans
ce mémoire est le critère de l’erreur quadratique moyenne :
𝐹𝑖𝑡 = EQM =1
𝑛𝑇∑ 𝑒(𝑘)2
𝑛
𝑘=1
… … … … … … … … … … … … . . (3.1)
Page 40
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
𝑛 : est le nombre total d’échantillons.
Les algorithmes génétiques permettent de déterminer le maximum d’une fonction,
alors la fonction coût est calculée comme suit :
𝑓𝑐 =1
1 + 𝐹𝑖𝑡… … … … … … … … … … … … … … … … . . (3.2)
3.2.4.Algorithme hybride GA -MGA :
L’association de l’algorithme GA et de l’algorithme MGA mène à un arrangement
génétique hybride GA-MGA [28], dont la qualité de recherche est plus élevée.
L’algorithme génétique se charge de la recherche globale et l’opérateur MGA s’occupe de
la recherche locale.
Afin d’améliorer la convergence de l’algorithme génétique, l’algorithme MGA est
appliqué après l’obtention de la meilleure solution de chaque génération, de l’algorithme
GA, pour explorer le voisinage autour de cette meilleure solution. Ce voisinage est obtenu
par la création de la population initiale de l’algorithme MGA (puisque l’espace de
recherche de la microgénétique est plus petit que celui de la génétique).
Le tableau 3.1 définie les acronymes utilisés dans nos algorithmes.
Paramètre Signification
𝑴𝒂𝒙𝒈𝒆𝒏 Nombre maximum de générations GA
𝑵 Taille de la population GA
𝑷𝒄 Probabilité de croisement GA
𝑷𝒎 Probabilité de mutation GA
𝒔𝒐𝒑𝒕 Solution optimal
𝑩𝒆𝒔𝒕𝑮𝑨 Meilleure solution de chaque génération GA
𝑴𝒂𝒙𝒎𝒈𝒆𝒏 Nombre maximum de générations MGA
𝑵𝒗 Taille de la population MGA
𝑷𝒎𝒄 Probabilité de croisement MGA
𝑷𝒎𝒑 Probabilité de mutation MGA
𝑩𝒆𝒔𝒕𝑴𝑮𝑨 Meilleure solution obtenue par l’algorithme MGA
Tableau 3.1 : Paramètres de l’algorithme GA-MGA
Page 41
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Le pseudo-code de la procédure GA-MGA est le suivant :
Début Algorithme GA
Définir 𝑀𝑎𝑥𝑔𝑒𝑛, 𝑃𝑐 , 𝑃𝑚, 𝑁
Générer la population initiale
Pour 𝑖 = 1jusqu’à 𝑀𝑎𝑥𝑔𝑒𝑛faire
Evaluer chaque individu de la population par l’équation. (3.2)
Sélectionner les parents de la population
Produire les enfants des parents sélectionnés par l’opération de croisement
Muter les individus de la population résultante
Sélectionner les enfants et les parents les plus adapté pour la nouvelle
génération et enregistrer le meilleur individu comme 𝐵𝑒𝑠𝑡𝐺𝐴
Début Algorithme MGA
Définir 𝑀𝑎𝑥𝑚𝑔𝑒𝑛, 𝑃𝑚𝑐 , 𝑃𝑚𝑝, 𝑁𝑣
Générer la population initiale
Pour 𝑗 = 1 𝑗𝑢𝑠𝑞𝑢′à 𝑀𝑎𝑥𝑚𝑔𝑒𝑛faire
Evaluer (chaque individu de la population + l’individu 𝐵𝑒𝑠𝑡𝐺𝐴)par
l’équation. (3.2)
Sélectionner les parents de la population
Produire les enfants des parents sélectionnés par l’opération de
croisement
Muter les individus de la population résultante
Sélectionner les enfants et les parents les plus adapté pour la nouvelle
génération.
𝑗 = 𝑗 + 1
Fin pour
Fin
Enregistrer le meilleur individu de dernière génération comme 𝐵𝑒𝑠𝑡𝑀𝐺𝐴
Si𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝐵𝑒𝑠𝑡𝑀𝐺𝐴) > 𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝐵𝑒𝑠𝑡𝐺𝐴)faire
Remplacer 𝐵𝑒𝑠𝑡𝐺𝐴 par 𝐵𝑒𝑠𝑡𝑀𝐺𝐴
𝑖 = 𝑖 + 1
Fin pour que
Retourner la meilleure solution 𝑠𝑜𝑝𝑡
Fin
Page 42
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
3.3 . Simulations :
Dans le but de tester et d’évaluer les performances de l’algorithme GA-MGA. Nous
l’appliquons à la minimisation de la fonction de Rosenbrock à dix variables. Une fois cette
efficacité est testée nous l’employons dans l’entraînement du réseau de neurones MLP.
3.3.1. Optimisation de la fonction de Rosenbrock :
Le problème de l’optimisation de la fonction de Rosenbrock est décrit comme suit :
Minimiser la fonction : 𝐹𝑅(𝑥) = ∑ (1 − 𝑥𝑖)2𝑛−1𝑖=1 + 100(𝑥𝑖+1 − 𝑥𝑖
2)2 … … … … . 3. 3
Avec :−5.12 ≤ 𝑥𝑖 ≤ 5.12 , 𝑒𝑡 𝑖 = 1 … 𝑛
Dans notre cas :𝑛 = 10. L'optimum de cette fonction 𝑥𝑏𝑒𝑠𝑡 = [1, 1, … , 1, 1] et la valeur de
la fonction à ce point est nulle𝐹𝑅(𝑥𝑏𝑒𝑠𝑡) = 0 .
Pour résoudre ce problème d’optimisation, nous avons appliqué ces deux algorithmes :
L’algorithme GA.
L’algorithme hybride GA-MGA.
a) Optimisation par l’algorithme GA :
Les paramètres utilisés dans l’algorithme sont au tableau 3.2. La figure 3.4 montre
l’évolution de l’indice de performance durant l’exécution de l’algorithme GA:
Taille de la population 50
Nombre de générations 1000
Nombre des Individus 10
Probabilité de croisement Pc 0.82
Probabilité de mutation Pm 0.05
Type de codage Réel
Type de croisement Barycentre
Type de mutation Uniforme
Méthode de sélection Par tournoie
Sélection finale Par compétition
Espace de recherche [I_min, I_max] [-5.12, 5.12]
Tableau 3.2 : Paramètres de l’algorithme AG
Page 43
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig3. 3: Evolution de la minimisation de la fonction de Rosenbrock
Fig3.4: Evolution de la fonction Fitness
La solution optimale :
𝑥𝑏𝑒𝑠𝑡 = [0.9996 0.9994 0.9996 0.9997 0.9996 0.9997 1.0001 1.0937 1.1978 1.1985]
0 100 200 300 400 500 600 700 800 900 10000
2000
4000
6000
8000
10000
12000
14000X: 1
Y: 1.218e+004
min ( fonction Rosenbrock ) = 0.882543
Générations
Vale
ure
Min
imale
de la F
onction d
e R
osenbro
ck
X: 100
Y: 89.58X: 400
Y: 3.968
X: 700
Y: 0.8927
X: 1000
Y: 0.8825
0 100 200 300 400 500 600 700 800 900 10000
0.2
0.4
0.6
0.8
1
1.2
1.4
X: 1
Y: 8.207e-005
max ( Fitness ) = 1.13309
Générations
Meill
eur
Fiteness
X: 200
Y: 0.01533
X: 400
Y: 0.252
X: 700
Y: 1.12
Page 44
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
b) Algorithme hybride GA-MGA :
Les paramètres utilisés dans l’algorithme GA-MGA sont au tableau 3.3. La figure 3.6
montre l’évolution de l’indice de performance durant l’exécution de l’algorithme MGA :
ALGORITHME GA
ALGORITHME MGA
Taille de la population 50 8
Nombre de générations 1000 10
Probabilité de croisement Pc 0.86 0.86
Probabilité de mutation Pm 0.1 0.1
Type de codage Réel Réel
Type de croisement Barycentre Barycentre
Type de mutation Uniforme Uniforme
Méthode de sélection Par tournoie Par tournoie
Sélection finale par competition par competition
Espace de recherche 5.12 0.0054
Tableau 3.3 : Paramètres des deux algorithmesGA et MGA
Les résultats donnés par l’algorithme hybride sont :
Fig3. 5: Evolution de la minimisation de la fonction de Rosenbrock
0 100 200 300 400 500 600 700 800 900 10000
0.5
1
1.5
2
2.5x 10
4
X: 1
Y: 2.229e+004
min ( fonction Rosenbrock ) = 4.79567e-005
Générations
Vale
ure
Min
imale
de la F
onction d
e R
osenbro
ck
X: 100
Y: 59.42
X: 300
Y: 0.0002009
X: 1000
Y: 4.796e-005
X: 700
Y: 4.798e-005
Page 45
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.6: Evolution de la fonction Fitness
La solution optimale :
𝑥𝑏𝑒𝑠𝑡 = [1.0000 1.0000 1.0000 1.0000 1.0001 1.0002 1.0004 1.0005 1.0015 1.0026 ]
On remarque que le meilleur résultat est obtenu par l’application de l’algorithme
hybride GA-MGA.
La solution trouvée est très proche de la solution optimale (𝑥𝑏𝑒𝑠𝑡 ≈ 1)et la valeur de la
fonction de Rosenbrock en cette solution est presque nulle :
𝐹𝑅(𝑥𝑏𝑒𝑠𝑡) = 7.7506797319 𝐸 − 04.
3.3.2. Optimisationdu réseau de neurones :
Dans cette application, nous considérons l’optimisation de l’entrainement du réseau
de neurones MLP pour la modélisation du système de Box et Jenkins.
3.3.2.1. Présentation du système de Box & Jenkins :
Le système de Box et Jenkins est un processus dynamique non linéaire. C’est un
four à gaz, où l’air et le méthane sont combinés pour constituer un mélange de gaz
contenant du 𝐶𝑂2. L’entrée du four 𝑥 correspond au débit du méthane, tandis que la sortie
𝑦𝑑 correspond à la concentration en pourcentage deCO2. Le jeu des données d’entrée/sortie
du four est constitué de 296 points, figures3.7 et figure 3.8. Ce jeu de données sera utilisé
comme vecteur d’entraînement pour le réseau de neurones[10,28].
0 100 200 300 400 500 600 700 800 900 10000
0.5
1
1.5
2
2.5x 10
4
X: 300
Y: 4978
max ( Fitness ) = 20852.1
Générations
Meill
eur
Fiteness
X: 1
Y: 4.487e-005
X: 1000
Y: 2.085e+004
X: 700
Y: 2.084e+004
Page 46
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.7 : Signal d’entrée du système Box et Jenkins
Fig 3.8 : Signal de sortie du système Box et Jenkins.
3.3.2.2. Structure du réseau de neurones émulateur :
Le réseau de neurones utilisé est un réseau MLP à une seule couche cachée, avec
deux neurones sur la couche d’entrée, trois neurones sur la couche cachée et un seul
neurone sur la couche de sortie. Pour fonction de transfert, elle est sigmoïde à la couche
cachée et linéaire à la couche sortie est linaire
A chaque itération 𝑘, deux entrées sont appliquées au réseau (𝑥(𝑘 − 4)𝑒𝑡 𝑦𝑑(𝑘 − 1)),
ensuite la différence entre la sortie du réseau (𝑦𝑅) et celle prédite pour l’exemple (𝑦𝑑(𝑘)),
est utilisée pour ajuster les poids de connexion du réseau de neurones.
0 50 100 150 200 250 300-3
-2
-1
0
1
2
3
itérations (ms)
eEnt
rées
du
syst
ème
box
and
jenk
ins
signal d entrée du système box and jenkins
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
itérations (ms)
sort
ies
du s
ystè
me b
ox
and je
nki
ns
signal de sortie du système box and jenkins
Page 47
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
L’objectif de l’optimisation de l’entraînement du réseau de neurones émulateur est
de minimiser l’erreur quadratique moyenne (appelé aussi indice de performance):
𝐸𝑄𝑀 =∑ 0.5 ∗ (𝑦𝑑(𝑘) − (𝑦𝑅(𝑘))2296
5
290… … . 3. 4
a) Emulation par un réseau MLP utilisant l’algorithmeBP :
La valeur du pas de l’algorithme BP est égale à 0.25 et elle est choisie empiriquement.
La figure 3.9 montre l’évolution de l’indice de performance durant l’exécution de
l’algorithme BP :
Fig 3.9: Evolution de la fonction d’évaluation
Fig 3.10 : Signal de sortie émulée et sortie désirée
0 5 10 15 20 25 30 35 40 45 500
2
4
6
8
10
12
X: 1
Y: 10.81
Générations
EQ
M
Min ( EQM ) = 0.9322
X: 10
Y: 0.9322
X: 50
Y: 0.9322
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Itérations
Concentr
ation C
O2
Sortie Réseau
Sortie Désirée
Page 48
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.11: Signal d’erreur d’émulation
b) Emulation par un réseau MLP utilisant l’algorithme GA :
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.4. La figure 3.12
montre l’évolution de l’indice de performance durant l’exécution de l’algorithme GA :
Taille de la population 40
Nombre de génération 50
Probabilité de croisement Pc 0.86
Probabilité de mutation Pm 0.15
Espace de recherché [-1 ,1]
Nombre des gènes 9
Tableau 3.4 : Paramètres de l’algorithme GA
0 50 100 150 200 250 300-4
-3
-2
-1
0
1
2
3
4
Itérations
Err
eur
Page 49
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.12: Evolution de la fonction d’évaluation
Fig 3.13 : Signal de sortie émulée et sortie désirée
0 5 10 15 20 25 30 35 40 45 500
20
40
60
80
100
120
140
160
180
X: 1
Y: 162.8
Générations
EQ
M
Min ( EQM ) = 0.489266
X: 10
Y: 0.4902
X: 50
Y: 0.4893
Parcours Fitness
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Itérations
Concentr
ation C
O2
Sortie Réseau
Sortie Désirée
Page 50
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.14 : Signal d’erreur d’émulation
c) Emulation par un réseau MLP utilisant l’algorithme Hybride GA-MGA :
Les valeurs spécifiques de l’algorithme sont données par le tableau 3.5. La figure 3.15
montre l’évolution de l’indice de performance durant l’exécution de l’algorithme GA-
MGA:
Algorithme GA MGA
Taille de la population 40 8
Nombre de génération 50 8
Probabilité de croisement Pc 0.82 0.82
Probabilité de mutation Pm 0.2 0.2
Espace de recherche [-1 ,1] [-0.0025, 0.0025]
Nombre des gènes 9 9
Tableau 3.5 : Paramètres de l’algorithme GA-MGA
0 50 100 150 200 250 300-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Itérations
Err
eur
Page 51
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.15: Evolution de la fonction d’évaluation
Fig 3.16 : Signal de sortie émulée et sortie désirée
0 5 10 15 20 25 30 35 40 45 500
0.5
1
1.5
2
2.5
3
3.5
Générations
EQ
M
Min ( EQM ) = 0.222617
X: 1
Y: 3.291
X: 10
Y: 0.272X: 50
Y: 0.2226
Parcours Fitness
0 50 100 150 200 250 30044
46
48
50
52
54
56
58
60
62
Itérations
Concentr
ation C
O2
Sortie Désirée
Sortie Réseau
Page 52
Chapitre 3 Optimisation du Réseau Emulateur MLP par l’Algorithme Hybride GA-MGA
Fig 3.17 : Signal d’erreur d’émulation
Le tableau 3.6, résume les résultats de différents algorithmes appliqués à l’entrainement
du réseau de neurone MLP pour l’émulation du système de Box et Jenkins. Les résultats
obtenus par l’algorithme GA-MGA, sont extrêmement performants, le signal émulé suit
bien fidèlement la référence et l’EQM est très faible, voire figure (3. 15) et figure (3. 16).
Algorithme EQM
BP 0.9322
GA 0.489266
GA-MGA 0.222617
Tableau 3.6 : Comparaison de différent algorithme pour l’émulation
du système de Box et Jenkins
3.4. Conclusion :
Après application de la l’algorithme hybride AG-MGA pour optimiser l’entrainement du
réseau de neurone pour émuler le système non linéaire de Box et Jenkins, les résultats de
simulation ont été performants très satisfaisants.
0 50 100 150 200 250 300-1.5
-1
-0.5
0
0.5
1
1.5
2
Itérations
Err
eur
Page 53
Conclusion Générale
Conclusion Générale
Page 54
Conclusion Générale
Conclusion générale
Dans cette dernière décennie, les chercheurs visent à résoudre de nombreux
problèmes difficiles rencontrés dans différents domaines en utilisant des métaheuristiques.
Ces méthodes qui sont devenues très populaires grâce à leur simplicité d'implémentation, sont
en constante évolution, d'où l'apparition de leur hybridation, soit entre elles, soit avec
d'autres méthodes d'optimisation. L’hybridationpermet de tirer profit des avantages cumulés
de différentes métaheuristiques. Actuellement, les métaheuristiques hybrides sont devenues
plus populaires car les meilleurs résultats trouvés pour plusieurs problèmes d’optimisation ont
étés obtenus avec des algorithmes hybrides.
Le travail présenté dans ce mémoire concerne l’émulation d’un système non
linéaire par un réseau de neurones MLP, en utilisant un algorithme hybride basé sur
l’association d’un Algorithme Génétique un autre Algorithme dit Microgénétique. Notre
objectif est d’exploiter les avantages de chacun d’entre eux pour aboutir à un algorithme
d’optimisation permettant un bon entrainement du réseau de neurone MLP pour l’émulation
du système de Box et Jenkins. Les résultats issus de la simulation étaient très performants.
Dans le cadre de développement futur de ce travail, il est intéressant d’élaborer
une approche basée sur l’hybridation avec d’autres techniques d’optimisation (essaim
particulaire, colonies de fourmis, colonies d’abeilles, etc.
.
Page 55
Bibliographie
Bibliographie
[1] B.Sareni, “Algorithmes Génétiques Standards,” Rapport interne Cegely, Septembre
1997.
[2] C. F. Juang, “A hybrid of genetic algorithm and particle swarm optimization for
recurrent network design,” IEEE Trans. Syst., Man, Cybern. B,Cybern., vol. 34, no. 2,
2004, pp. 997–1006.
[3] C.L. Bridges and D.E Goldberg, “An analysis of multipoint crossover”, In
Proceedings of the Foundation OfGenetic Algorithms, FOGA,1991.
[4] C. Touzet, Les Réseaux de Neurones Artificiels,1992.
[5] D.E. Rumelhart “Learning Representation By Back-Propagation Errors”, The MIT
Press, VOL.1, Cambridge. 1986.
[6] D.E. Goldberg, “Genetic Algorithms in Search”, Optimization and Machine
Learning, Addison-Wesley,1989.
[7] D. E. Goldberg, “Algorithmes Génétiques,” Editions Addison-Wesley France, S. A.,
Juin 1994.
[8] D.S.NeelakantaetD. Degroff, Neural Network Modeling: Statical Mechanics and
Cybernetic Perspectives, CRC Press, CRC Press LLC, 1994.
[9] F.Rosenblatt, The Perceptron: probabilistic model for information storage and organization
in the brain. Psychological Review 65, pp 386-408,1958.
[10] G. Box and G. Jenkins, “Time series analysis: forecasting and control,” Holden-Day,
San Francisco, 1976.
[11] G.Dreyfus, J-M. Martinez, M. Samuelideset M.B.Gordon, Réseaux de Neurones
Méthodologies et Application, S. Thiria, L Herault (Eds.), Groupe Eyrolles,2004.
[12] H. Abdi et D. Valentin, Modèles Neuronaux Connexionnistes et Numériques pour la
Mémoire des Visages, It Psychologie Française 39(4), pp 357-392,1994.
[13] H. Abdi, Neural Network, M. Lewis-Beck, A. Brymanet T. Futing (Eds.), Encyclopedia
of Social Sciences Research Methods, Thousand Oaks (CA ): Sage ,2003.
[14] H. Abdi, Précis de Connexionnisme, Intelligence Artificielle et Intelligence Naturelle,
Paris : Presse Universitaires de France in J. P Rossi, J. F Le Ny, J. F (Eds.),1993.
[15] I. Kuscu, C. Thornton, “Design of artificial neural networks using genetic algorithms:
review and prospect,” Cognitive and computing Sciences, University of Sussex, 1994.
Page 56
Bibliographie
[16] J.A.Freemanet D.M. Shapriua, Neural Networks: algorithms, Application and
Programming Techniques, Book, Addison Wesley Publishing Company, INC,1991.
[17] J.H. Holland, “Adaptation in Natural and Artificial Sytems”, 2nd edition, MIT
Press,1992.
[18] J. M. Zurada, “Introduction to artificial neural systems,” West Publishing, 1992.
[19] J. Tanomaru, S. Omatu, “process control by on-line trained Neural controllers”,
IEEEtrans., Industrial Electronics, vol. 39, N° 6, 1992, pp.511-521.
[20] K. Hornik, M. Stinchcombe and H. White, “Multilayered feed forward networks are
universal approximators,” Neural networks, vol. 2, pp. 359-366, 1989.
[21] K. Kara, “Application des réseaux de neurones à l’identification des systèmes non
linéaires,” Thèse de magistère en électronique, Université de Constantine, 1995.
[22] L.Fausett, fundamentals of Neural Networks Architectures, Algorithms and Applications,
Addison Wesley, Publishing Company, Inc,1991.
[23] L.P.J. Veelenturf, Analysis and Applications of Artificial Neural Networks, Book
PrnticeHall,Edition,1995.
[24] Marc Parizeau “Reseau de Neurones”, Automne 2004, presse de l’université de
LAVAI. 2004
[25] M. Dornier, B. Heyd, M. Danzart, “Evaluation of the simple method for training
simple multiplayer neural networks,” Neural Comput and Applic, vol. 7, pp. 107-114,
1998.
[26] M. Minoux, “Mathematical Programming: Theory and Algorithms,” Wiley and Sons,
1984.
[27] M.T. Khadir, Les Réseaux de Neurones Artificiels,2005.
[28] N. Talbi, “ Conception des Systèmes d’Inférence Floue par des Approches Hybrides :
Application pour la Commande et la Modélisation des Systèmes Non linéaires,” Thèse
Doctorat en électronique, Université de Constantine, 2014.
[29] N. Zerrouki, R. Chenouf, “Optimisation Des Paramètre D’un Modèle
D’identification,” mémoire d’ingénieur, OEB, 2004.
[30] O. Ourzifi, “Quelques méthodes d’optimisation hybrides basées sur les algorithme
Génétiques pour l’apprentissage des réseaux de neurones,” Thèse de magistère en
électronique, Université de Constantine, 2002.
[31] P. Dayan et L.F0 Abbott, Theoretical Neuroscience,2000.
[32] P.J. Werbos, “Backpropagation through time: What it does and how to do it?,” Proc.
IEEE, vol. 78, pp. 1550-1560, 1990.
Page 57
Bibliographie
[33] R. A. Jacobs. “Increased rates of convergence through learning rates adaptation,”
Neural Networks, vol. 1, pp. 295-350, 1988.
[34] S. A. Kazarlis, S. E. Papadakis, J. B. Theocharis, “Microgenetic Algorithms as
Generalized [21] Hill-Climbing Operator For GA Optimization,” IEEE
Trans.Evolutionary, Computation, vol. 5, pp. 204-216, Juin 2001.
[35] W.S. Sarle,Neural Network sand Statical Models, Proceedings of The Nineteenth Annual
SAS Users Group International conference, April1994.
[36] Y.H. Hu et J.N. Hwang, Introduction to neural Networksfor Signal Processing,
Handbook of Neural Network Signal Processing, CRC Press LLC,2002.
[37] Z. Szlávik, T. Szirányi, Face Identification with CNN-UM, 2003
[38] Z. Michalewicz, “Genetic Algorithms + Data Structures = Evolution Programs”,
Springer-Verlag, 1992.