Modelle mit maximaler Entropie Endliche Wahrscheinlichkeitsräume Übersicht Ein endlicher Wahrscheinlichkeitsraum (Ω, F, P) umfasst Endliche Wahrscheinlichkeitsräume Entropie Partielle Information (Evidenz) Prinzip der maximalen Entropie Exponentielle Modelle Generalized Iterative Scaling (GIS) Erwartungswerte und Trainingskorpus Ω: Endliche Menge der möglichen Ergebnisse Lösung eines Effizienzproblems des GIS Literatur P: Wahrscheinlichkeitsmassfunktion mit der Signatur P: F → [0,1] F: Ereignis-Algebra, normalerweise die Potenzmenge ℘ Ω Ein Ereignis (event) ist eine Menge von Ergebnissen. Eine Menge von Mengen F zusammen mit den Operationen Differenz \ und Vereinigung ∪ bilden eine Algebra genau dann, wenn für beliebige A,B gilt: A ∈F ⇒ Ω \ A ∈ F A ∈F ∧ B ∈F ⇒ A ∪ B ∈F Die Potenzmenge einer endlichen Menge ist immer eine Algebra. wobei P(Ω) = 1 (und P({}) = 0) wobei für beliebige disjunkte Teilmengen A ∈ F und B ∈ F gilt: P(A∪B) = P(A) + P(B) Modelle mit maximaler Entropie — 1 Modelle mit maximaler Entropie — 2 Ein endlicher Wahrscheinlichkeitsraum Entropie Ein endlicher Wahrscheinlichkeitsraum (Ω, F, P) umfasst Entropie H zeigt, wieviel Überraschung in einem Wahrscheinlichkeitsraum S=(Ω, F, P) steckt. Ω= A×B = {(a,u),(a,u),(a,u),(a,u)} HS = − ∑ P({w}) ⋅ log 2 P({w}) A= {a,a} mit a=Akzess bestanden, a=Akzess nicht bestanden B= {u,u} mit u=Übungen gemacht, u=Übungen nicht gemacht w ∈Ω F= ℘ Ω = {{}, {(a,u)},{(a,u)},{(a,u)},{(a,u)}, {(a,u),(a,u)},{(a,u),(a,u)},{(a,u),(a,u)}, {(a,u),(a,u)},{(a,u),(a,u)},{(a,u),(a,u)}, {(a,u),(a,u),(a,u)},{(a,u),(a,u),(a,u)},{(a,u),(a,u),(a,u)},{(a,u),(a,u),(a,u)}, {(a,u),(a,u),(a,u),(a,u)}} P: rekursiv aus Einzelwahrscheinlichkeit Beispiel a a Σ u 0.5 0.1 0.6 u 0.2 0.2 0.4 Σ 0.7 0.3 1 0 falls W = {} P (W ) = Wahrscheinlichkeits′ P ({ }) + P ( W ) falls W ′ = W \ {ω} ω G raum als Tabelle Wahrscheinlichkeitsmass für Grundereignisse(=Ereignis mit genau 1 Ergebnis): PG = {({(a,u)},0.5),({(a,u)},0.1),({(a,u)},0.2),({(a,u)},0.2)} Modelle mit maximaler Entropie — 3 H = −(P({( a, u)} ⋅ log 2 P({( a, u)}) + P({( a, u)}) ⋅ log 2 P({( a, u)}) + P({( a, u)}) ⋅ log 2 P({( a, u)}) + P({( a, u)}) ⋅ log 2 P({( a, u)}) = −(0.5 ⋅ log 2 0.5 + 0.2 ⋅ log 2 0.2 + 0.1⋅ log 2 0.1 + 0.2 ⋅ log 2 0.2) = −(-0.5+ + -0.464+-0.332+-0.464) a a Σ u 0.5 0.1 0.6 u 0.2 0.2 0.4 Σ 0.7 0.3 1 Wahrscheinlichkeitsraum als Tabelle H = 1.76 = 1.76 Wahrscheinlichkeitsräume mit gleichwahrscheinlichen Grundereignissen haben immer die höchste Entropie! Modelle mit maximaler Entropie — 4 Eigenschaften Partielle Information Entropie beinhaltet die Funktion Oft reichen die vorhandenen Informationen nicht aus, um das Wahrscheinlichkeitsmass eindeutig zu fixieren. f(x) x ⋅ log 2 x falls x > 0 g( x) = 0 falls x = 0 0.2 0.4 0.6 0.8 1 x -0.1 P({(x,y)|x=a}) = 0.7 -0.2 daraus folgt: P({(x,y)|x≠a}) = 0.3 -0.3 Unten sind 2 von unendlich vielen möglichen Wahrscheinlichkeitsmassen! -0.4 -0.5 Minimum dieser Funktion ist bei 1/e, d.h. dem Kehrwert der Basis des natürlichen Logarithmus (e ≈ 2.71828). Beispiel: Vorhandene Information: 70% bestehen Akzessprüfung 1/e ≈ 0.36788 a a Σ u 0.5 0.1 0.6 u 0.2 0.2 0.4 Σ 0.7 0.3 1 a a Σ u 0.6 0.1 0.7 u 0.1 0.2 0.3 Σ 0.7 0.3 1 Partiell bekannter Wahrscheinlichkeitsraum Kompatibler Wahrscheinlichkeitsraum A Kompatibler Wahrscheinlichkeitsraum B HA = 1.57 HB = 1.88 Modelle mit maximaler Entropie — 5 u u Σ Σ a a 0.35 0.15 0.5 0.35 0.15 0.5 0.7 0.3 1 Modelle mit maximaler Entropie — 6 Prinzip der Maximalen Entropie Mögliche Entropiewerte Wähle denjenigen Wahrscheinlichkeitsraum aus, welcher die partielle Information berücksichtigt und die höchste Entropie hat! (Jaynes 1957) Alle Wahrscheinlichkeitsmasse des Beispiels, Entropie wird auch als Mass der fehlenden Information bezeichnet Der beste Wahrscheinlichkeitsraum ist also derjenige, welche die vorhandene und die fehlende Information exakt wiedergibt! Problem die mit der partiellen Information kompatibel sind, lassen sich als Funktion mit 2 Argumenten darstellen. x = P({(a,u)}) y = P({(a,u)}) Hx ,y = −( x ⋅ log 2 x + (0.7 − x ) ⋅ log 2 (0.7 − x ) + y ⋅ log 2 y + (0.3 − y ) ⋅ log 2 (0.3 − y )) H Wie finde ich den besten aller möglicher Wahrscheinlichkeitsräume? Kodierung der partiellen Information als Erwartungswert Finden des Wahrscheinlichkeitsraumes mit höchster Entropie, welcher die Erwartungswerte erfüllt Modelle mit maximaler Entropie — 7 u u Σ Σ a a x 0.3-y x+0.3-y 0.7-x y y+0.7-x 0.7 0.3 1 1.75 1.5 1.25 1 Partiell bekannter Wahrscheinlichkeitsraum 0.2 0 y 0.2 0.1 x 0.4 0.6 0 6 0 Entropie der möglichen Wahrscheinlichkeitsmasse Modelle mit maximaler Entropie — 8 Kodierung der partiellen Information Kodierung der partiellen Information Die Evidenz lässt sich ausdrücken als Erwartungswert E einer binären Funktion f über einem Wahrscheinlichkeitsraum (Ω,F,P). Mehr als eine binäre Funktion 1 falls ω = (a, y) f (ω ) = 0 sonst f: Ω → {0,1} E: P × (Ω → {0,1}) → [0,1] E (P , f ) = 0.7 Falls P bekannt ist, lässt sich der Erwartungswert berechnen: E(P , f ) = ∑ P({ω}) ⋅ f (ω ) Im Allgemeinen braucht es n binäre Funktionen, um die Evidenz auszudrücken. Binäre Funktionen werden deshalb als endliche Folgen der Länge n dargestellt. f :{1..n} → (Ω → {0,1}) Statt der funktionalen Notation f(i)(ω) wird übliche Index-Notation fi(ω) verwendet. Beispiel: 1 falls ω = (a, y) f1(ω ) = 0 sonst E(PA , f ) = 0.6 ⋅ 1 + 0.1⋅ 1 + 0.1⋅ 0 + 0.2 ⋅ 0 = 0.7 E(PB , f ) = 0.35 ⋅ 1 + 0.35 ⋅ 1 + 0.15 ⋅ 0 + 0.15 ⋅ 0 = 0.7 ω ∈Ω E (P , f1) = 0.7 Sowohl Modell A wie B erfüllen erwartungsgemäss den Erwartungswert. Modelle mit maximaler Entropie — 9 Modelle mit maximaler Entropie — 10 Berechne P aus E! Trivialer Fall Berechne P aus E: Komplexerer Fall… Unter der Bedingung, dass Die Darstellung der partiellen Information wird zu stark eingeschränkt, um praktisch verwendbar zu sein. es für jedes Grundereignis ω höchstens eine binäre Funktion fi gibt, Ein einfaches schwierigeres Beispiel fi (ω ) = 1 für die gilt: lässt sich P mit maximale Entropie trivial berechnen Erwartungswert von fi (ω ) = 1 P({ω }) = Anzahl Ergebnisse ω ′ mit fi (ω ′) = 1 Für Grundereignisse, für die keine binäre Funktion 1 ergibt, wird eine künstliche binäre Funktion f0 eingeführt, die genau dann 1 ergibt. Ihr Erwartungswert: E(P , f0 ) = 1− ∑ i∈{1.. n} E(P , fi ) Modelle mit maximaler Entropie — 11 70% bestehen Akzessprüfung 60% machen die Übungen a a Σ u 0.5 0.1 0.6 u 0.2 0.2 0.4 Σ 0.7 0.3 1 Partiell bekannter Wahrscheinlichkeitsraum Die Attraktivität des Ansatzes der maximalen Entropie besteht darin, dass beliebige, aber für den Anwendungsbereich nützliche binäre Funktionen definiert werden können! Damit aus beliebigen binären Funktionen ein Wahrscheinlichkeitsmass mit maximaler Entropie berechnet werden kann, werden exponentielle Modelle verwendet. Modelle mit maximaler Entropie — 12 Exponentielle Modelle Beispiel B in exponentieller Form Die Wahrscheinlichkeit eines Grundereignisses ergibt sich als normalisiertes Produkt aller gewichteten binären Funktionswerte: Anzahl binäre Funktionen Gewichtung n=1 α = 2 13 PG ({ω}) = 1 Berechung von Z 1 ∏ fi(ω ) Z i∈{1.. n} α i Z= = Die endliche Folge α:{1..n} → ℜ + enthält für jede binäre Funktion eine Gewichtung. Z normalisiert, d.h. stellt sicher, dass wir ein Wahrscheinlichkeitsmass haben. Z= ∑ ∏ ω ∈Ω i∈{1.. n} ∑ ∏ α f (ω ) ω ∈Ω i ∈{1} f1(ω ) ∑α i 1 f1(( a,u )) 1 + α f (( a,u)) + α f (( a,u)) + α f (( a,u)) 1 1 1 1 = α1 + α1 + α 0 + α 0 = α + α + 1+ 1 = 6 23 1 1 f (ω ) αii Modelle mit maximaler Entropie — 13 1 1 1 1 1 1 Wahrscheinlichkeit der Grundereignisse PG ({(a, u)}) = α 21 1 1 1 7 α f (( a,u)) = α f (( a,u)) = α 1 = = 3 = = 0.35 ∏ Z i ∈{1} Z Z Z 6 23 20 PG ({(a, u)}) = 1 1 1 1 1 3 ∏ α f (( a,u)) = Z α f (( a,u)) = Z α 0 = Z = 6 2 = 20 = 0.15 Z i ∈{1} 3 i 1 1 i 1 i 1 1 i 1 1 Modelle mit maximaler Entropie — 14 Eigenschaften der exponentiellen Form Der Erwartungswert und α Die exponentielle Form Der Erwartungswert der binären Funktion f1 muss allen Grundereignissen mit gleichen binären Funktionswerten die gleiche Wahrscheinlichkeit zumessen! PG ({(a, u)}) = PG ({(a, u)}) PG ({(a, u)}) = PG ({(a, u)}) 1 steigt an, je höher α1 wird. PG sinkt, je kleiner α1 wird. 0.75 0.5 0.25 1 2 3 4 5 6 α1 kann durch das geeignete Gewicht α1 auf jeden beliebigen Wert zwischen 0 und 1 gesetzt werden. E 1 fi (ω ) αi Die Potenz «verschwindet». Modelle mit maximaler Entropie — 15 α = i 1 falls fi (ω ) = 1 falls fi (ω ) = 0 21/3 0.8 0.7 0.6 0.4 0.2 Abhängigkeit der Wahrscheinlichkeit der Grundereignisse von α reduziert sich wegen der Binariät der Funktionen sofort. Σ a a 0.35 0.15 0.5 0.35 0.15 0.5 0.7 0.3 1 Wahrscheinlichkeitsraum B Binäre Funktion ω ∈Ω =α u u Σ 1 falls ω = (a, y) f1(ω ) = 0 sonst i 1 2 3 4 5 6 Abhängigkeit des Erwartungswertes E der binären Funktion f1 von α Der Erwartungswert 0.7 von f1 kann (nur) durch die Gewichtung α1 = 2 1/3 erreicht werden. Modelle mit maximaler Entropie — 16 α1 Berechnung von α : GIS Flussdiagramm: Iteration Der GIS-Algorithmus (Generalized Iterative Scaling) Gegeben berechnet α für beliebige Funktionen f :Ω → [0, m] . binäre Funktionen f und Erwartungswerte E(P,f ) stimmt α iterativ auf die gewünschten Erwartungswerte E ab. Gesucht bedingt für jedes Grundereignis eine konstante Summe aller (binären) Funktionen C ∀ω ∈ Ω C = max ∑ ∑ fi (ω ) = C ω i ∈{1.. n} i ∈{1.. n} fi (ω ) ∑ i ∈{1.. n} Berechne besseres α aus α, E(P’,f) und E(P,f) Berechne neue P’ aus aktuellem α und f Nein Eine Hilfsfunktion fn+1 wird eingeführt, welche die Summe aller Funktionen auf eine Konstante C ergänzt fn +1(ω ) = C − Berechne Erwartungswerte E(P’, f) optimales α Die Einschränkung auf binäre Funktionen hat berechnungstechnische Vorteile. Initialisiere α mit 1 Hat α (genug) konvergiert? Stoppe Ja fi (ω ) Modelle mit maximaler Entropie — 17 Modelle mit maximaler Entropie — 18 Rekursiver Lernschritt für α Die Berechnung des besseren α erfolgt rekursiv für jede Funktion fi : Praktisches Problem I: Erwartungswerte Woher kommen Erwartungswerte? Aus Trainingskorpus! Berechne besseres α aus α, E(P’,f) und E(P,f) 1 E(P , fi ) C α i′ = α i ⋅ E(P ′, fi ) E(P , fi ) = Die Grösse des Lernschritts wird wesentlich mitbestimmt von C, der «maximalen Aktivierung» einer binären Funktion. Je grösser C ist, desto kleiner wird der Lernschritt innerhalb einer Iteration; d.h. umso mehr Iterationen braucht es zur Konvergenz. Modelle mit maximaler Entropie — 19 Trainingskorpus T:{1..N} → Ω Der Erwartungswert einer binären Funktion ergibt sich aus der Summe aller Funktionswerte aus dem Trainingskorpus, normalisiert durch die Anzahl Token darin (N). C = max ω ∑ i ∈{1.. n} fi (ω ) 1 ∑ fi (T (n)) N n∈{1..N} Beispiel Trigramm-Wortartbestimmung Ω = C ×C ×W ×C , wobei C= Tags, W=Wortformen Interpretation: ω = (c−2 , c−1, w 0 , c0 ) sei das Ergebnis, dass das Wort w0 das Tag c0 hat, wobei die Tags c-2 und c-1 links neben dem Wort vorkommen. Modelle mit maximaler Entropie — 20 Praktisches Problem II: Erwartungswerte Praktische Lösung von Problem II Das Berechnen der Erwartungswerte einer Iterationsstufe ist zu aufwändig bei realistischen NLP-Anwendungen: Dank bayesscher Regel und Kontexten aus Trainingskorpus: E(P ′, fi ) = ∑ P ′({ω }) ⋅ f (ω ) ω ∈Ω E( P ′ , f i ) = i Beispiel Trigramme im NEGRA-Korpus: Bei 55 verschiedenen Tags und ca. 50'000 Wortformen gibt es 55·55·50'000·55 = 8'318'750'000 verschiedene Grundereignisse. Ausweg für Klassifikation Bei klassifikatorischen Problemen setzt sich ein einzelnes Ergebnis ω aus einem Kontext b und einer Klasse a zusammen: ω=(a,b) Ω = A × B = C × (C × C × W ) ω = (a, b) = (c0 ,(c−2 , c−1, w 0 )) Beim Berechnen des Erwartungswertes werden statt allen möglichen Kontexten nur diejenigen aus dem Trainingskorpus verwendet, BT! BT = {b| ∃i T (i ) = ( a, b)} Modelle mit maximaler Entropie — 21 Literatur Grundlegendes Manning, Ch. D., Schütze, H.: «Foundations of Statistical Natural Language Processing», 3rd printing ed. Cambridge, MA: MIT Press, 2000. (unbedingt Errata konsultieren!) Ratnaparkhi, A.: «A Simple Introduction to Maximum Entropy Models for Natural Language Processing», Philadelphia: Institute for Research in Cognitive Science, 1997. Lau, R.: «Adaptive Statistical Language Modelling», Diss. MIT, 1994. Darroch, J.N., Ratcliff, D.: «Generalized iterative scaling for log-linear models», in: The Annals of Mathematical Statistics, 43: pp.1470-1480 (elektronisch zugänglich via http://www.jstor.org) Weiterführendes http://www-2.cs.cmu.edu/~aberger/maxent.html (Information zum Improved Iterative Scaling) Goodman, J.: «Sequential Conditional Generalized Iterative Scaling» in: Proceedings of the 40th Annual Meeting of ACL, 2002: pp.9-16 (Effizienzoptimierungen) Modelle mit maximaler Entropie — 23 1 ∑ ∑ P ′(a | b) ⋅ fi(( a, b)) N b∈BT a∈A Grosser Effizienzgewinn, da Trainingskorpus meist nur einen Bruchteil der möglichen Kontexte enthält (sparse data) Die bedingte Wahrscheinlichkeit kann direkt aus dem exponentiellen Modell berechnet werden, indem nur über die Klassen normalisiert wird. P ′( a | b) = 1 Zb ∏ i∈{1.. n} f (( a, b)) αii Z b= ∑ ∏ a∈A i∈{1.. n} f (( a, b)) αii PS: Die Bestimmung von C (maximaler Aktivierung) kann normalerweise ohne Schaden über dem Trainingskorpus berechnet werden. Modelle mit maximaler Entropie — 22