rapport de stage - université de nantes

55
Master 2 Interaction entre réseaux probabilistes quantitatifs et qualitatifs Apprentissage de Réseaux Bayésiens à partir de Qualitative Probabilistic Networks Auteur : Romain Rincé Encadrants : Philippe Leray Solen Quiniou 2 juillet 2015 Université de Nantes 2 rue de la Houssinière, BP92208, F-44322 Nantes CEDEX 03, France

Upload: others

Post on 18-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rapport de stage - Université de Nantes

Master 2Interaction entre réseaux probabilistes quantitatifs et

qualitatifs

Apprentissage de Réseaux Bayésiens à partir deQualitative Probabilistic Networks

Auteur :Romain Rincé

Encadrants :Philippe LeraySolen Quiniou

2 juillet 2015

Université de Nantes2 rue de la Houssinière, BP92208, F-44322 Nantes CEDEX 03, France

Page 2: Rapport de stage - Université de Nantes

Remerciements

Je souhaite tout d’abord remercier Philippe Leray pour l’encadrement et les conseilsprodigués durant ce stage. Il m’a accordé une grande confiance et une grande liberté surmon travail. Par ailleurs, je tiens aussi à le remercier de m’avoir permis d’obtenir unethèse à l’ONERA.Je remercie aussi Thomas Vincent qui m’a de nombreuses fois aidé pour la compilationdes projets avec Pilgrim.Je remercie également mon encadrante universitaire Solen Quiniou qui s’est donnée lapeine de se déplacer jusqu’à Polytech’Nantes durant le stage. Trop peu d’encadrants lefont.Je remercie bien évidemment mes collègues de bureau pour leur jovialité malgré l’impactque cela pouvait avoir sur la productivité.Enfin je souhaite remercier les relecteurs de ce rapport pour leurs conseils et le tempspassé à corriger un trop grand nombre de fautes.

Page 3: Rapport de stage - Université de Nantes

Table des matières

1 Introduction 3

2 Présentation du laboratoire et de l’équipe de recherche 4

3 Présentation du sujet 6

4 Rappels 84.1 Rappels sur les probabilités . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 Rappel sur les graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.3 Les modèles graphiques probabilistes . . . . . . . . . . . . . . . . . . . . . 104.4 Les réseaux bayésiens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Les QPN 155.1 Définition d’un QPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.2 Les influences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.3 L’inférence dans un QPN . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.4 Synergie additive et synergie produit . . . . . . . . . . . . . . . . . . . . . 195.5 Raisonnement intercausal . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.6 Algorithme d’inférence pour les QPN . . . . . . . . . . . . . . . . . . . . . 235.7 Extension des QPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6 Présentation des travaux 316.1 Implémentation d’une bibliothèque pour les QPN . . . . . . . . . . . . . . 316.2 Apprentissage sous contraintes d’un réseau bayésien . . . . . . . . . . . . 336.3 Étude sur les MLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

1

Page 4: Rapport de stage - Université de Nantes

TABLE DES MATIÈRES

7 Conclusion 47

Annexes 49

2

Page 5: Rapport de stage - Université de Nantes

1 | Introduction

It can only be attributable to humanerror.

HAL

En 1959, Arthur Samuel définissait l’apprentissage automatique comme « fieldof study that gives computers the ability to learn without being program-

med»[Sam59]. L’apprentissage automatique est initialement apparu avec les recherchessur l’intelligence artificielle mais s’en est progressivement éloigné avec le temps. Aujour-d’hui, il est principalement utilisée pour la recherche d’information dans les données(Data mining) ou la prédiction à partir d’un modèle entraîné. Différents outils ont étédéfinis pour effectuer les différentes tâches d’apprentissages tels que les réseaux de neu-rones ou les modèles graphique probabilistes.C’est dans ce domaine que j’ai effectué mon stage de fin d’études sur une période de6 mois allant de janvier à juillet 2015 au sein de l’équipe de recherche DUKe du LINA.J’étais encadré par Philippe Leray en tant que responsable pour le laboratoire et parSolen Quiniou en tant que responsable pour l’U.F.R..J’ai durant mon stage étudié un formalisme de modèle graphique probabiliste que sontles qualitative probabilistic networks (QPN) et mis en place des algorithmes permettantla manipulation et la transformation de ces modèles.Dans un premier temps, nous présenterons en partie 2 l’équipe de recherche à laquellej’étais intégré. En partie 3, nous détaillerons plus précisément le sujet et ses enjeux.Nous ferons quelques rappels dans le chapitre 4 sur les probabilités, les graphes et lesréseaux bayésiens avant d’entamer l’état de l’art sur les QPN en partie 5. Enfin nousprésenterons dans le chapitre 6 le travail réalisé durant le stage avant de conclure sur cedernier en partie 7.

3

Page 6: Rapport de stage - Université de Nantes

2 | Présentation du laboratoire etde l’équipe de recherche

Mon stage de fin d’étude s’est déroulé dans l’équipe DUKe qui est une équipede recherche du laboratoire en informatique de Nantes. Nous présentons

dans ce chapitre le laboratoire et l’équipe auxquels j’ai été intégré.

Le LINA

Le Laboratoire d’Informatique de Nantes Atlantique résulte de la réunion en 2004 del’Institut de Recherche en Informatique de l’Université de Nantes (IRIN) et du dépar-tement informatique de l’École des Mines de Nantes. Il compte environ 180 personnesréparties sur deux sites : le site de la Lombarderie au sein de la Faculté des Scienceset Techniques de Nantes et le site de la Chantrerie au sein de l’École des Mines et dePolytech’Nantes.

Le LINA compte neuf équipes de recherche centrées autour de 5 thématiques :— Contraintes et optimisation :

— L’équipe OPTI : Optimisation globale, optimisation multi-objectifs ;— L’équipe TASC : Théorie, Algorithmes et Systèmes en Contraintes ;

— Logiciels et systèmes distribués :— L’équipe AeLoS : Architectures et Logiciels Sûrs ;— L’équipe ASCOLA : ASpect and COmposition LAnguages ;— L’équipe AtlanMod : Atlantic Modeling ;— L’équipe GDD : Gestion de Données Distribuées ;

— Science des données :— L’équipe DUKe : Data User Knowledge— L’équipe GDD ;

— Ressources et applications du langage :— L’équipe TALN : Traitement Automatique du Langage Naturel ;

4

Page 7: Rapport de stage - Université de Nantes

Chapitre 2. Présentation du laboratoire et de l’équipe de recherche

— Bio-informatique :— L’équipe COMBI : COMbinatoire et Bio-Informatique ;— L’équipe DUKe.

Le LINA est par ailleurs intégré à la fédération de recherche en informatique et cyber-nétique des Pays de la Loire (AtlanSTIC) qui regroupe aussi le LINA et l’IRRCyN àNantes, le LERIA et le LARIS à Angers et le LIUM au Mans.

L’équipe DUKe

L’équipe DUKe résulte de la fusion en janvier 2014 de l’équipe COD et l’équipe GRIMdont le domaine d’étude est la science de données, c’est à dire la recherche d’informa-tions dans des données. Dû à l’existence historique de deux équipes, il se dégage deuxthématiques proches mais distinctes.

— Une partie de l’équipe se concentre sur la fouille et la manipulation de donnéesdans le but d’extraire de l’information utile et compréhensible par de utilisateurs.Par exemple le projet Antimoine sur lequel travaille l’équipe utilise des donnéesdu domaine du patrimoine afin de créer un système de recommandation.

— L’autre partie de l’équipe se concentre sur la recherche d’informations dans degrands volumes de données notamment pour en extraire des modèles de raison-nement tels que les réseaux bayésiens.

L’axe de recherche de l’équipe lui permet d’être confrontée à de nombreux domaines quece soit le web, la biologie, la médecine, l’économie...

5

Page 8: Rapport de stage - Université de Nantes

3 | Présentation du sujet

Les modèles graphiques probabilistes sont un outil de modélisation de connais-sances et de raisonnement utilisés de manière croissante dans de nombreux

domaines. L’équipe DUKe du LINA est une des spécialistes européennes dans ce do-maine, avec des compétences en termes d’apprentissage de ces modèles à partir de don-nées. Il existe de nombreuses extensions de ces modèles et mon stage se centrait initia-lement sur l’étude de deux d’entre-elles que sont les réseaux bayésiens et les qualitativeprobabilistic networks (QPN) bien qu’il m’a aussi été possible de travailler à terme surles réseaux logiques de Markov.Nous détaillions dans cette partie les principaux axes qui ont orienté mon travail durantle stage.

Réalisation d’une bibliothèque de QPN

L’objectif initial était de pouvoir étudier les interactions possibles entre réseaux bayésienset QPN. Afin d’y parvenir, nous avons convenu avec Philippe Leray de concevoir le sujetde stage sous une forme agile. Nous fixions donc pas-à-pas les objectifs à réaliser quitteà, si nous le souhaitions, modifier le but final.Il n’existait, à notre connaissance, pas d’outil ou de bibliothèque qui permettait de ma-nipuler des QPN. Par ailleurs, l’équipe DUKe a implémenté sous la plate-forme Pilgrimune partie de ses connaissances sur les modèles graphiques probabilistes dont une largequantité d’outils pour traiter les réseaux bayésiens. Nous avons donc décidé de réaliserune bibliothèque permettant de modéliser les QPN afin de l’ajouter à la plate-forme et,par la suite, étudier l’interaction entre réseau bayésien et QPN. Pour réaliser ces objec-tifs, il a été décidé que j’effectuerais l’implémentation en C++ afin de pouvoir utiliserBoost Graph qui est une bibliothèque de manipulation des graphes en C++. Par ailleurs,Pilgrim est implémenté en C++ et pour des soucis de simplicité vis-a-vis de l’intégrationde la bibliothèque à la plate-forme, il nous a semblé plus pertinent de travailler dans lemême langage.

6

Page 9: Rapport de stage - Université de Nantes

Chapitre 3. Présentation du sujet

Apprentissage sous contraintes de réseaux bayésiens

Lors d’un précédent stage, il avait déjà été étudié la transformation d’un réseau bayésienvers un QPN, nous avons donc décidé d’étudier les moyens permettant d’obtenir unréseau bayésien à partir d’un QPN. Étant donné que le modèle bayésien est plus descriptifque son équivalent qualitatif, la transformation de l’un vers l’autre ne s’effectue pas dela même façon selon le sens de celle-ci. Un QPN est appris directement d’un réseaubayésien par simple analyse des probabilités données par ce dernier ; de facto, il n’existequ’un seul QPN possible pour représenter un modèle bayésien donné. A contrario, fairecorrespondre directement un réseau bayésien à un QPN est impossible et implique doncd’effectuer un apprentissage des tables de probabilités du réseau bayésien en contraignantcelles-ci à respecter les informations fournies par le QPN. Nous reviendrons bien entendusur ces différents points dans le chapitre 5.Les QPN et 6.Présentation des travaux.

Étude d’un apprentissage sous contraintes des MLN

Les précédents objectifs étant principalement la mise en application d’une partie de l’étatde l’art des QPN, nous avons choisi de nous réorienter vers un autre modèle graphiqueque sont les réseaux logiques de Markov (MLN). En mettant à profit mes connaissancessur l’apprentissage sous contraintes des réseaux bayésiens, nous souhaitions trouver unmoyen de diriger l’apprentissage des MLN par l’adjonction de contraintes potentiellementspécifiées sous la forme d’un QPN. À notre connaissance, il s’agit d’un point qui n’a pasencore été abordé et qu’il semble intéressant d’étudier.Les travaux réalisés sur cette partie n’ayant pas été terminés lors de la rédaction de cerapport, nous ne présenterons que le formalisme des MLN ainsi que certaines hypothèsespour l’apprentissage (cf. section 6.3).

7

Page 10: Rapport de stage - Université de Nantes

4 | Rappels

Dans ce chapitre, nous reviendrons sur quelques notions élémentaires deprobabilité qui seront utiles pour la présentation de l’état de l’art. Nous

détaillerons quelques notations et définitions que nous utiliserons pour les graphes. Etfinalement, nous présenterons brièvement les réseaux bayésiens.

4.1 Rappels sur les probabilités

Dans cette section, nous reviendrons brièvement sur certains concepts essentiels de lathéorie des probabilités. Cette section présentera en grande partie les notations utiliséesdans la suite de ce rapport. Plus d’informations sur la théorie des probabilités pourrontêtre trouvées, par exemple, dans [Ric95].Soit U un ensemble de variables et A ∈ U , A peut alors prendre une valeur parmi m ≥ 1soit a1, . . . , am. Il est alors possible de définir la proposition logique A = ai

1 lorsque lavariable A a pour valeur ai. Nous pouvons construire des propositions logiques à partirdes valeurs associées aux variables de U .Définissons une distribution de probabilité sur ces propositions :

Définition 4.1 (Distribution de probabilité) Soit B l’ensemble de propositions lo-giques construites à partir des variables de U . Définissons Pr : B → [0, 1] tel que

