360 likes | 719 Views
Maschinelles Lernen. Der Naive Bayes - Klassifikator („Idiot Bayes“) Bayes - Netze. P( θ ). Wir wählen einen konjugierten Prior ~ Beta( α , β ) , z.B:. P( θ ). Faires oder gezinktes Spiel. Die Aufgabe:
E N D
Maschinelles Lernen Der Naive Bayes - Klassifikator („Idiot Bayes“) Bayes - Netze
P(θ) Wir wählen einen konjugierten Prior ~ Beta(α,β), z.B: P(θ) Faires oder gezinktes Spiel Die Aufgabe: Entscheide anhand eines n-maligen Münzwurfs, ob eine dir vorgelegte Münze fair ist, indem du die Kopf-Wahr-scheinlichkeit der Münze schätzt. Sei θ die Kopf-Wahrscheinlich-keit der Münze. Angenommen, es wurde x Mal Kopf beobachtet. Die Likelihood beträgt Hey you! Wanna play? Wir wollen MAP Schätzung betreiben. Welchen Prior würdest du wählen?
Anhand von kann eine Entscheidung über die Fairness der Münze gefällt werden. Die faire und die gezinkte Münze Der Posterior ist dann gegeben durch Der Modus dieser Verteilung ist der MAP-Schätzer für θ und lautet (falls x>1): Zum Vergleich: Der ML-Schätzer für θ lautet Beachte: • Durch Wahl von α und β kann der MAP Schätzer beliebig stark beeinflusst werden! • Für α=1, β=1 (uninformativer Prior) geht der MAP-Schätzer in den ML-Schätzer über.
Klassifikation anhand mehrerer Beobachtungen Likelihood Prior Posterior Bisher: Eindimensionales x (z.B. x reell, x binär) Wie kann man mittels mehrdimensionaler Beobachtungen lernen? Beispiel: Spamfilter Eingehende Emails sollen automatisch als Spam (S) oder als Nachricht (N) identifiziert werden. Hierzu liegen uns m=106 Emails E1,…Em vor, die zuvor von Benutzern von Hand als Spam oder Nachricht eingeordnet wurden, d.h. man hat einen großen Trainingsdatensatz, welcher bereits korrekt klassifiziert ist durch c: {E1,…Em } →{ S, N } Seien alle deutschen (besser gesagt: alle in Emails vorkommenden) Wörter mit w1,…,wg durchnummeriert. Für jede Email Ej zählt man nun, wie oft jedes der Wörter wk vorkommt und erhält somit eine Abbildung f: Emails → |N0g , E ׀→ x = (x1,…,xg)
Erinnerung: Zwei Zufallsvariablen heißen unabhängig, wenn gilt oder gleichwertig: bzw. Interpretation: Die Kenntnis der einen Zufallsvariablen liefert keine Information über die andere Zufallsvariable. Bag of Words Modell, Naiver Bayes Klassifikator Man ignoriert sämtliche weiteren Informationen (wie z.B. Satzbau, Tippfehler, Interpunktion) und postuliert bzw. hofft, genügend Information von dem vollständigen Text E in den Vektor x hinübergerettet zu haben. Dieses Verfahren wird gerne angewandt und heißt Bag of Words-Modell. Gesucht ist nun für ω = S, N der Posterior Idee (Naive Bayes (NB)-Annahme): Die Worthäufigkeiten X1,…,Xg sind unabhängig. Dann ist
Bag of Words Modell, Naiver Bayes Klassifikator Das Problem reduziert sich auf die Konstruktion eindimensionaler Likelihood-Funktionen P(xk|ω). Sei θSk bzw. θNk die Wahrscheinlichkeit des Auftretens von Wort wk in einem Spamtext bzw. einer Nachricht. Dann ist im Bag of Words-Modell P(Xk|ω) binomialverteilt, wobei n = x1+…+xg die Gesamtlänge des Textes ist. Bleibt nur noch, θSk bzw. θNk zu schätzen. Dies können wir aber schon! (s. Beispiel faire oder gezinkte Münze) Ausgehend vom gleichen Prior Beta(αk,βk) für beide Klassen ω= S, N und für das Wort wk ermitteln wir den MAP Schätzer für θSk bzw. θNk. Dabei fasse alle Spamtexte bzw. alle Nachrichtentexte als jeweils einen, langen Text der Länge nω auf, in dem das Wort wk genau xωk Mal vorkommt.
Bag of Words Modell, Naiver Bayes Klassifikator Eine neue Email E ׀→ x = (x1,…,xg) der Länge n wird dann klassifiziert durch Hier wird das Ergebnis der MAP Schätzung eingesetzt Für einen uniformen Prior P(ω=S) = P(ω=N) und für die generelle Wahl des uniformen Priors Beta(αk,βk) = Beta(1,1) ergibt sich
Bag of Words Modell, Naiver Bayes Klassifikator Nachteile des naiven Bayes-Klassifikators: • Die Unabhängigkeitsannahme ist fast nie erfüllt • Für abhängige Variablen ist die Likelihoodfunktion stark Richtung 0 oder 1 gebiased (systematisch verschoben) • Bei geringen Fallzahlen spielen die Wahlen der eindimensionalen Priors eine sehr (zu) große Rolle Vorteile des naiven Bayes-Klassifikators: • In der Praxis funktionieren NB-Klassifikatoren oft gut, selbst wenn die Unabhängigkeitsannahme verletzt ist. • Wenn die Unabhängigkeitsannahme richtig ist, ist der NB-Klassifikator optimal • Der NB-Klassifikator ist schnell und einfach zu berechnen. Er ist die am häufigsten verwendete Lernmethode! Kann man die Unabhängikeitsannahme des NB-Klassifikators abschwächen, ohne seine Stärken aufzugeben?
V1 V2 V3 V4 Grafische Modelle Die Beobachtung X bestehe aus n-Tupeln von Einträgen. Gesucht ist die gemeinsame Verteilung von X , X=(V1,V2, …,Vn).Graphische Modelle codieren eine gemeinsame Verteilung von Zufallsvariablen durch einen Graphen G = (V,E). V steht für „Vertices“ (Knoten) und E steht für „Edges“ (Kanten). Die Kanten bestimmen Unabhängigkeiten der Variablen in folgender Art und Weise: Die Variablen X und Y sind unabhängig gegeben eine Menge von Knoten M, falls jeder (gerichtete) Weg zwischen X und Y durch mindestens einen Knoten von M führt (Markoveigenschaft) Bsp.: Modelle, die aus ungerichteten Graphen hervorgehen, nennt man Markovfelder, gerichtete azyklische Graphen liefern Bayes-Netze. Bsp.: V1 und V4 sind unabhängig, wenn { V2,V3 } bekannt sind.
Bedingte Unabhängigkeit Zwei Zufallsvariablen X,Y heißen bedingt unabhängig, gegeben Z, wenn eine der drei äquivalenten Bedingungen erfüllt ist P(X|Y,Z) = P(X|Z) ;P(Y|X,Z) = P(Y|Z) ; P(X,Y|Z) = P(X|Z)P(Y|Z) Interpretation: Sobald Z bekannt ist, sind die Variablen X und Y unabhängig. Oder: Bei Kenntnis von Z liefert X keinerlei zusätzliche Information über Y, und umgekehrt. P(X,Y|Z=0) Y|Z Y|Z X|Z X|Z X|Z,Y|Z abhängig X|Z,Y|Z unabhängig
Frauen Männer Geschlecht Bedingte Unabhängigkeit Beispiel: Das Jahreseinkommen hängt von der Schuhgröße ab! Der Unterschied lässt sich jedoch durch die Variable „Geschlecht“ erklären.
Syntax von Bayes-Netzen • Ein Bayes-Netz B besteht aus • Einem gerichteten, azyklischen Graphen G=(V,E),wobei die Knoten V={V1,…,Vn} Zufallsvariablen sind. • Einer Menge lokaler bedingter Wahrscheinlichkeitsverteilungen P(Vj | pa(Vj )), j=1,…,n, wobei pa(Vj ) die Elternknoten von Vj sein sollen. • B codiert eine gemeinsame Wahrscheinlichkeitsverteilung von (V1,…,Vn) gemäß der Vorschrift
ω . . . X1 X2 Xn Syntax von Bayes-Netzen Frage: Wie lässt sich die naive Bayes-Annahme in Form eines Bayes-Netzes darstellen?
. . . X1 X2 Xn Syntax von Bayes-Netzen Beispiel: Markovketten Interpretation: Die Variable Xj hängt nur von ihrem direkten Vorgängerzustand ab. Markovketten werden oft zur Modellierung von Zeitreihen X1,…,Xn verwendet (der Laufindex j ist dann eine diskret tickende Uhr).
J = Jahreszeit S = Rasensprenger R = Regen N = Nasser Rasen Syntax von Bayes-Netzen Beispiel: „Sprinkler Netzwerk“ V = {J,S,R,N}E = {(J,S),(J,R), (S,N),(R,N)} pa(J) = ∅ pa(S) = {J} pa(R) = {J} pa(N) = {S,R}
Syntax von Bayes-Netzen Beispiel: „Sprinkler Netzwerk“ Die gemeinsame Verteilung von {J,S,R,N} wird durch den Graphen und 3+4+4+4 =15 reelle Zahlen codiert: z.B.
Bayes-Netze Beispiel: „Sprinkler Netzwerk“ Datenkompressionsaspekt: Die vollständige Festlegung der gemeinsamen Verteilung von {J,S,R,N} in Form einer Wahrscheinlichkeitstabelle hätte 4 ·2 · 2 · 2 - 1 = 31reelle Zahlen benötigt, im Gegensatz zu den 24 - 1 = 15 reellen Zahlen im Bayes-Netz. Notwendige Folge: Nicht alle Wahrscheinlichkeitsverteilungen können exakt codiert werden (eine Transformation, die alle W.verteilungen komprimiert, ist niemals verlustfrei). Man hofft jedoch, dass der durch Bayes-Netze generierte Modellraum sowohl groß genug ist als auch homogen genug verteilt ist im Raum aller W.verteilungen, so dass man beliebige W.verteilungen gut approximieren kann.
V1 1 < 2 1 < 3 V2 V3 2 < 4 3 < 4 V4 Semantik von Bayes-Netzen Im Folgenden ist es entscheidend, dass der zu Grunde liegende Graph azyklisch und gerichtet ist. Es ist nämlich dann stets möglich, die Knoten des Graphen derart umzunummerieren, dass gilt: (topologisches Sortieren) Beweis: Induktion nach Zahl der Knoten Im Folgenden sei ein Graph mit solch einer Nummerierung fest gewählt.
= 1 Semantik von Bayes-Netzen Satz: Ein Bayes-Netz bestimmt, von welchen Vorgängerknoten die W.verteilung eines Knotens abhängt, und von welchen nicht. D.h.: Ein Bayes-Netz erfüllt die Markov-Eigenschaft Beweis: Zunächst gilt (insbesondere bilden die Variablen V1,…,Vn-1 auch ein Bayes-Netz)
Semantik von Bayes-Netzen Per Induktion folgt daraus Schließlich ist für j =1,…,n
Dies gilt wegen pa(Vj ) {1, …, j-1} Semantik von Bayes-Netzen Satz: Ein gerichteter azyklischer Graph (mit Nummerierung), zusammen mit lokalen W.verteilungen legt, die Markoveigenschaft vorausgesetzt, die globale gemeinsame W.verteilung der Knoten eindeutig fest und definiert ein Bayes-Netz. Beweis:
Lernen von Bayes-Netzen. Multinomielles Sampling Die Komplexität der Modellierung der gemeinsamen W.verteilung reduziert sich bei Bayes-Netzen auf die Aufgabe, für relativ kleine Mengen von Zufallsvariablen (≤5) lokale W.verteilungen zu schätzen. Selbst hierfür muss man den Modellraum geeignet einschränken, was in der Regel durch Parametrisierung geschieht: V ~ Bin(n,p) bedeutet, dass für k = 0, …,n. Die Parameter n und p bestimmen vollständig die W.verteilung von V. V ~ Multinom(n,p1,…,ps ) bedeutet, dass Die Parameter n und p1,…,ps bestimmen vollständig die W.verteilung von V. Das Lernen einer Verteilung besteht dann im Finden eines möglichst guten Parametersatzes, daher der Name Parameteridentifikation. für n1+…+ns=n.
Sei X~Multinom(1,p1,…,ps ) mit unbekannten Parametern Θ=(p1,…,ps ),d.h. Lernen von Bayes-Netzen. Multinomielles Sampling Wir wählen einen zur Multinnomialverteilung konjugierten Prior: mit α = α1+…+αs ; die αs repräsentieren unser Vorwissen. Dann ist der Posterior wiederum Dirichlet-verteilt mit den Parametern
Lernen von Bayes-Netzen. Multinomielles Sampling Wie lernt man nun eine lokale bedingte W.verteilung? Wir setzen der Einfachheit halber voraus, jede der Variablen nehme Werte in {1,…,r} an. Sei w = (w1,…,wn) eine Beobachtung. Wir sind interessiert an den Wahrscheinlichkeiten Die Notation bedeutet Setze P( ) …
Sei qjdie Anzahl der Eltern von Vj. Bei r möglichen Zuständen der Zufallsvariablen gibt es also verschiedene gemeinsame Elternzustände, und es müssen Parameter gelernt werden (pro Verteilung sind wegen nur r-1 Parameter zu lernen). Lernen von Bayes-Netzen. Multinomielles Sampling Wie lernt man nun eine lokale bedingte W.verteilung? Wir setzen der Einfachheit halber voraus, jede der Variablen nehme Werte von 1,…,r an. Die Wahrscheinlichkeitstabelle von P(Vj | pa(Vj )) sieht dann folgendermaßen aus: Fürjeden der möglichen Elternzuständevmuss eine Wahrscheinlichkeitsvertei-liungMultinom(1,θj1v,…,θjrv)gelernt werden.
Lernen von Bayes-Netzen. Für jeden Elternzustand geschieht dies beispielsweise mittels des multinomiellen Samplings Wobei die Zahl der Beobachtungen mit Vj = t, Vpa(Vj )= v ist, und die das a-priori-Wissen repräsentieren. Problem: Um eine multinomiale posterior-Verteilung vernünftig zu lernen, sollte die Zahl der Beobachtungen die Zahl der Parameter deutlich überschreiten. Daher sollte die Zahl der Beobachtungen um ein Vielfaches übertreffen. Für r = 3, qj = 3 wäre dies 2·33 = 54, d.h., man braucht weit über 100 Beobachtungen. Das exponentielle Wachstum der benötigten Beobachtungszahl mit qj führt dazu, dass man oft als zusätzliche Modellannahme alle qjdurch 2 oder 3 begrenzt (was z.B. bei der Schätzung genregulatorischer Netzwerke sehr fragwürdig ist).
Lernen von Bayes-Netzen. Sei Und (dies sind alle Parameter, die die lokale bedingte W.verteilung des Knotens Vj festlegen) Wie setzt man nun die posteriors der Parameter der lokalen Verteilungen zu einem posterior der gesamten Parameterverteilung zusammen? Annahme:Globale Parameterunabhängigkeit Der globale Prior ist das Produkt der (lokalen) Priors aller Knoten.
Lernen von Bayes-Netzen. Annahme:Lokale Parameterunabhängigkeit Der lokale Prior ist das Produkt der Priors aller gelernten Parametersets Diese Annahme erscheint gewagt, sie ist oft nicht erfüllt. Beispiel: Gen X reguliert die Expression von Gen Y nach oben, und dieser Effekt ist X-dosisabhängig. Diskretisiert man die Expression von X bzw. Y in die Werte {niedrig, hoch}, so muss man (2-1)·21 = 2 Parameter, nämlich bspw. P(Y=hoch | X=niedrig) und P(Y=hoch | X=hoch) schätzen. Diese sind bei einem dosisabhängigen Effekt aber hochgradig abhängig, es gilt nämlich stets P(Y=hoch | X=niedrig) ≤ P(Y=hoch | X=hoch)
Lernen von Bayes-Netzen. Bei globaler und lokaler Parameterunabhängigkeit lässt sich der Posterior zerlegen in (ohne Beweis). Insbesondere erfüllt auch der Posterior die globale und lokale Bedingung für Parameterunabhängigkeit. Im Fall des multinomiellen Samplings erhält man Die einfache Lernregel lautet also:
ò = q q q P ( w | D ) P ( w | D , ) P ( | D ) d Q n n Õ Õ Õ w ò = q Q a + = q v v v Dir ( | n , t 1,..., r) d par ( V ) j jw j jt jt j = = q 1 1 j j Q j Î { 1 .. } v r Lernen von Bayes-Netzen. Aus dem globalen posterior können wir die gelernte Wahrscheinlich-keitsverteilung ausrechnen. Sei w=(w1,…,wn) eine Beobachtung, sei Dies ist eine Indikatorvariable, die überprüft, ob in der Beobachtung w in gilt. Die Wahrscheinlichkeitsverteilung für eine neue Beobachtung w ist dann (beachte: w ist von den restlichen Beobachtungen D unabhängig):
Posterior W.verteilung im einfachen, multinomialen Fall (denke dir die die in diesem Ausdruck konstanten j,v weg) Lernen von Bayes-Netzen.
Erinnerung: sind die Prior Parameter, und ist die Anzahl der Beobachtungen, in denen gilt. Lernen von Bayes-Netzen. Ist D = (x1,…,xm) ein Satz von Beobachtungen, und Dl = (x1,…,xl-1), l=1,…,m, so ist (bei gegebenem Netzwerk) Cooper, Herskovits (1992) Diese Wahrscheinlichkeit P(D) wird BD (Bayessche Dirichlet)-Metrik genannt.