Apprentissage Bayésien

publicité
Apprentissage Bayésien
(Référence : Tom Mitchell, Machine Learning, McGraw Hill, 1997)
Apprentissage Bayésien
o Introduction
o Théorème de Bayes
o “Maximum Likelihood Estimation”
o Classifieur Bayésien optimal et Bayes naif
o Réseaux Bayésiens
Apprentissage Bayésien
2
Introduction
o L’apprentissage Bayésien permet de faire des
prédictions en se basant sur des probabilités.
o Il offre un cadre pour le raisonnement à base de
probabilités ;
o Avantages avec l’approche Bayésienne :
ƒ Les données peuvent être bruitées ;
ƒ Il est possible de proposer une connaissance « a
priori » avant de construire une hypothèse ;
ƒ Les prédictions sont pondérées par des probabilités ;
Apprentissage Bayésien
3
Théorème de Bayes
Définitions.
Nous avons un espace d’hypothèses H, et un ensemble
de données D. Nous définissons les 3 probabilités
suivantes :
1. P(h) la probabilité que h soit l’hypothèse correcte sans avoir vu
aucune donnée. P(h) est dite “prior probability” de h.
Exemple : Chance qu’il pleuve est 80% si on est prêt de la mer
et à la latitude X (aucune donnée n’est vu).
2. P(D) la probabilité de voir les données de D.
3. P(D|h) est la probabilité des données sachant h (likelihood).
Apprentissage Bayésien
4
Le théorème
Le théorème de Bayes relie la probabilité à posteriori
d’une hypothèse h sachant des données, avec les trois
probabilités mentionnées avant :
P(h|D) = P(D|h) . P(h) / P(D)
Évidence
Posterior
probability
Likelihood
Prior
probability
Apprentissage Bayésien
5
Maximum A Posteriori et Maximum Likelihood
Une méthode qui recherche l’hypothèse qui a un P(h|D)
maximum est dite : méthode Maximum a posteriori ou
MAP.
H MAP = argmax h P(h|D)
Des fois, quand on suppose que toutes les probabilités a
priori sont égales (équiprobables), la méthode est dite
maximum likelihood ou méthode ML :
H ML = argmax h P(D|h)
Apprentissage Bayésien
6
Maximum A Posteriori et Maximum Likelihood
Algorithme force brute :
Chercher à travers toutes les hypothèses, celle qui a
une probabilité maximum a posteriori si on suit une
méthode MAP, ou celle qui a un maximum likelihood si
on suit une méthode ML.
Apprentissage Bayésien
7
Exemple
o Tester dans un laboratoire si un patient a le cancer ;
o Nous savons que seulement 0.008 de la population a
le cancer ;
o Les tests en laboratoire ne sont pas infaillibles ! Ils
s’avèrent positifs dans 98% des cas où la maladie est
présente, et s’avèrent négatifs dans 97% des cas où la
maladie est absente.
Apprentissage Bayésien
8
Exemple
o Quelle est la probabilité qu’un patient ait le cancer
sachant que les résultats de laboratoire sont positifs ?
P(cancer|+)
= P(+|cancer) P(cancer) / P(+)
= (0.98)(0.008) / P(+)
= 0.0078 / P(+)
o Et quelle est la probabilité que le patient n’ait pas le
cancer sachant que les résultats de laboratoire sont
positifs ?
P(~cancer|+)
= P(+|~cancer) P(~cancer) / P(+)
= (0.03)(0.992) / P(+)
= 0.0298 / P(+)
Apprentissage Bayésien
9
Théorème de Bayes en apprentissage
Comment le théorème de Bayes est-il relié au candidate
elimination algorithm ?
On veut connaître P(h|D) (posterior probability).
Soient 3 probabilités utilisant le théorème de Bayes :
1. Supposons que toutes les hypothèses aient la même
probabilité a priori :
P(h) = 1 / |H| où |H| est la taille de l’espace des hypothèses.
2. Si les données ne sont pas bruitées, seules les
hypothèses consistantes avec les données sont admissibles
Donc, P(D|h) = 1 si h est consistante avec D, et 0 sinon.
3. P(D) = |VS| / |H|, où |VS| est la taille de l’espace des versions.
Apprentissage Bayésien
10
Théorème de Bayes en apprentissage
La dernière probabilité est dérivée ainsi :
P(D) = Σi P(D|hi) P(hi)
P(D) = Σi 1 ( 1/ |H|) pour des hypothèses consistantes
P(D) = |VS| / |H|
On a donc la formule suivante :
P(h|D) = 1 (1/|H|) / |VS|/|H| = 1 / |VS|
Qui énonce que chaque hypothèse consistante est une
hypothèse MAP.
Apprentissage Bayésien
11
Classifieur Bayésien Optimal
En classification, on veut calculer la probabilité d’une classe advenant
un exemple.
Supposons que l’on ait trois hypothèses h1, h2, et h3 avec les
probabilités a postériori suivantes :
P(h1|D) = 0.4, P(h2|D) = 0.3, and P(h3|D) = 0.3.
Ici, h1 est l’hypothèse MAP.
Un nouvel exemple arrive et P(h1) = +, P(h2) = - et P(h3) = -.
La probabilité que x1 soit positif est 0.4 et celle qu’il soit négatif est
0.6. Comment combiner tout cela ?
Apprentissage Bayésien
12
Classification Optimale
Classification Bayésienne optimale :
Soit c une classe possible, alors
P(c | D) = Σi P( c | hi ) P (hi | D)
On veut choisir la classe qui maximise la probabilité :
argmax c Σi P( c | hi ) P (hi | D)
Apprentissage Bayésien
13
Classification Optimale
Par exemple, dans l’exemple précédent :
P(h1|D) = 0.4 P(-|h1) = 0 P(+|h1) = 1
P(h2|D) = 0.3 P(-|h2) = 1 P(+|h2) = 0
P(h3|D) = 0.3 P(-|h3) = 1 P(+|h3) = 0
Et donc Σi P( + | hi ) P (hi | D) = 0.4 et,
Σi
P( - | hi ) P (hi | D) = 0.6
On choisit donc la classe négative.
Apprentissage Bayésien
14
Algorithme Bayésien naif
o Très efficace et qui rivalise dans certains domaines
avec les réseaux neuronaux artificiels ou les arbres de
décision.
o Comment fonctionne un tel algortihme ?
On utilise la probabilité suivante :
P(c|X) probabilité d’une classe c sachant un exemple X.
o Théorème de Bayes : P(c|X) = P(X|c) P(c) / P(X)
Et on choisit la classe qui maximise P(c|X).
Apprentissage Bayésien
15
Probabilité
P(c|X) = P(X|c) P(c) / P(X)
Dans cette formule, le plus difficile est de calculer P(X|c).
X est un vecteur d’attributs : (x1, x2, …xk).
Comment calculer P( x1,x2, …, xk | c) ?
Une façon simple (ou naïve) de le faire est de supposer
que les valeurs d’attributs sont indépendantes, sachant la
classe. Dans ce cas : P(X|c) = P(x1|c) P(x2|c) … P(xk|c)
Dans une approche naïve, on choisit la classe qui
maximise : argmax c
Πi
P(xi|c) P(c)
Apprentissage Bayésien
16
Un Exemple
On veut classifier des objets en étoiles (stars) ou
galaxies.
P(star) = 0.7 and P(galaxy) 0.3
Il n’y a que deux attributs : size et color.
P(size < T1 | star) = 0.25 P(size > T1|star) = 0.75
P(color = red|star) = 0.4 P(color=blue|star) = 0.6
P(size < T1 | galaxy) = 0.5 P(size > T1|galaxy) = 0.5
P(color = red|galaxy) = 0.1 P(color=blue|galaxy) = 0.9
Apprentissage Bayésien
17
Un Exemple
Si on a un objet avec, size > T1 et color = blue
Pour star :
P(X|star) P(star) = P(size>T1|star)P(color=blue|star)P(star)
= (0.75)(0.6)(0.7)
Pour galaxy (gxy) :
P(X|gxy) P(gxy) = P(size>T1|gxyr)P(color=blue|gxy)P(gxy)
= (0.5)(0.9)(0.3)
Apprentissage Bayésien
18
En résumé
o Une approche Bayésienne permet de calculer la
probabilité d’une classe a posteriori advenant un exemple,
en trouvant 3 probabilités :
o la probabilité de la classe connaissant l’exemple.
o la probabilité a priori de la classe.
o la probabilité de l’exemple ou l’évidence.
o Le classifieur optimal calcule la probabilité a posteriori en
pondérant les évidences produites par toutes les
hypothèses.
o L’algorithme naif est très efficace ; il présuppose que les
valeurs d’attributs sont indépendantes, sachant une
classe.
Apprentissage Bayésien
19
Réseau Bayésien
o C’est une méthode pour décrire la distribution de
probabilités d’un ensemble de variables.
o Soient x1, x2, …, xn un ensembles de variables ou
attributs. Un réseau Bayésien va nous dire la probabilité
de toute combinaison entre x1, x2 , .., xn.
o Comme avec Bayes Naif, certaines hypothèses
d’indépendence seront émises, mais pas aussi fortes
que l’indépendance de TOUTES les variables.
Apprentissage Bayésien
20
Un Exemple
Ensemble de variables Booléennes et leurs relations :
Storm
Bus Tour Group
Lightning
Campfire
Thunder
Forest Fire
Apprentissage Bayésien
21
Probabilités conditionnelles
S,B
S,~B
~S,B
~S,~B
C
0.4
0.1
0.8
0.2
~C
0.6
0.9
0.2
0.8
Storm
Bus Tour Group
Campfire
Apprentissage Bayésien
22
Indépendence conditionnelle
On dit que x1 est conditionnellement indépendent de x2
sachant x3 si la probabilité de x1 est indépendente de
x2, sachant x3
P(x1|x2,x3) = P(x1|x3)
Il en est de même pour un ensemble de variables :
x1,x2,x3 sont indépendents de y1,y2,y3 sachant
z1,z2,z3 :
P(x1,x2,x2|y1,y2,y3,z1,z2,z3) = P(x1,x2,x3|z1,z2,z3)
Apprentissage Bayésien
23
Représentation
Un RB représente la distribution des probabilités jointes
d’un ensemble de variables en indiquant explicitement les
hypothèses d’indépendance conditionnelle à travers :
a) Un graphe orienté acyclique
b) Des probabilités conditionnelles locales
Storm
Bus Tour Group
variable
conditional
probabilities
Campfire
Apprentissage Bayésien
24
Représentation
Chaque variable est indépendante de ses non-descendants
sachant ses prédécesseurs. On dit que x1 est un
descendant de x2 s’il y a un chemin direct de x2 vers x1.
Exemple :
Prédécesseurs de Campfire : Storm, Bus Tour Group.
(Campfire est un descendant des 2 variables).
Campfire est independante de Lightning sachant ses prédécesseurs.
Storm
Bus Tour Group
Lightning
Campfire
Apprentissage Bayésien
25
Distribution de probabilités jointes
Pour calculer la distribution de probabilités jointes d’un
Ensemble de variables à partir d’un RB, on utilise la
formule suivante :
P(x1,x2,…,xn) = Π i P(xi | Parents(xi))
Où Parents sont les prédécesseurs immédiats de xi.
Apprentissage Bayésien
26
Distribution de probabilités jointes
Exemple :
P(Campfire, Storm, BusGroupTour, Lightning, Thunder, ForestFire) ?
P(Storm)P(BusTourGroup)P(Campfire|Storm,BusTourGroup)
P(Lightning|Storm)P(Thunder|Lightning)
P(ForestFire|Lightning,Storm,Campfire).
Storm
Bus Tour Group
Lightning
Campfire
Thunder
Forest Fire
Apprentissage Bayésien
27
Probabilités conditionnelles, un exemple
S,B
S,~B
~S,B
~S,~B
C
0.4
0.1
0.8
0.2
~C
0.6
0.9
0.2
0.8
Storm
Bus Tour Group
P(Campfire=true|Storm=true,BusTourGroup=true) = 0.4
Campfire
Apprentissage Bayésien
28
Inférence et Apprentissage
Lien entre RB et classification?
Si l’une des variables est la variable cible, peut-on
calculer sa probabilité sachant les autres variables ?
Avec Bayes naif :
X1
Concept C
X2
…
xn
P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) … P(xn|c)
Apprentissage Bayésien
29
Cas général
Dans le cas général, on peut utiliser un RB pour spécifier
des hypothèses d’indépendance entre les variables.
Concept C
X1
X2
x4
X3
P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) P(x3|x1,x2,c)P(x4,c)
Apprentissage Bayésien
30
Apprendre des RBs
Plusieurs façons :
1. Si on connaît la structure du réseau : On estime les probabilités
conditionnelles de chaque variable à partir des données ;
2. Si on connaît une partie de la structure mais que certaines
variables sont manquantes :
- C’est comme apprendre des neurones cachés dans un réseau
neuronal ;
- On peut utiliser une méthode du gradient (ascendant) pour
entraîner le RB ;
3. Rien n’est connu.
On essaie d’apprendre la structure et les probabilités
conditionnelles à partir de l’espace des réseaux possibles.
Apprentissage Bayésien
31
En résumé
1. Les RBs offrent un cadre pour calculer la distribution
de probabilités jointes d’un ensemble de variables.
2. Les RBs indiquent explicitement les relations
d’indépendance.
3. Appliqué à l’apprentissage, un RB peut servir à
prédire la valeur d’une variable cible.
4. Un RB peut être appris à partir de données, même
si la structure du réseau n’est pas connu.
Apprentissage Bayésien
32
Références
„
Pearl, J. (1988). Probabilistic Reasoning in Intelligent
Systems. San Mateo, CA: Morgan Kauffman.
„
Neapolitan, R.E. (1990). Probabilistic Reasoning in
Expert Systems, New York: Wiley.
„
Jensen, F.V. (1996). An Introduction to Bayesian
Networks, New York: Springer.
„
Naïm P., Wuillemin P.H., Leray P., Pourret O., Becker
A (2004). Les réseaux bayésiens ; Eyrolles
Apprentissage Bayésien
33
Téléchargement