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
) (
) ( )
| (
) (
) ) (
|
( P A
B P B A
P A
P
A B
A P B
P
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
) (
) ( )
| ( )
(
) ) (
|
( P T
h P h T
P T
P
h T
T P h
P
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):
) ( )
| ( max
arg P D h P h h
H h map
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!
h Hi i
j
i j
T h
P h
v P V
v
)
| (
)
|
max (
arg
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
) ( )
| ,...,
, , ( max arg
) ,...,
, , (
) ( )
| ,...,
, , max (
arg :
Bayes mit
) ,...,
, ,
| ( max arg
3 2 1
3 2 1
3 2 1 3 2 1
j j
n V
v
n
j j
n V
v MAP
n j
V v MAP
v P v a
a a a P
a a
a a P
v P v a
a a a V P
a a
a a v
P V
j
j j
Naive Bayes
• Nehme an, die Attribute a1, a2, ...,an sind voneinander unabhängig, dann:
• Naive Bayes Klassifikator:
i
j i
j V
v
NB
P v P a v
v
j
)
| (
) (
max
arg
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
1. Diskutieren Sie die Unabhängigkeitsannahme des Naive Bayes Klassifikators im Hinblick auf die Textklassifikation
2. Sie finden im mltc Verzeichnis einen Ordner
/material/beispiel1/data, der Trainingstexte für verschiedene Zeitungs-Ressorts enthält.
– Extrahieren Sie 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
– Diese Aufgabe ist als Programmier-Übung in einer
Programmiersprache Ihrer Wahl gedacht, falls Sie sich die
Programmierung nicht zutrauen, wählen Sie bitte einen Text aus Test aus und führen die Berechnungen nur für die darin enthaltenen Wörter und diesen einen Text aus
– Zeit für die Bearbeitung der 2. Aufgabe: 2 Wochen