0% ont trouvé ce document utile (0 vote)
117 vues50 pages

Cours 6

Ce document présente les étapes pour apprendre les paramètres d'un réseau bayésien à partir de données. Il décrit comment calculer les probabilités conditionnelles à partir des statistiques fournies pour apprendre complètement le modèle bayésien sur cet exemple.

Transféré par

Stella Ben
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
117 vues50 pages

Cours 6

Ce document présente les étapes pour apprendre les paramètres d'un réseau bayésien à partir de données. Il décrit comment calculer les probabilités conditionnelles à partir des statistiques fournies pour apprendre complètement le modèle bayésien sur cet exemple.

Transféré par

Stella Ben
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Blida1

Département d’informatique
Master 2-SIR

Cours 6: inférence dans les


Réseaux Bayésiens

Mme Fareh
2022/2023

1
Plan
1. C’est quoi un réseau bayésien (RB)?
structure d’un RB
calcul de probabilités dans un RB
2. Indépendance conditionnelle dans un RB
3. Inférence dans un réseau bayésien
inférence exacte
inférence approximative
4. Apprentissage automatique des réseaux bayésiens
Apprentissage de paramètre
Apprentissage de structure 2
Inférence approchée dans les
réseaux bayésiens
● Les méthodes d’inférences exactes ne
sont pas utilisables pour de grands réseaux .
● C’est pourquoi on considère des approches approximatives.

● Nous allons voir des algorithmes basés sur l’échantillonnage


aléatoire (algorithmes de Monte-Carlo) dont la précision va
dépendre du nombre d’échantillons.
● Ces algorithmes permettent d’estimer des quantités difficiles
à évaluer exactement.

3
Inférence approximative

● Les méthodes d’inférence exactes sont inefficaces

● Les méthodes d’inférence approximatives sont plus pratiques


en général, on n’a pas besoin d’un calcul exact des probabilités pour qu’une

conclusion tirée d’un RB soit correcte


les méthodes approximatives assignent des valeurs aux variables aléatoires en
fonction des TPC associées à ces variables
ces assignations sont basées sur des simulations stochastiques, plutôt que des
observations réelles

4
Méthodes d’échantillonnage direct

● Génération d’échantillons à partir d’une distribution


de probabilités connue a priori
● La forme la plus simple d’échantillonnage aléatoire
est de générer des événements sans variable
d’observation.
● La distribution de probabilités à partir de laquelle un
échantillon pour une variable est choisi est basée sur
les valeurs attribuées aux parents.

5
Exemple

6
Exemple

Echantillonnage à partir de
P(Cloudy)=<0.5,0.5>
Supposons qu’il retourne vrai

7
Exemple

8
Exemple

Echantillonnage à partir de
P(Sprinkler)=<0.1,0.9>
Supposons qu’il retourne faux

9
Exemple

Echantillonnage à partir
de P(Rain)=<0.8,0.2>
Supposons qu’il
retourne vrai

10
Exemple

Echantillonnage à partir de
P(Wet Grass \ Sprinkler=false,
Rain=true)=<0.9,0.1>
Supposons qu’il retourne vrai

11
Exemple

Résultat = [T, F, T, T]

12
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, si on génère 1000 échantillons et que
dans 511 d’entre eux, Rain = true, donc on peut faire
l’estimation suivante:

13
Échantillonnage par rejet (rejection
sampling)

● Utilisé pour déterminer les probabilités conditionnelles.


● Méthode:
Génère des échantillons comme la méthode
précédente.
Rejette tous les échantillons qui ne correspondent pas
à l’observation
Estime la probabilité en comptant parmi les
échantillons restants.

14
Méthode de rejet

● Pour estimer P(X=x|e)


Générer des échantillons complets à partir de la distribution spécifiée par le
RB
Rejeter tous les échantillons qui ne correspondent pas à l’observation e.
Estimer P(X=x|e) en comptant combien de fois X=x se produit dans les
échantillons restant.
● Autremet dit:
P(X=x|e) = α Σy P(X=x, e, y) ≈ freq(x,e) / Σx’ freq(x’,e) = freq(x,e) / freq(e)

● Cette technique est appelée méthode de rejet (rejection sampling)