— ∀a ∈ B alors Pr(a) ≥ 0 ;— Pr(F) = 0 ;— Pr(T) = 1 ;— ∀a, b ∈ B, si a ∧ b ≡ F alors Pr(a ∨ b) = Pr(a) + Pr(b).

Pr est alors la loi de probabilité sur U tel que pour tout a ∈ B et A sa variable associée,la fonction Pr(a) correspond à la probabilité que A = a.

Définissons à présent la notion de probabilité conditionnelle.

1. Notée plus succinctement ai.

8

Page 11: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

Définition 4.2 (Probabilité conditionnelle) Étant donné une distribution de proba-bilité sur U avec X,Y ⊆ U . Alors pour toute combinaison de valeurs x ∈ X, y ∈ Y avecPr(y) > 0, la probabilité conditionnelle de x étant donné y noté Pr(x|y) est définie :

Pr(x|y) = Pr(xy)Pr(y)

La probabilité conditionnelle exprime la probabilité que X = x lorsque la variable Y = y.

4.2 Rappel sur les graphes

Dans cette section, nous reviendrons sur quelques notions et notations sur les graphes quiseront utiles pour les chapitres suivants. On distingue en général deux types de graphe,les graphes orientés et non-orientés. Bien que nous utiliserons des graphes non-orientéslors de la présentation des MLN (Section 6.3), nous utiliserons essentiellement, dans lereste du rapport, des modèles qui reposent sur des graphes orientés. Les définitions quenous rappelons ci-dessous ne porteront donc que sur les graphes orientés. Pour plus dedétails, vous pouvez cependant vous reportez à [Fou07].

Définition 4.3 (Graphe orienté) Un graphe orienté G est une couple G = (VG, AG)où VG est un ensemble fini de nœuds et AG l’ensemble des arcs du graphe. Un arc a ∈ AGétant un couple ordonné de nœuds {vi, vj} tels que vi, vj ∈ VG et a = vi → vj.

Introduisons à présent la définition de parent et fils d’un nœud.

Définition 4.4 (Parent/Fils d’un nœud) Soit G un graphe orienté, vi, vj ∈ VGet vi → vj ∈ AG alors vi est un parent de vj et respectivement vj est un fils de vi.L’ensemble des parents d’un nœud v est noté πG(v) et l’ensemble de ces fils est notéσG(v).

À partir de ce concept, nous pouvons définir récursivement la notion d’ancêtre et des-cendant d’un nœud de la façon suivante.

Définition 4.5 (Ancêtre/descendant d’un nœud) Les ancêtres d’un nœud v, notéπ∗G(v), est l’ensemble des nœuds v′ tel que v′ ∈ (πG(v)

⋃π∗G(v′′)) avec v′′ ∈ πG(v).

Respectivement les descendants d’un nœud v, noté σ∗G(v), est l’ensemble des nœuds v′tel que v′ ∈ (σG(v)

⋃σ∗G(v′′)) avec v′′ ∈ σG(v).

Nous allons à présent définir deux types de séquence de nœuds et d’arcs.

Définition 4.6 (Chaîne) Soit G un graphe orienté et soit {v0, . . . , vk} ⊂ VG aveck ≥ 1. Une chaîne t = (Vt, At, v0, vk) de v0 à vk est une séquence de nœuds et d’arcsv0, a1, v1, . . . ak, vk, ai ∈ AG, i = 1, . . . , k tel que ai = vi−1 → vi ou ai = vi−1 ← vi.

9

Page 12: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

Définition 4.7 (Chemin) Soit G un graphe orienté, soit {v0, . . . , vk} ⊂ VG avec k ≥ 1et soit t une chaîne de v0 à vk. t est un chemin de v0 à vk si pour tout ai ∈ At, i =1,. . ., k, ai = vi−1 → vi.

Définissons à présent trois opérateurs sur les chaînes. Pour chacune de ces définitions,nous utiliserons un graphe bidirectionnel G ainsi que les nœuds v0, vk et vm ∈ VG

Définition 4.8 (Chaîne inverse) Soit t = (Vt, At, v0, vk) une chaîne allant de v0 à vk.Alors la chaîne inverse t−1 est la chaîne (Vt, At, vk, v0) allant de vk à v0.

Définition 4.9 (Concaténation de chaînes) Soient deux chaînes ti = (Vti , Ati , v0, vk)et tj = (Vtj , Atj , vk, vm) allant respectivement de v0 à vk et de vk à vm. Alors la conca-ténation des chaînes ti ◦ tj est la chaîne (Vti ∪ Vtj , Ati ∪Atj , v0, vm) allant de v0 à vm.

Définition 4.10 (Composition de chaînes parallèles) Soient ti = (Vti , Ati , v0, vk)et tj = (Vtj , Atj , v0, vk) deux chaînes allant de v0 à vk. Alors la composition des chaînesparallèles ti||tj est la chaîne (Vti ∪ Vtj , Ati ∪Atj , v0, vk) allant de v0 à vk.

4.3 Les modèles graphiques probabilistes

Les modèles graphiques probabilistes sont des graphes permettant de représenter desdépendances conditionnelles entre des variables. Ainsi les nœuds d’un tel modèle corres-pondent aux différentes variables et les arcs aux dépendances entre celles-ci. Dans notrecas, nous nous concentrerons essentiellement sur les modèles orientés acycliques, pourplus d’informations vous pouvez vous référer à [Lau96].L’interprétation probabiliste du graphe dépend par ailleurs des concepts de chaîne blo-quée, chaîne active et de d-séparation initialement introduit par Pearl [Pea88].

Définition 4.11 Soit G = (VG, AG) un graphe orienté acyclique et a, b ∈ VG. Unechaîne t = (Vt, At, a, b) est dite bloquée par une ensemble de nœuds X ⊆ VG si une desconditions suivantes est vérifiée :

1. a ∈ X ou b ∈ X ;2. ∃c, d, e ∈ Vt tels que d ∈ X et d→ c, d→ e ∈ At ;3. ∃c, d, e ∈ Vt tels que d ∈ X et c→ d, d→ e ∈ At ;4. ∃c, d, e ∈ Vt tels que d ∈ X et c→ d, e→ d ∈ At et σ∗(d) ∩X = ∅

Sinon t est dite active par rapport à X.

Par ailleurs, nous parlerons parfois de V-structure pour décrire une organisation des arcsde la forme c→ d← e pour c, d, e ∈ Vt. Dans un tel cas, s’il n’existe pas d’autre chaîneentre c et e, ces derniers sont indépendants entre eux et conditionnellement dépendantspar rapport à d.

10

Page 13: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

Définition 4.12 (d-séparation) Soit G un graphe orienté acyclique et X,Y, Z ⊆ VG.Z est dit d-séparé de X par Y dans G, noté 〈X|Y |Z〉dG si toute chaîne partant d’unnœud dans X vers un nœud dans Z est bloqué par Y .

Présentons un bref exemple de d-séparation. Sur le graphe en figure 4.1, il existe deuxchaînes entre c et b : (c, a, b) et (c, d, b). Le nœud c y est d-séparé de b par {a, d} puisquetoutes les chaînes entre c et b sont à présent bloquées. En effet la chaîne (c, a, b) estbloquée par a d’après la règle 3 de la définition 4.11. Idem pour la chaîne (c, d, b) avecd. Sur la figure 4.2 cependant d et a ne sont pas d-séparés par {c, b}. Le nœud c bloquebien la chaîne (a, c, d) d’après la règle 2 mais la chaîne (a, b, d) n’est pas bloquée par bcar {a, d} font partie des ancêtres de b, ce qui empêche la règle 4 de s’appliquer.

a

c

d

b

Figure 4.1 – c et b d-séparés par {a, d}.

a

c

d

b

Figure 4.2 – d n’est pas d-séparé de apar {c, b}.

La notion de d-séparation est extrêmement importante dans le cadre des modèles gra-phiques probabilistes puisqu’elle permet de représenter une indépendance conditionnelleentre les variables du modèle. Ainsi deux variables sont indépendantes s’il n’existe au-cune chaîne active qui les relie et par corollaire dépendantes s’il existe au moins unechaîne active qui les relie.Par extension, deux variables sont conditionnellement dépendantes ou indépendantespar rapport un ensemble de variables sous les mêmes conditions :

〈X|Y |Z〉dG =⇒ Pr(X|ZY ) = Pr(X|Z)

Les graphes qui respectent cette condition sont généralement appelés des independancemaps ou I-maps.

4.4 Les réseaux bayésiens

Un réseau bayésien est un modèle graphique probabiliste introduit par Judea Pearl[Pea82]en 1982. Dans ce système, les nœuds sont des variables aléatoires et chaque arc définit

11

Page 14: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

une relation de dépendance directe. Un arc A→ B peut être considéré comme décrivantl’influence de la variable A sur la variable B. Dans les réseaux bayésiens, une table deprobabilités est associée à chaque nœud du graphe et correspond à la distribution deprobabilité de ce nœud conditionnellement à ses parents dans le graphe.Définissons plus formellement un réseau bayésien.

Définition 4.13 (Réseau Bayésien) Un réseau bayésien est un tuple B = (G,P) telque :

— G = (VG, AG) un graphe orienté sans cycle.— P = {PrA |A ∈ VG} où pour tout A ∈ VG alors PrA ∈ P est l’ensemble des

probabilités conditionnelles Pr(A|x) pour x ∈ πG(A).

Illustrons cette définition à l’aide d’un exemple.

Exemple Le réseau en figure 4.3 représente le fonctionnement d’une alarme domes-tique qui peut s’activer à cause d’un cambriolage ou d’un séisme. Le nœud S représentela variable aléatoire qui correspond à la chance qu’un séisme se produise ou non. La va-riable S peut prendre deux valeurs s et s qui indique respectivement qu’un séisme s’estproduit et qu’un séisme ne s’est pas produit. Les valeurs c et c de C indique respective-ment qu’un cambriolage a lieu et qu’un cambriolage n’a pas lieu. Enfin les valeurs a eta de A indique respectivement que l’alarme s’allume et que l’alarme reste éteinte. Dansce réseau, S et C sont des événements qui influent sur le déclenchement de l’alarme A.Ces deux événements ont donc une probabilité à priori de se produire. A étant fils deceux-ci ses probabilités sont dépendantes conditionnellement de S et C. Nous pouvonspar exemple déduire de ce système que la détection d’un cambriolage n’est pas au pointpuisque lorsqu’il n’y a pas de séisme, l’alarme a autant de chance de se déclencher qu’ily ait un cambriolage ou non.

A

CSPr(s) = 0.0001 Pr(c) = 0.001

Pr(a|sc) = 0.75Pr(a|sc) = 0.1

Pr(a|sc) = 0.99Pr(a|sc) = 0.1

Figure 4.3 – Un exemple de réseau bayésien décrivant le fonctionnement d’une alarmedomestique.

Un autre exemple de réseau bayésien simple implémenté sous GeNie est visible en an-nexe 2.

Inférence sur les réseaux bayésiens Étant donné qu’un réseau bayésien est mo-délisé par une distribution de probabilité, il est possible de calculer l’impact d’une ob-servation sur le système. Ainsi dans notre exemple d’alarme domestique, si l’alarme

12

Page 15: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

se déclenche il est possible de calculer les probabilités pour S et C et montrer qu’ilest très probable que ni séisme ni cambriolage ne se soit produit. Bien qu’il existe denombreux algorithmes qui permettent d’effectuer l’inférence 2 ceux-ci sont au mieux NP-difficile[Ler06].

Apprentissage d’un réseau bayésien Pour pouvoir utiliser l’outil que sont les ré-seaux bayésiens, il est nécessaire au préalable d’être capable de faire correspondre aumieux le modèle à créer au système que l’on souhaite représenter. Pour ce faire, il existediverses méthodes permettant d’apprendre un réseau bayésien. Ces méthodes peuventêtre divisées en deux catégories.La première consiste à apprendre un réseau bayésien sur la base de l’existence de don-nées représentatives du système à décrire. En l’occurrence, il s’agit d’avoir suffisammentde données pour pouvoir approximer au mieux la distribution de probabilité du réseau.Cette étape est déjà relativement difficile puisque il faut être capable d’évaluer les dépen-dances qui peuvent exister entre les variables. Reprenons l’exemple de notre alarme enfigure 4.3. Imaginons que nous souhaitions apprendre ce réseau à partir d’un échantillond’un millier de données. Puisque la probabilité qu’un séisme se produise est extrêmementfaible, il est tout à fait probable qu’aucun séisme n’est été enregistré lors de la saisiedes données ce qui aura pour conséquence de biaiser le modèle obtenu et en particulierles probabilités de déclenchement de l’alarme en cas de séisme. Par ailleurs, même siles données sont plus conséquentes, la faible chance d’apparition d’un séisme risque derendre malgré tout difficile une définition pertinente de la distribution de probabilité.Il existe de nombreux cas qui rendent difficile la tâche d’apprentissage automatique desréseaux bayésiens tel que des trous dans les jeux de données par exemple. Nous ne ren-trerons pas plus dans les détails mais si vous souhaitez plus d’informations vous pouvezvous reportez à [Ler06].L’autre méthode d’apprentissage permet de pallier les problèmes décrits ci-dessus etconsiste à apprendre un modèle en faisant appel à des experts. Ces derniers vont, grâceà leur connaissance du système à modéliser, définir aussi bien la distribution de probabi-lités que les dépendances qui peuvent exister entre les variables du modèle. En général,un réseau bayésien n’est pas appris par la seule connaissance des experts mais plutôt enétayant les informations communiquées avec des données concrètes (ou inversement). Parexemple, sur le cas de l’alarme (Fig. 4.3), nous avions noté qu’établir une distributionde probabilité cohérente sur les séismes pouvait s’avérer délicat sur la simple analyse dedonnées. Il est alors pertinent d’utiliser les connaissances d’un expert pour complétercorrectement les données manquantes. Il convient bien entendu de savoir comment inté-grer l’expertise aux données, mais nous ne traiterons pas de ce sujet dans le cadre de cerapport.Cependant il peut être difficile pour un expert de définir une table de probabilités depar son caractère à la fois précis et abstrait. Une des possibilités étudiées est de passer

