=Paper=
{{Paper
|id=Vol-547/paper-9
|storemode=property
|title=Elaboration d'un Système hybride Neuro-Génétique Pour le Diagnostic Médical
|pdfUrl=https://ceur-ws.org/Vol-547/11.pdf
|volume=Vol-547
|dblpUrl=https://dblp.org/rec/conf/ciia/YedjourBY09
}}
==Elaboration d'un Système hybride Neuro-Génétique Pour le Diagnostic Médical==
Elaboration d'un Système hybride Neuro-Génétique
Pour le Diagnostic Médical
D.Yedjour*, A.Benyettou, H.Yedjour
Université des sciences et de la Technologie d'Oran
Faculté des sciences
Département d'Informatique
Email: dyedjour@yahoo.fr
Résumé: Les réseaux de neurones artificiels sont toujours considérés comme des boites noires, qui permettent après un
apprentissage à partir d’une base d’exemples incomplète, de classifier de nouveaux exemples, mais sans donner aucune
explication sur les résultats. Leurs connaissances sont codées de manière interne par les poids synaptiques, et ne sont pas
donc exprimées de manière compréhensible. Les algorithmes génétiques très performants dans les problèmes
d’exploration semblent être en mesure de rechercher dans l’espace des ensembles de règles, celui qui représentera le
mieux les connaissances d’un RNA. En revanche, ils sont inefficaces lorsqu'il s'agit de trouver la valeur exacte de
l'optimum dans cet espace or, c'est précisément ce que les algorithmes exacts d'optimisation réalisent le mieux. Nous
présentons dans cet article une nouvelle approche d'extraction de règles à partir d'un réseau de neurones permettant de
combiner les deux méthodes métaheuristiques et exactes au sein d'un même système.
Mots-clés: Réseaux de neurones, Algorithme génétique, Extraction de règles, Méthode de Quine Mc-Cluskey
1. Introduction
Les réseaux de neurones sont devenus un outil de plus en plus utilisé (industrie, parole, diagnostic médicale, finance,
traitement de signal et dans beaucoup d'autres problèmes), grâce à leur capacité d'apprendre et de généraliser, De plus ils
sont peu sensibles aux données approximatives et à la présence de données incorrectes dans la base d’exemple utilisée lors
de leur apprentissage. En revanche, les connaissances acquises lors de l’apprentissage sont stockées par le RNA dans sa
topologie et les poids de ses connexions, ce qui empêche toute justification des réponses du réseau. Nous pouvons dire que
le réseau est une sorte de « boite noire » [10]. Cependant l'extraction de règles pertinentes demeure importante si les
résultats du réseau de neurones sont utilisés comme théorie initiale dans des problèmes similaires [2]. Un system combinant
le modèle connexionniste et le raisonnement symbolique est dit système hybride intelligent [5]. Il existe deux approches
dans l’explicitation des connaissances d’un RNA. l’approche décompositionnelle qui tente d’analyser la topologie et les
poids des connexions d’un réseau afin d’en déduire des règles, on cite comme exemple RuleNet[9], RULEX[1], Subset [3],
Full–RE [12] , et l'approche pédagogique qui consiste non plus à s’intéresser aux unités d’un réseau, mais simplement à
analyser ses réponses par rapport aux entrées, on peut citer quelques travaux qui ont utilisé cette approche VIA(Validity
Internal analysis)[13], GEX(crisp Rule EXtraction) and REX (fuzzy Rule EXtraction) [6]. MulGEX [7], CGA[8], BIO-RE
(Binary Input-Output Rule Extraction) [12]. Dans cet article, on décrit une nouvelle méthode qui combine les algorithmes
métaheuristiques (algorithmes génétiques) avec les méthodes exactes (Quine-Mc-cluskey) afin d'extraire à partir d'un
réseau de neurones, les règles binaires de la forme if-then. Les algorithmes génétiques très performants dans les problèmes
d’exploration semblent être en mesure de rechercher dans l’espace des ensembles de règles, celui qui représentera le mieux
les connaissances d’un RNA. En revanche, ils sont inefficaces lorsqu'il s'agit de trouver la valeur exacte de l'optimum dans
cet espace. Or, c'est précisément ce que les algorithmes exacts d'optimisation réalisent le mieux. Il est donc naturel de
penser à associer un algorithme exact à l'algorithme génétique de façon à trouver la valeur exacte de l'optimum. On peut
aisément le faire en appliquant à la fin de l'algorithme génétique un algorithme exact sur le meilleur élément trouvé. Notre
système est testé sur la base de données cancer du sein de l'université de Californie. Les expériences montrent que notre
système donne de bons résultats.
2. SYSTEME MC-RULEGEN
La figure1 présente l’architecture de notre système MC-RULEGEN, il est décomposé en 04 modules: le module
perceptron multicouches, le module génétique, le module simplification de règles, et enfin le module system à base de
règles.
2.1. Module Apprentissage du réseau de neurones
Les données doivent être dans un format binaire, sinon une procédure de binarisation (1) sera appliqué sur les données
non-binaires [12].
1
1 si xi ≥ ui
yi = (1)
0 sin on
où xi est la valeur de l'attribut Xi, ui est la valeur moyenne de Xi et yi est la valeur binaire correspondante.
Règles finales
System
à base de règles
Règles
Initiales
Règles
Simplifiées
Module Module Règles
PMC Génétique Module
extraites Optimisation
règles
Extraction de règles via le module génétique
Exemples
D'apprentissage
Fig. 1 - Architecture du système MC-RULEGEN
Le PMC est appris à partir d'une base d'exemple, chaque vecteur d'entrée, est associe à un vecteur de sortie
(apprentissage supervisé), nous avons utilisé l'algorithme de la rétro-propagation. L'apprentissage sert à determiner les
valeurs optimales des poids (la matrice des poids), les connaissances du réseau sont contenues dans cette matrice. La phase
de l'apprentissage nécessite la manipulation de plusieurs paramètres (momentum, fonction d'activation, fréquence
d'apprentissage,..) afin d'aboutir au résultat voulu.
2.2. Module génétique
Les connaissances du réseau de neurones sont difficilement interprétables par un être humain. Pour remédier à cela, il
convient d’expliciter ces connaissances, c’est-à-dire les traduire sous une forme intelligible, une approche pédagogique
basé sur les algorithmes génétiques est utilisée. La règle extraite doit avoir la forme suivante
if [not]x1 and [not]x2 . . . then C
[.] est facultatif
Mesure de qualités des règles extraites
Les règles extraites doivent être précises et compréhensibles [4], [6]. La précision (2) mesure la proportion des
exemples correctement classés par la règle parmi tous les exemples d'apprentissage
nombre des exemples correcteme nt classés
p récision = (2)
nombre total des exemples
La fidélité se calcule de la manière suivante: chaque individu est passé dans le réseau de neurone pour classification, le
pourcentage des bonnes réponses est la valeur de la fidélité associé à l'individu. La compréhensibilité calcule le nombre de
règles ainsi que le nombre de prémisses dans chaque règle. Enfin la généralisation est définit par (3)
nombre de règles
Generalisa tion = 1 − (3)
nombre des exemples
Algorithme génétique pour l'extraction de règles
Les algorithmes génétiques (AG) sont des algorithmes d'optimisation s'appuyant sur des techniques dérivées de la
génétique et de l'évolution naturelle. ils utilisent la selection, le croisement et la mutation.
Algorithme
Générer aléatoirement une population initiale P(0),
Calculer la fonction fitness fi(m) pour chaque individu m de la population P(t),
Définir des probabilités de selection pour chaque individu m dans P(t),
Générer la nouvelle population P(t+1) en appliquant les opérateurs génétiques de croisement et de mutation,
Repéter l'étape 2 jusqu'à ce que le résultat final est le meilleur individu généré durant la recherche ou bien si
le nombre maximal de générations soit atteint.
2
Dans cet article, l'approche génétique est utilisée pour générer les règles symboliques interprétant le résultat du réseau
de neurones, c'est pourquoi ces règles doivent être représentées sous forme de chromosomes.
La forme du choromosomes
Le chromosome est composé d'un ensemble de gènes, chaque gène correspond à une règle, cela dit que le chromosome
code un ensemble de règles (figure2)
R1 R2 R3 R4 R5
1(-1)010 00010 10011 10110 1110(-1) Prémisses
Class0 Class1 Class1 Class0 Class0 Conclusions
Fig. 2 - Forme du chromosome dans MC-RULEGEN
-1 veux dure que l'attribut n'est pas activé.
0 veux dire que l'attribut x s'ecrit not (x) dans la règle générée
1 veux dire que l'attribut x s'ecrit (x) dans la règle générée
on suppose que les attributs se lisent de la gauche vers la droite alors le dernier gène devient :
if x1 and x2 and x3 and not(x4) then class0 , x1, x2 et x3 sont dits attributs positifs et x4 un attribut négatif, x5 un attribut
inactif
Population initiale
La population initiale de règles est choisie à partir de la table de vérité, qui doit contenir toutes les combinaisons
possibles de valeurs d'entrées (attributs), les valeurs de sorties sont générées aléatoirement.
Fonction fitness "mesure de performance"
La fonction fitness permet d'évaluer les individus (chromosomes), et donc de déterminer la qualité de la solution. Les
meilleurs individus sont mutés et croisés pour produire une nouvelle génération. Dans cet article deux mesures de fitness
sont utilisées: la fidélité et la compréhensibilité.
Opérateurs génétiques
Les trois opérateurs de base utilisés dans les AG sont: la selection, le croisement et la mutation. La méthode de la
selection utilisée est celle de la roulette (roulette wheel selection).
Croisement: permet de combiner deux chromosomes (parents) afin de produire un nouveau chromosome
(offspring). La figure 3 explique le croisement ( | est le point de croisement):
Chromosome 1 11011 | 00100110110
Chromosome 2 11011 | 11000011110
Offspring 1 11011 | 11000011110
Offspring 2 11011 | 00100110110
Fig. 3 - Exemple du croisement
Mutation: le rôle de la mutation est d’apporter «du nouveau» dans les chromosomes manipulées afin que la
recherche ne soit pas cloisonnée dans une partie de l’espace exploré. La mutation consiste juste à choisir
aléatoirement un caractère d’une chaîne et à le modifier. Dans notre travail, la mutation peut basculer de la valeur 1 à
0/(-1) ou de 0 à 1/(-1) ou -1 à 0/1. (voir figure 4)
1 0 1 1 -1
⇓
1 0 -1 1 -1
Fig. 4 - Exemple de la mutation
Evaluation de règles
C’est au cours de l’évaluation des règles que vont se réaliser les interactions entre le module génétique et le RNA. nous
avons modifié l'algorithme de la rétropropagation (developed by Rumelhart hinton, wiliams [11]), de telle sorte que les
attributs inactifs (valeur=-1) soient omis lors du calcul (voir figure5).
3
x1 x2 x3 x4 x5
1 0 -1 1 -1 Chromosome
⇓
Couche Sortie
Couche Cachée
1 2 3 4 5 Couche d'entrée
Fig. 5 - Algorithme de la rétropropagation modifié
2.3. Module d'optimisation de règles
L'ensemble de règles générée par AG (supposé optimal) est exprimé sous forme de chaînes de "un", de "zéro" ou de
"-1". On applique l'algorithme de Quine-McCluskey sur cet ensemble afin d'arriver à la solution exacte et simplifiée. La
méthode de Quine consiste, en partant de la décomposition canonique disjonctive de f, à utiliser systématiquement la
formule de simplification x + ¯ x = 1 plusieurs fois jusqu'à ce que aucune paire de termes ne peut être combinées [14].
Considérrons l’exemple suivant :
f(a, b, c) = a.b + b.c + a.c
La décomposition canonique disjonctive de f est :
f(a, b, c, d) = a.b.c + a.b.c + a.b.c + abc + abc +a b c
Algorithme de Quine modifié:
La méthode de quine MC-Cluskey permet de simplifier une fonction en partant de sa forme canonique, nous avons
modifié l'algorithme pour qu'il commence avec n'importe quels termes, cela permet de réduire la complexité de
l'algorithme.
Comment utiliser l'algorithme de Quine McCluskey dans notre approche:
1. Initialement RNM =, RFIN=
2. Regrouper les règles générées par le module génétique dans des classes,
chaque classe englobe tous les règles ayant le même nombre des attributs inactifs
(valeur=-1),
3. Numéroter chaque classe, ex: class0 contient les règles avec zéro (0)
attribut négatif, class1 contient les règles avec un seul (1) attribut négatif,
etc … (si le nombre des sous classes de la classe0=n nbre maximum de classes
(nbrclass)=n)
4. Trier chaque classe suivant le nombre des attributs positifs (valeur=1),
construire alors des sous classes, chacune d'elles contient les règles ayant le
même nombre de 1, deux sous classes de la classe i sont dites adjacentes si la
première contient m attributs positifs et la 2ème contient m+1 attributs positifs,
5. Commencer par la classe0, (i0)
6. Apparier les sous classes adjacentes de la classei deux à deux, appliquer la
règle x + ¯x (voir figure 6) ,
7. Les règles qui ont participé à la génération des nouvelles règles sont
marquées,
8. Les règles non marquées sont insérées dans RNM
9. Les nouvelles règles sont insérées dans la classe i+1,
10. ii+1
11. si i< n alors aller à l'étape 5 sinon RFIN= RNM fsi
12. Déterminer quels sont les implicants premiers essentiels à partir de RFIN
[14].
4
1 0 -1 1 -1 Règles
R1
du
R2 0 0 -1 1 -1 module
Règles
Ropt -1 0 -1 1 -1
Simplifiées
Fig. 6 - Exemple d'application de Quine Mc-cluskey sur les Règles extraites
Dans cet exemple les règles R1 et R2 sont extraites par le module génétique alors que Ropt est obtenu en appliquant
l'algorithme de Quine sur les deux règles
2.4. Système à base de règles
Les règles obtenues à partir des deux modules précédents (génétique et simplification) sont utilisées par le module
"système à base règle" dans le but d'obtenir un ensemble final et réduit de règles pertinentes qui couvre le maximum des
exemples de test.
Méthodologie:
On suppose que E= l'ensemble de règles finale, initialement E=,
pour chaque règle, la précision est calculée en comptant le nombre des exemples correctement classés par
cette règle,
les règles sont triées dans l'ordre décroissant, selon leurs valeurs de précision,
choisir les règles dont la précision est supérieur à la valeur maxaccuracy définie par l'utilisateur,
si cette règle existe alors:
− calculer NB le nombre de prémisses dans chaque règle de l'étape 3,
− Choisir uniquement les règles dont la valeur NB=maxaccuracy et NB