Lernen von Bayes-Netzen.

Werbung
Maschinelles
Lernen
Der Naive Bayes - Klassifikator („Idiot Bayes“)
Bayes - Netze
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-Wahrscheinlichkeit der Münze
schätzt.
Sei θ die Kopf-Wahrscheinlichkeit der Münze. Angenommen,
es wurde x Mal Kopf beobachtet.
Die Likelihood beträgt
Hey you! Wanna play?
2.5
2.0
1.5
0.0
P( ) ~ Beta(10,10) , P( ) ~ Beta(0.1,0 .1)
P(θ)
1.0
Wir wählen einen konjugierten Prior ~ Beta(α,β), z.B:
P(θ)
0.5
Wir wollen MAP Schätzung betreiben. Welchen Prior
würdest du wählen?
3.0
3.5
P( x |  )   x (1   ) n x
0.0
Seite
5/16/2016|
2
0.2
0.4
0.6
0.8
1.0
Die faire und die gezinkte Münze
Der Posterior ist dann gegeben durch
P( | x) ~ Beta(  x,   n-x)     x -1 (1   )   n x 1
Der Modus dieser Verteilung ist der MAP-Schätzer für θ und lautet (falls x>1):
ˆ 
  x -1
    n-2
Zum Vergleich: Der ML-Schätzer für θ lautet
ˆ 
x
n
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 MLSchätzer über.
Anhand von ˆ kann eine Entscheidung über die Fairness der Münze gefällt
werden.
Seite
5/16/2016|
3
Klassifikation anhand mehrerer Beobachtungen
Likelihood
Prior
P( | x)  P( x |  ) P( )
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
Seite
5/16/2016|
4
, E ‫ →׀‬x = (x1,…,xg)
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
P( | x)  P( | x1 ,..., x g )  P( x1 ,..., x g |  )P( )
Erinnerung: Zwei Zufallsvariablen heißen unabhängig, wenn gilt
P( X1,X 2 )  P( X1 )  P( X 2 )
oder gleichwertig:
P( X1 | X 2 )  P( X1 )
bzw.
P( X 2 | X1 )  P( X 2 )
Interpretation: Die Kenntnis der einen Zufallsvariablen liefert keine
Information über die andere Zufallsvariable.
Idee (Naive Bayes (NB)-Annahme): Die Worthäufigkeiten X1,…,Xg sind unabhängig.
Dann ist
g
P(X1 ,..., X g |  ) 
Seite
5/16/2016|
5
k
P(
X
| )

k 1
Bag of Words Modell, Naiver Bayes Klassifikator
Das Problem reduziert sich auf die Konstruktion eindimensionaler LikelihoodFunktionen 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,
P(x |  )   (1  
k
xk
n x k
)
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.
k
α

x
k
 -1
ˆk 
αk  βk  n -2
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.
Seite
5/16/2016|
6
Bag of Words Modell, Naiver Bayes Klassifikator
Eine neue Email E ‫ →׀‬x = (x1,…,xg) der Länge n wird dann klassifiziert durch
P( | x)  P( | x1 ,..., x g )  P( )P ( x1 ,..., x g |  )
g
g
 P( )   P(x |  )  P( )  
k
k 1
k 1

Hier wird das Ergebnis
der MAP Schätzung
eingesetzt
k xk
k n xk
ˆ
ˆ
( ) (1   )




αk  xk -1 x k  k  n  xk -1 n  x k 

 P( )    (
) (
)
αk  βk  n -2
k 1  α k  βk  n - 2

g
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
  xk
P( | x)     
k 1   n

g
Seite
5/16/2016|
7



xk
 x
1 
 n
k



n xk




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?
Seite
5/16/2016|
8
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.
V
1
V
V
2
3
V
4
Bsp.: V1 und V4 sind
unabhängig, wenn
{ V2,V3 } bekannt sind.
Seite
5/16/2016|
9
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.
Y|Z
y
Y|Z
x
Seite
5/16/2016|
10
y
P(X,Y|Z=0)
x
X|Z
X|Z
X|Z,Y|Z unabhängig
X|Z,Y|Z abhängig
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.
Frauen
Männer
Geschlecht
Seite
5/16/2016|
11
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
P(V1  v1 ,..., Vn  vn ) 
n
 P(V
j 1
Seite
5/16/2016|
12
j
 vv | pa(V j )  v pa(V j ) )
Syntax von Bayes-Netzen
P(V1  v1 ,..., Vn  vn ) 
n
 P(V
j
j 1
 vv | pa(V j )  v pa(V j ) )