2. Bucket elimination, Message passing, Junction tree

13

Page 16: Rapport de stage - Université de Nantes

Chapitre 4. Rappels

par un intermédiaire permettant à un expert de représenter simplement les dépendanceset relations sans avoir besoin de définir lesdites tables de probabilités. C’est notammentle sujet de thèse de Silja Renooij sur les QPN[Ren01] et sur lequel nous nous sommesbasés en grande partie pour nos propres travaux.

14

Page 17: Rapport de stage - Université de Nantes

5 | Les QPN

Les QPN ou Qualitative Probabilistic Networks sont une abstraction quali-tative des réseaux probabilistes défini par Michael P. Wellman[Wel90]. À

l’instar des réseaux bayésiens, il s’agit d’une représentation graphique d’un système sousla forme d’un graphe acyclique dirigé. Cependant, au lieu de représenter les dépendancespar des probabilités conditionnelles, un QPN se base sur la définition de relations qua-litatives entre les variables.

5.1 Définition d’un QPN

Un QPN est un graphe dirigé acyclique G = (VG, AG). Les nœuds du graphe VG repré-sentent les variables du modèle. Chaque variable peut prendre un ensemble de valeursdéfini avec un ordre total. Les arcs AG du graphe modélisent les dépendances ou in-dépendances selon le critère de d-séparation. Chaque arc définit une relation entre lesvariables selon la distribution de probabilités Pr. Il existe une grande variété de typed’arcs qui décrit autant de relations. Nous n’expliciterons pas dans ce rapport l’ensembledes relations qui ont été définies puisque nous n’avons eu besoin pour nos travaux quede quelques-unes d’entre-elles. Il n’existe malheureusement pas à notre connaissance dedocument qui énumère l’intégralité des relations existantes à ce jour. Toutefois si voussouhaitez plus de détails sur celles qui seront décrites dans ce rapport, vous pouvez vousreporter à la thèse de Silja Renooij[Ren01].

5.2 Les influences

La principale relation utilisée dans les QPN est l’influence. Une influence entre deuxvariables décrit comment la valeur d’un des deux nœuds impacte les probabilités surles valeurs du second. Par exemple, une influence positive de A vers B traduit quel’observation d’une plus grande valeur de A augmente les probabilités que la valeur deB soit elle aussi plus grande, quelles que soient les autres relations directes qui peuvent

15

Page 18: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

agir sur B. D’où l’importance d’induire un ordre total sur les valeurs des variables. Afind’exprimer qu’un nœud B a une probabilité d’être inférieur ou égal à une valeur bi, nousintroduisons le concept de distribution cumulée.

Définition 5.1 Soit U un ensemble de variables et Pr une distribution de probabilité surU avec B ∈ U , B pouvant prendre une valeurs dans {b1, . . . , bn} n ≥ 1 avec b1 < · · · < bn.La fonction FB : {b1, . . . , bn} → [0, 1] définie

FB(bi) = Pr(b1 ∨ · · · ∨ bi)

est appelée fonction de distribution de probabilité cumulée sur B

Pour plus de lisibilité, nous remplacerons la notation Pr(b1 ∨ · · · ∨ bi) par Pr(B ≤ bi) etPr(bi ∨ · · · ∨ bn) par Pr(B ≥ bi).Définissons à présent le concept d’influence.

Définition 5.2 (Influence positive) Soit G = (VG, AG) un graphe dirigé acyclique etPr la distribution de probabilité sur VG. Étant donné A,B ∈ VG avec A→ B ∈ AG. SoitX = πG(B)\{A}. Alors le nœud A influence positivement le nœud B par l’arc A → B,noté S+

G(A,B), ssi pour toute valeur bi de B et pour toute valeur aj , ak de A avec aj > akest vérifiée

Pr(B ≥ bi|ajx) ≥ Pr(B ≥ bi|akx)

Pour toute combinaison de valeur de x sur X.

Dans la suite de ce rapport, nous considérerons que les nœuds peuvent seulement prendredes valeurs booléennes et nous définissons l’ordre total suivant true > false. Étant donnéun nœud B, nous noterons b la proposition B = true et b la proposition B = false. Àpartir de maintenant nous pouvons simplifier la définition d’influence :

Définition 5.3 (Influence positive sur des valeurs booléennes) Soit G, Pr, A, Bet X de la définition précédente. Alors le nœud A influence positivement le nœud B parl’arc A→ B ssi

Pr(b|ax) ≥ Pr(b|ax)

Pour toute combinaison de valeurs de x sur X.

Le symbole + dans la notation S+G(A,B) est appelé le signe de l’influence. Nous dé-

finissons de façon analogue l’influence négative S−G(A,B) et l’influence nulle S0G(A,B)

en changeant respectivement dans la formule ci-dessus ≥ par ≤ et =. Vous pourreznoter qu’une influence nulle est équivalente à une indépendance entre deux nœuds. En-fin l’influence ambiguë S?

G(A,B) s’applique lorsque aucune des autres influences n’estvérifiée. Ce type d’influence est parfois appelé non-monotone.

16

Page 19: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Exemple En reprenant notre exemple de l’alarme (Fig 4.3), nous pouvons observerque le système vérifie les propriétés suivantes :

Pr(a|sc) ≥ Pr(a|sc), Pr(a|sc) ≥ Pr(a|sc)

Pr(a|sc) ≤ Pr(a|sc), Pr(a|sc) ≤ Pr(a|sc)Soit

Pr(a|sx) ≥ Pr(a|sx) et Pr(a|cy) ≤ Pr(a|cy)Pour toute x combinaison de valeur des parents de A autre que S et pour toute y combi-naison de valeur des parents de A autre que C. Nous pouvons extraire de ces propriétésle QPN en figure 5.1 avec une influence positive de S sur A et une influence négative deC sur A. Cette représentation fait certes disparaître la distribution de probabilité maispermet une représentation bien plus simple des dépendances entre les variables. Il ressort,par exemple, plus clairement l’inefficacité de l’alarme pour détecter des cambriolages.

A

CS

−+

Figure 5.1 – Le QPN correspondant au modèle de déclenchement d’alarme.

Influence le long d’une chaîne La définition précédente définissait une influencedirecte entre deux nœuds mais il est possible d’étendre cette définition lorsque ceux-cisont séparés par une chaîne.

Définition 5.4 (Influence positive entre deux nœuds d’une chaîne) Reprenonsle graphe G et les nœuds A, B de la définition précédente. Soit t une chaîne qui relie Aà B et X =

(⋃C∈Vt\{A} πG(C)\Vt

). Le nœud A influence positivement le nœud b par la

chaîne t, noté S+G(A,B, t), ssi

Pr(b|ax) ≥ Pr(b|ax)

Pour toute combinaison de valeur de x sur l’ensemble de nœud X.

Avant de décrire d’autres types de relations qui existent dans le formalisme des QPN,nous allons détailler le fonctionnement de l’inférence dans le modèle.

5.3 L’inférence dans un QPN

La volonté de décrire des modèles graphiques plus simples est certes motivée par lanécessité de fournir des outils plus accessibles aux experts mais aussi de pouvoir mettreen place un système d’inférence moins complexe.

17

Page 20: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Dans les QPN, la propagation de l’information suite à une observation ne s’effectueplus par une propagation des probabilités mais en diffusant les variations d’une variablegrâce aux signes des influences. Ces dernières possèdent deux propriétés qui vont per-mettre d’effectuer l’inférence : une propriété de symétrie et une propriété de transitivité.

Proposition 5.1 (Symétrie) Soit G = (VG, AG) un graphe dirigé acyclique et A,B ∈VG. Soit t une chaîne de A vers B et t−1 la chaîne inverse. Alors

SδG(A,B, t)⇐⇒ SδG(A,B, t−1)

pour tout signe δ ∈ {+,−, 0, ?}

Cette proposition décrit que si A influence B alors B influence A de la même façon. Ce-pendant cela n’indique aucune information quantitative sur cette influence et n’impliquedonc pas que A et B influe l’une sur l’autre avec la même importance. Reprenons etsimplifions l’exemple de l’alarme.

Exemple Supposons que nous avons une alarme qui détecte uniquement les séismeset définie selon la figure 5.2. Dans ce cas une influence positive existerait entre S et A etnous pouvons conclure qu’une influence positive existe aussi de A vers S. L’influence deS est d’ailleurs forte sur A puisqu’elle augmente considérablement les chances de déclen-chement. A contrario l’influence de A sur S est bien moins importante. En effet lorsquel’alarme se déclenche, la probabilité d’un séisme en cas d’alarme Pr(s|a) ' 0.000749est extrêmement faible bien que supérieure à la probabilité d’un séisme sans alarmePr(s|a) ' 0.000027.

ASPr(s) = 0.0001 Pr(a|s) = 0.75Pr(a|s) = 0.1

Figure 5.2 – Une alarme à séisme.

Afin de diffuser le signe dans le graphe deux opérateurs sont utilisés : l’opérateur « pro-duit » ⊗ et l’opérateur « addition » ⊕.

L’opérateur de produit ⊗

L’opérateur de produit permet de propager un signe le long de deux chaînes successives.

Définition 5.5 (Transitivité) Soit G un graphe acyclique dirigé A, B et C des nœudsdu graphe. Soit ti et tj deux chaînes allant respectivement de A vers B et de B vers Ctelles que la concaténation ti ◦ tj ne contienne pas de V-structure. Alors

SδiG (A,B, ti) ∧ S

δj

G (B,C, tj)⇐⇒ Sδi⊗δj

G (A,B, ti ◦ tj)

avec l’opérateur ⊗ défini dans la table 5.1.

18

Page 21: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

L’opérateur d’addition ⊕

L’opérateur d’addition (ou de composition) permet de composer le signe de l’influencesur un nœud issu de chaînes parallèles.

Définition 5.6 Soit G un graphe acyclique dirigé A et B des nœuds du graphe. Soitti et tj deux chaînes sans V-structure allant de A vers B telles que ti ◦ t−1

j forme uneV-structure en B. Alors

SδiG (A,B, ti) ∧ S

δj

G (A,B, tj)⇐⇒ Sδi⊕δj

G (A,B, ti||tj)

avec l’opérateur ⊕ défini dans la table 5.1.

⊗ + − 0 ?+ + − 0 ?− − + 0 ?0 0 0 0 0? ? ? 0 ?

⊕ + − 0 ?+ + ? + ?− ? − − ?0 + − 0 ?? ? ? ? ?

Table 5.1 – Tables des opérateurs ⊗ et ⊕

Nous présentons dans le tableau 5.2 quelques exemples de calculs d’influences indirectesentre les nœuds A et C de différents QPN utilisant les règles et opérateurs définis ci-dessus.

5.4 Synergie additive et synergie produit

En plus des influences, il est possible de décrire un autre type de relation que sont lessynergies. Les synergies décrivent une co-influence entre trois nœuds successifs dans unechaîne et formant une V-structure.

Synergies additives

Les synergies additives[Wel90] permettent de décrire l’influence jointe de deux nœudssur un troisième et plus précisément lorsque les valeurs des nœuds varient dans le mêmesens où au contraire dans des sens opposés.

Définition 5.7 (Synergie additive) Soit G un graphe directionnel acyclique, A,B,C ∈VG des nœuds du graphe avec A → C,B → C ∈ AG. Soit X = πG(C)\{A,B}. Alors,les nœuds A et B mettent en évidence une synergie additive positive sur C, notéeY +G ({A,B}, C), ssi

Pr(c|abx) + Pr(c|abx) ≥ Pr(c|abx) + Pr(c|abx)pour toutes les combinaisons de valeurs de l’ensemble de nœuds X.

19

Page 22: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Exemple de QPN Calcul du signe de A à C

A B Cδ1 δ2

δ1 ⊗ δ2

