210 likes | 353 Views
Maschinelles Lernen. Bayes‘sche Verfahren (Mitchell Kap. 6), Teil 1. Überblick. Bayes‘sche Lernverfahren werden in erster Linie für Klassifikation oder Konzept-Lernen verwendet Ziel: Abschätzung der Wahrscheinlichkeit mit der ein Objekt E einer Klasse C angehört
E N D
Maschinelles Lernen Bayes‘sche Verfahren (Mitchell Kap. 6), Teil 1
Überblick • Bayes‘sche Lernverfahren werden in erster Linie für Klassifikation oder Konzept-Lernen verwendet • Ziel: Abschätzung der Wahrscheinlichkeit mit der ein Objekt E einer Klasse C angehört • Möglichkeit der Miteinbeziehung von Vorwissen
Grundlagen Wahrscheinlichkeitsrechnung • Ereignismenge: Ω = Menge aller möglichen (Elementar-)Ereignisse • Ereignisraum: F = pot(Ω) • Wahrscheinlichkeitsverteilung P: F->[0,1] • P(Ω) = 1 • Für disjunkte AiΩ: P(UAi) = ∑P(Ai) • P(A) ist die Wahrscheinlichkeit von A • Typischerweise: P(A) = |A|/|Ω| • Bedingte Wahrscheinlichkeit: P(A|B) • Wahrscheinlichkeit von A, unter der Voraussetzung dass B • P(A|B) = P(A ∩ B) / P(B)
Beispiel • Dreimaliges Werfen einer Münze: Ω = {kkk,kkz,kzk,zkk,kzz,zkz,zzk,zzz} • A sei „genau 2 mal Kopf“ = {kkz,kzk,zkk} • P(A) = ?
Beispiel • Dreimaliges Werfen einer Münze: Ω = {kkk,kkz,kzk,zkk,kzz,zkz,zzk,zzz} • A sei „genau 2 mal Kopf“ = {kkz,kzk,zkk} • P(A) = 3/8 • Sei B „1. Wurf Kopf“ = {kkk,kkz,kzk,kzz} • P(A|B) = ?
Beispiel • Dreimaliges Werfen einer Münze: Ω = {kkk,kkz,kzk,zkk,kzz,zkz,zzk,zzz} • A sei „genau 2 mal Kopf“ = {kkz,kzk,zkk} • P(A) = 3/8 • Sei B „1. Wurf Kopf“ = {kkk,kkz,kzk,kzz} • P(A|B) = |{kkz,kzk}|/{kkk,kkz,kzk,kzz}| = ½
Bayes‘scher Satz Nützlich, wenn P(A), P(B) und P(A|B) einfacher zu berechnen oder abzuschätzen sind als der gesuchte Wert P(B|A).
Bayes‘scher Satz und maschinelles Lernen • P(h): Wahrscheinlichkeit von Hypothese h • P(T): Wahrscheinlichkeit von Trainingsmenge T • P(T|h): Wahrscheinlichkeit von T unter der Hypothese h • P(h|T): Wahrscheinlichkeit von h unter der Voraussetzung von T • D.h. gesucht diejenige Hypothese h, unter der P(h|T) maximal wird
Bayes‘sches Lernen • P(h), P(T) werden auch als „a priori“ Wahrscheinlichkeiten bezeichnet • P(h|T) wird als „a posteriori“ Wahrscheinlichkeit bezeichnet. • Gesucht also die maximale a posteriori (MAP) Hypothese hMAP • da P(T) immer konstant genügt für die Bestimmung von hMAP P(D|h)P(h):
Brute Force Lern-Algorithmus • Einfacher Lern-Algorithmus: • Für jede Hypothese h H: • Berechne P(T|h)P(h) • Gebe hMAP = argmaxhHP(T|h)P(h) aus • Problem: • hoher Rechenaufwand! • Wie sieht P(T|h) bzw. P(h) aus?
Beispiel • Konzept-Lernen: • P(h) = 1/|H| (jede Hypothese ist gleich wahrscheinlich) • Sei tiT, ti = c(xi), dann: P(T|h) = 1 falls für alle ti in T: h(xi) = ti; 0 sonst • Dann: • P(h|T) = 0 gdw. h ist nicht konsistent mit T • sonst P(h|T) = (1 * 1/|H|)/P(T) = 1/VSH,T • D.h. jede mit T konsistente Hypothese ist MAP Hypothese
Optimaler Bayes Lerner • Brute Force Bayes: ergibt Hypothese mit der größten Wahrscheinlichkeit gegeben eine Trainingsmenge • Eigentlich gesucht: wahrscheinlichste Klassifikation für eine neue Instanz • Warum ist das nicht dasselbe?
Optimaler Bayes Klassifikator • Beispiel: • seien h1, h2, h3 Hypothesen mit P(h1|T) = 0,4, P(h2|T) = 0,3, P(h3|T) = 0,3 • h1(x) = 0, h2(x) = 1, h3(x) = 1 • Dann ist h1 die MAP Hypothese • Die Klassifikation von x als positive Instanz erscheint jedoch wahrscheinlicher
Optimaler Bayes Klassifikator • Idee: berechne für jede Hypothese die Wahrscheinlichkeit der Klassifikation und gewichte das jeweils gemäß der Wahrscheinlichkeit der Hypothese!
Optimaler Bayes Klassifikator • Seien vj V die möglichen Werte für eine neue Instanz x • Dann ist die Wahrscheinlichkeit, dass x den Klassifikationswert vj hat: • P(vj|T) = ∑hHP(vj|h)P(h|T) • Die optimale Klassifikation ist also der Wert vj für den P(vj|T) maximal ist
Optimaler Bayes Klassifikator • Nachteil: sehr aufwendige Berechnung bei großer Hypothesen-Menge!
Naive Bayes Klassifikator • Weitest verbreitete Klassifikationsstrategie in der Textklassifikation • Geeignet für Lernprobleme mit mittleren bis großen Trainingsmengen • Attributen, die (weitgehend) unabhängig voneinander sind. • Idee: Wahrscheinlichkeit der Klassifikation lässt sich berechnen aufgrund der Wahrscheinlichkeiten der Attributwerte für bestimmte Klassifikation
Naive Bayes • Gesucht: wahrscheinlichster Zielwert vMAP
Naive Bayes • Nehme an, die Attribute a1, a2, ...,an sind voneinander unabhängig, dann: • Naive Bayes Klassifikator:
Naive Bayes und Textklassifikation • Betrachte als potentielle Attribute das Vokabular • Treffe geeignete Auswahl, z.B. schließe die 100 frequentesten Wörter und alle Wörter mit einer Frequenz < 3 aus • Wie realistisch ist die Unabhängigkeitsannahme für die Textklassifikation?
Aufgaben • Diskutieren Sie die Unabhängigkeitsannahme des Naive Bayes Klassifikators im Hinblick auf die Textklassifikation • Implementierung eines Naive Bayes Classifiers. Material für diese Aufgabe finden Sie finden im Internet unter http://www.cis.uni-muenchen.de/kurse/pmaier/ML_05/material/MaterialBayes.tgz . Wenn Sie diese Datei auspacken, erhalten Sei einen Ordner der Trainingstexte für verschiedene Zeitungs-Ressorts (Ordner mit entsprechenden Ressortbezeichnern) sowie testdaten (Ordner test) enthält. • Extrahieren Sie für die Trainingsdaten das Vokabular (wie zuvor beschrieben: schließen Sie die 100 frequentesten Wörter und die Wörter mit einer Frequenz < 3 aus) • Berechnen Sie für jedes Wort w und jede Kategorie c den Wert P(w|c) • Berechnen Sie für die Testdokumente im Verzeichnis test die wahrscheinlichste Kategorie • Zeit für die Bearbeitung der 2. Aufgabe: 2 Wochen