Adapté de Michael Negnevitsky Systèmes hybrides Adapté de Michael Negnevitsky
Comparaison de modèles • Critères de comparaison proposées par Negnevitsky (2002) Caractéristique Description Compréhensibilité des représentations Facilité de compréhension des connaissances représentées Tolérance à l’incertitude Robustesse face aux données manquantes Tolérance à l’imprécision Robustesse face aux données imprécises Adaptabilité Support pour de nouveaux types de données et de nouveaux domaines Capacité d’apprentissage Support pour l’apprentissage automatique des connaissances Capacité de découverte/fouille Support pour découvrir des connaissances parmi beaucoup de données Capacité d’explication Support pour le traçage du raisonnement Facilité de développement Simplicité et rapidité du développement Maintenabilité Simplicité de la maintenance Support de connaissances complexes Support pour représenter des connaissances complexes Caractéristiques pertinentes au volet informatique (i.e. pratique)! Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Comparaison de modèles • Approches et évaluations possibles Décrtis par Negnevitsky (2002) Types d’approches SE: système expert RN: réseau de neurones artificiels LC: logique classique AG: algorithme génétique LF: logique floue RB: réseau bayésien AD: arbres de décisions ON: ontologies SC: schémas BC: système à base de cas Évaluation - -: mauvais +/- : variable selon variantes - : plutôt mauvais +: plutôt bon ++: bon Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Comparaison de modèles • Avantages et limites de chaque approche … évaluation proposée par Negnevitsky Caractéristiques Approches symboliques sous-symboliques SE LC LF AD ON SC BC RN AG RB Compréhensibilité des Représentations + ++ - - - Tolérance à l’incertitude Tolérance à l’imprécision +/- Adaptabilité Capacité d’apprentissage Capacité de découverte/fouille Capacité d’explication Facilité de développement Maintenabilité Support de connaissances complexes Ce que ne dit pas ce tableau; C’est l’opinion subjective d’un novice (moi-même). Assumant 5 valeurs d’évaluation (--, -, +, ++, +/-), il y a 5110 opinions différentes possibles. Il y a des caractéristiques qui sont à mon avis plus importantes que d’autres selon les problèmes e.g. support de connaissances complexes: si un problème requière la modélisation de connaissances complexes, on doit probablement choisir une approche symbolique peu importe les qualités des approches sous-symboliques Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Comparaison de modèles • Avantages et limites de chaque approche … points forts démarquant les approches symb. / sous-symb. Caractéristiques Approches symboliques sous-symboliques SE LC LF AD ON SC BC RN AG RB Compréhensibilité des Représentations + ++ - - - Tolérance à l’incertitude Tolérance à l’imprécision +/- Adaptabilité Capacité d’apprentissage Capacité de découverte/fouille Capacité d’explication Facilité de développement Maintenabilité Support de connaissances complexes Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Comparaison de modèles • Évaluations globales Caractéristiques Approches symboliques sous-symboliques Compréhensibilité des représentations Bonne ou plutôt bonne Plutôt mauvaise ou mauvaise Tolérance à l’incertitude Plutôt bonne ou bonne Bonne Tolérance à l’imprécision Variant de bonne (LF,AD) à mauvaise (LC) Adaptabilité Variant de mauvaise (SE, SC) à plutôt bonne (AD, BC?) Capacité d’apprentissage Variant de mauvaise (SE, LC, LF, SC) à bonne (AD) Capacité de découverte/fouille Généralement mauvaise ou plutôt mauvaise (exception: AD et ON plutôt bonne) Plutôt bonne ou bonne (RB non spécifiée) Capacité d’explication Variant de mauvaise (RN) à plutôt bonne (RB) Facilité de développement Généralement mauvaise ou plutôt mauvaise (exception: AD bonne) Plutôt mauvaise (RN,AG) ou bonne (RB) Maintenabilité Variant de bonne (AD) à mauvaise (SE) Support de connaissances complexes Généralement bonne ou plutôt bonne (exception: AD plutôt mauvaise) Mauvaise Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Les systèmes hybrides Exploitent les avantages respectifs de plusieurs paradigmes en combinant leurs algorithmes suivant une approche synergétique. Exemples de modèles pouvant être combinés : Systèmes experts Raisonnement à base de cas Arbres de décision Algorithmes et programmation génétique Réseaux de neurones Techniques de régression Techniques statistiques Systèmes à logique floue Algorithmes de groupement Vie artificielle Techniques de simulation …
Les systèmes hybrides ne sont pas tous égaux Un système hybride peut être bon ou mauvais, selon le choix et les rôles de ses composantes Lotfi Zadeh est réputé avoir dit qu’un bon système hybride combine les qualité de la police britannique, de la mécanique allemande, de la cuisine française, du système bancaire suisse, et de l’amour italien. Par contre, la cuisine britannique, la police française, la mécanique suisse, l’amour allemand et les finances italiennes seraient un mauvais choix ! Hybridations populaires Systèmes experts neuronaux Systèmes neuro-flous, neuro-génétiques, flous-génétiques On peut aussi sauter du bateau : neuro-HMM, HMM-flou, neuro-bayesien…
Types d’hybridation Modèles séquentiels Modèles à auxiliaire Entrée Paradigme 1 Paradigme 2 sortie Ex. : un module statistique passe ses résultats à un RNA. Forme la plus faible d’hybridation Modèles à auxiliaire Entrée Paradigme 1 Sortie Paradigme 2 (appelé par 1) Ex. : AG qui règlant les poids d’un RNA. Forme d’hybridation plus poussée Modèles imbriqués Entrée Paradigme 1 + Paradigme 2 sortie Ex. : un système neuro-flou où le RNA est imbriqué dans le système flou. Forme absolue d’hybridation Les modèles peuvent être combinés pour créer des paradigmes plus complexes.
Systèmes experts connexionistes Les systèmes experts reposent sur l’inférence logique et les arbres de décision pour modeler le raisonnement humain ; le savoir réside dans des règles individuelles qui sont visibles et compréhensibles pour l’usager. Le problème est de les trouver et de s’assurer de leur généralité s’application. Les réseaux de neurones modèlent le cerveau lui-même par une architecture parallèle de traitement de l’information ; le savoir est distribué et réside dans des poids synaptiques que l’on sait calculer. Le problème est d’expliquer le processus cognitif sous jacent. Pourquoi ne pas compenser les faiblesses de l’un par les qualités de l’autres ?
Le raisonnement approximatif Dans un système expert classique, le moteur d’inférence applique l’antécédent de chaque règle aux données de sa base de connaissances. Lorsqu’il y a appariement, le conséquent est exécuté. L’appariement doit être exact. Dans un système expert connexionniste, le moteur d’inférence utilise une base de connaissances neuronale pour arriver à un appariement approximatif Le résultat est que les données d’entrée n’ont plus à correspondre exactement aux données d’apprentissage pour que les règles soient activées, d’où un raisonnement approximatif.
Structure d’un système expert connexionniste
La base de connaissances neuronale Les poids déterminent la force/l’importance des neurones associés au règles Valeurs d’entrée = +1 (vrai), 1 (faux), or 0 (indéterminé),
Avec les valeurs d’entrée +1 (vrai), 1 (faux), ou 0 (indéterminé), il est possible de donner une interprétation sémantique à l’activation de tout neurone de sortie. Ex. : Si l’objet d’entrée possède des ailes (+1), un bec (+1) et des plumes (+1), mais pas de moteur (1), nous pouvons conclure q’il s’agit d’un oiseau (+1) : Nous pouvons conclure de manière similaire qu’il ne s’agit pas d’un avion : Ou d’un aéroplane :
Importance de chaque lien synaptique Heuristique : inférence positive si l’activation d’un neurone de sortie due aux entrées connues est plus importante que la somme des valeurs absolues des poids rattachés aux entrées inconnues : i entrées connues, j entrées connues et n = nombre d’entrées Exemple : Entrer la valeur de l’entrée Plumes : +1 CONNU = 12.8 = 2.8 UNCONNU = 0.8+0.2+2.2+1.1= 4.3 CONNU INCONNU Entrer la valeur de l’entrée Bec : CONNU = 12.8 + 12.2 = 5.0 UNCONNU = 0.8+0.2+1.1= 2.1 CONNU INCONNU CONCLUSION: OISEAU est VRAI
Comment trouver les poids ? Il faut d’abord définir la topologie correspondante aux règles Ensuite on applique un algorithme d’apprentissage approprié (e.g. retropropagation)
Comment trouver les règles minimales ? Trouver et ordonner les poids contributeurs (ceux qui ne diminuent pas le résultat) Identifier les antécédents en partant du poids le plus fort Plumes : 2.8 (1 2.8=2.8) Bec : 2.2 (1 2.2=2.2) Moteur : 1.1 (-1 -2.1=2.1) Queue : 0.2 (0 -0.2=0) Ailes : 0.8 (1 -0.8= - 0.8) Entrer la valeur de l’entrée Plumes : +1 CONNU = 12.8 = 2.8 UNCONNU =0.8+0.2+2.2+1.1= 4.3 CONNU INCONNU Entrer la valeur de l’entrée Bec : +1 CONNU = 12.8+12.2=5.0 UNCONNU=0.8+0.2+1.1=2.1 CONNU INCONNU CONCLUSION: SI plumes ET bec ALORS oiseau
Système neuro-flous Combine les traitement parallèle et les capacités d’apprentissage des réseaux de neurones avec les raisonnement anthropo-morphique et les capacités d’explication des systèmes flous : Les RNA deviennent plus transparents, les systèmes flou acquièrent la capacité d’apprendre. La topologie du RNA est fonctionnellement équivalente à celle d’un modèle d’inférence flou, et on peut l’entraîner à : développer des règles floues SI-ALORS trouver les fonctions d’appartenance de variables d’entrées/sorties en partant d’un ensemble de données représentatives. On peut aussi y inclure les connaissances d’un expert. Structure similaire à un PMC : 1 couche d’entrée, 1 couche de sortie et 3 couches cachées pour les fonctions d’appartenance et les règles.
Architecture d’un système neuro-flou
Couche 1 : Agit comme un tampon qui transmet simplement les données d’entrée à la couche de flouïfication. On a : Couche 2 : Les neurones de cette couche réalisent chacun un ensemble flou qui servira dans les antécédents des règles. Chaque neurone reçoit une valeur d’entrée précise et génère son degré d’appartenance à l’ensemble flou représenté par le neurone. Dans le cas d’ensembles flous triangulaires, on peut utiliser des fonctions d’appartenance de même forme qui sont définies par deux paramètres {a, b} :
Couche 3 : Elle réalise les conjonctions des antécédents de règles floues. Chaque neurone dans la couche reçoit comme entrée les degrés d’appartenance définis dans la couche 2. L’intersection floue est réalisée avec l’opérateur produit : Couche 4 : Elle réalise les disjonctions des antécédents de règles floues. Chaque neurone dans cette couche reçoit comme entrée les degrés d’appartenance définis dans la couche 3. L’union floue est réalisé à l’aide de l’opérateur ou probabiliste : C1 représente la force combinée des conjonctions implémentées par les neurones R3 et R6. Couche 5 : Chaque neurone dans cette couche prend les ensembles flous précédent, écrêtés par la force des règles correspondantes, et les combine en un seul ensemble flou. Ce dernier est alors déflouïfié par une méthode standard.
Entraînement d’un système neuro-flou On utilise un algorithme de RNA (e.g. retropropagation) Exemple :
Mise en oeuvre avec un système neuro-flou à 5 règles Noter que le système a seulement retenu 4 règles !
Inclusion de connaissance a priori L’inclusion de connaissances du domaine (e.g. intervention d’un expert) peut améliorer considérablement l’apprentissage, surtout lorsque les données sont rares et peu représentatives. Cependant, un expert peut se tromper, ou encore fournir des règles redondantes ! Le système devrait être capable d’identifier les mauvaises règles et corriger la situation. Exemple du ou-exclusif Un expert distrait suggère 8 règles avec des poids initiaux de 0.5 pour les couches 3 et 4. Après l’apprentissage, on élimine les règles dont le poids de sortie (facteur de certitude) est < 0.1.
Solution du problème du ou-exclusif avec 8 règles Comme seulement 4 règles sont requises normalement, le système élimine les règles excédentaires.
ANFIS: Adaptive Neuro-Fuzzy Inference System Modèle de génération automatique de règles floues basé sur le modèle d’inférence de Sugeno : IF x1 is A1 AND x2 is A2 . . . AND xm is Am THEN y = f (x1, x2, . . . , xm) où x1, x2, . . . , xm sont des variables d’entrée et A1, A2, . . . , Am sont des ensembles flous. Lorsque : y= constante, on obtient un modèle de Sugeno d’ordre zéro. Le conséquent d’une règle est un singleton. y est une combinaison linéaire des entrées : y = k0 + k1 x1 + k2 x2 + . . . + km xm on obtient un modèle de Sugeno de premier ordre.
Architecture du réseau ANFIS
Couche 1 : Tampon pour les données d’entrée Couche 2 : Neurones de flouïfication pour les antécédents des règles. Dans le modèle de Jang, les fonctions d’appartenance sont des gaussiennes. Couche 3 : Chaque neurone correspond à une règle floue de Sugeno. il reçoit les sorties des neurones de flouïfication et calcule son activation. La conjonction des antécédents est réalisée avec l’opérateur produit. Ainsi, la sortie du neurone i de la couche 3 est donnée par et où 1 represente le degré de vérité de Règle 1.
Couche 4 : Chaque neurone calcule le degré de vérité normalisé d’une règle floue donnée. La valeur obtenue représente la contribution de la règle floue au résultat final. Ainsi la sortie du neurone i de la couche 4 est : Couche 5 : Chaque neurone i de cette couche est relié à un neurone de normalisation correspondant et aux entrées initiales du réseau. Il calcule le conséquent pondéré de la règle sous jacente comme étant où les Xi sont les entrées, et ki0, ki1 et ki2 sont des paramètres du conséquent de la règle i.
Couche 6 : Comprend un seul neurone qui fournit la sortie de ANFIS en calculant la somme des sorties de tous les neurones de déflouïfication.
Entraînement d’un réseau ANFIS Algorithme à deux temps où on estime d’abord les paramètres des conséquents par une technique de moindres carrés et ensuite les poids du réseau par une descente de gradient. Chaque époque d’entraînement comprend une passe avant et une passe arrière. Durant la passe avant, les patrons d’entrée servent à déterminer les sorties des neurones couche par couche, permettant de déterminer les valeurs des paramètres de conséquents en bout de compte. Durant la passe arrière, l’algorithme de retropropagation d’erreur est appliqué pour régler les poids des différentes couches.
Détermination des paramètres des conséquents Partant de P paires d’apprentissage, on peut former P équations linéaires en fonction des paramètres des conséquents : où est la valeur moyenne de i, et fi() est la fonction de sortie dont on veut déterminer les paramètres.
On peut écrire l’équation précédente sous la forme yd = A k, où yd est un vecteur désiré de dimension P 1 : , et k est le vecteur des paramètres de conséquent inconnus de dimension n (1 + m) 1 : k = [k10 k11 k12 … k1m k20 k21 k22 … k2m … kn0 kn1 kn2 … kn m]T On a donc : k = A-1 yd (en pratique k=(AtA)-1At yd )
Une fois le vecteur k déterminé, le vecteur de sortie du réseau y peut être calculé ainsi que le vecteur d’erreur associé, e : e = yd y Lors de la passe arrière, l’algorithme de retropropagation d’erreur est appliqué pour mettre à jour les poids des antécédents des règles. Dans l’algorithme ANFIS de Jang, on optimise aussi bien les paramètres de antécédents que ceux des conséquents. Durant la passe avant, les paramètres des conséquents sont adaptés alors que les paramètres des antécédents sont maintenus constants ; durant la passe arrière, les rôles sont échangés.
Approximation de fonctions avec ANFIS Ex. : suivre la trajectoire définie par la fonction non-linéaire définie par Détermination de l’architecture : Deux entrées, x1 and x2, et une sortie, y. Chaque entrée possède deux valeurs linguistiques Donc le réseau ANFIS possède quatre règles.
Modèle ANFIS avec quatre règles
Apprentissage du réseau L’ensemble d’apprentissage comprend 101 échantillons représentés par 101 triplets [x1 x2 yd] X1 va de 0 à 10 par pas de 0.1 X2 = sin(x1) pour donner des paires [x1 x2] qui sont raisonnablement distribuées yd, est déterminé en solvant l’équation.
Apprentissage sur 1 période
Apprentissage sur 100 périodes
On peut améliorer la précision d’approximation en augmentant le nombre de valeurs linguisitques par entrée. Par exemple, pour 3 valeurs on obtient un réseau ANFIS à 9 règles :
Apprentissage sur 1 période en utilisant 3 fonctions d’appartenance par variable d’entrée
Apprentissage sur 100 périodes en utilisant 3 fonctions d’appartenance par variable d’entrée
Fonctions d’appartenance initiales et finales
Et pourquoi pas « neuroniser » un arbre de décision flou ? Arbre de classification/régression neuro-flou DIT grand CLD petit NOM grand 1 0.65 0.35 0.2 0.8 0.7 0.3 RNA de Déflouïfication RNA de Flouïfication Arbre de décision flou … A1 An Valeur/classe prédite
Flouïfication Processus en deux étapes : Trier les données par catégories (grand- petit) : Carte de Kohonen Décider de la forme et des points remarquables des fonctions d’apparenance : Morphologie mathématique Données Classification Fonctions d’entrée symbolique d’appartenance SOM Filtre à morphologie mathématique
Déflouïfication Perceptron