Apprentissage bayésien Introduction Théorème de Bayes Apprentissage de concepts Apprentissage d'une fonction à valeurs réelles Longueur de description minimale Classeur bayésien optimal Classeur bayésien naïf Réseaux bayésiens Introduction Deux rôles des méthodes bayésiennes Fournir des algorithmes d'apprentissage Classeur bayésien naïf Apprentissage de réseaux bayésiens Fournir un cadre conceptuel utile Etalon pour évaluer d'autres d'algorithmes d'apprentissage Une autre vision du rasoir d'occam Caractéristiques de l'apprentissage bayésien ^ Influence incrémentale de chaque exemple Combinaison de connaissances préalables (probabilité a-priori) avec les données observées distribution de probabilité des hypothèses distribution de probabilité des données observées Conclusions probabilistes Combinaisons de prédictions Requiert des probabilités a-priori Coût de l'hypothèse optimale Théorème de Bayes P(h D) = P(D h)p(h)/p(d) P(h) P(D) Probabilité a-priori de l'hypothèse h 1 sur 14
Probabilité a-priori des données D P(h D) Probabilité de h étant donné D P(D h) Probabilité de D étant donné h Choix des hypothèses P(h D) = P(D h)p(h)/p(d) On veut généralement l'hypothèse la plus probable étant donné l'observation : hypothèse MAP (Maximum A Posteriori) : h MAP P(h D) P(D h)p(h)/p(d) P(D h)p(h) Si on suppose en plus que P(h) est constant, on obtient l'hypothèse la plus vraisemblable ML (Maximum Likelihood) : h ML P(D h) Exemple d'application du théorème de Bayes Est-ce qu'un patient a un cancer ou non? Un patient subit des analyses médicales et le résultat du laboratoire est positif. Le test qu'il a subit rend un résultat positif dans 98% des cas où la maladie est vraiment présente, et un résultat négatif dans 97% des cas où il n'y a pas de maladie. On sait de plus que 0,8% de la population souffre de ce cancer. P(cancer) = 0,008 P( cancer) = 0,992 P(+ cancer) = 0,98 P(- cancer) = 0,02 P(+ cancer) = 0,03 P(- cancer) = 0,97 Hypothèse MAP : P(cancer +) P(+ cancer)p(cancer) = 0,98 0.008 = 0,0078 P( cancer +) P(+ cancer)p( cancer) = 0,03 0,992 = 0,0298 h MAP = cancer P(cancer +) = 0,0078 / (0,0078 + 0,0289) = 0,21 Formules de base pour le calcul de probabilités 2 sur 14
Règle du produit P(A B) = P(A B)P(B) = P(B A)P(A) Règle de la somme P(A B) = P(A) + P(B) - P(A B) Théorème de la probabilité totale Soient des événements A 1, A 2,...,A n mutuellement exclusifs avec i P(A i ) = 1, alors P(B) = i P(B A i )P(A i ) ^ Théorème de Bayes et apprentissage de concepts Algorithme d'apprentissage MAP par force brute 1. Pour chaque hypothèse h de H, calculer la probabilité a-posteriori P(h D) = P(D h)p(h)/p(d) 2. Rendre l'hypothèse h MAP de plus grande probabilité a-posteriori h MAP = argmax h H P(h D) Relation avec l'apprentissage de concepts Considérons la tâche d'apprentissage usuelle : Espace des instances X, espace des hypothèses H, Exemples d'apprentissage D considérons l'algorithme TrouverS qui rend l'hypothèse la plus spécifique de l'espace des versions VS H,D Quelle est l'hypothèse MAP produite par la règle de Bayes? Est-ce que TrouverS rend l'hypothèse MAP? On considère un ensemble fixe d'instances {x 1, x 2,..., x m }. On suppose que D est l'ensemble des classes {c(x 1 ), c(x 2 ),..., c(x m )}. Hypothèses 1. Ensemble d'apprentissage sans bruit 2. H contient le concept cible c 3 sur 14
3. Il n'y a pas de raison a-priori qu'une hypothèse soit plus probable qu'une autre On choisit P(h) constant : h H, P(h) = 1 / H. On définit P(D h) : P(D h) = 1 si h est cohérente avec D P(D h) = 0 sinon Alors P(h D) = 1/ VS H,D si h est cohérente avec D, O sinon. Preuve Si h n'est pas cohérente avec D, P(D h) = 0, donc P(h D) = P(D h)p(h)/p(d) = 0 Si h est cohérente avec D, P(D h) = 1, donc P(h D) = P(h)/P(D) = 1/[P(D) H ] h H P(h D) = 1 = VS H,D /[P(D) H ], donc P(D) = VS H,D / H Autre approche : P(D) = h H P(D h)p(h) = h VSH,D 1 1/ H + h VSH,D 0 1/ H = VS H,D / H Evolution des probabilités a-posteriori Caractérisation des algorithmes d'apprentissage par rapport à l'hypothèse MAP Système inductif Entrées Exemples d'apprentissage D Espace des hypothèses H Sorties Hypothèse résultat Système bayésien équivalent 4 sur 14
Entrées Exemples d'apprentissage D Espace des hypothèses H Explicitation des hypothèses a-priori : P(h) uniforme P(D h) = 1 si cohérent, 0 sinon Sorties Hypothèse résultat ^ Apprentissage d'une fonction à valeurs réelles Hypothèses du maximum de vraisemblance et de la moindre erreur quadratique Considérons une fonction cible f à valeurs réelles. Soient les exemples d'apprentissage <x i, d i > où d i est une valeur bruitée : d i = f(x i ) + e i. e i est une variable aléatoire tirée indépendamment de chaque x i suivant une distribution gaussienne de moyenne égale à 0. Alors l'hypothèse la plus vraisemblable h ml est celle qui minimise la somme des carrés de l'erreur : Preuve h ml = argmin h H i (d i - h(x i )) 2 h ml p(d h) 5 sur 14
i p(d i h) i 1/(2πσ 2 ) 1/2 e - 1/2 ((d i - h(x i ))/σ)2 i ln(1/(2πσ 2 ) 1/2 ) - 1/2 ((d i - h(x i ))/σ) 2 i - 1/2 ((d i - h(x i ))/σ) 2 i - (d i - h(x i )) 2 = argmin h H i (d i - h(x i )) 2 Remarques Minimisation de l'erreur quadratique fréquemment utilisée pour l'apprentissage de fonctions à valeurs continues, par exemple dans les réseaux de neurones Distributions du bruit : souvent une distribution normale grâce au théorème de la limite centrale, mais pas toujours... Ne tient pas compte du bruit sur les attributs!... Apprendre à prédire des probabilités On veut, par exemple, prédire la probabilité de survie d'un patient f'(x) = P(f(x)=1) Les exemples d'apprentissage sont de la forme <x i,d i > où d vaut 0 ou 1. On veut entrainer un réseau de neurones à rendre une probabilité étant donné x i (pas 0 ou 1). Dans ce cas, on montre que : Preuve h ML i d i ln h(x i ) + (1-d i ) ln(1-h(x i )) h ML P(D h) i p(x i,d i h) i p(d i h,x i )p(x i ) Rq : P(d i h,x i ) = h(x i ) si d i =1, (1-h(x i )) si d i =0 i h(x i ) d i (1-h(x i )) 1-d ip(x i ) i h(x i ) d i (1-h(x i )) 1-d i i d i ln(h(x i )) + (1-d i ) ln(1-h(x i )) Règle de modification des pondérations 6 sur 14
w jk w jk + Δw jk Δw jk = η i (d i - h(x i )) x ijk ^ Principe de longueur de description minimale Rasoir d'occam Préférer les hypothèses les plus courtes MDL Préférer l'hypothèse h qui minimise : h MDL = argmin h H L C1 (h) + L C2 (D h) où L C (x) est la longueur de la description de x dans l'encodage C Exemple H = arbres de décision, D = classes des exemples L C1 (h) est le nombre de bits pour décrire l'arbre h L C2 (D h) est le nombre de bits pour décrire D étant donné h L C2 (D h) = 0 pour les exemples classés correctement par h. On a seulement besoin de décrire les exceptions. Donc h MDL est un compromis entre la taille de l'arbre et la description des erreurs sur l'ensemble d'apprentissage h MAP P(D h)p(h) log 2 P(D h) + log 2 P(h) = argmin h H - log 2 P(D h) - log 2 P(h) Fait intéressant de la théorie de l'information : le code optimal (la longueur de codage la plus courte) d'un événement de probabilité p est - log 2 p bits. L'interprétation est donc : - log 2 P(h) est la longueur optimale de codage de h 7 sur 14
- log 2 P(D h) est la longeur optimale de codage de D étant donné h h MAP préfére donc l'hypothèse qui minimise longueur(h) + longueur(erreurs de classification) ^ Classification la plus probable de nouvelles instances Jusqu'à présent nous avons cherché l'hypothèse la plus probable étant donné les données D (h MAP ). Etant donné une nouvelle instance x, quelle est sa classe la plus probable? h MAP (x) n'est pas nécessairement la classe la plus probable! Exemple On a 3 hypothèses possibles de probabilités P(h 1 D) = 0,4, P(h 2 D) = 0,3 et P(h 3 D) = 0,3. On considère une nouvelle instance x telle que h 1 (x)=+, h 2 (x)=- et h 3 (x)=-. Quelle est la classe la plus probable pour x? Classeur bayésien optimal Exemple argmax v V h H P(v h)p(h D) P(h 1 D) = 0,4 P(- h 1 ) = 0 P(+ h 1 ) = 1 P(h 2 D) = 0,3 P(- h 2 ) = 1 P(+ h 2 ) = 0 P(h 3 D) = 0,3 P(- h 3 ) = 1 P(+ h 3 ) = 0 h H P(+ h)p(h D) = 0,4 h H P(- h)p(h D) = 0,6 argmax v V h H P(v h)p(h D) = - Classeur de Gibbs 8 sur 14
Le classeur bayésien optimal fournit le meilleur résultat, mais il peut être coûteux s'il y a beaucoup d'hypothèses. Algorithme de Gibbs 1. 2. Choisir une hypothèse au hasard en fonction de P(h D) L'utiliser pour classer la nouvelle instance Surprise Si on suppose que les concepts cibles sont choisis au hasard dans H en fonction de la probabilité a-priori sur H, alors : E[erreur Gibbs ] 2 E[erreur BayésienOptimal ] Si on suppose une distribution de probabilité uniforme sur H, alors ^ choisir une hypothèse de l'espace des versions, avec une probabilité uniforme son erreur attendue est inférieur au double de celle du classeur bayésien optimal Classeur bayésien naïf Une des méthodes les plus pratiques avec les arbres de décision, réseaux de neurones et plus proches voisins. Conditions d'emploi Un ensemble d'apprentissage de taille modérée, voire grande. Les attributs qui décrivent les instances sont indépendants étant donné la classe. Applications réussies Diagnostic Classification de documents textuels Soit une fonction cible f: X V, où chaque instance x est décrite par ses valeurs <a 1, a 2,..., a n >. La valeur la plus probable de f(x) est : v MAP = argmax v V P(v a 1, a 2,..., a n ) = argmax v V P(a 1, a 2,..., a n v) P(v) / P(a 1, a 2,..., a n ) = argmax v V P(a 1, a 2,..., a n v) P(v) 9 sur 14
Hypothèse naïve de Bayes P(a 1, a 2,..., a n v) = i P(a i v) Classeur bayésien naïf v NB = argmax v V P(v) i P(a i v) Apprentissage Pour chaque valeur v de la fonction cible estimer P(v) Pour chaque valeur a de chaque attribut A estimer P(a v) Classification d'une nouvelle instance v NB = argmax v V P(v) i P(a i v) à partir des estimations apprises Exemple Reprenons notre exemple JouerTennis, et considérons une nouvelle instance : <Ciel = soleil; Température = froid; Humidité = élevée; Vent = fort> P(o) P(soleil o) P(froid o) P(élevée o) P(fort o) = 0,005 P(n) P(soleil n) P(froid n) P(élevée n) P(fort n) = 0,021 v NB = n Subtilités La condition d'indépendance P(a 1, a 2,..., a n v) = i P(a i v) est souvent violée. Mais ça marche quand même bien. En effet, on n'a pas besoin d'une bonne estimation de P(v x), mais seulement que : argmax v V P(v) i P(a i v) = argmax v V P(v) P(a 1, a 2,..., a n v) Analyse de [Domingos & Pazzani, 1996] Les probabilités a-posteriori du classeur bayésien naïf sont souvent, de façon peu réaliste, proches de 0 ou de 1. Que se passe-t-il si aucun exemple de classe v ne prend la valeur a pour l'attribut A? Si l'estimation de P(a v) vaut 0, alors P(v) i P(a i v) = 0!... Une solution typique est d'utiliser un m-estimateur : 10 sur 14
estimation de P(a v) =(n c + m p) / (n + m) n est le nombre d'exemples de classe v n v est le nombre d'exemples de classe v et de valeur a pour l'attribut A p est la probabilité a-priori de P(a v) m est le poids donné à la probabilité a-priori, un nombre d'exemples virtuels Apprendre à classer des textes Pourquoi? Apprendre quels articles de news sont intéressants pour l'utilisateur Apprendre à classer des pages web par sujet Le classeur bayésien naïf est parmi les algorithmes les plus efficaces Quels attributs faut-il utiliser pour représenter des documents? 1. 2. Représenter chaque document par un vecteur de mots : un attribut par position de mot dans le document Apprentissage : utiliser les exemples d'apprentissage pour estimer P(+) P(-) P(document +) P(document -) Hypothèse de Bayes naïve d'indépendance conditionnelle P(document v) = i P(a i = w k v) P(a i = w k v) est la probabilité que le mot à la position i soit w k étant donné la classe w Hypothèse supplémentaire : i,m, P(a i = w k v) = P(a m = w k v) Algorithme d'apprentissage 1. Rassembler la liste des mots qui apparaissent dans les exemples pour constituer le vocabulaire 2. Calculer les probabilités P(v) et P(w k v) Pour chaque valeur v de la fonction cible docs exemples de classe v P(v) docs / exemples texte document résultant de la concaténation de tous les éléments de docs 11 sur 14
n nombre total de mots de texte (en comptant les répétitions plusieurs fois) Pour chaque mot w k du vocabulaire n k nombre d'occurences du mot w k dans texte P(w k v) (n k +1) / (n+ vocabulary ) Algorithme de classification positions toutes les positions de mots dans le document qui contiennent des mots du vocabulaire Rendre v NB = argmax v V P(v) i positions P(a i v) Application à 20 newsgroups Etant donné 1000 documents d'apprentissage de chaque groupe, apprendre à classer de nouveaux documents en fonction du groupe dont ils viennent comp.graphics misc.forsale comp.os.ms-windows.misc rec.auto comp.sys.ibm.pc.hardware rec.motorcycles comp.sys.mac.hardware comp.windows.x alt.atheism talk.religion.misc talk.politics.mideast talk.politics.misc talk.politics.guns rec.sport.baseball rec.sport.hockey soc.religion.christian sci.space sci.electronics sci.med sci.crypt Exemple d'article Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!ogicse!uwm.edu From: xxx@yyy.zzz.edu (John Doe) Subject: Re: This year's biggest and worst (opinion)... Date: 5 Apr 93 09:53:39 GMT I can only comment on the Kings, but the most obvious candidate for pleasant surprise is Alex Zhitnik. He came highly touted as a defensive defenseman, but he's clearly much more than that. Great skater and hard shot (though wish he were more accurate). In fact, he pretty much allowed the Kings to trade away that huge defensive liability Paul Coffey. Kelly Hrudey is only the biggest disappointment if you thought he was any good to begin with. But, at best, he's only a mediocre goaltender. A better choice would be Tomas Sandstrom, though not through any fault of his own, but because some thugs in Toronto decided Classeur bayésien naïf : précision de classification de 89 % 12 sur 14
^ Réseaux bayésiens Intéressants pour les raisons suivantes : L'hypothèse de Bayes naïve d'indépendance conditionnelle est trop restrictive Problème incalculable sans de telles hypothèses... Réseaux bayésiens décrivent une indépendance conditionnelle entre un sous-ensemble des variables Ils permettent de combiner une connaissance préalable propos des (in)dépendances entre les variables avec les données observées Indépendance conditionnelle X est conditionnellement indépendant de Y étant donné Z si la distribution de probabilité dirigeant X est indépendante de la valeur de Y étant donné la valeur de Z, c'est-à-dire : x,y,z, P(X=x Y=y,Z=z) = P(X=x Z=z) P(X Y,Z) = P(X Z) Par exemple, le tonnerre est indépendant de la pluie étant donné l'éclair : P(tonnerre pluie,éclair) = P(tonnerre éclair) Classeur bayésien naïf utilise l'indépendance conditionnelle pour justifier : P(X,Y Z) = P(X Y,Z)P(Y Z) = P(X Z)P(Y Z) Réseau bayésien Feu de camp O,B O, B O,B O, B F 0,4 0,1 0,8 0,2 F 0,6 0,9 0,2 0,8 Le réseau représente un ensemble d'hypothèses dindépendance conditionnelle : Graphe dirigé acylique Chaque noeud est supposé indépendant conditionnellement de ses non-descendants, étant donné ses prédécesseurs immédiats Représente la distribution de probabilité jointe sur toutes ses variables Par exemple, P(Orage,BusTouriste,..., FeuForêt) 13 sur 14
En général, P(y 1,..., y n ) = P(y i Parents(Y i ), où Parents(Y i représente les prédécesseurs immédiats de Y i dans le graphe Ainsi une distribution complète est définie par le graphe, plus les probabilités P(y i Parents(Y i ) Inférence Prédire la valeur (distribution de probabilité!) d'une variable étant données les valeurs de quelques autres variables NP-difficile Méthodes exactes ou approchées Apprentissage Apprentissage des probabilités conditionnelles Si toutes les variables sont connues dans les exemples, estimation facile Sinon, semblable à la couche cachée d'un réseau de neurones Soient une variable Y i de Parents(Y i )=U i, h l'hypothèse courante et w ijk = P(Y i =y j U i =u k ), w ijk w ijk + η exemples d de D P(Y i =y j, U i =u k h) / w ijk Apprentissage de la structure Problème difficile Nicolas Lachiche CNAM 2008 14 sur 14