Raisonnement probabiliste

publicité
Plan
Raisonnement
probabiliste
„
Réseaux bayésiens
„
Inférence dans les réseaux bayésiens
IFT-17587
Concepts avancés pour systèmes intelligents
Luc Lamontagne
… Inférence
exacte
… Inférence
approximative
1
2
Contexte
Quel type d’agent?
Jusqu’à maintenant, nous avons
principalement étudié des techniques pour
des environnements déterministes
„ Que faire lorsque l’environnement est non
percepts
Agent Capteur
déterministe?
„
„
partielle
Inférence
… Information bruitée
actions
… Comportement
Effecteurs stochastique
… Environnement complexe…
Envir__ε…ment
…
…
L’incertitude lié à l’environnement Æ probabilité
La qualité de ses décisions Æ utilité
Capteurs
Agent
État
Comment le monde évolue?
Quel est l’impact de mes actions?
Utilité
Comment le monde
est maintenant?
Comment sera le monde
si je fais l’action A?
À quel point je vais être
satisfait dans un tel état?
Envir___ε…ment
… Observabilité
Un agent doit pouvoir gérer :
Quelle action dois-je
faire maintenant?
Effecteurs
3
4
1
Raisonnement incertain :
Agent basé sur l’utilité
Réseaux bayésiens
„
Dans cette section, nous étudions les réseaux bayésiens
…
…
…
Raisonnement incertain (ch.13-14)
Basés sur les probabilités – un formalisme éprouvé
Permettent de représenter les dépendances entre les variables
Donnent une spécification concise des distributions de
probabilités conjointes.
Attaque
Théorie de la décision (ch.16-17)
Niveau_énergie
Proche
Armé
Dangereux
Visible
Audible
5
6
Réseaux bayésiens :
Réseaux bayésiens :
Notions de probabilité
Syntaxe
„
Révision des concepts de probabilité au chapitre 13
…
Règle du produit P(a, b ) = P(a b )P(b ) = P(b a )P(a )
…
Règle de bayes
…
Distributions de probabilités conjointes P(x,y,z)
„
„
…
P (a b ) =
„
…
P (a b )P (a )
…
P (b )
„
Utile pour faire des inférences
Mais peuvent être difficile à calculer en pratique (grande taille)
Conditionnement
…
P (Y ) = ∑ P (Y z )P( z )
„
Permettent de réduire les calculs reliés à ces distributions.
P(X Y ) = P( X )
V
0.6
F
0.15
Carie
MalDeDents
Un graphe orienté acyclique
Chaque nœud annoté d’une table de probabilités
conditionnelles.
Carie
P(SA)
V
0.7
F
0.2
SondeAccroche
Un ensemble de variables aléatoires
Un ensemble de liens orientés connectant deux nœuds.
„
…
Indépendance et indépendance conditionnelle
0.02
P(MD)
Plus spécifiquement, il contient:
…
z
…
Réseau bayésien
P(Carie)
Carie
S’il y a un lien du nœud X vers Y, on dit que X est le parent de Y.
Chaque nœud a une distribution de probabilité conditionnelle
P(Xi | Parents(Xi))
qui quantifie l’effet du parent sur le nœud.
P( X , Y ) = P( X )P(Y )
7
8
2
Syntaxe des réseaux bayésiens :
Syntaxe des réseaux bayésiens :
Exemple du dentiste
Exemple de l’alarme
Météo
„
Carie
Vous avez un nouveau système d’alarme à la maison :
…
…
„
MalDeDents
SondeAccroche
Vous avez deux voisins qui vous appellent au bureau s’ils
entendent l’alarme.
…
„
Indépendance :
…
„
…
Météo est indépendante des autres variables
Indépendance conditionnelle :
…
…
„
MalDeDents et SondeAccroche le sont sachant Carie.
Il n’y a aucun lien direct entre MalDeDents et SondeAccroche.
Il sonne lorsqu’il y a un cambriolage (Burglary)
Il sonne parfois lorsqu’il y a un tremblement de terre (Earthquake)
John appelle tout le temps quand il entend l’alarme, mais parfois il
confond le téléphone avec l’alarme (JohnCalls).
Mary aime écouter de la musique forte et parfois elle n’entend pas
l’alarme (MaryCalls).
Sachant qui a appelé :
…
Quelle est la probabilité qu’il y ait un cambriolage ?
9
10
Syntaxe des réseaux bayésiens :
Syntaxe des réseaux bayésiens :
Exemple de l’alarme
Exemple de l’alarme
„
La topologie du réseau reflète un ensemble de
relations d’indépendances conditionnelles
… Bulgary
et Earthquake affectent directement la
probabilité de déclenchement d’une alarme
… Le fait que John ou Mary appelle ne dépend que de
l’alarme.
„
„
„
11
John et Mary ne perçoivent pas directement le cambriolage
Ils ne perçoivent pas les tremblements de terre mineurs
Ils ne se consultent pas avant d’appeler
12
3
Syntaxe des réseaux bayésiens :
Syntaxe des réseaux bayésiens :
Exemple de l’alarme
Spécification concise
„
Table de probabilités conditionnelles (TPC)
…
…
Pour une variable booléenne Xi avec k parents booléens
Elle contient 2k rangés.
„
Chaque rangée a une probabilité p pour Xi = Vrai
„
Si on borne le nombre maximal de parents à k
…
…
…
„
La valeur pour Xi = Faux est 1 – p
Alors le réseau demande O(n2k) nombres.
Linéaire en n, au lieu de O(2n) pour une table complète
Pour notre exemple
…
On a besoin de 10 valeur au lieu de 25 = 32 pour la table
complète de probabilité conjointe.
13
14
Réseaux bayésiens :
Réseaux bayésiens :
Sémantique
Construction
„
…
„
„
Un réseau définit la distribution conjointe complète de
probabilités
Correspond au produit des distributions conditionnelles locales :
Il faut une méthode garantissant qu’une série
d’indépendances conditionnelles vérifiées localement
induise la sémantique globale requise
Choisir un ordre sur les variables X1, …,Xn
Pour i = 1 à n Faire
- Ajouter Xi au ré
réseau
- Sélectionner ses parents dans X1, …, Xi-1 tels que
P(Xi | Parents(
Parents(Xi)) = P(Xi | X1, …,Xi-1)
Fin Pour
Exemple:
Il est préférable d’avoir un modèle causal
• C’est-à-dire qu’il est mieux d’ajouter la cause « racine » en premier
• Et ensuite les variables qui sont influencées par la cause
15
16
4
Réseaux bayésiens :
Réseaux bayésiens :
Exemple
Exemple
„
Supposons que l’on choisit l’ordre B, E, A, M, J
Bulgary
Earthquake
„
Supposons que l’on choisit le mauvais ordre M, J, A, B, E
…
Non
P(J|M) = P(J)?
Non
P(A|J,M) = P(A|J)?
Non
P(A|J,M) = P(A|M)?
Oui
P(B|A,J,M) = P(B|A) ?
Non
P(B|A,J,M) = P(B) ?
Non
P(E|B,A,J,M) = P(E|A) ?
Oui
P(E|B,A,J,M) = P(E|A,B) ?
…
…
Alarm
…
…
…
MaryCalls
…
JohnCalls
MaryCalls
JohnCalls
Alarm
Bulgary
On obtient un réseaux plus complexe avec
des probabilités plus difficiles à déterminer.
Earthquake
17
18
Réseaux bayésiens :
Réseaux bayésiens :
Sémantique
Sémantique
„
„
Sémantique locale :
chaque nœud est
conditionnellement
indépendant des nœuds
qui ne sont pas ses
descendants étant
donné ses parents.
Chaque nœud est indépendant des autres sachant sa
couverture de Markov (Markov Blanket)
…
19
Parent + Enfants + Parents des enfants.
20
5
Réseaux bayésiens :
Sommaire
Inférence exacte
Les réseaux bayésiens sont une manière
naturelle de représenter les dépendances
causales.
„ C’est une représentation compact des
distributions conjointes de probabilité.
„ Généralement facile à construire.
„
„
But :
…
…
„
Calculer la distribution de probabilité a posteriori d’un ensemble
de variables de requête
Étant donnée un événement observé, c.-à-d. à des variables
d’évidence dont les valeurs sont déterminées
L’ensemble complet de variables X:
„
„
„
„
X : variable de question
E: l’ensemble des variables d’évidence
e: un événement particulier
Y: l’ensemble des variables cachées
X = {X }U E U Y
21
22
Réseaux bayésiens :
Inférence exacte :
Inférence exacte
Inférence par énumération
„
„
„
Une question typique: P(X | e)
Dans l’exemple du cambriolage
Les réseaux bayésiens donnent la
représentation complète de la table de
distribution conjointe
… Alors
… On
pourrait observer l’événement
JohnCalls = vrai et MaryCalls = vari.
… Par la suite, on pourrait se demander s’il y a eu un
cambriolage.
„
23
on peut utiliser la formule suivante (voir chapitre 13)
Si on reprend l’exemple précédent où les
variables cachées sont Earthquake et Alarm.
24
6
Inférence exacte :
Inférence exacte :
Inférence par énumération
Inférence par énumération
„
On peut réécrire la formule en
utilisant les entrées des tables
de probabilités conditionnelles
du réseau bayésien.
Pour Burglary = vrai, on obtient:
„
En simplifiant, on obtient:
„
„
B
Arbre de calcul :
E
A
M
J
Répétitions
25
Inférence exacte :
Inférence exacte :
Inférence par énumération
Inférence par énumération
„
En effectuant les calculs, on obtient:
„
Si on fait la même chose pour Burglary = false, on
obtient:
„
Même si les deux appellent, il n’y a que 28% des
chances qu’il y ait eu un cambriolage.
La complexité en temps de l’inférence par énumération
est de O(2n).
„
27
26
28
7
Inférence exacte :
Inférence exacte :
Élimination de variables
Élimination de variables - Exemple
Améliore l’algorithme par énumération en
évitant les calculs répétés.
„ La somme est effectuée de la droite vers
la gauche.
„ Exemple cambriolage :
„
„
Pour le facteur M, on enregistre les probabilités, étant
donné chaque valeur de a, dans un vecteur à deux
éléments.
„
On fait la même chose pour J.
Pour le facteur A, on obtient une matrice de 2 x 2 x 2,
fA(A,B,E)
„
Facteurs
29
30
Inférence exacte :
Inférence exacte :
Élimination de variables - Exemple
Élimination de variables - Exemple
„
Il faut maintenant faire la somme du produit des
trois facteurs
…
„
„
Le facteur et la sommation sur E sont calculés de la
même manière.
„
Finalement, on obtient:
La barre sur le A, indique que l’on a fait la somme pour A
La multiplication utilisée est un pointwise product
31
32
8
Inférence exacte :
Inférence exacte :
Pointwise product
Variables inutiles
„
Le pointwise product de deux facteurs f1et f2
donne un nouveau facteur f
„
Exemple:
… Les
variables sont l’union des variables de f1 et f2.
„
Considérons: P(J | b)
„
La somme sur M donne 1
„
Théorème: Y est inutile sauf si
„
Ici:
…
Donc M est inutile.
donc, M est inutile.
33
34
Réseaux bayésiens
Inférence approximative :
Inférence approximative
Méthodes d’échantillonnage directe
„
„
„
Les méthodes d’inférences exactes que l’on
vient de voir ne sont pas utilisables pour de
grands réseaux.
C’est pourquoi on considère des approches
approximatives.
On va voir des algorithmes basés sur
l’échantillonnage aléatoire (Monte Carlo) dont la
précision va dépendre du nombre d’échantillons.
35
La forme la plus simple d’échantillonnage
aléatoire est de générer des événements
sans variable d’évidence
„ La distribution de probabilité à partir de
laquelle un échantillon pour une variable
est choisi est basée sur les valeurs
attribuées aux parents.
„
36
9
Inférence approximative :
Inférence approximative :
Exemple d’échantillonnage directe
Exemple d’échantillonnage directe
37
38
Inférence approximative :
Inférence approximative :
Exemple d’échantillonnage directe
Exemple d’échantillonnage directe
39
40
10
Inférence approximative :
Inférence approximative :
Exemple d’échantillonnage directe
Exemple d’échantillonnage directe
41
42
Inférence approximative :
Inférence approximative :
Exemple d’échantillonnage directe
Exemple d’échantillonnage directe
Résultat = [T, F, T, T]
On répète plusieurs fois pour
obtenir un échantillon!
43
44
11
Inférence approximative :
Échantillonnage directe :
Échantillonnage par rejet
Estimer la probabilité d’un événement
„
„
On peut estimer la probabilité d’un événement
avec la fraction des événements générés
aléatoirement qui remplit la condition.
Par exemple
„
„
Utiliser pour déterminer les probabilités
conditionnelles.
Méthode:
… Génère
des échantillons comme la méthode
précédente
… Enlève tous les échantillons où les variables
d’évidence n’ont pas les bonnes valeurs
… Estime la probabilité en comptant parmi les
échantillons restants.
… Si
on génère 1000 échantillons
… Que pour 511 d’entre eux Rain = true
… Donc on peut faire l’estimation suivante :
45
46
Inférence approximative :
Inférence approximative :
Échantillonnage par rejet
Échantillonnage par rejet
„
Supposons que l’on veut estimer
P(Rain|Sprinkler = true)
en utilisant 100 échantillons.
…
Dans 73 échantillons, Sprinkler = false
…
Pour les 27 échantillons où Sprinkler = true
„
„
„
…
47
Ils sont donc rejetés
8 ont Rain = true
19 ont Rain = false
Donc
48
12
Inférence approximative :
Inférence approximative :
Échantillonnage par rejet
„
Pondération de la vraisemblance
Problème de cette méthode
„
… Elle
rejette beaucoup d’échantillons
… Elle génère donc beaucoup d’échantillons inutiles.
„
… Génère
uniquement des échantillons consistants
avec les variables d’évidence
Si un grand nombre de variables d’évidence
… L’approche
„
Idée :
… Fixer
les variables d’évidence
uniquement sur les autres variables
… Attribuer un poids aux échantillons selon la probabilité
que l’événement survienne en accord avec les
évidences.
est impraticable pour les problèmes
… Échantillonner
complexes
… Autre approche – Pondération de la vraisemblance
„
Évite l’inefficacité de l’échantillonnage par rejet
Likelihood weighting
49
50
Réseaux bayésiens – Inférence approximative
Réseaux bayésiens – Inférence approximative
Pondération de la vraisemblance
Pondération de la vraisemblance
, e)
w=1
51
52
13
Réseaux bayésiens – Inférence approximative
Réseaux bayésiens – Inférence approximative
Pondération de la vraisemblance
Pondération de la vraisemblance
w=1
w=1
53
54
Réseaux bayésiens – Inférence approximative
Réseaux bayésiens – Inférence approximative
Pondération de la vraisemblance
Pondération de la vraisemblance
w = 1 * 0.1
w = 1 * 0.1
55
56
14
Réseaux bayésiens – Inférence approximative
Réseaux bayésiens – Inférence approximative
Pondération de la vraisemblance
Pondération de la vraisemblance
w = 1 * 0.1
w = 1 * 0.1 * 0.99 = 0.099
57
Inférence approximative :
Inférence approximative :
Pondération de la vraisemblance
„
„
„
Inférence par MCMC
L’estimation de la probabilité
…
„
…
Algorithme Markov Chain Monte Carlo (MCMC)
… Génère
les événements en faisant un changement
aléatoire à l’événement précédent.
La somme pondérée des échantillons où ce qui est recherchée
est vrai.
Plus efficace que l’échantillonnage par rejet
Mais l’efficacité de la méthode se dégrade si le nombre
de variables d’évidence augmente, parce que:
…
58
„
„
La majorité des échantillons vont avoir des petits poids
Seulement une minorité d’échantillons vont avoir pratiquement
tout le poids total.
L’algorithme maintient donc un état courant où
toutes les variables ont une valeurs.
Pour générer le prochain état:
… Choisir
une variable qui n’est pas une variable
d’évidence.
… La distribution de cette variable dépend des valeurs
des variables dans son Markov Blanket
59
60
15
Inférence approximative
Inférence approximative
Inférence par MCMC
Inférence par MCMC
„
Exemple: si on génère 100 échantillons et
que l’on trouve:
… 31
où Rain = true
… 69 où Rain = false
„
Donc, l’estimation de la distribution est
Normalize(31,69) = (0.31,0.69).
Avec Sprinkler = true et WetGrass = true,
il y a quatre états possibles.
61
62
Conclusion
„
Un réseau bayésien est un graphe dirigé acyclique
…
…
„
„
„
„
Les nœuds correspondent à des variables aléatoires
Chaque nœud a une distribution conditionnelle
Moyen concis de représenter les relations
d’indépendance conditionnelle
Représente une distribution conjointe complète
L’inférence revient à calculer la distribution de probabilité
d’un ensemble de variables étant donné un ensemble de
variables d’observations
On peut approximer ce calcul par de l’échantillonnage et
les techniques MCMC
63
16
Téléchargement