A

B

C

δ1

δ3

δ2

(δ1 ⊗ δ2)⊕ δ3

A

D

C

Bδ1

δ3

δ2

δ4

(δ1 ⊗ δ2)⊕ (δ3 ⊗ δ4)

A

D

C

Bδ1

δ3

δ2

δ5

δ4

(δ1 ⊗ (δ2 ⊕ (δ5 ⊗ δ4)))⊕ (δ3 ⊗ δ4)

Table 5.2 – Cas d’utilisation de opérateurs ⊗ et ⊕.

Les synergies additives négatives et nulles sont définies de façon analogue en remplaçantrespectivement le ≥ de la formule précédente par ≤ ou =. Si aucune des formules n’estobservée, la synergie est dite ambiguë.

Exemple Reprenons le cas de l’alarme en figure 4.3. D’après la distribution de proba-bilité, nous observons que

Pr(a|sc) + Pr(a|sc) = 0.85

Pr(a|sc) + Pr(a|sc) = 1.09

SoitPr(a|sc) + Pr(a|sc) ≤ Pr(a|sc) + Pr(a|sc)

20

Page 23: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

ce qui met en évidence une synergie additive négative de S et C sur A. C’est à dire quel’influence disjointe de S et C est plus forte que leur influence jointe sur A. La figure5.3 représente le QPN modélisant le déclenchement de l’alarme et prenant en compte lasynergie additive.

S

A

C−

+ −

Figure 5.3 – Le QPN de l’alarme prenant en compte la synergie additive.

Synergies produit

Les synergies produit [HD91] représentent l’influence entre deux nœuds étant donné lavaleur prise par un troisième dans une V-structure.

Définition 5.8 (Synergie produit) Soit G un graphe directionnel acyclique, A,B,C ∈VG des nœuds du graphe avec A → C,B → C ∈ AG. Soit X = πG(C)\{A,B} et xiune configuration de valeurs pour les variables de X. Alors, les nœuds A et B mettenten évidence une synergie produit positive par rapport à une valeur c0 de C, notéeX+G ({A,B}, c0), ssi

Pr(c0|abxi).Pr(c0|abxi) ≥ Pr(c0|abxi).Pr(c0|abxi)

Tout comme les synergies additives, il est possible de définir de façon analogue dessynergies négatives, nulles et ambiguës en changeant le signe de l’inégalité. Nous allonsà présent donner un exemple de synergie produit sur le cas de l’alarme.

Exemple Nous observons à partir de la figure 4.3 les propriétés suivantes :

Pr(a|sc).Pr(a|sc) = 0.075

Pr(a|sc).Pr(a|sc) = 0.099

etPr(a|sc).Pr(a|sc) = 0.225

Pr(a|sc).Pr(a|sc) = 0.009

SoitPr(a|sc).Pr(a|sc) ≤ Pr(a|sc).Pr(a|sc)

etPr(a|sc).Pr(a|sc) ≥ Pr(a|sc).Pr(a|sc)

21

Page 24: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Ces résultats montrent l’existence d’une synergie produit négative entre S et C lorsquel’alarme est déclenchée, c’est à dire que, dans cette configuration, la probabilité d’uncambriolage est plus faible si un séisme est observé et plus élevée si aucun séisme nes’est déclenché. Ces observations seront réciproquement vraies pour la probabilité d’unséisme lorsque nous savons si un cambriolage est observé ou non.A contrario, il émerge une synergie produit positive entre S et C lorsque l’alarme estinactive, ce qui implique que, dans cette configuration, si un séisme est observé, la pro-babilité d’un cambriolage augmente aussi. Et si aucun séisme ne se produit, il est plusprobable qu’il n’y ait pas de cambriolage non plus. Ces observations restent réciproque-ment vraies en inversant cambriolage et séisme.

S

A

C

+

+,−

Figure 5.4 – Le QPN de l’alarme prenant en compte la synergie produit. Les différentessynergies sont notés sur le même arc avec les signes de celles-ci ordonnés dans l’ordrecroissant des valeurs de A soit δa, δa.

Précisions importantes sur la synergie produit La définition 5.8 des synergiesproduit ne peut être appliquée dans toutes les configurations. En effet, celle-ci est appli-cable uniquement lorsque l’une des deux configurations suivantes est présente :

— Soit C n’a pas d’autres parents que A et B, ce qui a pour conséquence que X = ∅et donc que la formule se réécrive Pr(c0|ab).Pr(c0|ab) ≥ Pr(c0|ab).Pr(c0|ab).

— Soit que tous les parents de C exclus A et B soient observés et qui impose uneconfiguration spécifique xi pour laquelle la définition est vraie.

Il n’est donc pas possible d’utiliser les synergies produit en fonction de toutes les configu-rations possibles des parents dans X mais en fonction d’une seule. Cette définition étantcontraignante Druzdzel et Henrion propose une seconde définition prenant en comptetoutes les configurations de valeurs. Afin de ne pas trop alourdir ce rapport, nous neprésenterons pas cette définition, celle-ci faisant appel à des matrices définies positives 1,mais vous pouvez vous référer à leur article[DH93b] pour plus de détails.Nous allons à présent détailler comment mettre à profit les synergies produit pour l’in-férence.

1. Plus précisément half positive semi-definite

22

Page 25: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

5.5 Raisonnement intercausal

Comme nous venons de le présenter, l’existence d’une synergie produit entre deux nœudsA et B et la valeur c0 d’un troisième permet de décrire une dépendance entre A et B.Cette dépendance peut donc être considérée comme une influence, dite intercausale,entre A et B en fonction de la valeur du troisième nœud.

Définition 5.9 (Influence intercausale) Soit G un graphe dirigé acyclique, troisnœuds du graphe A,B,C ∈ VG et A→ C,B → C ∈ AG. Soit X = (πG(B)∪πG(C))\{A}.Alors, étant donné une valeur co pour le nœud C, il existe une influence intercausalepositive de A sur B, notée Z+

G(A,B, c0), ssi

Pr(b|ac0x) ≥ Pr(b|ac0x)

pour toute combinaison de valeur du nœud X.

Les influences intercausales négatives, nulles et ambiguës sont définies de manières ana-logues. Elles possèdent les mêmes propriétés de symétrie et de transitivité que les in-fluences simples. Le rapprochement avec les synergies produits n’est pas anodin puisques’il existe une synergie produit entre trois nœuds de signe δ alors il existe une influenceintercausale de même signe entre ces mêmes nœuds(c.f.[DH93b]). Soit :

XδG({A,B}, c0)⇐⇒ ZδG(A,B, c0) ∀δ ∈ {+,−, 0, ?}

Les influences intercausales permettent dès lors d’utiliser, au moment de l’inférence,la dépendance entre deux variables dans une V-structure lorsque la valeur d’un desdescendants est observée.

5.6 Algorithme d’inférence pour les QPN

Tel que le présentait Wellman[Wel90], le raisonnement sur un QPN passait par destechniques de réductions entre les nœuds à étudier (en utilisant les règles de propagationde signe comme utilisées dans le tableau 5.2) et qui permettait d’obtenir des QPN detaille moindre pour une requête donnée. Druzdzel et Henrion [DH93a] proposeront doncun algorithme de type message-passing pour effectuer plus simplement de l’inférencedans un QPN.L’algorithme nécessite deux types d’information :

— Un nœud observé (ou évidence) à partir duquel l’algorithme va pouvoir débuter.Il est assigné à celui-ci un signe en fonction de la valeur observée (généralementle signe + pour true et − pour false ) ;

— Un ensemble de nœuds précédemment observés et leur valeur associée.À partir du nœud évidence, le signe de celui-ci sera propagé à l’ensemble de ses voisinsactifs par l’intermédiaire des influences qui les relient. Les voisins actifs sont définis

23

Page 26: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

comme étant l’ensemble des nœuds de la couverture de Markov qui ne sont pas d-séparésdu nœud courant par l’ensemble de nœuds précédemment observés. La couverture deMarkov d’un nœud correspond à l’ensemble des nœuds qui sont soit ses parents, soit sesenfants, soit les parents de ses enfants (c.f. Figure 5.5).

A

Figure 5.5 – Exemple de couverture de Markov du nœud A représentée par les nœudsbleus.

L’algorithme 1 de propagation du signe prend en entrée :— un QPN, soit l’ensemble des nœuds et influences qui les relient avec leur signe

respectif associé ;— une évidence sur un nœud, c’est à dire une observation de la valeur de la variable

qui peut être associée à une variation positive ou négative ;— un signe associé à chaque nœud initialisé à zéro ;— l’ensemble des nœuds qui ont été observés avant l’évidence. Cet élément n’apparaît

pas dans l’algorithme 1 mais il est nécessaire pour déterminer si un nœud est unvoisin actif d’un second.

Une fois chaque nœud initialisé à zéro, l’algorithme propage le signe de l’évidence aunœud observé avec la fonction récursive Propagate-Sign. Propagate-Sign prend quatreparamètres dans cet ordre :

— La chaîne correspondant à l’ensemble des nœuds qui ont été visités depuis le nœudévidence. Il faut bien comprendre que celle-ci ne stocke pas tous les nœuds qui ontété parcourus depuis le début de l’algorithme mais seulement le parcours effectuépar cette chaîne à un moment donné. Il est donc possible que l’algorithme diffuseplusieurs fois un message vers un même nœud mais la chaîne sera alors différente ;

— Le nœud émetteur du message ;— Le nœud récepteur du message ;— Le signe du message que l’on veut faire passer. Il s’agit en général du signe du

nœud émetteur combiné (avec l’opérateur ⊗) au signe de l’influence entre les deuxnœuds. L’algorithme 1 est légèrement simplifié puisqu’il considère qu’il n’existe

24

Page 27: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Algorithme 1 : Algorithme de propagation d’une évidence [DH93b]Data : Un QPN ;

Une évidence s0 sur le nœud n0 ;L’ensemble des nœuds qui ont déjà été observés (anciennes évidences) ;Un signe s pour chaque nœud.

Result : Le signe de chaque nœud du graphe après propagation de l’influence de emain

/* Initialisation */for ( chaque nœud n dans le réseau ) :

n ↑ s← 0;Propagate-Sign(∅, n0, n0, s0);

/*

trail Nœuds précédemment visitésfrom Nœud émetteur du messageto Nœud récepteur du messagesign Signe de l’influence entre from et to

*/

Procedure Propagate-Sign(trail, from, to, sign) :if ( to ↑ s = sign⊕ to ↑ s ) :

/* Il n’est pas nécessaire de propager le signe sur *//* le nœud to si le signe ne change pas */exit ;

/* Changement du signe du nœud */to ↑ s← sign⊕ to ↑ s;/* Mise à jour de la chaîne de parcours */trail← trail ∪ to;for ( Chaque nœud n dans la couverture de Markov de to ) :

/* Propagation aux nœuds voisins actifs */infSign← signe de l’inférence de to à n;if ( n est un voisin actif and n 6∈ trail ) :

Propagate-Sign(trail, to, n, to ↑ s⊗ infSign);

25

Page 28: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

qu’une seule influence entre deux nœuds. Or rien n’interdit d’avoir plus d’uneinfluence ; il faudrait donc normalement itérer sur chacune d’elle et effectuer unepropagation de signe à chaque fois.

Détaillons un peu plus la procédure Propagate-Sign. La première étape consiste àmodifier le signe du nœud qui reçoit le message/signe en combinant ce dernier avec lesigne du nœud par l’opérateur ⊕. Évidemment, si le signe ne change pas il n’est pasnécessaire d’effectuer une propagation du signe sur les voisins actifs. L’algorithme peutdonc, dans ce cas, s’arrêter et remonter au niveau supérieure de l’itération. Si, cependant,l’algorithme continue, le nœud modifié est ajouté à la chaîne courante puis l’algorithmeitère sur chaque nœud voisin actif qui n’est pas présent dans la chaîne de parcours. Unefois que tous les nœuds accessibles ont été modifiés, l’algorithme se termine.Une précision sur l’intérêt de la chaîne courante semble nécessaire. Il est possible decroire qu’en suivant une chaîne nous ne puissions revenir sur un nœud déjà parcouru, unQPN étant supposé sans cycle. Il faut garder en mémoire que la propagation du signedans les influences peut s’effectuer dans les deux sens tant que les critères de d-séparationsont respectés. Par exemple, sur la figure 5.6, supposons que A vienne d’être modifié parl’influence (0) et que C soit un nœud observé (c-à-d que ça valeur est connue) alors lecritère de d-séparation nous autorise à propager par (1) les éventuelles modifications designe. Ainsi si B est modifié il pourrait retransmettre le signe vers A, mais cela n’est pasautorisé car A est dans la chaîne des nœuds parcourus avant d’atteindre B.

A

· · ·

BC

(0)

(2) (1)

Figure 5.6 – Un exemple simple de propagation