Frage: Wie lässt sich die naive Bayes-Annahme
P(X 1 ,..., X n |  ) 
n
 P(X
k
| )
k 1
in Form eines Bayes-Netzes darstellen?
n
P(X 1 ,..., X n ,  )  P(X 1 ,..., X n |  ) P( )  P( ) P(X k |  )
k 1
ω
Seite
5/16/2016|
13
X
X
1
2
...
X
n
Syntax von Bayes-Netzen
Beispiel: Markovketten
X
X
1
2
P( X 1 ,..., X n ) 
...
n
n
 P( X
j 1
X
n
j
| pa( X j ))  P(X1 )   P( X j | X j 1 )
j 2
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).
Seite
5/16/2016|
14
Syntax von Bayes-Netzen
Beispiel: „Sprinkler Netzwerk“
V = {J,S,R,N}
pa(J) = ∅
E = {(J,S),(J,R),
(S,N),(R,N)}
J = Jahreszeit
pa(S) = {J}
Seite
5/16/2016|
15
an
0.1
0.5
0.1
0
Frühling
Sommer
Herbst
Winter
pa(R) = {J}
S = Rasensprenger
 J \S
Frühling

P( S | J )  Sommer
 Herbst

 Winter
1/4
1/4

P(J )  
1/4
1/4
aus
0.9
0.5
0.9
1
R = Regen
pa(N) = {S,R}
N = Nasser
Rasen
( S , R) \ N
nass

 (an, Regen)
1

P( N | S , R)   (an, kein Regen)
1
 (aus, Regen)
0.9

(aus, kein Regen) 0.01
 J \R
Frühling

P( R | J )  Sommer
 Herbst

 Winter
trocken
0
0
0.1
0.99
Regen kein Regen
0.3
0.7
0.4
0.6
0.2
0.8
0.1
0.9
Syntax von Bayes-Netzen
Beispiel: „Sprinkler Netzwerk“



pa(.)  



Die gemeinsame Verteilung von {J,S,R,N} wird durch
den Graphen und 3+4+4+4 =15 reelle Zahlen codiert:
1/4
1/4

P(J )  
1/4
1/4
Frühling
Sommer
Herbst
Winter
 J \S
Frühling

P( S | J )  Sommer
 Herbst

 Winter
an
0.1
0.5
0.1
0
aus
0.9
0.5
0.9
1
 J \R
Frühling

P( R | J )  Sommer
 Herbst

 Winter
Regen kein Regen
0.3
0.7
0.4
0.6
0.2
0.8
0.1
0.9
J  {}
S  {J}
R  {J}
N  {S, R}
( S , R) \ N
nass trocken

 (an, Regen)
1
0

P( N | S , R)   (an, kein Regen)
1
0
 (aus, Regen)
0.9
0.1

0.99
(aus, kein Regen) 0.01
P ( J  j , S  s, R  r , N  n) 
P(N  n | S  s, R  r)  P(S  s | J  j)  P(R  r | J  j)  P(J  j)
z.B. P( J  Sommer , S  aus , R  Regen , N  nass )
 P(N  nass | S  aus, R  Regen)  P(R  Regen | J  Sommer)
 P(S  aus | J  Sommer)  P(J  Sommer)
 0.9  0.4  0.5  0.25
 0.045
Seite
5/16/2016|
16
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 = 31 reelle 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.
Seite
5/16/2016|
17
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:
Vi  pa (V j )  i  j
V
1<2
(topologisches Sortieren)
Beweis: Induktion nach Zahl
der Knoten
1
1<3
V
V
2
3
2<4
3<4
V
4
Im Folgenden sei ein Graph mit solch einer Nummerierung fest
gewählt.
Seite
5/16/2016|
18
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
P(V j | pa(V j ))  P(V j|V1,...,V j 1 ) ,
j  1,..., n
Beweis: Zunächst gilt
P(V1 ,V2 ,...,Vn 1 )   P(V1 ,V2 ,...,Vn  vn ) dvn
Vn

n 1
  P(V
k
| pa(Vk ))  P(Vn | pa (Vn )) dvn
Vn k 1
n 1
  P(Vk | pa (Vk ))   P(Vn  vn | pa (Vn )) dvn
k 1
Vn
n 1
  P(Vk | pa (Vk ))
=1
k 1
Seite
5/16/2016|
19
(insbesondere bilden die Variablen V1,…,Vn-1 auch ein Bayes-Netz)
Semantik von Bayes-Netzen
Per Induktion folgt daraus
P(V1 ,V2 ,...,V j ) 
j
 P(V
k
| pa(Vk )) ,
j  1,...,n
k 1
Schließlich ist für j =1,…,n
P(V j | V1 ,..., V j 1 ) 