le problème avec cette méthode est que si E=e est très rare selon le RB, il y
aura peu d’échantillons qui correspondront à cette observation

15
Échantillonnage par rejet: exemple

● Supposons que l’on veuille estimer P(Rain|Sprinkler = true)


en utilisant 100 échantillons.
Dans 73 échantillons, Sprinkler = false, ils sont donc
rejetés.
Pour les 27 échantillons où Sprinkler = true:
8 ont Rain = true
19 ont Rain = false
● Donc,

16
Échantillonnage par rejet

● Le plus gros problème de cette méthode, c’est


qu’elle rejette beaucoup d’échantillons.
● Elle génère donc beaucoup d’échantillons
inutiles.

17
Plan
1. C’est quoi un réseau bayésien (RB)?
structure d’un RB
calcul de probabilités dans un RB
2. Indépendance conditionnelle dans un RB
3. Inférence dans un réseau bayésien
inférence exacte
inférence approximative
4. Apprentissage des réseaux bayésiens
Apprentissage de paramètre
Apprentissage de structure 18
La topologie du réseau est
connue.
Comment produire les tables de
probabilités conditionnelles?
Carie Compétent

Douleur Détecte
Carie Compétent

Douleur Détecte

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100
Carie Compétent
P(Carie) = 0,35

Douleur Détecte

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Carie) = (3 + 1 + 1 + 4 + 26) / 100 = 35/100 = 0,35


Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

Douleur Détecte

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Compétent) = (1 + 16 + 1 + 1+ 26) / 100 = 45/100 = 0,45


Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

Douleur Détecte
P(Douleur)
Carie 0,97

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Douleur|Carie) = (3 + 1 + 4 + 26) / (3 + 1 + 1 + 4 + 26) = 34/35= 0,97


Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

Douleur Détecte
P(Douleur)
Carie 0,97
¬Carie 0,94

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Douleur|¬Carie) = (45 + 16) / (3 + 45 + 1 + 16 ) = 61/65= 0,94


Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

P(Detecte)
Compétent ⋀ Carie 0,96
Douleur Détecte
P(Douleur)
Carie 0,97
¬Carie 0,94

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Détecte|Compétent,Carie) = (1 + 26) / (1 + 1 + 26) = 27/28= 0,96


Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

P(Detecte)
Compétent ⋀ Carie 0,96
Compétent ⋀ ¬Carie 0,00
Douleur Détecte
P(Douleur)
Carie 0,97
¬Carie 0,94

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Détecte|Compétent,¬Carie) = 0 / (1 + 16) = 0
Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

P(Detecte)
Compétent ⋀ Carie 0,96
Douleur Détecte Compétent ⋀ ¬Carie 0,00
¬Compétent ⋀ Carie 0,57
P(Douleur)
Carie 0,97
¬Carie 0,94

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true false true 1
true true true false 1
true false true true 4
true true true 26
Total 100

P(Détecte|¬Compétent,Carie) = 4 / (4 + 3) = 4 / 7 = 0,57
Carie Compétent
P(Carie) = 0,35
P(Compétent) = 0,45

P(Detecte)
Compétent ⋀ Carie 0,96
Compétent ⋀ ¬Carie 0,00
Douleur Détecte ¬Compétent ⋀ Carie 0,57
P(Douleur) ¬Compétent ⋀ ¬Carie 0,00
Carie 0,97
¬Carie 0,94

On a les statistiques suivantes:


Carie Compétent Douleur Détecte # occurrences
false false false false 3
false false true false 45
false true false false 1
false true true false 16
true false true false 3
true true false true 1
true true true false 1
true false true true 4
true true true true 26
Total 100

P(Détecte|¬Compétent,¬Carie) = 0 / (3 + 45) = 0
Que fait-on si on a des
données manquantes?
On fixe aléatoirement les valeurs
initiales des paramètres du modèle.

On mesure la vraisemblance
(adéquation entre les données et ce
qui est prévu par le modèle).

La mesure de oui
vraisemblance On conserve le modèle actuel.
converge?

non

On calcule les valeurs


manquantes à partir du modèle
Espérance
actuel. (expectation)

On recalcule les valeurs des


paramètres à partir des données Maximisation
ajustées.
Carie Compétent