Ils nous faut aborder un dernier point avant de conclure avec l’algorithme 1. Celui-ci neprécise pas quels sont les voisins actifs du premier nœud modifié. S’il n’y a pas de nœudsobservés dans le graphe cela dépend uniquement de l’orientation de l’influence qui amodifié le nœud. Or lors de la première modification, cette influence n’existe pas puisqu’ils’agit d’un modification externe. Pour les besoins de l’algorithme, il faut donc considérerque, pour le premier nœud, il est possible de propager un signe tant aux enfants qu’auxparents ; comme si la modification sur ce nœud provenait d’une influence sortante. Parexemple sur la figure 5.7 le nœud A est le nœud évidence d’où part l’algorithme. Commeil s’agit du nœud initial la propagation de signe doit se faire vers B et C indifféremmentdu sens des influences.

26

Page 29: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

A

Entrée d’une évidence sur A

BC(2) (1)

Figure 5.7 – Début d’une propagation à partir du nœud A

Outils pour le traitement des QPN Nous n’avons pas réussi à trouver d’outil(bibliothèque ou logiciel) permettant d’utiliser ou de modéliser les QPN. Il existe certesdes implémentations de modèles qualitatifs, comme par exemple QGeNIe[Dru09], maisqui ne correspondent pas au même formalisme que les QPN.

Nous en avons fini avec l’algorithme d’inférence et allons donc maintenant présenterdifférentes extensions des QPN. L’avantage de ces extensions étant qu’elles ne modifientpas le fonctionnement général de l’algorithme, c’est pourquoi nous n’y reviendrons pluspar la suite.

5.7 Extension des QPN

Jusqu’à présent, nous avons présenté exclusivement les QPN tels qu’ils étaient décritsdans l’article de Wellman[Wel90]. Il y a cependant eu quelques extensions au forma-lisme initial. Nous allons donc en présenter certaines d’entre-elles en nous concentrantessentiellement sur celles qui ont été utilisées lors du stage.Avant tout, il faut indiquer que les modifications qui ont été introduites passent toujourspar la définition d’un nouveau type de relation entre les nœuds et ne modifient jamaisles relations précédemment introduites. Par conséquent, il est tout à fait envisageable dedéfinir un QPN qui utilise l’ensemble des définitions introduites ; les mécanismes d’infé-rences, et en particulier la propagation de signe, n’étant par ailleurs jamais réellementimpactés.Dans cette section nous décrirons donc deux types de relation relativement proches :l’évaluation d’influences non-monotones par l’utilisation de déclencheurs et les influencesdépendantes du contexte. Nous garderons d’ailleurs le terme anglais context-specific pourles désigner.

5.7.1 Déclencheurs sur les influences non-monotones

L’objectif des déclencheurs est de rechercher des cas de désambiguïsation des influencesnon-monotones. Ces relations sont en effet celles qui posent le plus de problème étant

27

Page 30: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

donné qu’il est difficile d’en effectuer une interprétation. Par ailleurs, le signe ? à tendanceà se propager tel une pandémie dès qu’il apparaît dans l’inférence, la faute aux opérateurs⊗ et ⊕ (c.f. Table 5.1). Définissons tout d’abord une influence non-monotone.Définition 5.10 Soit G = (VG, AG) un graphe dirigé sans cycle, A et B des nœuds dece graphe avec A→ B ∈ AG. Soit Y = πG(B)\{A}. Alors une influence de A sur B estdite non-monotone s’il existe des combinaisons de valeurs y et y′ pour Y telles que

Pr(b|ay) > Pr(b|ay),Pr(b|ay′) < Pr(b|ay′)

Illustrons cette définition par un bref exemple. Observons la distribution de probabilitédu nœud A sur la figure 5.8. Nous remarquons que

Pr(b|aci) ≤ Pr(b|aci) ∀ci ∈ {c, c}

ce qui se traduit par une influence négative de A sur B. L’influence entre C et B est,quant à elle, non-monotone puisqu’elle vérifie

Pr(b|ac) > Pr(b|ac) et Pr(b|ac) < Pr(b|ac)

Cependant nous pouvons constater que le signe de l’influence pourrait être connue sous lacondition que la valeur de A soit observée. En effet lorsque A vaut 1 alors l’influence entreC et B est négative et positive lorsque A vaut 0. Nous dirons que A est un déclencheurde l’influence.

B

CA

Pr(b|ac) = 1Pr(b|ac) = 0.95

Pr(b|ac) = 0Pr(b|ac) = 0.35

+ ∼A

Figure 5.8 – Exemple de présentation des influences non monotones.

Définition 5.11 (Déclencheur) Soit un graphe G et les nœuds A,B,C avec A →B,C → B ∈ AG tel que A exerce une influence non monotone sur B. Soit Y =πG(B)\{A,C} alors C est un déclencheur, noté ∼C , de l’influence A sur B ssi, pourci, cj ∈ {c, c}, ci 6= cj, nous avons

Pr(b|aciy) ≥ Pr(b|aciy) et Pr(b|acjy) ≤ Pr(b|acjy)

pour toute combinaison de valeurs de Y .

Le signe d’une influence par déclencheur dépend de la synergie additive qui existe entreles nœuds de l’influence et le déclencheur. En effet si A est un déclencheur d’une influencenon-monotone entre C et B alors il existe une synergie additive de A et C sur B :

Pr(b|aci) ≥ Pr(b|aci), Pr(b|acj) ≤ Pr(b|acj)⇐⇒ Pr(b|aci)+Pr(b|acj) ≥ Pr(b|aci)+Pr(b|acj)

Le signe de l’influence se calcule donc par l’intermédiaire de la synergie additive de lafaçon suivante :

28

Page 31: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Proposition 5.2 Soit Q un QPN. Soit A,B,C des nœuds du graphe, C → B uninfluence monotone et A → C un influence non monotone déclenchée par C. Alors,pour tout ci ∈ {c, c},

S∼C (A,B) ∧ Y δ({A,C}B)) ∧ C = ci =⇒ Sδ⊗sign[ci](A,B)

pour tout δ ∈ {+,−, 0, ?}, avec sign[ci] = + si ci = c et sign[ci] = − si ci = c

Notez qu’il est possible qu’une influence non-monotone dépende de plusieurs déclen-cheurs. Le signe de l’influence se calcule donc par une addition (⊕) de chaque produit(⊗) du signe d’un déclencheur et de la synergie associée. Nous ne détaillerons pas plusavant cette partie mais si vous souhaitez plus de détails, nous vous recommandons ànouveau de vous reportez à la thèse de Silja Renooij [Ren01].

5.7.2 Influences context-specifics

L’utilisation des déclencheurs pour les influences non-monotones permettent, de part leurdéfinition, de capturer une notion de dépendances contextuelles entre les variables, ce-pendant ils ont le défaut de ne pouvoir capturer que certains contextes particuliers. Plusprécisément, une influence non-monotone ne peut être désambiguïsée uniquement lorsquetous ses déclencheurs sont observés. Si cette contrainte n’est pas appliquée l’influence estalors ambiguë. Les influences context-specifics ont donc pour objectif de pouvoir décrireune plus large gamme de contexte sur les influences non-monotones.L’idée principale consiste à pouvoir attribuer un signe à un contexte quels que soient lesparents observés du nœud qui subit l’influence. Commençons donc par définir la notionde contexte.Définition 5.12 Soit G un graphe orienté acyclique et soit X ⊆ VG un ensemble denœuds dit nœuds de contexte.

— Un contexte cX pour X est une combinaison de valeurs sur un sous-ensembleY ⊆ X. s

— Si Y = ∅ nous parlerons alors de contexte contexte vide noté εX .— L’ensemble des contextes pour X est noté CX .— Par ailleurs, nous dirons pour deux contextes cX issu de Y ⊆ X et c′X issu de

Y ′ ⊆ X que cX > c′X ssi Y ⊃ Y ′ et que cX et c′X décrivent les mêmes valeurs devariables pour Y ′.

Il est à présent possible d’appliquer cette notion de contexte au QPN en définissant lessignes contextuels.Définition 5.13 (Signe contextuel) Soient G un QPN et X ⊆ VG un ensemble denœuds de contexte. Un signe contextuel δ(X) est une fonction δ : Cx → {+,−, 0, ?} avec,étant donnés deux contextes cX et c′X tels que cX > c′X , la contrainte suivante :

