Folien - Institut für Informatik
Transcrição
Folien - Institut für Informatik
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Lineare Klassifikatoren IV Christoph Sawade, Blaine Nelson, Tobias Scheffer Klassifikationsproblem Perzeptron, Support Vector Machine Ridge Regression, LASSO Kernel Bayes‘sche Klassenentscheidung MAP-Modell Logistische Regression Empirische Risikominimierung Maschinelles Lernen Inhalt Representer Theorem Duales Perzeptron, Duale SVM Mercer Map Lernen mit strukturierter Ein- und Ausgabe Taxonomie, Sequenzen, Ranking,… Dekoder, Schnittebenenalgorithmus 2 Maschinelles Lernen Review: Binäre SVM Klassifikation bei mehr als zwei Klassen: 𝑦 𝐱 = sign 𝑓𝛉 𝐱 , Ein Parametervektor 𝛉 Optimierungsproblem: min 𝜆 𝛉,𝛏 𝑛 𝑖=1 𝜉𝑖 𝑓𝛉 𝐱 = 𝜙 𝐱 T 𝛉 1 2 + 𝛉T 𝛉 unter den Nebenbedingungen 𝜉𝑖 ≥ 0 und 𝑦𝑖 𝜙 𝐱 𝑖 T 𝛉 ≥ 1 − 𝜉𝑖 Verallgemeinerung für 𝑘 Klassen? 3 In der Multi-Klassen Fall hat das lineare Modell Entscheidungsfunktion : 𝑓𝛉 𝐱, 𝑦 = 𝜙 𝐱 T 𝛉𝑦 + 𝑏 𝑦 & Klassifikator : 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑧 𝑧∈𝑌 Logistisches Modell für den Multi-Klassen Fall: 𝑃 𝑦|𝐱, 𝛉 = Maschinelles Lernen Review: Multi-Klassen Logistische Regression exp 𝜙 𝐱 T 𝛉𝑦 + 𝑏 𝑦 𝑧∈𝑌 exp 𝜙 𝐱 T𝛉𝑧 + 𝑏 𝑧 Der Prior ist eine Normalverteilung; 𝑝 𝛉 = 𝑁 𝛉; 𝟎, 𝚺 Die Maximum-A-Posteriori-Parameter ist 𝛉MAP = argmin 𝛉 𝑛 𝑖=1 log Σ𝑧∈𝑌 exp 𝑓𝛉 𝑥𝑖 , 𝑧 − 𝑓𝛉 𝐱 𝑖 , 𝑦𝑖 Verlustfunktion 𝛉T 𝚺 −1 𝛉 + 2 Regularisierer 4 Multi-Klassen logistische Regression 𝑦 𝐱 = sign 𝑓𝛉 𝐱 Ein einziger Parametervektor 𝛉 wurde zu 𝛉 = T 1 𝑘 𝛉 ,…,𝛉 Maschinelles Lernen Verallgemeinerung auf Multi-Klassen Probleme wurde 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑦 mit einer Komponente für jede Klasse Für eine SVM mit 𝑘 Klassen Regularisierer? 1 T 1 𝛉 𝛉 becomes 2 2 𝑇 𝑗 𝑘 𝑗 𝑗=1 𝛉 𝛉 Abstand (Margin) Nebenbedingungen? 5 Multi-Klassen logistische Regression 𝑦 𝐱 = sign 𝑓𝛉 𝐱 Ein einziger Parametervektor 𝛉 wurde zu 𝛉 = T 1 𝑘 𝛉 ,…,𝛉 Maschinelles Lernen Verallgemeinerung auf Multi-Klassen Probleme wurde 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑦 mit einer Komponente für jede Klasse Für eine SVM mit 𝑘 Klassen Regularisierer? 1 T 1 𝛉 𝛉 wird 2 2 𝑇 𝑗 𝑘 𝑗 𝑗=1 𝛉 𝛉 Abstand (Margin) Nebenbedingungen? 𝑦𝑖 𝜙 𝐱 𝑖 T 𝛉 ≥ 1 − 𝜉𝑖 wird ∀𝑦 ≠ 𝑦𝑖 𝑓𝛉 𝐱 𝑖 , 𝑦𝑖 ≥ 𝑓𝛉 𝐱 𝑖 , 𝑦 + 1 − 𝜉𝑖 6 Klassifikation mit mehr als zwei Klassen: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 , 𝑦 𝑓𝛉 𝐱, 𝑦 = 𝜙 𝐱 T 𝛉𝑦 Parametervektor für jede der möglichen 𝑘 Klassen Maschinelles Lernen Multi-Klassen SVM 𝛉 = 𝛉1 , … , 𝛉𝑘 T Optimierungsproblem: min 𝜆 𝛉,𝛏 𝑛 𝑖=1 𝜉𝑖 1 + 2 𝑇 𝑗 𝑘 𝑗 𝑗=1 𝛉 𝛉 unter den Nebenbedingungen 𝜉𝑖 ≥ 0 und ∀𝑦 ≠ 𝑦𝑖 𝑓𝛉 𝐱 𝑖 , 𝑦𝑖 ≥ 𝑓𝛉 𝐱𝑖 , 𝑦 + 1 − 𝜉𝑖 [J.Weston, C.Watkins, 1999] 7 Verschiedene Gewichtsvektoren kann auch als unterschiedliche Abschnitte eines Gewichtsvektors gesehen werden (vgl. Logistische Regression): 𝛉= Maschinelles Lernen Multi-Klassen Feature-Mapping T 1 𝑘 𝛉 ,…,𝛉 Gemeinsame Repräsentation von Ein- und Ausgabe: Φ 𝐱, 𝑦 = 2 = 𝟎 𝜙 𝐱 ⋮ 𝟎 𝑘 gestapelte Featurevektoren 8 Klassifikation mit mehr als zwei Klassen: Maschinelles Lernen Multi-Klassen Feature-Mapping 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑦 Multi-Klassen-Kernel: 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉 I𝑦=1 ⋮ Λ 𝑦 = I𝑦=𝑘 𝜙 𝐱 I𝑦=1 ⋮ Φ 𝐱, 𝑦 = 𝜙 𝐱 ⨂Λ 𝑦 = 𝜙 𝐱 I𝑦=𝑘 9 Klassifikation mit mehr als zwei Klassen: Maschinelles Lernen Multi-Klassen Kernel-Kodierung 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑦 Multi-Klassen-Kernel: 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉 𝑥1 I𝑦=1 Φ 𝐱, 𝑦 = 𝑥 ⨂ I𝑦=2 2 = 𝑥1 I 𝑥2 I 𝑥1 I 𝑥2 I 𝑦=1 𝑦=1 𝑦=2 𝑦=2 𝑘 𝐱 𝑖 , 𝑦𝑖 , 𝐱𝑗 , 𝑦𝑗 = Φ 𝐱 𝑖 , 𝑦𝑖 𝑇 Φ 𝐱𝑗 , 𝑦𝑗 = I 𝑦𝑖 = 𝑦𝑗 1 if𝑦𝑖 =𝑦𝑗 0 otherwise 10 Klassifikation mit mehr als zwei Klassen: Maschinelles Lernen Multi-Klassen Kernel-Kodierung 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑦 Multi-Klassen-Kernel: 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉 𝑥1 I𝑦=1 Φ 𝐱, 𝑦 = 𝑥 ⨂ I𝑦=2 2 = 𝑥1 I 𝑥2 I 𝑥1 I 𝑥2 I 𝑦=1 𝑦=1 𝑦=2 𝑦=2 𝑘 𝐱 𝑖 , 𝑦𝑖 , 𝐱𝑗 , 𝑦𝑗 = Φ 𝐱 𝑖 , 𝑦𝑖 𝑇 Φ 𝐱𝑗 , 𝑦𝑗 = I 𝑦𝑖 = 𝑦𝑗 1 falls 𝑦𝑖 =𝑦𝑗 0 sonst 11 Maschinelles Lernen Klassifikation mit Information über Klassen Klassen haben gewisse Merkmale: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉, 𝑘 𝐱 𝑖 , 𝑦𝑖 , 𝐱𝑗 , 𝑦𝑗 = Φ 𝐱 𝑖 , 𝑦𝑖 𝑦 Φ 𝐱, 𝑦 = 𝜙 𝐱 ⨂Λ 𝑦 TΦ 𝐱𝑗 , 𝑦𝑗 = 𝜙 𝐱 𝑖 T 𝜙 𝐱𝑗 Λ 𝑦𝑖 TΛ = 𝑘 𝐱 𝑖 , 𝐱𝑗 Λ 𝑦𝑖 T Λ 𝑦𝑗 𝑦𝑗 𝐾𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑧 𝑧𝑤𝑖𝑠𝑐ℎ𝑒𝑛 𝐾𝑙𝑎𝑠𝑠𝑒𝑛 12 Klassen haben gewisse Merkmale: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉, 𝑘 𝐱 𝑖 , 𝑦𝑖 , 𝐱𝑗 , 𝑦𝑗 = Φ 𝐱 𝑖 , 𝑦𝑖 𝑦 Φ 𝐱, 𝑦 = 𝜙 𝐱 ⨂Λ 𝑦 TΦ 𝐱𝑗 , 𝑦𝑗 = 𝜙 𝐱 𝑖 T 𝜙 𝐱𝑗 Λ 𝑦𝑖 TΛ = 𝑘 𝐱 𝑖 , 𝐱𝑗 Λ 𝑦𝑖 T Λ 𝑦𝑗 𝑦𝑗 𝐾𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑧 𝑧𝑤𝑖𝑠𝑐ℎ𝑒𝑛 𝐾𝑙𝑎𝑠𝑠𝑒𝑛 Korrespondenz der Klassen Λ 𝑦𝑖 T Λ 𝑦𝑗 : z.B. Skalarprodukt der Klassenbeschreibungen. Λ 𝑦𝑖 : TF-Vektor über alle Wörter. 13 Maschinelles Lernen Klassifikation mit Informationen über Klassen Klassifikation mit mehr als zwei Klassen: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 . 𝑓 hat jetzt zwei Parameter. 𝑦 Gemeinsame Merkmale von Ein- und Ausgabe: Maschinelles Lernen Multi-Klassen SVM 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉. Gleicher Ansatz für Multiklassen, Sequenz- und Struktur-Lernen, Ranking. 14 Maschinelles Lernen Multi-Klassen SVM Beispiel 𝐱 kodiert z.B. ein Dokument 𝑦 = 2 kodiert Klasse Φ 𝐱, 𝑦 = I I I I I I 𝑦=1 𝑦=2 𝑦=3 𝑦=4 𝑦=5 𝑦=6 ⋮ 𝐱 𝐱 𝐱 𝐱 𝐱 𝐱 = 𝟎 𝐱 𝟎 𝟎 𝟎 𝟎 ⋮ 1 2 3 4 5 6 15 Maschinelles Lernen Multi-Klassen SVM Beispiel 𝐱 kodiert z.B. ein Dokument 𝑦 = 2 kodiert Klasse Φ 𝐱, 𝑦 = I I I I I I 𝑦=1 𝑦=2 𝑦=3 𝑦=4 𝑦=5 𝑦=6 ⋮ 𝐱 𝐱 𝐱 𝐱 𝐱 𝐱 = 𝟎 𝐱 𝟎 𝟎 𝟎 𝟎 ⋮ 1 2 3 4 5 6 16 Klassifikation mit mehr als zwei Klassen: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 , 𝑓𝛉 𝐱, 𝑦 = 𝜙 𝐱 T 𝛉𝑦 𝑦 Parametervektor für jede der möglichen 𝑘 Klassen Maschinelles Lernen Multi-Klassen SVM 𝛉 = 𝛉1 , … , 𝛉𝑘 T Optimierungsproblem: min 𝜆 𝛉,𝛏 𝑛 𝑖=1 𝜉𝑖 1 + 2 𝑇 𝑗 𝑘 𝑗 𝑗=1 𝛉 𝛉 unter den Nebenbedingungen 𝜉𝑖 ≥ 0 und ∀𝑦 ≠ 𝑦𝑖 𝑓𝛉 𝐱 𝑖 , 𝑦𝑖 ≥ 𝑓𝛉 𝐱𝑖 , 𝑦 + 1 − 𝜉𝑖 17 Klassifikation mit mehr als zwei Klassen: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 , 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉 𝑦 Parametervektor für jede der möglichen 𝑘 Klassen Maschinelles Lernen Multi-Klassen SVM 𝛉 = 𝛉1 , … , 𝛉𝑘 T Optimierungsproblem: min 𝜆 𝛉,𝛏 𝑛 𝑖=1 𝜉𝑖 1 T + 𝛉 𝛉 2 unter den Nebenbedingungen 𝜉𝑖 ≥ 0 und ∀𝑦 ≠ 𝑦𝑖 𝑓𝛉 𝐱 𝑖 , 𝑦𝑖 ≥ 𝑓𝛉 𝐱𝑖 , 𝑦 + 1 − 𝜉𝑖 18 Maschinelles Lernen STRUKTURIERTE AUSGABE 19 Angenommen die Ähnlichkeiten der 𝑘 Klassen sind durch eine Baumstruktur (Tiefe 𝑑) gegeben: 𝑣11 Hominini Homininae 𝑣22 𝑣12 Pan Homo 𝑣13 Maschinelles Lernen Taxonomien 𝑣23 Gorillini Gorilla 𝑣33 Jede Klasse entspricht einem Pfad im Baum; 𝐲 = 𝑦1 , … , 𝑦 𝑑 . 20 Angenommen die Ähnlichkeiten der 𝑘 Klassen sind durch eine Baumstruktur (Tiefe 𝑑) gegeben: 𝑣11 Hominini Homininae 𝑣22 𝑣12 Pan Homo 𝑣13 Maschinelles Lernen Taxonomien 𝑣23 Gorillini Gorilla 𝑣33 Jede Klasse entspricht einem Pfad im Baum; 𝐲 = 𝑦1 , … , 𝑦 𝑑 . 𝐶ℎ𝑖𝑚𝑝𝑎𝑛𝑧𝑒𝑒 = 𝐻𝑜𝑚𝑖𝑛𝑖𝑛𝑎𝑒, 𝐻𝑜𝑚𝑖𝑛𝑖𝑛𝑖, 𝑃𝑎𝑛 21 Angenommen die Ähnlichkeiten der 𝑘 Klassen sind durch eine Baumstruktur (Tiefe 𝑑) gegeben: 𝑣11 Hominini Homininae 𝑣22 𝑣12 Pan Homo 𝑣13 Maschinelles Lernen Taxonomien 𝑣23 Gorillini Gorilla 𝑣33 Jede Klasse entspricht einem Pfad im Baum; 𝐲 = 𝑦1 , … , 𝑦 𝑑 . 𝐻𝑢𝑚𝑎𝑛 = 𝐻𝑜𝑚𝑖𝑛𝑖𝑛𝑎𝑒, 𝐻𝑜𝑚𝑖𝑛𝑖𝑛𝑖, 𝐻𝑜𝑚𝑜 22 Angenommen die Ähnlichkeiten der 𝑘 Klassen sind durch eine Baumstruktur (Tiefe 𝑑) gegeben: 𝑣11 Hominini Homininae 𝑣22 𝑣12 Pan Homo 𝑣13 Maschinelles Lernen Taxonomien 𝑣23 Gorillini Gorilla 𝑣33 Jede Klasse entspricht einem Pfad im Baum; 𝐲 = 𝑦1 , … , 𝑦 𝑑 . W. Gorilla= 𝐻𝑜𝑚𝑖𝑛𝑖𝑛𝑎𝑒, 𝐺𝑜𝑟𝑖𝑙𝑙𝑖𝑛𝑖, 𝐺𝑜𝑟𝑖𝑙𝑙𝑎 23 𝑣11 Klassen in Baumstruktur (Tiefe 𝑑) Die Klasse für ein 𝐱 ist ein Pfad im Klassenbaum 𝐲 = 𝑦1 , … , 𝑦 𝑑 . 𝑣22 𝑣12 𝑣13 𝑣23 𝑣33 Kodierung der gemeinsamen Merkmale von Einund Ausgabe? 24 Maschinelles Lernen Klassifikation mit Taxonomien 𝑣11 Klassen in Baumstruktur (Tiefe 𝑑): 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝑓𝛉 𝐱, 𝐲 = Φ 𝐱, 𝐲 T 𝛉 𝐲 = 𝑦1 , … , 𝑦 𝑑 𝑣22 𝑣12 𝐲 Λ 𝑦1 ⋮ Λ 𝐲 = Λ 𝑦𝑑 𝑣13 Λ 𝑦𝑖 𝑣23 𝑣33 𝐼 𝑦 𝑖 = 𝑣1𝑖 = ⋮ 𝐼 𝑦 𝑖 = 𝑣𝑛𝑖 𝑖 Λ 𝑦1 ⋮ Φ 𝐱, 𝐲 = 𝜙 𝐱 ⨂Λ 𝑦 = 𝜙 𝐱 ⨂ Λ 𝑦𝑑 I 𝑦 1 = 𝑣11 ⋮ I 𝑦 1 = 𝑣𝑛11 ⋮ =𝜙 𝐱 ⨂ I 𝑦 𝑑 = 𝑣1𝑑 ⋮ 𝑑 I 𝑦 = 𝑣𝑛𝑑𝑑 25 Maschinelles Lernen Klassifikation mit Taxonomien Maschinelles Lernen Klassifikation mit Taxonomien Beispiel 𝐱 kodiert z.B. ein Dokument 𝐲 = 𝑣11 , 𝑣22 , 𝑣33 T ist ein Pfad z.B. in einem Themenbaum Φ 𝐱, 𝐲 = I I I I I I 𝑦1 𝑦2 𝑦2 𝑦3 𝑦3 𝑦3 = = = = = = ⋮ 𝑣11 𝑣12 𝑣22 𝑣13 𝑣23 𝑣33 𝐱 𝐱 𝐱 𝐱 𝐱 𝐱 = 𝐱 𝟎 𝐱 𝟎 𝟎 𝐱 ⋮ 𝑣11 𝑣22 𝑣12 𝑣13 𝑣23 𝑣33 26 Maschinelles Lernen Klassifikation mit Taxonomien Beispiel 𝐱 kodiert z.B. ein Dokument 𝐲 = 𝑣11 , 𝑣22 , 𝑣33 T ist ein Pfad z.B. in einem Themenbaum Φ 𝐱, 𝐲 = I I I I I I 𝑦1 𝑦2 𝑦2 𝑦3 𝑦3 𝑦3 = = = = = = ⋮ 𝑣11 𝑣12 𝑣22 𝑣13 𝑣23 𝑣33 𝐱 𝐱 𝐱 𝐱 𝐱 𝐱 = 𝐱 𝟎 𝐱 𝟎 𝟎 𝐱 ⋮ 𝑣11 𝑣22 𝑣12 𝑣13 𝑣23 𝑣33 27 Kernelisierung 𝑣11 Klassen in Baumstruktur (Tiefe 𝑑): 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝑓𝛉 𝐱, 𝐲 = Φ 𝐱, 𝐲 T 𝛉 𝐲 = 𝑦1 , … , 𝑦 𝑑 𝑘 𝐱 𝑖 , 𝐲𝑖 , 𝐱𝑗 , 𝐲𝑗 = Φ 𝐱 𝑖 , 𝐲𝑖 𝑇 Φ 𝐱𝑗 , 𝐲𝑗 𝑣22 𝑣12 𝐲 𝑣13 = 𝜙 𝐱 𝑖 T 𝜙 𝐱𝑗 = 𝑘 𝐱 𝑖 , 𝐱𝑗 𝑑 𝑙=1 Λ 𝑣23 𝑣33 Λ 𝐲𝑖 𝑇 Λ 𝐲𝑗 𝑙 T 𝑦𝑖 Λ 𝑦𝑗𝑙 28 Maschinelles Lernen Klassifikation mit Taxonomien Dekoding / Vorhersage 𝑣11 Klassen in Baumstruktur (Tiefe 𝑑) : 𝑓𝛉 𝐱, 𝐲 = Φ 𝐱, 𝐲 T 𝛉 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 𝐲 𝑣13 = argmax 𝑛 𝑖=1 𝛼𝑖 𝑘 𝐱 𝑖 , 𝐲𝑖 , 𝐱, 𝐲 = argmax 𝑛 𝑖=1 𝛼𝑖 𝑘 𝐱 𝑖 , 𝐱 Λ 𝐲𝑖 𝑇 Λ 𝐲 = argmax 𝑛 𝑖=1 𝛼𝑖 𝑘 𝐲 𝐲 𝐲 𝐱𝑖 , 𝐱 𝑑 𝑙=1 Λ 𝑙 𝑇 𝑦𝑖 Λ 𝑣22 𝑣12 𝑣23 𝑣33 𝑦𝑙 29 Maschinelles Lernen Klassifikation mit Taxonomien: Maschinelles Lernen Klassifikation mit strukturierten Labeln Die Struktur der Ausgabeklasse 𝑌 wird in der Definition von Λ 𝐲 kodiert. Das gemeinsame Featuremap Φ 𝐱, 𝐲 = 𝜙 𝐱 ⨂Λ 𝐲 erfasst die Struktur des Eingabe- und des Klassenraums und ermöglicht das Lernen auf diesen Strukturen. Dies definiert einen Multi-Klassen-Kernel auf dem Ein- und Ausgaberaum: 𝑘 𝐱 𝑖 , 𝐲𝑖 , 𝐱𝑗 , 𝐲𝑗 = 𝑘 𝐱 𝑖 , 𝐱𝑗 Λ 𝐲𝑖 T Λ 𝐲𝑗 30 Maschinelles Lernen KOMPLEXE STRUKTUREN 31 Maschinelles Lernen Komplexe strukturierte Ausgaben Ausgaberaum Y beinhaltet komplexe Objekte Darstellung als Kombination von binären Vorhersageproblemen? Beispiele: Wortart- und Eigennamenerkennung Natural Language Parsing Sequence Alignment … 32 Maschinelles Lernen Komplexe Ausgabe Tagging Sequentielle Ein-/Ausgaben Wortarterkennung 𝐱 = “Curiosity kills the cat“ → 𝐲 = Noun, Verb, Determiner, Noun Eigennamenerkennung, Informationsextraktion: 𝐱 = “Barbie meets Ken“ → 𝐲 = 𝑃𝑒𝑟𝑠𝑜𝑛, −, 𝑃𝑒𝑟𝑠𝑜𝑛 33 Maschinelles Lernen Komplexe Ausgabe Parsing Natural Language Parsing S 𝐱 =“Curiosity killed the cat.” → NP VP NP N V Det N Curiosity killed the cat 34 Maschinelles Lernen Komplexe Ausgabe Alignments Sequence Alignment 𝐱= Gegeben seien zwei Sequenzen Vorhersage ist ein Alignment s=(ABJLHBNJYAUGAI) t=(BHJKBNYGU) → AB-JLHBNJYAUGAI BHJK-BN-YGU 35 Ausgaberaum Y beinhaltet komplexe Objekte Mehrstufenverfahren propagieren Fehler Warum ist das kein einfaches MultiklassenProblem? 1 𝐲 S VP VP NP V 𝐲2 The dog chased the cat V N S NP Det N VP NP Det V N Det N … Maschinelles Lernen Komplexe strukturierte Ausgaben 𝐲𝑘 S VP NP NP Det N V Det N 36 Maschinelles Lernen Lernen mit strukturierten Ausgaben Beispiel: POS-Tagging (Wortarterkennung) Satz 𝐱 =“Curiosity killed the cat” Gewünscht: argmax Φ 𝐱, 𝐲 T 𝛉 ≡ N, V, Det, N 𝑦 Φ Φ Φ Φ Φ Explizit: 𝐱, 𝐱, 𝐱, 𝐱, 𝐱, N, V, Det, N N, V, Det, N N, V, Det, N N, V, Det, N N, V, Det, N ⋮ T 𝛉 T 𝛉 T 𝛉 T 𝛉 T𝛉 ≥ ≥ ≥ ≥ ≥ Φ Φ Φ Φ Φ 𝐱, 𝐱, 𝐱, 𝐱, 𝐱, N, N, N, N N, N, N, V N, N, V, N N, N, V, V N, V, N, N ⋮ T 𝛉 T 𝛉 T 𝛉 T 𝛉 T𝛉 ZU VIELE!!! 37 Maschinelles Lernen Komplexe strukturierte Ausgaben Ausgaberaum Y beinhaltet komplexe Objekte. Mehrstufenverfahren propagieren Fehler Exponentielle Anzahl von Klassen führt potentiell zu exponentiell vielen zu schätzenden Parametern; uneffizienter Vorhersage; uneffizientem Lernalgorithmus. 38 Exponentielle Anzahl von Klassen führt potentiell zu exponentiell vielen zu schätzenden Parametern; uneffizienter Vorhersage; uneffizientem Lernalgorithmus. Klassifikation bei mehr als zwei Klassen: 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 = argmax Φ 𝐱, 𝐲 T 𝛉 𝐲 Maschinelles Lernen Komplexe strukturierte Ausgaben 𝐲 Um Anzahl der Parameter zu reduzieren, benötigt man effiziente Repräsentation der Ein- und Ausgabe Φ 𝐱, 𝐲 . Repräsentation hängt von konkreter Problemstellung ab. 39 Beispiel: Sequentielle Ein-/Ausgaben 𝑦1 𝑦2 𝑦3 𝑦4 𝑥1 𝑥2 𝑥3 𝑥4 Curiosity killed the cat Attribut für jedes Paar benachbarter Labels 𝑦𝑡 und 𝑦𝑡+1 . Φ𝑖 = Φ𝑗 = Attribut für jedes Paar aus Eingabe und Ausgabe. 𝜙𝑐𝑎𝑡,𝑁 𝑥𝑡 , 𝑦𝑡 = 𝐈 𝑥𝑡 = cat ∧ 𝑦𝑡 = Noun 𝑡 𝜙𝑖 𝑦𝑡 , 𝑦𝑡+1 𝑡 𝜙𝑗 𝑥𝑡 , 𝑦𝑡 Label-label: Label-observation: gemeinsames Featurmapping: Φ 𝐱, 𝐲 = 𝑡 𝜙𝑁,𝑉 𝑦𝑡 , 𝑦𝑡+1 = 𝐈 𝑦𝑡 = Noun ∧ 𝑦𝑡+1 = Verb … , 𝜙𝑁,𝑉 𝑦𝑡 , 𝑦𝑡+1 , … , 𝜙𝑐𝑎𝑡,𝑁 𝑥𝑡 , 𝑦𝑡 , … Gewichtsvektor 𝐰 = … , 𝑤𝑁,𝑉 , … , 𝑤𝑐𝑎𝑡,𝑁 , … T T 40 Maschinelles Lernen (Feature-Mapping) Beispiel: Sequentielle Ein-/Ausgaben Maschinelles Lernen (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, muss 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 berechnet werden. Das argmax geht über alle möglichen Sequenzen (exponentiell viele in der Länge). T 𝑓𝛉 𝐱, 𝐲 = Φ 𝐱, 𝐲 𝛉 summiert über Merkmale benachbarter Label-Paare und Merkmale von 𝐱 𝑖 , 𝐲𝑖 Paaren. Die Summanden unterscheiden sich nur dort, wo sich auch die 𝐲-Sequenzen unterscheiden. Mit dynamischer Programmierung kann argmax in linearer Zeit berechnet werden (Viterbi Algorithmus). 41 (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, berechnen wir 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 Mit Hilfe der dynamischen Programmierung berechnen wir dieses argmax in linearer Zeit (Viterbi). Idee: wir können die Maximalfolgen zum Zeitpunkt 𝑡 mittels der Maximalfolgen bis 𝑡 − 1 berechnen 𝑦𝑡−1 𝛾𝑁𝑡−1 𝛾𝑉𝑡−1 𝛾𝐷𝑡−1 𝑁 = 𝑉 𝐷 𝑁 𝑦𝑡 = 𝑉 𝐷 𝛾𝑁𝑡 𝛾𝑉𝑡 𝛾𝐷𝑡 𝛾𝑁𝑡 = max 𝑤𝑧,𝑁 + 𝛾𝑧𝑡−1 + 𝑤𝑐𝑎𝑡,𝑁 𝑧 𝑡 𝑝𝑁 = argmax … 𝑧 𝑥𝑡 = 𝑐𝑎𝑡 42 Maschinelles Lernen Beispiel: Sequentielle Ein-/Ausgaben (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, berechnen wir 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 Mit Hilfe der dynamischen Programmierung berechnen wir dieses argmax in linearer Zeit (Viterbi). Idee: wir können die Maximalfolgen zum Zeitpunkt 𝑡 mittels der Maximalfolgen bis 𝑡 − 1 berechnen 𝑦𝑡−1 𝛾𝑁𝑡−1 𝛾𝑉𝑡−1 𝛾𝐷𝑡−1 𝑁 = 𝑉 𝐷 𝑁 𝑦𝑡 = 𝑉 𝐷 𝛾𝑁𝑡 𝛾𝑉𝑡 𝛾𝐷𝑡 𝛾𝑁𝑡 = max 𝑤𝑧,𝑁 + 𝛾𝑧𝑡−1 + 𝑤𝑐𝑎𝑡,𝑁 𝑧 𝑡 𝑝𝑁 = argmax … 𝑧 𝑥𝑡 = 𝑐𝑎𝑡 43 Maschinelles Lernen Beispiel: Sequentielle Ein-/Ausgaben (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, berechnen wir 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 Mit Hilfe der dynamischen Programmierung berechnen wir dieses argmax in linearer Zeit (Viterbi). 𝑦𝑡−1 Idee: wir können die Maximalfolgen zum Zeitpunkt 𝑡 mittels der Maximalfolgen bis 𝑡 − 1 berechnen 𝛾𝑁𝑡−1 𝛾𝑉𝑡−1 𝛾𝐷𝑡−1 𝑁 = 𝑉 𝐷 𝑁 𝑦𝑡 = 𝑉 𝐷 𝛾𝑁𝑡 𝛾𝑉𝑡 𝛾𝐷𝑡 𝛾𝑉𝑡 = max 𝑤𝑧,𝑉 + 𝛾𝑧𝑡−1 + 𝑤𝑐𝑎𝑡,𝑉 𝑧 𝑝𝑉𝑡 = argmax … 𝑧 𝑥𝑡 = 𝑐𝑎𝑡 44 Maschinelles Lernen Beispiel: Sequentielle Ein-/Ausgaben (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, berechnen wir 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 Mit Hilfe der dynamischen Programmierung berechnen wir dieses argmax in linearer Zeit (Viterbi). Idee: wir können die Maximalfolgen zum Zeitpunkt 𝑡 mittels der Maximalfolgen bis 𝑡 − 1 berechnen 𝑦𝑡−1 𝛾𝑁𝑡−1 𝛾𝑉𝑡−1 𝛾𝐷𝑡−1 𝑁 = 𝑉 𝐷 𝑁 𝑦𝑡 = 𝑉 𝐷 𝛾𝑁𝑡 𝛾𝑉𝑡 𝛾𝐷𝑡 𝛾𝐷𝑡 = max 𝑤𝑧,𝐷 + 𝛾𝑧𝑡−1 + 𝑤𝑐𝑎𝑡,𝐷 𝑧 𝑝𝐷𝑡 = argmax … 𝑧 𝑥𝑡 = 𝑐𝑎𝑡 45 Maschinelles Lernen Beispiel: Sequentielle Ein-/Ausgaben (Dekodierung / Vorhersage) Um eine Sequenz zu klassifizieren, berechnen wir 𝐲 𝐱 = argmax 𝑓𝛉 𝐱, 𝐲 𝐲 Mit Hilfe der dynamischen Programmierung berechnen wir dieses argmax in linearer Zeit (Viterbi). Idee: wir können die Maximalfolgen zum Zeitpunkt 𝑡 mittels der Maximalfolgen bis 𝑡 − 1 berechnen Sobald 𝛾∗𝑡 für die gesamte Sequenz berechnet wurde, maximieren wir 𝛾∗𝑇 und folgen den Zeigern 𝑝∗𝑡 rückwärts, um die maximale Sequenz zu finden. 𝑦1 𝑥1 N 𝑦2 V 𝑦3 𝑥2 𝑥3 D Curiosity killed the 𝑦4 N 𝑥4 cat 46 Maschinelles Lernen Beispiel: Sequentielle Ein-/Ausgaben Strukturierte Ausgaberäume Maschinelles Lernen Sequentielle Ein-/Ausgaben Dekoderierung: Viterbi-Algorithmus Feature-Mapping: Einträge für benachbarte Zustände 𝜙𝑁,𝑉 𝑦𝑡 , 𝑦𝑡+1 = 𝐈 𝑦𝑡 = Noun ∧ 𝑦𝑡+1 = Verb Einträge für Beobachtungen in einem Zustand 𝜙𝑐𝑎𝑡,𝑁 𝑥𝑡 , 𝑦𝑡 = 𝐈 𝑥𝑡 = cat ∧ 𝑦𝑡 = Noun 47 Strukturierte Ausgaberäume S NP VP 𝐲= NP N 𝐱= 𝜙𝑁→𝑐𝑎𝑡 𝐱, 𝐲 = Det N Curiosity killed the 𝜙𝑁𝑃→𝑁 𝐲 = V cat Φ 𝐱, 𝐲 = 𝐈 𝑦𝑝 = 𝑁𝑃 → 𝑁 𝑝∈𝐲 1 𝑆 1 𝑁𝑃 0 𝑉𝑃 1 𝑉𝑃 ⋮ 0 𝑁 1 𝑁 → → → → 𝑁𝑃, 𝑉𝑃 𝑁 𝑉 𝑉, 𝑁𝑃 → → 𝑎𝑡𝑒 𝑐𝑎𝑡 𝐈 𝑦𝑝 = 𝑁 → 𝑐𝑎𝑡 𝑝∈𝐲 gemeinsames Featuremapping: Φ 𝐱, 𝐲 = … , 𝜙𝑁𝑃→𝑁 𝐲 , … , 𝜙𝑁→𝑐𝑎𝑡 (x, y), … T Gewichtsvektor: 𝐰 = … , 𝑤𝑁𝑃→𝑁 , … , 𝑤𝑁→𝑐𝑎𝑡 , … T Dekodierung mit dynamischer Programmierung 3 CKY-Parser, 𝑂 𝑛 . 48 Maschinelles Lernen Natural Language Parsing Strukturierte Ausgaberäume x1 y1 y4 x4 Attribut für jedes Paar benachbarter Labels 𝐲𝑡 und 𝐲𝑡+1 . y2 y3 x2 x3 𝜙123 𝑦𝑖 , 𝑦𝑗 Attribut für jedes Paar aus Eingabe und Ausgabe. 𝜙𝑐𝑎𝑡,𝑁 𝑥𝑡 , 𝑦𝑡 = I 𝑦𝑡 = 𝐼𝑛𝑠𝑡𝑖𝑡𝑢𝑡𝑒 ∧ 𝑥𝑡 = Dekoder: Message Passing Algorithmus. 49 Maschinelles Lernen Kollektive Klassifikation Exponentielle Anzahl von Klassen führt potentiell zu Maschinelles Lernen Komplexe strukturierte Ausgaben exponentiell vielen zu schätzenden Parametern; uneffizienter Vorhersage; uneffizientem Lernalgorithmus. Optimierungsproblem: min 𝜆 𝛉,𝛏 𝑛 𝑖=1 𝜉𝑖 + 1 2 𝛉 2 2 unter den Nebenbedingungen Exponentielle Anzahl 𝜉𝑖 ≥ 0 and ∀𝐲 ≠ 𝐲𝑖 𝑓𝛉 𝐱 𝑖 , 𝐲𝑖 ≥ 𝑓𝛉 𝐱𝑖 , 𝐲 + 1 − 𝜉𝑖 Effiziente Kodierung 50 Optimierungsproblem: min 𝜆 𝛉,𝛏 Maschinelles Lernen Lernen mit strukturierten Ausgaben 𝑛 𝑖=1 𝜉𝑖 + 1 2 𝛉 2 2 unter den Nebenbedingungen Exponentielle Anzahl 𝜉𝑖 ≥ 0 and ∀𝐲 ≠ 𝐲𝑖 𝑓𝛉 𝐱 𝑖 , 𝐲𝑖 ≥ 𝑓𝛉 𝐱𝑖 , 𝐲 + 1 − 𝜉𝑖 Optimierung durch iteratives Training. Negative Constraints werden hinzugefügt, wenn beim Training Fehler auftritt. [Tsochantaridis et al., 2004] 51 Maschinelles Lernen Lernen mit strukturierten Ausgaben Schnittebenenalgorithmus Gegeben: 𝐿 = 𝐱1 , 𝐲1 , … , 𝐱𝑛 , 𝐲𝑛 Wiederhole bis alle Sequenzen korrekt vorhergesagt werden. Iteriere über alle Beispiele 𝐱 𝑖 , 𝐲𝑖 . Bestimme 𝐲 = argmax Φ 𝐱 𝑖 , 𝐲 T 𝛉 𝐲≠𝐲𝑖 Wenn Φ 𝐱 𝑖 , 𝐲𝑖 T 𝛉 < Φ 𝐱 𝑖 , 𝐲 T 𝛉 + 1 (Margin-Verletzung) dann füge Constraint Φ 𝐱 𝑖 , 𝐲𝑖 T 𝛉 < Φ 𝐱 𝑖 , 𝐲 T 𝛉 + 1 − 𝜉𝑖 dem Working Set hinzu. Löse Optimierungsproblem für Eingabe 𝐱 𝑖 , Ausgabe 𝐲𝑖 , und negative Pseudo-Beispiele 𝐲 (working set). Liefere 𝛉 zurück. 52 Allgemeines Framework Anpassen von Maschinelles Lernen Strukturierte Ausgaberäume Verlustfunktion Gemeinsamer Repräsentation der Ein- und Ausgabe Dekoder 𝐲 = argmax Φ 𝐱 𝑖 , 𝐲 T 𝛉 ggf. mit Verlustfunktion 𝐲≠𝐲𝑖 Implementation: http://www.cs.cornell.edu/People/tj/svm_light/svm_struct.html 53 Ausgaberaum Y beinhaltet komplexe Objekte. Mehrstufenverfahren propagieren Fehler Exponentielle Anzahl von Klassen, aber weniger zu schätzende Parameter; effiziente Vorhersage; effizienter Lernalgorithmus. Schnittebenenalgorithmus Maschinelles Lernen Strukturierte Ein-/Ausgaben Feature-Mapping: reduziert die Anzahl der Parameter für jede Klasse Problemspezifische Kodierung 54 Maschinelles Lernen RANKING 55 Können wir das Lernen auch auf andere Arten von strukturierten Ausgaben erweitern? Maschinelles Lernen Ranking Ranking – jede Ausgabe ist eine Sortierung Wir wollen diese Reihenfolge benutzen, um den Lernalgorithmus zu verbessern. 56 Instanzen sollen in die richtige Reihenfolge gebracht werden. Maschinelles Lernen Ranking z.B. Relevanz-Ranking von Suchergebnissen. z.B. Relevanz-Ranking von Produktempfehlungen. Beispiele sind Paare: 𝐿 = 𝑓 𝐱 𝑖 ≥ 𝑓 𝐱𝑗 , … ≡ 𝐱 𝑖 soll im Ranking vor 𝐱𝑗 stehen 57 Relevanz-Ranking von Suchergebnissen. Maschinelles Lernen Ranking Webseiten 𝐱 𝑖 , Suchanfrage 𝐪. Gemeinsame Merkmalsrepräsentation Φ 𝐱 𝑖 , 𝐪 von Webseite und Suchanfrage. Φ 𝐱 𝑖 , 𝐪 kann Vektor verschiedener Merkmale der Übereinstimmung von 𝐱 𝑖 und 𝐪 sein. z.B. Anzahl übereinstimmende, Wörter; Übereinstimmungen in H1-Umgebung, PageRank, … Beispiele sind Paare: 𝐿 = 𝑓 𝐱 𝑖 , 𝐪 ≥ 𝑓 𝐱𝑗 , 𝐪 , … ≡ 𝐱 𝑖 soll für Anfrage 𝐪 im Ranking vor 𝐱𝑗 stehen 58 Relevanz-Ranking von Suchergebnissen. Beispiele sind Paare: Maschinelles Lernen Ranking 𝐿 = 𝑓 𝐱 𝑖 , 𝐪 ≥ 𝑓 𝐱𝑗 , 𝐪 , … ≡ 𝐱 𝑖 soll für Anfrage 𝐪 im Ranking vor 𝐱𝑗 stehen Beispiele können z.B. aus Klick-Daten gewonnen werden. Ein Benutzer stellt Anfrage 𝐪, bekommt Ergebnisliste, klickt dann auf i-tes Listenelement 𝐱 𝑖 . Verwirft damit Listenelemente 1..i-1 implizit. Für diesen Benutzer und Anfrage 𝐪 hätte 𝐱 𝑖 an erster Stelle stehen sollen. 59 Maschinelles Lernen Ranking Relevanz-Ranking von Suchergebnissen. Beispiele sind Paare: 𝐿= 𝑓 𝐱 𝑖 , 𝐪 ≥ 𝑓 𝐱𝑗 , 𝐪 ,… Ein Benutzer stellt Anfrage 𝐪, bekommt Ergebnisliste, klickt dann auf i-tes Listenelement 𝐱 𝑖 . Für diesen Benutzer und Anfrage 𝐪 hätte 𝐱 𝑖 an erster Stelle stehen sollen. Daraus ergeben sich Beispiele: 𝐿𝐪 = 𝑓 𝐱 𝑖 , 𝐪 ≥ 𝑓 𝐱1 , 𝐪 , … , 𝑓 𝐱 𝑖 , 𝐪 ≥ 𝑓 𝐱 𝑖−1 , 𝐪 60 Gegeben: Beispiele 𝑓 𝐱1𝑖1 , 𝐪1 ≥ 𝑓 𝐱11 , 𝐪1 𝐿= 𝑓 𝐱 𝑚𝑖𝑚 , 𝐪𝑚 ≥ 𝑓 𝐱 𝑚1 , 𝐪𝑚 Maschinelles Lernen Ranking , … , 𝑓 𝐱1𝑖1 , 𝐪1 ≥ 𝑓 𝐱1𝑖1−1 , 𝐪1 ⋮ , … , 𝑓 𝐱 𝑚𝑖𝑚 , 𝐪𝑚 ≥ 𝑓 𝐱 𝑚𝑖𝑚−1 , 𝐪𝑚 Löse min 𝐰,𝛏 𝑠. 𝑡. 1 2 𝐰 2 +𝐶 ∀𝑗 ∀ 𝑖 < 𝑖𝑗 ∀𝑗 ∀𝑖 𝑗 𝑖 𝜉𝑗𝑖 𝑤 T Φ 𝐱𝑗𝑖𝑗 , 𝐪𝑗 − Φ 𝐱𝑗𝑖 , 𝐪𝑗 ≥ 1 − 𝜉𝑗𝑖 𝜉𝑗𝑖 ≥ 0 61 Klassifikation bei mehr als zwei Klassen: 𝑦 𝐱 = argmax 𝑓𝛉 𝐱, 𝑦 , 𝑦 𝑓𝛉 𝐱, 𝑦 = Φ 𝐱, 𝑦 T 𝛉 Lernen formuliert als Multi-Klassen SVM Struktur der 𝑌 ist durch Λ 𝐲 gegeben: Φ 𝐱, 𝐲 = 𝜙 𝐱 ⨂Λ 𝐲 & 𝑘 𝐱 𝑖 , 𝐲𝑖 , 𝐱𝑗 , 𝐲𝑗 = 𝑘 𝐱𝑖 , 𝐱𝑗 Λ 𝐲𝑖 T Λ 𝐲𝑗 Strukturierte Ausgabe – hochdimensionale 𝑌 Maschinelles Lernen Lernen mit strukturierter Ein- und Ausgabe - Zusammenfassung weniger zu schätzende Parameter – Featuremapping effiziente Vorhersage – problemspezifische Kodierung effizienter Lernalgorithmus – Schnittebenenalgorithmus Andere strukturierte Probleme: Ranking benutzt Sortierungs-Constraints 62