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