Détecte
Carie Compétent

Détecte

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
* * true 30
Total 100
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122
Valeurs initiales
fixées
Carie ⋀ Compétent
P(Detecte)
0,5
aléatoirement
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
* * true 30
Total 100
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122
Valeurs initiales
fixées
Carie ⋀ Compétent
P(Detecte)
0,5
aléatoirement
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

Probabilités selon le réseau On a les statistiques suivantes:


Carie Compétent Détecte # occurrences Carie Compétent Détecte # occurrences
false false false 0,6523 false false false 45
false true false 0,2256 false true false 17
true false false 0,0389 true false false 6
true true false 0,0157 true true false 2
* * true 0,0675 * * true 30
Total 100 Total 100

Vraisemblance = 0,652345 ✕ 0,225617 ✕ 0,03896 ✕ 0,01572 ✕ 0.067530


Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122
Valeurs initiales
fixées
Carie ⋀ Compétent
P(Detecte)
0,5
aléatoirement
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

Probabilités selon le réseau On a les statistiques suivantes:


Carie Compétent Détecte # occurrences Carie Compétent Détecte # occurrences
false false false 0,6523 false false false 45
false true false 0,2256 false true false 17
true false false 0,0389 true false false 6
true true false 0,0157 true true false 2
* * true 0,0675 * * true 30
Total 100 Total 100

Vraisemblance = 0,652345 ✕ 0,225617 ✕ 0,03896 ✕ 0,01572 ✕ 0.067530


Log-vraisemblance = 45 ln(0,6523) + 17 ln(0,2256) + 6 ln(0,0389) + 2 ln(0,0157) + 30 ln(0,0675) = -153,2
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122

P(Detecte)
Carie ⋀ Compétent 0,5
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000966 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000334 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7665
* * true 30
P(Carie,Compétent|Détecte) = 0,2322 Total 100
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122

P(Detecte)
Carie ⋀ Compétent 0,5
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000966 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000334 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7665
false false true 0,000966 * 30
P(Carie,Compétent|Détecte) = 0,2322 false true true 0,000334 * 30
true false true 0,7665 * 30
true true true 0.2322 * 30
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122

P(Detecte)
Carie ⋀ Compétent 0,5
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000966 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000334 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7665
false false true 0,029
P(Carie,Compétent|Détecte) = 0,2322 false true true 0,01
true false true 22,965
true true true 6,966
Carie Compétent
P(Compétent) = 0,257

P(Carie) = 0,122

P(Detecte)
Carie ⋀ Compétent 0,5
Détecte Carie ⋀ ¬Compétent 0,571
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,029
false true true 0,01
true false true 22,965
true true true 6,966

Espérance (expectation)
Carie Compétent
P(Compétent) = 0,257
On recalcule les
P(Carie) = 0,122 valeurs des tables
P(Detecte)
de probabilités du
Détecte
Carie ⋀ Compétent
Carie ⋀ ¬Compétent
0,5
0,571 réseau
¬Carie ⋀ Compétent 0,0001
¬Carie ⋀ ¬Compétent 0,0001

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,029
false true true 0,01
true false true 22,965
true true true 6,966
Carie Compétent
P(Compétent) = 0,2598
On recalcule les
P(Carie) = 0,3796 valeurs des tables
P(Detecte)
de probabilités du
Détecte
Carie ⋀ Compétent
Carie ⋀ ¬Compétent
0,7769
0,793 réseau
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,029
false true true 0,01
true false true 22,965
true true true 6,966

Maximisation
Carie Compétent
P(Compétent) = 0,2598

P(Carie) = 0,3796

P(Detecte)
Carie ⋀ Compétent 0,7769
Détecte Carie ⋀ ¬Compétent 0,793
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

Probabilités selon le réseau On a les statistiques suivantes:


Carie Compétent Détecte # occurrences Carie Compétent Détecte # occurrences
false false false 0,4589 false false false 45
false true false 0,1611 false true false 17
true false false 0,0582 true false false 6
true true false 0,0220 true true false 2
* * true 0,2998 * * true 30
Total 100 Total 100

Vraisemblance = 0,458945 ✕ 0,161117 ✕ 0,05826 ✕ 0,02202 ✕ 0.299830