δ(c′X) = δi, δi ∈ {+,−, 0} =⇒ δ(cX) ={δi, if δ(cX − c′X) ∈ {δi, ?}0, sinon.

29

Page 32: Rapport de stage - Université de Nantes

Chapitre 5. Les QPN

Il est à présent possible de spécifier le signe des contextes. Évidemment, un contexte nepeut se voir attribuer un signe que sous certaines conditions.

Définition 5.14 Soit G un graphe orienté acyclique Soient A,B ∈ VG, A→ B ∈ AG etles nœuds de contexte X ⊆ πG(B)\{A}. Alors le nœud A exerce une influence dépendantedu contexte[RvdG02] de signe δ(X) sur B, notée Sδ(X)(A,B), ssi pour chaque contextecX :

— δ(cX) = + ssi Pr(b|acXy) ≥ Pr(b|acXy) pour toute combinaison de valeurs decXy de X ;

— δ(cX) = − ssi Pr(b|acXy) ≤ Pr(b|acXy) pour toute combinaison de valeurs decXy de X ;

— δ(cX) = 0 ssi Pr(b|acXy) = Pr(b|acXy) pour toute combinaison de valeurs de cXyde X ;

— δ(cX) =? sinon.

L’idée générale est que plus un contexte est précis moins il est ambiguë. Nous donnonsci-dessous un exemple de fonction δ correcte définie sur deux nœuds de contexte A et Bpour une influence context-specific entre deux autres nœuds C et D.

δ(ε) =?, δ(a) = +, δ(a) = −, δ(b) =?, δ(b) = +,δ(ab) = +, δ(ab) = +, , δ(ab) = −, δ(ab) = 0

Vous remarquerez en particulier que le contexte (a) entraîne une influence négative et lecontexte (b) entraîne une influence positive ce qui impose que le contexte (ab) entraîneune indépendance contextuelle entre C et D.Nous allons pouvoir à présent détailler le travail accompli durant ce stage.

30

Page 33: Rapport de stage - Université de Nantes

6 | Présentation des travaux

Dans ce chapitre, nous reviendrons sur le travail qui a été réalisé dans lecadre du stage en accord avec les thématiques abordées (cf. Chapitre 5).

6.1 Implémentation d’une bibliothèque pour les QPN

La création d’une bibliothèque dédiée à la spécification et à la manipulation des QPNétait un objectif simple permettant de contribuer efficacement à mon intégration ausujet. Le formalisme relativement simple des QPN permettait de me documenter sur ledomaine tout en implémentant progressivement mes connaissances sur le sujet. Cettepremière étape m’a notamment permis de me former efficacement sur la librairie BoostGraph.

Boost Graph Boost est un ensemble de bibliothèques open-sources implémentées enC++. Elles couvrent un ensemble extrêmement larges de domaines allant des mathé-matiques (geometry, interval, etc.) à la méta-programmation (mpl) en passant par desfonctions systèmes (filesystem, thread, etc.). Boost possède aujourd’hui une excellentepopularité dans le monde C++ et est généralement utilisé pour pallier des manques dela STD 1.Boost Graph est une bibliothèque dite d’algorithmique de Boost destinée à représenteret manipuler le plus simplement possible les graphes. Elle implémente nombre d’opéra-tions standards sur les graphes tels que, pour n’en citer que quelques-uns, l’accès auxarcs entrants et sortant d’un nœud, des algorithmes de parcours et recherche classiques(depth-first, breadth-first...) ou le stockage d’information dans un nœud ou un arc.

1. C++ Standard Library

31

Page 34: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

6.1.1 Choix d’implémentation

Nous l’avions déjà mis en évidence dans la section 5.6.Algorithme d’inférence pour lesQPN mais le concept général d’inférence dans un QPN ne change pas vraiment selon lesextensions. Au final, il s’agit toujours de propager de nœud en nœud les signes selon lesrègles de d-séparation. En règle générale, les différentes variations se distinguent unique-ment par les types de relations qu’elles décrivent 2 c’est à dire sur les arcs du graphe. À lalumière de cette observation, j’ai choisi de m’orienter vers une implémentation génériquepermettant d’ajouter facilement des extensions. Le programme global repose donc surune architecture à plugin qui permet de paramétrer les extensions souhaitées pour unQPN donné.

Un peu de détail sur l’architecture Détaillons plus précisément le fonctionnentdu modèle de QPN. Vous trouverez en annexe 1 un diagramme de classe qui décrit lesgrandes lignes de la structure.L’architecture se structure principalement autour de deux classes :

— La classe qpn_descriptor dont le nom s’avère trompeur car la classe ne décritpas un QPN mais une extension d’un QPN. Elle permet de gérer des objets detype qpn_edge en fournissant des méthodes d’accès, d’ajouts et de propagation.Lorsqu’une extension de QPN doit être créée, il suffit de créer une classe héritantde qpn_descriptor en l’associant à un type d’arc concret et en définissant laméthode d’accès au signe de ces arcs.

— La classe meta_qpn qui simule réellement un QPN et gère en particulier l’algo-rithme d’inférence. Un meta_qpn est constitué d’un ensemble de qpn_descriptorqui vont correspondre à toutes les extensions que nous souhaitons lui associer.Sur le diagramme de classe en annexe 1, la classe meta_qpn_instance corres-pond à un type de QPN avec un certain nombre d’extensions définies. Sur lediagramme l’instance gère les influences simples, les synergies (produit) et lesinfluences context-specifics.

Pour le moment, toutes les extensions décrites dans le chapitre 5 ont pu être im-plémentées dans l’outil et il est possible d’afficher le QPN et son état sous un formatGraphViz 3. Nous présentons à présent et très brièvement un exemple de code créant unQPN et propageant une inférence.

6.1.2 Exemple de création par la bibliothèque

Le code ci-dessous permet de créer un QPN de quatre nœuds A,B,C et D, deux in-fluences positives B → A et A→ D et une influence négative C → A. Nous considérons

2. Il existe cependant des modèles dans lesquels sont définis plus de signes que les quatre initiaux.3. Outil open source de visualisation et manipulation de graphes.

32

Page 35: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

par la suite que le nœud D a déjà eu sa valeur observée à true. Cette observation nepropage pas de signe dans le QPN et l’inférence n’est lancée qu’au moment de l’ob-servation du signe de B à +. On termine le programme en créant un fichier GraphVizcorrespondant au réseau après l’inférence.

// Cree le QPNmeta_qpn_controller qpn = meta_qpn_controller ();

// Defini les influencesqpn. addInfluence ("B","A", Sign :: PLUS_SIGN );qpn. addInfluence ("C","A", Sign :: MINUS_SIGN );qpn. addInfluence ("A","D",Sign :: PLUS_SIGN );

// Defini les noeuds observesqpn. observeNodeValue ("D", true );qpn. observeNodeSign ("B", Sign :: PLUS_SIGN );

// Cree le fichier graphViz correspondantqpn. writeGraphViz ("net.gv");

Figure 6.1 – Exemple de code permettant de créer un QPN et d’effectuer une inférencesur celui-ci.

La figure 6.2 correspond à l’affichage du QPN avec GraphViz. Le nœud B est entouréd’un trait plus épais pour indiquer que l’inférence a commencée à partir de ce nœud. Lacouleur violette du nœudD indique que la valeur de celui-ci a été observée précédemment.Cette observation permet d’après la d-séparation de transmettre le signe de A vers lenœud C.Il reste encore beaucoup à faire pour rendre la bibliothèque parfaitement fonctionnelle.Celle-ci n’est, par exemple, pas capable de gérer une influence avec plusieurs obser-vations simultanées. La raison à cela est que, dans ce cas précis, les résultats d’uneinférence peuvent différer en fonction de l’ordre des nœuds selon lequel se propage lessignes[RvdGP02]. Cependant la bibliothèque était suffisamment riche pour commencerla seconde partie du travail.

6.2 Apprentissage sous contraintes d’un réseau bayésien

Bien que pouvant être très nettement améliorée, la bibliothèque de QPN permet defaire suffisamment d’actions pour pouvoir étudier l’interaction entre QPN et réseauxbayésiens. En particulier nous souhaitions étudier comment transformer un QPN en unréseau bayésien.

33

Page 36: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

A:+

D:1

+

B:+

+

C:-

-

Figure 6.2 – Graphe correspondant au QPN décrit en figure 6.1 après inférence.

6.2.1 D’un modèle à un autre

Réseau bayésien vers QPN

Il s’agit du cas le plus simple. En effet, la transformation d’un réseau bayésien vers unQPN est quasiment triviale puisqu’elle consiste à vérifier les différentes propriétés dechacun des types d’influence à partir de tables de probabilités définies dans le réseaubayésien. Chaque fois qu’une des propriétés est observée, l’influence correspondante estcréée. Cependant cela peut s’avérer long selon le nombre de nœud et les types d’influenceque l’on souhaite dans le modèle.Notez que nous n’avons pas étudié ce cas en détail puisqu’il s’agissait du travail d’unprécédent stagiaire.

QPN vers réseau bayésien

La transformation d’un QPN vers un réseau bayésien est bien différente puisque le QPNdécrit substantiellement moins d’informations que le réseau bayésien. Il est pour celanécessaire de combler ce manque en utilisant des données représentatives, il s’agit alorsd’une tâche d’apprentissage. Le QPN défini une structure de dépendance entre les nœudssur laquelle le réseau bayésien va pouvoir se baser pour effectuer son apprentissagede façon traditionnelle 4[Ler06]. Cette étape n’est cependant pas suffisante puisque lesdonnées peuvent ne pas correspondre exactement au modèle théorique. Notamment si

4. Par exemple en utilisant un algorithme Expectation–maximization

34

Page 37: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

nous possédons peu de données sur certains événements. Reprenons le cas de l’alarme(Fig. 4.3) décrit dans le chapitre 4. Si nous possédons un jeu de données d’une taille de10000 observations, les cas où un séisme se déclenche seront très peu voire pas représentésdans les données et donneront des probabilités contradictoire avec le QPN théorique. Parexemple, s’il n’y a eu aucun séisme alors la probabilité de Pr(a|sc) et Pr(a|sc) seront àzéro ce qui sera contradictoire avec l’influence positive que décrit le QPN entre S et A.Afin de conserver les propriétés définies par le QPN, nous allons faire appel à l’algorithmeMLS utilisé par Feelders et van der Gaag pour l’apprentissage sous contraintes [FvdG05].

6.2.2 Algorithme des Minimum Lower Sets

L’algorithme MLS[Bru55] est un algorithme de régression isotonique qui va nous per-mettre de contraindre les probabilités du réseau bayésien.

Régression Isotonique

Définition 6.1 Fonction IsotoneÉtant donné un ensemble de valeur X = {x1, x2, . . . , xn} et un ordre partiel � sur cetensemble, une fonction f sur X est dite isotone selon � si

∀x, x′ ∈ X,x � x′ =⇒ f(x) � f(x′)

Supposons que nous avons une fonction g(xi) définie pour tout élément de X qui cor-respondra à l’estimation de nos probabilités et un poids wi associé à chaque xi qui cor-respond à la qualité de l’estimation, l’objectif de la régression isotonique est de trouverune fonction f∗ sur isotone X avec � qui minimise

n∑i=1

wi[f(xi)− g(xi)]2

avec f la classe des fonctions isotones sur X avec l’ordre �.

L’idée est donc d’appliquer la régression isotonique sur les probabilités apprises denotre réseau bayésien en définissant un ordre partiel grâce aux contraintes fournies parle QPN théorique afin de pouvoir trouver un nouveau réseau bayésien qui répond auxditescontraintes.

MLS en détail

L’algorithme MLS utilise des sous-ensembles dans un ensemble partiellement ordonné(ou poset) appelés lower sets.

6. http://en.wikipedia.org/wiki/Isotonic_regression

35

Page 38: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Figure 6.3 – Un exemple de régression isotonique sur un échantillon de données (Source :Wikipedia 6)

Définition 6.2 Lower SetsÉtant donné un ensemble partiellement ordonné X, un sous-ensemble L de X est unlower set ssi

x ∈ L, x′ ∈ X,x′ � x =⇒ x′ ∈ L

La figure 6.4 représente un poset de quatre nœuds A,B,C etD. Chaque flèche correspondà une relation � donc, dans ce cas, A � B, A � D, B et C sont incomparables avec �,etc. Il y a cinq lower sets dans ce poset {A}, {A,B}, {A,C}, {A,B,C} et {A,B,C,D}.Pour utiliser l’algorithme MLS il est nécessaire de définir une fonction Av(L) de moyennepondérée sur les lower sets tel que pour L un lower set :

Av(L) =∑x∈Lw(x)g(x)∑x∈Lw(x)

L’algorithme MLS (cf. Algorithme 2) prend en entrée un ensemble de constantes X ={x1, x2, . . . , xn}, un ordre partiel � sur celles-ci, la fonction g(x) à partir de laquellenous souhaitons construire la fonction isotone correspondante et une fonction w(x) quidonne un poids pour chaque xi.

36

Page 39: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Figure 6.4 – Exemple d’un poset et de l’ensemble de ses lower sets. Une flèche corres-pond à une relation � et les arcs de cercles encadrent chaque lower sets.

Application de l’algorithme MLS au cas des QPN

Dans le cas des QPN nous allons appliquer l’algorithme sur chaque nœud du QPN. Pourcela nous allons extraire un poset X correspondant à l’ensemble des configurations devaleurs 7 que peuvent prendre les parents Y d’un nœud A . L’ordre sur ces contextes estdéfini par l’ordre ≤ sur Pr(A = 1|Y = CY ).Définition 6.3 Soit A un nœud d’un QPN et Y = π(A) ses n parents. Soit l’influenceYi →s A, deux contextes CY et C ′Y tels que pour tout j ∈ {1, . . . , n} et j 6= i alors cj =c′j, ci = 1 et c′i = 0 avec cj , ci ∈ CY et c′j , c′i ∈ C ′Y alors

— si s = + alors C ′Y � CY , étant donné que Pr(A = 1|Y = C ′Y ) ≤ Pr(A = 1|Y =CY ) ;

— si s = − alors CY � C ′Y , étant donné que Pr(A = 1|Y = CY ) ≤ Pr(A = 1|Y =C ′Y ) ;

— si s = 0 alors C ′Y � CY et CY � C ′Y , étant donné que Pr(A = 1|Y = C ′Y ) =Pr(A = 1|Y = CY ) ;

Les autres comparaisons possibles entre toutes les configurations s’appliquent par tran-sitivité et réflexivité de ces règles.

La fonction g(x) de l’algorithme MLS correspondra donc à la probabilité Pr(A =1|Y = x) avec x un contexte pour les parents Y de A. La fonction w(x) correspondantau nombre d’occurrence n(x) du contexte x dans les données.Étant donné que les probabilités du réseau bayésien sont calculées par maximum devraisemblance soit

Pr(A = 1|Y = x) = n(A = 1, x)n(x)

7. Nous pouvons voir ça comme des contextes comme ils ont été définis dans la section Influencescontext-specifics

37

Page 40: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Algorithme 2 : Minimum Lower Sets[Bru55]Data : X, �, g(x), w(x) ;Result : La fonction isotone minimale f∗beginL = L’ensemble des lower Sets de X selon �;repeat

B =⋃{A ∈ L|Av(A) = minL∈LAv(L)}

for ( chaque x ∈ B ) :f∗(x) = Av(B);

for ( chaque L ∈ L ) :L = L\B;

X = X\B;until X = ∅;return f∗

par conséquent la fonction Av(L) correspond maintenant à

Av(L) =∑x∈L n(A = 1, x)∑

x∈L n(x) (6.1)

Présentons à présent un exemple simple pour clarifier les définitions.

Cas simple de construction de poset sur un QPN à trois nœuds

Pour l’exemple qui va suivre nous allons utiliser le QPN décrit sur la figure 6.5. Lesconfigurations des parents seront présentées sous la forme (xB, xC) avec xB, xC respec-tivement les valeurs pour B et C. L’ordre partiel des configurations de B et C sera alorscomme décrit en figure 6.6. Une flèche d’un contexte x vers un contexte x′ : x → x′

indique que Pr(A = 1|x) ≤ Pr(A = 1|x′). Dans notre cas la plus faible probabilité estbien sûr lorsque B = 1 et C = 0 qui vont alors propager des signes négatifs sur A. Notezqu’il est possible de comparer des configurations même lorsque l’une d’elle engendre unsigne ? sur A. Ainsi il est possible de comparer le contexte (1, 0) avec le contexte (1, 1)et (0, 0) bien qu’ils propagent un signe ambiguë(cf. Définition 6.3).

Application de l’algorithme MLS

Développons à présent un cas d’exemple complet de l’algorithme MLS en utilisant le QPNen figure 6.5 comme modèle théorique et la distribution de probabilité sur A apprise parmaximum de vraisemblance décrite en table 6.1. Les occurrences des observations sontnotées sur la table ; par exemple pour (0,0), il existe quatre cas dans les données pourlesquels A = 1 sur vingt cas totaux.

38

Page 41: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

A

CB

− +

Figure 6.5 – QPN d’exemple à trois nœuds

(1, 0) (1, 1)

(0, 0) (0, 1)

Figure 6.6 – Ordre partiel des configu-rations de la figure 6.5

A = 1 B = 0 B = 1C = 0 4/20 = 0.2 3/5 = 0.6C = 1 9/10 = 0.9 20/40 = 0.5

Table 6.1 – Distribution de probabilités apprises par maximum de vraisemblance dePr(A|BC).

L’ordre partiel défini n’est pas respecté entre les contextes (1, 0) et (1, 1) et entre (1, 0)et (0, 0). Nous devons donc extraire les lower sets et calculer leurs moyennes pondéréespour appliquer MLS. Les résultats sont données dans le tableau 6.2 pour chacune desitérations de l’algorithme.

Détails de l’algorithme Nous commençons par extraire les cinq lower set du poset6.6 et, à l’itération une, nous calculons la moyenne pondérée pour chacun d’eux selon laformule 6.1. Le lower set minimal {(1, 0), (0, 0)} est sélectionné et la probabilité de chaqueconfiguration qu’il englobe est modifiée pour correspondre à sa moyenne pondérée. Lesconfigurations modifiées sont supprimées des autres lower sets. Tous les lower sets videssont supprimés et les lower set équivalents sont fusionnés. À l’itération deux, il ne restealors plus que deux lower sets. Les moyennes pondérés des nouveaux lower sets recalculéeset le lower set minimal {(1, 1)} est extrait. Le contexte (1, 1) est supprimé du dernierlower set. À la troisième itération l’algorithme s’exécute sur le dernier lower set{(0, 1)}et termine.Il peut exister des cas particulier où plusieurs lower sets sont minimaux, dans ce cas ilfaut prendre la fusion et recalculer la moyenne sur la fusion obtenue.

Après application de l’algorithme MLS, la distribution de probabilité de A (cf. Figure6.3) a été modifiée pour (0, 0) et (1, 0). Les probabilités de ces deux contextes sontmaintenant égales mais cela ne contredit pas l’ordre partiel défini qui autorise l’égalité.

Informations supplémentaires sur MLS appliqué aux QPN

Effectuer l’apprentissage sous contraintes d’un réseau bayésien peut s’avérer difficile voireimpossible selon les cas. Bien que l’algorithme soit quadratique sur le nombre de lower

39

Page 42: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Itération Lower Set Moyenne pondérée{(1, 0)} 3/5 = 0.6

{(1, 0), (0, 0)} 7/25 = 0.281 {(1, 0), (1, 1)} 23/45 = 0.51

{(1, 0), (0, 0), (1, 1)} 27/65 = 0.42{(1, 0), (0, 0), (1, 1), (0, 1)} 36/75 = 0.48

2 {(1, 1)} 20/40 = 0.5{(1, 1), (0, 1)} 29/50 = 0.58

3 {(0, 1)} 9/10 = 0.9

Table 6.2 – Moyennes pondérées des lower sets à chaque itération.

A = 1 B = 0 B = 1C = 0 7/25 = 0.28 7/25 = 0.28C = 1 9/10 = 0.9 20/40 = 0.5

Table 6.3 – Distribution de probabilités de Pr(A|BC) après application de MLS.

sets, ce dernier est lui exponentiel sur le nombre de parents d’un nœud et suit la séquencede Sloane A014466[Slo64]. C’est à dire que pour trois parents dix-neuf lower sets serontextraits du poset et presque huit millions pour six parents. Il existe d’autres algorithmespermettant d’effectuer de la régression isotonique[BC90] mais la plupart sont dévolus auxcas définissant un ordre total sur les valeurs. Nous n’avons pas vu, dans la littérature,d’autres algorithmes utilisés pour effectuer la régressions isotonique sur les QPN, il seraitsans doute intéressant de voir si d’autres méthodes sont applicables. Cependant, pourMLS, la complexité ne provient pas spécialement de l’algorithme mais de ces conditionsà sa mise en exécution et rien ne garanti que les autres méthodes de régression ne soientpas confrontées au même problème.

Il existe plusieurs approches de l’apprentissage sous contraintes d’un réseau bayé-sien à l’aide d’un QPN. Celui que nous avons présenté et implémenté dans le cadredu stage ne fonctionne que pour les QPN avec influences simples[FvdG06]. Il existecependant d’autres approches dont l’une d’elles permet d’utiliser les influences context-specific[FvdG05] et une autre repose sur un modèle de QPN où les influences sont définisstrictement[FvS07].

6.2.3 Retour sur le travail d’implémentation de MLS

L’algorithme MLS a demandé un effort important pour son développement. De primeabord, celui-ci semble relativement simple, mais la mise en place de structures de donnéesavancées est nécessaire pour sa réalisation. Par exemple, les contextes sont, dans lesarticles, généralement décrits comme de simples vecteurs. Or appliquer un ordre partielsur ceux-ci nécessite un accès aux informations du QPN pour chaque valeur du vecteur.

40

Page 43: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Une fois qu’un ensemble partiellement ordonné est défini, il faut en extraire les lowerset. Malgré nos recherches nous n’avons pas trouvé d’algorithme permettant d’effectuercette opération. Pour ce faire nous avons donc dû définir nous même un algorithmepermettant de tous les extraire. Nous nous sommes appuyé sur une méthode permettantde compter les anti-chaînes dans un ensemble partiellement ordonné[San81]. Pour chaqueanti-chaîne extraite, il existe un unique sous-ensemble maximal/minimal qui est en faitun des lower sets recherchés[Fra89]. In fine cette méthode nous permet d’extraire tousles lower sets mais demande un travail important d’algorithmique sur les posets et larecherche d’éléments dans ce dernier.

6.3 Étude sur les MLN

Dans cette section, nous ne pourrons malheureusement pas présenter de travail sur lesMLN dû à la proximité de la soutenance. Par conséquent nous ne détaillerons que lesobjectifs qui ont été fixés sur cette partie, une présentation du modèle MLN et uneextension sur les pistes à explorer par la suite.

6.3.1 Ouverture du sujet sur un nouveau modèle probabiliste

Suite à ma candidature à un sujet de thèse ayant pour objectif d’étudier l’intégrationde la logique temporelle dans le modèle MLN, nous avons décider avec Philippe Le-ray de réorienter le sujet vers l’étude et l’apprentissage sous contrainte des MLN. LesMarkov Logic Networks sont un modèle graphique probabiliste présentés Richardson etDomingos[RD06]. Il s’agit de la fusion des réseaux de Markov 8 avec la logique du premierordre.

Réseaux de Markov

Les réseaux de Markov sont des graphes non-orientés légèrement similaires au réseauxbayésiens. Similaire car les nœuds d’un réseau de Markov représentent eux-aussi desvariables aléatoires et les arcs entre ceux-ci des dépendances. Ils vérifient les mêmespropriétés avec la couverture de Markov, c’est à dire que chaque nœud est conditionnel-lement indépendant à tous les autres nœuds du graphe étant donné ses voisins 9. Pourreprésenter une distribution de probabilité, un ensemble de fonctions potentielles estdéfini. Chacune de ces fonction φk est associée à une clique k du graphe. La distributionde probabilité dans un réseaux de Markov est alors représentée par

P (X = x) = 1Z

∏k

φk(x{k}) (6.2)

8. Connus aussi sous le nom de Champs aléatoire de Markov.9. Il n’y a évidemment pas de notion de parents ou d’enfants dans un réseau de Markov. Étant

non-orienté, la couverture de Markov d’un nœud du modèle correspond à l’ensemble de ses voisins.

41

Page 44: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

où x{k} est l’état de la la kième clique du modèle 10. Z est ici une constante de normali-sation qui permet d’obtenir une probabilité (valeur comprise entre 0 et 1 et somme desvaleurs égale à 1). La constante de normalisation correspond à la somme pour toutesles variables du produit des potentiels de chaque clique Z =

∑x∈X

∏k φk(x{k}) avec X

l’ensemble des variables aléatoires.Plus généralement, le modèle log-linéaire de l’équation 6.2 est préférée :

P (X = x) = 1Z

exp

∑j

wjfj(x)

(6.3)

avec fj(x) ∈ {0, 1} une fonction binaire définie pour chaque état possible de chaqueclique x{k} et le poids wi égal à log φk(x{k}). Nous n’entrerons pas plus dans les détailssur les champs aléatoire de Markov, mais si vous souhaitez plus de détails vous pouvezvous reporter à l’ouvrage de J. Pearl [Pea88].

Logique du premier ordre

Nous serons concis sur la logique de premier ordre en rappelant seulement le vocabulairerelatif au domaine.

— Une base de connaissance est un ensemble de formules. Une formule est représen-tée par trois type d’éléments : les constantes, les variables et les prédicats.

— Les constantes sont des valeurs généralement associées à un domaine (p. ex. Anneet Bob sont des constantes du domaine personne).

— Les variables représentent une valeur dans un domaine.— Les prédicats représentent des relations entre les domaines (p. ex. Friends(x,y))

ou un attribut sur les objet d’un domaine(p. ex. Smokes(x)).— Un terme est un objet d’un domaine que ce soit une constante, une variable ou

une fonction sur des termes ( p. ex. sur des valeurs entières, la fonction PGCDest considéré comme un terme puisqu’elle représente une valeur entière).

— Un atome ou formule atomique est un prédicat appliqué sur des termes.— Un littéral est un atome ou la négation d’un atome.— Enfin une formule est une construction récursive sur les atomes en utilisant des

connecteurs (¬,∧) et des quantificateurs logiques (∀,∃).

Les réseaux logiques de Markov

La logique est un outil pratique pour décrire des relations ou des propriétés, mais elle esttrès contraignante lorsque nous cherchons à l’utiliser pour décrire un modèle réel. Il suffiten effet d’un seul cas contradictoire sur une formule pour que celle-ci soit alors invalide.L’idée des réseaux logiques de Markov (MLN ) est de représenter les formules logiques

10. c-à-d l’état des variables dans cette clique.

42

Page 45: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

dans un champ aléatoire de Markov et d’ainsi leur attribuer une probabilité. Dans cemodèle un poids est attribué à chaque formule quantifiant l’importance de celle-ci dansle modèle. Plus ce poids est élevé, plus la formule aura de chance d’être vraie étant donnéun état pour les atomes du modèle (nous parlerons aussi de monde possible) 11.

Définition 6.4 (MLN) Un réseau logique de Markov est un ensemble de paires (Fi, wi)où Fi est une formule du premier ordre et wi un nombre réel. Associé à un ensemble deconstantes C = {c1, . . . , c|C|}, nous pouvons définir un réseau de Markov ML,C selon lesdeux règles suivantes :

1. ML,C est composé d’un nœud binaire pour chaque combinaison de constantes pourchaque prédicat. Le nœud vaut 1 si le prédicat sur ces constantes est vrai, 0 sinon.

2. ML,C est composé d’une fonction pour chaque composition de constantes surchaque formule Fi. La fonction renvoie le poids wi associé si Fi(C) est vraie,0 sinon.

En suivant ces règles de construction, l’équation 6.3 qui définie la distribution de proba-bilité se réécrit comme suit :

P (X = x) = 1Z

exp(∑

i

wini(x))

(6.4)

où x est un monde possible sur le ni(x) correspond au nombre de fois où la formule Fiest vraie dans ce monde. Nous allons à présent donner un bref exemple d’un MLN et desa représentation.

Exemple de MLN Définissons deux formules logiques pour notre MLN :1. Si une personne fume alors elle a le cancer : ∀x Smoke(x)⇒ Cancer(x) ;2. Si deux personnes sont amies, soit elles fument toutes les deux, soit aucune ne

fume : ∀x∀y Friends(x, y)⇒ (Smoke(x)⇔ Smoke(y)).Chacune de ces formules est associée à un poids respectivement w1 et w2. Nous ap-pliquons ce modèle sur un ensemble de deux constantes {Anne, Bob} abrégées en A etB.Le MLN qui en résulte est présenté en figure 6.7. Les arcs d’une même clique y sontreprésentés par la même couleur. Les cliques magenta et orange correspondent à laformule 1 et sont donc associées au poids w1 tandis que rouge, bleue, noire et vertecorrespondent à la formule 2 et sont donc associées au poids w2. Si nous choisissonscomme monde possible, noté x, l’ensemble des affirmations suivantes :

— Anne fume mais n’a pas le cancer ;— Bob ne fume pas mais a le cancer ;— Anne et Bob sont amis ;

11. Par exemple, si nous étudions un modèle à une seule constante Anne et un seul prédicat Smoke(x),alors il y a deux mondes possibles : soit Anne fume (Smoke(Anne)) soit elle ne fume pas (¬Smoke(Anne)).

43

Page 46: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Friends(A,A) Smokes(A) Smokes(B) Friends(B,B)

Cancer(A) Cancer(B)

Friends(A,B)

Friends(B,A)

Figure 6.7 – Exemple de MLN avec les différentes cliques

— Une personne est forcément amie avec elle-même.Alors la formule 1 n’est vraie que pour la clique orange et la formule 2 est vraie pour laclique verte et noire . La probabilité de ce monde est donc

P (X = x) = 1Z

exp (1.w1 + 2.w2)

avec la constante de normalisation Z =∑x exp (

∑iwini(x)) égale à la somme des expo-

nentielles pour tous les mondes possibles.

Inférence et apprentissage

Dans un esprit de synthèse, nous ne présenterons pas plus les MLNmais nous souhaitions,avant de conclure, revenir sur l’inférence et l’apprentissage du modèle.L’inférence dans un MLN consiste à calculer la probabilité d’une formule étant donnéeune seconde. Ce calcul fait appel à de l’inférence probabiliste dans le graphe et del’inférence logique pour les formules. La résolution de ce calcul est NP-complet.L’apprentissage d’un MLN se décompose en deux étapes :

— Un apprentissage de la structure qui consiste simplement à de l’ILP 12 afin detrouver les formules à partir de données constituées d’exemples corrects et incor-rects.

— Un apprentissage des poids du système à modéliser. Malheureusement cette étapedépend de la constante de normalisation Z qui rend impossible l’apprentissagesur de trop grand graphe. L’algorithme utilise donc une descente de gradientmais avec une pseudo-vraisemblance pour approximer les probabilités et ne pasdépendre de la constante de normalisation.

Pour plus de détails sur l’inférence et l’apprentissage, vous pouvez vous reportez à[RD06].

12. Inductive Logic Programming

44

Page 47: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

6.3.2 Travail à réaliser

Comme nous l’avons déjà mentionné, nous ne pourrons pas présenter de travail concretsur cette partie puisqu’elle sera développée à la suite de ce rapport. L’objectif estd’étudier comment contraindre l’apprentissage des poids d’un MLN. Le problème sous-jacent provient de l’algorithme du gradient utilisé pour l’apprentissage. Pour pouvoircontraindre les poids du MLN nous devrions donc contraindre la descente de gradientau moment de l’apprentissage, la question est, avant tout, de savoir si cela est possible.Étant donné la complexité de la tâche, nous sommes orientés sur une piste moins arduequi consiste à passer par l’intermédiaire d’un réseau bayésien.

Apprentissage de MLN par transformations successives

Dans l’article [RD06], Richardson et Domingos décrivent un algorithme permettant detransformer une réseau bayésien en MLN. La transformation est relativement simplepuisqu’elle consiste à construire une formule pour chaque probabilité des tables de chaquevariable puis à lui attribuer un poids correspondant au log de cette probabilité. Unprédicat est défini pour chaque valeur de chaque variable, ce qui revient à décrire si cettevariable prend la valeur en question. Une formule est construite par conjonction desprédicats relatifs aux variables de la dépendance conditionnelle. Décrivons cela à l’aided’un exemple.

Exemple Reprenons une dernière fois l’exemple de l’alarme que nous avons reproduiten figure 6.8. Il y a au total dans ce modèle douze probabilités définies, il faut donccréer autant de formules. Ainsi pour la probabilité P (A = 0|S = 0, C = 0) la formuleéquivalente sera ¬A∧¬S∧¬C et sont poids sera égale à log(0.9). L’ensemble de formulescréées sont détaillées dans le tableau 6.4.

A

CSS = 0 S = 10.9999 0.0001

C = 0 C = 10.999 0.001

S = 0 S = 1C = 0 C = 1 C = 0 C = 1

A = 0 0.9 0.9 0.01 0.25A = 1 0.1 0.1 0.99 0.75

Figure 6.8 – Un exemple de réseau bayésien décrivant le fonctionnement d’une alarmedomestique.

45

Page 48: Rapport de stage - Université de Nantes

Chapitre 6. Présentation des travaux

Formule Poids¬S log(0.9999)S log(0.0001)¬C log(0.999)C log(0.001)

¬A ∧ ¬S ∧ ¬C log(0.9)¬A ∧ ¬S ∧ C log(0.9)¬A ∧ S ∧ ¬C log(0.01)¬A ∧ S ∧ C log(0.25)A ∧ ¬S ∧ ¬C log(0.1)A ∧ ¬S ∧ C log(0.1)A ∧ S ∧ ¬C log(0.99)A ∧ S ∧ C log(0.75)

Table 6.4 – Liste des formules générées à partir de réseau bayésien en figure 6.8

Pour le moment, notre idée est donc de réutiliser l’apprentissage des réseaux bayésienssous contraintes spécifiées par un QPN.Supposons qu’un QPN a été défini. À partir de données, nous pouvons effectuer l’appren-tissage d’un réseau bayésien contraint par le QPN. Il est alors possible de transformer ceréseau bayésien en suivant la transformation décrite ci-dessus. Nous pouvons cependantnous demander s’il existe un intérêt d’extraire un MLN d’un réseau bayésien puisqu’ilsdécrivent au final le même modèle. Par ailleurs, l’inférence dans ces modèles est NP-complet pour les deux, il n’y donc pas de raisons de préférer les MLN. Cette techniquede transformation n’utilise pas totalement le potentiel d’expressivité des MLN étantdonné qu’il correspond exactement au réseau bayésien déjà obtenu.

46

Page 49: Rapport de stage - Université de Nantes

7 | Conclusion

La librairie que j’ai développé permet de manipuler simplement un certainnombre de formalisme des QPN et est conçue pour être facilement étendue.

Il est sans doute difficile de savoir si elle pourra avoir une utilité par la suite, maiselle vient dans tous les cas combler un vide. Il n’est pas improbable que celle-ci soit àcourt terme intégrée à Pilgrim ou tout du moins diffusée par l’intermédiaire du LINA. Ildemeure encore un certain nombre d’éléments de la bibliothèque qui mériteraient d’êtremodifiés ou ajoutés, par exemple en y adjoignant une interface graphique pour aider à lacréation des QPN ou en offrant la possibilité de faire de l’inférence multiple simultanée.

L’algorithme MLS pourra sans doute lui aussi être ajouté à Pilgrim. Celui-ci ne peutd’ailleurs pas être utilisé sans la plate-forme. Il aurait été intéressant de voir l’impactsur les performances lors de son exécution sur de grands réseaux. Il est probable eneffet que l’algorithme soit, au-delà de l’aspect chronophage, assez gourmand en mémoirevu le nombre potentiellement élevé de lower sets calculés. Il existe cependant quelquesaméliorations de performances qui existent [FvdG06] mais relativement difficile à mettreen place. Si l’algorithme est utilisé, il serait sans doute utile de mettre en place cetteamélioration.L’algorithme a été implémenté seulement pour les QPN à influence simple mais ilpeut aussi supporter des context-specific influences sous la condition que les nœudsde contextes fassent partie des parents du nœud qui subit l’influence.

L’étude sur les MLN va sûrement demander une importante quantité de travail pourobtenir des résultats exploitables. Il m’est d’ailleurs difficile d’estimer si j’obtiendrai desrésultats avant la fin de mon stage.

D’un point de vue personnel sur le déroulement du stage, j’ai énormément appréciéde pouvoir découvrir un si grand nombre de domaines, entre les modèles graphiquesprobabilistes, la régression isotonique et la logique, tous aussi intéressants les uns queles autres. J’ai, par ailleurs, beaucoup apprécié la liberté et la confiance qui m’ont été

47

Page 50: Rapport de stage - Université de Nantes

accordées pour venir à bout de mes tâches, le tout dans un cadre bien plus agréableque celui de mon précédent stage de fin d’études. D’un point de vue technique, le stagem’a permis de progresser notablement en développement C++ et la liberté qui m’a étélaissée me donnait tout le loisir de me pencher sur des concepts d’optimisations et demodélisations pour ce langage.

48

Page 51: Rapport de stage - Université de Nantes

Annexes

49

Page 52: Rapport de stage - Université de Nantes

«Nod

eValue»

qpn_

descrip

tor

+ad

dNod

e(nN

ame:st

ring)

+ad

dEdg

e(args

:strin

g..)

+ob

serveN

odeV

alue(nNam

e:st

ring,value:N

odeV

alue)

+ob

serveN

odeV

ariatio

n(nN

ame:st

ing,sig

n:Sign)

+getE

dgeSign():S

ign

+exist

s(vN

ame:st

ring)

:boo

lean

«Nod

eValue»

meta_

qpn

#qp

ns:list

<qp

n_descrip

tor>

+ad

dQpn

(qpn

:qpn

_decriptor)

+ob

serveN

odeV

alue(nNam

e:st

ring,value:N

odeV

alue)

+ob

serveN

odeV

ariatio

n(nN

ame:st

ring,sig

n:Sign)

qpn_

instan

ce

qpn_

edge

+getSign():S

ign

«Nod

eValue»

qpn-no

de+value:N

odeV

alue

+na

me:s

tring

+getSign():S

ign

1 1..n

qpn_

edge_instan

ce

«boo

l»meta_

qpn_

controlle

r+qp

n_influ

ences:q

pn_descrip

tor

+qp

n_synergies:q

pn_descrip

tor

+qp

n_context_

specific:q

pn_descrip

tor

+ad

dInfl

uence()

+ad

dSyn

ergy

()+ad

dcon

textSp

ecific()

1

3

Fig

ure1–Architecturede

labibliothèque

deQPN

50

Page 53: Rapport de stage - Université de Nantes

Figure 2 – Réseau bayésien sous GeNIe.

51

Page 54: Rapport de stage - Université de Nantes

Bibliographie

[BC90] Michael J. Best and Nilotpal Chakravarti. Active set algorithms for isotonicregression ; a unifying framework. Mathematical Programming, 47(1-3) :425–439, 1990.

[Bru55] Hugh D Brunk. Maximum likelihood estimates of monotone parameters.The Annals of Mathematical Statistics, pages 607–616, 1955.

[DH93a] Marek Druzdzel and Max Henrion. Efficient reasoning in qualitative pro-babilistic networks. In In Proceedings of the 11th National Conference onArtificial Intelligence (AAAI–93, pages 548–553, 1993.

[DH93b] Marek J. Druzdzel and Max Henrion. Intercausal reasoning with uninstan-tiated ancestor nodes. Proceedings of the Ninth Conference on Uncertaintyin Artificial Intelligence, pages 317–325, 1993.

[Dru09] Marek J Drużdżel. Rapid modeling and analysis with qgenie. In Compu-ter Science and Information Technology, 2009. IMCSIT’09. InternationalMulticonference on, pages 157–164. IEEE, 2009.

[Fou07] Jean-Claude Fournier. Graphes et applications. Lavoisier, 2007.[Fra89] P Frankl. A lower bound on the size of a complex generated by an antichain.

Discrete mathematics, 76(1) :51–56, 1989.[FvdG05] Ad Feelders and Linda C. van der Gaag. Learning bayesian network pa-

rameters with prior knowledge about context-specific qualitative influences.In AUAI Press, editor, Proceedings of Uncertainty in Artificial Intelligence,pages 193–200, 2005.

[FvdG06] Ad Feelders and Linda C. van der Gaag. Learning bayesian network pa-rameters under order constraints. International Journal of ApproximateReasoning, 42 :37–53, May 2006.

[FvS07] Ad Feelders and Robert van Straalen. Parameter Learning for BayesianNetworks with Strict Qualitative Influences, pages 48–58. 2007.

[HD91] Max Henrion and Marek J. Druzdzel. Qualitative propagation and scenario-based approaches to explanation of probabilistic reasoning. In P.P. Bonis-sone, M. Henrion, L.N. Kanal, and J.F. Lemmer, editors, Uncertainty in Ar-tificial Intelligence 6, pages 17–32. Elsevier Science Publishers B.V., NorthHolland, 1991.

52

Page 55: Rapport de stage - Université de Nantes

[Lau96] S.L. Lauritzen. Graphical Models, volume 17. Oxford Statistical ScienceSeries, Oxford, 1996.

[Ler06] P. Leray. Réseaux bayésiens : apprentissage et modélisation de systèmescomplexes. 2006.

[Pea82] Judea Pearl. Reverend bayes on inference engines : A distributed hierarchicalapproach. AAAI - 82 Proceedings, 1982.

[Pea88] Judea Pearl. Probabilistic reasoning in intelligent systems : networks ofplausible inference. Morgan Kaufmann, 1988.

[RD06] Matthew Richardson and Pedro Domingos. Markov logic networks. Machinelearning, 62(1-2) :107–136, 2006.

[Ren01] Silja Renooij. Qualitative Approaches to Quantifying Probabilistic Networks.PhD thesis, Universiteit Utrecht, 2001.

[Ric95] J.A. Rice. Mathematical Statistics & Data Analysis. Duxbury Press, Cali-fornia„ 1995.

[RvdG02] Siljia Renooij and Linda C. van der Gaag. Context-specific sign-propagationin qualitative probabilistic networks. In Artificial Intelligence, pages140 :207–230, 2002.

[RvdGP02] Siljia Renooij, Linda C. van der Gaag, and Simon Parsons. Propagation ofmultiple observations in qpns revisited. In 15th Eureopean Conference onArtificial Intelligence, 2002.

[Sam59] Arthur L Samuel. Some studies in machine learning using the game ofcheckers. IBM Journal of research and development, 3(3) :210–229, 1959.

[San81] Bill Sands. Counting antichains in finite partially ordered sets. DiscreteMathematics, 35(1) :213–228, 1981.

[Slo64] N.J.A Sloane. The on-line encyclopedia of integer sequences, 1964.[Wel90] Michael P. Wellman. Fundamental concepts of qualitative probabilistic net-

works. Artificial Intelligence, 44 :257–303, 1990.

53