Wissensentdeckung in Datenbanken Belief Propagation, Strukturlernen Nico Piatkowski und Uwe Ligges 29.06.2017 1 von 13
Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung Überanpassung SQL, Häufige Mengen SVM, xda, Bäume,... Heute Inferenz und Strukturlernen 2 von 13
Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung Überanpassung SQL, Häufige Mengen SVM, xda, Bäume,... Heute Inferenz und Strukturlernen 2 von 13
Mehr Eigenschaften von Graphen Nachbarschaft: Für Knoten v V in Graph G = (V, E) 1 4 N (v) = {u V {v, u} E} Pfad: Folge (v 1, v 2,..., v m ) von Knoten in der sich kein Knoten wiederholt 2 3 Kreis: Pfad (v 1, v 2,..., v m ) mit {v 1, v m } E Baum: Graph ohne Kreise ( kreisfrei ) Maximale Cliquengröße = 2 3 von 13
Mehr Eigenschaften von Graphen Nachbarschaft: Für Knoten v V in Graph G = (V, E) 1 4 N (v) = {u V {v, u} E} Pfad: Folge (v 1, v 2,..., v m ) von Knoten in der sich kein Knoten wiederholt 2 3 Kreis: Pfad (v 1, v 2,..., v m ) mit {v 1, v m } E Baum: Graph ohne Kreise ( kreisfrei ) Maximale Cliquengröße = 2 3 von 13
Mehr Eigenschaften von Graphen Nachbarschaft: Für Knoten v V in Graph G = (V, E) 1 4 N (v) = {u V {v, u} E} Pfad: Folge (v 1, v 2,..., v m ) von Knoten in der sich kein Knoten wiederholt 2 3 Kreis: Pfad (v 1, v 2,..., v m ) mit {v 1, v m } E Baum: Graph ohne Kreise ( kreisfrei ) Maximale Cliquengröße = 2 3 von 13
Mehr Eigenschaften von Graphen Nachbarschaft: Für Knoten v V in Graph G = (V, E) 1 4 N (v) = {u V {v, u} E} Pfad: Folge (v 1, v 2,..., v m ) von Knoten in der sich kein Knoten wiederholt 2 3 Kreis: Pfad (v 1, v 2,..., v m ) mit {v 1, v m } E Baum: Graph ohne Kreise ( kreisfrei ) Maximale Cliquengröße = 2 3 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Gradient der Log-Likelihood von Exponentialfamilien Gegeben Datensatz D, Funktion φ (binär), Ẽ[φ(X)] = (1/ D ) x D φ(x), P β (x) = exp( β, φ(x) A(β)) Negative mittlere log-likelihood: l(β; D) = 1 D Partielle Ableitung nach β i : log P β (x) x D = 1 β, φ(x) + A(β) D x D = β, Ẽ[φ(X)] + A(β) l(β; D) = Ẽ[φ(X) i] + A(β) 4 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Ableitung der Normalisierung Erinnerung: Form von A(β) (= log Z(β)) ist abhängig von X (diskret?,reel?,endlich?).hier: A(β) = log exp( β, φ(x) ) x X 1 = exp( β, φ(x) ) Z(β) x X 1 = Z(β) exp( β, φ(x) ) β, φ(x) x X = exp( β, φ(x) A(β))φ(x) i x X = E β [φ(x) i ] 5 von 13
Gradient der Log-Likelihood von Exponentialfamilien Also gilt für die partielle Ableitung nach β i : l(β; D) = Ẽ[φ(X) i] + A(β) = E β [φ(x) i ] Ẽ[φ(X) i] Ableitung ist beschränkt l(β;d) β [ 1; 1] l ist Lipschitz stetig i Man kann zeigen: l(β; D) auch Lipschitz stetig (L = 2 C(G) ) Jetzt: Wie berechnet man E β [φ(x) i ]? Jedes i entspricht einem Paar von Clique und Zustand, d.h. φ(x) i = φ(x) C=y für ein C C(g) und y X C 6 von 13
Gradient der Log-Likelihood von Exponentialfamilien Also gilt für die partielle Ableitung nach β i : l(β; D) = Ẽ[φ(X) i] + A(β) = E β [φ(x) i ] Ẽ[φ(X) i] Ableitung ist beschränkt l(β;d) β [ 1; 1] l ist Lipschitz stetig i Man kann zeigen: l(β; D) auch Lipschitz stetig (L = 2 C(G) ) Jetzt: Wie berechnet man E β [φ(x) i ]? Jedes i entspricht einem Paar von Clique und Zustand, d.h. φ(x) i = φ(x) C=y für ein C C(g) und y X C 6 von 13
Gradient der Log-Likelihood von Exponentialfamilien Also gilt für die partielle Ableitung nach β i : l(β; D) = Ẽ[φ(X) i] + A(β) = E β [φ(x) i ] Ẽ[φ(X) i] Ableitung ist beschränkt l(β;d) β [ 1; 1] l ist Lipschitz stetig i Man kann zeigen: l(β; D) auch Lipschitz stetig (L = 2 C(G) ) Jetzt: Wie berechnet man E β [φ(x) i ]? Jedes i entspricht einem Paar von Clique und Zustand, d.h. φ(x) i = φ(x) C=y für ein C C(g) und y X C 6 von 13
Marginalisierung Wenn Z binäre Zufallsvariable (Z = {0, 1}), dann E[Z] = P(Z = 1) Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Allgemein: P β (X C = y) = P β (y, x) x X V C Ausnutzen der Faktorisierung sowie der Distributivität: P β (X C = y) = 1 Z(β) x X V C exp( β U, φ U (z U ) ) U C(G) wobei z = (y, x) und z U sind die Werte der Knoten in U V 7 von 13
Marginalisierung Wenn Z binäre Zufallsvariable (Z = {0, 1}), dann E[Z] = P(Z = 1) Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Allgemein: P β (X C = y) = P β (y, x) x X V C Ausnutzen der Faktorisierung sowie der Distributivität: P β (X C = y) = 1 Z(β) x X V C exp( β U, φ U (z U ) ) U C(G) wobei z = (y, x) und z U sind die Werte der Knoten in U V 7 von 13
Marginalisierung Wenn Z binäre Zufallsvariable (Z = {0, 1}), dann E[Z] = P(Z = 1) Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Allgemein: P β (X C = y) = P β (y, x) x X V C Ausnutzen der Faktorisierung sowie der Distributivität: P β (X C = y) = 1 Z(β) x X V C exp( β U, φ U (z U ) ) U C(G) wobei z = (y, x) und z U sind die Werte der Knoten in U V 7 von 13
Marginalisierung in Bäumen Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Wenn G ein Baum ist mit V = {1, 2,..., n}, dann ist und P β (x) = 1 Z(β) exp( β uv, φ uv (x uv ) ) uv E Z(β) = exp( β uv, φ uv (x uv ) ) x X uv E = exp( β uv, φ uv (x uv ) ) x 2 X 2 x 1 X 1 Distributivität ausnutzen! x n X n uv E 8 von 13
Belief Propagation Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Z(β) = x 1 X 1 x 2 X 2 Distributivität ausnutzen... x n X n uv E exp( β uv, φ uv (x uv ) ) ψ uv(x uv) m v u (x) = ψ uv (yx) y X v Z(β) = y X v w N (v) P(X uv = xy) = ψ uv(yx) Z(β) w N (v) {u} m w v (y) w N (v) {u} m w v (y) m w v (y) w N (u) {v} m w u (y) 9 von 13
Belief Propagation Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Z(β) = x 1 X 1 x 2 X 2 Distributivität ausnutzen... x n X n uv E exp( β uv, φ uv (x uv ) ) ψ uv(x uv) m v u (x) = ψ uv (yx) y X v Z(β) = y X v w N (v) P(X uv = xy) = ψ uv(yx) Z(β) w N (v) {u} m w v (y) w N (v) {u} m w v (y) m w v (y) w N (u) {v} m w u (y) 9 von 13
Belief Propagation Ziel: Berechnung von E β [φ(x) C=y ] = P(X C = y) Z(β) = x 1 X 1 x 2 X 2 Distributivität ausnutzen... x n X n uv E exp( β uv, φ uv (x uv ) ) ψ uv(x uv) m v u (x) = ψ uv (yx) y X v Z(β) = y X v w N (v) P(X uv = xy) = ψ uv(yx) Z(β) w N (v) {u} m w v (y) w N (v) {u} m w v (y) m w v (y) w N (u) {v} m w u (y) 9 von 13
Gibbs Sampling Problem: Belief Propagation nur exakt wenn G ein Baum ist! Idee: Erzeuge neue Stichprobe gemäß P β und berechne ˆµ i durch abzählen Aber: Wie erzeugt man neue Samples aus P β (X)? Ausnutzung bedingter Unabhängigkeiten! Beobachtung: Wenn ganze Nachbarschaft eines Knotens v beobachtet ist, kann P v (x x N (v) ) einfach berechnet werden! 10 von 13
Gibbs Sampling Problem: Belief Propagation nur exakt wenn G ein Baum ist! Idee: Erzeuge neue Stichprobe gemäß P β und berechne ˆµ i durch abzählen Aber: Wie erzeugt man neue Samples aus P β (X)? Ausnutzung bedingter Unabhängigkeiten! Beobachtung: Wenn ganze Nachbarschaft eines Knotens v beobachtet ist, kann P v (x x N (v) ) einfach berechnet werden! 10 von 13
Gibbs Sampling: Algorithmus 1 Erzeuge x zufällig Gleichverteilt (das entspricht NICHT P β!) 2 Besuche jeden Knoten v V und weise gemäß P v (x x N (v) ) neuen Wert zu 3 Wiederhole Schritt 2 so oft wie möglich Man kann zeigen: Nach endlicher Anzahl von Schritten ist x ein echtes Sample aus P β! Dann: Nutze den Algorithmus um viele (so viele wie möglich) Samples zu erzeugen und berechne P(X uv = xy) (für alle Kanten {v, u} E) durch abzählen 11 von 13
Gibbs Sampling: Algorithmus 1 Erzeuge x zufällig Gleichverteilt (das entspricht NICHT P β!) 2 Besuche jeden Knoten v V und weise gemäß P v (x x N (v) ) neuen Wert zu 3 Wiederhole Schritt 2 so oft wie möglich Man kann zeigen: Nach endlicher Anzahl von Schritten ist x ein echtes Sample aus P β! Dann: Nutze den Algorithmus um viele (so viele wie möglich) Samples zu erzeugen und berechne P(X uv = xy) (für alle Kanten {v, u} E) durch abzählen 11 von 13
Chow-Liu Bäume Minimierung der Distanz zwischen optimalem Graph und bestem Baum T Hier: Distanz gemessen durch Kullback-Leiber Divergenz Kann umgeform werden zu KL(P, P T ) = P (x) log P (x) x X P T (x) KL(P, P T ) = H(P ) + v V H(P v) vu E(T ) I(X v, X u ) Maximaler Spannbaum! mit I(X v, X u ) = KL(P vu, P v P u ) (Allgemeines Maß für Unabhängigkeit!) 12 von 13
Chow-Liu Bäume Minimierung der Distanz zwischen optimalem Graph und bestem Baum T Hier: Distanz gemessen durch Kullback-Leiber Divergenz Kann umgeform werden zu KL(P, P T ) = P (x) log P (x) x X P T (x) KL(P, P T ) = H(P ) + v V H(P v) vu E(T ) I(X v, X u ) Maximaler Spannbaum! mit I(X v, X u ) = KL(P vu, P v P u ) (Allgemeines Maß für Unabhängigkeit!) 12 von 13
Graphen mittels Regularisierung Baobachtung: Sind ist kompletter Parametervektor β vu einer Kante = 0, so hat diese Kante keinen Einfluss auf P(X = x)! Idee: Minimiere l(β; D) + λ β 1 1 nicht differenzierbar!! Proximaler Gradientenabstieg (nächste Woche) Spoiler: β i λ, β i > λ prox λ 1 (β i ) = β i + λ, β i < λ 0, sonst 13 von 13