Log-vraisemblance = 45 ln(0,4589) + 17 ln(0,1611) + 6 ln(0,0582) + 2 ln(0,0220) + 30 ln(0,2998) = -126,9

Ancienne valeur = -153,2


Carie Compétent
P(Compétent) = 0,2598

P(Carie) = 0,3796

P(Detecte)
Carie ⋀ Compétent 0,7769
Détecte Carie ⋀ ¬Compétent 0,793
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000986 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000316 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7432
* * true 30
P(Carie,Compétent|Détecte) = 0,2555 Total 100
Carie Compétent
P(Compétent) = 0,2598

P(Carie) = 0,3796

P(Detecte)
Carie ⋀ Compétent 0,7769
Détecte Carie ⋀ ¬Compétent 0,793
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000986 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000316 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7432
false false true 0,000986 * 30
P(Carie,Compétent|Détecte) = 0,2555 false true true 0,000316 * 30
true false true 0,7432 * 30
true true true 0.2555 * 30
Carie Compétent
P(Compétent) = 0,2598

P(Carie) = 0,3796

P(Detecte)
Carie ⋀ Compétent 0,7769
Détecte Carie ⋀ ¬Compétent 0,793
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
P(¬Carie,¬Compétent|Détecte) = 0,000986 false true false 17
P(¬Carie,Compétent|Détecte) = 0,000316 true false false 6
true true false 2
P(Carie,¬Compétent|Détecte) = 0,7432
false false true 0,02989
P(Carie,Compétent|Détecte) = 0,2555 false true true 0,0948
true false true 22,296
true true true 7,665
Carie Compétent
P(Compétent) = 0,2598

P(Carie) = 0,3796

P(Detecte)
Carie ⋀ Compétent 0,7769
Détecte Carie ⋀ ¬Compétent 0,793
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,02989
false true true 0,0948
true false true 22,296
true true true 7,665

Espérance (expectation)
Carie Compétent
P(Compétent) = 0,2598
On recalcule les
P(Carie) = 0,3796 valeurs des tables
P(Detecte)
de probabilités du
Détecte
Carie ⋀ Compétent
Carie ⋀ ¬Compétent
0,7769
0,793 réseau
¬Carie ⋀ Compétent 0,000588
¬Carie ⋀ ¬Compétent 0,000644

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,02989
false true true 0,0948
true false true 22,296
true true true 7,665
Carie Compétent
P(Compétent) = 0,2676
On recalcule les
P(Carie) = 0,3796 valeurs des tables
P(Detecte)
de probabilités du
Détecte
Carie ⋀ Compétent
Carie ⋀ ¬Compétent
0,7931
0,7880 réseau
¬Carie ⋀ Compétent 0,00555
¬Carie ⋀ ¬Compétent 0,000664

On a les statistiques suivantes:


Carie Compétent Détecte # occurrences
false false false 45
false true false 17
true false false 6
true true false 2
false false true 0,02989
false true true 0,0948
true false true 22,296
true true true 7,665

Maximisation
Carie Compétent
P(Compétent) = 0,2676
On recalcule les
P(Carie) = 0,3796 valeurs des tables
P(Detecte)
de probabilités du
Détecte
Carie ⋀ Compétent
Carie ⋀ ¬Compétent
0,7931
0,7880 réseau
¬Carie ⋀ Compétent 0,00555
¬Carie ⋀ ¬Compétent 0,000664

Probabilités selon le réseau On a les statistiques suivantes:


Carie Compétent Détecte # occurrences Carie Compétent Détecte # occurrences
false false false 0,4541 false false false 45
false true false 0,1651 false true false 17
true false false 0,0589 true false false 6
true true false 0,0210 true true false 2
* * true 0,3009 * * true 30
Total 100 Total 100

Vraisemblance = 0,454145 ✕ 0,165117 ✕ 0,05896 ✕ 0,02102 ✕ 0.300930


Log-vraisemblance = 45 ln(0,4541) + 17 ln(0,1651) + 6 ln(0,0589) + 2 ln(0,0210) + 30 ln(0,3009) = -126,89

Ancienne valeur = -126,9

Vous aimerez peut-être aussi