P(V1 ,..., V j 1 ,V j )
P(V1 ,...,V j 1 )


j
k 1
j 1
k 1
P(Vk | pa(Vk ))
P(Vk | pa(Vk ))
 P(V j | pa(V j ))
Seite
5/16/2016|
20
Semantik von Bayes-Netzen
Satz: Ein gerichteter azyklischer Graph (mit Nummerierung),
zusammen mit lokalen W.verteilungen legt, die Markoveigenschaft
P(V j | pa(V j ))  P(V j|V1,...,V j 1 ) ,
j  1,..., n
vorausgesetzt, die globale gemeinsame W.verteilung der Knoten
eindeutig fest und definiert ein Bayes-Netz.
Beweis:
P(V1 ,V2 ,..., Vn )  P(Vn | Vn 1 ,..., V1 )  P(Vn 1 ,..., V1 )
 P(Vn | Vn 1 ,..., V1 )  P(Vn 1 | Vn  2 ,..., V1 )  P(Vn  2 ,..., V1 )


Dies gilt wegen
pa(Vj )  {1, …, j-1}
n
 P(V
| V j 1 ,..., V1 )
j
| pa (V j ))
j 1

n
 P(V
j 1
Seite
5/16/2016|
21
j
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:
n
V ~ Bin(n,p) bedeutet, dass P(V  k )    p k (1  p) n k für k = 0, …,n.
k 
Die Parameter n und p bestimmen vollständig die W.verteilung von V.
V ~ Multinom(n,p1,…,ps ) bedeutet, dass

 n1 n2
n!
 p1 p2 ... psns
P(V  (n1 ,..., ns ))  
 n1!  ... ns! 
für n1+…+ns=n.
Die Parameter n und p1,…,ps bestimmen vollständig die W.verteilung
von V.
Seite
5/16/2016|
22
Das Lernen einer Verteilung besteht dann im Finden eines möglichst
guten Parametersatzes, daher der Name Parameteridentifikation.
Lernen von Bayes-Netzen. Multinomielles Sampling
Sei X~Multinom(1,p1,…,ps ) mit unbekannten Parametern
Θ=(p1,…,ps ), d.h.
P( X  k | )  pk , k  1,..., s
Wir wählen einen zur Multinnomialverteilung konjugierten
Prior:
P()  Dir ( | 1 ,...,  s ) 
( )

s
j 1
( j
s
p

)
 j 1
j
j1
mit α = α1+…+αs ; die αs repräsentieren unser Vorwissen.
Dann ist der Posterior wiederum Dirichlet-verteilt mit den
Parametern
P( | D)  Dir (1  n1 ,...,  r  nr )
Seite
5/16/2016|
23
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 P(w j  r | pa (V j )  wpa (V ) ). Die Notation wpa (V )
j
j
bedeutet wpa (V )  (wv )vpa (V )
j
j
Setze
P(
Vpa (V j ) 1  wpa (V j ) 1
…
V pa (V j )q  w pa (V j )q
j
j
)
Vj  wj
w pa(V
 P(V j  w j | pa (V j )  wpa (V j ) ) : θ jwj
Seite
5/16/2016|
24
j)
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:
P(V j | pa (V j ))
 pa (V j )
P (V j | pa (V j ))  
qj
v
v
v

{
1
,...,
r
}
Multinom
(
1
,
θ
,...,
θ
j1
jr )

( S , R) \ N
nass trocken
Für jeden der möglichen

 (an, Regen)
Elternzustände v muss eine
1
0

Wahrscheinlichkeitsvertei- P( N | S , R)   (an, kein Regen) 1
0
 (aus, Regen)
liung Multinom(1,θj1v,…,θjrv)
0.9
0.1

gelernt werden.
(aus, kein Regen) 0.01
0.99
Sei qj die Anzahl der Eltern von Vj. Bei r möglichen Zuständen der
q
Zufallsvariablen gibt es also r j verschiedene gemeinsame
q
Elternzustände, und es müssen ( r  1)  r j Parameter gelernt
werden (pro Verteilung sind wegen  j1  ...   jr  1 nur r-1
Parameter zu lernen).
Seite
5/16/2016|
25
Lernen von Bayes-Netzen.
Für jeden Elternzustand geschieht dies beispielsweise mittels des
multinomiellen Samplings
P(θ vj1 ,..., θ vjr )  Dir ( vj1 ,...,  vjr )
P(θ vj1 ,..., θ vjr | D)  Dir ( vj1  nvj1 ,...,  vjr  nvjr )
v
Wobei n jt die Zahl der Beobachtungen mit Vj = t, Vpa(Vj ) = v ist,
und die  vjt 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
q
deutlich überschreiten. Daher sollte die Zahl der Beobachtungen (r  1)  r j
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 qj
durch 2 oder 3 begrenzt (was z.B. bei der Schätzung
genregulatorischer Netzwerke sehr fragwürdig ist).
Seite
5/16/2016|
26
Lernen von Bayes-Netzen.
Sei
vj  ( vj1 ,...,  vjr ) , für alle j  1,...,n, v {1,..., r}
Und
 j  (vj , v {1,..., r} j )
qj
q
(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 P ( j | D ) zu einem posterior der gesamten
Parameterverteilung zusammen?
Annahme: Globale Parameterunabhängigkeit
n
P()   P( j )
j 1
Der globale Prior ist das Produkt der (lokalen) Priors aller
Knoten.
Seite
5/16/2016|
27
Lernen von Bayes-Netzen.
Annahme: Lokale Parameterunabhängigkeit
P( j )  P(vj , v {1,..., r} j )
q

  P( ) , v {1,..., r}
v
j
qj

Der lokale Prior ist das Produkt der Priors aller gelernten
v
v
v
Parametersets  j  ( j1 ,...,  jr ) .
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)
Seite
5/16/2016|
28
Lernen von Bayes-Netzen.
Bei globaler und lokaler Parameterunabhängigkeit lässt sich der Posterior
zerlegen in
n
n
j 1
j 1 v{1.. r }q j
P ( | D )   P ( j | D )  
v
P
(

 j | D)
(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
n
P ( | D )  
v
v
v
Dir
(

|


n

j
jt
jt , t  1,..., r)
j 1 v{1.. r }q j
Die einfache Lernregel lautet also:
n
Prior  P()  
v
v
Dir
(

|


j
jt , t  1,..., r)
j 1 v{1.. r }q j
n
 Posterior  P( | D )  
v
v
v
Dir
(

|


n

j
jt
jt , t  1,..., r)
j 1 v{1.. r }q j
Seite
5/16/2016|
29
Lernen von Bayes-Netzen.
Aus dem globalen posterior können wir die gelernte Wahrscheinlichkeitsverteilung ausrechnen. Sei w=(w1,…,wn) eine Beobachtung, sei
1 falls w j  t , wpa(V j )  v
m 
0 sonst
v
jt
Dies ist eine Indikatorvariable, die überprüft, ob in der
Beobachtung w in ( Knoten j , Eltern von j )  ( t , v )
gilt. Die
Wahrscheinlichkeitsverteilung für eine neue Beobachtung w ist dann
(beachte: w ist von den restlichen Beobachtungen D unabhängig):
P( w | D)   P( w | D, ) P( | D) d

n
   jw j
 j 1
Seite
5/16/2016|
30
w par ( V j )
n

v
v
v



 1,..., r) d
Dir
(
|
n

j
jt
jt , t
j 1 v{1..r }q j
Lernen von Bayes-Netzen.
n
P( w | D)     jw j
w par( V j )
 j 1
n


j 1 v{1.. r }q j
( (j vk )  n (jvk ) )
n
 
j 1 v{1.. r }q j

r
t 1
( vj  n vj )

r
t 1
(  n
v
jt
(
r
v
jt
( vk )
jt
(


)
n
( vk )
jt
r
(

)
)
t 1
v
v
v
v  jt  n jt 1 m jt
jt
)
(v )
(v )
( vk )  jt k  n jt k 1
jt
d
 t 1
Posterior W.verteilung im einfachen, multinomialen Fall
(denke dir die die in diesem Ausdruck konstanten j,v weg)
n

j 1
Seite
5/16/2016|
31
 jw
w par(V j )
j
j
w par(V j )
w par(V j )
 n jw j
w par(V j )
 nj
d
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)
m
P(D)  P(xm|Dm )P(Dm )  ...   P( xl | Dl )
l 1
Cooper, Herskovits
(1992)

n


( vj )
i 1 v{1.. r }
qj
( vj  n vj )
r

t 1
( vjt  n vjt )
( vjt )
Erinnerung:  vjt sind die Prior Parameter, und n jt ist die
Anzahl der Beobachtungen, in denen (Knoten j, Eltern(j) )  (t , v)
gilt.
v
Diese Wahrscheinlichkeit P(D) wird
BD (Bayessche Dirichlet)-Metrik genannt.
Seite
5/16/2016|
32
Herunterladen