Skript1 Computational Learning Theory WS 2011/12 Prof. Dr. Georg Schnitger 14. Oktober 2011 1 Unter Mitarbeit von Foued Ameur, Bert Besser, Marc und Roger Fischlin, Christine Schmetzer sowie Maik Weinard. 2 Inhaltsverzeichnis 1 Einführung 1.1 Notation . . . . . . . . . . . . . 1.2 Wichtige Ungleichungen . . . . 1.3 Graphen . . . . . . . . . . . . . 1.4 Grundlagen aus der Stochastik 1.5 Konzepte und Konzeptklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7 8 10 11 21 2 Grundlagen: Das PAC-Modell 2.1 Die zentralen Fragestellungen . . . . . . . . . . . . . . . . 2.2 Die Beispielzahl in Abhängigkeit von log2 |C| . . . . . . . 2.2.1 Beliebige Hypothesenklassen . . . . . . . . . . . . 2.2.2 Occam-Algorithmen . . . . . . . . . . . . . . . . . 2.3 Vapnik-Chervonenkis-Dimension und Beispielanzahl . . . 2.3.1 Eigenschaften der Vapnik-Chervonenkis-Dimension 2.3.2 Eine untere Schranke für die Beispielanzahl . . . . 2.3.3 Eine obere Schranke für die Beispielanzahl . . . . . 2.3.3.1 Sauer’s Lemma . . . . . . . . . . . . . . . 2.3.3.2 Beweis der oberen Schranke . . . . . . . . 2.3.3.3 Ein Rückblick auf die Argumentation . . 2.4 Komplexe Lernprobleme . . . . . . . . . . . . . . . . . . . 2.4.1 Das Konsistenzproblem . . . . . . . . . . . . . . . 2.4.2 Das RSA Kryptosystem . . . . . . . . . . . . . . . 2.4.3 Kryptographie und PAC-Lernen . . . . . . . . . . 2.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 27 28 32 35 39 43 45 47 48 51 55 56 56 60 65 70 3 On-line Lernen 3.1 Auswahl von Experten . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Der Weighted Majority Algorithmus . . . . . . . . . . . . . . . 3.1.2 On-line Auswahl von Portfolios . . . . . . . . . . . . . . . . . . 3.1.3 Der Winnow Algorithmus . . . . . . . . . . . . . . . . . . . . . 3.2 Online Lernen von Konzeptklassen . . . . . . . . . . . . . . . . . . . . 3.2.1 Online-Algorithmen und PAC-Algorithmen . . . . . . . . . . . 3.2.2 Der Winnow-Algorithmus und das Lernen von Konzeptklassen 3.3 Der Perzeptron-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 74 77 78 81 85 87 91 . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 INHALTSVERZEICHNIS 4 Support-Vektor Maschinen 4.1 Anwendungen . . . . . . . . . . . . . . . . . . 4.2 Features und Kerne . . . . . . . . . . . . . . . 4.3 Die notwendige Anzahl von Beispielen . . . . 4.4 Lernalgorithmen . . . . . . . . . . . . . . . . 4.4.1 Die Karush-Kuhn-Tucker Bedingungen 4.4.2 Hard Margins . . . . . . . . . . . . . . 4.4.3 Soft Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 102 107 111 116 116 120 124 5 Boosting 5.1 Bagging . . . . . . . . . . . . . . 5.2 AdaBoost . . . . . . . . . . . . . 5.2.1 Trainingserfolg . . . . . . 5.2.2 Verallgemeinerungserfolg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 127 128 130 131 6 Weitere Lernverfahren 6.1 k-Nearest Neighbor . . . . . . . . . . . . . . . . . . . 6.2 Entscheidungsbaum-Methoden . . . . . . . . . . . . 6.3 Bayes Verfahren . . . . . . . . . . . . . . . . . . . . 6.3.1 Die Maximum Likelihood Methode . . . . . . 6.3.2 Naive Bayes Klassifizierer . . . . . . . . . . . 6.3.3 Bayes Belief Netzwerke . . . . . . . . . . . . 6.3.4 Expectation Maximization . . . . . . . . . . . 6.4 Neuronale Netzwerke . . . . . . . . . . . . . . . . . . 6.4.1 Die Berechnungskraft von Neuronalen Netzen 6.4.2 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 133 134 136 137 140 142 144 146 148 153 7 Lernen mit Elementfragen 7.1 Endliche Automaten . . . . . . . . . . . . . . 7.1.1 Lernen ohne Reset . . . . . . . . . . . 7.2 Entscheidungsbäume . . . . . . . . . . . . . . 7.2.1 Ein fast-effizienter“ PAC-Algorithmus ” 7.2.2 Lernen mit Elementfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 158 169 177 177 182 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Kapitel 1 Einführung Wir beschäftigen uns mit dem Problem des Konzeptlernens aus Beispielen und Gegenbeispielen. Definition 1.1 Sei Σ eine nicht notwendigerweise endliche Menge. Ein Konzept c über Σ ist eine Teilmenge von Σ∗ . Eine Konzeptklasse C über Σ ist eine Menge von Konzepten. Eine Hypothese h über Σ ist ein Konzept über Σ und eine Hypothesenklasse H ist eine Menge von Hypothesen. Wir nehmen im folgenden meist an, dass ein Lernalgorithmus ein unbekanntes Konzept aus einer bekannten Konzeptklasse mit Hilfe positiver und negativer Beispiele lernen will. Das Lernergebnis wird als eine Hypothese dargestellt, die aus der vom Algorithmus gewählten Hypothesenklasse stammt. Beispiel 1.1 Wenn wir ein Konzept der Konzeptklasse DNF, also der Konzeptklasse aller Formeln in disjunktiver Normalform, erlernen möchten, erhalten wir erfüllende, bzw. nichterfüllende Belegungen einer uns unbekannten DNF-Formel α. Das Ziel der Rekonstruktion von α ist in vielen Fällen nicht realistisch und man versucht stattdessen, die Formel α approximativ vorherzusagen. Der Vorhersagemechanismus kann aus einer weiteren Formel in disjunktiver Normalform bestehen oder aber im allgemeinsten Fall aus einem effizient arbeitenden Programm, das das Verhalten von α auf Belegungen x vorhersagt. Gegenüber diesem passiven Lernen erhalten wir im aktiven Lernen die Chance, eigenständig Belegungen zu bestimmen und einem Lehrer für eine Klassifizierung durch α vorzulegen. In diesem mächtigerem Lernmodell wachsen die Chancen auf erfolgreiches Lernen, gleichzeitig steigen aber auch die Anforderungen an meistenteils menschliche Experten, die eine Klassifizierung durchführen müssen. Wir werden uns vorwiegend mit dem in der Praxis wichtigeren Problem des passiven Lernens beschäftigen und dort die folgenden Situationen untersuchen. - Im PAC-Lernen (siehe Kapitel 2) werden positive und negative Beispiele durch eine unbekannte Verteilung generiert. Der Lerner stellt eine Hypothese auf, die die für die gegebene Verteilung wahrscheinlich approximativ richtig (probably approximately correct) ist: Mit anderen Worten, der Lerner wird auf der Verteilung ausgewertet, die die Beispiele erzeugt hat. 5 6 KAPITEL 1. EINFÜHRUNG Die folgenden Fragen sind jetzt zentral: • Wieviele Beispiele müssen angefordert werden, so dass mit hoher Wahrscheinlichkeit auf ein erfolgreiches Lernen des unbekannten Konzepts geschlossen werden kann? Wir werden diese Frage überzeugend mit Hilfe der Vapnik-Chervonenkis Dimension beantworten können. • In welchen Fällen ist effizientes Lernen möglich, bzw. wann ist effizientes Lernen ausgeschlossen? Occam-Algorithmen sind ein wichtiges Paradigma für den Entwurf effizienter Lernalgorithmen. Andererseits hilft uns die NP-Vollständigkeit bzw. die Kryptographie, in einigen Fällen effiziente Lernalgorithmen auszuschließen. - Im Online-Lernen (siehe Kapitel 3) stellt der Lerner Vermutungen auf, die durch Gegenbeispiele zu entkräften sind. Nach einem erhaltenen Gegenbeispiel wird der Lerner online eine neue Vermutung aufstellen. Das Ziel ist die approximative oder exakte Rekonstruktion des Zielkonzepts nach möglichst wenigen Gegenbeispielen. - Während wir bisher von mathematisch präzise beschreibbaren Konzeptklassen ausgegangen sind und angenommen haben, dass Beispiele fehlerfrei klassifiziert vorliegen, greifen wir in den Kapiteln 6 und 4 die in der Praxis relevanten Fälle von nur unpräzise beschreibbaren Konzeptklassen auf und plagen uns mit möglicherweise fehlerhaft klassifizierten Beispielen. Wir wenden uns wichtigen Lernverfahren wie Entscheidungsbaum-Heuristiken, BayesVerfahren, neuronalen Netzen und Support-Vektor Maschinen zu. Während man aber im PAC-Lernen versucht, unter jeder Verteilung erfolgreich zu lernen, müssen wir hier oft annehmen, dass die Verteilung besonders hilfreich ist und vor allem charakteristische Beispiele präsentiert. Wir formalisieren die Hilfestellung“ der Verteilung in Kapitel 4 ” durch den erzielbaren Margin“. ” - Schließlich beschreiben wir in Kapitel 5 das AdaBoost Verfahren, das in vielen Fällen eine spürbare Reduktion des Klassifikationsfehlers erlaubt. Im aktiven Lernen (siehe Kapitel 7) beschäftigen wir uns mit dem Erlernen von unbekannten endlichen Automaten, bzw. mit dem Erlernen von unbekannten Entscheidungsbäumen. Wir werden sehen, dass die Lernkraft in diesem Lernmodell beweisbar ansteigt: Ein aktiver Student lernt leichter! Literaturhinweise: - M. J. Kearns und U. V. Vazirani, An Introduction to Computational Learning Theory, MIT Press, 1994. - N. Cristianini und J. Shawe-Taylor, An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods, Cambridge University Press, 2000. - T. M. Mitchell, Machine Learning, McGraw-Hill, 1997. Die Webseite http://www.learningtheory.org/ enthält viele nützliche Informationen zu Konferenzen und Vorlesungen im Gebiet der Computational Learning Theory. 7 1.1. NOTATION 1.1 Notation Wir erinnern an einige fundamentalen Begriffe. Für eine Menge X ist P(X) = { Y | Y ⊆ X } die Potenzmenge von X. Für ein endliches Alphabet Σ bezeichnet Σn die Menge aller Worte der Länge n über Σ. Wie üblich ist ∞ ∞ [ [ Σn und Σ+ = Σn Σ∗ = n=0 n=1 die Menge aller Worte über dem Alphabet Σ, bzw. die Menge aller nicht-leeren Worte über n S Σ. Die Menge aller Worte über Σ der Länge höchstens n ist Σ≤n = Σk . k=0 R bezeichnet die Menge der reellen Zahlen, R≥0 , die Menge der nicht-negativen reellen Zahlen, Q die Menge der rationalen Zahlen und N die Menge der natürlichen Zahlen. Für eine reelle Zahl x ist ⌊x⌋ die größte natürliche Zahl kleiner oder gleich x und ⌈x⌉ die kleinste natürliche Zahl größer oder gleich x. Wir benutzen die asymptotische Notation, um den Ressourcenbedarf für große Eingabelängen zu analysieren. Für zwei Funktionen f, g : N → R≥0 schreiben wir (a) f = O(g), falls f (n) ≤ cg(n) für alle n ≥ N , wobei N eine ausreichend große natürliche Zahl und c > 0 eine passend gewählte Konstante ist. (b) f = Ω(g), falls g = O(f ). (c) f = Θ(g), falls f = O(g) und g = O(f ). (d) f = o(g), falls limn→∞ (e) f ∼ g, falls limn→∞ f (n) g(n) f (n) g(n) = 0. = 1. Das innere Produkt hx, yi von zwei Vektoren x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ) in Rn wird durch hx, yi = x1 · y1 + · · · + xn · yn . p definiert und die Euklid’sche Norm ||x|| durch ||x|| = hx, xi. Eine reell-wertige Funktion f (x) ist genau dann konvex (bzw. konkav), wenn f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) (resp. f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y)) für jedes 0 ≤ λ ≤ 1 gilt. Die Konvexität von f bedeutet geometrisch gesehen, dass eine Gerade mit den Endpunkten (x, f (x)) und (y, f (y)) stets oberhalb der Kurve liegt. Deshalb ist es für die Konvexität ausreichend, wenn die zweite Ableitung nicht-negativ ist. 8 1.2 KAPITEL 1. EINFÜHRUNG Wichtige Ungleichungen Die Ungleichung von Cauchy-Schwartz besagt, dass das innere Produkt von zwei Vektoren der Länge Eins durch Eins beschränkt ist. Lemma 1.2 Es seien x und y Vektoren im Rn . Dann gilt hx, yi ≤ ||x|| · ||y||. Beweis: Wir betrachten das innere Produkt hu, vi von zwei Vektoren u und v der Norm 1. Der Wert des inneren Produkts stimmt mit dem Kosinus des Winkels zwischen u und v y x überein und ist deshalb durch 1 nach oben beschränkt. Also folgt h ||x|| , ||y|| i ≤ 1 und damit die Behauptung. 2 Wir benötigen auch eine Abschätzung von 1 ± x durch die e-Funktion. Lemma 1.3 Für jedes x > −1 gilt ex/(1+x) ≤ 1 + x ≤ ex . Darüberhinaus gilt 1 + x ≤ ex für alle x ∈ R. Beweis: Wir beschränken uns zuerst auf den Fall x ≥ 0. Der natürliche Logarithmus ist eine konkave Funktion und deshalb ist die Steigung der Sekante in den Punkten 1 und 1 + x durch die Tangentensteigungen in den Punkten 1 nach oben und 1 + x nach unten beschränkt. Dies liefert die Ungleichung 1 ln(1 + x) − ln(1) ln(1 + x) ≤ = ≤1 1+x (1 + x) − 1 x (1.1) x ≤ ln(1 + x) ≤ x. 1+x (1.2) oder äquivalent Die erste Behauptung folgt also für x ≥ 0 durch Exponentieren. Für x ∈] − 1, 0] brauchen wir nur zu beachten, dass diesmal die Ungleichung 1≤ ln(1 + x) − ln(1) 1 ≤ (1 + x) − 1 1+x gilt: Das Argument ist analog zur Ableitung von Ungleichung (1.1). Wir erhalten jetzt wieder Ungleichung (1.2), und damit die Behauptung, wenn wir (1.1) mit der negativen Zahl x multiplizieren. Damit gilt aber auch 1 + x ≤ ex für alle reellen Zahlen, da 1 + x für x ≤ −1 negativ und ex stets positiv ist. 2 9 1.2. WICHTIGE UNGLEICHUNGEN ex 4 3 2 1+x 1 0 -1 0 1 Wie verhält sich die “Konvexitätsungleichung” f (λ1 x1 + λ2 x2 ) ≤ λ1 f (x1 ) + λ2 f (x2 ), wenn wir eine konvexe Funktion f auf eine Summe von mehr als zwei Termen anwenden? P Lemma 1.4 (Jensen’s Ungleichung) Wenn 0 ≤ λi ≤ 1, ri=1 λi = 1 und wenn f konvex ist, dann gilt X X r r f λi xi ≤ λi f (xi ). i=1 i=1 Beweis: Wir führen eine Induktion nach der Anzahl r der Terme. Die Basis r = 2 ist offensichtlich richtig, da f konvex ist. Für den Induktionsschritt von r auf r + 1 ersetzen wir die Summe der beiden Terme λ1 x1 + λ2 x2 durch den einen Term λ1 λ2 (λ1 + λ2 ) x1 + x2 = (λ1 + λ2 ) · x′2 λ1 + λ2 λ1 + λ2 und können dann die Induktionshypothese auf x′2 , x3 , . . . , xn anwenden. 2 Wir erhalten jetzt sofort eine wichtige Beziehung zwischen dem arithmetischen und dem geometrischen Mittel. Lemma 1.5 a1 , . . . , an seien nicht-negative Zahlen. Dann gilt n 1X ai ≥ n i=1 Y 1/n n ai . i=1 Beweis: Wir setzen f (x) = 2x , λ1 = . . . = λn = 1/n und xi = log2 ai , für alle i = 1, . . . , n. Nach Jensen’s Ungleichung folgt ! !1/n n n n n Pn X X Y 1X x /n ( ) i ai = λi f (xi ) ≥ f λi xi = 2 i=1 = ai . n i=1 i=1 i=1 i=1 2 Die beiden letzten Ungleichung sind für die Abschätzung von Binomialkoeffizienten wichtig. 10 KAPITEL 1. EINFÜHRUNG Lemma 1.6 (a) Die Stirling Formel besagt n! = (b) Es ist 1.3 √ n n 1 1 + O( 2 ) . 2π · n · · 1+ e 12 · n n n · e k n n! ≤ = . k! · (n − k)! k k Graphen Ein ungerichteter Graph ist ein Paar G = (V, E), das aus einer Knotenmenge V und einer Kantenmenge E besteht, wobei alle Kanten Teilmengen von V der Größe zwei sind. Wir sagen, dass ein Knoten v mit der Kante e inzident ist, wenn v ∈ e. Die beiden mit einer Kanten e inzidenten Knoten sind die Endpunkte von E. Zwei Knoten u, v ∈ V heißen adjazent, oder benachbart, wenn {u, v} eine Kante von G ist. In einem gerichteten Graphen sind Kanten geordnete Paare, d.h. es gilt stets E ⊆ V 2 , und wir haben die Möglichkeit den Anfangs- und Endpunkt einer Kante auszuzeichnen. Der Knoten v heißt ein Nachbar (oder Nachfolger) von u, falls (u, v) ∈ E. Die Anzahl der Nachbarn eines Knotens u ist der Grad von u. Der Grad eines Graphen ist der maximale Grad eines Knotens. Ein Spaziergang der Länge k in G ist eine Folge v0 , e1 , v1 . . . , ek , vk von Knoten und Kanten, so dass ei = {vi−1 , vi } ∈ E, bzw. (vi−1 , vi ) ∈ E. Ein Spaziergang ohne wiederholte Knoten ist ein Weg. Ein Kreis der Länge k ist ein Spaziergang v0 , . . . , vk der Länge k mit v0 = vk und der Eigenschaft, dass v0 , . . . , vk−1 ein Weg ist. Die Distanz zwischen zwei Knoten ist die minimale Länge eines Weges zwischen den beiden Knoten. Abbildung 1.1: Der erste Graph ist ein Kreis der Länge 5. Der zweite Graph besteht aus zwei Kreisen der Länge 3. Ein Hamilton-Kreis ist ein Kreis, der jeden Knoten genau einmal durchläuft. Ein Euler-Kreis ist ein Spaziergang, der zu seinem Anfangsknoten zurückkehrt und jede Kante genau einmal durchläuft. Eine Knotenmenge in einem ungerichteten Graphen ist zusammenhängend, wenn je zwei Knoten der Menge durch einen Weg verbunden sind. Eine Zusammenhangskomponente ist eine größte zusammenhängende Knotenmenge. Ein Wald ist ein ungerichteter Graph ohne Kreise. Ein Baum ist ein zusammenhängender Wald. (Mit anderen Worten, ein Wald ist eine knoten-disjunkte Vereinigung von Bäumen.) In einem Baum mit Wurzel wird genau ein Knoten als Wurzel ausgezeichnet. Wenn der Weg von der Wurzel zum Knoten w die Kante {v, w} benutzt, dann heißt w ein Kind von v und v der Vater von w. Knoten vom Grad 1 heißen Blätter. Die Tiefe eines Knotens ist die Länge des Weges von der Wurzel bis zu dem Knoten. Die Tiefe eines Baums ist die größte Tiefe 11 1.4. GRUNDLAGEN AUS DER STOCHASTIK Abbildung 1.2: Ein Wald, der aus drei Bäumen besteht. eines Blatts. Ein Baum heißt binär, wenn die Wurzel den Grad zwei und jedes Nicht-Blatt den Grad drei besitzt. Ein vollständiger binärer Baum der Tiefe T ist ein binärer Baum, in dem alle Blätter die Tiefe T besitzen. r v a b u w Abbildung 1.3: Ein Baum mit Wurzel der Tiefe 3; u und w sind Kinder des Vaters v. Ein vollständiger Graph oder eine Clique ist ein Graph, in dem je zwei Knoten adjazent sind. Eine unabhängige Menge ist eine Knotenmenge, in der je zwei Knoten nicht durch eine Kante verbunden sind. Ein Graph ist bipartit, wenn seine Knotenmenge in zwei unabhängige Mengen zerlegt werden kann. Eine legale Färbung eines ungerichteten Graphen G = (V, E) ist eine Farbzuweisung an die Knoten, so dass adjazente Knoten verschiedene Farben erhalten. Eine legale Färbung zerlegt somit die Knotenmenge in unabhängige Mengen. Die minimale Farbenzahl, die für die Färbung eines Graphen G benötigt wird, heißt die chromatische Zahl χ(G) von G. Aufgabe 1 (a) Zeige, dass die Tiefe eines binären Baums mit n Blättern mindestens ⌈log2 n⌉ beträgt. (b) Sei B ein binärer Baum mit N Blättern und sei Ti die Tiefe des iten Blatts. Zeige die sogenannte Kraft’sche Ungleichung n X 2−Ti ≤ 1. i=1 Hinweis: Assoziere einen binären String mit jedem Blatt. 1.4 Grundlagen aus der Stochastik Ein endlicher Wahrscheinlichkeitsraum besteht aus einer endlichen Menge Ω (dem Stichprobenraum) und einer Funktion prob : Ω → [0, 1] 12 KAPITEL 1. EINFÜHRUNG P (der Wahrscheinlichkeitsverteilung), so dass x∈Ω prob [x] = 1. Der Wahrscheinlichkeitsraum repräsentiert das Zufallsexperiment, ein Element von Ω auszuwählen und prob [x] ist die Wahrscheinlichkeit, dass x gewählt wird. Die Elemente x ∈ Ω heißen Stichproben und Teilmengen A ⊆ Ω heißen Ereignisse. Die Wahrscheinlichkeit eines Ereignisses A ist X prob [A] = prob [x] , x∈A also die Wahrscheinlichkeit, dass ein Element mit Eigenschaft A gewählt wird. Einige elementare Eigenschaften folgen direkt aus diesen Definitionen. Für zwei Ereignisse A and B (und das Komplement Ā = Ω \ A) gilt (1) prob [A ∪ B] = prob [A] + prob [B] − prob [A ∩ B]; (2) prob Ā = 1 − prob [A]; (3) prob [A ∩ B] ≥ prob [A] − prob B̄ ; (4) Wenn B1 , . . . , Bm eine Zerlegung von Ω ist, dann ist prob [A] = P S (5) prob [ ni=1 Ai ] ≤ ni=1 prob [Ai ]. Pm i=1 prob [A ∩ Bi ]. Besonders Eigenschaft (5) werden wir häufig benutzen. Für zwei Ereignisse A und B ist prob [A|B] die bedingte Wahrscheinlichkeit von A gegeben B, also die Wahrscheinlichkeit, dass Ereignis A eintritt, wenn man bereits weiß, dass Ereignis B eingetreten ist. Formal definieren wir prob [A ∩ B] prob [A|B] = , prob [B] falls prob [B] 6= 0. Wenn wir zum Beispiel eine Zahl aus der Menge {1, . . . , 6} zufällig ziehen und wenn A das Ereignis ist, dass 2 die gezogene Zahl ist und B das Ereignis ist, dass die gezogene Zahl gerade ist, dann ist prob [A|B] = 1/3, wohingegen prob [B|A] = 1 gilt. B A Proportion of in B Abbildung 1.4: Interpretation von prob [A|B], wenn alle Elemente gleichwahrscheinlich sind. Zwei Ereignisse A und B heißen unabhängig, wenn prob [A ∩ B] = prob [A]·prob [B]. Beachte, dass diese Bedingung äquivalent mit prob [A|B] = prob [A] wie auch mit prob [B|A] = prob [B] ist. Wenn alle Elemente gleichwahrscheinlich sind, dann sind zwei Ereignisse genau dann unabhängig, wenn der Anteil |A|/|Ω| von Ereignis A im Stichprobenraum mit dem Anteil |A ∩ B|/|B| des Ereignisses A ∩ B im Ereignis B übereinstimmt. Beachte, dass Unabhängigkeit nichts mit der Disjunktheit von Ereignissen zu tun hat: Wenn zum Beispiel prob [A] > 0, prob [B] > 0 und A ∩ B = ∅ gilt, dann sind die Ereignisse A und B abhängig! 1.4. GRUNDLAGEN AUS DER STOCHASTIK 13 Beispiel 1.2 Wir beschreiben das Monty Hall Problem“. In einer Game Show ist hinter ” einer von drei Türen ein Preis verborgen. Ein Zuschauer rät eine der drei Türen und der Showmaster Monty Hall wird daraufhin eine weitere Tür öffnen, hinter der sich aber kein Preis verbirgt. Der Zuschauer erhält jetzt die Möglichkeit, seine Wahl zu ändern. Sollte er dies tun? Wir betrachten die Ereignisse - Pi , dass sich der Preis hinter Tür i befindet, - Zi , dass der Zuschauer zuerst Tür i wählt und - Mi , dass Monty Hall Tür i nach der ersten Wahl des Zuschauers öffnet. Wir nehmen o.B.d.A. an, dass der Zuschauer zuerst Tür 1 wählt und dass Monty Hall daraufhin Tür 2 öffnet; desweiteren nehmen wir an, dass der Zuschauer wie auch Monty Hall seine Wahl jeweils nach der Gleichverteilung trifft. Wir müssen die bedingten Wahrscheinlichkeiten prob[ P1 | Z1 , M2 ] und prob[ P3 | Z1 , M2 ] berechnen und beachten, dass prob[ P1 | Z1 , M2 ] + prob[ P3 | Z1 , M2 ] = 1 gilt, denn der Preis befindet sich nicht hinter der geöffneten Tür 2. Nach Definition der bedingten Wahrscheinlichkeiten ist prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P1 ] · prob[ P1 ] und prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P3 ] · prob[ P3 ]. Wir bestimmen jeweils die rechten Seiten und erhalten 1 1 1 prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · ) · , 3 2 3 denn Monty Hall kann die Türen 2 und 3 öffnen. Andererseits ist 1 1 prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · 1) · , 3 3 denn Monty Hall kann nur Tür 2 öffnen. Also ist prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = 2 · prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] und wir erhalten prob[ P3 | Z1 , M2 ] = seine Wahl stets ändern! 2 3 und prob[ P1 | Z1 , M2 ] = 13 : Der Zuschauer sollte Eine Zufallsvariable ist eine Funktion X : Ω → R. Wenn zum Beispiel X eine aus der Menge {1, . . . , n} zufällig gezogene Zahl ist, dann sind X, Y = 2X und Z = die Anzahl der Prim” teiler von X“ Zufallsvariablen. Eine Indikatorvariable für das Ereignis A ist eine 0-1 wertige Zufallsvariable mit 1 wenn ω ∈ A; X(ω) = 0 sonst. Beispiel 1.3 Die Lösung des Monty Hall Problems kann mit Hilfe von Zufallsvariablen kompakt erklärt werden: Sei W die Zufallsvariable, die die erste Wahl des Zuschauers beschreibt und sei T die Zufallsvariable, die die richtige Tür beschreibt. Dann findet die Änderungsstrategie genau dann die richtige Tür, wenn W und T unterschiedliche Werte annehmen und dieses Ereignis hat die Wahrscheinlichkeit 23 . Fazit: Mit höherer Wahrscheinlichkeit war die erste Wahl schlecht und wird durch die veränderte Wahl richtig. 14 KAPITEL 1. EINFÜHRUNG Zufallsvariablen X1 , . . . , Xn heißen genau dann unabhängig, wenn für alle x1 , . . . , xn ∈ R prob[ X1 = x1 ∧ · · · ∧ Xn = xn ] = n Y prob[ Xi = xi ] i=1 gilt. Die Zufallsvariablen heißen k-fach unabhängig, wenn Xi1 , . . . , Xik für jede Teilmenge {i1 , . . . , ik } ⊆ {1, . . . , n} von k Elementen unabhängig ist. Beachte, dass wiederholte Experimente unabhängigen Experimenten entsprechen. Desweiteren sind unabhängige Zufallsvariablen X1 , . . . , Xn k-fach unabhängig für jedes k < n. Die Umkehrung dieser Aussage gilt nicht. Aufgabe 2 Konstruiere paarweise unabhängige Zufallsvariablen X1 , X2 , X3 , die aber nicht unabhängig sind. Der Erwartungswert einer Zufallsvariable kann für jede reell-wertige Zufallsvariable X definiert werden und ist, intuitiv gesprochen, der zu erwartende“ Wert, wenn wir das Zufalls” experiment X mehrfach wiederholen und das durchschnittliche Ergebnis berechnen. Formal definieren wir den Erwartungswert von X als die Summe X i · prob [X = i] E [X] = i über Werte i des Wertebereichs: Wenn wir zum Beispiel würfeln, dann ist E [X] = P6 alle i i=1 6 = 3.5 der Erwartungswert. (An diesem Beispiel können wir beobachten, dass der Erwartungswert von X kein Element des Wertebereichs von X sein muss!) 1 2 3 4 6 7 8 Abbildung 1.5: Interpretation des Erwartungswerts als Masse-Zentrum“”: Die Stichproben ” haben das Gewicht pi = prob [X = ai ] auf der x-Achse an den Stellen ai für i = 1, . . . , n. Erwarte nie das Erwartete“! Und tatsächlich sagt der Erwartungswert in vielen ärgerlichen ” Fällen nicht viel über das Verhalten der Zufallsvariable X aus. Der Erwartungswert ist nämlich nur dann vertrauenswürdig, wenn man zeigen kann, dass größere Abweichungen vom Erwartungswert unwahrscheinlich sind. Die Distanz“ zwischen einer Zufallsvariable X und ihrem ” Erwartungswert misst man zum Beispiel mit der Varianz, die durch Var [X] = E (X − E [X])2 . definiert ist. Eine sehr wichtige Eigenschaft des Erwartungswerts ist seine Linearität. Satz 1.7 (Linearität des Erwartungswerts.) Für Zufallsvariablen X, Y und reelle Zahlen a, b gilt E [a · X + b · Y ] = a · E [X] + b · E [Y ] . 15 1.4. GRUNDLAGEN AUS DER STOCHASTIK Beweis: x1 , . . . , xn und y1 , . . . , ym seien Elemente des Wertebereichs von X, bzw. Y . Da für jede reelle Zahl a E [a · X] = n X i=1 a · xi · prob [X = xi ] = a · n X i=1 xi · prob [X = xi ] = a · E [X] , gilt, genügt der Nachweis von E [X + Y ] = E [X] + EP [Y ]. Da die Ereignisse Y = yj für verschiedene yj ’s disjunkt sind, folgt prob [X = xi ] = m j=1 prob [X = xi , Y = yj ] , und ein ähnliches Ergebnis gilt natürlich für prob [Y = yj ]. Deshalb folgt E [X + Y ] = m n X X (xi + yj )prob [X = xi , Y = yj ] i=1 j=1 = = n X m X i=1 j=1 n X xi prob [X = xi , Y = yj ] + xi prob [X = xi ] + i=1 = E [X] + E [Y ] . m X n X yj prob [X = xi , Y = yj ] j=1 i=1 m X yj prob [Y = yj ] j=1 2 Aufgabe 3 (a) Zeige, dass die Varianz mit der Formel Var [X] = E X 2 − (E [X])2 berechnet werden kann. (b) Zeige, dass stets Var [a · X + b] = a2 · Var [X] gilt. (c) X und Y seien unabhängige Zufallsvariablen. Zeige, dass E [X · Y ] = E [X] · E [Y ] and Var [X + Y ] = Var [X] + Var [Y ] gilt. (d) X sei eine Zufallsvariable, die nur natürliche Zahlen als Werte annimmt. Zeige, dass E X 2 ≥ E [X], P∞ prob [X = 0] ≥ 1 − E [X] und E [X] = x=1 prob [X ≥ x] gelten. (e) Benutze die Ungleichung von Cauchy-Schwarz, um nachzuweisen, dass E [X]2 ≤ E X 2 für jede Zufallsvaraiable X gilt. (f) Wir haben n Briefe, die an verschiedene Personen adressiert sind und n Umschläge mit den jeweiligen Adressen. Wir stecken die Briefe zufällig und unabhängig voneinander in Umschläge und erlauben, dass mehrere Briefe in den selben Umschlag gesteckt werden. Wieviele Briefe landen im richtigen Umschlag? (g) Zeige, dass es für beliebige Vektoren v1 , . . . , vn ∈ {+1, −1}n stets Koeffizienten ǫ1 , . . . , ǫn ∈ {+1, −1} gibt, so dass kǫ1 v1 + · · · + ǫn vn k ≤ n gilt. Hinweis: Wähle die Koeffizienten ǫi zufällig und unabhängig voneinander, wobei ǫi = 1 mit Wahrscheinlichkeit 1/2 gelte, und benutze die Linearität des Erwartungswerts, um die erwartete Länge des Vektors P ǫi vi zu berechnen. Die Methode der Erzeugendenfunktionen. Es gibt eine allgemeine Methode, um den Erwartungswert E [X] wie auch die Varianz Var [X] für eine beliebige diskrete Zufallsvariable X : Ω → N zu berechnen. Wir setzen pk = prob [X = k] und definieren die Erzeugendenfunktion von X durch X p k xk , FX (x) := wobei wir über alle Werte k des Wertebereichs von X summieren. 16 KAPITEL 1. EINFÜHRUNG Satz 1.8 Für jede diskrete Zufallsvariable gilt FX (1) = 1 E [X] = Var [X] = (1.3) FX′ (1) FX′′ (1) (1.4) 2 + E [X] − E [X] . (1.5) P Beweis: Die erste Gleichung folgt sofort aus FX (1) = pk = 1. P P Wir berechnen die erste Ableitung FX′ (x) = kpk xk−1 und erhalten FX′ (1) = kpk = E [X]. P Schließlich berechnen wir die zweite Ableitung FX′′ (x) = k(k − 1)pk xk−2 und folgern FX′′ (1) = X k(k − 1)pk = X k 2 pk − X kpk = E X 2 − E [X] . Wenn wir also E [X] addieren und E [X]2 von der rechten Seite subtrahieren, dann erhalten wir genau die Varianz Var [X]. 2 Wir betrachten als Nächstes einige wichtige Verteilungen. Uniforme Verteilung: In der uniformen Verteilung sind alle Stichproben gleichwahrscheinlich und wir definieren dementsprechend diese einfachste“ Verteilung durch ” 1 pk = prob [X = k] = . |Ω| Wir sagen, dass X uniform verteilt ist. Aufgabe 4 Berechne den Erwartungswert und die Varianz einer uniform verteilten Zufallsvariable. Binomialverteilung: Wir sagen, dass eine Zufallsvariable X mit Parametern n and k binomiell verteilt ist, vorausgesetzt n k prob [X = k] = p (1 − p)n−k k gilt für jedes 0 ≤ k ≤ n. Für n unabhängige Zufallsvariablen X1, . . . , Xn mit prob [Xi = 1] = p und prob [Xi = 0] = 1 − p folgt prob [X1 + · · · + Xn = k] = nk pk (1 − p)n−k und die Zufallsvariable X = X1 + · · · + Xn ist binomiell verteilt. P Der Erwartungswert von X ist E [X] = ni=1 E [Xi ] = np und auch die Varianz kann einfach berechnet werden. Wegen der Linearität des Erwartungswerts ist hX i X X E X2 = E ( Xi )2 = E Xi2 + E [Xi · Xj ] . i i6=j Da Xi , Xj paarweise unabhängig sind, folgt E [Xi · Xj ] = E [Xi ] · E [Xj ] und deshalb ist n E X = np + 2 · · p2 = np + n(n − 1)p2 = (np)2 + np(1 − p). 2 Also gilt Var [X] = E X 2 − (E [X])2 = np(1 − p). 2 17 1.4. GRUNDLAGEN AUS DER STOCHASTIK Geometrische Verteilung: Wir werfen solange eine Münze, bis wir zum ersten Mal Wap” pen“ erhalten. Wenn X die Anzahl der Versuche misst, dann ist X auf der Menge Ω = {Zahln · Wappen | n ∈ N} definiert und wir haben zum ersten Mal einen Stichprobenraum von abzählbar unendlicher Größe erhalten. Wenn p die Wahrscheinlichkeit für Wappen“ ist, ” dann erhalten wir pk = prob [X = k] = q k−1 · p mit q = 1 − p. Wir benutzen Erzeugendenfunktionen, um Erwartungswert und Varianz zu berechnen. Die Erzeugendenfunktion von X ist FX (x) = ∞ X q t=1 t−1 t p · x = px · ∞ X q t xt = t=0 px . 1 − qx Die erste und zweite Ableitung ist FX′ (x) = (1 − qx)p + pxq p = (1 − qx)2 (1 − qx)2 und FX′′ (x) = Also folgt nach Satz 1.8, 2pq . (1 − qx)3 E [X] = FX′ (1) = und p 1 = 2 (1 − q) p Var [X] = FX′′ (1) + E [T ] − E [Y ]2 = 2pq 1 1 1−p + − 2 = . 3 p p p p2 Aufgabe 5 Eine Zufallsquelle Q produziert Nullen und Einsen, wobei eine Eins mit Wahrscheinlichkeit p erscheint. Wir können auf Q zugreifen, kennen aber p nicht. Unsere Aufgabe ist die Konstruktion einer perfekten Zufallsquelle, die eine Eins mit Wahrscheinlichkeit 21 produziert. Wir können also den Strom der Zufallsbits von Q beobachten und müssen einen Strom von perfekten Zufallsbits konstruieren. Entwirf eine perfekte Zufallsquelle, so dass die erwartete Anzahl von Q-Bits pro perfektem Zufallbit höchstens 1 beträgt. p·(1−p) Hinweis: Betrachte zwei aufeinanderfolgende Bits von Q. Aufgabe 6 Wir können auf eine perfekte Zufallsquelle zugreifen, die 0 und 1 mit Wahrscheinlichkeit genau 1 2 produziert. - Wir möchten die Verteilung (p1 , . . . , pn ) erzeugen. Entwirf einen Algorithmus, der i mit Wahrscheinlichkeit pi erzeugt und benutze höchstens die erwartete Anzahl von O(log2 n) Bits der perfekten Quelle. Beachte, dass p1 , . . . , pn ≥ 0 beliebige reelle Zahlen sind, die zu Eins summieren. - Bestimme die Worst-Case Anzahl perfekter Zufallsbits für p1 = p2 = p3 = 31 . Aufgabe 7 Wir spielen gegen einen Gegner, der sich zwei Zahlen ausdenkt und jede Zahl, für uns nicht sichtbar, auf jeweils ein eigenes Blatt Papier schreibt. Wir wählen zufällig ein Blatt, lesen die Zahl und haben dann die Wahl, die Zahl zu behalten oder gegen die verbleibende Zahl zu tauschen. Sei x die Zahl für die wir uns letztlich entscheiden und sei y die verbleibende Zahl. Dann ist x − y unser (möglicherweise negativer) Gewinn. - Wir betrachten die Strategie St ≡ Gib Zahlen < t zurück und behalte Zahlen ≥ t“. Analysiere den ” erwarteten Gewinn Ex,y (Gewinn(St )) dieser Strategie in Abhängigkeit von t, x und y. - Entwirf eine randomisierte Strategie mit erwartetem positiven Gewinn für beliebige, aber verschiedene Zahlen x 6= y. 18 KAPITEL 1. EINFÜHRUNG Aufgabe 8 Wir spielen ein Spiel mit Erfolgswahrscheinlichkeit p = 1/2. Wenn wir gewinnen, verdoppeln wir unseren Einsatz, wenn wir verlieren, verlieren wir auch unseren Einsatz. Betrachte die folgende Strategie i:=0 REPEAT Setze den Einsatz 2i $ i:=i+1 UNTIL(Ich gewinne zum ersten Mal) Berechne den erwarteten Gewinn und den erwarteten Geldbetrag, um diese Strategie durchzuführen. Beispiel 1.4 Berechnung des durchschnittlichen Gehalts ohne Offenlegung der Einzelgehälter. n Personen 1, . . . , n möchten das durchschnittliche Gehalt bestimmen, ohne aber ihr eigenes Gehalt offen legen zu müssen. Wenn alle Personen ehrlich sind, dann sollte das durchschnittliche Gehalt auch korrekt berechnet werden. Wenn jedoch irgendwelche k Personen lügen, dann sollten Sie keinerlei Information bis auf die Summe aller Gehälter gewinnen. Algorithmus 1.9 Ein sicheres Protokoll (1) M sei eine genügend große Zahl, die größer als die Summe aller Gehälter ist. Jede Person i zufällig wählt Zahlen Xi,1 , . . . , Xi,i−1 , Xi,i+1 , . . . Xi,n ∈ {0, . . . , M − 1} und teilt Xi,j der Person j mit. (2) Wenn Gi das Gehalt von Person i ist, dann bestimmt sie die Restklasse n X Si = Gi + j,j6=i (3) Jede Person i veröffentlicht Si und P i Xj,i − n X Xi,j mod M. j,j6=i Si mod M wird berechnet. Kommentar: Wenn alle Personen ehrlich sind, dann ist X i und Si mod M ≡ 1 n · P j X Gi + i n X i,j,j6=i Xj,i − n X i,j,j6=i Xi,j mod M ≡ X i Gi mod M = X Gi i Sj ist das gewünschte durchschnittliche Gehalt. Warum ist dieses P Protokoll sicher? Angenommen, die letzten k Personen sind Lügner. Wir Pn−k setzen Si∗ = Gi + n−k X − j=1,j6=i j,i j=1,j6=i Xi,j mod M . Eine ehrliche Person veröffentlicht Si = Si∗ + n X j=n−k+1 Beachte, dass Pn−k i=1 Si∗ = Pn−k i=1 Xj,i − n X Xi,j mod M j=n−k+1 Gi gilt. Aufgabe 9 ∗ Zeige: Jede Kombination (s∗2 , . . . , s∗n−k ) von Werten der Zufallsvariable S2∗ , . . . , Sn−k wird mit Wahrscheinlich−(n−k−1) ∗ ∗ keit M erzeugt. Deshalb sind die Zufallsvariablen S2 , . . . , Sn−k unabhängig. ∗ Nach dieser Aufgabe sind die Zufallsvariablen S2∗ , . . . , Sn−k unabhängig und uniform über der Menge {0, . . . , M − 1} verteilt. Diese Aussage gilt aber mit dem selben Argument auch für S2 , . . . , Sn−k und die Lügner lernen nichts, da jede Folge von n − k − 1 Werten mit 1 Wahrscheinlichkeit M n−k−1 auftritt. 19 1.4. GRUNDLAGEN AUS DER STOCHASTIK Abweichungen vom Erwartungswert kann man mit Hilfe der Ungleichungen von Markoff, Chernoff and Tschebyscheff abschätzen. Wir beginnen mit Markoff’s Ungleichung. Markoff ’s Ungleichung: Sei X eine nicht-negative Zufallsvariable und sei a > 0 eine reelle Zahl. Dann gilt E [X] prob [X > a] ≤ . a Beweis: Nach Definition des Erwartungswerts ist X X E [X] = x · prob [X = x] ≥ a · prob [X = x] = a · prob [X > a] . x x>a 2 Tschebyscheff ’s Ungleichung: X sei eine Zufallsvariable. Dann gilt prob [|X − E [X] | > t] ≤ Var [X] . t2 für jede reelle Zahl t > 0. Beweis: Wir definieren die Zufallsvariable Y = (X − E [X])2 und wenden Markoff’s Ungleichung an. Das ergibt prob [|X − E [X] | > t] = prob Y > t2 ≤ E [Y ] /t2 = Var [X] /t2 . 2 Chernoff ’s Ungleichungen sind Spezialfälle der Markoff Ungleichung, angewandt auf Summen von unabhängigen 0-1 Zufallsvariablen. Satz 1.10 X1 , . . . , Xn seien beliebige unabhängige binäre Pn Zufallsvariablen mit den Erfolgswahrscheinlichkeit pi = prob [Xi = 1]. Dann ist N = i=1 pi die erwartete Anzahl der Erfolge und es gilt " n # N X eβ 2 prob Xi > (1 + β) · N ≤ ≤ e−N ·β /3 (1 + β)1+β i=1 " n # N X e−β 2 prob Xi < (1 − β) · N ≤ ≤ e−N ·β /2 1−β (1 − β) i=1 für jedes β > 0 (bzw. 0 < β ≤ 1 im zweiten Fall). Beweis: Wir zeigen nur die erste Ungleichung. Wir wenden die Markoff Ungleichung für beliebiges α > 0 an und erhalten " n # h Pn i X prob Xi > t = prob eα· i=1 Xi > eα·t i=1 −α·t ≤ e −α·t = e h α· ·E e · n Y i=1 Pn i=1 Xi i E eα·Xi . 20 KAPITEL 1. EINFÜHRUNG In der letzten Gleichung haben wir benutzt, dass E [Y1 · Y2 ] = E [Y1 ] · E [Y2 ] gilt, wenn Y1 und Y2 unabhängige Zufallsvariablen sind. Wir ersetzen t durch (1 + β) · N , α durch ln(1 + β) und erhalten # " n n X Y −α·(1+β)·E prob Xi > (1 + β) · N ≤ e · E eα·Xi i=1 i=1 −(1+β)·N = (1 + β) · n Y i=1 E (1 + β)Xi . Die Behauptung folgt, da E (1 + β)Xi = pi (1 + β) + (1 − pi ) = 1 + β · pi ≤ eβ·pi gilt. Aufgabe 10 Sei x ≤ 1 eine beliebige reelle Zahl. Zeige 2 2 ex = ex−(1+x) ln(1+x) ≤ e−x /3 . (1 + x)1+x Aufgabe 11 P X1 , . . . , Xn seien unabhängige, binäre Zufallsvariablen mit pi = prob [Xi = 1] und nimm an, dass N ∗ ≥ n i=1 pi gilt. Zeige, dass " n # X 2 ∗ prob Xi > (1 + β) · N ∗ ≤ e−β ·N /3 i=1 für jedes β > 0 folgt. Aufgabe 12 Zeige die zweite Chernoff-Ungleichung. Beispiel 1.5 Wir nehmen an, dass ein Zufallsexperiment X vorliegt, dessen Erwartungswert wir experimentell messen möchten. Das Experiment sei aber instabil, d.h. die Varianz von X ist groß. Wir boosten“, wiederholen also das Experiment k mal. Wenn Xi das Ergebnis des iten P ” Experiments ist, dann setzen wir Y = k1 · ki=1 Xi und beachten, dass die Zufallsvariablen X1 , . . . , Xk unabhängig sind: Es gilt also k k 1 X 1 X 1 V[Y ]= 2 · V [ Xi ] = 2 · V [ X ] = · V [ X ]. k k k i=1 i=1 Wir haben die Varianz um denPFaktor k gesenkt, P aber den Erwartungswert unverändert gelassen, denn E[ Y ] = E[ k1 · ki=1 Xi ] = k1 · ki=1 E[ X ] = E[ X ]. Die Tschebyscheff Ungleichung liefert jetzt das Ergebnis prob[ |Y − E[X]| > t ] = prob[ |Y − E[Y ]| > t ] ≤ V [Y ] V [X] = 2 t k · t2 und große Abweichungen vom Erwartungswert sind unwahrscheinlicher geworden. Angenommen, wir haben erreicht, dass Y mit Wahrscheinlichkeit mindestens p = 1 − ε in ein Toleranzintervall“ T = [E[ X ] − δ, E[ X ] + δ ] fällt. Können wir p schnell gegen 1 ” ” treiben“? Wir wiederholen diesmal das Experiment Y und zwar m mal und erhalten wiederum unabhängige Zufallsvariablen Y1 , . . . , Ym . Als Schätzung des Erwartungswerts geben wir jetzt den Median M von Y1 , . . . , Ym aus. Wie groß ist die Wahrscheinlichkeit, dass M nicht im Toleranzintervall T liegt? 1.5. KONZEPTE UND KONZEPTKLASSEN 21 Y liegt mit Wahrscheinlichkeit mindestens p in T . Wenn also der Median außerhalb des Toleranzintervalls liegt, dann liegen mindestens m 2 Einzelschätzungen außerhalb, während nur (1 − p) · m = ε · m außerhalb liegende Einzelschätzungen zu erwarten sind. Wir wenden m die Chernoff Ungleichung an und beachten, dass (1 + 1−2·ε 2·ε ) · ε · m = 2 . Also erhalten wir mit β = 1−2·ε 2·ε 2 2 prob[ M 6∈ T ] ≤ e−ε·m·β /3 = e−(1−2·ε) ·m/(12·ε) und die Fehlerwahrscheinlichkeit fällt negativ exponentiell, falls ε < 12 . 1.5 Konzepte und Konzeptklassen Wir formalisieren zuerst die Begriffe Konzept“ und Hypothese“. ” ” Definition 1.11 Sei Σ eine nicht notwendigerweise endliche Menge. Ein Konzept c über Σ ist eine Teilmenge von Σ∗ . Eine Konzeptklasse C über Σ ist eine Menge von Konzepten. Eine Hypothese h über Σ ist ein Konzept über Σ und eine Hypothesenklasse H ist eine Menge von Hypothesen. Eine Konzeptklasse besteht somit aus allen möglichen Beispielen des zugrunde liegenden Konzepts. Wir stellen jetzt Konzeptklasssen für einfache aussagenlogische Formeln vor und schließen mit den Konzeptklassen der Entscheidungsbäume und Entscheidungslisten sowie mit der Konzeptklasse endlicher Automaten. Die Konzeptklasse der Halbräume ist von besonderer Wichtigkeit. Definition 1.12 Aus aussagenlogischen Formeln bestehende Konzeptklassen: (a) Die Konzeptklasse MONOMn besitzt Monome über den Literalen x1 , . . . , xn als Konzepte. Genauer gesagt: Für jedes Monom m besitzt MONOMn das Konzept Wahr(m) = { y ∈ {0, 1}n | y erfüllt m }. (b) Die Konzeptklasse k-KNFn besitzt für jede aussagenlogische Formel α in konjunktiver Normalform (mit höchstens k Literalen aus {x1 , ¬x1 , . . . , xn , ¬xn } pro Klausel) das Konzept Wahr(α), und zwar die Menge der erfüllenden Wahrheitsbelegungen“. Wir ” setzen Wahr(α) = {y ∈ {0, 1}n | y erfüllt α }. k-DNFn ist die zur Konzeptklasse k-KNFn analoge Konzeptklasse für Formeln in disjunktiver Normalform, wobei maximal k Literale in jedem Monom auftreten. (c) Die Konzeptklasse k-KLAUSEL KNFn besitzt für jede aussagenlogische Formel α in konjunktiver Normalform mit höchstens k Klauseln über den Literalen {x1 , ¬x1 , x2 , ¬x2 , . . . , xn , ¬xn } das Konzept Wahr(α), nämlich die Menge der erfüllenden Wahrheitsbelegungen. Die Menge Wahr(α) ist wie in (b) definiert. k-TERM DNFn ist die zur Konzeptklasse k-KLAUSEL KNFn analoge Konzeptklasse für Formeln in disjunktiver Normalform mit höchstens k Monomen. 22 KAPITEL 1. EINFÜHRUNG (d) Die Konzeptklasse KNFn besitzt für jede Formel in konjunktiver Normalform über den Literalen {x1 , ¬x1 , x2 , ¬x2 , . . . , xn , ¬xn } die entsprechende Menge der erfüllenden Wahrheitswerte als Konzept. DNFn ist die zur Konzeptklasse KNFn analoge Konzeptklasse für Formeln in disjunktiver Normalform. (e) Die Konzeptklasse BOOLEANn besteht aus allen Teilmengen von {0, 1}n , d.h. jede Teilmenge bildet ein Konzept. Definition 1.13 Eine Funktion s : {0, 1}n → {0, 1} heißt symmetrisch, falls für jede Permutation π s(x1 , . . . , xn ) = s(xπ(1) , . . . , xπ(n) ) gilt. SYMn besitzt für jede symmetrische Funktion s : {0, 1}n → {0, 1} die Menge Wahr(s) = { x ∈ {0, 1}n | s(x) = 1 } als Konzept. Damit ist eine symmetrische Funktion bereits durch die n + 1 Funktionswerte an den Stellen (0, 0, 0, . . . , 0), (1, 0, 0, . . . , ), (1, 1, 0, . . . , 0), . . . , (1, 1, 1, . . . , 1) vollständig spezifiziert. x2 0 1 x1 0 x4 0 0 x5 1 0 1 0 1 1 1 1 Definition 1.14 (a) Ein Entscheidungsbaum ist ein binärer Baum, dessen innere Knoten mit einem Element aus { x1 , . . . , xn } und dessen Blätter mit den Wahrheitswerten 0 oder 1 markiert sind. Eine Eingabe y = (y1 , . . . , yn ) ∈ {0, 1}n wird an der Wurzel angelegt. Erreicht die Eingabe den Knoten v mit Markierung xi , wird sie zum linken (rechten) Kind weitergeleitet, falls yi = 0 (yi = 1) ist. Der Baum akzeptiert die Eingabe y genau dann, wenn y ein Blatt erreicht, das mit 1 markiert ist. (b) Die Konzeptklasse DECISIONn,s besitzt für jeden Entscheidungsbaum T über den Boole’schen Variablen x1 , . . . , xn mit höchstens s Knoten die Menge Wahr(T ) = { x ∈ {0, 1}n | T akzeptiert x } als Konzept. 23 1.5. KONZEPTE UND KONZEPTKLASSEN Definition 1.15 (a) Eine Entscheidungsliste ist durch einen Vektor der Form (m1 , b1 ), (m2 , b2 ), . . . , (me , be ), b mit e ≤ s spezifiziert. Jedes mi für 1 ≤ i ≤ e ist ein Monom von k Literalen. Die Wahrheitswerte b1 , . . . , be und b werden aus der Menge {0, 1} gewählt. Für eine Eingabe y = (y1 , . . . , yn ) ∈ {0, 1}n wird die Ausgabe bj errechnet, wobei das kleinste j gewählt wird, so dass y das Monom mj erfüllt. Wenn y keines der e Monome erfüllt, wird die Ausgabe b ∈ {0, 1} gegeben. (b) k-LISTEn,s besitzt für jede Entscheidungsliste über den Variablen x1 , . . . , xn die entsprechende Menge der erfüllenden Wahrheitsbelegungen als Konzept. 0 - 0- m1 m2 1 ? b1 0 - 0me b ··· 1 1 ? ? b2 be Definition 1.16 AUTOMATn,Σ besitzt für jeden deterministischen, endlichen Automaten A mit höchstens n Zuständen und dem Eingabealphabet Σ die Menge L(A) als Konzept1 . Wir lernen jetzt zwei reellwertige Konzepte kennen. Definition 1.17 RECHTECKn besitzt für jedes achsenparallele Rechteck R ⊆ Rn ein Konzept. Das Konzept stimmt mit R überein. Definition 1.18 HALBRAUMn besitzt für alle Gewichte w1 , . . . , wn ∈ R und jeden Schwellenwert (bzw. Threshold) t ∈ R den Halbraum n Wahr(f ) = { x ∈ R | als Konzept. 1 L(A) ist die von A akzeptierte reguläre Sprache. n X i=1 wi · xi ≥ t } 24 KAPITEL 1. EINFÜHRUNG Kapitel 2 Grundlagen: Das PAC-Modell Wir stellen jetzt ein neues Lernmodell vor, in dem der Lerner das Zielkonzept nur hochwahr” scheinlich approximativ richtig“ rekonstruieren muss. Die neue Lernsituation ist wie folgt: - Gegeben sei die Konzeptklasse C sowie die Hypothesenklasse H. Die Konzeptklasse C ist bekannt und der Lernalgorithmus versucht, ein unbekanntes Konzept c ∈ C durch eine Hypothese h ∈ H zu erklären. - Die Hypothese h sollte sich hochwahrscheinlich nur wenig von dem Zielkonzept c unterscheiden. Der Lernalgorithmus geht nach dem folgenden Schema vor. Algorithmus 2.1 Die Grundstruktur eines PAC-Algorithmus Die Eingabe besteht aus dem Vertrauensparameter δ und dem Fehlerparameter ε. (1) Bestimme s = s(δ, ε), die Anzahl der anzufordernden Beispiele. (2) Wiederhole s mal: (2a) Fordere ein Beispiel (x, b) an. /* Es ist stets b ∈ {0, 1} und weiterhin gilt b = 1 genau dann, wenn x zum zu lernenden Konzept c gehört. */ (3) Bestimme eine Hypothese hc ∈ H. Wann ist hc eine gute Approximation des Zielkonzepts c? Um diese Frage zu beantworten sollten wir symmetrische Differenz von c und hc analysieren. (Die symmetrische Differenz zweier Mengen X, Y wird durch X ⊕ Y = (X ∪ Y ) − (X ∩ Y ) definiert und besteht aus allen Elementen, die entweder in X oder in Y liegen.) X Y 25 26 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Definition 2.2 Für ein Konzept c ∈ C, eine Hypothese hc ∈ H und eine Verteilung D auf den Beispielen definieren wir X fehlerD (c, hc ) = D(x) x∈c⊕hc als den Fehler der Hypothese. Wir fordern eine Fairness-Bedingung, nämlich wir messen den Fehler mit der gleichen Verteilung D, die auch die Erzeugung der Beispiele steuert“. Warum? Wir sollten den Lernalgo” rithmus nicht bestrafen, wenn eine Verteilung schlechte“ Beispiele, zum Beispiel nur negative ” Beispiele liefert. Stattdessen sollte sich der Lernalgorithmus auf die Verteilung einstellen: Im obigen Fall sollte die leere Hypothese eine sehr gute Hypothese sein. Sei D eine vorgegebene unbekannte Verteilung. Die Hypothese hc wird zu einer Zufallsvariablen, denn die Wahl von hc hängt von den zufällig produzierten Beispielen ab. Sollten wir verlangen, dass fehlerD (c, hc ) für alle möglichen Beispielmengen klein ist? Eine solche Anforderung wäre unfair, denn selbst eine gute“ Verteilung kann mit kleiner Wahrscheinlichkeit ” schlechte Beispielmengen liefern. Stattdessen verlangen wir, dass fehlerD (c, hc ) mit hoher Wahrscheinlichkeit klein ist. Für die Formalisierung führen wir den Fehlerparameter ε und den Vertrauensparameter δ ein. Definition 2.3 Ein Lernalgorithmus ist genau dann ein PAC-Algorithmus für eine Konzeptklasse C, wenn für alle ε ∈ (0, 1], für alle δ ∈ (0, 1], für alle Konzepte c ∈ C und für alle Verteilungen D probD [ fehlerD (c, hc ) ≤ ε ] ≥ 1 − δ gilt, wobei hc die vom Algorithmus bestimmte Hypothese ist. PAC ist die Abkürzung von probably approximately correct“. Es wird also verlangt, dass ” hochwahrscheinlich (also mit Wahrscheinlichkeit mindestens 1−δ) eine fast richtige Hypothese produziert wird. Die Hypothese ist fast richtig, wenn sie sich nur auf Beispielen vom Gewicht höchstens ε vom Zielkonzept unterscheidet. Welche Eigenschaften sollte eine gute Hypothese hc haben? Wenn möglich, sollte hc konsistent sein, also auf den Beispielen dasselbe Verhalten wie das Zielkonzept c zeigen. Definition 2.4 Eine Hypothese h heißt genau dann (auf einer Menge S von klassifizierten Beispielen) konsistent, wenn für alle x ∈ S : x ∈ h ⇔ x ist ein positives Beispiel gilt. Im Konsistenzproblem (C, H) ist für jede nach einem Konzept aus C klassifizierte Beispielmenge eine konsistente Hypothese aus H zu bestimmen. Beispiel 2.1 Ein PAC-Algorithmus für MONOMn . Algorithmus 2.5 Die Eingabe besteht aus dem Vertrauensparameter δ, dem Fehlerparameter ε und der Länge n der Beispiele. (1) Bestimme s(ε, δ, n) und fordere s(ε, δ, n) Beispiele an. 2.1. DIE ZENTRALEN FRAGESTELLUNGEN 27 (2) Als erste Hypothese wird das Monom h ≡ x1 ∧ ¬x1 ∧ x2 ∧ ¬x2 ∧ · · · ∧ xn ∧ ¬xn aufgestellt. (3) Streiche alle Literale, die einem positiven Beispiel widersprechen. (4) Gib die resultierende Hypothese aus. Beachte, dass die berechnete Hypothese stets konsistent ist. Wir zeigen später, dass Algorithmus 2.5 ein PAC-Algorithmus für die Konzeptklasse MONOMn ist, wenn 1 1 n s(ε, δ, n) = Ω( · ln + ) ε δ ε gilt. Aufgabe 13 (a) Zeige: Für jede Menge S ⊆ {0, 1}n von m klassifizierten Beispielen kann eine konsistente k-CNF-Formel in polynomieller Zeit (in m und nk ) gefunden werden, falls eine solche Formel existiert. Damit ist das Konsistenzproblem (k-CNF, k-CNF) effizient lösbar. (b) Zeige: Zu jeder k-Term-DNF-Formel α gibt es eine äquivalente k-CNF-Formel β. Das Konsistenzproblem (k-Term-DNF, k-CNF) ist also effizient lösbar. Diese Aufgabe zeigt die Wichtigkeit der Wahl der Hypothesenklasse. Wir zeigen nämlich später unter der Annahme RP 6= NP, dass das Konsistenzproblem (k-Term-DNF, k-Term-DNF) nicht effizient lösbar ist. 2.1 Die zentralen Fragestellungen Welche Fragestellungen für PAC-Algorithmen sind von besonderem Interesse? 1. Frage: Angenommen wir haben einen PAC-Algorithmus L mit Fehler ε and Vertrauensparameter δ erhalten. Gibt es dann zu jedem δ′ mit 0 < δ′ ≤ δ und jedem 0 < ε′ ≤ ε einen PAC-Algorithmus L′ - mit Vertrauensparameter δ′ - und kleinerem Fehler ε′ < ε? - Um wieviel höher ist die Beispielzahl und Laufzeit von L′ im Vergleich zu L? Die Verringerung von δ lässt sich mit elementaren Methoden erreichen, die Verringerung des Fehlers ε hingegen wird uns in Kapitel 5 weiter beschäftigen. Die dort entwickelten BoostingMethoden haben ein vielfältiges Anwendungsgebiet. Aufgabe 14 L sei ein Lernalgorithmus für die Konzeptklasse C, der einen Vertrauensparameter von nur δ = 1/2 garantieren kann. Der Algorithmus L sieht also poly(1/ε) Beispiele und liefert mit einer Wahrscheinlichkeit von mindestens 1/2 eine Hypothese mit Fehler höchstens ε. Entwerfe für die Klasse C (mit Hilfe von L) einen PAC-Algorithmus L∗ , der für jedes δ > 0 Hypothesen mit Fehler höchstens ε lernt und höchstens poly(1/ε, log2 1/δ) Beispiele benötigt. 2. Frage: Wieviele Beispiele werden für die Konzeptklasse C und die Hypothesenklasse H benötigt, wenn der Fehler höchstens ε und der Vertrauensparameter höchstens δ betragen darf? 28 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Intuitiv sollte die Beispielzahl von der Anzahl der Freiheitsgrade“ der Hypothesenklasse ” abhängen. Genauer sollten wir erwarten, dass die Beispielzahl signifikant größer als die Anzahl der Freiheitsgrade sein muss: Hat eine Hypothese noch offene“ Freiheitsgrade, dann sollten ” wir Schwierigkeiten haben, einen entsprechend kleinen Verallgemeinerungsfehler auf den nicht gesehenen Beispielen hochwahrscheinlich zu garantieren. In Kapitel 2.2 klären wir den Einfluß des Fehlers ε und des Vertrauensparameters δ auf die Beispielzahl. Insbeondere werden wir auch sehen, dass die Vapnik-Chervonenkis Dimension eine hervorrragende Formalisierung des Konzepts der Anzahl Freiheitsgrade“ ist. ” 3. Frage: Angenommen, es gibt mehrere konsistente Hypothesen: Welche Hypothese sollten wir wählen? Warum nicht die Einfachste? Wir zeigen in Kapitel 2.2.2, dass dieses Prinzip, auch Occam’s Razor genannt, beweisbar funktioniert. 4. Frage: Für welche Konzept- und Hypothesenklassen können wir das Konsistenzproblem effizient lösen? Welche Konzeptklassen sind zu schwierig? Wie kritisch ist die Wahl der Hypothesenklasse? Wir beantworten diese Fragen in Abschnitt 2.4. 2.2 Die Beispielzahl in Abhängigkeit von log2 |C| Um die Qualität eines PAC-Algorithmus evaluieren zu können, müssen wir die Beispielzahl und die Laufzeit bestimmen. Wir konzentrieren uns zuerst auf die Anzahl der angeforderten Beispiele Definition 2.6 Sei L ein PAC-Algorithmus für die Konzeptklasse C. Für ε ∈ (0, 1] und δ ∈ (0, 1] sei sL (ε, δ) die von L angeforderte Anzahl an Beispielen für Fehlerparameter ε und Vertrauensparameter δ. Die Beispielanzahl von C ist definiert durch BeispielC (ε, δ) = min{ sL (ε, δ) | L ist ein PAC-Algorithmus für C }. BeispielC (ε, δ) ist die minimale Anzahl benötigter Beipiele zum Lernen von C bei Fehler ε und Vertrauensparameter δ. Wir zeigen, dass der folgende Algorithmus ein PAC-Algorithmus ist und erhalten damit automatisch eine obere Schranke für die Beispielzahl. Algorithmus 2.7 Ein PAC-Algorithmus für C Die Eingabe besteht aus dem Vertrauensparameter δ und dem Fehlerparameter ε. (1) Setze s = ⌈ 1ε · ln |C| + ln 1δ ⌉. (2) FOR i = 1 TO s DO Lies das i-te klassifizierte Beispiel (xi , bi ). (3) Wähle irgendein konsistentes Konzept h ∈ C als Hypothese. Satz 2.8 Algorithmus 2.7 ist ein PAC-Algorithmus für C. Der Algorithmus ist konsistent und lernt C mit 1 1 ⌈ · ln | C | + ln ⌉ ε δ Beispielen. 2.2. DIE BEISPIELZAHL IN ABHÄNGIGKEIT VON LOG2 |C| 29 Beweis: Wir müssen zeigen, dass probD [ fehlerD (c, hc ) ≤ ε ] ≥ 1 − δ gilt, wobei hc die vom Lernalgorithmus gewählte, konsistente Hypothese ist. Dies ist für jedes Konzept c ∈ C und jede Wahrscheinlichkeitsverteilung D nachzuweisen. Das Zielkonzept c ∈ C und die Wahrscheinlichkeitsverteilung D seien gegeben. Wir untersuchen zuerst die Wahrscheinlichkeit p, dass der Fehler zu groß ist. Es ist Es gibt eine konsistente Hypo– ] these h mit fehlerD (c, h) > ε X prob[ h ist konsistente Hypothese ]. mit fehlerD (c,h)>ε} p = probD [ fehlerD (c, hc ) > ε ] ≤ prob[ ≤ h∈C Wir nehmen dabei natürlich stets an, dass die Beispiele ebenfalls mit der Verteilung D erzeugt werden. Angenommen, wir wählen ein beliebiges Konzept h ∈ C mit fehlerD (c, h) > ε. Dann ist die Wahrscheinlichkeit, dass ein zufällig gewähltes Beispiel (x, b) konsistent mit h ist, durch 1 − ε nach oben beschränkt und somit ist prob[ h ist eine konsistent Hypothese ] ≤ (1 − ε)s , denn s Beispiele werden angefordert. Wir erhalten, dass p≤ X (1 − ε)s ≤ | C | · (1 − ε)s . h∈C Wie groß sollten wir s wählen, damit | C | · (1 − ε)s ≤ δ gilt? Durch Logarithmieren beider Seiten der Ungleichung erhalten wir ln | C | + s · ln(1 − ε) ≤ ln δ. | {z } ≤−ε (Die Ungleichung ln(1 − ε) ≤ −ε folgt aus Lemma 1.3. Somit reicht der Nachweis von ln | C | − s · ε ≤ ln δ. Diese Ungleichung ist äquivalent zu 1 (ln | C | − ln δ) ≤ s ε und das war zu zeigen. 2 Wir wenden Satz 2.8 an, um PAC-Algorithmen für viele wichtige Konzeptklassen zu erhalten. 30 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Satz 2.9 Es gilt: (a) Beispiel(MONOTON-MONOMn ) = O( nε + 1ε · ln 1δ ), Beispiel(MONOMn ) = O( nε + 1ε · ln 1δ ). k (b) Beispiel(k-KNFn ) = O( nε + 1ε · ln 1δ ) für festes k, ) für festes k. 1 1 (c) Beispiel(k-KLAUSEL-KNFn ) = O( k·n ε + ε · ln δ ), 1 1 Beispiel(k-TERM-DNFn ) = O( k·n ε + ε · ln δ ). (d) Beispiel(KNFn ) = O( 1ε · 2n + 1ε · ln 1δ ), Beispiel(DNFn ) = O( 1ε · 2n + 1ε · ln 1δ ), Beispiel(BOOLEANn ) = O( 1ε · 2n + 1ε · ln 1δ ). (e) Beispiel(SYMn ) = O( nε + 1ε · ln 1δ ). k Beispiel(k-DNFn ) = O( nε + 1 ε · ln 1 δ (f ) Beispiel(AUTOMATn,Σ ) = O( nε · | Σ | · log2 n + 1 ε · ln 1 δ ). Beweis: Die Aussagen folgen direkt aus Satz 2.8, wenn wir die Mächtigkeit von C berechnen. (a) | MONOTON-MONOMn | = 2n und | MONOMn | = 3n + 1. P k (b) | k-KNFn | = | k-DNFn | = O( kj=0 2n j ) = O(n ) für fixiertes k. (c) | k-KLAUSEL-KNFn | = | k-TERM-DNFn | ≤ 22nk , n (d) | KNFn | = | DNFn | = | BOOLEANn | = 22 . (e) | SYMMETRISCHE-FUNKTIONn | = 2n+1 . (f) | AUTOMATn,Σ | ≤ n|Σ|·n · 2n . 2 Bemerkung 2.1 Alle Ergebnisse aus Satz 2.9 sind optimal. Wir führen im nächsten Kapitel einen Optimalitätsbeweis. Wenn wir uns allerdings mit den Konzeptklassen RECHTECKn und HALBRAUMn beschäftigt hätten, würden wir nur sehr schwache Abschätzungen erhalten. In diesen beiden Fällen werden wir bessere Schranken im nächsten Kapitel kennenlernen. Aufgabe 15 Konstruiere einen effizienten PAC-ALgorithmus für die Konzeptklasse Symn aller symmetrischen Funktionen über n Variablen. Aufgabe 16 In dieser Aufgabe untersuchen wir die Konzeptklasse periodischer Strings der Länge n über dem Alphabet {a, b}. Für p ∈ N nennen wir einen String u p−periodisch, wenn ∀1≤i≤|u|−p ui = ui+p gilt. Dabei bezeichnet |u| die Länge des Strings und ui den Buchstaben an i-ter Position. Wir repräsentieren einen String als Menge von 2-Tupeln bestehend aus Buchstabe und Position. So entspricht u = aabba dem Konzept cu = {(a, 1), (a, 2), (b, 3), (b, 4), (a, 5)}. 2.2. DIE BEISPIELZAHL IN ABHÄNGIGKEIT VON LOG2 |C| 31 Dieser String ist 4-periodisch. Wir betrachten die Klasse aller Strings aus {a, b}n , die p-periodisch mit p ≤ n/2 sind. Gib einen konsistenten PAC Algorithmus an, der das Konzept der höchstens n/2-periodischen Strings mit 1 1 n + 1 + ln( ) s= ǫ 2 δ Beispielen löst. Wieviele Beispiele sind hinreichend, wenn bekannt ist, daß die Periodenlänge p beträgt? Aufgabe 17 Gib einen konsistenten PAC Algorithmus an, der totale Ordnungen erlernt. Zu gegebenem Fehlerparameter ǫ und Vertrauensparameter δ sollte der Algorithmus möglichst wenig Beispiele anfordern und das Konsistenzproblem in poly(n, 1ǫ , log( 1δ ) ) Zeit lösen. Aufgabe 18 Die Konzeptklasse Decisionn,p besitzt für jeden Entscheidungsbaum T über den Booleschen Variablen x1 , . . . , xn das Konzept Wahr(T ) = {x ∈ {0, 1}n | x erfüllt T }. Wir setzen voraus, dass T höchstens p Knoten besitzt. (a) Bestimme eine möglichst gute obere Schranke für die Anzahl der binären Bäumen mit höchstens p Knoten. (Ein Baum heißt binär, falls jeder Knoten 0 oder 2 Nachfolger hat.) (b) Zeige: Beispiel (Decisionn,p ) = O( 1 1 · p · ln(n) + ln ). ε δ Aufgabe 19 In dieser Aufgabe besprechen wir PAC-Lernalgorithmen mit einseitigem Fehler. Definition 2.10 Ein Lernalgorithmus lernt eine Konzeptklasse C mit einseitigem Fehler im PAC-Sinne, wenn für jedes ε ∈ (0, 1], für jedes δ ∈ (0, 1], für jedes Konzept c ∈ C und für jede Verteilung D • h ⊆ c und • probD [ fehlerD (c, h) ≤ ε ] ≥ 1 − δ, gilt, wobei h die vom Algorithmus gefundene Hypothese ist. Definition 2.11 Eine Konzeptklasse C, heißt minimal konsistent, wenn es zu jeder endlichen Menge von klassifizierten Beispielen S ein mit S konsistentes Konzept h gibt, so dass h in jedem mit S konsistenten Konzept enthalten ist. Im folgenden versuchen wir, Bedingungen zu finden, die garantieren, dass C mit einseitigem Fehler im PACSinne lernbar ist. (a) Sei C eine minimal konsistente Konzeptklasse. Zeige: Es gibt einen PAC-Algorithmus, der C mit einseitigem Fehler lernt und höchstens 1 1 · ln | C | + ln ε δ Beispiele anfordert. Beachte: Wir stellen keine Forderungen an die Effizienz des PAC-Algorithmus’. (b) Zeige: Wenn es einen PAC-Algorithmus für C gibt, der C mit einseitigem Fehler lernt, dann ist C minimal konsistent. Beachte: Ein PAC-Algorithmus mit einseitigem Fehler muss auf der Beispielmenge nicht konsistent sein! Aber wir können den Algorithmus durch eine geeignete Wahl von ε, δ und der Verteilung D zur Konsistenz zwingen. Wie und warum? (c) Sind die Konzeptklassen MONOMn und/oder k-DNFn minimal konsistent? 32 2.2.1 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Beliebige Hypothesenklassen Wir betrachten jetzt den allgemeinsten Fall und erlauben, dass die Konzeptklasse C und die Hypothesenklasse H nicht zwangsläufig vergleichbar sind. Möglicherweise gibt es also Konzepte in C für die es keine äquivalenten Hypothesen in H gibt, also ist möglicherweise C 6⊆ H. Dieser Fall ist für die Praxis von größter Bedeutung wie das folgende Beispiel zeigt. Beispiel 2.2 Schrifterkennung Für jede Person bilden wir ein Konzept und nennen die entsprechende Konzeptklasse C. Für eine Person P besteht das Konzept cP aus den Bitmustern aller möglichen Schriftproben der Person zusammen mit dem Bitmuster der dazugehörenden Entzifferung. Das Ziel des Lernalgorithmus ist die Mustererkennung der Schrift für jede Person: Nach dem Training auf Schriftproben und ihrer Entzifferung soll das System im Stande sein, weitere Schriftproben selbständig zu entziffern. Eine fehlerfreie Entzifferung werden wir im allgemeinen nicht erwarten können, d.h. für die Hypothesenklasse H (z.B. neuronale Netzwerke) ist C ⊆ H nicht garantiert. Seien C und H sowie eine unbekannte Verteilung D gegeben. Um den Fall C 6⊆ H zu untersuchen, wählen wir ein unbekanntes Zielkonzept c ∈ C und nehmen an, dass es eine Hypothese h ∈ H gibt, die das Zielkonzept c ∈ C gut“ approximiert, d.h. es gelte ” fehlerD (c, h) ≤ ε. Wir möchten die Beispielanzahl s so bestimmen, dass nach Anforderung von s Beispielen eine gut-approximierende“ Hypothese hc mit Wahrscheinlichkeit mindestens 1 − δ gefunden ” werden kann. Gut-approximierend“ bedeutet hier, dass ” fehlerD (c, h) ≤ 4ε. Wir wissen aufgrund der Annahme, dass es eine gute Hypothese gibt. Wir wissen jedoch nicht, wie wir diese gute Hypothese finden können. Unser Ziel ist es, eine nur unwesentlich schlechtere Hypothese zu finden. Algorithmus 2.12 ist unser Lernalgorithmus. Algorithmus 2.12 Lernalgorithmus zur Hypothesenklasse H mit C 6⊆ H Die Eingabe besteht aus dem Vertrauensparameter δ und dem Fehlerparameter ε. (1) Bestimme s in Anhängigkeit von ε und δ. (2) FOR i = 1 TO s DO Lies das i-te klassifizierte Beispiel (xi , bi ). (3) Wähle eine Hypothese hc ∈ H, die mit mindestens (1 − 2ε) · s Beispielen konsistent ist. Falls keine solche existiert, gib eine Fehlermeldung aus. Wir möchten die Beispielanzahl s so bestimmen, dass probD [ Algorithmus findet eine Hypo– ] ≥1−δ these hc mit fehlerD (c, hc ) ≤ 4ε 2.2. DIE BEISPIELZAHL IN ABHÄNGIGKEIT VON LOG2 |C| 33 gilt. Äquivalent dazu ist zu fordern, dass probD [ Algorithmus gibt eine Fehler– ] ≤ δ. meldung oder fehlerD (c, hc ) ≥ 4ε Es genügt offensichtlich zu zeigen, dass probD [ Algorithmus gibt ] + probD [ fehlerD (c, hc ) ≥ 4ε ] ≤ δ. eine Fehlermeldung Wir bestimmen s, so dass sogar probD [ Algorithmus gibt eine Fehlermeldung ] ≤ und probD [ fehlerD (c, hc ) ≥ 4ε ] ≤ δ 2 δ 2 (2.1) (2.2) gilt. Wir bestimmen im ersten Schritt s so, dass die Ungleichung (2.1) gilt. Eine Hypothese heißt (1 − 2ε)s-konsistent, wenn sie mit mindestens (1 − 2ε)s Beispielen konsistent ist. Zuerst bestimmen wir die Wahrscheinlichkeit p1 , dass es keine (1 − 2ε)s-konsistente Hypothese gibt. Dazu betrachten wir die nach Annahme existierende Hypothese h mit fehlerD (c, h) ≤ ε. Da es bei Ausgabe einer Fehlermeldung keine Hypothese gibt, die mit mindestens (1 − 2ε)s Beispielen konsistent ist, erhalten wir: p1 = probD [ Algorithmus gibt h nicht konsistent mit ] ≤ probD [ ] = p2 . Fehlermeldung aus mindestens 2εs Beispielen Setze Yi = (2.3) 1 das i-te Beispiel ist nicht konsistent mit h, 0 sonst. Dann gilt p2 = probD [ s X i=1 Yi ≥ 2εs]. (2.4) Beachte, dass probD [ ein Beispiel gehört zu c ⊕ h ] ≤ ε gilt, und deshalb ist der Erwartungswert, dass h nicht konsistent mit der Beispielmenge ist, gegeben durch E[ s X i=1 Yi ] ≤ ε · s. Wir liegen mit 2εs zweifach über dem Erwartungswert und die Chernoff-Schranke Satz 1.10 liefert für β = 1 die Abschätzung εs p2 ≤ e− 3 . Wegen (2.3) und (2.4) erreichen wir p1 ≤ δ/2, wenn wir fordern, dass 3 2 s ≥ · ln . ε δ 34 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Im zweiten Schritt bestimmen wir s so, dass Ungleichung (2.2) gilt. Also ist 1 p3 = probD [ fehlerD (c, hc ) ≥ 4ε ] ≤ δ 2 zu fordern. Sei hc ∈ H eine beliebige Hypothese mit fehlerD (c, h) ≥ 4 · ε. Wir möchten die Wahrscheinlichkeit h ist mit höchstens 2εs p4 := probD [ c ] Beispielen nicht konsistent bestimmen. Definiere die 0-1-Zufallsvariablen Z1 , . . . , Zs durch Zi = 1 das i-te Beispiel ist nicht konsistent mit hc , 0 sonst und wir erhalten p4 ≤ probD [ s X i=1 Zi ≤ 2εs ]. Ps P Da E[ i=1 Zi ] ≥ 4εs gilt, verstößt das Ereignis si=1 Zi ≤ 2εs gegen den Erwartungswert, und wir können die Chernoff-Schranke aus Satz 1.10 mit β = 12 anwenden. Wir erhalten die Abschätzung 4ε·s p4 ≤ e− 4·2 = e− ε·s 2 . Für den zweiten Schritt gilt somit: p4 ≤ h∈H X probD [ mit fehlerD (c,h)≥4ε X εs εs h ist mit ≤ 2εs Beispielen ]≤ e− 2 = | H | · e− 2 . nicht konsistent h∈H Um p4 ≤ 12 δ zu erhalten, folgt nach Logarithmieren ln | H | − εs 2 ≤ ln 2 2 · ln | H | + ln ≤ s. ε δ δ 2 und dazu äquivalent Wir fassen zusammen: Satz 2.13 Seien C, H, sowie eine Verteilung D gegeben und es gelte c ∈ C. Für eine Hypothese h ∈ H sei fehlerD (c, h) ≤ ε. Der Lernalgorithmus 2.12 findet mit Wahrscheinlichkeit mindestens 1 − δ eine Hypothese hc ∈ H mit fehlerD (c, hc ) ≤ 4ε, solange mindestens 3 2 s(δ, ε, n) ≥ · ln | H | + ln ε δ Beispiele angefordert werden. 2.2. DIE BEISPIELZAHL IN ABHÄNGIGKEIT VON LOG2 |C| 2.2.2 35 Occam-Algorithmen Der Philosoph William of Ockham (1295–1349) hat das folgende Prinzip, das auch Occam’s Razor genannt wird, aufgestellt: Non sunt multiplicanda entia praeter necessitatem“. ” Zu Deutsch: Objekte sind nicht unnötigerweise zu multiplizieren. Oder, in freier Übersetzung Wähle stets die einfachste Erklärung“, ” oder in der Sprache der Informatik Wähle stets eine Hypothese mit kurzer Beschreibungslänge“. ” Wir sagen, dass ein Lernalgorithmus A ein Occam-Algorithmus ist, wenn A stets kurze“ ” konsistente Hypothesen bestimmt. Im Folgenden nehmen wir an, dass ein unbekanntes Zielkonzept c ∈ C mit Hilfe der Hypothesenklasse H zu erlernen ist. Desweiteren nehmen wir an, dass jedes Konzept h ∈ H einen binären Namen besitzt. Beispiel 2.3 Wir betrachten die Konzeptklasse C =MONOMn und setzen H = C. Sei m ein Monom mit m = l1 ∧ l2 ∧ · · · ∧ lk , wobei l1 , . . . , lk Literale sind mit lj ∈ {xij , ¬xij }. Wir beschreiben m durch die Binärdarstellung b1 · code(i1 ) · b2 · code(i2 ) · · · bk · code(ik ). Hierbei gibt bj · code(ij ) an, dass lj mit der Variable xij (bj = 0) bzw. mit ¬xij (bj = 1) übereinstimmt. code(i) ist die Binärdarstellung der Zahl i ∈ {0, . . . , n − 1} mit führenden Nullen auf ⌈log2 n⌉ Bits aufgefüllt. Insgesamt benötigen wir damit k ⌈log2 n⌉ + 1 Bits, um das Monom m darzustellen. Das Monom ist also umso kürzer je weniger Literale es besitzt. Für ein Konzept h ∈ H sei länge(h) die Länge des Namens von h. Wir betrachten die Konzeptklasse Hr aller Hypothesen in H mit einem Namen der Länge kleiner als r, also Hr = { h ∈ H | länge(h) < r }. P i r Da die Namen Binärstrings sind, gilt | Hr | ≤ r−1 i=0 2 = 2 −1. Sei ps,r die Wahrscheinlichkeit, dass es eine Hypothese h ∈ Hr gibt, die mit s Beispielen, generiert gemäß der unbekannten Verteilung D, konsistent ist und einen Fehler größer als ε besitzt. Wie wir schon im Beweis von Satz 2.8 gesehen haben, ist ps,r ≤ (1 − ε)s · | Hr | ≤ (1 − ε)s · 2r . Wir müssen s so groß wählen, dass ps,r ≤ δ gilt. Dies führt nach Logarithmieren zu s · ln(1 − ε) + r · ln 2 ≤ ln δ, 36 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL beziehungsweise, unter Ausnutzung von ln(1 − ε) ≤ −ε mit Lemma 1.3, zu −s · ε + r · ln(2) ≤ ln(δ), oder äquivalent 1 1 · r · ln 2 + · ln ε ε 1 ≤ s. δ (2.5) Wir fassen zusammen, Satz 2.14 Wenn ein Algorithmus stets eine konsistente Hypothese der Länge höchstens r für 1 1 1 s = · r · ln 2 + · ln ε ε δ klassifizierte Beispiele bestimmt, dann besitzt die Hypothese mit Wahrscheinlichkeit mindestens 1 − δ einen Fehler von höchstens ε. Einfache konsistente Hypothesen sind also hochwahrscheinlich approximativ korrekt, wenn die Beispielzahl s signifikant größer als die Beschreibungslänge r der Hypothese ist. Insbesondere ist der Fehler ε invers proportional zu s/(r · ln(2)). Occam-Algorithmen führen also eine Art Datenkomprimierung durch. Beispiel 2.4 Wir beschreiben einen Occam-Algorithmus für die Konzeptklasse MONOMn aller Monome über den Literalen {x1 , ¬x1 , . . . , xn ¬xn }. Wir arbeiten mit H =MONOMn als Hypothesenklasse und übernehmen die Namensgebung aus Beispiel 2.3. Insbesondere haben Monome mit k Literalen eine Beschreibungslänge von k · (⌈log2 n⌉ + 1). Hypothesen mit kurzem Namen entsprechen Monomen mit wenigen Literalen. Der zu entwerfende Occam-Algorithmus muss also ein konsistentes Monom mit möglichst wenigen Literalen finden. Sei S ⊆ {0, 1}n eine klassifizierte Beispielmenge mit S = S− ∪ S+ . Dabei sei S− (S+ ) die Menge der negativen (positiven) Beispiele. Wir betrachten die Menge L aller Literale, die für alle positiven Beispiele den Wert 1 ergeben. Also ist L = { l ∈ {x1 , ¬x1 , x2 , ¬x2 , . . . , xn , ¬xn } | l(y) = 1 für alle y ∈ S+ }. V Dann ist m = l∈L l ein bzgl. der obigen Namensgebung längstes, mit S konsistentes Monom. Um ein kurzes Monom zu erhalten, das mit S konsistent ist, versuchen wir alle negativen Beispiele mit möglichst wenigen Literalen aus L auszuschalten. Diese möglichst wenigen Literale bilden dann unser Monom. Für jedes l ∈ L sei negativ(l) = { y ∈ S− | l(y) = 0 }. Dann ist S− = [ negativ(l) l∈L und wir suchen eine möglichst kleine Menge L′ ⊆ L mit [ S− = negativ(l). l∈L′ Wir betrachten das Überdeckungsproblem, eine Abstraktion unseres Problems. 2.2. DIE BEISPIELZAHL IN ABHÄNGIGKEIT VON LOG2 |C| 37 Definition 2.15 Im Überdeckungsproblem sind ein Universum U und Mengen A1 , . . . , An ⊆ U gegeben, wobei A1 ∪ A2 ∪ · · · ∪ An = U ist. Wir suchen eine Menge I ⊆ {1, . . . , n} kleinster Größe, so dass [ Ai = U i∈I gilt. Das Überdeckungsproblem ist N P -vollständig, aber es existieren effiziente Approximationsalgorithmen. Wir beschreiben den gierigen Überdeckungsalgorithmus, der polynomielle Laufzeit in n und | U | besitzt und eine Überdeckung mit höchstens opt · (ln | U | + 1) Mengen findet, wobei opt die minimale Anzahl an überdeckenden Mengen ist (siehe [J74]). Algorithmus 2.16 Gieriger Überdeckungsalgorithmus Gegeben: das Universum U und Mengen A1 , . . . , An ⊆ U mit A1 ∪ A2 ∪ · · · ∪ An = U . (1) I = ∅. (2) WHILE U 6= ∅ DO (2a) Wähle eine größte Menge Ai für die Uberdeckung und setze I = I ∪ {i} sowie U = U − Ai . (2b) Entferne alle Elemente von Ai aus den Mengen A1 , . . . , An , d.h. Aj wird durch Aj − Ai ersetzt. (3) Gib die Indexmenge I aus. Wir wenden den gierigen Überdeckungsalgorithmus auf das Universum S− und die Mengen negativ(l) für l ∈ L an und erhalten ein mit S konsistentes Monom mit höchstens opt · (ln | S− | + 1) Literalen (wobei opt die minimale Literalanzahl für ein mit S konsistentes Monom ist). Wir finden also ein mit S konsistentes Monom mit Namenslänge höchstens opt · ln(| S− |) + 1 · ⌈log2 n⌉ + 1 . Wenn wir also s Beispiele anfordern und wenn das Zielmonom aus höchstens k Literalen besteht, dann finden wir eine konsistente Hypothese der Länge r ≤ k · (ln(s) + 1) · (⌈log2 n⌉ + 1 . Um einen Fehler von höchstens ε mit Wahrscheinlichkeit mindestens 1 − δ zu erreichen, genügen also mit Satz 2.14 1 1 1 s = · r · ln 2 + · ln ε ε δ 1 1 1 ≤ · k · (ln(s) + 1) · (⌈log2 n⌉ + 1 · ln 2 + · ln ε ε δ 38 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Beispiele. Dann aber sind 1 1 n Θ( · k · (log2 ) · (log2 n) + · ln ε ε ε 1 ) δ ausreichend,während der Algorithmus, der das längste konsistente Monom ausgibt, mit Θ( 1ε · n + 1ε · ln 1δ ) Beispielen arbeitet. Aufgabe 20 C sei die Konzeptklasse der Vereinigungen von zwei achsenparallelen Rechtecken in Rd . (a) Entwerfe einen effizienten Occam-Algorithmus L für C, der Vereinigungen von linear (in d) vielen achsenparallelen Rechtecken als Hypothesen liefert. (b) Erweitere den Algorithmus L (mit einem rekursiven Ansatz) zu einem Occam-Algorithmus L∗ für die Klasse der Vereinigungen von k achsenparallelen Rechtecken in Rd . Aufgabe 21 Wir betrachten den folgenden Occam-Algorithmus für konvexe Polygone in der Ebene: Gegeben: Eine Menge von m zufällig gewählten Beispielen. Algorithmus 2.17 (1) Finde eine Gerade, die alle positiven Beispiele auf der einen und möglichst viele negative Beispiele auf der anderen Seite hat. (2) Entferne diese negativen Beispiele und wiederhole Schritt 1, solange negative Beispiele vorhanden sind. (3) Das Ergebnis ist das aus diesen Geraden bestehende konvexe Polygon. Zeige, dass nur O(e log m) Iterationen notwendig sind, wobei e die Eckenzahl des Zielkonzeptes sei. Aufgabe 22 Pk i Wir benötigen Pr diei folgende Binärkodierung natürlicher Zahlen: Für x ∈ N mit x = i=0 xi 2 (und xk = 1) und k = i=0 ki 2 (mit kr = 1) setze code(x) = k0 k0 k1 k1 . . . kr kr 0 1 x0 x1 . . . xk Da die Zahlen 0 und 1 durch die obige Darstellung nicht kodierbar sind, wird anstelle von x ∈ N die Zahl x + 2 kodiert. Diese Kodierung erlaubt es, Folgen(x1 , . . . , xt ) von natürlichen Zahlen effizient zu kodieren, nämlich durch das Wort code(x1 ) · · · code(xt ). Eine Dekodierung ist stets möglich: Suche die erste Bitfolge b2i−1 b2i = 01 und bestimme die Anzahl der Bits der ersten Zahl. Damit erhalten wir x1 . Wir wiederholen dieses Verfahren für die folgenden Zahlen. Ein Intervall I = [a, b] über N0 besteht aus allen x ∈ N mit a ≤ x ≤ b. Wir nehmen stets an, daß die Endpunkte a und b natürliche Zahlen sind. Wir betrachten die Konzeptklasse INTERVALL, die für jede endliche Vereinigung I1 ∪ I2 ∪ · · · ∪ Is von Intervallen über N ein Konzept cI1 ,...,Is besitzt. Das Konzept cI1 ,...,Is besteht aus allen natürlichen Zahlen, die zu der Vereinigung I1 ∪ I2 ∪ · · · ∪ Is gehören. Ein Beispiel: Für I1 = [2, 5] und I2 = [9, 9] ist cI1 ,I2 = {2, 3, 4, 5, 9}. Sei Ij = [aj , bj ] für j = 1, . . . , s. Die obige Binärkodierung von (a1 , b1 , a2 , b2 , . . . , as , bs ) dient als Namen für das Konzept cI1 ,...,Is . Das leere Konzept erhält den Namen code(1) · code(0). Entwirf einen effizienten Occam-Algorithmus für INTERVALL, der eine konsistente Hypothese mit kürzestem Namen konstruiert. Aufgabe 23 Ein Manhattan-Kurvenzug M in N2 ist gegeben durch eine Folge (x1 , y1 , x2 , y2 , ..., xs , ys ) von Eckpunkten, mit (xi , yi ) ∈ N2 für i = 1, . . . , s. Dabei wird gefordert, dass (xi , yi ) und (xi+1 , yi+1 ), für i = 1, . . . , s−1 abwechselnd entweder in der x-Koordinate oder in der y-Koordinate übereinstimmen. M besteht aus allen Punkten in N2 , die für i = 1, . . . , s − 1 auf der (xi , yi ) und (xi+1 , yi+1 ) verbindenden Geraden liegen. Mit anderen Worten, die Kanten des Kurvenzugs verlaufen entweder parallel zur x-Achse oder parallel zur y-Achse. Ein Manhatten-Kurvenzug M heißt x-monoton, wenn die x-Koordinaten der gegebenen Folge von Eckpunkten monoton steigend sind, also gilt xi ≤ xi+1 für i = 1, . . . , s − 1. Setze Bereich = {0, . . . , 2n − 1}2 . Sei Cn die Konzeptklasse, die für jeden x-monotonen Manhattan-Kurvenzug M mit Eckpunkten aus Bereich (und somit M ⊆ Bereich) ein Konzept cM besitzt, nämlich die Menge aller Punkte (x, y) aus M . Der Name von cM ist coden (x1 )coden (y1 )coden (x2 )coden (y2 ) · · · coden (xs )coden (ys ), 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 39 wobei coden (u) die Binärdarstellung von u ist, die durch führende Nullen auf Länge n gebracht wird. (a) Gegeben seien zwei Punkte (a, b) und (u, v) aus Bereich mit a < u, sowie eine Menge S von Punkten aus Bereich. Bestimme einen x-monotonen Manhattan-Kurvenzug M mit der kleinsten Anzahl von Eckpunkten, so dass - M in (a, b) beginnt und in (u, v) endet, - stets in Bereich verläuft und - keine Punkte aus S durchläuft. Konstruiere einen in |S| und n polynomiellen Algorithmus, der das obige Problem löst, vorausgesetzt es existiert eine Lösung. (b) Zeige, dass Cn einen effizienten Occam Algorithmus besitzt. 2.3 Vapnik-Chervonenkis-Dimension und Beispielanzahl Für eine vorgegebene Konzeptklasse C ist zu erwarten, dass die benötigte Beispielanzahl von der Anzahl der Freiheitsgrade“ von C abhängt. Was aber sind Freiheitsgrade? ” Wir werden jetzt sehen, dass die Vapnik-Chervonenkis Dimension VC(C) eine wesentlich bessere Definition der Anzahl der Freiheitsgrade darstellt als der Logarithmus der Konzeptklassengröße. Definition 2.18 Sei C eine Konzeptklasse. (a) Wir sagen, dass C eine Menge S von Beispielen zertrümmert, falls P(S) = {S ∩ c | c ∈ C}. (P(S) = {T | T ⊆ S} ist die Potenzmenge von S.) (b) Die VC-Dimension VC(C) ist die Mächtigkeit der größten Menge S, die von C zertrümmert wird. Aufgabe 24 (a) Die Konzeptklasse KREIS besitzt für jeden Kreis K in R2 ein Konzept. Für den Kreis mit Mittelpunkt x und Radius r besteht das entsprechende Konzept aus allen Punkten y ∈ R2 mit ||x − y|| ≤ r. Zeige: VC(KREIS) = 3. (b) Die Konzeptklasse k-GONS ist die Klasse der konvexen Polygone in R2 , die maximal k Ecken besitzen. Das Konzept besteht aus allen Punkten der Ebene, die innerhalb des Polygons liegen. Zeige VC(k-GONS) = 2k + 1. Hinweis: Um zu zeigen, dass VC(C) = d ist, zeigt man, dass VC(C) ≥ d ist und dass sich keine Menge von (d + 1) Elementen von C zertrümmern lässt. Aufgabe 25 Wir betrachten das Spiel Schiffeversenken. Gespielt wird auf einem Spielfeld mit 10 mal 10 Zellen. Ein Spieler hat vier Schiffe, der Größe 1 × 4, 1 × 3, 1 × 2 und 1 × 1. Er darf die Schiffe auf den Zellen beliebig waagerecht oder senkrecht (nicht diagonal) positionieren, wobei sich die Schiffe in keiner Weise berühren dürfen. 40 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL A B C D E F G H I J 1 2 3 @ @@ @@ @@ @ 4 5 @ @ @ @ @ @ 6 7 8 @ @ @ @@ @ 9 10 Das Konzept c = {C3, D3, E3, F 3, J3, J4, J5, G7, H7, D8} Ein Konzept sei eine mit den Regeln vereinbare Anordnung der vier Schiffe. Wir können also das Konzept durch die Menge der von den Schiffen abgedeckten Zellen repräsentieren. Die Gesamtheit aller legalen Anordnungen ist eine Konzeptklasse. Gib eine möglichst gute untere Schranke für die VC-Dimension dieser Konzeptklasse an. Beispiel 2.5 Wir betrachten die Konzeptklasse RECHTECK2 . Jedes Konzept in RECHTECK2 wird durch zwei Punkte (x1 , y1 ), (x2 , y2 ) ∈ Z2 mit −2n ≤ x1 , x2 , y1 , y2 ≤ 2n und x1 ≤ x2 , y1 ≤ y2 bestimmt. Das Konzept zu den Punkten (x1 , y1 ) und (x2 , y2 ) besteht aus allen Punkten mit ganzzahligen Koordinaten des von (x1 , y1 ) und (x2 , y2 ) aufgespannten, achsenparallelen Rechtecks {(x, y) ∈ Z2 | x1 ≤ x ≤ x2 und y1 ≤ y ≤ y2 }. RECHTECK2 sollte“ vier Freiheitsgrade besitzen, denn die Koordinaten x1 , x2 , y1 , y2 sind ” zu bestimmen. Wir zeigen zuerst, dass eine vierelementige Menge von C zertrümmert wird und damit folgt VC(RECHTECK2 ) ≥ 4. Dazu betrachten wir die vier Punkte e1 = (−1, 0), e2 = (0, 1), e3 = (0, −1), e4 = (1, 0) und setzen S = {e1 , e2 , e3 , e4 }. Es ist leicht zu überprüfen, dass wir alle 16 Teilmengen von S als Schnitt von S mit dem Konzept eines Rechtecks aus RECHTECK2 (für n ≥ 1) erhalten; einige Teilmengen haben wir in der folgenden Abbildung dargestellt. Als zusätzliches Beispiel: Die Teilmenge T = {e1 , e2 , e3 } ⊆ S erhalten wir durch den Schnitt von S mit dem Konzept zu R = ((−1, −1), (0, 1)): 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 41 u u u u Aber es gilt sogar VC(RECHTECK2 ) = 4 und dazu ist zu zeigen, dass RECHTECK2 keine Menge S der Mächtigkeit 5 zertrümmern kann. Warum ist dies so? Wir bestimmen die Punkte p1 (bzw. p2 ) mit minimaler (maximaler) x-Koordinate und die Punkte p3 (bzw. p4 ) mit minimaler (maximaler) y-Koordinate aus S. Wir versuchen die Teilmenge T = {p1 , p2 , p3 , p4 } von S zu erzeugen. Dazu betrachten wir das kleinste, achsenparallele Rechteck R, das alle Punkte aus T enthält. Nach Wahl von T enthält R dann aber alle Punkte aus S und T kann nicht erzeugt werden! s s p1 p4 s s p2 p5 s p3 Beispiel 2.6 VC-Dimension der Konzeptklasse HALBRAUMn Ein Halbraum wird durch die Angabe der n Gewichte und des Schwellenwerts beschrieben. Wir sollten also erwarten, dass HALBRAUMn genau n + 1 Freiheitsgrade besitzt. Wir zeigen zuerst, dass VC(HALBRAUMn ) ≤ n + 1 gilt. Wir benötigen den Satz von Radon. Fakt 2.1 Für jede Menge S ⊆ Rn mit |S| ≥ n + 2 gibt es eine nicht-leere Teilmenge T ⊂ S, so dass a konvexe Hülle(T ) ∩ konvexe Hülle(S − T ) 6= ∅. (2.6) Eine Menge Y ⊂ Rn ist genau dann konvex, wenn für je zwei Punkte aus Y auch die verbindende Gerade in Y liegt. Die konvexe Hülle von Y ist die bezüglich Inklusion kleinste konvexe Menge, die Y enthält. a Angenommen, HALBRAUMn zertrümmert eine Menge S von n + 2 Punkten. Mit dem Satz von Radon erhalten wir eine nicht-leere Teilmenge T ⊂ S mit der Eigenschaft 2.6. Da HALBRAUMn die Menge S zertrümmert, gibt es ein Konzept c mit S ∩ c = T . Das Konzept c besteht aus allen Punkten x ∈ Rn mit n X i=1 wi xi ≥ t. 42 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Die Menge H = {x ∈ Rn | Halbräume Pn i=1 wi xi H1 = { x ∈ Rn | H2 = { x ∈ Rn | = t} bildet eine Hyperebene, die Rn in die beiden n X i=1 n X i=1 wi xi ≥ t } mit c = H1 wi xi < t } mit c ∩ H2 = ∅. zerschneidet. Diese beiden Halbräume sind konvexe Mengen, denn mit je zwei Punkten ist auch die verbundene Gerade in der Menge enthalten. Wir erhalten T ⊆ c = H1 und somit konvexe Hülle(T ) ⊆ konvexe Hülle (H1 ) = H1 , beziehungsweise S \ T ⊆ c = H2 . Aus konvexe Hülle(S \ T ) ⊆ konvexe Hülle (H2 ) = H2 erhalten wir einen Widerspruch zum Satz von Radon, denn konvexe Hülle(T ) ∩ konvexe Hülle(S \ T ) ⊆ H1 ∩ H2 = ∅. Wir weisen VC(HALBRAUMn ) = n + 1 nach, indem wir zeigen, dass HALBRAUMn eine Menge S der Mächtigkeit n + 1 zertrümmert. Wir wählen S = {0, e1 , . . . , en }, wobei 0 der Nullvektor und ei der Vektor ist, der eine 1 in Komponente i und ansonsten nur Nullen besitzt. Sei T eine beliebige Teilmenge von S. Wir führen eine Fallunterscheidung durch. P Falls 1: 0 ∈ / T . Wähle c als den Halbraum ni=1 wi · xi ≥ 1 mit den Gewichten 1 ei ∈ T, wi = −1 sonst. Falls 2: 0 ∈ T . Übernimm die Gewichte aus Fall 1 und setze t = 0. In beiden Fällen lässt sich leicht verifizieren, dass S ∩ c = T gilt. Beispiel 2.7 VC-Dimension der Konzeptklasse BOOLEANn Offensichtlich zertrümmert BOOLEANn die Menge S = {0, 1}n , denn BOOLEANn besitzt für jede Teilmenge von S ein Konzept. Andererseits ist S auch die größte von BOOLEANn zertrümmerte Menge: Eine Menge der Mächtigkeit größer als 2n muss mindestens ein Element aus dem Komplement von {0, 1}n besitzen; dieses Element kann aber nicht isoliert werden, da die Konzepte aus BOOLEANn nur Elemente aus {0, 1}n enthalten. 2n ist auch eine natürliche“ Festsetzung für die Anzahl der Freiheitsgrade: Ein Konzept aus ” BOOLEANn kann erst dann eindeutig bestimmt werden, wenn sein Verhalten auf allen 2n Elementen von {0, 1}n bekannt ist. 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 2.3.1 43 Eigenschaften der Vapnik-Chervonenkis-Dimension Wir beginnen unsere Untersuchung der VC-Dimension mit einigen elementaren Eigenschaften: Satz 2.19 (a) Seien C1 und C2 zwei Konzeptklassen mit C1 ⊆ C2 . Dann gilt: VC(C1 ) ≤ VC(C2 ). (b) Für eine Konzeptklasse C ist C={c|c∈C} die Komplementkonzeptklasse C von C. Dann gilt VC(C) = VC C . (c) Für jede endliche Konzeptklasse C gilt: VC(C) ≤ ⌊log2 |C|⌋. Aufgabe 26 Beweise Satz 2.19. Als nächstes bestimmen wir, zumindest asymptotisch, die VC-Dimension der wichtigsten Konzeptklassen. Satz 2.20 Es gilt: (a) VC(MONOTON-MONOMn ) = n. (b) VC(MONOM1 ) = 2 und VC(MONOMn ) = n für n ≥ 2. (c) nk ≤ VC(k-KNFn ) = VC(k-DNFn ) ≤ nk · 2k . Für festgewähltes k und wachsendes n gilt somit VC(k-KNFn ) = VC(k-DNFn ) = Θ(nk ). (d) VC(k-KLAUSEL-KNFn ) = VC(k-Term-DNFn ) = Θ(k · n) für k ≤ 2n/2 . (e) VC(KNFn ) = VC(DNFn ) = VC(BOOLEANn ) = 2n . (f ) VC(HALBRAUMn ) = n + 1. (g) VC(SYMn ) = n + 1. (h) VC(AUTOMATn,Σ ) = Θ(n · |Σ| · log2 n). (i) VC(RECHECKn ) = 2n. Beweis: (a) und (b) werden wir im Beweis von Korollar 3.12 herleiten. (c) und (d) sind Inhalt der beiden folgenden Aufgaben Aufgabe 27 Wir betrachten die VC-Dimension von k-DNFn 44 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL (a) Zeige: VC(k-DNFn ) ≤ 2n k (b) Zeige: VC(k-DNFn ) ≥ + ! n . k 2n k−1 + ... + 2n 1 + 2n 0 . Aufgabe 28 Zeige, dass: VC(k-TERM-DNFn ) = Θ(n · k) n/2 für k ≤ 2 gilt. Bemerkung: Für konstantes k gilt VC(k-KNFn ) = Θ(nk ), VC(k-TERM-DNFn ) = Θ(n). Das Lernen von k-TERM-DNFn durch k-KNFn führt also zu einer sehr viel größeren Anzahl angeforderter Beispiele. (e) Wir haben bereits im Beispiel 2.7 gesehen, dass VC(BOOLEANn ) = 2n . Die Behauptung folgt, da KNFn = DNFn = BOOLEANn . (f ) haben wir in Beispiel 2.6 nachgewiesen. (g) Der Vektor ei besitze Einsen an den Positionen 1, . . . , i und ansonsten nur Nullen. Dann ist jede symmetrische Funktion in n Variablen durch die n + 1 Funktionswerte an den Stellen ei , i = 0, . . . , n vollständig spezifiziert und wir erhalten |SYMn | = 2n+1 Nach Satz 2.19 folgt also VC(SYMn ) ≤ n + 1. Andererseits gilt für alle T mit T ⊆ S = { ei | i = 0, . . . , n } und die symmetrische Funktion sT mit sT (ei ) = 1 ei ∈ T 0 sonst, dass S ∩ Wahr(sT ) = T ist. Also wird S zertrümmert und die Behauptung folgt. (h) Die Behauptung für Σ = {0, 1} folgt aus der nächsten Aufgabe. Aufgabe 29 Die Konzeptklasse AUTOMATn,Σ besitzt für jeden deterministischen endlichen Automaten A mit höchstens n Zuständen und dem Eingabealphabet Σ die Menge L(A) ∩ Σ≤n als Konzept. Im folgenden gehen wir davon aus, dass Σ = {0, 1}. Zeige folgende Aussagen: (a) |AUTOMATn,Σ | ≤ n2n · 2n . (b) VC(AUTOMATn,Σ ) = Θ(n log n) und Hinweis für Teil (b): Setze S = {x0i 10 log n −i−1 4 | |x| = log n − 2, 1 ≤ i < log n } 4 und zeige, dass sich die Menge S von AUTOMATn,Σ zertrümmern lässt. (i) Wir wählen die Menge S = { ei | i = 1, . . . , n } ∪ { −ei | i = 1, . . . , n}, 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 45 wobei ei der i-te kanonische Einheitsvektor sei, also an der i-ten Position eine 1 und ansonsten 0-Einträge besitzt. Es ist also |S| = 2 · n. Wir zeigen, dass RECHTECKn die Menge S zertrümmert. Sei T ⊆ S gegeben. Setze −1 −ei ∈ T 1 ei ∈ T ai = und bi = 0 sonst 0 sonst für i = 1, . . . , n. Diese Punkte bilden das Rechteck R = [a1 , b1 ] × [a2 , b2 ] × · · · × [an , bn ]. Es ist R ∈ RECHTECKn und damit gilt offenbar S ∩ R = T. Folglich ist VC(RECHTECKn ) ≥ 2n. Wir beweisen die obere Schranke. Sei S = {x1 , . . . , x2n+1 } eine beliebige Menge von 2n + 1 Punkten. Wir zeigen, dass S von RECHTECKn nicht zertrümmert werden kann. Sei xij die j-te Komponente des Vektors xi . Setze aj = min{ xij | i = 1, . . . , 2n + 1 } und bj = max{xij | i = 1, . . . , 2n + 1 } für j = 1, . . . , n. Dann gibt es eine Menge P = {y1 , . . . , ym } ⊂ S von m ≤ 2n Punkten, so dass P das gleiche Rechteck wie S aufspannt: aj = min{yij | i = 1, . . . , m } und bj = max{yij | i = 1, . . . , m}. Offenbar kann man P nicht als Schnitt eines Konzeptes aus RECHTECKn mit S darstellen, da jedes Konzept, das P enthält, auch alle Punkte aus S \ P enthält. 2 2.3.2 Eine untere Schranke für die Beispielanzahl Wir nennen eine Konzeptklasse C trivial, wenn C nur aus einem Konzept oder aus disjunkten Konzepten besteht. Beachte, dass wir eine triviale Konzeptklasse mit nur einem positiven Beispiel fehlerfrei lernen können. Lemma 2.21 Für jede nicht-triviale Konzeptklasse C ist 1 1 BeispielC (ε.δ) = Ω( ln( )). ε δ Beweis: Da C nicht trivial ist, gibt es zwei Beispiele x 6= y und zwei Konzepte c1 , c2 ∈ C mit {x, y} ⊆ c1 sowie x ∈ c2 , y 6∈ c2 . Wir wählen eine Verteilung D, die Beispiel x mit Wahrscheinlichkeit 1 − 2 · ε und Beispiel y mit Wahrscheinlichkeit 2ε wählt. Bei s Beispielen wird y mit Wahrscheinlichkeit (1 − 2ε)s = e−Θ(ε·s) nicht gewählt. Wenn ein deterministischer Algorithmus L das Beispiel y aber nicht sieht, dann wird sich L entweder für c1 oder c2 im Beispiel y irren, und L besitzt den zu großen Fehler 2ε. Also muss gewährleistet sein, dass L das Beispiel y mit Wahrscheinlichkeit höchstens δ nicht sieht, und wir müssen e−Θ(ε·s) ≤ δ fordern: Die Behauptung folgt. 2 46 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Bemerkung 2.2 Die konstruierte Beispielverteilung ist künstlich, da wir sogar Konzeptklassen über nur zwei Beispielen erlauben. Tatsächlich ist die untere Schranke aber auch für vernünftige Verteilungen zu erwarten. Wir betrachten dazu die Konzeptklasse reellwertiger Intervalle I ⊆ [0, 1] mit der Gleichverteilung D. Wir nehmen weiter an, dass unser Algorithmus das kleinste Intervall, das alle positiven Beispiele enthält, als Hypothese ausgibt. Angenommen, I = [0, 1] ist das Zielintervall. Wir werden Beispiele aus dem Teilintervall [0, ε] mit Wahrscheinlichkeit ε erhalten. In dieser speziellen Situation wird somit ein Fehler von höchstens ε nur dann gewährleistet sein, wenn wir zumindest erwarten können, ein Beispiel aus [0, ε] zu sehen. Dies passiert aber nur dann mit Wahrscheinlichkeit mindestens 1− δ, wenn ) Beispiele anfordern. wir mindestens Ω( ln(1/δ) ε Satz 2.22 Für jede nicht-triviale Konzeptklasse C mit 2 ≤ VC(C) < ∞, ε ≤ 1 1 BeispielC (ε, δ) = Ω( · VC(C) + ln ). ε δ 1 4 und δ ≤ 1 2 gilt Beweis: Mit Lemma 2.21 genügt der Nachweis von BeispielC (ε, δ) = Ω( VC(C) ). ε Da die Behauptung nur für eine beliebige Verteilung gelten muss, konstruieren wir eine schwierige“ Verteilung D. Dazu nehmen wir an, dass die Konzeptklasse C mit VC(C) = d + 1 ” die Menge S = {x0 , x1 , . . . , xd } zertrümmert. Wir wählen die Verteilung D so, dass nur Beispiele aus der Menge S generiert werden; dabei sollen das Beispiel x0 hochwahrscheinlich“ ” und die restlichen Elemente aus S alle gleich wenig wahrscheinlich“ sein. Für ein Beispiel x ” definieren wir: wenn x ∈ / S, 0 D(x) = 1 − 4ε wenn x = x0 , 4ε wenn x ∈ {x1 , . . . , xd }. d Wir betrachten nur noch die Konzeptklasse C ′ = {c ∩ S | c ∈ C }. Dies ist möglich, da die Verteilung D allen Beispielen aus S die Wahrscheinlichkeit 0 gibt, und damit diese Beispiele weder beim Lernen noch beim Testen auftauchen. Wir betrachten C ′ als eine Konzeptklasse über S. Beachte, dass C ′ die Menge S zertrümmert. Wir betrachten im Folgenden nur das erwartete Verhalten, wenn wir s klassifizierte Beispiele anfordern. Im Erwartungsfall wird x0 dann s · (1 − 4ε)-mal vorkommen, und wir werden d deshalb nur s · 4ε Beispiele aus {x1 , . . . , xd } erhalten. Was passiert, wenn wir s ≤ 8ε setzen? d Ein jeder Algorithmus muss die Klassifizierung auf den mindestens d − s · 4ε ≥ d − 2 = d2 nicht gesehenen Beispielen raten und wird sich deshalb für mindestens ein Konzept auf mindestens d 2 Beispielen irren. Damit beträgt der Fehler aber mindestens d 4ε · = 2ε 2 d und die Fehlerschranke ε wird überschritten. Also sind mehr als d 8ε Beispiele notwendig. 2 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 47 Korollar 2.23 Für jedes n sei Cn eine Konzeptklasse über Σ≤n und es gelte ln | Cn | = O(VC (Cn )). Dann folgt 1 1 ). Beispiel(Cn ) = Θ( · VC(Cn ) + ln ε δ Beweis: Es gilt stets VC(Cn ) ≤ log2 | Cn |. Da wir ln | Cn | = O(VC(Cn )) annehmen, erhalten wir ln | Cn | = Θ(VC(Cn )). Die Behauptung folgt aus Satz 2.22 und Satz 2.8. 2 Bemerkung 2.3 Wir erhalten als Konsequenz von Korollar 2.23 eine asymptotisch exakte Bestimmung der Beispielzahlen in den folgenden Fällen. (a) Beispiel(MONOTON-MONOMn ) = Θ( nε + 1ε · ln 1δ ). (b) Beispiel(MONOMn ) = Θ( nε + 1ε · ln 1δ ). k (c) Beispiel(k-KNFn ) = Θ( nε + 1ε · ln 1δ ). k (d) Beispiel(k-DNFn ) = Θ( nε + 1ε · ln 1δ ). 1 1 (e) Beispiel(k-KLAUSEL-KNFn ) = Θ( k·n + · ln ε ε δ ) für fest gewähltes k. 1 1 (f) Beispiel(k-TERM-DNFn ) = Θ( k·n ε + ε · ln δ ) für fest gewähltes k. (g) Beispiel(BOOLEANn ) = Θ( 1ε · 2n + 1ε · ln 1δ ). (h) Beispiel(SYMn ) = Θ( nε + 1ε · ln 1δ ). (i) Beispiel(AUTOMATn,Σ ) = Θ( 1ε · n · log2 n + 1ε · ln 1δ ). für |Σ| = 2. 2.3.3 Eine obere Schranke für die Beispielanzahl Satz 2.8 ist exakt, falls VC(C) ≈ ln |C|. Die obere Schranke für die Beispielanzahl aus Satz 2.8 fordert jedoch zu viele Beispiele an, falls die VC-Dimension wesentlich unter dem Logarithmus der Anzahl der Konzepte liegt; im Fall unendlich großer Konzeptklassen versagt Satz 2.8 völlig. Die folgende Schranke stellt in diesem Fall eine substantielle Verbesserung dar. Beachte, dass , die untere Schranke aus Satz 2.22 asymptotisch erreicht wir, bis auf den Faktor ln 12 ε haben: Unsere neue Beispielschranke ist also fast optimal, und die VC-Dimension beschreibt die notwendige und hinreichende Beispielzahl fast exakt! Satz 2.24 Sei C eine Konzeptklasse mit VC(C) = d. Dann gibt es einen PAC-Algorithmus für C, der höchstens 4 12 2 ⌈ · d · ln + ln ⌉ ε ε δ Beispiele anfordert. Für den Beweis von Satz 2.24 benötigen wir Sauer’s Lemma, das wir im nächsten Abschnitt herleiten. 48 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL 2.3.3.1 Sauer’s Lemma Wir werden erste Anhaltspunkte erhalten, dass die VC-Dimension eine wichtige Rolle in der Bestimmung der notwendigen Beispielanzahl spielt. Hierzu benötigen wir die folgende Begriffsbildung. Definition 2.25 Sei C eine Konzeptklasse. (a) Für eine Beispielmenge S setzen wir ΠC (S) = { c ∩ S | c ∈ C }. (b) Für m ∈ N ist ΠC (m) = max{ |ΠC (S)| | |S| = m }. Bemerkung 2.4 ΠC (S) ist nichts anderes als die Einschränkung der Konzeptklasse C auf die Menge S. Desweiteren zählt ΠC (m) die maximale Größe der Konzeptklasse C nach Einschränkung auf eine m-elementige Menge von Beispielen. Deshalb gilt VC (C) = d ⇔ d = sup{ m | ΠC (m) = 2m } für d ∈ N ∪ {∞}. Wir können also die VC-Dimension von C durch ΠC charakterisieren. Andererseits lässt sich ΠC (m) recht gut“ mit Hilfe der VC-Dimension nach oben abschätzen. ” Lemma 2.26 Sauer’s Lemma Sei d = VC (C). (a) Für jedes m ∈ N ist: ΠC (m) ≤ d X m i=0 i = Φ(m, d). (b) Für m ≤ d ist Φ(m, d) = 2m . Es gilt andererseits Φ(m, d) ≤ e · m d d für m ≥ d ≥ 1. Aufgabe 30 Sei C eine Konzeptklasse mit c ⊆ X für jedes Konzept c ∈ C. Zeige: d e · |X| (a) |C| ≤ Φ (|X|, VC(C)) ≤ . VC(C) (b) |C| ≤ (|X| + 1)VC(C) . (c) log2 |C| log2 (|X|+1) ≤ VC(C) ≤ ⌊ log2 |C| ⌋. Im Spezialfall X = {0, 1}≤n ist somit VC(C) ≤ log 2 |C| ≤ (n + 1) · VC(C). Bevor wir Lemma 2.26 beweisen, interpretieren wir das Ergebnis. Wir erhalten ΠC (m) ≤ e · m d d 49 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL für m ≥ d. Eine Konzeptklasse der VC-Dimension d kann somit nicht unbeschränkt viele Verhaltensmuster zeigen. Die Anzahl verschiedener Verhaltensmuster für Beispielmengen der größe m ist durch O(md ) beschränkt, also polynomiell in der Anzahl der Beispiele! Beweis: zu Lemma 2.26 Wir zeigen zunächst die Aussage ! ΠC (m) ≤ d X m i=0 i durch Induktion über m und d. Induktionsbasis: Im Fall m = 0 und d ≥ 0 gilt wegen ΠC (0) = 1 = d X 0 i=0 i 0 i = 0 für i > 0 und 0 0 = 1 , dass = Φ(0, d). Für den Induktionsschluss nehmen wir an, dass die Behauptung für m′ < m und d′ ≤ d gilt. Die Behauptung ist dann für m und d nachzuweisen. Sei ΠC (m) = ΠC (S) und sei x ein beliebiges Element aus S. Wenn wir x aus S entfernen, können wir die Induktionsannahme anwenden. Wir erhalten: |ΠC (S \ {x}) | ≤ Φ(m − 1, d). / c), oder In ΠC (S \ {x}) werden die Mengen S ∩ c aus ΠC (S) entweder stabil gelassen (x ∈ aber x wird entfernt (x ∈ c). ΠC (S \ {x}) stimmt also in der größe mit ΠC (S) überein, bis auf die Mengen S ∩ c mit x∈ / (S ∩ c) , aber S ∩ (c ∪ {x}) ∈ ΠC (S). Durch Herausnahme von x werden die beiden Mengen S ∩ c und (S ∩ c) ∪ {x} nur einmal gezählt. Sei C ′ = {c ∈ ΠC (S) | x ∈ / c und (c ∪ {x}) ∈ ΠC (S) }. Es gilt | ΠC (S) | = | ΠC (S \ {x}) | + | ΠC ′ (S \ {x}) |. (2.7) Behauptung 2.1 VC(C ′ ) ≤ d − 1. Beweis: Angenommen, es ist VC(C ′ ) ≥ d. Dann wird eine Menge T mit |T | = d zertrümmert. Es gibt also zu jeder Teilmenge U ⊆ T ein Konzept c ∈ C ′ mit U = T ∩ c. Da für jedes c ∈ C ′ sowohl c ∈ ΠC (S) wie auch c ∪ {x} ∈ ΠC (S) ist, wird aber auch T ∪ {x} von C ′ zertrümmert. Aber C ist eine Teilmenge von ΠC (S) und deshalb ist VC (ΠC (S)) ≥ d + 1. Wir haben einen Widerspruch erhalten, denn VC (ΠC (S)) ≤ VC (C) = d und die Behauptung folgt. 2 50 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Aus( 2.7) erhalten wir mit der Induktionsannahme: |ΠC (S)| ≤ Φ(m − 1, d) + Φ(m − 1, d − 1) X d d−1 X m−1 m−1 = + i i i=0 i=0 X d m−1 m−1 m−1 = + + 0 i i−1 | {z } i=1 | {z } =1 =(m ) i X d m m + = 0 i | {z } i=1 =1 = Φ(m, d). P P Wir zeigen die Aussage (b). Für m < d ist di=0 mi = m i=0 müssen wir zeigen, dass d e · m d X m ≤ . i d m i = 2m . Im Fall m ≥ d ≥ 1 i=0 Es gilt d m d X d d i X m d m d · ≤ · wegen m ≤1 i m i i=0 i=0 m i X d m−i m ≤ ·1 (wegen m ≥ d) m i i=0 d m = 1+ (Binomischer Lehrsatz) m ≤ ed Wir erhalten also (wegen 1 + x ≤ ex für x ∈ R) d X m i=0 und dies war zu zeigen. i ≤ e · m d d 2 Aufgabe 31 Wir berechnen die VC-Dimension der Vereinigung von Konzeptklassen. (a) C1 und C2 seien zwei Konzeptklassen über X ⊆ Σ∗ . Wir definieren die Konzeptklasse C1 ∨ C2 durch C1 ∨ C2 = { c1 ∪ c2 | c1 ∈ C1 , c2 ∈ C2 }. Zeige, dass für jedes m ∈ N ΠC1 ∨C2 (m) ≤ ΠC1 (m) · ΠC2 (m) gilt. (b) Sei C eine Konzeptklasse mit VC(C) = d > 1. Wir definieren die Konzeptklasse k-TERM-C = C · · ∨ C} . | ∨ ·{z k-mal 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL Zeige, dass für m ≥ d Πk-TERM-C (m) ≤ gilt. Beweise anschließend, dass e·m VC(C) 51 k·VC(C) VC(k-TERM-C) < 2 · k · VC(C) · log 2 (4k). 2.3.3.2 Beweis der oberen Schranke Beweis: Angenommen, wir haben eine Beispielmenge S mit s Beispielen zufällig gewählt. Das (unbekannte) Zielkonzept sei c ∈ C und D sei die (unbekannte) Verteilung. In einem Worst-Case-Szenario“ werden wir nur dann nicht erfolgreich lernen, wenn es ein konsistentes ” Konzept c′ ∈ C mit zu großem Fehler (d.h. fehlerD (c, c′ ) > ε) gibt. Man beachte, dass c′ genau dann auf der Beispielmenge S mit c konsistent ist, wenn S ∩ (c ⊕ c′ ) = ∅. Definition 2.27 Sei c ∈ C ein Konzept und sei D eine Verteilung. (a) Wir nennen ∆ε (c) = {c ⊕ c′ | c′ ∈ C und fehlerD (c, c′ ) > ε } die Menge der ε-Fehlerregionen von c. (b) Eine Beispielmenge S heißt ein ε-Netz genau dann, wenn für jedes Konzept c∗ ∈ ∆ε (c) S ∩ c∗ 6= ∅ gilt. Wenn h eine schlechte Hypothese ist, dann ist c ⊕ h ∈ ∆ε (c). Ist S ein ε-Netz, dann folgt auch S ∩ (c ⊕ h) 6= ∅. Es gibt also ein x ∈ S mit x ∈ c ⊕ h und damit ist h nicht konsistent auf dem gemäß c klassifizierten Beispiel x. Fazit: Ein konsistenter Lernalgorithmus ist ein PAC-Algorithmus, falls prob[ S ist ein ε-Netz ] ≥ 1 − δ. Sei As das Ereignis, dass eine Beispielfolge kein ε-Netz ist. Was ist die Wahrscheinlichkeit von As ? prob[ S ist kein ε-Netz ] = prob[ As ] = prob[ Es gibt ein c∗ = c ⊕ h ∈ ∆ε (c) und S ∩ c∗ = ∅ ] und die Abschätzung prob[ As ] ≤ X c∗ ∈∆ε (c) prob[ S ∩ c∗ = ∅ ] liegt nahe. Aber ∆ε (c) kann sogar unendlich groß sein und diese Abschätzung hilft uns nicht weiter. Schritt 1: Double Sampling ist der wesentliche Trick. Wir betrachten eine Folge S von 2s Beispielen (mit S1 als der Folge der ersten s Beispiele und S2 als der Folge der zweiten s Beispiele). Wir betrachten das neue Ereignis Bs , nämlich h ε · si . Bs ≡ ∃c∗ ∈ ∆ε (c) c∗ ∩ S1 = ∅ ∧ |c∗ ∩ S2 | ≥ 2 Mit dem Ereignis Bs untersuchen wir also den Fall, dass eine schlechte Hypothese auf den ersten s Beispielen nicht, wohl aber auf den zweiten s Beispielen auffällt. 52 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Behauptung 2.2 Es gelte s ≥ 8ε . Dann folgt prob[ As ] ≤ 2 · prob[ Bs ]. Beweis: Es ist prob[ Bs ] = prob[ Bs | As ] · prob[ As ], da das Eintreffen von Bs impliziert, dass auch Ereignis As entrifft: As tritt genau dann ein, wenn es eine Fehlerregion c∗ ∈ ∆ε (c) mit c∗ ∩ S1 = ∅ gibt. Wie groß ist prob[ Bs | As ]? Da c∗ ∈ ∆ε (c), ist die Wahrscheinlichkeit, dass ein zufällig, gemäß D, gewähltes Element in c∗ liegt, mindestens ε. Setze 1 das i-te Beispiel (aus den zweiten s Beispielen) liegt in c∗ , Yi = 0 sonst. Dann erhalten wir mit der Chernoff-Schranke aus Satz 1.10 P X X 1 2 ε·s ε·s ε·s E[ Yi ] prob[ Yi ≤ ] = prob[ Yi ≤ ] ≤ e−( 2 ) 2 ≤ e− 8 , 2 2 denn s s X X E[ Yi ] = E[ Yi ] ≥ s · ε. i=1 Da wir s ≥ 8 ε i=1 fordern, ist prob[ X Wir erhalten prob[ Bs | As ] ≥ Yi ≥ 1 2 ε·s ε·s 1 ] ≥ 1 − e− 8 ≥ 1 − e−1 ≥ . 2 2 als Konsequenz und dies war zu zeigen. 2 Wir wollen prob[ As ] ≤ δ nachweisen und es reicht der Nachweis von prob[ Bs ] ≤ 2δ . Wir kommen jetzt zur zentralen Beobachtung. Behauptung 2.3 prob[ Bs ] ≤ Π∆ε (c) (2s) · 2− ε·s 2 . Beweis: Wir untersuchen das Ereignis Bs : Also müssen wir eine Beispielmenge S von 2s Beispielen ziehen, wobei zuerst die s Beispiele aus S1 und dann die s Beispiele aus S2 gezogen werden. Beachte, dass (c∗ ∩ S) ∩ S1 = c∗ ∩ (S ∩ S1 ) = c∗ ∩ S1 und (c∗ ∩ S) ∩ S2 = c∗ ∩ (S ∩ S2 ) = c∗ ∩ S2 . h ε · si Bs trifft zu ⇔ ∃ c∗ ∈ ∆ε (c) c∗ ∩ S1 = ∅ und | c∗ ∩ S2 | ≥ 2 h ⇔ ∃ c∗ ∈ ∆ε (c) (c∗ ∩ S) ∩ S1 = c∗ ∩ S1 = ∅ ε · si und | (c∗ ∩ S) ∩ S2 | = | c∗ ∩ S2 | ≥ 2 ε·s ⇔ ∃ ĉ ∈ Π∆ε (c) (S) so dass ĉ ∩ S1 = ∅ und | ĉ ∩ S2 | ≥ . 2 In der letzten Äquivalenz haben wir c∗ durch ĉ = c∗ ∩ S ersetzt und beachtet, dass c∗ ∩ S in Π∆ε (c) (S) liegt, da c∗ ∈ ∆ε (c). (Vergleiche mit Definition 2.25). Wir machen jetzt den Übergang von unendlich vielen zu endlich vielen Fehlerregionen. Es ist ε·s prob[ Bs ] = prob[ Es gibt ĉ ∈ Π∆ε (c) (S) mit ĉ ∩ S1 = ∅ und | ĉ ∩ S2 | ≥ ] 2 X ε·s ≤ prob[ ĉ ∩ S1 = ∅ und | ĉ ∩ S2 | ≥ ]. (2.8) 2 ĉ∈Π∆ε (c) (S) 53 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL Wir fassen alle Einzelexperimente, nämlich ziehe zuerst S1 und dann S2 , zu experiment zusammen, falls S = S1 ∪ S2 . Wir fixieren ein Großexperiment S die zugeordneten Einzelexperimente, wenn S zufällig in die Folgen S1 und S2 Beispielen zerlegt wird. Für das fixierte Großexperiment S und eine beliebige Hypothese ĉ ∈ Π∆ε (c) (S) einem Großund erhalten von jeweils s gilt dann prob[ ĉ ∩ S1 = ∅ und | ĉ ∩ S2 | = r ] = 2−r , denn jedes der r Beispiele in ĉ ∩ S erscheint mit Wahrscheinlichkeit genau 1/2 in S2 . Wir betrachten jetzt die Wahrscheinlichkeit prob[Bs | S ] des Ereignisses Bs , wenn wir das Großexperiment S fixieren. Damit erhalten wir also aus (2.8), dass prob[ Bs | S ] ≤ ≤ X ĉ∈Π∆ε (c) (S) X prob[ ĉ ∩ S1 = ∅ und | ĉ ∩ S2 | ≥ 2− ε·s 2 ĉ∈Π∆ε (c) (S) = Π∆ε (c) (2s) · 2− Aber dann folgt prob[ Bs ] ≤ Π∆ε (c) (2s) · 2− ε·s 2 ε·s 2 ε·s ] 2 . , weil die Großexperimente den Wahrscheinlichkeitsraum disjunkt zerlegen. Die Behauptung folgt. 2 Wir fassen zusammen. Es ist prob[ As ] ≤ 2 · prob[ Bs ] ≤ 2 · Π∆ε (c) (2 · s) · 2− e · 2s d − ε·s ≤ 2·( ) ·e 2 . d ε·s 2 In der letzten Ungleichung haben wir die folgende Aufgabe benutzt: Aufgabe 32 Zeige: VC(∆ε (c)) ≤ VC(C). Die Bedingung prob[ As ] ≤ δ wird somit erfüllt, falls 2· e · 2s d d · e− ε·s 2 ≤ δ. Wir logarithmieren und erhalten die neue Bedingung 2e · s ε·s δ d · ln − ≤ ln d 2 2 (2.9) Der Rest ist jetzt Rechnerei. Bemerkung: Es sei fc : R → R mit 1 fc (x) = ln x − ln − 1 − cx c für c > 0. 54 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Man kann leicht zeigen, dass fc (x) ≤ 0 für alle x ≥ 1c . Wir wählen c = 4d s ≥ ε·ln 2 gilt 4d ε · ln 2 ln(s) − ln −1 − s≤0 ε · ln 2 4d und damit 4d ε · ln 2 ln(s) ≤ ln −1+ s. ε · ln 2 4d Wir setzen diese Ungleichung in (2.9) ein und erhalten εs 2e 2 4d ≥ d ln + ln + d ln −d 4 d δ ε · ln 2 2 2e 4d 1 ≥ ln + d ln · · δ d ε · ln 2 e 8 2 + d ln = ln δ ε · ln 2 2 12 ≈ ln + d ln . δ ε ε·ln 2 4d , d. h. für alle Und unser Satz ist bewiesen, denn 4 s ≥ · (d · ln ε folgt. 12 ε 2 + ln ) δ 2 Wir stellen heraus, wie die VC-Dimension den Fehler beeinflusst. Korollar 2.28 Sei c ∈ C und das Konzept hc sei konsistent mit s, gemäß c klassifizierten Beispielen. Wir nehmen an, dass die Beispiele gemäß Verteilung D erzeugt werden. Dann gilt: εs prob[ fehlerD (c, hc ) ≥ ε ] ≤ 2 · Φ (2s, VC(C)) · 2− 2 . Wir können jetzt die geforderte Beispielanzahlen für HALBRAUMn und RECHTECKn bestimmen. Korollar 2.29 Wir erhalten (a) Ω( 1ε · n + ln 1δ ) = Beispielanzahl(RECHECKn ) = O( 1ε · n · ln 1ε + ln 1δ ). (b) Ω( 1ε · n + ln 1δ ) = Beispielanzahl(HALBRAUMn ) = O( 1ε · n · ln 1ε + ln 1δ ). Bisher haben wir angenommen, dass die Konzeptklasse der Hypothesenklasse entspricht. Wir heben diese Einschränkung jetzt auf: Gegeben sei eine Konzeptklasse C sowie eine Hypothesenklasse H. Wir nehmen an, dass C ⊆ H ist und dass der Lernalgorithmus Hypothesen aus H ausgibt. Wieviel Beispiele sind in diesem Fall ausreichend? Satz 2.30 Eine Konzeptklasse C und eine Hypothesenklasse H mit C ⊆ H seien gegeben. Jeder Lernalgorithmus, der für eine Beispielmenge eine konsistente Hypothese aus H ausgibt, ist ein PAC-Algorithmus, solange mindestens 1 1 4 12 2 s ≥ · ln | H | + ln oder s ≥ · VC(H) · ln + ln ε δ ε ε δ Beispiele angefordert werden. 2.3. VAPNIK-CHERVONENKIS-DIMENSION UND BEISPIELANZAHL 55 Beweis: Der Satz ist eine unmittelbare Konsequenz von Satz 2.8 bzw. Satz 2.24. 2 Die Beispielanzahl steigt natürlich an, wenn wir eine kleine Konzeptklasse durch eine größere Hypothesenklasse lernen wollen. Trotzdem kann es sinnvoll sein, eine größere Hypothesenklasse zuzulassen, wenn zum Beispiel das Konsistenzproblem für C zu schwierig ist (bei machbarem“ Konsistenzproblem für H). ” 2.3.3.3 Ein Rückblick auf die Argumentation Bei der Analyse des Einflusses der VC-Dimension d = VC(C) auf den Erfolg fehlerD (c, h) = probD [ c(x) 6= h(x) ] im Lernen des Konzepts c durch die Hypothese h sind wir in der Grobstruktur wie folgt vorgegangen: (1) Wir haben beachtet, dass für eine zufällig gewählte Trainingsmenge“ S1 ein großer ” Fehler einer konsistenten Hypothese h durch eine zweite zufällig gewählte “Testmenge“ S2 relativ exakt vorausgesagt werden kann. Insbesondere gilt für |S1 | = |S2 | = s: p = prob[ es gibt eine für S1 konsistente Hypothese h ∈ C mit fehlerD (h) > ε ] ≤ 2 · prob[ es gibt eine für S1 konsistente Hypothese h ∈ C und h missklassifiziert mehr als ε·s 2 Beispiele von S2 ]. (2) Wir haben in Sauer’s Lemma für jedes s gezeigt, dass die Anzahl der verschiedenen Klassifizierungen nur polynomiell in der VC-Dimension wächst, also dass für s > d Π∆ε (c) (s) = max |{ (h(x1 ), . . . , h(xs )) | h ∈ ∆ε (c) }| ≤ (x1 ,...,xs ) e · s d d gilt. Es gibt also auf der Beispielmenge S1 ∪ S2 höchstens Π∆ε (c) (2s) verschiedene Hypothesen. (3) Im letzten Schritt wird prob[ es gibt eine für S1 konsistente Hypothese h ∈ C und h missklassifiziert mehr als ε·s 2 Beispiele von S2 ] ≤ Π∆ε (c) (2s) · 2−ε·s/2 d · 2−ε·m/2 ≤ δ nachgewiesen. (4) Damit müssen wir die Bedingung 2· e · 2m d erfüllen, die uns für d = VC(C) auf die Fehlerabschätzung 1 m 1 fehlerD (c, h) = O · ( d · log + log ) . m d δ führt. 56 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL 2.4 Komplexe Lernprobleme Wir zeigen, dass bestimmte Lernprobleme keine effizienten PAC-Algorithmen besitzen. Wir unterscheiden zwei Klassen von Ergebnissen. - repräsentationsabhängige Resultate gelten nur, wenn die Konzeptklasse C durch die Hypothesenklasse H = C gelernt werden soll, während - repräsentationsunabhängige Resultate für alle effizient auswertbaren Hypothesenklassen gelten. 2.4.1 Das Konsistenzproblem Wir formalisieren zuerst den Begriff eines effizienten PAC-Algorithmus. Definition 2.31 Eine parametrisierte Konzeptklasse C = (Cn )n∈N besteht aus Konzeptklassen Cn , wobei ein Konzept in Cn nur aus Beispielen der Länge höchstens n bestehe. Wir sagen, dass ein PAC-Algorithmus L effizient für C ist, wenn L für das Erlernen von Cn höchstens s = poly(n, 1ε , log2 ( 1δ )) Beispiele anfordert und in Zeit poly(s) rechnet. Wir haben bereits in der Untersuchung von PAC-Algorithmen für viele Konzepklassen Beispielzahlen polynomiell in n, 1ε und log2 ( 1δ ) nachgewiesen. Jetzt beobachten wir, dass das Konsistenzproblem für einige einfache Konzeptklassen effizient lösbar ist und erhalten damit effiziente PAC-Algorithmen für diese Konzeptklassen. Satz 2.32 Die folgenden Konzeptklassen besitzen effiziente PAC-Algorithmen: (a) MONOTON-MONOM, MONOM, k-TERM-DNF für fixiertes k (mit Hypothesenklasse H = k-KNF), k-KLAUSEL-KNF für fixiertes k (mit Hypothesenklasse H = k-DNF), k-DNF für fixiertes k, k-KNF für fixiertes k, (b) SYM, (c) HALBRAUM und (d) RECHTECK. Beweis: In Satz 2.9 und Korollar 2.29 haben wir gezeigt, dass die Zahl notwendiger Beispiele für alle erwähnten Konzeptklassen polynomiell in n, 1ε und log2 1δ ist. Das Konsistenzproblem kann aber für alle Konzeptklassen effizient gelöst werden. Aufgabe 33 (a) Zeige: Zu jeder k-Term-DNF-Formel α gibt es eine äquivalente k-KNF-Formel β. Bemerkung: Diese Aufgabe zeigt die Wichtigkeit der Wahl der Hypothesenklasse. Wir zeigen nämlich in Satz 2.39, dass das Konsistenzproblem für k-Term-DNF Formeln (wahrscheinlich) nicht effizient gelöst werden kann, 57 2.4. KOMPLEXE LERNPROBLEME falls k-Term-DNF-Formeln auch als Hypothesenklasse verwendet werden. Das Konsistenzproblem für k-KNFFormeln lässt sich hingegen effizient lösen. (b) Zeige Satz 2.32, zeige also, dass das Konsistenzproblem für alle Konzeptklassen effizient lösbar ist. Was passiert, wenn das Konsistenzproblem nicht effizient lösbar ist? Kann es trotzdem effiziente PAC-Algorithmen geben? Tatsächlich ist die Antwort negativ. Um dies nachzuweisen, konstruieren wir, ausgehend von einem effizienten PAC-Algorithmus L, einen effizienten Algorithmus L∗ , der für jede Beispielmenge S eine mit S konsistente Hypothese c ∈ Cn findet. Sei eine klassifizierte Beispielmenge S gegeben. L∗ ist in Algorithmus 2.33 dargestellt. Algorithmus 2.33 Eingabe: ein effizienter PAC-Algorithmus L für eine parametrisierte Konzeptklasse C = (Cn )n∈N sowie eine klassifizierte Beispielmenge S. (1) Lies die Beispielmenge S ein. (2) Der PAC-Algorithmus L möge s Beispiele für die Konzeptklasse Cn anfordern, so dass 1 und Vertrauensparameter δ = 12 erreicht werden. Generiere Fehlerparameter ε = |S|+1 s Beispiele gemäß der Verteilung 1 |S| x∈ S D(x) = 0 sonst. /* Da L ein effizienter PAC-Algorithmus ist, gilt s = poly(n, |S|). Beachte, dass nur Beispiele aus S erzeugt werden. */ (3) Sei hc die von L ausgegebene Hypothese. /* hc ist eine effiziente Lösung des Konsistenzproblem für S mit Wahrscheinlichkeit mindestens 12 . */ (4) Gib die Hypothese hc aus. L∗ arbeitet probabilistisch. Die Hypothese von L in Schritt (3) erreicht prob[ fehlerD (c, hc ) ≤ 1 1 ]≥ , |S |+1 2 wobei fehlerD (c, hc ) = X D(x) x ist falsch klassifiziert X 1 = |S| x∈S, x ist falsch klassifiziert 1 ≤ . |S |+1 x∈S, Mit anderen Worten: L löst das Konsistenzproblem für S mit Wahrscheinlichkeit mindestens 1 2 . Wir erhalten aus dem deterministischen Algorithmus L einen probabilistischen Algorithmus L∗ , der das Konsistenzproblem für C mit Wahrscheinlichkeit mindestens 12 in Zeit 1 1 poly(n, , log2 ( )) = poly(n, |S|) ε δ 58 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL löst. Wir möchten Aussagen über die Komplexität des Konsistenzproblems machen und gehen deshalb zu einer Sprachenversion des Konsistenzproblems über. Definition 2.34 Sei C = (Cn )n∈N eine parametrisierte Konzeptklasse. Wir definieren die Sprache KonsistenzC durch: KonsistenzC = { (n, x1 , b1 , x2 , b2 , . . . , xs , bs ) | Es gibt ein c ∈ Cn mit }, xi ∈ c ⇔ bi = 1 für i = 1, . . . , s wobei n ∈ N und bi ∈ {0, 1} für i = 1, . . . , s. KonsistenzC ist die Sprache aller Beispielmengen, für die es ein konsistentes Konzept gibt. Wenn das Konsistenzproblem nicht lösbar ist, dann wird L∗ die Unlösbarkeit mit Wahrscheinlichkeit feststellen. Ist das Konsistenzproblem aber lösbar, dann stellt L∗ dies mit Wahrscheinlichkeit mindestens 12 fest. Insbesondere ist L∗ ein Monte Carlo Algorithmus. Definition 2.35 Ein Monte-Carlo-Algorithmus A für eine Sprache L ist ein probabilistischer Algorithmus A. Der Algorithmus arbeitet fehlerfrei für Eingaben x ∈ / L, besitzt aber für Eingaben x ∈ L eine Fehlerwahrscheinlichkeit von höchstens 12 . Es ist also prob[ A(x) = 1 | x ∈ L ] ≥ 1 und prob[ A(x) = 0 | x ∈ / L ] = 1. 2 Dabei sind die Wahrscheinlichkeiten über die internen Münzwürfe von A zu bilden. Man kann die Fehlerwahrscheinlichkeit eines Monte-Carlo-Algorithmus A im Fall x ∈ L beliebig klein machen, wenn man den Algorithmus k-mal mit der Eingabe x (und unabhängigen Münzwürfen) laufen lässt und genau dann die Antwort 1 gibt, wenn mindestens einmal A(x) = 1 bei den k Versuchen auftritt. Damit gilt prob[ Ak (x) = 1 | x ∈ L ] ≥ 1 − 2−k und prob[ Ak (x) = 0 | x ∈ / L ] = 1, wobei Ak die k-malige Ausführung von Algorithmus A mit entsprechender Ausgabe sei. Definition 2.36 RP ist die Klasse aller Sprachen, die durch einen Monte-Carlo-Algorithmus in polynomieller Zeit akzeptiert werden können. Aufgabe 34 (a) Zeige: Jeder Monte-Carlo-Algorithmus ist insbesondere ein nichtdeterministischer Algorithmus. (b) Zeige: P ⊆ RP ⊆ N P . Es wird vermutet, dass RP eine echte Teilmenge von N P ist. (c) Zeige: Wenn ein N P -vollständiges Problem in RP liegt, dann folgt RP = N P . Unsere bisherigen Überlegungen führen zu folgendem Resultat. Satz 2.37 Sei C = (Cn )n eine parametrisierte Konzeptklasse. Wenn es einen effizienten PACAlgorithmus für C gibt, kann KonsistenzC in polynomieller Zeit durch einen Monte-CarloAlgorithmus berechnet werden, d.h. es ist KonsistenzC ∈ RP. 2.4. KOMPLEXE LERNPROBLEME 59 Angenommen, KonsistenzC ist N P -vollständig. Da in aller Wahrscheinlichkeit RP eine echte Teilmenge von N P ist, ist nicht zu erwarten, dass KonsistenzC in RP liegt. Trifft dies zu, dann besitzt C aber keine effizienten PAC-Algorithmen. Satz 2.38 Sei C = (Cn )n∈N eine parametrisierte Konzeptklasse. Wenn KonsistenzC N P vollständig ist und wenn RP 6= N P gilt, dann gibt es keinen polynomiellen PAC-Algorithmus für C, der C auch als Hypothesenklasse benutzt. Falls RP 6= N P gilt, ist die Komplexität des Konsistenzproblems dafür verantwortlich, wenn es keinen polynomiellen PAC-Algorithmus gibt. Beweis: Sei L ein polynomieller PAC-Algorithmus für C. Mit Satz 2.37 wissen wir, dass dann KonsistenzC durch einen effizienten Monte-Carlo-Algorithmus gelöst werden kann. Also gilt KonsistenzC ∈ RP . Wenn KonsistenzC aber N P -vollständig ist, folgt RP = N P im Widerspruch zur Annahme RP 6= N P . 2 Mit Satz 2.38 können wir negative Aussagen für repräsentations-abhängiges Lernen, also Lernen der Konzeptklasse durch sich selbst, machen. Ein erstes Beispiel ist k-KLAUSEL-KNF (und damit auch k-TERM-DNF). Satz 2.39 Wenn RP 6= N P gilt, dann gibt es keinen polynomiellen PAC-Algorithmus, der die Konzeptklasse k-KLAUSEL-KNF durch die Hypothesenklasse k-KLAUSEL-KNF erlernt. Diese Aussage gilt für alle k ≥ 3. Beweis: Wir reduzieren das N P -vollständige Problem 3-Färbbarkeit auf das Konsistenzproblem Konsistenz3-KLAUSEL-KNF . Definition 2.40 Gegeben sei ein ungerichteter Graph G mit Knotenmenge V und Kantenmenge E. G ist genau dann 3-färbbar, wenn V mit drei Farben gefärbt werden kann, so dass die Endknoten jeder Kante aus E verschiedene Farben haben. Wir zeigen 3-Färbbarkeit ≤p Konsistenz3-KLAUSEL-KNF , wobei ≤p die Notation für polynomiell reduzierbar“ ist. Sei der ungerichtete Graph G = ” (V, E) mit V = {1, . . . , n} die Eingabe für 3-Färbbarkeit. Wir konstruieren als Eingabe von Konsistenz3-KLAUSEL-KNF die Beispielmenge S = S− ∪ S+ mit S− = { (ev , 0) | v = 1, . . . , n } und S+ = {(ev + ew , 1) | {v, w} ∈ E }, wobei der Vektor ev nur in Position v von Null verschieden ist und dort den Wert Eins annimmt. Wir müssen nachweisen, dass G genau dann 3-färbbar ist, wenn es eine mit S konsistente 3-KLAUSEL-KNF gibt. (a) Angenommen, der Graph G ist 3-färbbar mit der Färbung Farbe : V → {1, 2, 3}. Wir konstruieren die Formel c = k1 ∧ k2 ∧ k3 mit _ ki ≡ xv . v∈V, Farbe(v)6=i 60 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Also besteht zum Beispiel k1 aus allen positiven Literalen xv , v = 1, . . . , n, für die Knoten v nicht mit 1 gefärbt ist. Wir behaupten, dass die 3-KLAUSEL-KNFn Formel c mit S konsistent ist. Zuerst beachte, dass c jede Eingabe ev mit der Klausel verwirft, die der Farbe von v entspricht. Warum? Es ist c(ev ) = k1 (ev ) ∧ k2 (ev ) ∧ k3 (ev ). Sei o.B.d.A. Farbe(v) = 1, dann ist k1 (ev ) = 0 und somit c(ev ) = 0. Andererseits akzeptiert die Formel c jede Eingabe ev + ew mit (v, w) ∈ E, denn c(ev + ew ) = k1 (ev + ew ) ∧ k2 (ev + ew ) ∧ k3 (ev + ew ). Da {v, w} ∈ E und G 3-färbbar ist, besitzen v und w verschiedene Farben. Somit enthält jede Klausel entweder xv oder xw und es gilt k1 (ev + ew ) = k2 (ev + ew ) = k3 (ev + ew ) = 1. (b) Angenommen die 3-KLAUSEL-KNFn -Formel c ≡ k1 ∧ k2 ∧ k3 ist konsistent mit der Beispielmenge S. Dann gibt es für jedes ev , v = 1, . . . , n, mindestens eine Klausel kf (v) mit kf (v) (ev ) = 0 (d.h. das Literal xv kommt in kf (v) nicht vor). Wir wählen f (v) ∈ {1, 2, 3} als Farbe für Knoten v. Sei {v, w} ∈ E eine Kante. Dann gilt f (w) 6= f (v), denn ansonsten enthält die Klausel kf (v) weder das Literal xv noch das Literal xw und ev + ew ist ein negatives Beispiel (denn aus kf (v) (ev + ew ) = 0 folgt c(ev + ew ) = 0). Also ist f ein 3-Färbung von G. Da wir in Polynomialzeit überprüfen können, ob eine Hypothese konsistent ist, gilt Konsistenz3-KLAUSEL-KNF ∈ N P und folglich ist das Problem N P -vollständig. 2 Wir wissen bereits aus Satz 2.32, dass die Konzeptklasse k-TERM-DNF mit k-KNF als Hypothesenklasse polynomiell lernbar ist. Satz 2.39 drückt somit aus, dass die Wahl der Hypothesenklasse von großer Bedeutung ist. 2.4.2 Das RSA Kryptosystem Wir beschreiben das Modell der Public-Key Kryptographie. Zwei Personen, Alice und Bob, möchten Nachrichten austauschen. Eine dritte Person, Eve, möchte die Nachrichten abfangen und, wenn möglich, entschlüsseln. Das One-Time-Pad stellt eine Möglichkeit dar, eine sichere Kommunikation zu gewährleisten. Alice und Bob treffen sich in einem stillen Kämmerlein“ und vereinbaren eine Liste L von ” zufällig gewählten Bits. Wenn Bob ein Bit b zu Alice senden möchte, wählt er das erste unbenutzte Bit c der gemeinsamen Liste L und sendet d = b ⊕ c zu Alice. Alice entschlüsselt das erhaltene Bit d, indem sie d ⊕ c berechnet. Diese relativ sichere Methode hat den Nachteil, dass Alice und Bob sich für jede Nachricht treffen müssen; ein erheblicher Nachteil, wenn einer von beiden eine sichere Kommunikation mit vielen Personen benötigt. 61 2.4. KOMPLEXE LERNPROBLEME Die Public-Key-Kryptographie basiert auf Trapdoor-Funktionen (Falltür-Funktionen). Eine Trapdoor-Funktion fw ist effizient berechenbar, aber fw−1 ist nur effizient berechenbar, wenn w bekannt ist. Mit Hilfe einer Trapdoor-Funktion fw kommunizieren Alice und Bob nun wie folgt: 1. Alice stellt für sich eine Trapdoor-Funktion fw auf und veröffentlicht ein Programm zur Berechnung von fw . 2. Bob kodiert seine Nachricht x mit dem veröffentlichten Programm und veröffentlicht seinerseits fw (x). 3. Alice kann fw (x) effizient dekodieren, da sie w kennt. Eve kennt w nicht und kann deshalb keine effiziente Dekodierung erreichen. R.L. Rivest, A. Shamir und L. Adleman [RSA78] haben 1978 das nach ihnen benannte RSAKryptosystem vorgestellt: (1) Alice wählt zwei geeignete Primzahlen p und q mit p 6= q, sowie den Kodierungsexponenten e. Sie veröffentlicht N = p · q und e. (2) Bob berechnet fp,q,e(x) = xe mod N und sendet fp,q,e(x). Hierbei muss gelten, dass 1 ≤ x < N und ggT(x, N ) = 1. Alice nutzt ihr Wissen der Primfaktoren p und q, um fp,q,e(x) effizient zu dekodieren. Wir nennen einen Modul N , der das Produkt zwei verschiedener Primzahlen ist, einen RSA-Modul. Wie werden zwei große Primzahlen p und q erzeugt? Zur Erzeugung von p und q testet man große Zufallszahlen auf die Primzahleigenschaft. Da es nach dem Primzahlsatz genügend viele1 Primzahlen gibt, müssen im Durchschnitt nicht zu viele Versuche durchgeführt werden. Es gibt einen effizienten probabilistischen Primzahltest, der nur mit sehr kleiner Wahrscheinlichkeit Zahlen, die keine Primzahlen sind, als Primzahlen ausgibt. Wie wird der Kodierungsexponent e gewählt? Alice berechnet den Wert φ(N ) der Euler-Funktion. Definition 2.41 Die Euler-Funktion φ : N → N ist durch φ(1) = 1 und φ(N ) = | { x ∈ {1, . . . , N − 1} | ggT(x, N ) = 1 } | für N > 1 definiert. Für Primzahlen p und q mit N = p · q und p 6= q gilt φ(N ) = p · q − (p − 1) − (q − 1) − 1 = (p − 1)(q − 1), (2.10) denn nur - die p − 1 Vielfachen von q, d.h. {q, 2q, . . . , (p − 1)q}, sind nicht teilerfremd zu N und - die q − 1 Vielfachen von p, d.h. {p, 2p, . . . , (q − 1)p}, sind nicht teilerfremd zu N und 1 Sei π(x) die Anzahl der Primzahlen kleiner als x. Dann ist limx→∞ π(x)·ln(x) x = 1. 62 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL - kgV(p, q) = pq, d.h. {q, 2q, . . . , (p − 1)q} ∩ {p, 2p, . . . , (q − 1)p} = ∅. Für x mit 1 ≤ x < N gilt ggT(x, N ) 6= 1 ⇔ ggT(x, N ) ∈ p1 , p2 , . . . , q 1 , q 2 , . . . ⇔ p teilt x oder q teilt x. (2.11) Alice erzeugt eine Zufallszahl e ∈ {2, 3, . . . , φ(N ) − 1}, so dass e und φ(N ) teilerfremd sind. Wie ist xe mod N effizient berechenbar? Bob berechnet zuerst durch fortgesetztes Quadrieren i ⌊log2 N⌋ x mod N, x2 mod N, x4 mod N, . . . , x2 mod N, . . . , x2 mod N. e Insgesamt quadriert er (⌊log 2 N ⌋ + 1)-mal. PkDanachi berechnet Bob x mod N durch Multiplikation der geeigneten Potenzen. Sei e = i=0 ei · 2 , mit ei ∈ {0, 1}, die Binärdarstellung von e. Dann ist xe ≡ x Pk i i=0 ei ·2 ≡ k Y i=0 i xei ·2 ≡ Y i x2 mod N. i,ei =1 xe mod N wird als Produkt von höchstens ⌊log2 N ⌋ + 1 Faktoren berechnet. Wie kann Alice xe mod N effizient dekodieren? Alice bestimmt zuerst den Dekodierungsexponenten d mit der Eigenschaft (xe )d ≡ x mod N für alle x mit 1 ≤ x < N und ggT(x, N ) = 1. Es ist zu zeigen, dass d effizient berechenbar ist, wenn die Primfaktoren p und q bekannt sind. Fakt 2.2 Der Satz von Euler Für jede endliche Gruppe G mit Gruppenordnung m gilt gm ≡ 1 für alle g ∈ G. Die Menge Z∗N besteht aus den zu N primen (d.h. teilerfremden) Restklassen, es ist also ∗ ZN = { x ∈ N | 1 < x < N und ggT(x, N ) = 1 }. Wir wenden den Satz von Euler auf die Gruppe ∗ (ZN , Multiplikation mod N ) an. Wie wir in (2.10) gesehen haben, ist φ(N ) = (p − 1)(q − 1) die Gruppenordnung von Z∗N . Für jedes x aus Z∗N und alle k, r ∈ N gilt deshalb xk·φ(N )+r ≡ xk·φ(N ) xr ≡ xr mod N. Alice bestimmt den Dekodierungsexponenten d ∈ {1, . . . , φ(N ) − 1} so, dass e · d ≡ 1 mod φ(N ) (2.12) 63 2.4. KOMPLEXE LERNPROBLEME gilt. Sei e · d = 1 + k · φ(N ). Falls Alice die kodierte Nachricht xe entschlüsseln möchte, berechnet sie (xe )d ≡ xed ≡ x1+k·φ(N ) ≡ x1 ≡ x mod N. Die Gleichung (2.12) ist lösbar, da e und φ(N ) nach Voraussetzung teilerfremd sind. Es bleibt zu zeigen, dass Alice d auch effizient berechnen kann. Zuerst beachten wir, dass Alice in der Lage ist, φ(N ) zu bestimmen, da sie die Primfaktoren p und q kennt. Das Dekodierungsproblem ist auf die effiziente Berechnung multiplikativer Inverser in Z∗φ(N ) zurückgeführt. Wir zeigen allgemein, wie man modulo b multiplikative Inverse effizient berechnen kann. Wir suchen zu a ∈ Z∗N (mit ggT(a, b) = 1) ein x, so dass a · x ≡ 1 mod b. Wir bestimmen x, indem wir den erweiterten Euklid’schen Algorithmus 2.42 zur Bestimmung des größten gemeinsamen Teilers von a und b aufrufen. Hier ist die Idee: Die Teiler von a und b stimmen genau mit den Teilern von a a − ⌊ ⌋ · x1 und a b überein. Damit haben wir die ggT-Berechnung auf kleinere Zahlen reduziert. Algorithmus 2.42 Erweiterter Euklidischer Algorithmus Eingabe: Die Zahlen a, b ∈ N mit a > b. Ausgabe: Der größte gemeinsame Teiler von a und b. (1) x0 y0 z0 x1 y1 z1 = /* Es gilt xi = a · yi + b · zi für i = 0, 1. a 1 0 b 0 1 . */ (2) (x0 , y0 , z0 ) = (x0 , y0 , z0 ) − ⌊x0 /x1 ⌋ · (x1 , y1 , z1 ). (3) Vertausche (x0 , y0 , z0 ) und (x1 , y1 , z1 ). (4) IF y1 6= 0 THEN GOTO (2). (5) Gib (x0 , y0 , z0 ) aus. /* Es ist x0 = ggT(a, b) = ay0 + bz0 . */ Zur Korrektheit: Durch Induktion zeigt man, dass xi = a · yi + b · zi für i = 0, 1 gilt. Der Euklid’sche Algorithmus berechnet ggT(a, b) mit O(log2 (a + b)) arithmetischen Operationen. Bezogen auf die Länge der Eingabe, also auf ⌈log2 (a + 1)⌉ + ⌈log2 (b + 1)⌉, benötigt der Euklid’sche Algorithmus lineare Rechenzeit. Obwohl bisher nicht bekannt ist, ob die RSA-Kodierung in polynomieller Zeit gebrochen werden kann, gibt es starke Anzeichen gegen die Existenz effizienter Dekodierungen ohne Kenntnis von p und q bzw. φ(N ). 64 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL (a) Die RSA-Kodierung hat seit ihrer Einführung in 1978 allen Kryptoattacken widerstanden. (b) Wenn wir bereits das niedrigwertigste Bit von xe für zufälliges x ∈ Z∗N mit Wahr1 bestimmen können, sind wir in der Lage, in Poscheinlichkeit mindestens 12 + poly(n) lynomialzeit (in der Länge n = log2 N des Moduls N ) das RSA-Schema mit hoher Wahrscheinlichkeit zu brechen (siehe [ACGS88]). (c) Die Kenntnis von φ(N ) ist äquivalent zur Kenntnis der Zerlegung N = p · q und es sind trotz intensiver Forschung bisher keine Polynomialzeit-Algorithmen zum Faktorisieren bekannt. (Es ist aber ein offenes Problem, ob zum Dekodieren die Kenntnis von φ(N ) notwendig ist.) Dies legt die folgende RSA-Hypothese nahe: Es gibt keinen probabilistischen Algorithmus A mit den folgenden beiden Eigenschaften. (a) Für jeden RSA-Modul N und jeden Exponenten e > 1 mit ggT(e, φ(N )) = 1 gilt prob[ 3 A berechnet zu gegebenen N, e, xe mod N ]≥ , e ∗ das Urbild x, sofern x ∈ ZN und 0 sonst 4 wobei die Wahrscheinlichkeit über die internen Münzwürfe von A und die zufällige Wahl von x ∈ {1, . . . , N − 1} zu bilden ist. /* Falls die beiden Primfaktoren des RSA-Moduls N etwa die gleiche Größe haben, ist der Anteil der zum Modul nicht teilerfremden Zahlen zwischen 1 und N − 1 exponentiell klein (bezogen auf die Bitlänge log2 N des Moduls). */ (b) Algorithmus A läuft in Zeit poly(log2 N ). Wir führen eine parametrisierte Konzeptklasse für das RSA-System ein. Definition 2.43 Ein RSA-Modul N ist das Produkt zweier verschiedener Primzahlen p, q. (a) Definiere zum RSA-Modul N , e ∈ Z∗φ(N ) und i mit 1 ≤ i ≤ ⌊log2 N ⌋ + 1 das Konzept cN,e,i durch i-tes Bit von 1 ⌊log2 N⌋ cN,e,i = { N, e, xe mod N, xe·2 mod N, . . . , xe·2 mod N | }. x ∈ Z∗N ist 1 (b) Die Konzeptklasse RSAn umfasst alle Konzepte cN,e,i mit RSA-Moduln der Bitlänge höchstens n. Es ist RSAn = { cN,e,i | (c) Setze RSA = (RSAn )n∈N . N ist RSA-Modul mit 1 ≤ N < 2n , }. e ∈ Z∗φ(N ) und 1 ≤ i ≤ ⌊log2 N ⌋ + 1 65 2.4. KOMPLEXE LERNPROBLEME Die Parameter N und e haben wir in die Indizierung der Konzepte aufgenommen, da diese Werte des RSA-Systems öffentlich bekannt sind. Die positiven und negativen Beispiele für ein Konzept c ∈ RSAn haben eine Eingabelänge von höchstens ⌊log2 N ⌋ + 3 = O(log22 N ) = O(n2 ) · (⌊log2 N ⌋ + 1) {z } | | {z } # Komponenten des Vektors # Bits einer Komponente Bits. Das PAC-Lernen der Konzeptklasse RSA sollte effizient nicht möglich sein, da ansonsten das RSA-Kryptosystem gebrochen werden kann! 2.4.3 Kryptographie und PAC-Lernen Wir kommen zum wesentlichen Punkt, nämlich dem Zusammenhang zwischen PAC-Lernen und Kryptographie: Um die von Bob gesandten Nachrichten zu entschlüsseln, kann Eve versuchen, die Dekodierung von Alice zu erlernen. (1) Wenn Alice die Kodierungsfunktion fw veröffentlicht, kann Eve gemäß Gleichverteilung Beispiele (fw (x), x) für die Dekodierungsfunktion fw−1 generieren. (2) Eve wendet einen effizienten Lernalgorithmus an und erhält eine Hypothese, die fast mit fw−1 übereinstimmt. Angenommen, RSA besitzt einen effizienten PAC-Algorithmus. Dann wählen wir zufällige Zahlen x1 , . . . , xs ∈ {0, . . . , N − 1} gemäß der Gleichverteilung und berechnen dann yi = xei mod N für i = 1, . . . , s. Für die Bitposition i werden dann genau die yj als positive Beispiele klassifiziert, für die xj an Position i eine 1 hat und ggT(xj , N ) = 1 gilt. Mit Hilfe des PAC-Algorithmus erhalten wir ein Bit. Satz 2.44 Die RSA-Hypothese möge gelten. Für eine parametrisierte Konzeptklasse C = (Cn ) gebe es ein Polynom p, so dass RSAn ⊆ Cp(n) . Dann gibt es keinen effizienten PACAlgorithmus für C (unabhängig von der Wahl der Hypothesenklasse). Beweis: Sei L ein effizienter PAC-Algorithmus für C. Wir konstruieren aus L einen probabilistischen Polynomialzeit-Algorithmus P , der im Widerspruch zur RSA-Hypothese die e-te Wurzel modulo N der Eingabe zieht. Algorithmus 2.45 Brechen des RSA-Schemas Eingabe: Ein effizienter PAC-Algorithmus L für C und die zu dekodierende Zahl y ∈ Z∗N . Es sei bekannt, dass RSAn ⊆ Cp(n) gilt. (1) Generiere gleichverteilt und unabhängig s = poly(p(n), 1ε , log2 ( 1δ )) Zahlen x1 , . . . , xs aus 1 . der Menge {0, . . . , N − 1}. Setze ε = δ = 8· p(n)+1 (2) Berechne yi = xe mod N für i = 1, . . . , s. (3) Rufe L für jedes i (1 ≤ i ≤ ⌊log2 N ⌋ + 1) mit den Beispielmengen ⌊log2 N⌋ i B+ = { N, e, yi , yi2 , . . . , yi2 | das i-te Bit von x ∈ Z∗N ist 1 }, ⌊log2 N⌋ i B− = { N, e, yi , yi2 , . . . , yi2 | das i-te Bit von x ist 0 oder x ∈ / Z∗N } i ∪ B i auf. L liefert für jedes i die Hypothese h . und der Gleichverteilung auf B+ i − 66 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL (4) Um die e-te Wurzel von y mod N zu berechnen, werte die Hypothesen ⌊log2 N⌋ bi = hi N, e, y, y 2 , . . . , y 2 aus. (5) Gib P i−1 i bi 2 mod N als Dekodierung für y aus. Wir müssen den Fehler von Algorithmus 2.45 analysieren. Es ist prob[ fehlerD (hi , cN,e,i ) > ε für ein i ] ≤ ≤ ⌊log2 N ⌋+1 X prob[ fehlerD (hi , cN,e,i ) > ε ] i=1 ⌊log2 N ⌋ + 1 · δ. Da RSAn ⊆ Cp(n) und log2 N ≤ n ist, gilt ⌊log2 N ⌋ + 1 ≤ p(n) + 1 und wir erhalten 1 prob[ fehlerD (hi , cN,e,i ) > ε für ein i ] ≤ p(n) + 1 · δ = . 8 Sei also fehlerD (hi , cN,e,i ) ≤ ε für alle i = 1, . . . , ⌊log2 N ⌋. Da ε = i das i-te Bit der Dekodierung nur für N · ε = klassifiziert. Für höchstens (⌊log 2 N ⌋ + 1) · N 8·(p(n)+1) 1 8·(p(n)+1) , (2.13) wird für fixiertes Zahlen aus {0, . . . , N − 1} falsch N N ≤ 8 · (p(n) + 1) 8 (2.14) Zahlen wird somit eine Hypothese falsch klassifizieren. Insgesamt erhalten wir also aus (2.13) und (2.14) prob[ P dekodiert falsch ] ≤ 1 1 1 + = . 8 8 4 Somit bricht Algorithmus 2.45 die RSA-Kodierung mit Wahrscheinlichkeit mindestens 34 . 2 Der Beweis von Satz 2.44 zeigt, dass erfolgreiches Lernen gemäß der Gleichverteilung zum Brechen der RSA-Kodierung führt. Welche vernünftigen“ Konzeptklassen sind mächtig genug, um RSA zu enthalten und besit” zen somit (unter der Annahme, dass das RSA-System nicht gebrochen werden kann) keine effizienten PAC-Algorithmen? Definition 2.46 (a) Wir definieren {∧, ∨, ¬}-Schaltkreise vom Fan-in 2 (d.h. mit bis zu zwei Eingängen). Die Eingabe des Schaltkreises ist ein Vektor x = (x1 , . . . , xn ) ∈ {0, 1}n . Schaltkreise lassen sich durch gerichtete, azyklische Graphen beschreiben, wobei die Knoten des Graphen als ∧-, ∨- oder ¬-Baustein markiert sind. Eingang eines Bausteins kann jede Komponente der Eingabe x oder die Ausgabe eines früheren“ Bausteins sein. ” Die Berechnung eines Schaltkreises verläuft wie folgt: Zuerst sind die Bausteine aktiv, deren Eingänge nur Eingabekomponenten sind, alle anderen Bausteine sind passiv. Ein Baustein wird aktiv, sobald alle seine Vorgänger ihr Ergebnis berechnet haben. Ein aktiver Baustein berechnet dann seine Funktion auf den Ausgaben seiner direkten Vorgänger. Das Ergebnis dieser einmaligen Berechnung steht dann allen direkten Nachfolgern zur Verfügung. An den Senken (Bausteinen ohne Nachfolger) wird die Ausgabe produziert. 2.4. KOMPLEXE LERNPROBLEME 67 Wir betrachten nur Schaltkreise mit einer Senke und sagen, dass eine Eingabe akzeptiert wird, wenn die Senke des Schaltkreises den Wert 1 berechnet. Die Tiefe T (S) ist die Länge eines längsten Pfades von einer Eingabe zu einer Ausgabe. Die Länge eines Pfades ist die Anzahl seiner Kanten. (b) Für jeden {∧, ∨, ¬}-Schaltkreis S mit - n Eingaben, - Fan-in höchstens 2, - genau einer Ausgabe und - Tiefe höchstens log2 n besitzt die Konzeptklasse LOG-SCHALTKREISn ein Konzept Wahr(S) mit Wahr(S) = { x ∈ {0, 1}n | S(x) = 1 }. Neben Schaltkreisen sind wir auch an Formeln interessiert. Definition 2.47 (a) Eine Formel über den Variablen x1 , . . . , xn ist wie folgt definiert: - xi und ¬xi (1 ≤ i ≤ n) sind Formeln, - wenn α und β Formeln sind, dann auch (α) ∧ (β), (α) ∨ (β) und ¬(α). Die Länge Länge(α) einer Formel α ist die Anzahl der logischen Operatoren ∧, ∨ und ¬, die in α vorkommen. (b) Die Konzeptklasse FORMELn besitzt für jede aussagenlogische Formel α mit Variablenmenge {x1 , . . . , xn } und Formellänge höchstens n ein Konzept Wahr(α) Wahr(α) = { x ∈ {0, 1}n | α(x) = 1 }. Ein Thresholdgatter berechnet eine Thresholdfunktion Pn 1 i=1 wi xi ≥ t f (x1 , . . . , xn ) = 0 sonst mit Gewichten w1 , . . . , wn und Schwellenwert (bzw. Threshold) t. Wie aus {∧, ∨, ¬}-Gattern kann man aus Thresholdgattern Schaltkreise konstruieren. Wir betrachten im Gegensatz zu {∧, ∨, ¬}-Schaltkreisen Thresholdschaltkreise konstanter Tiefe. Wir definieren die zugehörige Konzeptklasse. Definition 2.48 THRESHOLD-SCHALTKREISt,n besitzt für jeden Thresholdschaltkreis T mit - Variablenmenge {x1 , . . . , xn }, - Thresholdgattern mit Gewichten aus {0, ±1}, - Größe (bzw. Anzahl der Gatter) höchstens n und - Tiefe höchstens t 68 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL ein Konzept Wahr(T ) mit Wahr(T ) = { x ∈ {0, 1}n | T (x) = 1 }. Für Tiefe t parametrisieren wir THRESHOLD-SCHALTKREISt,n nach der Anzahl n der Eingaben. Satz 2.49 Die RSA-Hypothese möge gelten. Dann gibt es keine effizienten PAC-Algorithmen für die folgenden Konzeptklassen: (a) LOG-SCHALTKREISn (b) FORMELn , (c) THRESHOLD-SCHALTKREISt,n für alle Konstanten t ≥ 7 Beweis (a): Mit Satz 2.44 reicht es zu zeigen, dass RSAn ⊆ LOG-SCHALTKREISp(n) für ein geeignetes Polynom p : N → N gilt. Wir müssen für jedes Konzept cN,e,i ∈ RSAn einen Schaltkreis S der Tiefe O(log2 N ) konstruieren, der genau die Menge cN,e,i akzeptiert. Wir beschreiben die Konstruktion des Schaltkreises S. S überprüft, ob seine Eingabe eine Binärkodierung der Form 2 ⌊log 2 N⌋ N, e, y mod N, y 2 mod N, y 2 mod N, . . . , y 2 mod N mit y ∈ / Z∗N oder xe = y ∈ Z∗N ist. Wir kodieren in den Schaltkreis - die zu überprüfende Bitposition i, - den Modul N und den Exponenten e, - die Faktoren p, q des Moduls und - den Dekodierungsexponenten d mit (xe )d ≡ x mod N für alle x ∈ Z∗N . Offensichtlich gilt y d ∈ Z∗N genau dann, wenn y ∈ Z∗N . Wegen (2.11) genügt es zu testen, ob p oder q Teiler von y sind. Nach P.W. Beame, S.A. Cook und H.J. Hoover [BCH86] kann ein Schaltkreis logarithmischer Tiefe die Teilbarkeit testen. Wir überprüfen parallel, ob p oder q Teiler von y sind. Einfaches Quadrieren ist für einen Schaltkreis in logarithmischer Tiefe möglich. Da alle i Potenzen von y mod N als Eingabe vorliegen, überprüft der Schaltkreis nur, ob (y 2 )2 ≡ i+1 y2 mod N gilt. Dies wird parallel ⌊log2 N ⌋-mal in Tiefe O(log2 log2 N ) durchgeführt, bzw. höchstens n-mal in Tiefe O(log2 n). Für die Berechnung von y d mod N nutzen wir die bereits als Eingaben zur Verfügung gestellP i 2 ten Potenzen y mod N : Nach Konstruktion ist die Binärdarstellung von d = di · 2i (mit di ∈ {0, 1}) dem Schaltkreis S bekannt. Es gilt Pk Y i i x ≡ y d ≡ y i=0 di ·2 ≡ y 2 mod N, i, di = 1 und y d mod N ist somit ein Produkt von höchstens ⌊log2 N ⌋ + 1 ≤ n + 1 Potenzen. Nach [BCH86] existiert ein Schaltkreis, der höchstens ⌊log2 N ⌋ + 1 ≤ n + 1 viele Zahlen mit ⌈log2 N ⌉ ≤ n + 1 Bits in Tiefe O(log2 n) miteinander multipliziert. 2.4. KOMPLEXE LERNPROBLEME 69 Insgesamt genügt also Tiefe d = O(log2 n). Jetzt wähle ein Polynom p(n) so, dass d ≤ log p(n) und wir erhalten, dass Wahr(S) ∈ LOG-SCHALTKREISp(n) . (b) Der Beweis der Behauptung ist als Übungsaufgabe gestellt. Aufgabe 35 (a) Zeige: Für jeden Schaltkreis S der Tiefe t gibt es eine Formel αS mit Formellänge höchstens 2t − 1, so dass S und αS dieselben Eingaben akzeptieren. (b) Zeige, dass die parametrisierte Konzeptklasse FORMEL = (FORMELn )n∈N keine effizienten PACAlgorithmen besitzt, falls die Klasse der Schaltkreise logarithmischer Tiefe keinen effizienten PACAlgorithmus besitzt. Die Beweisidee für (c) ist analog zu (a); siehe auch Abschnitt 6.4. 2 Die drei behandelten Konzeptklassen aus Satz 2.49 sind extrem schwierig, und die NichtExistenz von effizienten PAC-Algorithmen ist nicht zu überraschend. Das folgende negative Ergebnis für endliche Automaten ist hingegen auf den ersten Blick sehr enttäuschend. Satz 2.50 Wenn die RSA-Hypothese gilt, dann besitzt die Konzeptklasse AUTOMATn,{0,1} keine effizienten PAC-Algorithmen. Beweis: Wir beschreiben die Beweisidee; die Details werden in den Übungen behandelt. Unser Ziel ist eine Reduktion von LOG-SCHALTKREISn auf AUTOMATpoly(n),{0,1} . Dazu klären wir zuerst, wie ein Schaltkreis S durch einen endlichen Automaten AS mit wenigen Zuständen ausgewertet werden kann. Mit anderen Worten, wir müssen zuerst eine speichereffiziente Auswertung eines Schaltkreises besprechen. Dies gelingt mit Hilfe des Pebble-Spiels: - Ein Pebble darf stets auf eine Quelle des Schaltkreises gesetzt werden (bzw. das entsprechende Eingabebit wird in ein Register geladen). - Ein Pebble darf stets gelöscht werden (bzw. das Register darf gelöscht werden). - Wenn alle Vorgänger eines Bausteins Pebbles besitzen, dann darf der Baustein selbst gepebbelt werden (bzw. wenn alle notwendigen Zwischenergebnisse gespeichert sind, dann kann der Baustein berechnet und das Ergebnis in ein Register geladen werden). Das Ziel des Pebble-Spiels ist es, den Ausgabebaustein des Schaltkreises zu pebbeln. Dabei soll sowohl die Anzahl der benutzten Pebbles (berechnet als das Maximum über alle Züge des Pebble-Spiels) als auch die Anzahl der Züge so klein wie möglich sein. Für Schaltkreise kleiner Tiefe kann das Pebble-Spiel effizient gespielt werden. Behauptung 2.4 Sei S ein {∧, ∨, ¬}-Schaltkreis mit Fan-in höchstens 2 und genau einer Ausgabe. Die Tiefe von S sei t. Dann kann S mit höchstens t + 2 Pebbles in Zeit höchstens 2t+1 − 1 gepebbelt werden. Aufgabe 36 Sei G ein gerichteter azyklischer Graph mit Fan-in 2 und genau einer Senke. Tiefe(G) bezeichnet die Länge eines längsten Pfades in G. Die Länge eines Pfades ist hierbei als die Anzahl seiner Kanten definiert. Zeige: G kann mit höchstens Tiefe(G) + 2 Pebbles in Zeit höchstens 2Tiefe(G)+1 − 1 gepebbelt werden. Wir konstruieren jetzt einen endlichen Automaten AS , der ein Pebble-Spiel für S Zug-um-Zug simuliert. Um diese Simulation zu ermöglichen, wiederholen wir die Eingabe genügend häufig. 70 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL Behauptung 2.5 Sei S ein {∧, ∨, ¬}-Schaltkreis mit Fan-in höchstens 2, n Eingaben und genau einer Ausgabe. Wenn S die Tiefe t besitzt, dann gibt es einen endlichen Automaten AS mit poly(2t ) Zuständen, so dass für alle w ∈ {0, 1}n gilt. AS akzeptiert w | w {z. . . w} ⇔ S akzeptiert w 2t+1 − 1-mal Der Beweis ist dem Leser überlassen. 2 Wir können jetzt den Beweis des Satzes vervollständigen. Wir wissen, dass Schaltkreise mit logarithmischer Tiefe keine effizienten PAC-Algorithmen besitzen, selbst wenn die Beispiele gemäß der Gleichverteilung generiert werden. Angenommen, es gibt einen polynomiellen PACAlgorithmus L für AUTOMATpoly(n),{0,1} . Sei Dn die Gleichverteilung auf allen Worten der Form w . . . w} | w {z t+1 2 − 1-mal für w ∈ {0, 1}n . Behauptung 2.5 besagt, dass wir dann auch LOG-SCHALTKREISn für die Gleichverteilung effizient lernen können! Wir haben den gwünschten Widerspruch erhalten. 2 2.5 Zusammenfassung Wir haben uns zuerst mit unteren und oberen Schranken für die Beispielanzahl beschäftigt. Der zentrale Begriff ist dabei die Vapnik-Chervonenkis-Dimension VC(C) einer Konzeptklasse C. Falls ln | Cn | = Θ(VC(Cn )) für eine parametrisierte Konzeptklasse (Cn )n∈N gilt, ist die benötigte Beispielanzahl durch 1 1 Θ( · VC (Cn ) + ln ) ε δ asymptotisch exakt bestimmt. Im allgemeinen Fall ist 1 1 1 O( · VC (Cn ) · ln + ln ) ε ε δ eine obere Schranke und 1 1 Ω( · VC (Cn ) + ln ) ε δ eine untere Schranke für die Beispielanzahl. Diese unteren und oberen Schranken führen zu einer (asymptotisch) exakten Bestimmung der Beispielanzahl für viele wichtige Konzeptklassen. Wir haben gezeigt, dass die Existenz eines polynomiellen PAC-Algorithmus die Existenz eines effizienten probabilistischen Algorithmus bedingt, der das Konsistenzproblem für die Konzeptklasse löst. Andererseits folgt effiziente Lernbarkeit (im PAC-Sinn) für Konzeptklassen mit effizient lösbarem Konsistenzproblem und effiziente PAC-Lernbarkeit ist äquivalent zu einem effizient lösbaren Konsistenzproblem. Damit folgt insbesondere die polynomielle Lernbarkeit von Konzeptklassen wie 2.5. ZUSAMMENFASSUNG 71 - k-TERM-DNF und k-KLAUSEL-KNF, - k-KNF und k-DNF, - SYM, - RECHTECK und - HALBRAUM. Wir haben uns mit Occam-Algorithmen beschäftigt. Ein Occam-Algorithmus führt eine Art Datenkomprimierung durch: Für s Beispiele ist eine Hypothese der Länge o(s) zu bestimmen, die die Klassifizierungen der Beispiele möglichst gut erklärt. Wir haben festgestellt, dass ein Occam-Algorithmus ein PAC-Algorithmus ist und haben die nötige Beispielanzahl berechnet. Im Modell des PAC-Lernens ist Occam’s Razor“ ein beweisbar richtiges Lernparadigma. ” Relativ wenige Beispiele genügen, wenn kurze“ Konzepte zu lernen sind: Occam-Algorithmen ” passen sich der Komplexität des Zielkonzeptes an. Occam Algorithmen können auch beutzt werden, um die effiziente Lernbarkeit von Vereinigungen oder Durchschnitten einer Konzeptklasse (mit endlicher V C-Dimension und effizienter Lösung des Konsistenzproblems) zu etablieren. Zum Beispiel kann so gezeigt werden, dass die Konzeptklasse der konvexen Polygone im R2 effizient PAC-lernbar ist. Der gierige Überdeckungsalgorithmus hat sich hier als eine wichtige Komponente im Entwurf von OccamAlgorithmen herausgestellt. In der Untersuchung komplexer Lernprobleme haben wir repräsentationsabhängige (H = C) und repräsentationsunabhängige (H beliebig) Ergebnisse unterschieden. Wir haben mit repräsentationsabhängigen Ergebnissen begonnen und –unter der Annahme RP 6= N P – gezeigt, dass es keine polynomiellen PAC-Algorithmen gibt, die k-TERM-DNF durch k-TERM-DNF erlernen. Wir erhalten repräsentationsunabhängige Ergebnisse für Konzeptklassen, die die Konzeptklasse RSA enthalten. Insbesondere kann ein Berechnungsmodell (wie das Modell der Schaltkreise logarithmischer Tiefe) dann nicht gelernt werden, wenn in dem Berechnungsmodell n Zahlen von je n Bits multipliziert werden können: Große Berechnungsskraft impliziert komplexes Lernen. Zu den nicht-effizient lernbaren Konzeptklassen gehören: - LOG-SCHALTKREIS, - FORMEL, - THRESHOLD-SCHALTKREISt für alle Konstanten t ≥ 5 und - AUTOMAT. (Während die drei ersten Klassen bereits für die Gleichverteilung schwierig zu erlernen sind, sind Automaten nur für die Gleichverteilung auf wiederholten Eingaben beweisbar schwierig.) Wie deprimierend sind die negativen Ergebnisse? Schaltkreise logarithmischer Tiefe, Formeln polynomieller Länge, Thresholdschaltkreise konstanter Tiefe und Automaten mit polynomieller Zustandszahl sind mächtige Berechnungsmodelle. Es ist nicht verwunderlich, 72 KAPITEL 2. GRUNDLAGEN: DAS PAC-MODELL dass anständige“ Lernmodelle Schwierigkeiten haben, die entsprechenden Konzeptklassen zu ” erlernen. Das PAC-Modell muss sich aber mit den folgenden Kritikpunkten auseinandersetzen. Wir setzen nämlich voraus, dass - Lernen für jede Eingabeverteilung zu garantieren ist, - dass die Hypothesenklasse Konsistenz sichert und - dass der Lerner sich nur passiv verhalten darf. In vielen Lernsituationen ist die Möglichkeit des Experiments stark eingeschränkt und deshalb sind die beiden ersten Kritiken am schwerwiegendsten. Erfolgreiches Lernen setzt oft voraus, dass die Beispielverteilung sich unterstützend auswirkt und gerade dieses Phänomen wird im Kapitel 4 ausgenutzt, um in hoch-dimensionalen Feature-Räumen noch erfolgreich zu lernen. (Allerdings bleiben komplexe Konzeptklassen wie LOG-SCHALTKREIS bei Einschränkung auf vernünftige Verteilungen schwierig [K93].) Schließlich ist gerade die Unkenntniss über eine passende Beschreibung des zu lernenden Konzepts charakteristisch für praktische Lernsituationen und macht einen großen Teil der Lernkomplexität aus. Welche Beschreibungsmöglichkeiten sind für Probleme wie die Handschriftenerkennung bzw. die Textklassifizierung angemessen? In den Kapiteln 6 und 4 betrachten wir deshalb Lernverfahren, die relativ mächtige Beschreibungsmöglichkeiten bieten. Im Kapitel 7 behandeln wir ein aktives Lernmodell (mit Elementfragen) und werden effiziente Lernalgorithmen kennenlernen, die endliche Automaten exakt und Entscheidungsbäume (wie auch DNF) approximativ rekonstruieren. Allerdings bleiben LOG-SCHALTKREIS, FORMEL und THRESHOLD-SCHALTKREIS auch im aktiven Lernmodell komplex [AK91]. Kapitel 3 On-line Lernen Wir erhalten eine Folge von Informationen (It : t ∈ N) und müssen zu jedem Zeitpunkt t, ohne zukünftige Informationen zu kennen, eine möglichst gute Entscheidung treffen. Wir stellen drei wichtige on-line Lernalgorithmen vor, nämlich die Weighted Majority Strategie, die Winnow Strategie und den Perzeptron Algorithmus. 3.1 Auswahl von Experten Wir müssen eine Folge von Ja/Nein Entscheidungen treffen. Zu jedem Zeitpunkt steht uns eine Menge E von Experten zur Verfügung, wobei jeder Experte zu jedem Zeitpunkt entweder die Entscheidung Ja“ oder die Entscheidung Nein“ empfiehlt. Nachdem wir, basierend auf ” ” allen Empfehlungen, eine Entscheidung getroffen haben, wird uns die richtige Entscheidung mitgeteilt. Können wir, sogar ohne den die Entscheidungen betreffenden Sachverhalt zu kennen, eine Strategie entwickeln, deren Entscheidungen fast so gut sind wie die Empfehlungen des bisher besten Experten? Das Problem besteht also darin, innerhalb kürzester Zeit die Qualität des bisher besten Experten zu erreichen. Beachte, dass sich bisher optimale Experten in der Zukunft signifikant verschlechtern können, und wir werden in jeder Runde1 neu überdenken müssen, welcher Empfehlung wir folgen. Wir betrachten zuerst eine sehr einfache Strategie, nämlich wir übernehmen zum Zeitpunkt t die Entscheidung des Experten, der bisher die wenigsten Fehler gemacht hat. Allerdings ist die Vergangenheit im Allgemeinen keine gute Prognose für die Zukunft: Ein bösartiger Gegner, die Zukunft, klassifiziert die Entscheidung des bisher besten Experten möglicherweise als falsch. Aufgabe 37 Bestimme zu jedem Zeitpunkt t den Experten, der bis zum Zeitpunkt t − 1 die wenigsten falschen Entscheidungen getroffen hat, und übernimm seine Entscheidung für den Zeitpunkt t. Konstruiere eine Menge von n Experten, so dass sich die Strategie immer irrt, obwohl der beste Experte höchstens t/n Fehler macht. Diese Strategie ist somit katastrophal: Keine einzige Entscheidung ist richtig, obwohl sich die besten Experten nur mit Wahrscheinlichkeiten 1/n irren. 1 Eine Runde besteht aus den Empfehlungen der Experten, unserer Entscheidung und schließlich der Bekanntmachung der richtigen Entscheidung. 73 74 3.1.1 KAPITEL 3. ON-LINE LERNEN Der Weighted Majority Algorithmus In unserer ersten Strategie nehmen wir an, dass n Experten Empfehlungen abgeben. Unsere Strategie wird dem iten Experten ein Gewicht wi zuweisen, dass die Güte seiner Empfehlungen wiederspiegelt. Algorithmus 3.1 Eine einfache Version der Weighted Majority Algorithmus (1) Setze wi = 1 für alle Experten i. (2) Wenn Experte i die Empfehlung xi ∈ {Ja, Nein} abgibt, dann treffe die Entscheidung Ja“, falls X X ” wi ≥ wi i,xi =Ja i,xi =Nein und ansonsten treffe die Entscheidung Nein“. ” (3) Nach Erhalt der richtigen Entscheidung: Wenn Experte i eine falsche Empfehlung abgegeben hat, dann bestrafe ihn mit der Setzung wi = wi /2. Ansonsten lasse das Gewicht wi unverändert. Wie gut ist der Weighted Majority Ansatz? Sei Wt das Gesamtgewicht aller Experten vor Beginn von Runde t. Dann ist anfänglich W1 = n. Wenn die in Runde t abgegebene Entscheidung falsch ist, dann haben sich Experten mit einem Gesamtgewicht von mindestens Wt /2 geirrt. Folglich ist Wt+1 ≤ 3 1 Wt Wt · + = Wt . 2 2 2 4 Wenn wir f bis zum Zeitpunkt t falsche Entscheidungen getroffen haben, dann folgt insbesondere 3 Wt ≤ n · ( )f . 4 (3.1) Können wir sehr viel schlechter sein als der beste Experte? Wenn der beste Experte bis zum Zeitpunkt t genau fopt Fehler gemacht hat, dann ist sein Gewicht 2−fopt . Insbesondere ist damit auch 2−fopt ≤ Wt . Wir kombinieren diese untere Schranke für Wt mit der oberen Schranke (3.1) und erhalten die Bedingung 3 4 1 ( )fopt ≤ n · ( )f , bzw ( )f ≤ 2fopt · n. 2 4 3 Wir logarithmieren und erhalten die Ungleichung f · log2 (4/3) ≤ fopt + log2 n. Wir können zusammenfassen: Satz 3.2 Es möge n Experten geben. Wenn der Weighted Majority Algorithmus bisher f falsche und der beste Experte fopt falsche Entscheidungen getroffen haben, dann gilt f≤ 1 · (fopt + log2 n). log2 (4/3) 75 3.1. AUSWAHL VON EXPERTEN Wir sind also nahe am optimalen Experten dran“: Im Wesentlich brauchen wir O(log2 n) ” Runden, um die Gewichte der Qualität der Experten entsprechend zu setzen und verfehlen nach dieser Aufwärmzeit“ die Qualität des besten Experten um höchstens den Faktor ” 1 log2 (4/3) ≈ 2.41. Wir können aber unsere Voraussagekraft verbessern, wenn wir die Aufwärmzeit verlängern. Dazu wählen wir einen Experten zufällig, aber mit einer Wahrscheinlichkeit proportional zu seinem gegenwärtigen Gewicht aus. Wir wählen also einen bisher guten Experten mit einer signifikant größeren Wahrscheinlichkeit aus als einen bisher schlechten Experten. Dieser Ansatz erlaubt sogar die Lösung eines allgemeineren Problems: - Statt einer Ja/Nein Entscheidung erwarten wir diesmal allgemeinere Empfehlungen. Die Empfehlung eines Experten i zum Zeitpunkt t bewerten wir mit einer Note“ cti auf ” einer Skala von 0 (sehr gut) bis 1 (sehr schlecht). - Unser Ziel ist demgemäß die Bestimmung eines Experten mit einer möglichst gut bewerteten Empfehlung. Wir werden es natürlich nicht schaffen, in jeder Runde einen optimalen Experten zu ermitteln, sondern unser Ziel sollte sein, die Qualität eines bisher besten Experten zumindest approximativ zu erreichen, wenn wir alle bisherigen Empfehlungen in Betracht ziehen. Algorithmus 3.3 Eine randomisierte Version von Weighted Majority (1) Setze wi = 1 für alle Experten i. (2) Wähle einen Experten zufällig, wobei Experte i die Wahrscheinlichkeit wi p i = Pn k=1 wk erhält und übernimm seine Entscheidung. (3) Berechne neue Gewichte: Setze wi = wi (1 − ε · cti ). Kommentar: Die von der Rundenzahl t unabhängige Konstante ε wird aus dem Intervall ]0, 1/2[ gewählt. Beachte ε · cti ∈ [0, 1/2[. Statt wie bisher die Anzahl falscher Entscheidungen möglichst klein zu halten, möchten wir jetzt die Gesamtkosten, also die Notensumme für alle bisher getroffenen Entscheidungen so weit wie möglich minimieren. Obwohl wir mehr verlangen, hat unsere Voraussagekraft zugenommen: Satz 3.4 Es möge n Experten geben. Wenn der randomisierte Weighted Majority Algorithmus bisher Entscheidungen mit den erwarteten Gesamtkosten K und der beste Experte Entscheidungen mit den minimalen Gesamtkosten Kopt getroffen hat, dann ist K ≤ (1 + ε) · Kopt + ln n . ε Algorithmus 3.3 häuft damit, bis auf den additiven Term lnεn , höchstens die Gesamtkosten (1 + ε) · Kopt an: Je länger die Aufwärmzeit, also umso kleiner ε, umso geringer sind die Gesamtkosten. 76 KAPITEL 3. ON-LINE LERNEN Beweis: wit sei das Gewicht von Experte i zu Beginn von Runde t und Wt = Gewichtssumme aller n Experten zu Beginn von Runde t. Schließlich sind Kt = Pn t i=1 wi sei die n X wit t ·c Wt i i=1 die erwarten Kosten unserer Entscheidung zum Zeitpunkt t. Wir beobachten zuerst, dass Wt+1 = n X i=1 wit · (1 − ε · cti ) = n X i=1 wit − ε · n X i=1 wit · cti = Wt − ε · Kt · Wt = Wt · (1 − ε · Kt ) (3.2) gilt. Um einen Zusammenhang herzustellen zwischen unseren erwarteten Gesamtkosten bis zum Zeitpunkt T und dem Gewicht WT +1 zum Zeitpunkt T + 1, expandieren wir die Darstellung (3.2). Wir erhalten WT +1 = W1 · Πt≤T (1 − ε · Kt ). Wir lösen nach unseren erwarteten Kosten Kt auf, indem wir logarithmieren und beachten, dass log(1 − x) ≤ −x gilt: X X ln WT +1 = ln W1 + ln(1 − ε · Kt ) ≤ ln n − εKt t≤T t≤T = ln n − ε · K, (3.3) wobei K unsere erwarteten Gesamtkosten sind. Nachdem wir gezeigt haben, dass hohe erwartete Kosten unsererseits das Gesamtgewicht nach unten drücken, zeigen wir jetzt, wie im Beweis von Satz 3.2, dass ein guter Experte das Gesamtgewicht nach oben zieht. Für jeden Experten i gilt WT +1 ≥ wiT +1 = Πt≤T (1 − ε · cti ) Wir logarithmieren wieder, um an die Gesamtkosten K(i) des iten Experten heranzukommen. Diesmal benutzen wir, dass ln(1 − x) ≥ −x − x2 für x ∈ [0, 1/2] gilt: X X ln WT +1 = ln(1 − ε · cti ) ≥ − (ε · cTi + (ε · cTi )2 ) t≤T t≤T X ≥ − (ε · cTi + ε2 · cTi ) = −(ε + ε2 ) · K(i). (3.4) t≤T Wir haben hier benutzt, dass cti im Intervall [0, 1] liegt, um die Ungleichung cti ≥ (cti )2 anwenden zu können. Wir kombinieren (3.3) und (3.4), in dem wir den Experten i mit minimalen Gesamtkosten K(i) = Kopt betrachten. Es ist −(ε + ε2 ) · Kopt ≤ ln WT +1 ≤ ln n − ε · K. Wir erhalten die Behauptung nach Division durch −ε. 2 In welchen Situationen können wir den randomisierten Weighted Majority Algorithmus anwenden? Angenommen, wir müssen ein sehr komplexes Optimierungsproblem lösen und haben verschiedene Heuristiken gebaut“, die Lösungen unterschiedlicher Qualität erreichen. Wir ” nehmen an, dass wir die Qualität der Lösungen unmittelbar nicht miteinander vergleichen 3.1. AUSWAHL VON EXPERTEN 77 können: Wenn wir zum Beispiel Aktiengeschäfte tätigen wollen, dann wird erst die Zukunft zeigen, wie gut welche Entscheidungen waren. Wir interpretieren die Heuristiken als Experten und bewerten die jeweils berechneten Lösungen auf der [0, 1]-Skala. Wir wenden dann den Weighted Majority Algorithmus an und bestimmen eine Gewichtung der Heuristiken, die sich dann fast-optimal auf die Daten einstellt. Aufgabe 38 Eine Lotterie wird wiederholt durchgeführt. Jedesmal wird 1 Euro vergeben, wenn die richtige aus n möglichen Zahlen geraten wurde. Die Lotterie endet, wenn die erste Zahl zum dten Mal gezogen wurde. Wir beteiligen uns an der Lotterie und möchten natürlich so viel wie möglich gewinnen. In jeder Runde der Lotterie dürfen wir eine Zahl raten und beobachten, welche Zahl gewinnt. Gib eine Strategie an, mit der wir einen möglichst großen Betrag im Erwartungsfall gewinnen werden und bestimme diesen erwarteten Gewinn. Für die Analyse kann angenommen werden, dass die gewinnende Zahl jeweils vor Beginn einer Runde fixiert wird. 3.1.2 On-line Auswahl von Portfolios Die kontinuierliche Vermögensanlage ist ein Musterbeispiel eines on-line Problems. Wir besprechen zuerst den CRP-Ansatz (Constant Rebalanced Portfolio): Ein Portfolio von verschiedensten Anlagen wird zusammengestellt, wobei die jeweiligen Anlagen nach einer Verteilung p gewichtet werden. Das Portfolio wird dann in regelmäßigen Abständen neu justiert und zwar wird das gegenwärtige Vermögen gemäß der Verteilung p auf die einzelnen Anlagen verteilt. Beispiel 3.1 Wir nehmen zwei Aktien (A = {1, 2}) an, wobei sich die erste Aktie nicht bewegt, während sich die zweite Aktie alternierend erst halbiert und dann verdoppelt. Offensichtlich bringt es nichts, das verfügbare Vermögen nur in einer Aktie anzulegen, da nach je zwei Anlageterminen das alte Vermögen wieder erreicht wurde. Stattdessen verteilen wir das Vermögen gleichgewichtet auf die beiden Aktien, wählen also die Verteilung p = (0.5, 0.5). Wenn V das gegenwärtige Vermögen ist, dann ist V vor dem zweiten Anlagetermin auf V · (1/2 + (1/2) · (1/2)) = 3 · V /4 gesunken, um vor dem dritten Anlagetermin wieder auf V · (3/8 + 2 · 3/8) = 9 · V /8 zu steigen. Vor dem Anlagetermin 2n + 1 ist das Vermögen damit exponentiell auf ( 98 )n · V angewachsen! Wenn wir den CRP-Ansatz über längere Zeit verfolgen, dann führen verschiedene Verteilungen p zu radikal verschiedenen Vermögensentwicklungen. Wir setzen uns das Ziel, die erwartete Vermögensentwicklung des CRP-Ansatzes zu erreichen. Wenn wir die Experten-Analogie anwenden, dann sollten wir idealerweise einen Experten für jede mögliche Verteilung verwenden. Natürlich können wir uns unendlich viele Experten nicht leisten, sondern wählen stattdessen eine genügend große Anzahl N von Verteilungen zufällig aus. Der Universal Portfolio Algorithmus von Cover [C91] verfolgt im Wesentlichen diesen Ansatz, legt in jedem ausgewählten Portfolio dasselbe Vermögen an und rebalanciert jedes Portfolio für jeden Anlagetermin nach dem CRP-Ansatz, wobei aber keine Gelder zwischen verschiedenen Portfolios transferiert werden dürfen. Hier wird also im wesentlichen der Weighted Majority Algorithmus eingesetzt: - Wenn V das anfängliche Vermögen ist, dann erhält jedes ausgewählte Portfolio das V anfängliche Gewicht N . - Der Markt adjustiert die Portfolio-Gewichte vor jedem Anlagezeitpunkt gemäß ihrer Vermögensentwicklung. 78 KAPITEL 3. ON-LINE LERNEN - Statt aber zu versuchen, die Vermögensentwicklung des besten Portfolios zu erreichen, versuchen wir zwecks Risikominimierung die durchschnittliche Vermögensentwicklung zu erreichen. Wie gut ist der Universal Portfolio Algorithmus? Wir nehmen an, dass wir mit m Anlagemöglichkeiten über einen Zeitraum von n Anlageperioden arbeiten. Wenn optn das optimale Vermögen und en das erwartete Vermögen nach n Anlageperioden ist, dann gilt: Fakt 3.1 [C91] en ≥ optn . (n + 1)m−1 Damit kann das erwartete Verhalten potentiell sehr viel schlechter als das optimale Verhalten sein, aber überraschenderweise ist der Verlustfaktor“ (n + 1)m−1 höchstens polynomiell und ” nicht exponentiell in der Anzahl der Anlageperioden. Der durchschnittliche relative Verlustfaktor pro Anlageperiode ist höchstens (n + 1)m−1 1/n ≈ nm−1 1/n = n(m−1)/n = 2 (m−1)·log 2 n n und damit für eine genügend große Zahl n von Anlageperioden nur unwesentlich größer als Eins: Legt die optimale CRP-Strategie über einen genügend langen Zeitraum um den Faktor ann für an > 1 zu, dann wird der Universal Portfolio Ansatz einen Wertzuwachs um den Faktor bnn erreichen, wobei 1 < bn < an und limn→∞ an = limn→∞ bn gilt. Der Universal Portfolio Ansatz schneidet somit auf den zweiten Blick nicht schlecht ab: Die erwartete CRP-Vermögensentwicklung kann bis auf polynomielle Faktoren mit der besten CRP-Vermögensentwicklung mithalten: Damit gewährleistet die Neugewichtung, dass genügend viele zufällig gewählte Verteilungen einen nicht zu großen Abstand von der optimalen Verteilung haben. 3.1.3 Der Winnow Algorithmus Nehmen wir wieder an, dass n Experten zur Verfügung stehen. Da ein Experte sich für einige Entscheidungen möglicherweise nicht kompetent fühlt, geben wir diesmal sogar die Möglichkeit der Enthaltung, statt Experten arbeiten wir also wirklich mit Spezialisten. Auch unsere Erwartungshaltung wächst: Statt ungefähr so gut zu sein wie ein bester Spezialist, möchten wir die Voraussageleistung einer besten Auswahl E von Spezialisten annähernd erreichen. Wie ist das Votum einer Auswahl, bzw. Menge von Spezialisten zu interpretieren? Wenn alle sich nicht enthaltenden Spezialisten in E einstimmig sind, dann wird dieses einstimmige Votum übernommen. Die Menge E erhält für jeden sich irrenden Spezialisten einen Strafpunkt, bzw. insgesamt einen Strafpunkt, wenn sich alle Spezialisten in E enthalten. Um mit allen Mengen E mithalten zu können, bauen wir für jede Menge E einen Superexper” ten“ iE , der ein einstimmiges Votum seiner“ Spezialisten übernimmt und sich sonst enthält. ”n Wir wenden Algorithmus 3.1 auf die 2 Superexperten an und können somit mit der Voraussagekraft jeder Menge E nach einer diesmal aber linearen Aufwärmzeit mithalten2 . Was ist, neben der vergrößerten Aufwärmzeit, das Problem? Pro Runde benötigt Algorithmus 3.1 die 2 Dabei setzen wir voraus, dass jede Enthaltung oder falsche Empfehlung von iE mit einem Strafpunkt geahndet wird. Da wir mit 2n Experten arbeiten, steigt die Aufwärmzeit auf O(log 2n ) = O(n). 79 3.1. AUSWAHL VON EXPERTEN Laufzeit mindestens Ω(2n ) und ist damit nicht mehr praktikabel. Haben wir trotzdem noch eine Chance? Wir stellen den Winnow3 Algorithmus vor, der auch mit dieser schwierigeren Fragestellung klarkommt. Definition 3.5 Sei E eine Menge von Spezialisten. Wir vegeben in einer Runde - k Strafpunkte, wenn sich genau k Spezialisten aus E irren, - bzw. einen Strafpunkt, wenn sich alle Spezialisten aus E enthalten. Wenn st die Anzahl der Strafpunkte von E in Runde t ist, dann ist StrafeT (E) = T X st t=1 die Gesamtstrafe für E nach T Runden. Algorithmus 3.6 Der Winnow-Algorithmus (1) Setze w1 = · · · = wn = 1. (2) Wenn eine Entscheidung zu treffen ist, dann gibt jeder Spezialist i bekannt, ob er sich enthält (xi = 0) oder nicht (xi = 1). (2a) Winnow enthält sich, falls n X i=1 wi · xi < n gilt. Nachfolgend werden die Gewichte aller Spezialisten, die sich nicht enthalten haben, verdoppelt. P (2b) Sonst ist ni=1 wi · xi ≥ n und Winnow trifft eine Mehrheitsentscheidung: Wenn yi ∈ {Ja, Nein} die Empfehlung von Spezialist i ist, dann entscheidet Winnow auf Ja“, wenn X X ” wi · xi ≥ wi · xi i,xi =1,yi =Ja i,xi =1,yi =Nein und ansonsten auf Nein“. Nachfolgend werden die Gewichte aller Spezialisten, die ” die falsche Entscheidung unterstützt haben, halbiert. Der Winnow Algorithmus ist also eine Verallgemeinerung des Weighted Majority Algorithmus (Algorithmus 3.1): Statt Experten mit falscher Entscheidung durch Gewichtshalbierung zu bestrafen, werden diesmal sowohl Bestrafungen wie auch Belohnungen ausgegeben. Wir werden jetzt sehen, dass Winnow dann eine gute Leistung abliefert, wenn es kleine, aber gute Mengen von Spezialisten gibt. 3 To winnow: den Spreu vom Weizen trennen. 80 KAPITEL 3. ON-LINE LERNEN Satz 3.7 Es möge insgesamt n Spezialisten geben. Sei E eine beliebige Menge von Spezialisten. Dann macht Winnow nach T Runden höchstens 5 · StrafeT (E) + 5 · |E| · ⌈log2 n⌉ + 4 Fehler, wobei ein Fehler entweder eine Enthaltung oder eine falsche Entscheidung ist. Beweis: Wir führen Winnow für insgesamt T Runden aus und vergleichen die Voraussagen von Winnow und der Spezialistenmenge E. Für jeden Spezialisten i ∈ E sei fi die Anzahl der bisherigen falschen Voraussagen von i. Schließlich möge es genau e Zeitpunkte geben, an denen sich alle Spezialisten aus E enthalten. Schritt 1: Wir beschränken zuerst die Anzahl e∗ der Enthaltungen von Winnow, indem wir einen Zusammenhang mit den Fehlern und Enthaltungen von E herstellen. Wir beachten, dass Winnow sich nicht enthält, wenn mindestens ein Spezialist i ein großes Gewicht besitzt, d.h. wenn wi ≥ n gilt, und wenn sich dieser Experte nicht enthält. Das Gewicht wi wird nach einer Fehlentscheidung von Spezialist i halbiert und nach einer Enthaltung von Winnow verdoppelt, solange sich i nicht selbst enthalten hat. Wie entwickeln sich die Gewichte für die Spezialisten in E? Angenommen ein Spezialist i ∈ E hat sich mindestens fi + log2 n nicht enthalten, während sich Winnow jedesmal enthalten hat. Dann ist sein Gewicht wi , unter Einrechnung der Halbierungen durch die fi falschen Entscheidungen, auf mindestens n angestiegen und dieser Spezialist allein verhindert eine Enthaltung, wann immer er sich nicht enthält. In jeder von e∗ − e Enthaltungen von Winnow wird sich aber mindestens ein Spezialist aus E “bekennen“, sich also nicht enthalten. Jeder Spezialist i ∈ E erreicht aber nach fi + log2 n Bekennungsschritten“ das kritische Gewicht n und verhindert danach Enthaltungen von ” Winnow. Also haben wir X e∗ ≤ e + fi + |E| · ⌈log2 n⌉ (3.5) i∈E = StrafeT (E) + |E| · ⌈log2 n⌉ (3.6) nachgewiesen. Schritt 2: Um die Anzahl der Fehlentscheidungen von Winnow zu beschränken, stellen wir einen Zusammenhang zu den Enthaltungen von Winnow her. Sei Wt die Summe aller Gewichte zu Beginn von Runde t. Wir machen die folgenden Beobachtungen: (1) Es ist W1 = n und Wt > 0 für alle Zeitpunkte t. [2) Wenn Winnow sich in Runde t enthält, dann werden P nur Gewichte der sich nicht enthaltenden Spezialisten verdoppelt. Es gilt aber ni=1 wi xi < n, und deshalb folgt Wt+1 ≤ Wt + n. P (3) Wenn Winnow in Runde t eine Fehlentscheidung trifft, dann ist andererseits ni=1 wi xi ≥ n, und das Gesamtgewicht der sich irrenden Spezialisten ist mindestens n/2. Das Gesamtgewicht der sich irrenden Spezialisten wird halbiert, und deshalb folgt Wt+1 ≤ Wt − n4 . Wenn f ∗ die Anzahl der Fehlentscheidungen von Winnow ist, dann muss also f ∗ ≤ 4e∗ + 4 gelten, denn ansonsten wäre das Gesamtgewicht negativ. (Da das Gesamtgewicht zu Anfang n 3.2. ONLINE LERNEN VON KONZEPTKLASSEN 81 ist, treiben 4 Fehlentscheidungen das Gewicht auf Null.) Also ist die Anzahl der Enthaltungen und Fehlentscheidungen durch e∗ + f ∗ ≤ 5e∗ + 4 ≤ 5 · StrafeT (E) + 5 · |E| · ⌈log2 n⌉ + 4 beschränkt. 2 Unsere Bestrafung der Spezialistenmenge E ist unfair, da wir eine Fehlentscheidung mit der Anzahl der sich irrenden Spezialisten in E bestrafen. Eine faire Bewertung bestraft eine Fehlentscheidung nur einmal. Wenn f also die Anzahl der Fehler von E ist, dann folgt StrafeT (E) ≤ e + f · |E| ≤ (e + f ) · |E| und die Anzahl der Enthaltungen und Fehlentscheidungen von Winnow ist durch O((e + f + log2 n) · |E|) beschränkt. In dieser Perspektive steigt der Verlustfaktor“ somit auf O(|E|). ” Aufgabe 39 Wie verändert sich die Fehlerzahl, wenn wir die Mehrheitsentscheidung in Schritt (2b) durch die zufällige Wahl eines sich nicht enthaltenden Spezialisten ersetzen? 3.2 Online Lernen von Konzeptklassen Wir nehmen an, dass eine Konzeptklasse C bekannt ist. Ein On-line Algorithmus hat das Ziel, ein unbekanntes Konzept c ∈ C mit Hilfe von Hypothesen aus einer Hypothesenklasse H zu bestimmen. Der Algorithmus wird hierzu das folgende Programmschema benutzen: (1) Bestimme eine Hypothese h ∈ H. (2) Solange h 6= c: (a) fordere ein Gegenbeispiel x (mit x ∈ c ⊕ h) an und (b) bestimme eine neue Hypothese h. Man beachte, dass sich ein Zusammenhang zur Expertenauswahl aufdrängt, wenn wir die Hypothesen h ∈ H zu Experten machen! Es wird deshalb nicht überraschen, dass der Weighted Majority Algorithmus wie auch der Winnow Algorithmus im Folgenden eine wichtige Rolle spielen. Wir unterscheiden positive und negative Gegenbeispiele, wobei wir ein Gegenbeispiel x genau dann positiv (bzw. negativ) nennen, wenn x ∈ c \ h (bzw. wenn x ∈ h \ c). Wir möchten das Zielkonzept c nach möglichst wenigen Gegenbeispielen bestimmen, müssen uns aber auf wenig hilfreiche Lehrer einstellen, die unter Umständen Gegenbeispiele mit möglichst geringem Informationsgehalt präsentieren. Damit werden wir auf die folgende Definition des Lernerfolgs geführt. Definition 3.8 Sei A ein On-line Algorithmus, der die Konzeptklasse C mit Hilfe der Hypothesenklasse H erlernt. Wir sagen, dass A nach höchstens m Gegenbeispielen lernt, falls A jedes unbekannte Zielkonzept c ∈ C nach jeder Folge von höchstens m Gegenbeispielen erlernt. A wird nur Hypothesen aus H aufstellen. 82 KAPITEL 3. ON-LINE LERNEN Definition 3.9 Sei C eine Konzeptklasse und sei H eine Hypothesenklasse. Wir setzen GegenbeispielH (C) = m, falls es einen Lernalgorithmus A gibt, der jedes Konzept in C nach höchstens m Gegenbeispielen erlernt und falls jeder Lernalgorithmus für mindestens ein Zielkonzept in C und für mindestens eine Folge von Gegenbeispielen mindestens m Gegenbeispiele anfordern wird. Sämtliche erwähnten Lernalgorithmen mögen mit H als Hypothesenklasse operieren. Lemma 3.10 Sei C = MONOMn . Dann gilt GegenbeispielC (C) ≤ n + 1. Beweis: Der Lernalgorithmus präsentiert zuerst das widersprüchliche Monom x1 ∧ ¬x1 ∧ x2 ∧ ¬x2 ∧ · · · ∧ xn ∧ ¬xn ≡ h als Anfangshypothese. Nach jedem Gegenbeispiel wird der Schüler alle diejenigen Literale entfernen, die dem Gegenbeispiel widersprechen. Wir machen eine Reihe von Beobachtungen. (1) Das erste Gegenbeispiel wird genau n Literale aus h entfernen. (2) Die Hypothese des Schülers ist zu jedem Zeitpunkt das längste mit allen vorigen Gegenbeispielen konsistente Monom: Der Algorithmus entfernt nur diejenigen Literale, die entfernt werden müssen, da sie einem Gegenbeispiel widersprechen. (3) Der Lehrer wird als Konsequenz von (2) nur positive Gegenbeispiele präsentieren. (4) Nach jedem positiven Gegenbeispiel wird mindestens ein Literal entfernt. gemäß den Beobachtungen (1) und (4) genügen höchstens n + 1 Gegenbeispiele. Beobachtung (2) garantiert, dass das Zielkonzept erlernt wird. Schließlich sichert Beobachtung (3), dass unser Lernalgorithmus vollständig definiert ist: nur positive Gegenbeispiele kommen vor. 2 Tatsächlich ist unser Lernalgorithmus fast optimal. Um dies nachzuweisen arbeiten wir wieder mit der VC-Dimension. Wenn die Menge S von der Konzeptklasse C zertrümmert wird, dann könnte ein bösartiger Lehrer seine Gegenbeispiele auf die Menge S beschränken: Wenn bisher nur Gegenbeispiele aus der Teilmenge S ′ ⊆ S präsentiert wurden, dann ist der Status der verbleibenden Beispiele aus der Menge S \ S ′ noch völlig offen. Satz 3.11 Für jede Hypothesenklasse H gilt GegenbeispielH (C) ≥ VC(C). Beweis Sei s = VC(C) und C zertrümmere die Menge S mit |S| = s. Nach Definition der Zertrümmerung ist jede Teilmenge von S ein Konzept (wenn wir uns auf die Beispielmenge S einschränken). Wenn Gegenbeispiele nur aus der Menge S gewählt werden, dann bleibt mit jedem Gegenbeispiel das Schicksal der noch nicht genannten Beispiele aus S offen: jeder Lernalgorithmus muss |S| Gegenbeispiele anfordern. 2 3.2. ONLINE LERNEN VON KONZEPTKLASSEN 83 Korollar 3.12 (a) n ≤ GegenbeispielC (C) ≤ n + 1 für C = MONOMn . (b) GegenbeispielC (C) = n für die Konzeptklasse C aller monotonen Monome über den Literalen x1 , . . . , xn (c) Für beide Konzeptklassen müssen für jede Hypothesenklasse mindestens n Gegenbeispiele angefordert werden. Beweis: (a) Mit Lemma 3.10 und Satz 3.11 genügt der Nachweis von VC(MONOMn ) = n für n ≥ 2. (Für n = 1 ist VC(MONOM1 ) = 2, da die Menge S = {0, 1} zertrümmert wird.) Wir zeigen zuerst die obere Schranke VC(MONOMn ) ≤ n durch Induktion über n. Induktionsanfang für n = 2: Angenommen eine 3-elementige Teilmenge S ⊆ {0, 1}2 kann von MONOM2 zertrümmert werden. Dies ist unmöglich, da S für jedes Paar {00, 11} und {01, 10} offensichtlich nur ein Element besitzen darf. Induktionsannahme: für alle k ≤ n gilt VC(MONOMk ) ≤ k. Angenommen, eine n + 2-elementige Teilmenge S ⊆ {0, 1}n+1 wird von MONOMn+1 zertrümmert. Dann müssen insbesondere die ersten n + 1 Elemente von S vom letzten Element von S trennbar“ sein und deshalb müssen die ersten n + 1 Elemente auf mindestens einem ” Literal übereinstimmen. Dies aber bedeutet, dass eine n + 1-elementige Teilmenge von {0, 1}n durch MONOMn zertrümmert werden kann, nämlich gerade die Menge der ersten n + 1 Elemente von S von denen wir uns ein übereinstimmendes Bit entfernt denken. Dies ist ein Widerspruch zur Induktionsannahme und die obere Schranke folgt. Nun zum Beweis der unteren Schranke VC(MONOMn+1 ) ≥ n + 1. Dies folgt, da die Menge S = {01n , 101n−1 , . . . , 1n 0} sogar durch monotone Monome zertrümmert werden kann! (b) Aus dem Argument von Teil (a) folgt VC(MONOTON-MONOMn ) = n für n ≥ 2 und Gleichheit für n = 1 gilt diesmal auch. Zum Beweis von (b) genügt die Konstruktion eines Algorithmus, der mit n Gegenbeispielen auskommt. Wir wählen den Algorithmus von Lemma 3.10, wobei wir aber diesmal die Anfangshypothese x1 ∧ x2 ∧ · · · ∧ xn 84 KAPITEL 3. ON-LINE LERNEN wählen. Aus dem Beweis von Lemma 3.10 folgt, dass jedes Gegenbeispiel mindestens ein Literal entfernt und damit genügen n Gegenbeispiele. (c) folgt mit Satz 3.11, der ja für jede Hypothesenklasse gilt. 2 Wenn wir auch nicht-effiziente Lernalgorithmen zulassen, können wir recht scharfe Aussagen über die hinreichende Anzahl von Gegenbeispielen machen. Satz 3.13 Sei C eine Konzeptklasse von endlich vielen Konzepten. Dann gibt es eine Hypothesenklasse H mit GegenbeispielH (C) ≤ log2 |C|. Beweis: Wir benutzen den Weighted Majority Algorithmus (WM), der die Konzepte in C als Experten auffast. WM weist zu Anfang jedem Konzept c ∈ C das Gewicht wc = 1 zu. In jedem Schritt wird der Algorithmus die Mehrheitshypothese M präsentieren, wobei X X x∈M ⇔ wc ≥ wc . (3.7) c∈C, x∈c c∈C, x6∈c (Die Hypothesenklasse H besteht also aus allen Hypothesen M , die sich gemäß (3.7) bilden lassen.) Nach einem Gegenbeispiel x0 wird WM jedes Konzept c ∈ C, das x0 falsch klassifiziert, mit dem neuen Gewicht wc = 0 streng bestrafen, das Gewicht richtig klassifizierender Konzepte bleibt unverändert. Wieviel Gegenbeispiele werden benötigt? Jedes Gegenbeispiel eliminiert mindestens die Hälfte aller Konzepte, und log2 |C| Gegenbeispiele sind ausreichend. 2 Der Weighted Majority Algorithmus benötigt die Laufzeit O(|C|·log 2 |C|) und ist damit höchst ineffizient. Wir werden aber gleich ein Beispiel kennenlernen, in dem die Grundidee von WM für einen höchst effizienten Lernalgorithmus benutzt wird. Die Eliminierung von Konzepten ist aber höchst gefährlich, wenn Beispiele fehlerhaft klassifiziert werden. In praktischen Anwendungen sollten falsch klassifizierende Hypothesen deshalb nicht entfernt werden, sondern man sollte stattdessen ihr Gewicht (zum Beispiel) halbieren. Aufgabe 40 Auf einer verstreuten Inselgruppe I := {I1 , . . . In } im Südpazifik leben eine ganze Reihe von Tieren. Eine besondere Laune der Natur bringt es mit sich, dass abgesehen von einigen auf allen Inseln vorkommenden Tieren t1 , . . . , tk auch jede Insel Ix eine nichtleere Menge {ux,1 , . . .} von ganz spezifischen Tieren aufweist, die nur dort vorkommen. Ein dort gestrandeter Theoretiker beschließt, sich die Zeit bis zur Rettung damit zu vertreiben, eine Insel an ihrer Fauna zu erkennen und dazu das Lernmodell des passiven Lernens zu verwenden. Ihm ist dabei bekannt, welche Tiere auf welcher der Inseln vorkommen. Als Konzept der Insel Ix setzt er also Cx := {t1 , . . . , tk } ∪ {ux,1 , ux,2 , . . .}. Glücklicherweise ist eine der niederen dort ansässigen Gottheiten bereit als Lehrer zu fungieren, allerdings verlangt er für jedes Gegenbeispiel die Opferung eines Räucherstäbchens. 1. Wieviele Räucherstäbchen muss der Theoretiker bei sich haben, wenn er als Hypothesenklasse H die Konzeptklasse C (also die Menge der Inseln) verwendet? Dabei ist davon auszugehen, dass die Gottheit möglichst viele Räucherstäbchen geopfert bekommen möchte. 2. Welche Aussage macht die VC-Dimension bei diesem Problem? 3. Kann eine Hypothesenklasse angegeben werden, die die Schärfe dieser Schranke belegt? Aufgabe 41 3.2. ONLINE LERNEN VON KONZEPTKLASSEN 85 Auch die beiden folgenden Aufgaben zeigen, dass die Wahl der Hypothesenklasse wesentlich für einen Lernalgorithmus mit einer niedrigen Anzahl von Gegenbeispielen ist. Wir definieren die Konzeptklassen: SINGLETONn HALF-INTERVALn = {{i} | i ∈ {1, . . . , n}} = {{1, 2, . . . , i} | i ∈ {1, . . . , n}} Bestimme die Lernkomplexität für (1) SINGLETONn mit Hilfe von H = SINGLETONn , (2) SINGLETONn mit Hilfe einer geeigneten Hypothesenklasse, (3) HALF-INTERVALn mit Hilfe von H = HALF-INTERVALn . Kann man HALF-INTERVALn (asymptotisch) schneller als in (3) lernen, wenn beliebige Teilmengen von {1, . . . , n} als Hypothesen gewählt werden können? Aufgabe 42 Wir definieren auf der Menge der diskreten Gitterpunkte {1, . . . , n}2 die Konzeptklasse der achsen-parallelen Rechtecke BOXn = {[1, . . . , a] × [1, . . . , b] | a, b ∈ {1, . . . , n}} . Man kann das Lernen dieser Konzeptklasse in zwei Teilaufgaben für Halbintervalle aufteilen. Bei den Teilaufgaben kommen allerdings falsche negative Gegenbeispiele (also Beispiele, die zu einem der Halbintervalle gehören, aber vom Lehrer als negativ angegeben werden) vor. Sei f die Anzahl der falschen negativen Gegenbeispiele, die während eines Lernprozesses für eine Teilaufgabe vorkommen können. 1. Entwerfe einen Lernalgorithmus für Halbintervalle, der nur eine in log n und f lineare Anzahl von Gegenbeispielen anfordert. 2. Benutze Teil 1 um zu zeigen, dass für das Erlernen der Klasse BOXn O(log n) Gegenbeispiele genügen Aufgabe 43 Eine totale Ordnung R auf n Elementen soll gelernt werden. Dabei schließen wir Gleichheit zwischen Elementen aus, d.h. es gilt stets (x, y) ∈ R ⇐⇒ (y, x) ∈ / R. Eine totale Ordnung repräsentieren wir durch die Menge aller geordneten Paare. Ein Beispiel ist also ein geordnetes Paar zusammen mit der Information, ob dieses Paar zur zu lernenden totalen Ordnung gehört oder nicht. 1. Bestimme die VC Dimension dieser Konzeptklasse. 2. Zeige, dass jeder Lernalgorithmus mindestens Ω(n·log(n)) Gegenbeispiele anfordern wird, wenn vollständige Ordnungen auf n Elementen zu lernen sind. 3.2.1 Online-Algorithmen und PAC-Algorithmen Wir werden jetzt sehen, dass Online-Algorithmen zu PAC-Algorithmen modifiziert werden können. Die Eigenschaft ein Online-Algorithmus zu sein ist also stärker als die eines PAC Algorithmus. Sei A ein Online-Algorithmus. Wir erhalten eine triviale Lösung, wenn A die Klasse C auch als Hypothesenklasse benutzt. In diesem Fall legen wir dem Algorithmus A solange Beispiele aus dem Batch“ S vor, bis eine konsistente Hypothese erstellt wird. Wir erhalten einen ” PAC-Algorithmus, wenn die in Satz 2.8 angegebene Beispielzahl angefordert wird. Dieses Vorgehen ist aber wenig sinnvoll, wenn der Online-Algorithmus, wie zum Beispiel Winnow, eine weitaus größere Hypothesenklasse benutzt: Wir müssen sehr viele Beispiele anfordern, um Lernerfolg hochwahrscheinlich sicherzustellen. Aufgabe 44 Wir sagen, dass ein On-line Algorithmus A konservativ ist, wenn A seine Hypothese nur nach einem Gegenbeispiel wechselt. Zeige: Wenn irgendein On-line Algorithmus die Konzeptklasse C nach höchstens s Gegenbeispielen lernt, dann gibt es einen konservativen On-line Algorithmus, der C ebenfalls nach höchstens s Gegenbeispielen lernt. 86 KAPITEL 3. ON-LINE LERNEN Satz 3.14 Sei A ein Online-Algorithmus für C und A möge stets weniger als G Gegenbeispiele anfordern. Dann kann A zu einem PAC-Algorithmus B umgewandelt werden, wobei B nur 1 1 O( · (G + log( )) ) ε δ Beispiele anfordert. Beweis: Wir nehmen an, dass der On-line Algorithmus A konservativ ist. Wir zeigen zuerst ein weitaus schwächeres Resultat, nämlich dass A für 1 1 s = G · ( log( )) ε δ angeforderte Beispiele in einen PAC-Algorithmus umgewandelt werden kann. Sei S = {x1 , . . . xs } die Menge der Beispiele. Wir beschreiben den PAC-Algorithmus B, der den konservativen Online-Algorithmus A als Unterprogramm benutzt. Zuerst berechnet B mit Hilfe von A die Anfangshypothese h1 und setzt k = 1 sowie ik = 1. Im Schritt k bestimmt B das Gegenbeispiel xj zu hk , so dass j minimal mit der Eigenschaft j ≥ ik ist. B berechnet sodann, wiederum mit Hilfe des Online-Algorithmus A, die Hypothese hk+1 und setzt ik+1 = j sowie k = k + 1. Wir setzen ∆ = 1ε · log 1δ und nennen eine Hypothese hk gut, wenn hk konsistent mit den Klassifizierungen der Beispiele xik +1 , . . . , xik +∆ ist. Was ist die Wahrscheinlichkeit p, dass eine gute Hypothese hk einen Fehler größer als ε besitzt? Wenn hk auf ∆ Beispielen konsistent ist, aber insgesamt einen Fehler größer als ε verursacht, dann passiert dies mit Wahrscheinlichkeit höchstens 1 1 1 1 1 p ≤ (1 − ε)∆ = (1 − ε) ε ·log δ ≤ e−ε· ε ·log δ = e− log δ = δ. (In der zweiten Ungleichung haben wir Lemma 1.3 benutzt.) Der PAC Algorithmus B wartet deshalb auf die erste gute Hypothese h von A und gibt sie aus: h hat mit Wahrscheinlichkeit höchstens δ einen Fehler größer als ε. Gibt es denn überhaupt gute Hypothesen? A wird insgesamt weniger als G Gegenbeispiele benötigen und deshalb auch nur höchstens G Hypothesen aufstellen. Da aber G · (1 + ∆) Beispiele zur Verfügung stehen, ist die Existenz einer guten Hypothese gesichert. Wir haben aber nicht s = G · ( 1ε log( 1δ )) Beispiele, sondern nur G 1 1 + · log( ) ε ε δ Beispiele zur Verfügung. Warum ist diese geringere Anzahl bereits ausreichend? Für eine schlechte Hypothese ist die erwartete Dauer bis zum ersten Gegenbeispiel durch höchstens 1 G ε beschränkt. Also wird man erwarten, dass nach ε Beispielen bereits gute Hypothesen gefunden wurden. Für den Nachweis einer guten Hypothese benötigen wir zusätzliche 1ε · ln( 1δ ) Beispiele und können erwarten, eine gute Hypothese nach insgesamt O( Gε + 1ε ·ln( 1δ )) Beispielen zu finden. 2 s= Bemerkung 3.1 Wir erhalten als Konsequenz von Satz 3.14 zum Beispiel, dass die Konzeptklasse aller Monome mit höchstens k Literalen aus der Menge {x1 , ¬x1 , . . . , xn , ¬xn } mit 1 1 O( · (k · log n + log( )) ) ε δ Beispielen PAC-lernbar ist, denn eine Umwandlung von Winnow (siehe Lemma 3.17) liefert das gewünschte Resultat. 3.2. ONLINE LERNEN VON KONZEPTKLASSEN 3.2.2 87 Der Winnow-Algorithmus und das Lernen von Konzeptklassen Definition 3.15 Eine Funktion f : {0, 1}n → {0, 1} heißt eine Thresholdfunktion, wenn es Gewichte w1 , . . . , wn ∈ R und einen Schwellenwert (bzw. Threshold“) t ∈ R gibt mit ” n X f (x1 , . . . , xn ) = 1 ⇔ wi xi ≥ t i=1 für alle (x1 , . . . , xn ) ∈ {0, 1}n . f heißt eine monotone Thresholdfunktion, wenn alle Gewichte nicht-negativ sind. Die Klasse der Thresholdfunktionen ist recht groß und umfasst zum Beispiel Monome und Disjunktionen: Beispiel 3.2 1. Das Monom x1 ∧ ¬x2 ∧ x3 kann wie folgt ausgedrückt werden: x1 ∧ ¬x2 ∧ x3 ⇔ x1 + (1 − x2 ) + x3 ≥ 2, 5 ⇔ x1 − x2 + x3 ≥ 1, 5. 2. Wir betrachten die Disjunktion x1 ∨ ¬x2 ∨ x3 und erhalten: x1 ∨ ¬x2 ∨ x3 ⇔ x1 + (1 − x2 ) + x3 ≥ 0, 5 ⇔ x1 − x2 + x3 ≥ −0, 5. Wir werden als nächstes unsere Lernalgorithmen für Monome und monotone Monome verbessern. Dies scheint schwer möglich, da unsere Lernalgorithmen fast-optimal in der benötigten Anzahl von Gegenbeispielen sind; allerdings werden bei sehr einfachen Konzepten (Monomen mit k < n Literalen) immer noch viele, nämlich bis zu n − k Gegenbeispiele benötigt. Wir beginnen mit dem Fall monotoner Disjunktionen von k Literalen. Unser neuer Lernalgorithmus ist eine Variante des Winnow Algorithmus. Wir interpretieren die positiven Literale als Spezialisten. Wir fassen ein Votum für eine negative Klassifizierung als eine Enthaltung, ein falsches Votum für eine positive Klassifizierung als eine falsche Entscheidung auf. Wenn ein Gegenbeispiel präsentiert wird, dann gibt die gewichtete Mehrheit der Spezialisten ein falsches Votum ab: Bei einem positiven Gegenbeispiel enthalten sich zu viele Spezialisten und Winnow belohnt alle sich nicht enthaltenden Spezialisten durch eine Gewichtsverdopplung. Bei einem negativen Beispiel haben sich nur wenige Spezialisten enthalten: Winnow gibt deshalb keine Belohnungen aus, bestraft aber alle falsch abstimmenden, also alle sich nicht enthaltenden Spezialisten durch eine Gewichtshalbierung. Wieviele Gegenbeispiele werden benötigt? Für die Analyse benötigen wir ein verändertes Bestrafungsmodell für Expertenmengen E im Satz 3.7. Aufgabe 45 (a) In Definition 3.5 haben wir festgelegt, dass eine Expertenmenge E bestraft wird, wenn sich alle Spezialisten in E enthalten. Zeige, dass Satz 3.7 immer noch gilt, wenn wir nur solche Enthaltungsschritte von E bestrafen, die auch zu einer Enthaltung von Winnow führen. (b) Wir bestrafen Spezialisten in E nur dann für eine falsche Entscheidung, wenn sich Winnow nicht enthält. Zeige, dass Satz 3.7 auch in diesem Bestrafungsmodell gilt. Angenommen, α = xi1 ∨ · · · xik ist das Zielkonzept. Wir wählen E = {i1 , . . . , ik } als Expertenmenge. 88 KAPITEL 3. ON-LINE LERNEN Bei einem positiven Gegenbeispiel wird mindestens ein Experte in E abstimmen und E erhält deshalb für positive Beispiele keine Strafpunkte für Enthaltungen; andererseits wird sich Winnow enthalten, und nach Teil (b) der obigen Aufgabe erhält damit kein Experte in E einen Strafpunkt. Bei einem negativen Gegenbeispiel hingegen enthalten sich nur wenige Spezialisten (aber alle Spezialisten in E). Winnow enthält sich also nicht und E wird deshalb nach Teil (a) der obigen Aufgabe nicht für die (richtige) Enthaltung bestraft. Da alle Spezialisten in E die richtige Entscheidung empfehlen, erfolgt also auch in diesem Fall keine Bestrafung von E. Insgesamt ist E strafpunktfrei. Wir wenden Satz 3.7 an und erhalten, dass Winnow höchstens 5·|E|·⌈log 2 n⌉+4 = 5k ·⌈log 2 n⌉+4 Gegenbeispiele benötigt. Wir erhalten eine noch geringere Anzahl von Gegenbeispielen, wenn wir ausnutzen, dass kein Literal xi , das bei einem negativen Beispiel positiv abgestimmt hat, zum Zielkonzept gehören kann. Algorithmus 3.16 Der Winnow-Algorithmus für das Lernen einer Disjunktion (1) Setze t = n 2 und w1 = · · · = wn = 1. Die Mehrheitsfunktion m(x1 , . . . , xn ) = 1 ⇔ wird als Anfangshypothese verwendet. X xi = X wi xi ≥ t = n 2 (2) Bei einem positiven Gegenbeispiel x (also einem Beispiel x das zum Zielkonzept gehört, P für das aber wi xi < t gilt) führen wir einen Belohungsschritt durch: Verdopple wi genau dann, wenn xi = 1. Bei einem negativenP Gegenbeispiel x (also einem Beispiel x das nicht zum Zielkonzept gehört, für das aber wi xi ≥ t gilt) wird drakonisch bestraft: Setze wi = 0 genau dann, wenn xi = 1. Lemma 3.17 Winnow lernt eine monotone Disjunktion von k Literalen aus {x1 , . . . , xn } nach höchstens 2 + 2k · log2 n Gegenbeispielen. Beweis: Wir führen eine Folge von einfachen Beobachtungen durch. Zuerst beachte, dass ein Bestrafungsschritt nur solche Gewichte wi eliminiert, deren Literale xi nicht im Zielkonzept vorkommen. Beobachtung 3.1 : Sei b+ die Anzahl positiver und sei b− die Anzahl negativer Gegenbeispiele. Dann ist n + b+ · t − b− · t ≥ 0 Beweis: Bei einem positiven Gegenbeispiel wird das Gesamtgewicht der zu 1-Literalen gehörenden Gewichte verdoppelt. Da deren Gesamtgewicht aber t nicht erreicht hat, wird ein positives Gegenbeispiel das Gesamtgewicht um höchstens t erhöhen. Andererseits erniedrigt ein Bestrafungsschritt das Gesamtgewicht um mindestens t. Also ist n + b+ · t − b− · t eine obere Schranke für das Gesamtgewicht, wenn Winnow terminiert. Beachte, dass n das Gesamtgewicht zu Beginn der Rechnung ist. Die Beobachtung folgt, da das Gesamtgewicht stets nicht-negativ ist. 2 3.2. ONLINE LERNEN VON KONZEPTKLASSEN 89 Beobachtung 3.2 Für jedes Gewicht wi gilt stets wi ≤ 2t Beweis: Ein Gewicht wi mit wi ≥ t nimmt nie an einem Belohnungsschritt teil. 2 Beobachtung 3.3 : Nach b+ positiven Gegenbeispielen gibt es ein Gewicht wi mit log2 wi ≥ b+ . k Beweis: Jedes positive Gegenbeispiel verdoppelt das Gewicht von mindestens einem der k Literale des Zielkonzepts. Da die Literale des Zielkonzepts nie bestraft werden, folgt wi ≥ 2b+ /k für mindestens ein Literal xi des Zielkonzepts. 2 Mit Beobachtungen 3.2 und 3.3 gilt b+ ≤ log2 wi ≤ log2 t + 1 k und es gibt somit höchstens k · (log2 t + 1) = k · log2 n positive Gegenbeispiele. Wieviele negative Gegenbeispiele kann es geben? Wir erhalten n + b+ · t − b− · t ≥ 0 mit Beobachtung 3.1 und damit ist b− ≤ n n + b+ ≤ + k · (log2 t + 1). t t Da t = n2 ist, werden deshalb insgesamt höchstens 2 + k · (log 2 ( n2 ) + 1) = 2 + k · log2 n negative Gegenbeispiele benötigt. 2 Aufgabe 46 Wie groß ist die Anzahl der Gegenbeispiele höchstens, wenn wir die Gewichte bei einem negativen Gegenbeispiel halbieren statt sie auf Null zu setzen? Aufgabe 47 Wir haben gezeigt, dass Winnow stets mit O(k · log(n)) Gegenbeispielen auskommt. In dieser Aufgabe untersuchen wir die Exaktheit unserer Analyse. 1. Kann Winnow für jedes k zu Ω(k · log(n)) Gegenbeispielen gezwungen werden? 2. Welche untere Schranke liefert die VC Dimension für den Fall k = 1? 3. Welche untere Schranke liefert die VC Dimension für allgemeines k? Bemerkung 3.2 Wir haben bisher Beispiele nur durch n binäre Attribute beschrieben. In vielen Anwendungen werden Beispiele durch viel-wertige Attribute wie etwa Farbe, Textur oder Größenintervalle beschrieben. Wenn die Anzahl der Werte eines Attributs klein ist, dann können wir für jeden Wert w ein binäres Attribut erfinden“, das genau dann wahr ist, wenn ” das Attribut den Wert w annimmt. Dieser Ansatz ist aber nicht mehr effizient durchführbar, wenn die Anzahl der Werte zu groß ist. Angenommen, wir möchten in einer solchen Situation wiederum alle Beispiele erkennen, die mindestens einen von k unbekannten Attributwerten besitzen. Wir gehen wie folgt vor: Für jedes Gegenbeispiel b erfinden“ wir für jeden bisher nicht aufgetretenen Attributwert w von ” b ein neues binäres Attribut. (Das binäre Attribut nimmt natürlich genau dann den Wert 1 für ein beliebiges Beispiel b′ an, wenn b′ den Attributwert w besitzt.) Auf diese Art und Weise modellieren wir nur eine kleine Teilmenge aller möglicherweise unendlich vielen Attributwerte. 90 KAPITEL 3. ON-LINE LERNEN Wir erhalten weitere direkte Konsequenzen von Satz 3.17. Satz 3.18 Bei Eingabelänge n können (a) allgemeine Disjunktionen und Monome mit k Literalen nach höchstens O(k · log2 n) Gegenbeispielen gelernt werden, (b) Formeln in disjunktiver Normalform mit höchstens k Literalen pro Monom (also die Konzeptklasse k-DNFn ) nach höchstens O(s · k · log2 n) Gegenbeispielen gelernt werden. Die Zielformel lasse sich dabei als Disjunktion von s Monomen schreiben. Allerdings benötigt jeder Schritt von Winnow die Laufzeit nO(k) . Beweis (a): Durch das Hinzufügen der n neuen Literale x′1 , . . . , x′n (mit x′i = ¬xi ) können wir auch nicht-monotone Disjunktionen als monotone Disjunktionen auffassen: Der WinnowAlgorithmus lernt somit auch beliebige Disjunktionen. Die Behauptung folgt, da das Lernen von Monomen äquivalent zum Lernen ihrer Komplemente, nämlich der Disjunktionen ist. (b) folgt, wenn wir statt der Eingabe x = (x1 , . . . , xn ) das Ergebnis von x auf allen möglichen Monomen mit k Literalen benutzen. Wenn das Zielkonzept eine Disjunktion von s Monomen ist, benötigt Winnow somit höchstens O(s · log2 ((2n)k )) = O(s · k · log2 n) Gegenbeispiele. 2 Wir können damit also auch komplexe boolesche Formeln mit relativ wenigen Gegenbeispielen lernen, allerdings steigt die Laufzeit von Winnow sehr stark auf nO(k) für k-DNFn an. Wir zeigen jetzt, dass Winnow das r aus k“ Problem effizient lernen kann: Wir fordern diesmal, ” dass mindestens r von k unbekannten relevanten Variablen wahr sind. Algorithmus 3.19 Der Winnow-Algorithmus für das Lernen der r aus k“ Funktion ” (1) Der Parameter r sei bekannt, k ist unbekannt. Setze t = n, w1 = · · · = wn = 1 und 1 ε = 2r . Die Mehrheitsfunktion X X m(x1 , . . . , xn ) = 1 ⇔ xi = wi xi ≥ t = n wird als Anfangshypothese verwendet. (2) Bei einem positiven Gegenbeispiel x (also einem Beispiel x das zum Zielkonzept gehört, P für das aber wi xi < t gilt) führen wir einen Belohungsschritt durch: Ersetze wi durch wi = (1 + ε) · wi genau dann, wenn xi = 1. Bei einem negativen Gegenbeispiel x (also einem Beispiel x das nicht zum Zielkonzept P gehört, für das aber wi xi ≥ t gilt) ersetze wi durch wi = wi /(1 + ε) genau dann, wenn xi = 1. Wieviele Gegenbeispiele werden benötigt? Bei einem positiven Gegenbeispiel wird das Gesamtgewicht um höchstens ε · t anwachsen, bei einem negativen Gegenbeispiel hingegen fällt das Gesamtgewicht G um mindestens t− t ε =t· . 1+ε 1+ε 91 3.3. DER PERZEPTRON-ALGORITHMUS Sei b+ die Anzahl positiver und b− die Anzahl negativer Gegenbeispiele. Da das Gesamtgewicht immer nicht-negativ ist, folgt also n + b+ · ε · t − b− · t · ε ≥ 0, 1+ε beziehungsweise b+ ≥ b− · 1 − 2r. 1+ε (3.8) Weiterhin, bei einem positiven Gegenbeispiel werden die Gewichte von mindestens r relevanten Variablen erhöht, bei einem negativen Gegenbeispiel hingegen werden höchstens r − 1 Gewichte relevanter Variablen erniedrigt. Aber keine Variable, und damit auch keine relevante Variable kann an einem Belohnungsschritt teilnehmen, wenn ihr Wert größer als t ist: Für keine Variable ist also die Anzahl ihrer Belohnungsschritte um mehr als log1+ε t größer als die Anzahl ihrer Bestrafungsschritte. Als Konsequenz folgt r · b+ − (r − 1) · b− ≤ k · log1+ε t (3.9) Aufgabe 48 Zeige b+ , b− = O(k · log1+ε (t)) mit Hilfe der beiden Ungleichungen (3.8) und (3.9). Wenn wir log1+ε t = (log1+ε 2)·log 2 n = Θ(r·log2 n) beachten, haben wir das folgende Ergebnis erhalten. Satz 3.20 Für das r aus k“ Problem bei n Variablen benötigt Winnow höchstens O(r · k · ” log2 n) Gegenbeispiele. Wir können unsere Lösung für das r aus k“ Problem auch auf Thresholdfunktionen verall” gemeinern. Aufgabe 49 Der Parameter r sei bekannt.PZeige, dass Thresholdfunktionen (w, r) mit nicht-negativen ganzzahligen Gewichten und Gewichtssumme n i=1 wi ≤ W nach höchstens O(r · W · log(nW )) Gegenbeispielen erlernt werden können. Hinweis: Führe das Thresholdproblem auf das r aus W“ Problem zurück. ” 3.3 Der Perzeptron-Algorithmus Wir beschreiben den Perzeptron-Algorithmus zum Lernen einer Thresholdfunktion Pn 1 i=1 wi xi + t ≥ 0 f (x1 , . . . , xn ) = −1 sonst. Im Unterschied zum letzten Abschnitt ist die Ausgabe also entweder -1 (statt 0) oder 1. Wenn f (x) = −1, dann nennen wir x ein negatives Beispiel und ansonsten ein positives Beispiel. Wir benutzen die Vektor-Notation x = (x1 , . . . , xn ) für Beispiele und w = (w1 , . . . , wn ) für Gewichte und erhalten demgemäß f (x) = 1 ⇔ hw, xi + t ≥ 0. Insbesondere spezifizieren wir im Folgenden f durch das Paar (w, t). 92 KAPITEL 3. ON-LINE LERNEN Aufgabe 50 Welche Boolesche Funktionen in zwei Variablen sind keine Thresholdfunktionen? Aufgabe 51 Sei eine endliche Menge S ⊆ Rn von Beispielen gegeben. Eine unbekannte Thresholdfunktion f klassifiziere die Beispiele in S. Bestimme eine Thresholdfunktion g, die alle Beispiele in S korrekt klassifiziert, mit einem effizienten Algorithmus. Hinweis: Benutze die lineare Programmierung, um g effizient bestimmen zu können. Algorithmus 3.21 Perzeptron-Algorithmus Der Algorithmus nimmt an, dass die Klassifizierung f (x) für Beispiele x aus einer endlichen Menge S mit -1 oder 1 zu erlernen ist; die Funktion f sei eine unbekannte Thresholdfunktion. Damit trennt die –unbekannte– Hyperebene hw, xi + t = 0 die negativen Beispiele in S von den positiven Beispielen. Es wird weiterhin angenommen, dass alle Beispiele in S die Norm höchstens R besitzen. (1) Setze i = 0. Weiterhin initialisiere w(0) = (0, 0, . . . , 0) sowie t = 0, d.h. wir akzeptieren zu Anfang alle Eingaben. (2) WHILE (noch nicht gelernt) DO (2a) Fordere ein Gegenbeispiel x(i) = (x1 , . . . , xn ) mit korrekter Klassifizierung b an. /*Es ist b = 1 (bzw. b = −1), wenn x(i) zu akzeptieren (bzw. zu verwerfen) ist. */ (2b) Setze w(i+1) = w(i) + b · x(i) und t(i+1) = t(i) + b · R2 . /*Bei einem positiven (bzw. negativen) Gegenbeispiel werden die Gewichte und der Schwellenwert t erhöht (bzw. erniedrigt). */ (2c) i = i + 1. (3) Der Gewichtsvektor w(i) und der Schwellenwert t(i) werden ausgegeben. Bemerkung 3.3 Der Perzeptron-Algorithmus ändert seine Gewichte additiv und wird deshalb auch als additives Lernverfahren bezeichnet. Man beachte, dass Winnow im Gegensatz dazu ein multiplikatives Lernverfahren ist. Der Perzeptron-Algorithmus gibt offenbar, wenn er terminiert, eine korrekte Lösung aus. Wir müssen noch klären, ob der Algorithmus überhaupt stoppt und wenn ja, nach wievielen Gegenbeispielen. Für die Analyse des Perzeptron Algorithmus benötigen wir die folgenden Eigenschaften aus der linearen Algebra. Aufgabe 52 (a) Die Vektoren x, y ∈ Rn mögen die Länge Eins haben. Zeige, dass der Kosinus zwischen x und y mit dem inneren Produkt hx, yi übereinstimmt. (b) Folgere die Ungleichung hu, vi ≤ ||u|| · ||v|| für beliebige Vektoren x, y ∈ Rn . (c) Zeige, dass der Abstand eines Vektors x ∈ Rn von der Hyperebene hw, yi + t = 0 mit dem Absolutbetrag von hw,xi+t übereinstimmt. ||w|| Mit der folgenden Definition messen wir die Komplexität“ einer zu lernenden Threshold” funktion nach Einschränkung auf eine Menge S von potentiellen Gegenbeispielen. 93 3.3. DER PERZEPTRON-ALGORITHMUS Definition 3.22 (a) Der Margin eines mit b klassifizierten Beispiels x ∈ Rn bezüglich der Thresholdfunktion (w, t) wird durch Margin(x, b, w, t) = b · (hw, xi + t ) definiert. /* Margin(x, b, w, t) ist genau dann negativ, wenn die Thresholdfunktion (w, t) das Beispiel falsch klassifiziert. Der Absolutbetrag des Bruchs Margin(x, b, w, t) ||w|| misst den Abstand des Beispiels x von der Hyperebene (w, x) + t = 0. (b) Der Margin der Beispielmenge S für eine Klassifikation f : S → {−1, 1} wird durch Margin(S, f ) = sup inf { w,t x∈S */ Margin(x, f (x), w, t) | Margin(x, f (x), w, t) ≥ 0 für alle x ∈ S} ||w|| definiert. /* Margin(S, f ) ist der größtmögliche minimale Abstand eines Beispiels aus S zu einer Hyperebene, die die positiven von den negativen Beispielen trennt. */ Beispiel 3.3 Wir betrachten die Und-Funktion f (x) = 1 ⇔ x1 ∧ · · · ∧ xn ist wahr. Offenbar besitzt die Funktion eine Implementierung mit Gewichtsvektor w = (1, . . . , 1) und t = −n + 12 , denn n X 1 xi ≥ n − . f (x) = 1 ⇔ 2 i=1 Für S = {0, 1}n und alle x ∈ S folgt 1 Margin(x, UND(x), w, t) ≥ , 2 und wir erhalten Margin(S, UND) ≥ 1 1 √ . = 2 · ||w|| 2· n Die Und-Funktion hat also einen Margin von mindestens Ω( √1n ). Aufgabe 53 Wir setzen S = {0, 1}n . Zeige Margin(S, UND) = Θ( √1n ) für die Boole’sche UND-Funktion. Satz 3.23 Die Beispielmenge S und die Klassifikation f seien gegeben. Wenn nur Gegenbeispiele aus der Menge S gewählt werden, dann lernt der Perzeptron-Algorithmus erfolgreich nach höchstens 2·R )2 ( Margin(S, f ) Gegenbeispielen. Hierbei wird angenommen, dass alle Gegenbeispiele die Norm höchstens R besitzen. 94 KAPITEL 3. ON-LINE LERNEN Wie sollte man die Lernleistung des Perzeptron-Algorithmus beurteilen? Zuerst ist positiv zu bemerken, dass mit den Thresholdfunktionen eine mächtige Konzeptklasse erfolgreich gelernt wird. Die Lerngeschwindigkeit lässt allerdings Wünsche offen: Für die Und-Funktion √ werden bis zu O(n2 ) Gegenbeispiele benötigt, da die Norm von Null-Einsvektoren durch n √ beschränkt ist und da Margin(S, UND) = Θ(1/ n). Also genügen auch O(n2 ) Gegenbeispiele zum Lernen eines unbekannten Monoms. Wir erinnern uns daran, dass maßgeschneiderte Algorithmen für Monome mit linear vielen Gegenbeispielen auskommen. Die nächste Aufgabe zeigt, dass für Thresholdfunktionen mit kleinen ganzzahligen Gewichten nur relativ wenige Gegenbeispiele benötigt werden. Aufgabe 54 Es sei S = {0, 1}n . Zeige, dass der Perzeptron-Algorithmus höchstens O(n2 · W ) Gegenbeispiele benötigt, falls die zu lernende Thresholdfunktion eine Implementierung mit n ganzzahligen Gewichten w1 , . . . , wn und einem ganzzahligem Schwellenwert t besitzt, wobei |wi | ≤ W für jedes Gewicht und ebenso |t| ≤ W gilt. Allerdings gibt es Thresholdfunktionen, die exponentiell viele Gegenbeispiele verlangen. Aufgabe 55 Betrachte die Funktion COMPn zum Vergleich von Binärzahlen, also Pn P i−1 i−1 1 falls ≥ n , i=1 xi 2 i=1 yi 2 COMPn (x, y) = 0 sonst. 1. Es gibt viele Implementierungen von COMPn als Thresholdgatter mit ganzzahligen Gewichten. Gib eine für jede Implementierung gültige (möglichst gute) untere Schranke für den Absolutbetrag des größten Gewichts an. 2. Gib eine Threshold-Funktion f : {0, 1}n → {0, 1} an, für die der Perzeptron-Algorithmus mehr als poly(n) viele Gegenbeispiele benötigt. Beweis zu Satz 3.23. Wir heben zuerst die Sonderbehandlung des Schwellenwerts t(i) auf und ergänzen dazu den Gewichtsvektor wie auch die Beispiele um eine zusätzliche Komponente: Für den Gewichtsvektor w und das Beispiel x setzen wir t ŵ = (w, ) und x̂ = (x, R). R Beobachtung 3.4 In der neuen Notation gilt ŵ(i) = ŵ(i−1) + bi−1 · x̂ sowie bi−1 · hŵ(i−1) , x̂(i−1) i < 0. Beweis: Im iten Schritt wird die Aktualisierung w(i) = w(i−1) + bi−1 · x(i−1) und t(i) = t(i−1) + bi−1 · R2 durchgeführt, wobei x(i−1) ein Gegenbeispiel ist, d.h. es ist bi−1 · ( hw(i−1) , x(i−1) i + t(i−1) ) < 0. Damit erhalten wir als Aktualisierung in der neuen Notation t(i) t(i−1) ) = (w(i−1) , ) + bi−1 · (x(i−1) , R) = ŵ(i−1) + bi−1 · x̂(i−1) , R R wobei die Eigenschaft des Gegenbeispiels auf ŵ(i) = (w(i) , t(i−1) · R) R = bi−1 · ( hw(i−1) , x(i−1) i + t(i−1) ) < 0 bi−1 · hŵ(i−1) , x̂(i−1) i = bi−1 · ( hw(i−1) , x(i−1) i + führt. 2 95 3.3. DER PERZEPTRON-ALGORITHMUS Beobachtung 3.5 Es gelte Margin(x, f (x), w, t) ≥ γ ≥ 0 für einen Gewichtsvektor w mit ||w|| = 1 und alle Beispiele x. Dann gilt hŵ(i) , ŵi ≥ (i + 1) · γ. Wenn γ ≥ 0, dann trennt die Thresholdfunktion (w, t) die positiven von den negativen Beispielen. Wir beobachten zuerst, dass Beobachtung 3.5 erfolgreiches Lernen impliziert, solange die Länge der Vektoren ŵ(i) nicht zu stark zunimmt. Dazu beachte, dass der Kosinus des (i) Winkels zwischen ŵ(i) und ŵ, also der Wert h ||ŵ , ŵ i gegen Eins strebt. Wenn also die ŵ (i) || ||ŵ|| Länge der Vektoren ŵ(i) nicht zu stark zunimmt, dann nähert sich damit der Gewichtsvektor ŵ(i) dem Gewichtsvektor ŵ, und wir haben tatsächlich erfolgreich gelernt. Beweis: Wir führen einen induktiven Beweis über i. Die Behauptung folgt direkt aus hŵ(i) , ŵi = hŵ(i−1) + bi−1 · x̂(i−1) , ŵi = hŵ(i−1) , ŵi + bi−1 · hx̂(i−1) , ŵi ≥ hŵ(i−1) , ŵi + bi−1 · γ, denn wegen ||w|| = 1 folgt γ ≤ bi−1 · (hx(i−1) , wi + R · t ) R = bi−1 · hx̂(i−1) , ŵi und das war zu zeigen. 2 Wie stark wachsen die Längen der Vektoren ŵ(i) an? Beobachtung 3.6 Es ist stets ||ŵ(i) ||2 ≤ 2 · (i + 1) · R2 . Beweis: Auch hier führen wir einen induktiven Beweis über i und erhalten ||ŵ(i) ||2 = ||ŵ(i−1) ||2 + 2 · bi−1 · hŵ(i−1) , x̂(i−1) i + b2i−1 · ||x̂(i−1) ||2 ≤ ||ŵ(i−1) ||2 + b2i−1 · ||x̂(i−1) ||2 = ||ŵ(i−1) ||2 + ( ||x(i−1) ||2 + R2 ) ≤ ||ŵ(i−1) ||2 + 2R2 denn bi−1 · hŵ(i−1) , x̂(i−1) i < 0, denn b2i−1 = 1 und x̂(i−1) = (x(i−1) , R), denn ||x(i−1) ||2 ≤ R nach Annahme und die Behauptung folgt. 2 Die Behauptungen 3.5 und 3.6 ergeben also die Bedingung p (i + 1) · γ ≤ hŵ(i) , ŵi ≤ ||ŵ(i) || · ||ŵ|| ≤ 2(i + 1) · R · ||ŵ||, wenn wir die Ungleichung ha, bi ≤ ||a| · ||b|| von Cauchy-Schwartz benutzen. Damit folgt die Behauptung des Satzes, denn als Konsequenz erhalten wir R 2R i + 1 ≤ 2 · ( )2 · ||ŵ||2 ≤ ( )2 , γ γ 96 KAPITEL 3. ON-LINE LERNEN da ||w|| = 1 und ||ŵ||2 = ||w||2 + ( Rt )2 ≤ ||w||2 + 1 = 2. (Warum ist |t| ≤ R?) 2 Die Berechnungskraft von Thresholdfunktionen ist zwar beträchtlich und umfasst die Negation, Konjunktionen und Disjunktionen, jedoch lassen sich einfache Boolesche Funktionen, wie zum Beispiel das XOR zweier Boolescher Variablen, nicht ausdrücken. Die nach dem Entwurf des Perzeptron Algorithmus durch Rosenblatt [R58] aufkommende Euphorie wurde durch den einflussreichen Text [MP88] stark gebremst und erst in den 80er Jahren wurde mit neuronalen Netzwerken und dem Backpropagation Lernalgorithmus (siehe Kapitel 6.4) an mächtigeren Architekturen und ihren Lernalgorithmen gearbeitet. Betrachten wir aber eine nur etwas kompliziertere Architektur. Gegeben ist ein Schaltkreis bestehend aus zwei Threshold-Gattern, deren Ausgabe in ein Und-Gatter führt. 6 T o 7 T i 6] s s x1 x2 T ··· 1 * 6 s xn Ein Schaltkreis mit drei Gattern Der Lerner hat die unbekannten Gewichte und Schwellenwerte herauszufinden. Wenn P 6= N P ist, kann das Konsistenz-Problem4 nicht effizient gelöst werden, eine exakte Rekonstruktion in Polynomialzeit ist also nicht möglich. Dieses repräsentationsabhängige, negative Ergebnis findet der interessierte Leser in der Originalarbeit [BR88] von A. Blum und R. Rivest oder im Buch [N91] von B. K. Natarajan. Das sehr komplexe Lernproblem für neuronale Netzwerke erwies sich als ein großes Hemniss und die Arbeiten von Vapnik an Support-Vektor Maschinen (siehe Kapitel 4) in den 90er Jahren zeigen eine Alternative auf. Vapnik setzt weiterhin Perzeptron-artige“ Algorithmen ” ein, jedoch wendet er diese nicht auf die ursprünglichen (und möglicherweise nicht linear trennbaren) Beispiele an, sondern transformiert die Beispiele in ihre Feature-Vektoren“ und ” versucht die Feature-Vektoren sodann zumindest approximativ linear zu trennen. In vielen Fällen wird die Dimension des Feature-Raums“ allerdings größer sein als die Beispielzahl und ” die Gefahr des Overfittings (oder des Auswendig-Lernens der Beispiele) droht. Wir zeigen aber im Kapitel 4, dass diese Gefahr in vielen praktisch interessanten Fällen gebannt werden kann, wenn die Feature-Vektoren sorgfältig gewählt werden, also problem-relevante Information tragen. Fazit: Support-Vektor Maschinen wie auch neuronale Netzwerke sind Weiterentwicklungen des Perzeptron-Ansatzes. Gerade Support-Vektor Machinen haben sich als eine sehr erfolgreiche Lernmethode herausgestellt. 4 Im Konsistenzproblem wird gefragt, ob eine vorgegebene klassifizierte Beispielmenge auch durch ein UND von zwei Thresholdfunktionen klassifiziert werden kann. Kapitel 4 Support-Vektor Maschinen Angenommen, wir müssen eine unbekannte Klassifizierung f : X → {0, 1} von Objekten einer Menge X erlernen. Wir nehmen an, dass eine Feature-Funktion φ : X → RN gegeben ist, die jedem Beispiel x ∈ X den Feature-Vektor φ(x) = (φ1 (x), . . . , φN (x)) zuordnet. Wir bezeichnen φ(X) = {φ(x) | x ∈ X} auch als Feature-Raum. Beispiel 4.1 Features für die Klassifizierung von Textdokumenten. Im Filtern von Email, in der Suche im Web wie auch in der Büroautomatisierung ist die Textklassifizierung eine wesentliche Aufgabe. Ein wichtiger Ansatz benutzt das bag-of-words“ ” Modell, es wird also eine Datenbank von Stammsilben1 eingerichtet. Für eine Stammsilbe s und ein Dokument d definiert man das Gewicht einer Stammsilbe für ein Dokument x durch φs (x) = |D| hs (x) · log2 ( |D(s)| ) κ(x) , wobei - hs (x) die Häufigkeit der Stammsilbe s im Dokument x ist, - D ist die Menge aller Dokumente und D(s) die Anzahl der Dokumente mit mindestens einem Auftreten der Stammsilbe s ist und P - κ(x) eine Normalisierungskonstante ist, die s φ2s (x) = 1 gewährleistet. φs (x) gibt also die Häufigkeit der Stammsilbe s im Dokument x wieder, wobei die Häufigkeit |D| mit dem Informationsgehalt log2 ( |D(s)| ) der Stammsilbe gewichtet wird. Die Feature-Funktion φ(x) = ( φs (x) | s ist eine Stammsilbe ) wird mit Erfolg verwandt. Die Klassifizierungsaufgabe kann natürlich durch die Wahl der Feature-Funktion wesentlich vereinfacht werden, wie das folgende Beispiel zeigt. 1 Sinntragende Silbe eines Wortes ohne Vor- und Nachsilben und ohne Flexionsendungen. Z.B. ist ken“ ” eine Stammsilbe für kennen, Kenner, Kenntnis, erkenntlich. 97 98 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Beispiel 4.2 Wir betrachten ein Regressionsproblem. Angenommen, wir erhalten eine Folge von Punkten x ∈ X ⊆ R3 , von denen wir wissen, dass sie Nullstellen eines unbekannten Polynoms vom Grad höchstens zwei sind. In diesem Fall liegt die Feature-Funktion φ(x1 , x2 , x3 ) = (x21 , x22 , x23 , x1 · x2 , x1 · x3 , x2 · x3 , x1 , x2 , x3 , 1) nahe. Wir suchen also nach Koeffizienten ci , so dass c1 · x21 + c2 · x22 + c3 · x23 + c4 · x1 · x2 + c5 · x1 · x3 + c6 · x2 · x3 + c7 · x1 + c8 · x2 + c9 · x3 + c0 = 0 für alle x ∈ X. Das unbekannte Polynom ist also im Feature-Raum zu einer linearen Funktion geworden, die als Lösung eines linearen Gleichungssystems bestimmt werden kann. Im Ansatz der Support-Vektor Maschinen wird nach einer im Allgemeinen nicht-linearen Feature-Funktion φ = (φ1 , . . . , φN ) gesucht, für die positive und negative Beispiele (zumindest fast) linear im Feature-Raum getrennt werden können. Wir suchen also nach einer Hypothese f (x) = hc, φ(x)i + b, so dass die meisten positiven (bzw. negativen) Beispiele x+ (bzw. x− ) die Bedingung f (x+ ) > 0 bzw. f (x− ) < 0 (4.1) erfüllen. Wenn wir f mit einer linearen Lernmaschine“ wie dem Perzeptron-Algorithmus ” erlernen, dann erhalten wir den Gewichtsvektor durch Addition der positiven Gegenbeispiele, bzw. durch Subtraktion der negativen Gegenbeispiele. Wir erhalten dann eine Darstellung c= s X j=1 αj · φ(xj ) des Koeffizientenvektors von f als gewichtete Summe von Feature-Vektoren für s Trainingspunkte x1 , . . . , xs und damit ist f (x) = s X j=1 αj · hφ(xj ), φ(x)i + b. Wenn wir die inneren Produkte hφ(xi ), φ(x)i effizient im ursprünglichen Raum X berechnen können, dann lassen sich die beiden Schritte x → φ(x) → hφ(x1 ), φ(x)i, . . . , hφ(xs ), φ(x)i einer nichtlinearen Lernmaschine zu einem Schritt zusammenziehen, und wir können damit potentiell sogar mit unendlich vielen Features arbeiten. Das Zusammenziehen der beiden Schritte wird als Kernel-Trick bezeichnet und führt auf den zentralen Begriff des Kerns2 . Definition 4.1 (a) Ein Vektorraum V besitzt ein inneres Produkt h−, −i : V 2 → R, 2 Übersetzung des Begriffs Kernel“. ” 99 (1) falls h−, −i bilinear ist, falls also stets hα · x + β · y, ui = α · hx, ui + β · hy, ui und hx, γ · u + δ · vi = γ · hx, ui + δ · hx, vi für alle α, β, δ, γ ∈ R gilt, (2) falls stets hx, ui = hu, xi gilt und falls (3) hx, xi ≥ 0 und hx, xi = 0 genau dann, wenn x = 0. (b) Ein Kern für eine Menge X ist eine Funktion K : X 2 → R, wobei K(x, z) = hφ(x), φ(z)i für eine Funktion φ : X → RN und für ein inneres Produkt h−, −i. Wenn K(x, z) = hφ(x), φ(z)i gilt, dann folgt f (x) = X i αi · K(xi , x) + b. Einer linearen Trennung der positiven von den negativen Beispielen im Feature-Raum entspricht also eine möglicherweise komplexe Hyperfläche X αi · K(xi , x) + b = 0} {x | i im Beispielraum. Wir untersuchen Kerne im Abschnitt 4.2 und werden dort sehen, dass eine große Klasse von Kernen wie polynomielle Kerne oder der Gauß-Kern zur Verfügung stehen. Dort besprechen wir auch einige charakteristische Anwendungen. Intuitiv gesprochen sollten Kerne eine problem-relevante“ Ähnlichkeit von Beispielen herausstellen: Der Ausdruck ” α(x, z) = K(x,x)K(x,z) 1/2 ·K(z,z)1/2 ist ein Ähnlichkeitsmaß, denn K(x, z) hφ(x), φ(z)i = 1/2 1/2 K(x, x) · K(z, z) hφ(x), φ(x)i1/2 · hφ(z), φ(z)i1/2 φ(x) φ(z) = h , i ||φ(x)|| ||φ(z)|| α(x, z) = und −1 ≤ α(x, y) ≤ 1 folgt. Insbesondere sind die Vektoren φ(x) und φ(z) (und damit die Beispiele x und z) ähnlich“, wenn α(x, z) nahe bei Eins liegt. Die Wahl der Feature Vektoren ” und des Kerns sollte garantieren, dass positive und negative Beispiele jeweils untereinander ähnlich sind, um eine lineare Trennung zu erlauben. Allerdings führt eine große Zahl von Features automatisch auf die Gefahr des Overfittings, also des Auswendig-Lernens“ der Trainingsmenge. Zum Beispiel verheißen unsere Ergebnisse ” über die VC-Dimension des Hypothesenraums nichts Gutes: Je größer die VC-Dimension, umso größer die Fehlerrate bei worst-case Verteilungen. Wir haben also nur bei solchen Lernszenarien Aussicht auf Erfolg, bei denen eine gutartige Verteilung vorliegt, und wir können insbesondere nicht mehr auf ein erfolgreiches verteilungsunabhängiges Lernen hoffen. Aber selbst bei gutartigen Verteilungen liegt die Gefahr 100 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN des Overfitting vor, und wir müssen nach Hypothesen mit bestimmten ausgezeichneten Eigenschaften suchen. Hier hoffen wir darauf, trennende Hyperebenen mit großem Margin zu bestimmen. Wir errinnern an die Definition des Margin’s in der Analyse des Perzeptron Algorithmus. Wir haben dort angenommen, dass ein Beispiel entweder mit 1 oder -1 zu klassifizieren ist. Für eine Thresholdfunktion mit Gewichtsvektor w und Schwellenwert t haben wir den Margin eines mit b ∈ {−1, 1} klassifizierten Beispiels x durch Margin(x, b, w, t) = b · (hw, xi + t ) = b · h(x) definiert. Margin(x, b, w, t) war genau dann negativ, wenn die Thresholdfunktion (w, t) das stimmte überein Beispiel x falsch klassifiziert. Der Absolutbetrag des Bruchs Margin(x,b,w,t) ||w|| mit dem Abstand des Beispiels x von der Hyperebene (w, x) + t = 0. Für eine Funktion f : S → {−1, 1} hatten wir dann Margin(S, f ) = sup inf { w,t x∈S Margin(x, f (x), w, t) | Margin(x, f (x), w, t) ≥ 0 für alle x ∈ S } ||w|| als den Margin der Beispielmenge S und der Klassifikation f definiert: Margin(S, f ) war der größtmögliche kleinste Abstand eines Beispiels von einer trennenden Hyperebene. In Satz 3.23 haben wir dann festgestellt, dass der Perzeptron Algorithmus nach höchstens O(( 2R )2 ) Margin(S, f ) Gegenbeispielen erfolgreich gelernt hat. (R war eine obere Schranke für die Länge der Gegenbeispiele.) Der Perzeptron Algorithmus hat also davon profitiert, wenn positive und negative Beispiele mit großem Margin trennbar waren. Wir wählen deshalb problem-spezifische Feature-Vektoren in Kombination mit sorgfältig ausgewählten Kernen, um hoffentlich einen großen Margin, in Verbindung mit einer kleinen Norm R zu erhalten. Tritt diese Hoffnung ein, wird dies dann einen kleinen Verallgemeinerungsfehler hochwahrscheinlich sichern, selbst wenn der Feature-Raum hochdimensional ist. Wir bestimmen in Abschnitt 4.3 die für ein erfolgreiches Lernen notwendige Beispielzahl. Dazu gehen wir (fast) wie im Beweis der oberen Schranke für die Beispielzahl mit Hilfe der VC-Dimension (Satz 2.24) vor. In einem ersten Schritt verallgemeinern wir die VC-Dimension VC(C) zur Fat-Shattering Dimension“ der Konzeptklasse C: Die Fat-Shattering Dimension ” stimmt mit der Größe der größten Beispielmenge überein, die von C mit großem Margin zertrümmert werden kann. Die notwendige Beispielzahl wird dann von der Fat-Shattering Dimension aller linearen Funktionen hw, yi+t bestimmt. Insbesondere wird sich herausstellen, dass im Wesentlichen 1 R2 1 O( · ( 2 ) + log ) ε γ δ Beispiele ausreichen, um einen Fehler von ε mit Wahrscheinlichkeit mindestens 1 − δ zu erreichen, wenn eine Hyperebene mit Margin γ gefunden wurde. (Wie im Fall des Perzeptron Algorithmus ist R die maximale Norm eines Beispiels.) Die Beispielzahl ist damit mit der Beispielzahl des Perzeptron Algorithmus vergleichbar. Ein großer Margin sichert somit 101 tatsächlich hochwahrscheinlich einen Lernerfolg bei relativ wenigen Beispielen, selbst wenn diese Beispiele aus einem hoch-dimensionalen Featureraum gezogen werden. Warum müssen wir mit der Fat-Shattering Dimension eine neue Argumentation wählen? Die Hypothesenklasse ist jetzt abhängig von der jeweiligen Beispielmenge S, da wir einen großen Margin für S verlangen. Bisher haben wir nur den Hard Margin“ Fall angesprochen, in dem positive Beispiele von ne” gativen Beispielen linear trennbar sind. Im Soft Margin“ Fall wird erlaubt, dass die Hypothese ” inkonsistent mit einigen (wenigen) Trainingsbeispielen ist. Dieser Ansatz ist zum Beispiel im Fall verrauschter Daten oder im Fall von Outliern“ wesentlich realistischer. Auch hier gelingt ” im Abschnitt 4.3 eine zum Hard Margin Ansatz vergleichbare theoretische Untermauerung. Wir können also selbst mit unendlichen vielen Features erfolgreich lernen, falls ein entsprechend großer Margin gelingt. Wie lassen sich aber Hyperebenen mit maximalem Margin bestimmen? Wir denken uns eine trennende Hyperebene durch einen Koeffizientenvektor w der Euklid’schen Norm 1 gegeben. Wenn der Margin γ für eine klassifizierte Trainingsmenge S = {(φ(x1 ), b1 ), . . . , (φ(xs ), bs )} = {(y1 , b1 ), . . . , (ys , bs )} mit der linearen Funktion hw, yi + t erreichbar ist, dann ist stets bi ·( hw, yi i+ t ) ≥ γ erfüllt. Um eine Hyperebene mit maximalem Margin zu bestimmen, genügt also die Lösung des folgenden mathematischen Programmierproblems: maximierew,t γ so dass ||w|| = 1 und für jedes i (1 ≤ i ≤ s): bi · ( hw, yi i + t ) ≥ γ. Die Nebenbedingung ||w|| = 1 lässt sich schadlos konvexifizieren“, wenn wir sie durch ” ||w|| ≤ 1 ersetzen. Nichtsdestotrotz haben wir uns eine recht komplexe Nebenbedingung eingehandelt; glücklicherweise ermöglicht aber eine andere Sichtweise ausschließlich lineare Nebenbedingungen: Statt nämlich den Margin γ unter der Nebenbedingung ||w|| ≤ 1 zu maximieren, können wir genauso gut die Norm ||w|| unter der Nebenbedingung γ ≥ 1 minimieren. Wir erhalten somit das Problem der Minimierung einer konvexen quadratischen Form unter linearen Nebenbedingungen, nämlich minimierew,t ||w||2 (4.2) so dass für jedes i (1 ≤ i ≤ s): bi · ( hw, yi i + t ) ≥ 1. 1 Die optimale Lösung w erreicht damit den Margin ||w|| . Beachte, dass eine direkte Lösung von (4.2) nicht angeraten ist, da das Minimierungsproblem im hoch-dimensionalen Feature-Raum formuliert ist. Wir beschreiben deshalb den Karush-Kuhn-Tucker Ansatz in Abschnitt 4.4.1 und entwickeln effiziente Lösungen für das Lernen im Hard-Margin Modell in Abschnitt 4.4.2. Im Soft-Margin Fall verwenden wir das konvexe Programm 2 minimierew,t,ξ ||w|| + C · s X ξi2 (4.3) i=1 so dass für jedes i (1 ≤ i ≤ s): bi · ( hw, yi i + t ) ≥ 1 − ξi und ξ ≥ 0. Wir versuchen also gleichzeitig einen großen Margin (alsoP||w|| kleinstmöglich) wie auch eine m 2 möglichst geringe Missklassifikation zu erreichen (also i=1 ξi kleinstmöglich), wobei der 102 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN fixierte Parameter C das Ziel einer geringen Missklassifikation gewichtet. Wir beschreiben den Lernalgorithmus für den Soft Margin Fall in Abschnitt 4.4.3. Bei der Durchführung der Minimierung ergibt sich ein weiteres Kriterium, das den Lernerfolg garantiert. Dazu betrachtet man Support-Vektoren, nämlich die Beispiele, die einen minimalen Abstand von der trennenden Hyperebene besitzen. Wenn nur wenige Beispiele als Support-Vektoren auftreten, dann ist Lernerfolg dementsprechend hochwahrscheinlich (Satz 4.26). Hier ist unser verbleibendes Programm: (1) Wir untersuchen in Abschnitt 4.2, welche Funktionen als Kern verwandt werden können. (2) Wir nehmen in Abschnitt 4.3 an, dass wir eine trennende Hyperebene H gefunden haben, die auf der Beispielmenge S einen großen Margin hat. Können wir den Fehler von H hochwahrscheinlich nach oben begrenzen? Wir beantworten diese Frage sowohl für den Hard Margin Fall wie auch für den Soft Margin Fall. Im wesentlichen läuft die Antwort auf eine Verallgemeinerung der VCSchranke (Satz 2.24) für die Beispielzahl heraus. (3) Im Abschnitt 4.4 zeigen wir dann wie man eine lineare Trennung mit großem Margin berechnet. Dabei werden wir Algorithmen für den Hard Margin wie auch für den Soft Margin Fall entwickeln. Man beachte, dass die beiden konvexen Programme (4.2) und (4.3) für den hochdimensionalen Feature Raum formuliert sind, und damit können wir mit diesen Programmen bei zu vielen Features nicht effizient arbeiten! Stattdessen nutzen wir die Kerneigenschaft aus. Ein vorläufiges Fazit: Das Training der Support-Vektor Machinen ist effizient durchführbar. Während im Fall neuronaler Netzwerke die lokalen Optima den Trainingserfolg behindern, gibt es für Support-Vektor Maschinen nur ein (relativ schnell bestimmbares) globales Optimum. Weiterhin besitzt der Entwickler durch den Entwurf der Feature-Funktion maßgeblichen Einfluss auf den Lernerfolg. Selbst bei einer großen Anzahl von Features kann das Minimierungsproblem effizient gelöst werden, da die Kerne eine Lösung des dualen Programms erlauben, und da das duale Programm im Allgemeinen niedrig-dimensional ist (Satz 4.23 und Satz 4.27). 4.1 Anwendungen Das zentrale Ziel in Anwendungen ist die Erzielung eines großen Margins, wenn wir die positiven von den negativen Beispielen linear im Feature-Raum trennen. Wir konzentrieren uns im Folgenden auf den Prozess der Wahl erfolgreicher Feature Funktion. Wie schon in der Einleitung angesprochen ist zuerst eine problem-spezifische Feature-Funktion φ zu bestimmen, gefolgt von einem dazu passenden Kern K.3 Die Kombination von φ und Kern K muss einen großen Margin bei informativen Beispielen garantieren. Beispiel 4.3 Klassifizierung von Textdokumenten. 3 Der Kern K wird von einer Feature-Funktion ψ definiert. Insgesamt arbeiten wir also mit der FeatureFunktion ψ ◦ φ, konzentrieren uns aber auf φ und K 103 4.1. ANWENDUNGEN Wir greifen das Problem der Text-Klassifizierung aus Beispiel 4.1 wieder auf. Dort haben wir einem Text x für jede Stammsilbe s die Häufigkeit“ ” φs (x) = |D| hs (x) · log2 ( |D(s)| ) κ(x) zugewiesen, wobei - hs (x) die Häufigkeit ist, mit der die Stammsilbe s im Dokument x vorkommt, - D die Anzahl untersuchter Dokumente und D(s) die Anzahl untersuchter Dokumente mit mindestens einem Auftreten der Stammsilbe s ist und P - κ(x) eine Normalisierungskonstante ist, die s φ2s (x) = 1 gewährleistet. φs (x) gibt also die Häufigkeit der Stammsilbe s im Dokument x wieder, wobei die Häufigkeit mit dem Informationsgehalt der Stammsilbe gewichtet wird. Die Stammsilben bilden somit den Raum der Features und dementsprechend wird das innere Produkt hφ(x), φ(z)i = X s φs (x) · φs (z) betrachtet. In einem Experiment ([CS00], Seite 151) wird mit 9603 Nachrichten der Agentur Reuters trainiert und dann mit 3299 Nachrichten evaluiert, wobei die durchschnittliche Länge einer Nachricht ungefähr 200 Worte beträgt. Die zu erlernenden Kategorien beinhalten Firmenübernahmen, Firmengewinne, Geldmarkt, Getreide, Schiffe etc. Für die Einrichtung der Datenbank werden zuerst die Stammsilben in den 9603 Trainingsnachrichten nach ihrem Informationsgehalt geordnet und sodann werden die ungefähr 10,000 informativsten Stammsilben ausgewählt. (Jede Stammsilbe kommt in mindestens drei Trainingsnachrichten vor.) In einem zweiten Experiment werden 10,000 medizinische Dokumente zum Training und 10,000 Dokumente zur Evaluierung benutzt. Das Ziel ist die Zuordnung eines Dokuments zu einer von 23 Krankheiten. Diesmal wird eine Datenbank von 15,561 Stammsilben eingerichtet, wobei jede Stammsilbe in mindestens drei Dokumenten vorkommt. Es wird mit dem Gauß Kern und mit polynomiellen Kernen gearbeitet. Unabhängig von der Wahl der Kern-Parameter war die vorgestellte Methode den etablierten Methoden (wie Bayes-Verfahren, Rocchio [SSS98], C4.5 und der k-nearest Neighbor Methode) überlegen. In diesem Beispiel wurde das konventionelle innere Produkt auf die Feature-Vektoren angewandt. Im Vergleich dazu beschreiben wir einen äußerst unkonventionellen Kern, der für Stringprobleme maßgeschneidert ist. Beispiel 4.4 Wir fixieren das Alphabet Σ. Sei λ ≤ 1 eine positive reelle Zahl. Für eine Folge ~k = (k1 , . . . , kr ) mit k1 < k2 < · · · < kr und für einen String s ∈ Σ∗ ist s(~k) = sk1 · sk2 · · · skr die durch ~k beschriebene Teilfolge von s. Schließlich definieren wir A(~k) = kr − k1 + 1 als die Ausdehnung der Folge. 104 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN n Wir arbeiten in dem Feature-Raum RΣ und verwenden die Feature-Funktion φ, die einem String s ∈ Σ∗ für jedes u ∈ Σn das Feature X ~ φu (s) = λA(k) ~k,u=s(~k) zuweist. Das Feature φu (s) misst also im Wesentlichen wie oft der String u als Teilfolge kurzer Ausdehnung in s vorkommt. Wir erhalten den Kern X hφu (s), φu (t)i Kn (s, t) = u∈Σn = X u∈Σn = X X λ ~k,u=s(~k) X A(~k) X · X λ ~l,u=t(~l) ~ ~ λA(k)+A(l) A(~l) u∈Σn ~k,u=s(~k) ~l,u=t(~l) und eine Berechnung für große Werte von n scheint sehr aufwändig zu sein. Tatsächlich gelingt aber eine effiziente Berechnung mit der Hilfsfunktion X X X Ki∗ (s, t) = λ|s|+|t|−k1−l1 +2 u∈Σi ~k,u=s(~k) ~l,u=t(~l) für i = 1, . . . , n − 1. Dazu verwenden wir die Rekursion mit der Basis K0∗ (s, t) = 1 für alle s und t und beachten die Extremfälle min{|s|, |t|} < i durch die Festsetzung Ki∗ (s, t) = Ki (s, t) = 0. Als Rekursionsschritt im nicht-trivialen Fall erhalten wir für jeden Buchstaben x, dass X ∗ Ki∗ (s · x, t) = λ · Ki∗ (s, t) + Ki−1 (s, t1 · · · tj−1 ) · λ1+|t|−(j−1) und j,tj =x Kn (s · x, t) = Kn (s, t) + X j,tj =x ∗ Kn−1 (s, t1 · · · tj−1 ) · λ2 , denn im ersten Summanden zählen wir die Teilfolgen, die bereits Teilfolgen von s und t sind, während der zweite Summand Teilfolgen zählt, die den letzten Buchstaben in s · x beinhalten. Wir haben somit die Laufzeit O(n · |s| · |t|) erhalten! Beispiel 4.5 Bilderkennung. (a) Wir nehmen zuerst an, dass ein Bild als Bitmap“, also als eine Matrix von 256 Grau” stufen vorliegt. In einem ersten Experiment ([CS00], Seite 153) werden 100 verschiedene 3dimensionale Objekte von 72 verschiedenen Blickwinkeln aus aufgenommen: jeder Blickwinkel entspricht einer Rotation des Objekts um 5 Grad. Diese 7200 Bilder wurden sodann, nach Durchschnittsbildung auf 4 × 4 Gittern, von einer Auflösung von 128 × 128 Pixel auf eine 105 4.1. ANWENDUNGEN Auflösung von 32 × 32 Pixel reduziert. Damit kann jedes Bild als ein Vektor der Länge 32 × 32 aufgefasst werden, wobei die Komponenten den Graustufen entsprechen. Man verwendet das konventionelle innere Produkt K(x, z) = hVektor von x, Vektor von zi als Kern. Aufgrund der großen Anzahl von Features lassen sich die Objekte in vielen Fällen voneinander trennen. (b) In einem zweiten Experiment wird die Farb- und Helligkeitsinformation des vorliegenden Bilds benutzt, wobei jedem Pixel ein HSV-Tripel4 zugewiesen wird. Einem Bild wird sodann ein Histogramm zugewiesen, wobei einem Farbbereich“ die Häufig” keit zugewiesen wird mit dem dieser Farbbereich im Bild vertreten ist. (Eine Farbe entspricht einem Punkt im 3-dimensionalen HSV-Raum und ein Farbbereich entspricht einem Teilwürfel; die Größe der Teilwürfel bestimmt die Dimension des Feature-Raums.) Der HistogrammAnsatz ermöglicht im Gegensatz zu (a) Translations- und Skalierungs-Invarianz. Sei xH das Histogramm von Bild x. Als Kern verwendet man Funktionen der Form K(x, z) = exp−d(x H ,z H ) , wobei d ein Ähnlichkeitsmaß zwischen Histogrammen ist. Man benutzt zum Beispiel Approximationen der χ2 Funktion wie etwa d(xH , z H ) = n H 2 X (xH i − zi ) H xH i + zi i=1 bzw. die p-Normen d(xH , z H ) = n X i=1 H p |xH i − zi | !1/p . Beachte, dass wir im letzten Fall Mercer-Kerne“ erhalten (siehe Aufgabe 4.2). Allerdings ist ” es nicht bekannt, ob die χ2 -Approximation einem Kern entspricht. 1400 Photos aus der Corel Stock Photo Collection werden zu Kategorien wie Bären, Tiger, Elephanten, ... , Wüste, Berge, Felder, ... , Sonnenaufgang und Sonnenuntergang, ... ausgewählt, wobei 2/3 der Photos zum Training und 1/3 zum Test verwandt werden. Die Farbbereiche wurden so bestimmt, dass Histogramme der Dimension 4096 entstehen. Substantielle Verbesserungen im Vergleich zur k-nearest Neighbor Methode werden erzielt, wenn die 1-Norm bzw die χ2 -Approximation benutzt werden; die 2-Norm schneidet signifikant schlechter als die beiden anderen Normen ab. In beiden Beispielen ist die Beispielanzahl kleiner als die Dimension des Feature-Raums und dennoch werden gute Lernergebnisse erzielt. In ([CS00], Seite 156) wird weiterhin berichtet, dass sich Support-Vektor Maschinen als besonders effektiv in der Erkennung von Objekten in vorgegebenen Szenen herausgestellt haben. Als ein Beispiel wird die Erkennung von Gesichtern erwähnt. 4 Hue Saturation Value. Die HSV-Darstellung ist äquivalent zur Rot-Grün-Blau-Darstellung, aber ist möglicherweise biologisch plausibler. Die ersten beiden Komponenten des Tripels beinhalten Farbinformation und die letzte Komponente beinhaltet Helligkeitsinformation. 106 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Beispiel 4.6 Erkennung handschriftlicher Ziffern. Die USPS-Daten des US Postal Service sind Benchmarks für die Ziffererkennung. In der USPSDatenmenge treten 7291 Trainings- und 2007 Testbeispiele auf, die als 16 × 16 Pixelmatrizen mit 256 Graustufen repräsentiert sind. Für die USPS-Daten werden polynomielle Kerne und der Gauß Kern benutzt, nämlich hx, zi d K(x, z) = und 256 K(x, z) = exp− ||x−z||2 256·σ 2 mit σ ∈ [0.1, 4]. Die Wahl des Grads für polynomielle Kerne ist wichtig, denn lineare Separierbarkeit ergibt sich erst für Grad d ≥ 3. Experimente mit ähnlichem Ausgang wurden ebenfalls für den NIST-Datensatz durchgeführt. Die Lernleistung ist nur wenig schwächer als die der besten maßgeschneiderten Methoden (siehe Beispiel 6.7) und dies wird mit trivialen Features, den Grauwerten der einzelnen Pixel, erreicht [LJBB95]. Beispiel 4.7 Bestimmung von Protein-Superfamilien. Wir denken uns Proteine durch ihre Primärstruktur, also durch die Folge ihrer Aminosäuren, repräsentiert. Eines der fundamentalen Probleme der Bioinformatik ist die Bestimmung der Funktion von Proteinen. Proteine lassen sich aufgrund ähnlicher Primärstruktur, also aufgrund ähnlicher Proteinsequenzen, in Protein-Familien einteilen. Die Protein-Familien lassen sich weiter aufgrund ihrer Eigenschaften clustern“ und man erhält die sogenannten Protein” Superfamilien. Unser Ziel ist das Erlernen einer Protein-Superfamilie. In dem HMM-Ansatz werden die Proteine u1 , . . . , uk einer Protein-Superfamilie durch ein Hidden-Markov-Modell repräsentiert. Definition 4.2 Ein Hidden Markov Modell (Abk: HMM) wird durch den Vektor (Σ, Q, q0 , P, e) beschrieben, wobei - Σ ein Alphabet ist, - Q die Zustandsmenge darstellt, - q0 ∈ Q der Anfangszustand ist, - P die stochastische Matrix der Zustandsübergänge ist und - eq (a) für einen Zustand q 6= q0 und einen Buchstaben a ∈ Σ die Emissionswahrscheinlichkeit von Buchstaben a im Zustand q ist. (Zur Erinnerung: Eine stochastische Matrix besteht aus Zeilen mit Zeilensumme 1. Darüberhinaus ist jeder Eintrag der Matrix nicht-negativ.) Wenn man ein HMM im Anfangszustand q0 ∈ Q startet und dann die Zustände gemäß den Übergangswahrscheinlichkeiten P [q, r] (für den Übergang q → r) durchläuft, erhält man eine Sequenz u. Wir fixieren ein HMM M = (Σ, Q, q0 , P, e) und eine Sequenz u. Was ist die Wahrscheinlichkeit pM [ u ], dass u von M erzeugt wird? Dazu betrachten wir zuerst für eine Zustandsfolge W = (q0 , . . . , qn ) in M die gemeinsame Wahrscheinlichkeit pM [ W, u ] = prob[ die Zustandsfolge W wird durchlaufen und erzeugt u ] = Πni=1 P [qi−1 , qi ] · eqi (ui ). 107 4.2. FEATURES UND KERNE Dementsprechend erhalten wir pM [ u ] = X pM [ W, u ]. W Wir modellieren die Sequenzen u1 , . . . , uk einer Protein-Superfamilie durch ein HMM M , so dass die gemeinsame Erzeugungswahrscheinlichkeit“ (bzw. die Likelihood) ” Πki=1 pM [ ui ] so groß wie möglich sei. (Je größer die gemeinsame Erzeugungswahrscheinlichkeit für ein kleines HMM, umso besser ist die Modellierung geglückt.) Aufbauend auf dem HMM M führen wir jetzt einen Feature-Raum ein. Sei ΘM der Vektor der Parameter von M , also der Vektor der Emissions- und Übergangswahrscheinlichkeiten. Wir ordnen der Sequenz u den Gradienten ∇ log pM [ u ] als Feature-Vektor zu, wobei die partiellen Ableitungen nach den Emissions- und Übergangswahrscheinlichkeiten aufgeführt sind. Aufgabe 56 Gegeben sei ein HMM M und eine Sequenz u. (a) Zeige mit dynamischem Programmieren, dass die Erzeugungswahrscheinlichkeit pM [ u ] effizient berechnet werden kann. (b) Wie ist der Gradient ∇ log pM [ u ] effizient zu berechnen? Dieser Feature-Vektor enthält, durch die gegenwärtigen Parameter, eine Bewertung des Mat” ches“ zwischen Sequenz und Protein-Superfamilie: Wenn M eine fast-optimale Modellierung der Sequenzen u1 , . . . , uk ist, dann unterscheiden sich zum Beispiel die Gradienten ∇ log pM [ ui ] nur wenig vom Nullvektor, da ansonsten ein Gradientenaufstieg zu einem besseren Modell führt. Insbesondere liefert die Distanz zwischen den Feature-Vektoren zu Sequenzen u und v ein Maß für die Ähnlichkeit von u und v und dies motiviert den Gauß Kern K(u, v) = exp− ||∇ log pM [ u ]−∇ log pM [ v ]||2 2 2·σ 2 . Dieses System wurde mit den Sequenzen einer Superfamilie (als den positiven Beispielen) und Sequenzen anderer Superfamilien (als den negativen Beispielen) trainiert. Getestet wurde auf einer während des Trainings nicht präsentierten Familie der zu lernenden Superfamilie bzw. auf neuen Familien außerhalb der Superfamilie. Die Lernleistung ist, im Vergleich zu anderen Ansätzen, hervorragend und zwar besonders in schwierigen Fällen, nämlich dann, wenn die Primärstruktur von Proteinen der Superfamilie stark unterschiedlich ist. Insbesondere wurde die Klassifizierungsleistung des zugrundeliegenden HMM’s wesentlich verbessert. 4.2 Features und Kerne Unser Ziel ist - die Bestimmung der Eigenschaften von Kernen und 108 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN - die Entwicklung von Methoden zur Konstruktion von Kernen. Wir beginnen mit einigen einfachen Eigenschaften von Kernen. Sei K : X 2 → R ein Kern, dann ist K(x, z) = hφ(x), φ(z)i = hφ(z), φ(x)i = K(z, x): Jeder Kern ist also eine symmetrische Funktion. Definition 4.3 Sei X eine Menge. Für eine symmetrische Funktion K : X 2 → R definieren wir die Matrix MK,Y durch MK,Y [y1 , y2 ] = K(y1 , y2 ). Wie sehen Kerne für endliche Mengen X aus? Es sei X = {x1 , . . . , xs } und die Funktion K sei ein Kern. Wir betrachten die symmetrische Matrix MK,X . Fakt 4.1 Für jede symmetrische Matrix A gibt es eine orthogonale Matrixa U mit U T · A · U = D, wobei D eine Diagonalmatrix ist. Die Transponierte U T einer orthogonalen Matrix U ist die zu U inverse Matrix. Es gilt also U · U T = E für die Einheitsmatrix E. a Die Spalten u1 , . . . , un einer orthogonalen Matrix bilden eine Orthonormalbasis, d.h. es ist stets hui , uj i = 0 für i 6= j und hui , ui i = 1. Man beachte, dass diese Eigenschaft äquivalent zu der Forderung U U t = E ist. Fakt 4.2 Eine quadratische Matrix B heißt positiv semi-definit, wenn xT · B · x ≥ 0 für alle Vektoren x gilt. Die Matrix B ist genau dann positiv semi-definit, wenn alle Eigenwerte von B nicht-negativ sind. Aufgabe 57 (a) Zeige: Eine symmetrische Matrix A ist genau dann positiv semi-definit, wenn xT · A · x ≥ 0 für jeden Vektor x gilt. (b) Die Matrix A sei positiv definit und invertierbar. Zeige, dass dann auch BA−1 B T positiv definit ist, wobei B eine beliebige Matrix sei. Da K ein Kern ist, ist die Matrix MK,X symmetrisch, und es gibt also eine orthogonale Matrix U , so dass U T · MK,X · U = D für eine Diagonalmatrix D mit den Diagonaleinträge λ1 , . . . , λn . gilt. Wenn U die Spalten u1 , . . . , un besitzt, dann ist λi ein Eigenwert von MK,X mit Eigenvektor ui , denn MK,X · ui = U · D · U T · ui = U · D · ei = U · λi · ei = λi · ui . Lemma 4.4 Die Menge X sei endlich und K sei symmetrisch. Dann gilt: K ist ein Kern ⇔ MK,X ist positiv semi-definit. Beweis: Die Matrix U mit U T · MK,X · U = D habe die Spalten u1 , . . . , un und die Diagonalmatrix D habe die Diagonaleinträge λ1 , . . . , λn . ⇐ Wir konstruieren die Feature-Funktion p φ(xi ) = ( λj · ui,j | j) 109 4.2. FEATURES UND KERNE und erhalten hφ(xi ), φ(xk )i = X j λj ui,j · uk,j = (U · D · U T )i,k = MK,X [xi , xk ] = K[xi , xk ]. Also ist K tatsächlich ein Kern. ⇒ Angenommen, λi < 0. Für den Eigenvektor ui setzen wir X z= ui,j · φ(xj ) j und erhalten X X hz, zi = h ui,j · φ(xj ), ui,k · φ(xk )i j = X j,k k ui,j · MK,X (xj , xk ) · ui,k = uTi · MK,X · ui = λi < 0. Wir erhalten somit einen Widerspruch zur Definition des inneren Produkts. 2 Der folgende Satz verallgemeinert Lemma 4.4 auf den allgemeinen Fall von kompakten Teilmengen von Rn . Satz 4.5 Satz von Mercer Sei X eine kompakte Teilmenge des Rn . Die Funktion K : X 2 → R sei stetig und symmetrisch. Dann gilt K ist ein Kern ⇔ MK,Y ist, für jede endliche Teilmenge Y von X, positiv semi-definit. Wir verzichten auf den Beweis dieses Ergebnisses der Funktionalanalysis und beginnen mit Methoden zur Konstruktion von Kernen. Satz 4.6 (a) Sei f : X → R eine beliebige Funktion. Dann ist K(x, z) = f (x) · f (z) ein Kern. (b) Sei A eine symmetrische, positiv semi-definite Matrix. Dann ist K(x, z) = xT · A · z ein Kern. Beweis (a): folgt direkt aus der Definition des Kerns, wenn wir f als Feature-Funktion verwenden. (b) Wir zeigen direkt, dass K als ein inneres Produkt aufgefasst werden √ kann. Dazu diago√ nalisieren wir A und erhalten A = U T · D · U . Schließlich setzen wir B = D · U , wobei D aus den Quadratwurzeln der Einträge von D besteht. Wir erhalten √ √ K(x, z) = xT · A · z = xT · U T · D · D · U · z = xT · B T · B · z = hB · x, B · zi und K ist ein inneres Produkt mit dem Feature-Vektor B · x. 2 Wir fahren mit Methoden zur Konstruktion neuer Kerne aus bereits bekannten Kernen fort. 110 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Satz 4.7 Die Funktionen K1 und K2 seien Kerne und stetige Funktionen. α sei nicht-negativ. (a) Die Funktionen K = K1 + K2 , K = α · K1 und K = K1 · K2 sind Kerne. (b) Die Funktion φ : X → Rk sei beliebig und K1 : Rk × Rk → R sei ein Kern. Dann ist auch K(x, z) = K1 (φ(x), φ(z)) ein Kern. Beweis: Wir wenden den Satz von Mercer an, um die Kerneigenschaft nachzuweisen. (a) Wir betrachten zuerst die Addition. Sei Y eine endliche Teilmenge von X. Es ist αT · MK,Y · α = αT · MK1 ,Y · α + αT · MK2 ,Y · α ≥ 0 und der Nachweis ist geführt. Mit dem gleichen Argument kann verifiziert werden, dass auch α · K1 ein Kern ist. Interessanter ist der Nachweis, dass auch das Produkt von Kernen K1 und K2 ein Kern bleibt. Zuerst ist MK,Y offensichtlich das komponentenweise Produkt der Matrizen MK1 ,Y und MK2 ,Y . Betrachten wir andererseits das Tensorprodukt MK1 ,Y ⊗ MK2 ,Y : Es ist MK1 ,Y ⊗ MK2 ,Y [i1 , i2 , j1 , j2 ] = MK1 ,Y [i1 , j1 ] · MK2 ,Y [i2 , j2 ] und man kann zeigen, dass die Eigenwerte des Tensorproduktes die Produkte der Eigenwerte ihrer Faktoren sind. Aufgabe 58 Die Matrizen A und B seien symmetrisch. Wir definieren das Tensorprodukt C = A ⊗ B durch C[i1 , i2 , j1 , j2 ] = A[i1 , j1 ] · B[i2 , j2 ]. Zeige, dass die Eigenwerte von C die Produkte der Eigenwerte von A und B sind. Also ist auch MK1 ,Y ⊗ MK2 ,Y positiv semi-definit. Die Matrix MK,Y ist aber eine Teilmatrix des Tensorproduktes, die sich durch die Auswahl der Zeilen (i1 , i1 ) und der Spalten (j1 , j1 ) ergibt. Also erbt auch MK,Y die positive Semi-Definitheit. Aufgabe 59 Die Matrix A sei eine positiv semi-definite n × n Matrix. Für I ⊆ {1, . . . , n} sei AI die Teilmatrix von A mit I als Menge der Zeilen und Spalten. Zeige: Dann ist auch AI positiv semi-definit. (b) Sei die Menge Y = {x1 , . . . , xm } ⊆ X beliebig gewählt. Da K1 ein Kern ist, ist die Matrix MK1 ,Y ∗ positiv semi-definit, wobei wir Y ∗ = {φ(x1 ), . . . , φ(xm )} gewählt haben. Es ist aber MK,Y = MK1 ,Y ∗ und die Behauptung ist gezeigt. 2 Definition 4.8 Sei fn : R → R eine Folge von Funktionen. Wir sagen, dass f der Grenzwert der Folge ist, wenn limn→∞ fn (x) = f (x) für jeden Punkt x ∈ R gilt. Wir schließen den Konstruktionsprozess neuer Kerne mit dem folgenden Ergebnis ab. 111 4.3. DIE NOTWENDIGE ANZAHL VON BEISPIELEN Satz 4.9 Sei K ein Kern und sei p ein Polynom mit nicht-negativen Koeffizienten. (a) p(K) ist ein Kern. (b) Die Funktion f : R → R sei durch eine Potenzreihe mit nicht-negativen Koeffizienten darstellbar. Dann ist auch f (K) ein Kern. (c) Die Funktionen expK(x,z) und der Gauß Kern exp− ||x−z||2 σ2 sind ebenfalls Kerne. Beweis (a): ist eine direkte Konsequenz von Satz 4.7 (a). (b) Wir erhalten f als Grenzwert von Polynomen pn . Sei Y eine beliebige endliche Teilmenge von X. Wir wissen bereits mit Teil (a), dass die Matrizen Mpn (K),Y positiv semi-definit sind. Andererseits ist aber Mf (K),Y = lim Mpn (K),Y n→∞ und Mf (K),Y ist positiv semi-definit, da xT · Mf (K),Y · x = xT · ( lim Mpn (K),Y ) · x = lim xT · Mpn (K),Y · x ≥ 0. n→∞ n→∞ (c) expK(x,z) ist als Konsequenz von Teil (b) ein Kern. Schließlich ist der Gauß Kern exp− tatsächlich ein Kern, da exp− ||x−z||2 σ2 = (exp− ||x||2 σ2 · exp− ||z||2 σ2 ) · exp 2·hx,zi σ2 ||x−z||2 σ2 . Das Produkt der ersten beiden Faktoren ist ein Kern nach Satz 4.6 (a). Der letzte Faktor ist aber auch ein Kern, wie wir gerade in (b) gesehen haben. Die Behauptung folgt somit, da Kerne abgeschlossen unter Produktbildung sind (Satz 4.7 (a)). 2 Aufgabe 60 Zeige, dass die Funktion K(x, z) = exp−d(x,z) ein Kern ist, falls d(x, z) = n X i=1 4.3 p |xi − zi | !1/p . Die notwendige Anzahl von Beispielen Eine große Zahl von Features führt automatisch auf die Gefahr des Overfittings, also des Auswendig-Lernens“ der Trainingsmenge. Dieser Gefahr versuchen wir dadurch zu begeg” nen, dass wir Hypothesen mit speziellen Eigenschaften, nämlich einem relativ großem Margin konstruieren. Wir haben Anlass zu berechtigter Hoffnung, falls die Freiheitsgrade der Hy” pothesen mit großem Margin“ relativ klein sind. Den Begriff der Freiheitsgrade bei großem Margin formalisieren wir mit der Fat-Shattering Dimension. Definition 4.10 Sei H eine Menge von Funktionen h : X → R für eine Menge X. Sei γ ∈ R. 112 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Eine Menge S = {y1 , . . . , ys } ⊆ X wird durch H γ-zertrümmert, falls es r ∈ R gibt, so dass es für jeden Vektor b ∈ {−1, 1}s von Klasifizierngen eine Funktion hb ∈ H gibt, so dass ≥ r + γ falls bi = 1, hb (yi ) ≤ r − γ falls bi = −1. Die Fat-Shattering Dimension von H für γ wird dann durch fatH (γ) = max{ S ⊆ X | H γ-zertrümmert S } definiert. Angenommen, wir haben eine Hypothese (h) gefunden, die eine durch f : S → {−1, 1} klassifizierte Beispielmenge S mit Margin γ richtig klassifiziert, d.h. für alle Beispiele y ∈ S gilt h(y) ≥ r + γ, falls f (y) = 1, und h(y) ≤ r − γ, falls f (y) = −1. In Analogie zur VCDimension (Satz 2.24) würden wir erwarten, dass in etwa“ ” 1 1 1 s = O( · (ln( ) · fatH (γ) + ln( )) ε ε δ Beispiele ausreichen, um einen Fehler von höchstens ε mit Wahrscheinlichkeit mindestens 1−δ nicht zu überschreiten, wenn eine konsistente Hypothese mit Margin γ gefunden wurde. Allerdings ist unsere jetzige Situation neuartig, denn die Wahl der Hypothesenklasse hängt von der Beispielmenge S ab, da wir ja nur Hypothesen mit Margin mindestens γ auf der Menge S zulassen. Aber das folgende Resultat kann gezeigt werden. Satz 4.11 H sei eine Menge von Funktionen h : X → [−1, 1] für eine Menge X von Beispielen. Weiterhin sei γ ∈ (0, 1) und d = fatH ( γ8 ). Dann gilt mit Wahrscheinlichkeit 1 − δ (über die Auswahl einer Teilmenge S ⊆ X von s Beispielen) - für jede Verteilung D auf der Menge X und - für jede Hypothese h ∈ H mit Margin mindestens γ auf der Beispielmenge S, dass fehlerD (sign(h)) = O 1 s s 1 · ( d · log( ) · log( 2 ) + log( ) ) s d·γ γ δ , solange s ≥ c · d für eine hinreichend grosse Konstante c. Bemerkung 4.1 Wir haben den Fehler durch die Anzahl der Beispiele, der Fat-Shattering Dimension und den Vertrauensparameter ausgedrückt. Wenn wir die Beispielzahl s durch die anderen Parameter ausdrücken, erhalten wir bis auf logarithmische Faktoren einen Abschätzung der Form 1 γ s = · fatH ( ) ε 8 und dies entspricht unserer Wunschvorstellung. Für die Anwendung auf Support-Vektor Maschinen müssen wir die Fat-Shattering Dimension linearer Funktionen bestimmen. Sei L = { x 7→ (w, x) | ||w|| ≤ 1 } die Menge der linearen Funktionen für x ∈ RN . 113 4.3. DIE NOTWENDIGE ANZAHL VON BEISPIELEN Behauptung 4.1 Die Beispielmenge {x1 , . . . , xd } werde durch L γ-zertrümmert. Wir setzen I = {1, . . . , d}. Dann gilt für jede Teilmenge J ⊆ I, dass || X i∈J xi − X i∈I\J xi || ≥ d · γ. Beweis: Nach Annahme gibt es Schwellenwerte r1 , . . . , rd ∈ R, so dass für jeden Vektor b ∈ {−1, 1}d ein Gewichtsvektor wb mit ||wb || = 1 und bi · (hwb , xi i − ri ) ≥ γ für i = 1, . . . , d existiert. P P Fall 1: i,i∈J ri ≥ i,i∈I\J ri . Wir wählen den Vektor b ∈ {−1, 1}d mit bi = 1 genau dann, wenn i ∈ J. Für i ∈ J folgt also hwb , xi i − ri ≥ γ und hwb , xi i − ri ≤ −γ für i ∈ I \ J. Wir erhalten somit hwb , X i∈J xi i ≥ X i∈J ri + |J| · γ und hwb , X i∈I\J xi i ≤ X i∈I\J ri − |I \ J| · γ und nach Fallannahme ist deshalb hwb , X i∈J xi − X i∈I\J xi i ≥ |I| · γ = d · γ. (4.4) Andererseits können wir auf das innere Produkt aus (4.4) die Ungleichung (a, b) ≤ ||a| · ||b|| von Cauchy-Schwartz anwenden und erhalten wegen ||wb || = 1, dass hwb , X i∈J xi − X i∈I\J xi i ≤ || X i∈J xi − X i∈I\J xi ||. Damit können wir aber aus (4.4) die Behauptung ableiten, denn es ist d · γ ≤ hwb , X i∈J xi − X i∈I−J xi i ≤ || X i∈J xi − X i∈I\J xi ||. P P Fall 2: i,i∈J ri < i,i∈I\J ri . Die Argumentation verläuft völlig analog, wenn wir diesmal den Vektor b ∈ {−1, 1}d wählen, so dass bi = 1 genau dann, wenn i ∈ I \ J. 2 Wir benötigen eine zweite Beobachtung. Behauptung 4.2 Die Beispiele x1 , . . . , xd mögen die Norm höchstens R besitzen. Dann folgt 2−d · X X X || xi − xi ||2 ≤ d · R2 . J⊆I i∈J i∈I\J 114 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Beweis: Es sei αJi = −d 2 +1 i ∈ J, Wir erhalten dann die Abschätzung −1 sonst. d X X X X X 2 −d · || xi − xi || = 2 · || αJi · xi ||2 J⊆I i∈J J⊆I i∈I\J i=1 d XX XX = 2−d · (αJi )2 · ||xi ||2 + 2 · αJi αJj · hxi , xj i J⊆I i=1 = 2−d · d XX J⊆I i=1 = 2−d · d XX J⊆I i=1 J⊆I i6=j ||xi ||2 + 2 · ||xi ||2 = d X i=1 XX i6=j J⊆I αJi αJj · hxi , xj i ||xi ||2 . Die Behauptung folgt, da ||xi || ≤ R. 2 Es muss also eine Menge J mit || X i∈J xi − X i∈I\J xi || ≤ R · √ d geben und Behauptung 4.1 führt auf die Beziehung d · γ ≤ || X i∈J xi − X i∈I\J xi || ≤ R · √ d Wenn wir s = fatL (γ) wählen, haben wir die gewünschte obere Schranke für die Fat-Shattering Dimension erhalten. Lemma 4.12 Sei X ⊆ RN ein Ball vom Radius R um den Ursprung. Es sei L = { x 7→ hw, xi | ||w|| ≤ 1 }. Dann gilt 2 R fatL (γ) ≤ . γ Die Fat-Shattering Dimension hängt somit vom Radius R des Balls X, nicht aber von der Dimension N des Balls ab! Als Konsequenz von Satz 4.11 und Lemma 4.12 haben wir jetzt für Support-Vektor Maschinen die gewünschte Abhängigkeit des Lernerfolgs vom Margin erhalten. 115 4.3. DIE NOTWENDIGE ANZAHL VON BEISPIELEN Satz 4.13 (Erfolgreiches Hard-Margin Lernen bei großem Margin.) Jedes Beispiel aus der Menge X möge eine Norm von höchstens R besitzen. Ein beliebiges Konzept c sei durch eine Klassifizierung f : X → {−1, 1} gegeben. Dann gilt mit Wahrscheinlichkeit mindestens 1 − δ (über die Auswahl einer Menge S ⊆ X von s Beispielen) - für jede Verteilung D auf der Menge X und - für jede Thresholdfunktion sign(h(y)) = hw, yi + t mit ||w|| = 1 und MarginS,f (h) ≥ γ, dass fehlerD (c, h) = O wobei s ≥ c · R2 γ2 1 R2 s·γ s 1 · ( 2 · log( 2 ) · log( 2 ) + log( ) ) s γ R γ δ , für eine hinreichend große Konstante c zu fordern ist. Bis auf logarithmische Terme wird somit bei s Beispielen ein Fehler von höchstens ε = O( 1s · 2 R2 + ln( 1δ )) mit Wahrscheinlichkeit mindestens 1 − δ erreicht, solange s ≥ c · R für eine γ2 γ2 hinreichend große Konstante c gilt. Mit anderen Worten, solange s ≥ c · R2 , γ2 sind 1 1 R2 s = Ω( · ( 2 + ln( ))) ε γ δ Beispiele ausreichend, um einen Fehler von höchstens ε mit Wahrscheinlichkeit mindestens 1 − δ zu garantieren. (Wir haben hier wieder logarithmische Faktoren unterschlagen.) Der Soft Margin Fall. Wir lassen jetzt zu, dass eine Thresholdfunktion Beispiele missklassifiziert. Zuerst präzisieren wir, was es heißt im Wesentlichen“ einen großen Margin zu ” besitzen, obwohl sogar Missklassifikationen zugelassen werden. Definition 4.14 Sei H eine Menge von Funktionen h : X → R. (a) Der Slack eines klassifizierten Beispiels (x, b) ∈ X × {−1, 1} bezüglich der Funktion h ∈ H und dem Ziel-Margin γ ist slack(x, b, γ, h) = max{0, γ − b · h(x)}. (Wenn slack(x, b, γ, h) > γ, dann wird das Beispiel x durch die Funktion h missklassifiziert.) (b) Der Slack-Vektor für eine Menge S = {(x1 , b1 ), . . . , (xs , bs )} klassifizierter Beispiele bezüglich der Funktion h ∈ H und dem Ziel-Margin γ ist slack(S, γ, h) = ( slack(xi , bi , γ, h) | 1 ≤ i ≤ s ). Wir können dementsprechend (für eine nicht weiter spezifizierte Vektornorm) formalisieren: h erreicht auf der Beispielmenge S im wesentlichen“ den Margin γ ” ⇔ die Norm von slack(S, γ, h) ist klein“. ” 116 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Satz 4.15 (Erfolgreiches Soft-Margin Lernen [SN00].) Jedes Beispiel aus der Menge X möge eine Norm von höchstens R besitzen. Ein Konzept c sei durch eine Klassifizierung f : X → {−1, 1} gegeben. Dann gilt mit Wahrscheinlichkeit mindestens 1 − δ (über die Auswahl einer Menge S ⊆ X von s Beispielen) - für jede Verteilung D auf der Menge X - für jede Thresholdfunktion sign(h(y)) = sign(hw, yi + t) mit ||w|| = 1, dass fehlerD (c, h) = O gilt, wobei d= 1 s s · ( d · log( ) · log(s) + log( ) ) s d δ R2 + ||slack(S, γ, h)||22 γ2 und wobei s ≥ c · d für eine hinreichend große Konstante c zu fordern ist. Wir können jetzt die Ergebnisse des Hard-Margin und des Soft-Margin Falls gegenüberstellen. 2 Im Hard-Margin Fall liefert Satz 4.13 bis auf logarithmische Terme den Fehler O( 1s ·( R +ln 1δ )), γ2 R2 +||slack(S,γ,h)||22 + ln 1δ liefert. Wenige während der Soft-Margin Fall die Schranke O 1s · γ2 Missklassifikationen oder Klassifikationen mit zu kleinem Margin führen also nur zu einer leicht höheren Beispielzahl. 4.4 Lernalgorithmen Wir stellen die algorithmischen Grundlagen der Support-Vektor Maschinen vor. Zuerst untersuchen wir als Verallgemeinerung von (4.2) und (4.3) Optimierungsprobleme der Form minimierex f (x) (4.5) so dass für alle i ≤ a: gi (x) = 0 und für alle j ≤ b: hj (x) ≥ 0. Wir beschreiben die Karush-Kuhn-Tucker Bedingungen in Abschnitt 4.4.1 und erhalten damit eine in vielen Fällen effiziente Lösungen der konvexen Optimierungsprobleme (4.2) und (4.3). Danach beschreiben wir in Abschnitt 4.4.2 einen SVM-Algorithmus unter der Annahme der linearen Separierbarkeit im Feature-Raum. Sollte lineare Separierbarkeit nicht vorliegen, müssen wir den Soft-Margin“ Ansatz verfolgen (siehe Abschnitt 4.4.3). ” 4.4.1 Die Karush-Kuhn-Tucker Bedingungen Wir beginnen mit der Einführung der zentralen Begriffe einer konvexen Funktion und eines konvexen Optimierungsproblems. Definition 4.16 (a) Eine Funktion f : RN → R heißt konvex, falls für alle x, y ∈ RN die Funktion unterhalb der Sekante durch (x, f (x)) und (y, f (y)) verläuft, d.h. falls für alle λ ∈ [0, 1], f ( λ · x + (1 − λ) · y) ) ≤ λ · f (x) + (1 − λ) · f (y) 117 4.4. LERNALGORITHMEN gilt. (b) Eine Teilmenge X ⊆ RN heißt konvex, falls für je zwei Punkte x, y ∈ X die Gerade von x nach y in X liegt, d.h. falls für jedes λ ∈ [0, 1], λ · x + (1 − λ) · y ∈ X gilt. (c) Das Optimierungsproblem minimierex f (x), so dass hj (x) ≤ 0 für j = 1, . . . , m (4.6) heißt konvex, falls die Funktion f und alle hi konvex sind. Ein Punkt x ∈ RN heißt eine Lösung, falls hj (x) ≤ 0 für alle j gilt. Beachte, dass die Menge { x ∈ RN | ∀j : hj (x) ≤ 0 } konvex ist, falls die Funktionen hj konvex sind. Wann ist eine Funktion konvex? Fakt 4.3 f ist genau dann konvex, wenn stets f (y) ≥ f (x) + (y − x)T · ∇f (x) gilt. Aufgabe 61 Zeige Fakt 4.3: Im 1-dimensionalen Fall ist Fakt 4.3 äquivalent zu der folgenden Aussage: Es gelte x < y. Dann ist die Steigung der Sekante in den Punkten (x, f (x)) und (y, f (y)) mindestens so groß wie die Steigung der Tangente im Punkt x. Aufgabe 62 Zeige, dass die quadratische Funktion f (x) = xT · AT A · x konvex ist. Mit anderen Worten, wenn die Matrix B positiv semi-definit ist, dann ist die Funktion f (x) = xT · B · x konvex. Wir kommen zur zentralen Eigenschaft konvexer Funktionen: Konvexe Minimierungsprobleme besitzen keine lokalen Minima! Satz 4.17 Jedes lokale Minimum eines konvexen Optimierungsproblems ist auch ein globales Minimum. Weiterhin bilden die globalen Optima eine konvexe Menge. Beweis: Sei x eine Lösung des konvexen Optimierungsproblems und sei y ein lokales Minimum. Wir betrachten die x und y verbindende Gerade und erhalten f ( λ · x + (1 − λ) · y) ) ≤ λ · f (x) + (1 − λ) · f (y). Wenn f (x) < f (y) gilt, dann ist stets f ( λ · x + (1 − λ) · y) ) ≤ λ · f (x) + (1 − λ) · f (y) < f (y) und y ist kein lokales Minimum. Also sind alle lokalen Minima auch gleichzeitig globale Minima. Dann gilt aber für zwei lokale Minima x und y, dass f ( λ · x + (1 − λ) · y) ) = λ · f (x) + (1 − λ) · f (y), da ansonsten die Eigenschaft des globalen Minimums verletzt wäre: Die globalen Minima bilden also eine konvexe Menge. 2 Wir geben als nächstes die Karush-Kuhn-Tucker Bedingungen an, die bei einem konvexen Minimierungsproblem das globale Minimum exakt beschreiben. 118 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Lemma 4.18 Das Optimierungsproblem (4.6) sei konvex. Dann sind äquivalent: (a) x∗ erfüllt die Karush-Kuhn-Tucker Bedingungen, d.h. es gibt nicht-negative reelle Zahlen ∗ , so dass ξ1∗ , . . . , ξm (1) ξj∗ · hj (x∗ ) = 0 für j = 1, . . . , m, P ∗ ∗ (2) ∇f (x∗ ) + m j=1 ξj · ∇hj (x ) = 0 und (3) hj (x∗ ) ≤ 0 für alle j gilt. (b) x∗ ist ein globales Minimum von (4.6). Beweis (b) → (a): Wir betrachten nur den Fall hj (x∗ ) < 0 für alle j und verweisen auf [BSS92] für den allgemeinen Fall. Setze ξj∗ = 0 für alle j und die Bedingung (1) ist erfüllt. Für die Bedingung (2) ist jetzt nur ∇f (x∗ ) = 0 nachzuweisen: Der Gradient muss aber verschwinden, da sich x∗ im Inneren der Lösungsmenge befindet. Bedingung (3) ist automatisch erfüllt, da x∗ eine Lösung ist. (a) → (b): Da wir hj (x∗ ) ≤ 0 für alle j fordern, ist x∗ eine Lösung von (4.6). Sei x eine beliebige andere Lösung von (4.6). Wir wenden Fakt 4.3 an und erhalten f (x) ≥ f (x∗ ) + (x − x∗ )T · ∇f (x∗ ) hj (x) ≥ hj (x∗ ) + (x − x∗ )T · ∇hj (x∗ ). Wir addieren die ξj∗ -Vielfachen der zweiten Ungleichungen zur ersten Ungleichung und erhalten X X X f (x) + ξj∗ · hj (x) ≥ f (x∗ ) + ξj∗ · hj (x∗ ) + (x − x∗ )T · ∇f (x∗ ) + ξj∗ · ∇hj (x∗ ) j j j ∗ = f (x ), P P denn mit den Eigenschaften (1) und (2) folgt j ξj∗ · hj (x∗ ) = 0 = ∇f (x∗ ) + j ξj∗ · ∇hj (x∗ ). Dann ist aber X f (x) ≥ f (x∗ ) − ξj∗ · hj (x) ≥ f (x∗ ), j denn ξj∗ ≥ 0 und hj (x) ≤ 0 für alle j. Also haben wir nachgewiesen, dass x∗ ein globales Minimum ist, da f (x) ≥ f (x∗ ) für alle Lösungen x gilt. 2 Bemerkung 4.2 Die Bedingung (3) fordert, dass ein globales Minimum die Nebenbedingungen erfüllen muss. Die Bedingungen (1) und (2) charakterisieren lokale Minima: Für einen inneren Punkt muss der Gradient ∇f (x∗ ) verschwinden, und man wählt ξ ∗ = 0. Befindet sich x∗ hingegen am Rand, werden also genau die Bedingungen hij (x∗ ) = 0 exakt erfüllt, dann wähle möglicherweise positive Werte für ξij . Es liegt ein globales Minimum vor, wenn die partiellen Ableitungen die richtigen“ Vorzeichen haben. ” Der Begriff des dualen Optimierungsproblems ist für uns wesentlich. Wir packen“ die Ne” benbedingungen nach P Multiplikation mit Lagrange Multiplikatoren in die Zielfunktion, wir wählen also f (x) + j ξj · hj (x) als neue Zielfunktion. 119 4.4. LERNALGORITHMEN P Definition 4.19 (a) L(x, ξ) = f (x) + j ξj · hj (x) heißt die verallgemeinerte LagrangeFunktion des Optimierungsproblems (4.6). (b) Das zu (4.6) duale Optimierungsproblem ist das Maximierungsproblem X maximiereξ≥0 minimierex f (x) + ξj · hj (x) . j Gibt es einen Zusammenhang zwischen dem Wert min ∀j:hj (x)≤0 f (x) des Minimierungsproblems (4.6) und dem Wert max min f (x) + ξ≥0 x X j ξj · hj (x) des Max-Min Problems? Für jedes ξ ≥ 0 und jede Lösung x gilt offenbar X X ξj · hj (y) ≤ f (x) + ξj · hj (x) ≤ f (x), min f (y) + y j j und wir haben also die schwache Dualität“ ” X max min f (x) + ξj · hj (x) ≤ ξ≥0 x min ∀j:hj (x)≤0 j f (x) erhalten. Andererseits sei x∗ eine optimale Lösung von (4.6). Dann gelten die Karush-Kuhn∗ ≥ 0. Wir setzen ξ ∗ = Tucker Bedingungen mit den Lagrange-Multiplikatoren ξ1∗ , . . . , ξm ∗ ) und erhalten (ξ1∗ , . . . , ξm X X ξj∗ · hj (y) = f (x∗ ) + ξj∗ · hj (x∗ ), min f (y) + y j j P denn x∗ ist ein lokales Optimum von F (y) = f (y) + j ξj∗ · hj (y) gemäß Bedingung (2). Aber sind und das lokale Optimum ist global. F (y) ist konvex, da die ξj∗ nicht-negativ P ∗ Schließlich beachten wir, dass ξ · h (x∗ ) = 0, denn Bedingung (1) gilt, und wir haben j j j P ∗ ∗ ∗ ∗ f (x ) + j ξj · hj (x ) = f (x ) erhalten. Damit haben wir aber gezeigt, Lemma 4.20 Die Funktionen f und h1 , . . . , hm seien konvex. Dann gilt X max min f (x) + ξj · hj (x) = min f (x). ξ≥0 x ∀j:hj (x)≤0 j P Man beachte, dass minx maxξ≥0 f (x) + j ξj · hj (x) = min∀j:hj (x)≤0 f (x) gilt und deshalb haben wir die symmetrische Form“ ” X X max min f (x) + ξj · hj (x) = min max f (x) + ξj · hj (x) ξ≥0 x der Dualität erhalten. j x ξ≥0 j 120 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Wir können also das Minimierungsproblem (4.6) als ein Maximierungsproblem mit einer allerdings auf den ersten Blick komplexen Zielfunktion auffassen. Die Anzahl der Variablen des Maximierungsproblems stimmt überein mit der Anzahl der Nebenbedingungen des Minimierungsproblem und im Fall der uns interessierenden Probleme (4.2) und (4.3) gibt es genau soviele Nebenbedingungen wie Beispiele: Während die Minimierungsprobleme (4.2) und (4.3) im hochdimensionalen Featureraum arbeiten, stimmt die Variablenzahl ihrer dualen“ Ma” ximierungsprobleme mit der wesentlich geringeren Beispielzahl überein. Wir können jetzt zusammenfassen. Satz 4.21 Das Minimierungsproblem (4.6) sei konvex und die Funktionen hj seien affin. Dann sind äquivalent (a) f (x∗ ) = g(ξ ∗ ) für eine Lösung x∗ und ξ ∗ ≥ 0. (b) x∗ ist ein optimaler Punkt für das Minimierungsproblem (4.6) und ξ ∗ ist ein optimaler Punkt für das duale Problem (4.7). (c) Die Karush-Kuhn-Tucker Bedingungen gelten für x∗ und ξ ∗ . 4.4.2 Hard Margins Das Minimierungsproblem 1 · minimierew,t ||w||2 2 so dass für jedes 1 ≤ i ≤ s: bi · hw, yi i + t ) ≥ 1 (4.7) 1 ist für eine Beispielmenge {(y1 , b1 ), . . . , (ys , bs )} zu lösen. Beachte, dass ||w|| der Margin für eine optimale Lösung w ist. Wir wechseln zum dualen Problem und betrachten deshalb die neue Zielfunktion s X 1 L(w, t, ξ) = · hw, wi − ξi · ( bi · (hw, yi i + t) − 1 ). 2 i=1 (w∗ , t∗ ) Sei eine optimale Lösung von (4.7) und sei ξ ∗ eine optimale Lösung des Max-Min Problems mit Zielfunktion L. Nach Satz 4.21 erfüllen (w∗ , t∗ ) und ξ ∗ die Karush-Kuhn-Tucker Bedingung (2). Wir berechnen deshalb den w-Gradient bzw. der t-Gradient von L. Es ist ∗ ∗ ∗ ∗ ∇w L(w , t , ξ ) = w − ∇t L(w∗ , t∗ , ξ ∗ ) = s X i=1 s X i=1 ξi∗ · bi · yi , ξi∗ · bi , und wir erhalten nach Null-Setzung s s X X bi ξi∗ · yi und − bi ξi∗ = 0. w∗ = i=1 (4.8) i=1 Nach Rückeinsetzung ergibt sich s s s X X 1 X L(w∗ , t∗ , ξ ∗ ) = bi ξi∗ · hyi , yj i · bj ξj∗ − bi ξi∗ · hyi , yj i · bj ξj∗ + ξi∗ 2 = i,j=1 s X ξi∗ − i=1 i,j=1 1 2 s X i,j=1 bi ξi∗ · hyi , yj i · bj ξj∗ . i=1 121 4.4. LERNALGORITHMEN Das duale Problem ist ein Maximierungsproblem, wird aber zu einem Minimierungsproblem wenn wir die Zielfunktion mit −1 multiplizieren: minimiereξ s s X 1 X bi ξi · hyi , yj i · bj ξj − ξi 2 i,j=1 (4.9) i=1 so dass ξ ≥ 0 und s X i=1 ξi · bi = 0. Beachte, dass wir, wie versprochen, nur soviele Variablen ξi wie Beispiele besitzen! Bedingung (1) aus den Karush-Kuhn-Tucker Bedingungen für optimale Lösungen (w∗ , t∗ ) von (4.7) und ξ ∗ von (4.9) besagt, dass ξi∗ · (bi · (hw∗ , yi i + t∗ ) − 1) = 0 für jedes i (1 ≤ i ≤ s) gilt. Wir setzen SV = { i | bi · ( hw∗ , yi i + t∗ ) = 1 }. Damit ist ξi∗ = 0 für jedes i 6∈ SV und als Konsequenz folgt w ∗ = s X i=1 = bi ξi∗ · yi X i∈ SV bi ξi∗ · yi . Also bestimmen nur diejenigen Beispiele yi den optimalen Gewichtsvektor w∗ , die am nächsten an der trennenden Hyperebene liegen, also bi · ( hw∗ , yi i + t∗ ) = 1 erfüllen. Definition 4.22 Ein Beispiel xi mit i ∈ SV heißt ein Support-Vektor. Aufgabe 63 P −1/2 ∗ Zeige, dass ξ der Margin ist. Der Margin wird also von den Support-Vektoren mit den größten j j∈ SV ξ ∗ -Werten dominiert. Hinweis: Der Margin stimmt mit 1 ||w∗ || überein. Wir fassen zusammen. Beachte, dass die Beispiele yi im Feature-Raum liegen und deshalb die Form yi = φ(xi ) besitzen. Es ist also K(xi , xj ) = hφ(xi ), φ(xj )i = hyi , yj i. 122 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Satz 4.23 Das duale Problem hat die Form minimiereξ s s X 1 X bi ξi · K(xi , xj ) · bj ξj − ξi 2 i,j=1 so dass ξ ≥ 0 und i=1 s X i=1 ξi · bi = 0. Beachte, dass die quadratische Form nach Mercer’s Theorem positiv semi-definit ist und damit konvex ist. Die Anzahl der Unbestimmten des Maximierungsproblems stimmt mit der Anzahl s der Beispiele überein. Weiterhin gibt es s + 1 Nebenbedingungen. Sei ξ ∗ eine optimale Lösung des dualen Problems. Dann besitzt die optimale trennende Hyperebene die Form X X ξi∗ · bi · hφ(xi ), φ(x)i + t∗ = ξi∗ · bi · K(xi , x) + t∗ . hw∗ , φ(x)i + t∗ = i∈ SV i∈ SV Bemerkung 4.3 Der optimale Threshold t∗ bestimmt sich aus der Karush-Kuhn-Tucker Bedingung (1), nämlich es ist ξi∗ · [bi · ( hw∗ , yi i + t∗ ) − 1] = 0 zu fordern. Man kann natürlich die Aussage von Satz 4.13 zur Fehlervoraussage benutzen. Allerdings haben wir eine asymptotische Formulierung gewählt, aber auch bei einer exakteren Analyse sind die Voraussagen meist zu pessimistisch und geben nur eine Tendenz an. Die Aussage von Satz 4.13 hat sich aber in evaluierenden Vergleichen verschiedener Kerne auch in der Praxis bewährt. Wir gehen jetzt noch weiter auf die Rolle der Support-Vektoren ein und führen dazu das allgemeine Konzept eines Kompressionsschemas ein, um die durch Support-Vektoren mögliche Kompression zu formalisieren. Definition 4.24 Ein Kompressionsschema (H, K) besteht aus einer Funktion H : S 7→ hS , die einer jeden Beispielmenge S eine Hypothese hS zuordnet, und aus einer Kompression K : S 7→ S ′ , die für S die kleinste Teilmenge S ′ ⊆ S bestimmt, für die die Hypothese hS ′ die Menge S korrekt klassifiziert. hS ′ heißt auch eine minimale Hypothese der Größe |S ′ |. Beachte, dass die Menge S ′ aller Support-Vektoren eine Hypothese hS ′ definiert, die die Menge S korrekt klassifiziert. Der Ansatz der Support-Vektor Maschinen liefert also ein Kompressionsschema. Nicht überraschenderweise(?) impliziert eine minimale Hypothese geringer Größe hochwahrscheinlich ein erfolgreiches Lernen. 123 4.4. LERNALGORITHMEN Lemma 4.25 Sei (H, K) ein Kompressionsschema. Für eine beliebige Verteilung D auf X × {−1, 1} gilt mit Wahrscheinlichkeit 1 − δ (über die Auswahl einer Menge S von s Beispielen) für jede minimale Hypothese h der Größe d, dass 1 s s fehlerD (h) = O · ( d · log( ) + log( ) ) . s−d d δ Beweis: Wir fixieren eine beliebige Beispielmenge S der Größe s. Sei d ≤ s. Wir betrachten die Wahrscheinlichkeit pd , dass eine minimale Hypothese der Größe d einen Fehler größer als ε besitzt. Für eine fixierte Teilmenge S ′ ⊆ S ist prob[ Hypothese hS ′ klassifiziert S richtig, besitzt aber einen Fehler > ε ] ≤ (1 − ε)s−d , denn die verbleibenden s − d Beispiele werden mit einer Wahrscheinlichkeit von höchstens 1 − ε richtig klassifiziert. Da (1 − a) ≤ e−a , folgt s · (1 − ε)s−d pd ≤ d s ≤ · e−(s−d)·ε . d e·s Beachte, dass ds ≤ ed·log d und deshalb ist s log pd ≤ log − (s − d) · ε d e·s ≤ d · log − (s − d) · ε d Wir fordern pd ≤ δs , beziehungsweise log pd ≤ d · log e·s δ − (s − d) · ε ≤ log . d s Diese Forderung wird durch e·s s 1 · ( d · log( ) + log( )) s−d d δ Ps erfüllt und es ist, wie gefordert, d=1 pd ≤ δ. ε= 2 Satz 4.26 Für eine beliebige Verteilung D auf X × {−1, 1} gilt mit Wahrscheinlichkeit 1 − δ (über die Auswahl einer Menge S von s Beispielen) für jede nach Satz 4.23 berechnete Hypothese h, dass 1 s s fehlerD (h) = O · ( d · log( ) + log( ) ) , s−d d δ wobei d die Anzahl der Support-Vektoren für S ist. Fazit: Support-Vektor Maschinen konzentrieren sich automatisch auf Support-Vektoren und damit auf die informativsten“ Beispiele. Je weniger Support-Vektoren, umso erfolgreicher ” wird gelernt! Die Anzahl der Support-Vektoren ist also neben der Größe des Margins ein zweites, in der Praxis häufig“ angetroffenes Kriterium für erfolgreiches Lernen. ” 124 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Bemerkung 4.4 Hard-Margin Lernen wurde erfolgreich in der Klassifizierung von Textdokumenten mit dem bag-of-words Modell (Beispiel 4.3) eingesetzt. Bei bis zu 10 Tausenden von Stammsilben, aber Nachrichten aus etwa 200 Worten lag Separierbarkeit vor. Das Phänomen der Separierbarkeit erklärt sich vor Allem aus der Sparsity of features“ (wenige Stammsilben ” pro Nachricht). Auch im Beispiel der Bilderkennung (Beispiel 4.5) war Hard-Margin Lernen erfolgreich. Auch hier ist die große Zahl der Features im Vergleich zu den relativ wenigen Bildern eine Erklärung. 4.4.3 Soft Margins Für den Soft-Margin Ansatz erlauben wir, dass die Ungleichungen des Hard-Margin Ansatzes leicht“ verletzt werden dürfen. Wir fügen deshalb Slack-Variablen ξi zu der Formulierung ” (4.7) hinzu und erhalten 2 minimierew,β,ξ ||w|| + C · m X ξi2 (4.10) i=1 so dass für jedes i: bi · ( hw, yi i + β ) ≥ 1 − ξi . Streng genommen müssten wir ξ ≥ 0 fordern, jedoch schließen sich negative ξi von selbst aus: Die zu minimierende Zielfunktion wird vergrößert und die Nebenbedingungen werden erschwert. Wir gewichten die Norm des Slack-Vektors mit der nicht festgelegten Konstante C. Man wird C variieren und die jeweils erhaltenen Lösungen mit Cross-Validierung5 evaluieren. Die Formulierung (4.10) misst den Slack-Vektor in der Euklidschen Norm und die optimalen Lösungen können jetzt mit Satz 4.15 in ihrer Verallgemenierungsleistung analysiert werden. Im analogen Fall der 1-Norm erhalten wir die Formulierung minimierew,β,ξ ||w||2 + C · m X ξi (4.11) i=1 so dass für jedes i: bi · ( hw, yi i + β ) ≥ 1 − ξi , ξi ≥ 0. Sowohl (4.10) wie auch (4.11) werden jetzt wie die Hard-Margin Formulierung (4.7) behandelt und man erhält dann das folgende Ergebnis. 5 In der Cross-Validierung wird eine Teilmenge der Beispiele vom Training ausgenommen und nur zum Test benutzt. Die Verallgemeinerungsleistung auf dieser Testmenge dient dann zur Evaluierung. 125 4.4. LERNALGORITHMEN Satz 4.27 Es sei δi,j = 1, falls i = j, und δi,j = 0 sonst. Weiterhin sei K(xi , xj ) = (φ(xi ), φ(xj )) = hyi , yj i. Das duale Problem hat dann die Form minimiereξ s s X 1 X 1 bi ξi · K(xi , xj ) + · δi,j · bj ξj − ξi 2 C i,j=1 so dass ξ ≥ 0 und i=1 s X i=1 ξi · bi = 0. Beachte, dass die quadratische Form nach Mercer’s Theorem positiv semi-definit ist und damit konvex ist. Die Anzahl der Unbestimmten des Maximierungsproblems stimmt mit der Anzahl s der Beispiele überein. Weiterhin gibt es s + 1 Nebenbedingungen. Sei ξ ∗ eine optimale Lösung des dualen Problems. Dann besitzt die optimale trennende Hyperebene die Form hw∗ , φ(x)i + t∗ = s X i∈ SV ξi∗ · bi · hφ(xi ), φ(x)i + t∗ = s X i∈ SV ξi∗ · bi · K(xi , x) + t∗ . Bemerkung 4.5 Der optimale Threshold t∗ bestimmt sich aus der Karush-Kuhn-Tucker Bedingung (1), nämlich es ist ξi∗ · [bi · ( hw∗ , ti i + t∗ ) − 1 + ξi ] = 0 zu fordern. Der Soft-Margin Algorithmus verhält sich also fast wie der Hard-Margin Algorithmus; der einzige Unterschied besteht in der Addition von C1 ·E zur Kern-Matrix (K(xi , xj ))i,j ; E bezeichnet die s × s Einheitsmatrix. Mit anderen Worten, der Soft-Margin Algorithmus ist der Hard-Margin Algorithmus mit dem neuen Kern K ′ (u, v) = K(u, v) + 1 · δu,v , C wobei δu,v = 1 genau dann, wenn u = v und δu,v = 0 ansonsten. Beispiel 4.8 Klassifizierung von Genen aufgrund von Expressions-Daten. Mit der Technologie der DNA-Microarrays lässt sich die Expressionsrate eines Gens unter verschiedenen Zellbedingungen feststellen. (Die Expressionsrate ist die Häufigkeit der Produktion eines Proteins durch das Gen). Jedem Gen wird ein Expressionsvektor zugewiesen und man vergleicht den Expressionsvektor eines neuen Gens mit den Expressionsvektoren von bekannten Genen. In einem Experiment werden 2467 Gene der Hefe S. Cerevisiae behandelt, wobei Gene mit ähnlicher Funktionsweise in Klassen eingeteilt werden. Es werden nur sehr dünn besetzte Klassen betrachtet, die im Durchschnitt nur aus 1% der Gene bestehen. Support-Vektor Maschinen müssen jede dieser Klassen lernen“: neue Gene sind also möglichst verlässlich den ” jeweiligen Klassen zuzuordnen, wenn eine Ähnlichkeit besteht. Für das charakteristische Problem der Erlernens einer Klasse liefert der Soft-Margin Ansatz nur schlechte Ergebnisse und klassifiziert die (sehr kleine) Klasse als leer. Hier besteht vor allem das Problem von fälschlicherweise als positiv deklarierten Beispielen, die einen zu großen Abstand von den tatsächlich positiven Beispielen besitzen und Support-Vektor Maschinen nehmen an“, dass sämtliche positiven Beispiele falsch klassifiziert sind. ” 126 KAPITEL 4. SUPPORT-VEKTOR MASCHINEN Allerdings konnte die Klassifizierungsleistung wesentlich verbessert werden (und SupportVektor Maschinen liefern damit den anscheinend besten Lernalgorithmus), wenn die KernMatrix 1 (K(xi , xj ))i,j + · E C + des Soft-Margin Ansatzes verändert wird. Sei n die Anzahl der (wenigen) Elemente der Klasse und n− die Anzahl der (vielen) außerhalb liegenden Elemente. Dann wählt man (K(xi , xj ))i,j + λ · D, wobei λ eine positive reelle Zahl ist und D eine Diagonalmatrix mit ( n+ yi gehört zur Klasse, + +n− n D[i, i] = n− n+ +n− sonst ist. Diese Setzung führt dazu, dass die ξi∗ , die zu Klassenelementen yi gehören, an Einfluss gewinnen. Warum? Die zu maximierende Zielfunktion Z(ξ) hat nach Modifikation die Form Z(ξ) = s X i=1 = s X i=1 s 1 X ξi − ξi ξj · bi bj · ( K(xi , xj ) + λ · D[i, j] ) 2 ξi − 1 2 i,j=1 s X i,j=1 s ξi ξj · bi bj · K(xi , xj ) − λX 2 ξi · D[i, i], 2 i=1 und es ist profitabel, die ξi bei großem D[i, i], also bei negativen Beispielen, zu reduzieren. Andererseits ist die trennende Hyperebene durch hw∗ , φ(x)i + t∗ = s X i∈ SV ξi∗ · bi · K(xi , x) + t∗ gegeben. Wenn wir y = yj für einen Support-Vektor yj setzen, dann wächst damit der Term ξj∗ ·bj ·K(xj , xj ) relativ zu den anderen Termen: Es ist also zu erwarten, dass positive Beispiele einen relativ großen durchschnittlichen Abstand von der trennenden Hyperebene besitzen. Als Kern-Funktion werden polynomielle Kerne K(u, v) = ( hu, vi + 1 )d und der Gauß Kern K(u, v) = e− ||u−v||2 σ2 verwandt, wobei sich der Gauß Kern als überlegen herausstellt [BGL00]. Kapitel 5 Boosting Wir kehren zurück zu einer der zentralen Fragen im Modell des PAC-Lernens: Angenommen wir haben einen schwachen Lernalgorithmus L, der einen möglicherweise recht großen Fehler ε = 12 − θ besitzt. Können wir den Fehler substanziell verringern, ohne zusätzliche Beispiele zur Verfügung zu stellen? Wie wird sich die Laufzeit verhalten? Die Antwort auf diese Frage wird für allgemeine Lernalgorithmen negativ sein: So können wir für Beispielmenge {0, 1}n einen harten Kern auf allen Beispielen in 0{0, 1}n verstecken, während alle Beispiele mit Präfix 1 konstant mit 1 klassifiziert werden. Die Fehlerwahrscheinlichkeit 14 lässt sich somit trivial auf der Gleichverteilung erreichen, ein substanziell kleinerer Fehler wird große Schwierigkeiten bereiten. Aber ein PAC-Algorithmus darf den gewünschten Fehler ε auf keiner Verteilung überschreiten, und das werden wir ausnutzen. 5.1 Bagging Wir nehmen an, dass ein Lernalgorithmus L gegeben ist. Wir nehmen zuerst an, dass L ein binäres Klassifikationsproblem löst und besprechen später den mehrwertigen Fall. Wir stellen die Verfahren Bagging und Boosting vor, die in einigen Situationen durch eine wiederholte Anwendung von L den Verallgemeinerungsfehler von L signifikant senken. Algorithmus 5.1 Bagging [B96] Eingabe: Ein Lernalgorithmus L und eine Menge B von m klassifizierten Beispielen. Weiterhin sei eine natürliche Zahl k gegeben; k sei ungerade. (1) For i = 1 to k do (1a) Wähle m klassifizierte Beispiele, mit Ersetzung, aus der Menge B. /* Wenn ein Beispiel gewählt wird, dann ist das Beispiel zurückzulegen. Es können also Beispiele mehrfach gezogen werden. Im Durchschnitt werden 63.2% der Beispiele aus B gewählt. */ (1b) Wende den Algorithmus L auf die gewählten Beispiele an. L berechne die Hypothese hi . 127 128 KAPITEL 5. BOOSTING (2) Gib die Mehrheitshypothese h aus. /* Es ist h(x) = 1 (bzw h(x) = 0) genau dann, wenn eine Mehrheit der Hypothesen h1 , . . . hk auf x die Klassifizierung 1 (bzw. 0) liefert. */ Bemerkung 5.1 Bagging wird in solchen Situationen Chancen für eine Verbesserung bieten, in denen der Lernalgorithmus instabil ist, also auf kleine Änderungen in der Beispielsmenge mit stark modifizierten Hypothesen reagiert. Entscheidungsbaum-Algorithmen und neuronale Netzwerke sind Beispiele solcher instabiler Lernalgorithmen. Überraschenderweise droht in vielen Fällen sogar für grosse Werte von k kein Overfitting. 5.2 AdaBoost Wir stellen das Boosting-Verfahren AdaBoost1 vor, mit dem wir unsere Frage positiv beantworten werden. Wir nehmen wie üblich an, dass der PAC-Algorithmus L ein binäres Klassifikationsproblem löst. Desweiteren nehmen wir an, dass L Hypothesen mit der nur sehr schwachen Fehlerschranke ε = 12 − θ bestimmt. Die Hypothesen von L mögen die Klassifikationen 1 und −1 abgeben. Zuerst wird AdaBoost eine entsprechend große Menge S = {(x1 , b1 ), . . . , (xs , bs )} klassifizierter Beispiele anfordern. AdaBoost weist zu Anfang allen Beispielen (xi , bi ) ∈ S dasselbe Gewicht wi = 1 zu und arbeitet anfänglich mit der Gleichverteilung D1 , Beispiel (xi , bi ) erhält also die Wahrscheinlichkeit wsi . Dann wird L aufgefordert, eine Hypothese h1 für S zu liefern. Wenn die Hypothese h1 konsistent ist, dann sind wir bereits fertig. Also müssen wir davon ausgehen, dass L Beispiele falsch klassifiziert. AdaBoost bestimmt den Fehler ε1 von h1 auf S und erhöht das Gewicht falsch klassifizierter Beispiele so, dass alle falsch klassifizierten Beispiele das Gewicht 12 erhalten. Dazu setzt AdaBoost wi = wi · ε1 1 − ε1 für alle korrekt klassifizierten Beispiele und lässt die Gewichte falsch klassifizierter Beispiele ε1 unerändert. Das Gesamtgewicht richtig klassizierter Beispiele ist jetzt (1 − ε1 ) · 1−ε = ε1 und 1 stimmt tatsächlich mit dem Gewicht falsch klassifizierter Beispiele überein. Als Nächstes wird die Verteilung D2 durch wi prob[xi ] = Ps i=1 wi definiert und L liefert eine Hypothese h2 mit dem Fehler ε2 ≤ ε bezüglich Verteilung D2 . Die Verteilung D2 zwingt den Lernalgorithmus L einen Teil seiner bisherigen Fehler zu korregieren und deshalb wird h2 neue Informationen liefern. Allerdings ist der Fehler von h2 im allgemeinen Fall ebenfalls nur durch ε = 12 − θ beschränkt und ist deshalb nicht gut genug. AdaBoost wiederholt sein Vorgehen und bestimmt im (t + 1)ten Schritt eine Verteilung Dt+1 , die den durch ht missklassifierten Beispielen genau dieselbe Wahrscheinlichkeit wie den richtig klassifizierten Beispielen zuweist. Wenn genügend viele Hypothesen h1 , . . . , hT bestimmt wurden, dann gibt AdaBoost die Mehrheitshypothese“ ” T X sign( αi · ht ) t=1 1 AdaBoost ist Kurzform für Adaptive Boosting. 129 5.2. ADABOOST mit noch zu bestimmenden Gewichten αt ab. (Man erinnere sich, dass die Hypothesen die Klassifikationen 1 und −1 abgeben.) Algorithmus 5.2 AdaBoost [FS97] Eingabe: Ein Lernalgorithmus L und eine Menge S = { (xi , bi ) | 1 ≤ i ≤ s } von s klassifizierten Beispielen. (1) Sei D1 die Gleichverteilung auf den Beispielen. Setze wi = 1 für i = 1, . . . , s. (2) For t = 1 to T do (2a) L bestimmt eine Hypothese ht mit Trainingsfehler“ ” εt = probDt [ ht (xi ) 6= bi ]. εt (2b) Setze βt = 1−ε und aktualisiere wi = wi · βt für alle durch ht richtig klassifizierten t Beispiele (xi , bi ). /* Das Gewicht der durch ht richtig klassifizierten Beispiele ist jetzt (1−εt )·βt = εt und stimmt mit dem Gewicht der falsch klassifizierten Beispiele überein. */ (2c) Die Verteilung Dt+1 wird durch prob[xi ] = Pswi wi definiert. i=1 P (3) Setze αt = ln( β1t ) und gib die Hypothese sign( Tt=1 αt ht ) ab. /* Eine Hypothese ht erhält ein umso höheres Gewicht, je größer αt und damit je kleiner der Trainingsfehler εi ist. */ In typischen Anwendungen liegen keine PAC-Algorithmen vor. AdaBoost erreicht trotzdem in erstaunlich vielen Fällen eine Verbesserung, nämlich dann wenn der Lernalgorithmus L auf relativ kleine Veränderungen der Beispielmenge mit einer relativ stark veränderten Hypothese reagiert. Overfitting, oder Auswendiglernen durch die Wahl vieler Hypothesen tritt nicht auf. Es wird sogar von Szenarien berichtet, in denen der Verallgemeinerungsfehler weiter fällt, obwohl der Trainingsfehler bereits auf Null gebracht wurde. Wir werden dieses Phänomen später erklären können. Beispiel 5.1 Boosting für neuronale Netzwerke: LeNet4 Im Abschnitt 6.4.2 werden neuronale Netzwerke für die Ziffernerkennung vorgestellt. Das beste System, LeNet4, führt eine Boosting-Variante für T = 3 durch. Ein erstes neuronales Netz wird konventionell trainiert. Ein zweites Netz erhält eine Mischung von Ziffern: Die Mischung besteht zur Hälfte aus vom ersten Netz falsch klassifizierten Ziffern und zur anderen Hälfte aus richtig klassifizierten Ziffern. Das dritte Netz erhält alle diejenigen Ziffern, die von den ersten beiden Netzen falsch klassifiziert wurden. Allerdings ist das erste Netz bereits sehr gut und erreicht Fehlerraten um 1%. Deshalb wurde die Trainingsmenge künstlich durch affine Transformationen und Änderungen der Breite des Schriftzugs vergrößert, um genügend falsch klassifizierte Beispiele zu erhalten. Das 3-er ” Ensemble“ erreichte dann die Fehlerrate von 0.7%. Wir führen die Analyse von AdaBoost in zwei Schritten durch. Zuerst zeigen wir, dass die Mehrheits-Hypothese sign(h) einen sehr kleinen Trainingsfehler besitzt, wenn der von AdaBoost benutzte Lernalgorithmus L auf jeder Verteilung Dt einen nicht zu grossen Fehler εt besitzt. In einem zweiten Schritt weisen wir nach, dass ein kleiner Trainingsfehler zu einem kleinen Verallgemeinerungsfehler führt. Insbesondere erhalten wir, dass Overfitting selbst für eine relativ große Zahl T von Hypothesen nicht eintritt. 130 5.2.1 KAPITEL 5. BOOSTING Trainingserfolg AdaBoost kann als eine randomisierte Version der Weighted Majority Strategie angesehen werden: Die Beispiele xi übernehmen die Rolle der Experten. Die Gewichtssetzung favorisiert informative Beispiele, also Beispiele, die häufig falsch klassifiziert werden. Wir übernehmen deshalb auch Ideen aus der Analyse von Weighted Majority aus Abschnitt 3.1.1 und bestimmen untere und obere Schranken für das Gesamtgewicht Wt zum Zeitpunkt t. Wir beobachten zuerst, dass in Runde t alle richtig klassifizierten Beispiele mit βt multipliziert werden. Danach stimmt das Gesamtgewicht der richtig klassifizierten Beispiele mit dem Gewicht εt · Wt der falsch klassifizierten Beispiele überein. Also folgt Wt+1 = 2εt · Wt und deshalb WT +1 = s · ΠTt=1 (2εt ), (5.1) denn W1 = s. Wann klassifiziert AdaBoost das Beispiel xi falsch? Wenn Ir ⊆ {1, . . . , T } die Menge der richtig klassifizierenden und If ⊆ {1, . . . , T } die Menge der falsch klassifizierenden Hypothesen ist, dann muss X X 1 1 ln( ) ≤ ln( ) βt βt t∈Ir t∈If gelten. Wir exponentieren beide Seiten Πt∈Ir P P 1 ln( 1 ) = e t∈Ir βt ≤ e βt t∈If ln( β1 ) t = Πt∈If 1 . βt und erhalten deshalb Πt∈If βt ≤ Πt∈Ir βt , bzw. ΠTt=1 p β t ≤ Πt∈Ir βt . Das endgültige Gewicht wiT +1 von xi stimmt aber mit Πt∈Ir βt überein, da wir ja mit βt multiplizieren, wenn die Hypothese ht richtig klassifiziert. Eine Fehlklassifikation von xi durch AdaBoost bedeutet also, dass das endgültige Gewicht wiT +1 groß sein muss, denn p wiT +1 = Πt∈Ir βt ≥ ΠTt=1 β t . Wenn AdaBoost ingesamt einen Fehler µ auf der Trainingsmenge S hat, dann muss also s X i=1 wiT +1 ≥ X AdaBoost irrt auf xi wiT +1 ≥ µs · ΠTt=1 p βt (5.2) gelten, und ein großer Fehler µ bedingt ein großes Gesamtgewicht. Wir nutzen jetzt (5.1) und (5.2) aus, die jeweils eine obere, bzw untere Schranke für das Gesamtgewicht liefern. Es ist also p µs · ΠTt=1 β t ≤ s · ΠTt=1 (2εt ), beziehungsweise Wir fassen zusammen: p 2εt µ ≤ ΠTt=1 √ = ΠTt=1 2 εt · (1 − εt ). βt Satz 5.3 Die Hypothesen h1 , . . . , hT mögen die Fehler ε1 , . . . , εT haben. Dann hat AdaBoost einen Fehler von höchstens p 2T · ΠTt=1 εt · (1 − εt ). 131 5.2. ADABOOST Unter der Annahme, dass εt ≤ ε = 1/2 − θ ist q p 2T · ΠTt=1 εt · (1 − εt ) ≤ 2T · ε · (1 − ε)T = 2T · [(1/2 − θ) · (1/2 + θ)]T /2 = [1 − 4 · θ 2 ]T /2 und Satz 5.3 belegt, dass der Fehler von AdaBoost schnell gegen Null konvergiert. 5.2.2 Verallgemeinerungserfolg Wir haben zwar den Trainingsfehler senken können, jedoch scheinen wir möglicherweise mit Overfitting bezahlen zu müssen, da wir die Mehrheitshypothese aus vielen Einzelhypothesen zusammengesetzt haben. Tatsächlich hat die Anzahl der Freiheitsgrage nur um den Faktor T zugenommen: Vorher haben wir mit einer Hypothesenklasse H gearbeitet und nachher mit der neuen Hypothesenklasse T X HT = {sign( αi hi ) | h1 , . . . , hT ∈ H, α ≥ 0} i=1 mit VC(HT ) ≤ T · V C(H). Um hochwahrscheinlichenen Verallgemeinerungserfolg von AdaBoost zu grantieren, muss die Größe der erforderlichen Beispielmenge also nur um den Faktor T zunehmen. In Experimenten wurde sogar beobachtet, dass der Verallgemeinerungserfolg in einigen Fällen zunimmt, wenn die Anzahl T der Runden erhöht wird. Man sollte“ hingegen erwarten, dass ” die durch die erhöhte Rundenzahl vergrößerte Anzahl der Freiheitsgrade den Fehler ansteigen lässt, wenn wir nicht gleichzeitig die Beispielzahl mit anheben. Was ist passiert? Sei h = sign(g) die von Adaboost berechnete Hypothese. Für ein klassifiziertes Beispiel (x, f (x)) können wir dann den Margin von x wie üblich durch f (x) · g(x) definieren. Satz 5.4 Eine Menge S von durch die unbekannte Funktion f klassifizierten Beispielen sei gegeben. Der Lernalgorithmus L möge HypothesenP h1 , . . . , hT mit Trainingsfehlern ε1 , . . . , εT erzeugen und AdaBoost möge die Hypothese sign( Tt=1 αt · ht ) bestimmen. Dann gilt für jede reelle Zahl γ und für die Gleichverteilung G auf der Beispielsmenge S, dass q h(x) probG [ f (x) · PT ≤ γ ] ≤ 2T · ΠTt=1 ε1−γ (1 − εt )1+γ . t α t t=1 Dieses Resultat kann mit den Beweismethoden von Satz 5.3 gezeigt werden. Aufgabe 64 Zeige Satz 5.4. Wie ist Satz 5.4 zu interpretieren? Wir nehmen wieder an, dass εt ≤ 1 −θ 2 gilt. Wir erhalten dann q h(x) T T probG [ f (x) · PT ≤ γ ] ≤ 2 · Πt=1 ε1−γ (1 − εi )1+γ t α t=1 t p T ≤ (1 − 2 · θ)1−γ (1 + 2 · θ)1+γ . 132 KAPITEL 5. BOOSTING Aufgabe 65 Zeige (1 − 2 · θ)1−γ (1 + 2 · θ)1+γ < 1 für alle reelle Zahlen γ, Θ mit 0 ≤ γ < θ ≤ 12 . Und die Wahrscheinlichkeit eines kleinen Margins konvergiert schnell gegen 1. Warum kann der Fehler mit zunehmender Rundenzahl sinken? Weil der Margin zunimmt! Aufgabe 66 Wir nehmen an, dass der Lernalgorithmus nur N Hypothesen h1 , . . . , hN zur Verfügung hat und definieren für die Beispiele (x1 , b1 ), . . . , (xs , bs ) die Matrix M mit 1 hi (xj ) = yj M [i, j] = 0 sonst. Im Minimax-Spiel spielt ein Zeilen-Spieler und ein Spalten Spieler, wobei der Zeilenspieler eine Verteilung p = (p1 , . . . , ps ) auf den Zeilen und der Spaltenspieler eine Verteilung q = (q1 , . . . , qs ) auf den Spalten wählt. Das Minimax-Theorem garantiert, dass stets max min pT · M · q = min max pT · M · q q p p q gilt. Wir fassen Adaboost als den Zeilenspieler auf, wobei AdaBoost die Verteilung p = Di wählt und fassen den Lernalgorithmus L als Spaltenspieler auf, wobei L eine Hypothese hi wählt. Zeige: Wenn es für jede Verteilung p eine Hypothese hi mit Fehler höchstens 21 − θ gibt, dann gibt es eine Konvexkombination der Hypothesen mit Margin mindestens 2 · θ auf allen Beispielen. Fazit: Wenn es einen guten“‘Lernalgorithmus L gibt, dann gibt es sogar eine Konvexkombination mit großem ” Margin auf allen Beispielen. Kapitel 6 Weitere Lernverfahren Wie im Fall von Support-Vektor Maschinen nehmen wir auch hier an, dass eine Feature” Funktion“ φ:B→X Beispiele aus einer Trainingsmenge auf ihre Feature-Vektoren“ abbildet. Die Lernverfahren ” werden sodann auf die Feature-Vektoren angesetzt. Der Lernprozess ist also zweigeteilt und ergibt sich aus - der Auswahl der Feature-Funktion und - der Auswahl des Lernverfahrens. 6.1 k-Nearest Neighbor Sei B die Menge der klassifizierten Trainingsbeispiele. Algorithmus 6.1 Binäre Klassifizierung durch k-nearest Neighbor Eingabe: Eine Trainingsmenge B aus klassifizierten Beispielen. /* Sämtliche Beispiele mögen dem RN angehören. Eine Distanzfunktion d : RN × RN → R mit den Eigenschaften d(x, y) = 0 ⇔ x = y, d(x, y) = d(y, x) und d(x, y) + d(y, z) ≤ d(x, z) sei ausgezeichnet. */ (1) Sei x ein nicht-klassifiziertes Beispiel. Bestimme die k zu x nächst-liegenden Beispiele x1 , . . . , xk , wobei die Distanz gemäß d zu messen ist. (2) Klassifiziere x mit der Mehrheitsklassifizierung von x1 , . . . , xk . Bemerkung 6.1 (a) Die Beispiele y mögen die reelwertige Klassifizierung f (y) besitzen. Die Lernregel Pk f (xi ) f (x) = i=1 k gestattet dann prinzipiell sogar die Darstellung reelwertiger Klassifizierungen. 133 134 KAPITEL 6. WEITERE LERNVERFAHREN (b) k-nearest Neighbor ist auf hilfreiche Feature-Vektoren und charakteristische Beispiele angewiesen. Das Verfahren neigt zum Overfitting“, da keinerlei Komprimierung (der Beispiele ” in eine kurze Hypothese) versucht wird; insbesondere versagt das Verfahren bei nur wenigen aussagekräftigen Features. (c) Bei großem k ist einerseits die Bestimmung der k nächstliegenden Beispiele aufwändig. Andererseits treten besonders große Klassen natürlich häufiger auf. 6.2 Entscheidungsbaum-Methoden Wir beschreiben den Entscheidungsbaum-Algorithmus C4.5 von Quinlan [Q96]. Wir machen die folgenden Annahmen. Q - Die Beispiele werden durch Feature-Vektoren aus der Menge F = ni=1 Σi repräsentiert, wobei die Mengen Σi von geringer Größe seien. /* Selbst reelwertige Klassifizierungen sind prinzipiell ebenfalls modellierbar. Beachte aber, dass Entscheidungsbäume ein höchst eigenwilliges“ Berechnungsmodell für reel” wertige Funktionen abgeben. */ Wir nennen die Komponenten auch Attribute. Nur die im Feature-Vektor vorkommenden Attribute werden für die Konstruktion des Entscheidungsbaums verwandt. /* Allerdings werden auch Attribut-Kombinationen zugelassen. Natürlich erhöht dies den Rechenaufwand während des Trainings und erhöht sogar manchmal den Generalisierungsfehler: Die VC-Dimension des Hypothesenraums steigt an. */ - Die unbekannte Zielfunktion f klassifiziert Beispiele mit Werten aus einer endlichen Menge C von Klassifizierungen. - Möglicherweise sind die Werte einiger Attribute fehlerhaft, beziehungsweise fehlen in einigen Beispielen. C4.5 baut den Entscheidungsbaum in einer ersten Phase nach dem Top-Down Schema und beginnt mit der Frage, welches Attribut an der Wurzel zu testen ist. Nach der Wahl eines besten Attributs erhält die Wurzel für jeden Wert des Attributs ein Kind und die Konstruktion verläuft rekursiv. Der erhaltene Baum wird die Trainingsbeispiele auswendig lernen und muss in einer zweiten Phase zurückgeschnitten werden. Phase 1. Wir beginnen mit der Wahl des besten“ Attributs und betrachten ein beliebiges ” Attribut j ∈ {1, . . . , n} für einen zu besetzenden“ Knoten v des Baums. Wir nehmen an, ” dass die Beispielmenge Bv den Knoten v erreicht und definieren Bvj (a) = { x ∈ Bv | xj = a } als die Menge der Beispiele, die v erreichen und den Attributwert a für Attribut j besitzen. j Wir definieren pj,a c als die Wahrscheinlichkeit, dass ein Beispiel in Bv (a) mit c klassifiziert ist. Definition 6.2 p = (p1 , . . . , pk ) sei eine Wahrscheinlichkeitsverteilung. Dann ist H(p) = k X i=1 die Entropie von p. −pi · log pi 135 6.2. ENTSCHEIDUNGSBAUM-METHODEN Wir evaluieren das Attribut j für den Knoten v durch G(j) = X |Bvj (a)| a |Bv | · H(pj,a ). (6.1) Idealerweise verschwinden alle Entropien H(pj,a ) und das Zielkonzept ist gelernt. Natürlich kann man dies im Allgemeinen nicht erwarten, aber es liegt nahe, das Atttribut j mit dem kleinsten Wert G(j) für den Knoten v auszuwählen. Allerdings hat das Maß (6.1) den Nachteil, dass Attribute mit sehr vielen verschiedenen Attribut-Werten in einigen Fällen bevorzugt werden: Bei entsprechend weniger Beispielen mit fixiertem Attributwert fallen dann möglicherweise einige Klassifikationen weg und verrinj v (a)| gern die Entropie. Wir definieren deshalb, mit der Verteilung q j = ( |B|B | a), das zweite v| Gütekriterium G∗ (j) = G(j) . H(q j ) (6.2) Diesmal wird nach einem Attribut j mit kleinstem G∗ (j)-Wert gesucht. Unter Attributen gleicher Güte werden also Attribute mit möglichst wenigen Attribut-Werten vorgezogen. Phase 2. Wir stellen einen ersten Ansatz für das Stutzen vor. Hierzu benutzen wir einen Teil der Trainingsmenge zur Validierung; zum Beispiel werden zufällig 13 aller Beispiele für die Validierung ausgewählt und stehen damit nicht mehr für das Training zur Verfügung. Sodann hängen wir einen jeden Knoten v ab und ersetzen v durch ein Blatt. Wir beschriften das neue Blatt mit derjenigen Klassifizierung, die am häufigsten im Teilbaum mit Wurzel v auftritt. Schließlich bestimmen wir den Klassifizierungsfehler für den (einfach) gestutzen Baum relativ zur Validierungsmenge. In einem ersten Schritt hängen wir den Knoten mit geringstem Klassifizierungsfehler ab und wiederholen dieses Verfahren in nachfolgenden Schritten. Das Verfahren endet, wenn Abhängen den Klassifizierungsfehler ansteigen lässt. In einem zweiten Ansatz beschreibt C4.5 den nach der ersten Phase aufgebauten Baum durch ein System von Regeln: Jedes Blatt des Baums liefert eine Regel, deren Annahme der Konjunktion der Attribut-Werte auf dem Weg zum Blatt und deren Folgerung der Markierung des Blatts entspricht. Für jede Regel wird jetzt eine Verkürzung versucht, in dem nacheinander Attribut-Werte gelöscht werden; zu jedem Zeitpunkt wird der schlechteste Attribut-Wert gelöscht, wobei die Löschung nur dann akzeptiert wird, wenn der Klassifizierungsfehler nicht ansteigt. (Um kostbare Beispiele nicht an die Validierungsmenge zu verlieren, wird der Klassifizierungsfehler heuristisch“ mit Hilfe der Trainingsmenge bestimmt.) ” Bemerkung 6.2 (a) Fehlende Attribut-Werte stören die Bestimmung der Gewinnmaße (6.1) und (6.2). Wenn aber noch genügend viele Beispiele den zu besetzenden Knoten erreichen, können die Attribut-Werte probabilistisch gesetzt werden, wobei die vorhandenen Beispiele die Verteilung definieren. (b) Boosting mit AdaBoost: C4.5 benutzt gewichtete Beispiele, die sowohl den durch die Entropie gesteuerten Aufbau des Entscheidungsbaums beeinflussen wie auch das nachfolgende Stutzen des Baums. In [Q96] werden die besten Ergebnisse für T = 10 Iterationen von AdaBoost berichtet. Auf den meisten Testproblemen wird der konventionelle C4.5 Algorithmus klar verbessert. 136 KAPITEL 6. WEITERE LERNVERFAHREN Aufgabe 67 Einfache Entscheidungsbäume verzweigen aufgrund des Werts eines der Literale {x1 , . . . , xn } Wir führen Threshold-Entscheidungsbäume ein, die aufgrund von Threshold-Funktionen verzweigen. (a) Wie groß muss ein einfacher Entscheidungsbaum mindestens sein, der genau die Eingaben ungerader Parität akzeptiert? (b) Konstruiere einen Threshold-Entscheidungsbaum mit möglichst wenigen Knoten, der genau die Eingaben ungerader Parität akzeptiert. Fazit: Die Ausdrucksstärke kleiner Entscheidungsbäume hängt entscheidend von der Wahl der Entscheidungsfunktionen ab. Aber, je komplexer die Entscheidungsfunktionen, umso schwieriger wird das Erlernen der entsprechenden Bäume. 6.3 Bayes Verfahren Ein unbekanntes Konzept c aus einer Konzeptklasse C sei zu lernen, wobei Hypothesen aus einem Hypothesenraum H zur Verfügung stehen. Wir nehmen in diesem Kapitel an, dass wir ein erhebliches Vorwissen besitzen. - Wir weisen jeder Hypothese h eine a priori Wahrscheinlichkeit prob[ h ] zu. prob[ h ] gibt die Bedeutung“ der Hypothese h wieder. ” - Weiterhin müssen wir wissen, mit welcher Wahrscheinlichkeit eine Beispielmenge B erzeugt wird, wenn die Hypothese h das Konzept erklärt. Wir benötigen also prob[ B | h ]. Wenn wir h als Ursache und B als Wirkung interpretieren, dann misst prob[ B | h ] die Wahrscheinlichkeit, mit der die Wirkung B von der Ursache h erzeugt wird. Ein Ziel von Bayes Lernverfahren ist die Bestimmung der MAP-Hypothese, einer plausibelsten Hypothese, wenn die Beispielmenge B bekannt ist. Definition 6.3 Die Hypothese h0 ∈ H mit prob[ h0 | B ] = max{ prob[ h | B ] } h∈H heißt MAP- (maximum a posteriori) Hypothese. Wir kennen nur die a priori Wahrscheinlichkeit prob[ h ] sowie prob[ B | h ], die Wahrscheinlichkeit der Wirkung gegeben die Ursache. Um eine MAP-Hypothese zu bestimmen, müssen wir aber prob[ h | B ], die Wahrscheinlichkeit der Ursache gegeben die Wirkung kennen. Der Satz von Bayes stellt die Verbindung her. Satz 6.4 (Satz von Bayes) prob[ h | B ] = prob[ B | h ] · prob[ h ] . prob[ B ] 137 6.3. BAYES VERFAHREN Beweis: Es ist prob[ h | B ] · prob[ B ] = prob[ h, B ] = prob[ B | h ] · prob[ h ] und der Beweis folgt. 2. Beachte, dass bei vorliegender Beispielmenge B der Ausdruck prob[ B | h ] · prob[ h ] zu maximieren ist; die Wahrscheinlichkeit prob[ B ] wird also nicht benötigt. 6.3.1 Die Maximum Likelihood Methode Wir nehmen ab jetzt an, dass alle Hypothesen gleichwahrscheinlich sind. Wir erhalten dann eine MAP-Hypothese, wenn wir prob[ B | h ] maximieren, wenn wir also eine Hypothese (oder Ursache) h suchen, unter der die Beispielmenge (oder Wirkung) mit größter Wahrscheinlich erzeugt wurde. In dieser Situation nennt man MAP-Hypothesen auch Maximum Likelihood Hypothesen. Definition 6.5 Alle Hypothesen h ∈ H seien gleichwahrscheinlich, es gelte also (prob[ h ] = 1 | H | für alle h ∈ H. Dann heisst h0 ∈ H eine ML- (maximum likelihood) Hypothese, wenn prob[ B | h0 ] = max{ prob[ B | h ] } h∈H gilt. Aufgabe 68 Wir möchten die uns unbekannte Wahrscheinlichkeitsverteilung einer Zufallsquelle X lernen. X liefert zufällig Werte aus der endlichen Menge {1, 2, . . . , n} mit der jeweiligen Wahrscheinlichkeit pi . Als Beispielmenge steht uns eine Stichprobe der Zufallsquelle zur Verfügung. Bestimme die ML-Hypothese. Hinweis: Für zwei Verteilungen p und q gilt stets n X pi log i=1 qi ≥ 0. pi Beispiel 6.1 Es sei bekannt, dass 1% der Bevölkerung eine bestimmte Erkrankung besitzen. Weiterhin sei bekannt, dass Laboruntersuchungen in 98% aller Fälle die Erkrankung bestätigen, falls die Erkrankung tatsächlich vorliegt und in 97% aller Fälle die Erkrankung verneinen, wenn die Erkrankung tatsächlich nicht vorliegt. Wir setzen uns das Ziel eine beste Hypothese Erkrankt bzw. nicht erkrankt bzw. Person x ist nicht erkrankt“ ” bei vorliegendem Testergebnis Person x ist erkrankt“ ” 138 KAPITEL 6. WEITERE LERNVERFAHREN zu finden. Zuerst bestimmen wir die a priori Wahrscheinlichkeiten der Hypothesen. prob[ erkrankt“ ] = 0.01 ” prob[ nicht-erkrankt“ ] = 0.99 ” für den Beispielraum bestehend aus allen Paaren (Person x, Prognose). Wir müssen die Wahrscheinlichkeiten prob[ Beispiel | Hypothese ] bestimmen und erhalten - prob[ Prognose: x ist erkrankt“ | erkrankt“ ] = 0.98 ” ” - prob[ Prognose: x ist erkrankt“ | nicht-erkrankt“ ] = 0.03 ” ” - prob[ Prognose: x ist nicht erkrankt“ | erkrankt“ ] = 0.02 ” ” - prob[ Prognose: x ist nicht-erkrankt“ | nicht-erkrankt“ ] = 0.97 ” ” Für das Beispiel ( x, Prognose: x ist erkrankt“ ) müssen wir eine Hypothese bestimmen, die ” prob[ Prognose: x ist erkrankt“ | h ] · prob[ h ] ” maximiert. Wir erhalten für h = erkrankt“ den Wert ” 0.98 · 0.01 = 0.0098 und für h = nicht-erkrankt“ den Wert ” 0.03 · 0.99 = 0.0297. Damit ist also die Hypothese nicht-erkrankt“ eine MAP-Hypothese. Dieses Ergebnis ist nicht ” unbedingt überraschend: Welche MAP-Hypothese wird zu wählen sein, wenn eine zweite Untersuchung mit gleichem Befund durchgeführt wird? Beispiel 6.2 Wir betrachten die Lernsituation für PAC-Algorithmen. Demgemäß fordern wir, dass C ⊆ H. Weitere Forderungen beinhalten eine Gleichverteilung auf den Hypothesen sowie die Setzung probD [ Beispiel ] h ist konsistent mit Beispiel prob[ Beispiel | h ] = 0 sonst. (D bezeichnet die unbekannte Verteilung.) Zur Bestimmung der ML-Hypothese ist probD [ Beispiel | h ] zu maximieren. Natürlich wird eine konsistente Hypothese eine ML-Hypothese sein und konsistente PAC-Algorithmen lassen sich somit als Bayes Verfahren auffassen. 139 6.3. BAYES VERFAHREN Beispiel 6.3 Sei C eine Klasse reellwertiger Funktionen mit Definitionsbereich R. Wir verwenden C auch als Hypothesenraum, nehmen aber an, dass die individuellen Beispiele fehlerhaft sind. Genauer gesagt werden wir für die unbekannte Zielfunktion f und Argument x ∈ Rn das Paar (x, f (x) + e) erhalten, wobei der Fehler e gemäß einer Normalverteilung mit Erwartungswert 0 auftrete. (Die Varianz σ 2 der Normalverteilung lassen wir unbestimmt.) Mit anderen Worten: prob[ T1 ≤ e ≤ T2 ] = Z T2 T1 1 x2 e− 2 σ2 √ dx. 2πσ 2 Wir nehmen an, dass wir s Beispiele (x1 , y1 ), . . . , (xs , ys ) erhalten — mit xi ∈ Rn , yj ∈ R —, wobei die Argumente xi unabhängig voneinander gemäß einer unbekannten Verteilung D gewählt werden. Weiterhin seien alle Hypothesen gleichwahrscheinlich. Unser Ziel ist die Bestimmung einer ML-Hypothese und wir müssen prob[ (x1 , y1 ), . . . , (xs , ys ) | h ] = s Y i=1 prob[ (xi , yi ) | h ] bestimmen. Natürlich ist die Wahrscheinlichkeit eines Paares (xi , yi ) gleich Null und wir benutzen deshalb die Dichte-Funktion ε ε ε ε 1 lim probD [ x − ,..., ≤z ≤x+ ,..., ] · = qD (x). ε→0 2 2 2 2 ε Für die Wahrscheinlichkeit eines Fehlers y − h(x) bei Argument x setzen wir lim prob[ y − h(x) − ε→0 (y−h(x))2 ε ε 1 1 ≤ e ≤ y − h(x) + ] · = √ e− 2σ2 . 2 2 ε 2πσ 2 (Beachte, dass der Fehler h(x) − y normalverteilt ist mit Varianz σ 2 und Erwartungswert 0 nach Annahme.) Eine ML-Hypothese h maximiert somit s Y i=1 1 − √ e 2πσ 2 (yi −h(xi ))2 2σ 2 s Y qD (xi ). i=1 Dieses Maximierungsproblem ist aber äquivalent — nachdem der Faktor √ 1 2 · 2πσ entfernt ist und nach Logarithmieren — zum Maximieren des Ausdrucks s 1 X − 2 (yi − h(xi ))2 . 2σ i=1 Fazit: Jede Hypothese, die die quadratische Fehlerfunktion s X i=1 minimiert, ist eine ML-Hypothese. (yi − h(xi ))2 Qs i=1 qD (xi ) 140 KAPITEL 6. WEITERE LERNVERFAHREN Fassen wir zusammen: Der Bayes-Ansatz betrachtet eine sehr allgemeine Lernsituation, die zum Beispiel auch die Möglichkeit fehlerhafter Beispiele sowie probabilistischer Konzepte beinhaltet. Verlangt wird aber ein sehr detailliertes Wissen der Wahrscheinlichkeiten prob[ h ] und prob[ B | h ]. Die Bestimmung dieser Wahrscheinlichkeiten ist ein wesentlicher Kritikpunkt wie auch die häufig sehr komplexe algorithmische Bestimmung der MAP- oder ML-Hypothese. Die Bedeutung des Bayes-Ansatzes besteht auch in einer möglichen Motivation von Lernmethoden, wenn sich die dort gefundenen Hypothesen als MAP- oder ML-Hypothesen herausstellen: Zum Beispiel motiviert das Prinzip der minimalen Beschreibungslänge (im Englischen: MDL-Prinzip für minimum description length) Occam Algorithmen. Aufgabe 69 Sei C eine Konzeptklasse und H eine Hypothesenklasse mit einer vorgegebenen Namensfunktion. Länge(h) bezeichne die Länge eines kürzesten Namens für h. Wir definieren prob[ h ] = P 2−Länge(h) . 2−Länge(h) h∈H Die Wahrscheinlichkeit eines Beispiels b sei unabhängig von der Hypothese. Wir setzen also, für Klassifizierungen c1 , c2 , . . . , cm , prob[ (b1 , c1 ), . . . , (bm , cm ) | h ] = m Y prob[ bi | h ] · prob[ (c1 , . . . , cm ) | h, (b1 , . . . , bm ) ]. i=1 Wie sollte prob[ (c1 , . . . , cm ) | h, (b1 , . . . , bm ) ] definiert werden, damit Occam-Hypothesen (also kurze Hypothesen mit wenigen Fehlern) zu MAP-Hypothesen werden? Beachte, dass H beliebig ist und damit konsistente Hypothesen nicht zu existieren brauchen. Kommentar: Diese Aufgabe behandelt somit eine Variante des Prinzips der minimalen Beschreibungslänge. 6.3.2 Naive Bayes Klassifizierer Wir betrachten zuerst das Problem der optimalen Bayes Klassifizierung. Gegeben ist wieder eine Hypothesenklasse H, im Unterschied zur bisherigen Situation liegt uns jetzt aber nur ein einziges Beispiel B vor, das mit einer Klassifizierung c ∈ C zu klassifizieren ist. Wir nehmen an, dass wir die Wahrscheinlichkeiten prob[ h | B ] für jede Hypothese h ∈ H und prob[ c | h ] für jedes c ∈ C kennen. Gesucht ist eine Klassifizierung c0 ∈ C mit prob[ c0 | B ] = max prob[ c | B ]. c∈C Aufgabe 70 Zeige prob[ c | B ] = X prob[ c | h ] · prob[ h | B ]. h∈H Wir können also eine beste Klassifizierung mit dem vorhandenen Wissen berechnen. Im Gegensatz zum PAC-Setup sind Hypothesen diesmal Zufallsvariablen mit Werten in C, die Werte h(B) können also nicht bestimmt werden und werden durch die Wahrscheinlichkeiten prob[ h | B ] ersetzt. Können wir trotzdem die höchstwahrscheinliche Klassifikation der MAPHypothese h für B übernehmen? 141 6.3. BAYES VERFAHREN Beispiel 6.4 Es sei H = {h1 , h2 , h3 } und für ein vorgegebenes Beispiel B möge prob[ h1 | B ] = 0.4 und prob[ h2 | B ] = prob[ h3 | B ] = 0.3 gelten. Die Hypothese h1 ist also die MAP-Hypothese. Nur die Klassifizierungen 0 oder 1 mögen auftauchen, wobei prob[ 0 | h1 ] = 0.8, prob[ 1 | h1 ] = 0.2 prob[ 0 | h3 ] = 0.1, prob[ 1 | h3 ] = 0.9. prob[ 0 | h2 ] = 0.1, prob[ 1 | h2 ] = 0.9 gelten möge. Klassifizierung 0 für B erhält die Wahrscheinlichkeit 0.8 · 0.4 + 2 · 0.1 · 0.3 = 0.38, während Klassifizierung 1 die Wahrscheinlichkeit 0.2 · 0.4 + 2 · 0.9 · 0.3 = 0.62 erhält. Die beiden schwächeren Hypothesen h2 , h3 kompensieren durch ihr fast eindeutiges Votum für die Klassifikation 1 das Votum der MAP-Hypothese für die Klassifikation 0. Beachte, dass eine Variante von weighted Majority die optimale Bayes Klassifikation bestimmt: Wir definieren das Gewicht der Hypothese h und des Votums c durch prob[ c | h ] · prob[ h | B ] und entscheiden uns für das Mehrheitsvotum. Das Auffinden einer optimalen Bayes-Klassifizierung ist äußerst aufwändig, da wir uns alle Hypothesen einer möglicherweise sehr großen Hypothesenklasse anschauen müssen. Wir werden im weiteren heuristische Annahmen aufstellen, um den Berechnungsprozess zu beschleunigen. Zuerst nehmen wir an, Q dass jedes Beispiel B durch einen Feature-Vektor beschrieben ist, also durch ein Wort aus i Σi für Alphabete Σ1 , . . . , Σi , . . .. Eine unbekannte Zielfunktion f möge Beispiele gemäß einer endlichen Menge C klassifizieren. Es sei B = (a1 , . . . , an ) und unser Ziel ist die Bestimmung von max prob[ c | a1 · · · an ]. c∈C Mit dem Satz von Bayes ist prob[ c | a1 · · · an ] = prob[ a1 · · · an | c ] · prob[ c ] prob[ a1 · · · an ] und wir beachten, dass damit eine Maximierung von prob[ a1 · · · an | c ] · prob[ c ] ausreicht. Wir machen jetzt die heuristische Annahme der stochastischen Unabhängigkeit, nämlich n Y prob[ a1 · · · an | c ] = prob[ ai | c ] i=1 und werden auf das Maximierungsproblem max c∈C n Y i=1 ! prob[ ai | c ] · prob[ c ] 142 KAPITEL 6. WEITERE LERNVERFAHREN geführt. Wir werden jetzt vom Problem der optimalen Bayes Klassifikation auf das Problem der naiven Bayes Klassifizierung geführt: Bestimme eine Klassifizierung c0 ∈ C, so dass ! n n Y Y prob[ ai | c0 ] · prob[ c0 ] = max prob[ ai | c ] · prob[ c ]. c∈C i=1 i=1 P Fazit: Zur Berechnung einer optimalen Bayes-Klassifizierung sind nur die ni=1 | Σi | · | C | Terme prob[ ai | c ] durch eine Statistik auf den Trainingsdaten zu bestimmen (neben den Wahrscheinlichkeiten prob[ c ] für c ∈ C). Der Erfolg dieses Ansatzes hängt natürlich wesentlich von der Auswahl der Features, also von der Repräsentation des Beispiels ab. Diese Auswahl muss die Annahme der stochastischen Unabhängigkeit rechtfertigen. Beispiel 6.5 Wir möchten ein Programm schreiben, dass die für einen Benutzer interessanten Informationen im WWW sucht. Das Lernproblem besteht also darin, den Geschmack des Benutzers herauszufinden. Unser Programm erhält Textdateien als Beispiele. Diese Textdateien sind entweder als interessant oder als uninteressant klassifiziert. Wir wählen als Features die Worte eines vorgegebenen Vokabulars V und damit wird Σi = V für jedes i. Ein Beispiel, also eine Textdatei, wird somit durch den Vektor der in ihr auftretenden Worte repräsentiert. Die Annahme der stochastischen Unabhängigkeit ist in diesem Beispiel recht lächerlich: Die Wahrscheinlichkeit, dass ein bestimmtes Wort an einer bestimmten Position innerhalb einer interessanten Datei auftritt, hängt natürlich von dem lokalen Kontext ab. Wir verfolgen diese Annahme trotzdem und nehmen an, dass prob[ a1 · · · an | c ] = n Y i=1 prob[ ai | c ]. Die Wahrscheinlichkeiten prob[ c ] bestimmen wir aus den vorgegebenen Beispielsdateien ebenso wie Statistiken für die Worte w der englischen Sprache. Insbesondere setzen wir prob[ w | c ] = Häufigkeitc (w) , P +V wobei Häufigkeitc (w) die Häufigkeit des Wortes w in allen Textdateien mit Klassifizierung c misst. P ist die Summe der Wortanzahlen aller Textdateien mit Klassifizierung c und V ist die Größe des Vokabulars. Überraschenderweise (?) ist diese Methode eine der erfolgreichsten gegenwärtigen Methoden. (Es ist anzuraten, sehr selten auftrende Worte zu übergehen und auch sehr häufige Worte nicht zu beachten, da sie für die Grammatik, nicht aber für den Inhalt verantwortlich sind.) 6.3.3 Bayes Belief Netzwerke Wir stellen uns vor, dass n Zufallsvariablen X1 , . . . , Xn gegeben sind. Unser Ziel ist die Bestimmung der gemeinsamen Wahrscheinlichkeitsverteilung p[X1 = x1 , . . . , Xn = xn ]. Die Bestimmung der gemeinsamen Verteilung ist problemlos, wenn die Zufallsvariablen unabhängig sind, denn in diesem Fall gilt p[X1 = x1 , . . . , Xn = xn ] = p[X1 = x1 ] · · · p[Xn = xn ]. 143 6.3. BAYES VERFAHREN Im allgemeinen Fall ist die Bestimmung der gemeinsamen Verteilung extrem aufwändig, es sei denn die Abhängigkeiten unter den Variablen können explizit gemacht werden. Genau dies ist Sinn und Zweck der Bayes (Belief ) Netzwerke B = (V, E, p): - Es ist V = {X1 , . . . , Xn } und (V, E) ist ein gerichteter Graph ohne Kreise. - Für Knoten Xi seien Xi1 , . . . , Xik die direkten Vorgänger von Xi . (Xi1 , . . . , Xik werden auch die Eltern von Xi genannt.) Wir fordern p[Xi = xi | Xi1 = xi1 , . . . , Xik = xik ] = p[Xi = xi | X1 = x1 , . . . , Xi−1 = xi−1 , Xi+1 = xi+1 , . . . , Xn = xn ] Xi ist also von seinen Eltern abhängig und nicht nur dies: Der Gesamteinfluss der restlichen Variablen auf Xi entspricht genau dem Einfluss der Eltern auf Xi . - Die bedingten Wahrscheinlichkeiten p[Xi = xi | Xi1 = xi1 , . . . , Xik = xik ] werden jedem Knoten Xi zugewiesen. Die Graphstruktur eines Bayes Netzwerks zeigt alle maßgeblichen kausalen Beziehungen unter den Zufallsvaribalen, denn es gilt: Lemma 6.6 Sei B ein Bayes Netzwerk mit den Zufallsvariablen X1 , . . . , Xn . Wenn Xi1 , . . . , Xik(i) die Eltern von Xi sind, dann gilt p[X1 = x1 , . . . , Xn = xn ] = n Y i=1 p[Xi = xi | Xi1 = xi1 , . . . , Xik(i) = xik(i) ]. Aufgabe 71 Zeige Lemma 6.6. Bayes Netzwerke werden vor allem für die probabilistische Inferenz eingesetzt. Ein Beispiel ist das Pathfinder System, das für die Diagnose von Lymphknoten-Erkrankungen eingesetzt wird. Pathfinder führt etwa 100 Symptome, Befunde und Laborwerte sowie 60 verschiedene Diagnosen auf. Nach Setzung der Evidenz-Variablen, also nach Eingabe der Symptome, Befunde und Laborwerte eines Patienten gibt Pathfinder einen Überblick über die Wahrscheinlichkeiten der jeweiligen Diagnosen. Die allgemeine Aufgabe der probabilistischen Inferenz besteht in der (approximativen) Bestimmung der gemeinsamen Verteilung für eine ausgewählte Teilmenge nicht beobachteter Variablen, nachdem die beobachteten Variablen gesetzt wurden. Wenn die gemeinsame Verteilung aller nicht beobachteten Variablen bestimmt werden soll, dann gelingt dies mit Lemma 6.6, wird aber die gemeinsame Verteilung einer Teilmenge gewünscht, so führt dies auf ein N P-hartes Problem [C90] selbst dann, wenn nur eine approximative Bestimmung benötigt wird. Häufig werden hier Markov-Chain-Monte-Carlo Methoden eingesetzt: Die nicht beobachteten Variablen werden zufällig gesetzt. Häufig sind nur einige Eigenschaften der Tabellen bedingter Wahrscheinlichkeiten, wie etwa Erwartungswerte, bekannt. Die Tabellen müssen dann geschätzt werden. Das Prinzip der Maximum Entropie schlägt vor, unter allen die bekannten Eigenschaften erfüllenden Verteilungen stets eine Wahrscheinlichkeitsverteilung mit maximaler Entropie zu wählen. Mit diesem Prinzip wird ausgedrückt, dass man eine möglichst uninformative“ Vertelung wählen ” sollte, da jede andere Wahl willkürlich erscheint. 144 KAPITEL 6. WEITERE LERNVERFAHREN Eine zweite Möglichkeit der Tabellenbestimmung ist der EM Algorithmus, der eine beste Hypothese sucht, wenn das beobachtete Verhalten von versteckten“ Variablen abhängt. Hier ” wird versucht, die Tabellen so zu setzen, dass die Werte der beobachteten Variablen möglichst hochwahrscheinlich sind. Den EM Algorithmus besprechen wir im nächsten Abschnitt. Für weitergehende Information wie auch für Informationen über die die Bestimmung der Graphstruktur verweisen wir auf [M97]. 6.3.4 Expectation Maximization Wir nehmen an, dass beobachtete Daten x vorliegen. Wir suchen nach einem Modell Θ, das die Daten am besten erklärt“, das also unbekannte Parameter optimal setzt. Wir denken uns ” das Modell Θ durch die Angabe der gemeinsamen Wahrscheinlichkeiten Pθ (x, y) gegeben, wobei x eine Folge der beobachteten Daten und y eine Folge versteckter Daten ist. Wenn PΘ (x) die Wahrscheinlichkeit einer Beobachtung von x ist, dann folgt offensichtlich PΘ (x) = X PΘ (x, y). y Unser Ziel ist die Bestimmung eines Modells Θ∗ , so dass die beobachteten Daten möglichst hochwahrscheinlich werden, d.h. dass PΘ (x) maximal ist. Wir fordern also log PΘ∗ (x) = max log PΘ (x). Θ Es ist PΘ (y | x) · PΘ (x) = PΘ (x, y) und deshalb folgt log PΘ (x) = log PΘ (x, y) − log PΘ (y | x). Wir multiplizieren beide Seiten mit PΘ (y | x) und summieren über die fehlenden Daten y, um X log PΘ (x) = PΘ (y | x) · log PΘ (x) y = X y PΘ (y | x) · log PΘ (x, y) − X y PΘ (y | x) · log PΘ (y | x) zu erhalten. Wir möchten von Θ zu einem besseren Modell Θ′ übergehen und erhalten mit dem gleichen Vorgehen, log PΘ′ (x) = X y PΘ (y | x) · log PΘ′ (x, y) − Definition 6.7 Setze Q(Θ′ | Θ) = X y X y PΘ (y | x) · log PΘ′ (y | x). PΘ (y | x) · log PΘ′ (x, y). 145 6.3. BAYES VERFAHREN Die Funktion Q(Θ′ | Θ) ist der Erwartungswert von log PΘ′ (x, y), wenn wir annehmen, dass das alte Modell Θ bereits das gesuchte ideale Modell ist, wenn wir also annehmen, dass PΘ (y | x) die tatsächliche gemeinsame Verteilung der versteckten Variablen bei Beobachtung x ist. Der Clou ist, dass Q(Θ′ | Θ) als Erwartungswert relativ einfach zu bestimmen ist und dass eine Optimierung von Q manchmal direkt möglich ist. Da wir ein besseres Modell Θ′ erhalten möchten, ist log PΘ′ (x) − log PΘ (x) ≥ 0 zu fordern. Wir erhalten log PΘ′ (x) − log PΘ (x) = Q(Θ′ | Θ) − Q(Θ | Θ) + ′ ≥ Q(Θ | Θ) − Q(Θ | Θ), denn die Kullback-Leibler Divergenz P y PΘ (y | x) · log X y PΘ (y | x) · log PΘ (y | x) PΘ′ (y | x) PΘ (y | x) PΘ′ (y | x) ist nicht-negativ: Lemma 6.8 Seien q und r zwei Verteilungen. Dann ist stets X qa qa · log ≥0 ra a und Gleichheit gilt genau dann, wenn q = r. Beweis: Wir beachten zuerst, dass ln(x) ≤ x − 1 für alle x gilt und Gleichheit nur für x = 1 zutrifft. Warum? Die Tangente von ln(x) am Punkt x = 1 ist die Gerade y = x − 1 und diese Gerade liegt oberhalb der (konkaven) Funktion. Also folgt aus ln x1 = − ln x ≥ 1 − x, X a qa · log2 qa ra = ≥ = X 1 qa · qa · ln ln(2) a ra X X 1 ra 1 qa · (1 − ) = (qa − ra ) · · ln(2) a qa ln(2) a X X 1 ·( qa − ra ) = 0. ln(2) a a Warum gilt Gleichheit genau dann, wenn qa = ra für alle a? 2 Wenn also Q(Θ′ | Θ) − Q(Θ | Θ) > 0 gilt, dann folgt log PΘ′ (x) − log PΘ (x) > 0, bzw. PΘ′ (x) > PΘ (x). Es genügt also, Q(Θ′ | Θ) > Q(Θ | Θ) zu fordern, wenn wir ein besseres Modell Θ′ erhalten möchten. Damit ist der EM-Algorithmus auch schon motiviert: Algorithmus 6.9 EM-Algorithmus (Erwartungswert-Maximierung). Eingabe: Eine Beobachtung x. (1) Initialisiere die Parameter für ein Modell Θ. (2) /* Expectation Schritt Bestimme Q(Θ′ | Θ) als Funktion von Θ′ . */ 146 KAPITEL 6. WEITERE LERNVERFAHREN (3) /* Maximization Schritt Bestimme Θ′ , so dass */ Q(Θ′ | Θ) = max Q(Θ∗ | Θ). ∗ Θ Θ′ Die Parameter in sind also so zu setzen, dass der Erwartungswert E[log PΘ′ (x, y)] maximal ist, wenn PΘ (x, y) die tatsächliche gemeinsame Verteilung ist. (4) Solange log PΘ′ (x) − log PΘ (x) genügend gross ist, wiederhole die Schritte (2) und (3) mit Θ ersetzt durch Θ′ . Der EM-Algorithmus macht also stets Fortschritte, allerdings konvergiert er im Allgemeinen gegen ein lokales Maximum der Funktion f (Θ) = PΘ (x). Bemerkung 6.3 Der Baum-Welch Algorithmus ist ein Spezialfall des EM-Algorithmus. Der Baum Welch Algorithmus versucht, die unbekannten Parameter eines Hidden Markov Models (HMM) zu bestimmen. 6.4 Neuronale Netzwerke Die erfolgreichen Lernalgorithmen für neuronale Netze beschränken sich auf (neuronale) Feedforward-Netze. Deshalb konzentrieren wir uns auf diesen Netztyp. Definition 6.10 Ein Feedforward-Netz besteht aus - einem azyklischen, gerichteten Graphen G = (V, E), - einer Zuweisung von Aktivierungsfunktionen“ γv : Rindegree(v) → R zu Knoten v ∈ V , ” - einer Zuweisung von Schwellenwerten tv ∈ R zu Knoten v ∈ V , - einer Zuweisung von Gewichten wu,v zu Kanten (u, v) ∈ E und - einer Folge von Eingabeknoten (Quellen) und Ausgabeknoten. Wie rechnet das Netz? Reelle Zahlen liegen an den Quellen an. Wenn sämtliche Eingaben eines Knotens v berechnet sind, gibt der Knoten v die Ausgabe X xv = γv wu,v · xu − tv , u,(u,v)∈E wobei xu die Ausgabe des Knotens u ist. Ein Feedforward-Netz übernimmt also die Schaltkreisarchitektur und verbietet somit Rückkopplung. Populäre Wahlen für γv sind: (a) Die von W.S. McCulloch und W. Pitts (1943) vorgeschlagene Threshold-Funktion 1 x≥0 γv (x) = 0 sonst. In diesem Fall wird der Knoten v die Ausgabe P 1 u,(u,v)∈E wu,v · xu ≥ tv xv = 0 sonst 147 6.4. NEURONALE NETZWERKE treffen. W.S. McCulloch und W. Pitts haben in ihrer Arbeit [CP43] versucht, mit Hilfe der Threshold-Funktion ein Neuron zu modellieren. Wir sagen, dass Neuron v feu” ert“, wenn es eine Eins ausgibt. Die Ausgabe der Nachbarneuronen u mit (u, v) ∈ E bestimmen, ob v feuert. Die - hemmenden Impulse (negative Gewichte), bzw die - verstärkenden Impulse (positive Gewichte) liefern nach Integration (Summation) einen Wert, der mit dem Schwellenwert des Neurons verglichen wird. (b) Eine differenzierbare Erweiterung“ der Thresholdfunktion ist das Standard-Sigmoid ” γv (x) = 1 . 1 + e−x 1 1 1+e−x 0.8 0.6 0.4 0.2 0 -10 -5 0 5 10 Statt des Standard-Sigmoids wird auch manchmal der äquivalente hyperbolische Tangens verwandt. Aufgabe 72 Wir definieren die Konzeptklasse Cnk der neuronalen Netze mit folgender Architektur: • Das Netz hat n Eingabeneuronen und ein Thresholdgatter als Ausgabeneuron. • Das Netz hat zusätzlich k versteckte Neuronen, mit dem Standard-Sigmoid als Aktivierungsfunktion. Es gibt keine Verbindung unter den versteckten Neuronen. • Jedes Eingabeneuron ist mit allen versteckten Neuronen verbunden und jedes versteckte Neuron ist mit dem Ausgabeneuron verbunden. Beweise, dass V C(Cnk ) = Ω(kn) Hinweis: Zeige, dass k−Term DNFn ⊆ Cnk ist. 148 6.4.1 KAPITEL 6. WEITERE LERNVERFAHREN Die Berechnungskraft von Neuronalen Netzen Wir nennen ein Feedforward-Netz, das nur die Thresholdfunktion als Aktivierungsfunktion benutzt, einen Threshold-Schalkreis. Wir werden sehen, dass die Berechnungskraft der Threshold-Schalkreise beachtlich ist. Wir haben bereits gesehen, dass die Booleschen Operationen ∧, ∨ und ¬ durch Thresholdfunktionen realisiert werden können, nämlich: ¬x ⇔ −x ≥ 0 n X x1 ∧ x2 ∧ · · · ∧ xn ⇔ xi ≥ n i=1 x1 ∨ x2 ∨ · · · ∨ xn ⇔ n X i=1 xi ≥ 1. Aber tiefenbeschränkte Threshold-Schaltkreise sind wesentlich mächtiger als tiefenbeschränkte {∧, ∨, ¬}-Schaltkreise: Jeder {∧, ∨, ¬}-Schaltkreis der Tiefe t, der die Paritätsfunktion x1 ⊕ x2 ⊕ · · · ⊕ xn 1/t berechnet, hat mindestens 2Ω(n ) Knoten [BS90]. Ein Threshold-Schaltkreis hingegen berechnet die Paritätsfunktion in Tiefe 2 mit n + 1 Knoten. 6 ≥1 3 k I 6 +1 −1 ≥1 ≥2 +1 −1 ≥3 ≥4 y * y 1 i y 6 1 s x1 x2 +1 −1 ≥n :: I 6 ··· 1 s xn Die n Knoten v1 , . . . , vn der ersten Schicht zählen die Einsen in der Eingabe x1 , . . . , xn . Der Knoten vk (k = 1, . . . , n) feuert genau dann, wenn mindestens k Einsen auftreten, d.h. Pn 1 i=1 xi ≥ k xvk = 0 sonst. Der einzige Knoten der zweiten Schicht liefert die Ausgabe Pn i+1 · x ≥ 1 1 vi i=1 (−1) xvn+1 = 0 sonst. Das Sortierproblem für x1 , . . . , xn ∈ {0, 1}n kann ein Threshold-Schalkreis mit O(n3 ) Knoten in Tiefe 5, also in kostanter Zeit, lösen. Wir setzen o.B.d.A. voraus, dass die Schlüssel paarweise verschieden sind. Wir arbeiten in drei Phasen: 149 6.4. NEURONALE NETZWERKE (1) Wir vergleichen jedes Paar (xi , xj ) mit i 6= j: xi ≤ xj ⇔ n−1 X k=0 xj,k · 2k − n−1 X k=0 xi,k · 2k ≥ 0. Der Vergleich gelingt in einer Schicht mit n Knoten. (2) Wir bestimmen für jeden Index i Rang(xi ) = | { k | xk ≤ xi } | mit zwei Schichten. Rang(xi ) ist die Position, an der der Schlüssel xi in der sortierten Folge steht. Für k = 1, . . . , n testen wir, ob Rang(xi ) = k ist. Dies gelingt für alle i = 1, . . . , n in zwei Schichten mit O(n2 )-vielen Knoten. (3) Wir berechnen das r-te Bit des s-ten Ausgabeschlüssels durch n _ i=1 (Rang(xi ) = s) ∧ xi,r . Dies gelingt in zwei Schichten mit O(n3 )-vielen Knoten. Damit haben wir das folgende Ergebnis erhalten. Lemma 6.11 n Zahlen mit jeweils n Bits können durch einen Threshold-Schaltkreis der Tiefe fünf mit O(n3 ) Knoten sortiert werden. Wir zeigen jetzt, dass Threshold-Schaltkreise auch eine erstaunliche Berechnungskraft als Number-Cruncher“ besitzen. ” Lemma 6.12 n n-Bit Zahlen können in konstanter Tiefe durch einen Threshold-Schaltkreis mit poly(n) Knoten addiert werden. Aufgabe 73 Entwerfe einen Threshold-Schaltkreis konstanter Tiefe, der n Zahlen mit jeweils n Bits mit poly(n) Knoten in konstanter Tiefe addiert. Die Binärdarstellungen der Zahlen seien (x1,1 , . . . , x1,n ), . . ., (xn,1 , . . . , xn,n ). Hinweis: Jedes Bit der Summe muss berechnet werden. Das i−te Summenbit hängt nur von der Zahl n X i X xj,k 2k−1 j=1 k=1 ab. Man beachte, dass wir damit zwei n-Bit Zahlen in konstanter Tiefe multiplizieren können, wobei nur poly(n) Gatter benötigt werden. Tatsächlich können wir dieses Ergebnis noch wesentlich verschärfen. Lemma 6.13 n n-Bit Zahlen x1 = (x1,n−1 , . . . , x1,0 ), . . . , xn = (xn,n−1 , . . . , xn,0 ) können durch einen Threshold-Schaltkreis kostanter Tiefe und polynomieller Größe multipliziert werden. 150 KAPITEL 6. WEITERE LERNVERFAHREN Beweis. 1. Zuerst kodieren“ wir die ersten n2 Primzahlen p1 , . . . , pn2 in den zu konstruie” renden Schaltkreis. Beachte, dass n2 Y 2 pi ≥ 2n P = i=1 gilt. Unser Schaltkreis wird sodann die Eingabezahlen modulo pk berechnen. Da xi ≡ n−1 X 2j xi,j mod pk j=0 wird die modulo-Bestimmung durch die Addition von n Zahlen mit O(log n) Bits gelöst. Wir kodieren deshalb die Binärdarstellung von 2j mod pk in den Schaltkreis und lösen das Additionsproblem mit Lemma 6.12. 2. Für den nächsten Schritt, nämlich die Berechnung des iterierten Produktes modulo pk , kodieren wir ein primitives Element gk für die Modulo-Berechnung gemäß pk in den Schaltkreis. (gk hat die Eigenschaft, dass {gk , gk2 , . . . , gkpk −1 } jede Restklasse modulo pk genau einmal trifft.) Weiterhin kodieren wir eine Tabelle in den Schaltkreis, die jeder Restklasse x mod pk die entsprechende gk -Potenz zuordnet. Damit können wir durch einen Table-Lookup“ ei mit ” xi = gkei mod pk bestimmen. Das iterierte Produktproblem ist jetzt auf ein Additionsproblem zurückgeführt, da n n Pn Y Y e xi ≡ gkei = gk i=1 i mod pk . i=1 i=1 Pn P Wir bestimmen i=1 ei mit Lemma 6.12 und berechnen dann ni=1 ei mod (pk − 1). (Wie ?) 3. Wir setzen jetzt unsere modulo-Ergebnisse mit Hilfe des Chinesischen Restsatzes zusammen. Es sei n Y xi ≡ rk mod pk . i=1 Wir setzen qk = p1 · · · pn2 pk und kodieren das multiplikative Inverse qk−1 von qk modulo pk in den Schaltkreis (also qk ·qk−1 ≡ 1 mod (pk )). Wir behaupten, dass n Y i=1 2 xi ≡ n X k=1 2 qk · qk−1 · rk mod n Y i=1 pi . 151 6.4. NEURONALE NETZWERKE Die Behauptung folgt, da für jedes k 2 n X j=1 qj qj−1 rj ≡ qk qk−1 rk ≡ rk mod pk . Unser Threshold-Schaltkreis berechnet jetzt parallel alle Produkte qk · qk−1 · rk mit Lemma 6.12 und dann erfolgt, wiederum mit Lemma 6.12, die Berechnung von 2 ξ= n X qk qk−1 rk . k=1 In einem Folgeschritt wird ξ mod berechnen? Wir wissen, dass Qn2 k=1 pk berechnet. Wie aber lässt sich jetzt n2 n 2 n Y pk > 2 k=1 ≥ (2 − 1) ≥ und damit ist n Y i=1 Und das war zu zeigen. xi = n Y i=1 n n Y xi mod ( k=1 i=1 xi xi i=1 2 n Y Qn 2 pk ) = ξ mod n Y pk . k=1 2 Bemerkung 6.4 Threshold-Schaltkreise können somit effizient Polynome berechnen. Insbesondere gibt es damit in konstanter Tiefe scharfe Approximationen analytischer Funktionen wie 1 ln(x), ex und σ(x) = . 1 + e−x Für einen Approximationsfehler von höchstens 2−n für x ∈ {1, . . . , 2n } genügen poly(n) Threshold-Gatter, da Taylorpolynome entsprechend scharf approximieren! Wenn wir also einen polynomiellen Blow-up“ in der Größe und eine Vergrößerung der Tiefe um einen ” konstanten Faktor in Kauf nehmen wollen, dann können Threshold-Schaltkreise SigmoidSchaltkreise simulieren. Bemerkung 6.5 Die Komplexitätsklasse T C 0 besteht aus allen Sprachen L ⊆ {0, 1}∗ , die sich durch Familien von Threshold-Schaltkreisen konstanter Tiefe und polynomieller Größe berechnen lassen. (Genauer gesagt sollten wir noch fordern, dass die Schaltkreisfamilien auch effizient konstruierbar sind. Ansonsten würde T C 0 nicht-entscheidbare Sprachen enthalten.) Aus der vorigen Bemerkung folgt, dass T C 0 sämtliche Sprachen enthält, die sich durch Sigmoid-Schaltkreise polynomieller Größe und konstanter Tiefe berechnen lassen. Wie mächtig ist die Klasse T C 0 ? Ein Threshold-Gatter lässt sich leicht durch einen {∧, ∨, ¬}Schaltkreis polynomieller Größe und logarithmischer Tiefe berechnen. Wir definieren die Komplexitätsklasse N C 1 als die Klasse aller Sprachen L ⊆ {0, 1}∗ , die sich durch (effizient konstruierbare) {∧, ∨, ¬}-Schaltkreisfamilien polynomieller Größe und logarithmischer Tiefe berechnen lassen. Damit ist also T C 0 ⊆ N C 1. 152 KAPITEL 6. WEITERE LERNVERFAHREN Die Berechnungsschwächen von N C 1 (und damit auch von T C 0 ) liegen zum Beispiel in der Lösung selbst einfacher Graphenprobleme. In aller Wahrscheinlichkeit“ wird zum Beispiel ” das Problem der Bestimmung der Zusammenhangskomponenten ungerichteter Graphen nicht in N C 1 liegen. Wir beschäftigen uns jetzt mit analogen neuronalen“ Schaltkreisen und nehmen also an, ” dass beliebige reelle Zahlen als Eingaben anliegen. Wie groß ist die Berechnungskraft von Sigmoid-Schaltkreisen? Beispiel 6.6 Approximatives Quadrieren bei differenzierbarer Aktivierungsfunktion Die Aktivierungsfunktion γ sei 2-fach stetig differenzierbar und es gelte γ ′′ (0) 6= 0. Wir konstruieren einen γ-Schaltkreis der Tiefe 2, der eine Eingabe x ∈ [−1, 1] approximativ quadriert. Zuerst entwickeln wir γ in sein quadratisches Taylorpolynom und den Restterm r(x) und erhalten x2 γ(x) = γ(0) + xγ ′ (0) + γ ′′ (0) + r(x), 2 3 wobei |r(x)| = O(|x |). Wir setzen γ ∗ (x) = (γ(x) − xγ ′ (0) − γ(0)) und erhalten γ ∗ (x) = x2 + Um den Approximationsfehler 2r(x) γ ′′ (0) 2 γ ′′ (0) 2r(x) . γ ′′ (0) zu drücken, wird unser γ-Schaltkreis x L2 · γ ∗ ( ) L berechnen. Beachte, dass 2r( Lx )L2 x L 2 · γ ∗ ( ) = x2 + L γ ′′ (0) und der Approximationsfehler ist höchstens 2r( Lx )L2 x3 = O( ), γ ′′ (0) L denn | r( Lx ) | = O(| x3 L3 |). Es kann gezeigt werden, dass Sigmoid Schaltkreise in Tiefe 2 Polynome vom Grad n mit n + 2 Gattern approximativ berechnen können. Natürlich kann ein Sigmoid-Gatter ein ThresholdGatter scharf approximieren, denn σ(L · x) = 1+e1−L·x wird für großes L eine scharfe Approximation der binären Thresholdfunktion liefern. Damit können Sigmoid-Schaltkreise auch stückweise-Polynome scharf in konstanter Tiefe approximieren und besitzen damit die Approximationskraft der Spline-Funktionen. Fazit: Kleine (d.h. polynomielle) neuronale Netze konstanter Tiefe besitzen eine erstaunliche Approximationskraft, sind aber nicht zum Lösen einfacher kombinatorischer (z.B. graphtheoretischer) Probleme geeignet. 153 6.4. NEURONALE NETZWERKE 6.4.2 Backpropagation Wir lernen nun den Backpropagation Lernalgoritmus kennen, der als eine Verallgemeinerung“ ” des Perzeptron-Algorithmus aufgefasst werden kann. Der Backpropagation-Algorithmus arbeitet nach folgendem Schema: 1. Fordere klassifizierte Beispiele (x1 , b1 ), (x2 , b2 ), . . . , (xs , bs ) an. 2. Trainiere das Netz, um all diese Beispiele auswendig“ zu lernen. ” Wir hoffen, dass das trainierte Netz verallgemeinert, das heißt, dass die Ausgabe des neuronalen Netzes auch für die übrigen Eingaben dem Konzept weitgehend entspricht. Wie trainieren wir das Netz? Der Vektor w ~ umfasse alle Gewichte und Schwellenwerte. Die Ausgabe des Netzes bezüglich w ~ und Eingabe x sei Netz(w, ~ x). Wir definieren zu den s klassifizierten Beispielen (xi , bi ) eine differenzierbare Energie-Funktion E durch E (w) ~ = s X i=1 (bi − Netz(w, ~ xi ))2 . Unser Ziel ist eine Minimierung dieser Energie-Funktion (siehe auch Beispiel 6.3). Aus der Taylor-Entwicklung um den Punkt w ~ 0 erhalten wir E(w) ~ = E(w ~ 0 ) + hw ~ −w ~ 0 , ∇E(w ~ 0 )i + O(||w ~ −w ~ 0 ||2 ). Wir wählen wneu = w ~ 0 − η · ∇E(w ~ 0 ) für einen hinreichend kleinen Lernparameter η > 0, so dass ~ 0 ), ∇E(w ~ 0 ) ) + O(||η · ∇E(w ~ 0 )||2 ) E(w ~ neu ) = E(w ~ 0 ) + ( −η · ∇E(w = E(w ~ 0 ) − η · ||∇E(w ~ 0 )||2 + O(η 2 · ||∇E(w ~ 0 )||2 ) | {z } größer als 0 für η > 0 hinreichend klein < E(w ~ 0 ). Solche Verfahren zur Aktualisierung der Gewichte sind auch als Gradient Descent (oder Gradientenabstiegs-) Verfahren bekannt. Wir verweisen auf den Text [M97] von Mitchell (und die dort aufgeführten Referenzen) für eine detailliertere Beschreibung von Backpropagation und seinen Varianten. Wie aufwändig ist die Trainingsphase? Falls das RSA-Kryptosystem nicht in Polynomialzeit gebrochen werden kann, existiert kein effizienter PAC-Algorithmus für Threshold-Schaltkreise konstanter Tiefe. Sogar mit Element- und Äquivalenzfragen oder Beispielen gemäß der Gleichverteilung folgt aus der RSA-Hypothese, dass es keinen effizienten Lernalgorithmus gibt. Mit anderen Worten die beeindruckende Berechnungskraft neuronaler Netze macht diese sehr attraktiv als einen ausdrucksstarken Formalismus. Leider ist diese beeindruckende Berechnungskraft aber auch der Grund, dass Lernalgorithmen für neuronale Netze im allgemeinen ineffizient sind. Aufgabe 74 Wir möchten ein unbekanntes Thresholdgatter f (x1 , . . . , xn ) = 1 0 P i wi x i ≥ t sonst 154 KAPITEL 6. WEITERE LERNVERFAHREN mit Hilfe von Backpropagation lernen. Die Architektur für Backpropagation besteht aus einem einzigen Sigmoidgatter (mit dem Sigmoid σ(x) = 1/(1+e−x )). Wir bezeichenen die Ausgabe des Sigmoidgatters, bei vorgegebener Eingabe x, und gegenwärtigen Gewichten w1 , w2 , . . . , wn und Schwellenwert t mit Netz(w1 ,...,wn ,t) (x). Wir benutzen eine inkrementelle Variante von Backpropagation, in der die Beispiele in irgendeiner Reihenfolge möglicherweise sogar wiederholt abgearbeitet werden. Für Beispiel x wird der Update (w∗ , t∗ ) = (w, t) − η∇Fehlerx (w, t) durchgeführt. Hierbei ist Fehlerx (w, t) = (f (x)−Netz(w,t) (x))2 Bestimme ∇Fehlerx (w, t) und stelle einen Zusammenhang zum Perzeptron Algorithmus her. Beispiel 6.7 Ziffernerkennung 6 6 6 6 6 6 6 6 6 6 10 Ausgabe-Neuronen 0 1 2 3 4 5 6 7 8 9 O 30 Neuronen 7 12 Gruppen 4×4 12 Gruppen 8×8 i ····· ····· ····· ····· ·· · · · y 1 Y: y : ··· o O ····· ····· ····· ····· ····· ··· I Eingabe (Handschrift) 16 × 16 K ··· ··· ··· ··· ··· ····· ····· ····· ····· ····· In [LBDH90] wird ein neuronales Netz konstruiert, um handgeschriebene ZIP-Codes (vergleichbar mit deutschen Postleitzahlen) zu erkennen. Das Netzwerk zum Erkennen einer einzelnen Ziffer besteht aus mehreren Stufen: (a) Die Eingabe ist ein 16 × 16-Pixel-Bild der handgeschriebenen Ziffer. (b) Die erste Stufe besteht aus 12 Gruppen zu je 64 Neuronen. Jedes Neuron erhält die Informationen eines 5×5-Ausschnitts der Eingabe. Wenn wir die Neuronen einer Gruppe als 8 × 8-Feld wie in der Abbildung anordnen, verschiebt sich der von Neuron zu Neuron betrachtete Eingabebereich jeweils um zwei Bildpunkte. (c) Die zweite Stufe besteht aus 12 Gruppen zu je 16 Neuronen und ist fast nach dem gleichen Prinzip aufgebaut. Jedes Neuron einer Gruppe betrachtet 5 × 5-Ausschnitte“ ” von 8 der 12 Gruppen der vorherigen Stufe. 6.4. NEURONALE NETZWERKE 155 (d) Die dritte Stufe besteht aus 30 Neuronen, die mit mit allen Neuronen der vorherigen Stufe verbunden sind. Um Backpropagation überhaupt durchführen zu können, muss die Anzahl der Gewichte bzw. Schwellenwerte reduziert werden. Dazu ordnet man jeder Gruppe der ersten Stufe jeweils 52 = 25 Gewichte zu und jedem der 64 Neuronen nur einen individuellen Schwellenwert (Weight-Sharing). Jeder Gruppe der zweiten Stufe weisen wir 8 · 52 = 100 Gewichte zu und jedem der 16 Neuronen nur einen individuellen Schwellenwert. Die Anzahl der Gewichte und Schwellenwerte des Netzes (also die Anzahl der Parameter der zu minimierenden Energiefunktion) ist 12 · (25 + 64) + 12 · (8 · 25 + 16) + 30 · 12 · 42 + 1 + 10 · (30 + 1) = 9760. Man hat das Netz mit 7300 handgeschriebenen Ziffern trainiert. Bei einem Test lag der Fehleranteil um 1% bei Eingaben aus der Beispielmenge und bei etwa 5% bei anderen Beispielen. Wenn man zulässt, dass das Netz bei Grenzfällen eine Klassifizierung ablehnen kann (tritt in etwa 12% der Fälle ein), ist die Ausgabe des Netzes in weniger als 1% der Fälle fehlerhaft. Das Netz lehnt eine Klassifierung ab, wenn sich die ermittelte Klassifizierung des Netzes nur unwesentlich von der zweit-stärksten Vermutung unterscheidet. Die Weiterentwicklung LeNet4 [LJBB95] (siehe auch Beispiel 5.1) führt in Verbindung mit Boosting (siehe Kapitel ??) zu einem der gegenwärtig besten Systeme: Auf der MNIST1 Datenmenge wird das Spitzenergebnis einer Fehlerrate von 0.7 % verzeichnet. (Der menschliche Fehler in der Klassifizierung liegt bei ungefähr 0.2 %.) Für das Erreichen eines Fehlers von 0.5 % mussten 0.5 % Prozent aller Klassifizierungen abgelehnt werden. 1 Datensatz des US National Institute of Standards and Technology. MNIST, der modifizierte Datensatz, hat sich mittlerweile als Benchmark etabliert. 156 KAPITEL 6. WEITERE LERNVERFAHREN Kapitel 7 Lernen mit Elementfragen In den bisherigen Kapiteln haben wir gesehen, dass das passive Lernmodell ein effizientes Lernen wichtiger Konzeptklassen ausschließt. Insbesondere existiert unter der RSA-Hypothese kein polynomieller PAC-Algorithmus für die Konzeptklasse AUTOMATn,{0,1} (Satz 2.50). Wir erweitern deshalb das Lernmodell um Elementfragen und Äquivalenzfragen und zeigen, dass endliche Automaten exakt und Entscheidungsbäume approximativ durch effiziente Algorithmen lernbar sind: Die Möglichkeit der Interaktion mit dem Lehrer zahlt sich also aus. • Bei einer Elementfrage gibt der Lernalgorithmus eine Eingabe an und erhält die Klassifizierung der Eingabe als Antwort. • Bei einer Äquivalenzfrage gibt der Lernalgorithmus seine gegenwärtige Hypothese an und erhält als Antwort entweder ein Gegenbeispiel oder die Bestätigung der Korrektheit. Wie praxisnahe“ sind die beiden Typen von Fragen? Eine Menge von klassifizierten Standard” Beispielen (z.B. charakteristische Schriftproben für das Schrifterkennungsproblem) steht im allgemeinen zur Verfügung und kann als Antwort auf die Äquivalenzfrage genommen werden. Wir haben bereits gesehen, dass Online-Algorithmen, also Algorithmen die nur Äquivalenzfragen stellen dürfen, nicht mächtiger als PAC-Algorithmen sind. Analog kann gezeigt werden, dass Algorithmen, die Element- und Äquivalenzfragen stellen, nicht mächtiger sind als PACAlgorithmen, die zusätzlich Elementfragen stellen. Problematisch sind Elementfragen, da der Lerner nach einem Element, dass nicht in der Beispielmenge liegt, fragen kann. Die Beantwortung solcher Fragen kann in einigen Fällen die Intervention eines menschlichen Experten erzwingen und wird somit teuer“. ” Aufgabe 75 Eine monotone DNF-Formel ist eine Disjunktion monotoner Monome. Die Konzeptklasse Monoton-DNFt,n besitzt für jede monotone DNF-Formel α mit höchstens t Termen über den Variablen x1 , . . . , xn das Konzept Wahr(α). Effiziente PAC-Algorithmen für Monoton-DNFt,n sind nicht bekannt. (a) Ein monotones Monom m heisst Implikant von α, wenn für alle x ∈ {0, 1}n m(x) = 1 =⇒ α(x) = 1 gilt. Ein Implikant m von α heisst Primimplikant von α, wenn kein Teilmonom m′ von m Implikant von α ist. Zeige, dass für alle x ∈ {0, 1}n gilt: _ α(x) = m(x) m Primimplikant von α 157 158 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN (b) Zeige, dass jedes α ∈ Monoton-DNFt,n höchstens t Primimplikanten besitzt. (c) Konstruiere einen Lernalgorithmus, der jedes Konzept aus Monoton-DNFt,n mit Hilfe von Elementfragen und Äquivalenzfragen in Zeit poly(t, n) exakt bestimmt. Aufgabe 76 Die Konzeptklasse INTERVALLlt,n besitzt für jede Vereinigung I1 ∪ · · · ∪ It von höchstens t Intervallen über {0, . . . , 2n − 1} das Konzept: cI1 ,...,It = I1 ∪ I2 ∪ · · · ∪ It ⊆ {0, . . . , 2n − 1} Entwerfe einen Lernalgorithmus, der jedes Konzept aus INTERVALLlt,n mit Hilfe von Element- und Äquivalenzfragen in Zeit poly(t, n) exakt bestimmt. Aufgabe 77 Wir betrachten die Konzeptklasse Mt,n . Für jeden (sich nicht überschneidenden) Manhattan-Kurvenzug M ⊆ {0, . . . , 2n − 1}2 mit höchstens t Eckpunkten besitzt Mt,n das Konzept dM . Wir fordern zusätzlich, dass jeder Punkt von M mindestens zwei Nachbarpunkte besitzt, die nicht zu M gehören. Konstruiere einen Lernalgorithmus, der jedes Konzept aus Mt,n mit Hilfe von Element- und Äquivalenzfragen in Zeit poly(t, n) exakt bestimmt. Aufgabe 78 Die Konzeptklasse READ-ONCE-DNFn besitzt für jede DNF-Formel α über den Variablen x1 , . . . , xn , ¬x1 , . . . , ¬xn , in der jede Variable höchstens einmal vorkommt, das Konzept Wahr(α). Die zu lernende Formel α ist reduziert, wenn (1) keines der Monome aus α entfernt werden kann, ohne dass Wahr(α) sich ändert, und (2) es in keinem der Monome aus α ein Literal gibt, das entfernt werden kann, ohne dass sich Wahr(α) ändert. Gib einen Algorithmus an, der jedes reduzierte Konzept aus READ-ONCE-DNFn mit poly(n) vielen Elementund Äquivalenzfragen exakt bestimmt. (Für PAC-Algorithmen ist gezeigt worden, dass das Lernproblem für READ-ONCE-DNF-Formeln genauso schwer ist wie das Lernproblem für allgemeine DNF-Formeln.) Hinweis: Sei α eine reduzierte READ-ONCE-DNFn Formel. Wir nennen ein positives Beispiel x = (x1 , . . . , xn ) ∈ {0, 1}n sensitiv für ein Literal Li , falls α(x) = 1 und α(Flip(x, i)) = 0 gilt, wobei Flip(x, i) = (x1 , . . . , xi−1 , ¬xi , xi+1 , xi+2 , . . . , xn ). Setze S = { Li | α(Flip(x, i)) = 0 und Li (x) = 1 }. Warum hilft ein positives sensitives Beispiel x und die Menge S bei der Konstruktion von α weiter? Wie finden wir positive sensitive Beispiele? 7.1 Endliche Automaten Algorithmen, die nur Äquivalenzfragen stellen, sind nicht mächtiger als PAC-Algorithmen sind, und deshalb reichen Äquivalenzfragen zum effizienten Lernen endlicher Automaten nicht aus. Die nächste Aufgabe zeigt, dass auch Lernalgorithmen, die nur Elementfragen stellen dürfen, endliche Automaten nicht in Polynomialzeit erlernen können. Aufgabe 79 Beweise, dass Konzepte aus der Konzeptklasse AUTOMATn,{0,1} nicht exakt in polynomieller Zeit (bzgl. n) gelernt werden können, wenn nur Elementfragen gestellt werden dürfen. Bemerkung: In diesem Kapitel werden wir zeigen, dass AUTOMATn,{0,1} exakt in polynomieller Zeit gelernt werden kann, wenn Elementfragen und Äquivalenzfragen gestellt werden dürfen. Auch Äquivalenzfragen alleine sind nicht ausreichend für einen polynomiellen Lernalgorithmus, da sonst AUTOMATn,{0,1} durch einen polynomiellen PAC-Algorithmus lernbar wäre (was aber laut früheren Übungsaufgaben nicht der Fall ist). Wir betrachten deshalb das Lernmodell mit Element- und Äquivalenzfragen. Wir beschreiben den Algorithmus von Angluin [A87]. Der Hypothesenraum des Algorithmus besteht ebenfalls aus regulären Sprachen. Der Algorithmus gibt nur konsistente Hypothesen ab und setzt Elementfragen zur Lösung des Konsistenzproblems ein. 7.1. ENDLICHE AUTOMATEN 159 Algorithmus 7.1 Aktives Erlernen regulärer Sprachen Eine unbekannte reguläre Sprache R über dem Alphabet Σ ist zu rekonstruieren. (1) Anfangsphase: Der Lernalgorithmus stellt die Fragen Ist für alle a ∈ Σ auch a ∈ R und ε ∈ R? Der Lernalgorithmus konstruiert eine 0-1-Matrix M , die anfänglich eine mit dem leeren Wort ε indiziert Spalte besitzt. Weiterhin besitzt M eine Zeile für das leere Wort ε und für jeden Buchstaben a ∈ Σ die Zeile a. /* Wir nennen die Zeile von ε eine Zustandszeile und die Zeilen der Buchstaben δ-Zeilen. Zustandszeilen werden die Zustände des zu lernenden Automaten definieren, während δ-Zeilen die Zustandsübergänge definieren. Im folgenden bezeichnen wir den Eintrag der Matrix M in Zeile u ∈ Σ∗ und Spalte v ∈ Σ∗ mit M [u, v], wobei stets 1 u·v ∈R M [u, v] = 0 sonst gelten wird. */ (2) Definitionsphase: Dieser Schritt besteht aus der Abschlussphase und der Konsistenzphase, die solange zu wiederholen sind, bis gleichzeitig Abschluss- und Konsistenzeigenschaft erreicht sind. Wenn Abschluss und Konsistenz gesichert ist, wechselt der Algorithmus zu Schritt (3). (2.1) Abschlussphase: Diese Phase endet, sobald die Abschlusseigenschaft erreicht ist: - Das heisst: Falls zu dem Wort u eine Zustandszeile existiert, muss es für jedes a ∈ Σ eine δ-Zeile zu ua geben. - Für jede δ-Zeile gibt es eine übereinstimmende Zustandszeile. Solange die Abschlusseigenschaft nicht erfüllt ist, wiederholt der Algorithmus die folgenden Schritte solange notwendig: - Für jede Zustandszeile v werden fehlende δ-Zeilen v · a mit Hilfe von Elementfragen eingefügt. - Wenn eine δ-Zeile nicht als Zustandszeile auftaucht, dann wird sie als Zustandszeile hinzugefügt. /* Nach dem Einfügen einer δ-Zeile als Zustandszeile müssen möglicherweise weitere neue δ-Zeilen eingefügt werden! */ Nach Erreichen der Abschlusseigenschaft wechselt der Algorithmus zu Schritt (2.2). 2.2 Konsistenzphase: Der Algorithmus überprüft die Konsistenzeigenschaft. Die Konsistenzeigenschaft ist erfüllt, wenn für je zwei identische Zustandszeilen (zu u, v ∈ Σ∗ ) und für alle Buchstaben a ∈ Σ auch die δ-Zeilen zu u · a und v · a übereinstimmen. /* Ist die Konsistenzeigenschaft für u, v und a nicht erüllt, dann definiert die Matrix keinen konsistenten Automaten: Der den Zustandszeilen von u und v entsprechende Zustand hat zwei verschiedene Nachfolgezustände unter a. Der Algorithmus versucht deshalb, die Zustandszeilen zu u und v durch Einfügung einer neuen Spalte zu trennen. */ 160 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Wenn für identische Zustandszeilen zu u und v die δ-Zeilen zu u · a und v · a unterschiedlich sind, dann gibt es eine Spalte x in M , mit M [u · a, x] 6= M [v · a, x]. Genau eine der Eingaben u·a·x und v ·a·x gehört zur Sprache, während die andere Eingabe zu verwerfen ist. Der Lernalgorithmus fügt eine neue Matrixspalte für das Wort a · x hinzu und die Matrix wird mit Hilfe von Elementfragen vervollständigt. /* Beachte, dass die obige Inkonsistenz jetzt aufgehoben ist, da die Zustandszeilen zu u und v sich in der Spalte a · x unterscheiden. */ Dieses Verfahren wird solange wiederholt, bis die Konsistenzeigenschaft gilt. Danach wird zu Schritt (2) gewechselt. (3) Ein konsistenter endlicher Automat wird aus der Matrix konstruiert: (3a) Der Anfangszustand qε entspricht der Zustandszeile für das leere Wort. (3b) Für jede Zustandszeile (mit u ∈ Σ indiziert) wird der Zustand qu geschaffen, wobei die Zustände übereinstimmender Zustandszeilen identifiziert werden. (3c) Die δ-Zeilen definieren die Übergangsfunktion des endlichen Automaten: Für Zustand qu und a ∈ Σ gibt es stets eine mit ua indizierte δ-Zeile. Zu dieser δ-Zeile gibt es eine äquivalente Zustandszeile, die mit v indiziert sei. Wir setzen: δ(qu , a) = qv Die Abschlusseigenschaft sichert die Existenz der δ-Zeile zu u · a und die Existenz einer identischen Zustandszeile. Die Konsistenzeigenschaft garantiert, dass die Definition des Automaten (bei mehrere identischen Zustandszeilen) nicht von der Wahl der Zustandszeilen abhängt. (3d) Das Wort u indiziere eine Zustandszeile. Dann ist qu ein akzeptierender (verwerfender) Zustand genau dann, wenn M [u, ε] = 1 (bzw. M [u, ε] = 0) ist. /* Der konstruierte Automat ist konsistent mit der Matrix M : Für jede Zeile u und jede Spalte v gilt M [u, v] = 1 ⇐⇒ der konstruierte Automat akzeptiert u · v. */ Der Algorithmus wechselt zu Schritt (4). (4) Testphase: Der Algorithmus stellt den durch die Matrix M definierten Automaten als Hypothese auf. Wird die Hypothese akzeptiert, haben wir die reguläre Sprache R erfolgreich erlernt. Ansonsten erhalten wir ein Gegenbeispiel x = x1 · x2 · · · xm ∈ Σm . Der Lernalgorithmus berechnet alle Präfixe xi = x1 · x2 · · · xi und fügt sie, falls noch nicht vorhanden, als neue Zustandszeilen zur Matrix M hinzu. M wird dann durch Elementfragen vervollständigt. Der Algorithmus wechselt zu Schritt (2). Laufzeitanalyse: Sei L die Länge des längsten Gegenbeispiels. Wir nehmen an, dass der minimale Automat für R genau q Zustände hat. Eine wichtige Beobachtung ist, dass der Lernalgorithmus nur minimale Automaten als Hypothesen aufstellt, denn je zwei Zustände entsprechen verschiedenen Zeilen und die Zustände haben somit ein unterschiedliches Akzeptanzverhalten. 161 7.1. ENDLICHE AUTOMATEN Nach jeder widerlegten Hypothese wird mindestens ein neuer Zustand des Automaten gefunden. Somit stellt der Lernalgorithmus höchstens q Äquivalenzfragen. Es werden höchstens so viele Elementfragen gestellt, wie es Einträge in M gibt. Deshalb untersuchen wir die Größe von M . - Wieviel Spalten hat die Matrix M ? Spalten werden nur in der Konsistenzphase (bzw. in der Initialisierungsphase) hinzugefügt. Bei jedem Einfügen einer Spalte wird aber eine neue Zustandszeile entdeckt: M hat höchstens q Spalten. - Wieviel Zeilen hat die Matrix M ? Es genügt, die Anzahl z der Zustandszeilen zu bestimmen, da die Anzahl der δ-Zeilen durch | Σ | · z beschränkt ist. Höchstens L Zustandszeilen werden innerhalb einer Durchführung der Testphase eingefügt. Da die Testphase stets eine neue Zustandszeile findet, ist sie insgesamt für höchstens L · (q − 1) Zustandszeilen verantwortlich. In der Definitionsphase werden neue Zustandszeilen nur in der Abschlussphase hinzugefügt und nur dann, wenn eine δ-Zeile keine übereinstimmende Zustandszeile besitzt. Da in diesem Fall ein neuer Zustand entdeckt wurde, fügt die Definitionsphase somit höchstens q − 1 Zustandszeilen ein. Zuzüglich der Zeilen in der Initialisierungsphase besitzt M also höchstens L(q − 1) + (q − 1) + 1 · 1 + | Σ | ≤ (Lq + q) · 1 + | Σ | Zustandszeilen. Die Anzahl der Elementfragen ist durch das Produkt der Zeilenanzahl und der Spaltenanzahl beschränkt. Es werden also höchstens q · (Lq + q) · 1 + | Σ | = q 2 (L + 1) · 1 + | Σ | Elementfragen gestellt und die Laufzeit des Lernalgorithmus ist polynomiell in L und q. Satz 7.2 Sei R eine reguläre Sprache, die von einem minimalen endlichen Automaten mit q Zuständen erkannt werde. Dann stellt Algorithmus 7.1 höchstens q Äquivalenzfragen und höchstens q 2 (1 + L)(1 + | Σ |) Elementfragen, wobei L die Länge des längsten Gegenbeispiels ist. Die Laufzeit ist polynomiell in L und q. Aufgabe 80 Wir definieren DNFn,k als die Menge aller DNF-Formeln Φ über den Literalen x1 , . . . , xn , ¬x1 , . . . , ¬xn , so dass Φ aus höchstens k Monomen besteht. (a) Konstruiere für jedes Φ ∈ DNFn,k einen endlichen Automaten AΦ , der eine Wertzuweisung y ∈ {0, 1}n genau dann akzeptiert, wenn Φ(y) = 1 ist. AΦ sollte möglichst wenige Zustände besitzen. (b) Was kann über die Lernbarkeit von DNFn,k (mit Element- und Äquivalenzfragen) gefolgert werden? 162 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Aufgabe 81 Es sei die Sprache Lk = { w ∈ {0, 1}∗ | w besitzt höchstens k Einsen } gegeben. Lk kann offensichtlich durch einen DFA mit (k + 2) Zuständen akzeptiert werden. Zum Lernen des minimalen Automaten für Lk benutzen wir Algorithmus 7.1. Zeige, dass der Algorithmus durch eine bösartige Wahl von Gegenbeispielen dazu gezwungen wird, eine Zustandsmatrix mit linear in k vielen Spalten zu erzeugen. Bemerkung 7.1 Algorithmus 7.1 reagiert sehr sensitiv auf fehlerhaft klassifizierte Beispiele, da für jedes falsch klassifizierte (und mit der Hypothese inkonsistente) Beispiel ein neuer Zustand erzeugt wird: Der Algorithmus lernt also die Fehler auswendig! Daher kann der Algorithmus nicht auf Situationen angewandt werden, die nur approximativ von regulären Sprachen modelliert werden. Beispiel 7.1 Wir möchten den mimimalen Automaten zur Sprache R = { x = x1 x2 . . . xn ∈ {0, 1}∗ : x hat gerade viele Nullen und Einsen } mit Element- und Äquivalenzfragen bestimmen. R besitzt das Alphabet Σ = {0, 1}. Der minimale Automat für R hat die folgende Form. 1 - 0 y z 1 0 y 0 1 0 z 1 Aus Gründen der Übersichtlichkeit wählen wir im Folgenden statt 0 und 1 die Buchstaben j“ und n“ für akzeptierend bzw. nicht-akzeptierend. ” ” 1. Hypothese: Der Algorithmus stellt in der Anfangsphase die folgenden Elementfragen: - Ist 0 ∈ R? Antwort: Nein. - Ist 1 ∈ R? Antwort: Nein. - Ist ε ∈ R? Antwort: Ja. Wir konstruieren die Matrix M1 : M1 Zustandszeilen ε δ-Zeilen 0 1 ε j n n 163 7.1. ENDLICHE AUTOMATEN Wir wechseln in die Definitionsphase und stellen Elementfragen, bis die resultierende Matrix einen konsistenten Automaten beschreibt. Wir testen die Abschlusseigenschaft. Offenbar gibt es in M1 zu jeder Zustandszeile eine δ-Zeile. Jedoch tritt die δ-Zeile die aus dem n-Eintrag besteht, nicht als Zustandszeile auf. Wir fügen diese Zustandszeile hinzu und erhalten: M2 Zustandszeilen ε 0 δ-Zeilen 0 1 ε j n n n Die Abschlusseigenschaft ist noch nicht erfüllt: Zwar gibt es zu 0“ eine Zustandszeile, aber ” es fehlen die δ-Zeilen zu 00“ und 01“. Wir stellen die beiden Elementfragen: ” ” - Ist 00 ∈ R? Antwort: Ja. - Ist 01 ∈ R? Antwort: Nein. Wir fügen die beiden neuen δ-Zeilen hinzu, die resultierende Matrix M3 M3 Zustandszeilen δ-Zeilen ε 0 0 1 00 01 ε j n n n j n erfüllt die Abschlusseigenschaft. Wir wechseln in die Konsistenzphase. Der Algorithmus überprüft für je zwei identische Zustandszeilen (zu α, β ∈ Σ∗ ), ob es ein σ ∈ Σ gibt, so dass die δ-Zeilen von ασ und βσ verschieden sind. Falls es ein solches σ gibt, definiert die Matrix keinen konsistenten Automaten: Der den Zustandszeilen von α und β entsprechende Zustand hat zwei verschiedene Nachfolgezustände unter σ ∈ Σ. Der Algorithmus versucht, die Zustandszeilen von α und β durch Einfügung einer neuen Spalte zu trennen. In unserer Situation ist auch die Konsistenzeigenschaft erfüllt und Matrix M3 definiert den Automaten: 0,1 - qǫ y z q0 y 0 1 Die beiden Zustände entsprechen den beiden (verschiedenen) Zustandszeilen: M3 -Zustände Zustandszeilen ε 0 ε j n Zustand qε q0 Nur der Zustand qε ist ein akzeptierender Zustand, da nur er einen Eins-Eintrag in der εSpalte hat. Nach Konstruktion ist der Zustand zur ε-Zustandszeile stets der Startzustand. Die 164 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Überführungsfunktion erhalten wir aus den δ-Zeilen wie folgt: Zum Zustand qα mit α ∈ Σ∗ existieren nach Vorausssetzung die δ-Zeilen α · σ für alle σ ∈ Σ. Die Überführungsfunktion wird also durch M3 -Überführungsfkt. qε q0 0 1 q0 q0 qε q0 definiert. 2. Hypothese: Durch eine Äquivalenzfrage stellen wir fest, dass unsere Hypothese falsch ist. Sei 11 ∈ R das Gegenbeispiel. Unser Automat akzeptiert dieses Wort nicht, obwohl es in der zu lernenden Sprache liegt. Wir fügen die Präfixe 1“ und 11“ des Gegenbeispiels zu den ” ” Zustandszeilen mit Hilfe von Elementfragen hinzu: M4 Zustandszeilen δ-Zeilen ε 0 1 11 0 1 00 01 ε j n n j n n j n Für die beiden neuen Zustandszeilen fehlen noch die δ-Zeilen. Wir stellen die vier Elementfragen mit dem Ergebnis, dass 10, 110, 111 ∈ / R, aber 11 ∈ R. Die resultierende Matrix M5 M5 Zustandszeilen δ-Zeilen ε 0 1 11 0 1 00 01 10 11 110 111 ε j n n j n n j n n j n n erfüllt die Abschlusseigenschaft. Der Algorithmus wechselt in die Konsistenzphase. Zwar sind die Zustandszeilen zu 0“ und 1“ identisch, aber die beiden δ-Zeilen zu 00“ und 10“ sind ” ” ” ” verschieden. Die Matrix ist nicht konsistent, denn der Zustand, der den Zustandszeilen zu 0“ ” 165 7.1. ENDLICHE AUTOMATEN und 1“ entspricht, müsste unter 0“ in einen akzeptierenden und einen nicht-akzeptierenden ” ” Zustand übergehen. Wir trennen die Zustandszeilen 0“ und 1“ durch Einfügen einer neuen ” ” Spalte zu 0: M6 Zustandszeilen δ-Zeilen ε j n n j n n j n n j n n ε 0 1 11 0 1 00 01 10 11 110 111 0 n j n n j n n n n n j n Die Matrix M6 ist jetzt konsistent und definiert den Automaten 0 - qǫ y 6 z q0 0 1 1 1 ? q1 O 0 Die Zustände haben wir aus den Zustandszeilen M6 -Zustände Zustandszeilen ε 0 1 11 ε j n n j 0 n j n n Zustand qε q0 q1 qε gebildet. Da die Zeilen zu ε und 11“ identisch sind, haben wir diese beiden Zustände zusam” mengefasst und der Automat der Hypothese hat deshalb drei Zustände. Nur der Zustand qε ist ein akzeptierender Zustand, da die beiden zusammengefassten Zustandszeilen ε und 11“ ” einen j-Eintrag in der ε-Spalte haben. 3. Hypothese: Durch eine Äquivalenzfrage stellen wir fest, dass unsere Hypothese falsch ist. Sei 011 ∈ R das Gegenbeispiel. Unser Automat akzeptiert dieses Wort, obwohl es nicht in der zu lernenden Sprache liegt. Wir fügen die Präfixe 01“ und 011“ des Gegenbeispiels zu den ” ” 166 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Zustandszeilen mit Hilfe von Elementfragen hinzu, zu den übrigen Präfixen gibt es bereits Zustandszeilen. Wir ergänzen die fehlenden δ-Zeilen zu 010“ und 011“, sowie 0110“ und ” ” ” 0111“ mit Elementfragen und erhalten ” M6 ε 0 Zustandszeilen ε j n 0 n j 1 n n 11 j n 01 n n 011 n j δ-Zeilen 0 n j 1 n n 00 j n 01 n n 10 n n 11 j n 110 n j 111 n n 010 n n 011 n j 0110 j n 0111 n n In der Konsistenzphase bemerkt der Algorithmus, dass zwar die Zustandszeilen zu 0“ und ” 011“ identisch sind, die δ-Zeilen zu 00“ und 0110“ aber nicht. Wir fügen eine Spalte zu 1 ” ” ” hinzu, so dass die δ-Zeilen zu 00“ und 0110“ getrennt werden. ” ” M7 ε 0 1 Zustandszeilen ε j n n 0 n j n 1 n n j 11 j n n 01 n n n 011 n j n δ-Zeilen 0 n j n 1 n n j 00 j n n 01 n n n 10 n n n 11 j n n 110 n j n 111 n n j 010 n n j 011 n j n 0110 j n n 0111 n n n Die Matrix M7 ist konsistent und definiert den Automaten 167 7.1. ENDLICHE AUTOMATEN 1 z - qǫ y q1 1 0 0 0 1 z q0 y 0 q01 1 Die Zustände haben wir entsprechend den Zustandszeilen M7 -Zustände Zustandszeilen ε 0 1 11 01 011 ε j n n j n n 0 n j n n n j 1 n n j n n n Zustand qε q0 q1 qε q01 q0 gebildet. Nur der Zustand qε ist ein akzeptierender Zustand, da nur die beiden zusammengefassten Zustandszeilen ε und 11“ einen Eins-Eintrag in der ε-Spalte haben. Die Äquivalenzfrage ” bestätigt, dass wir den Automaten exakt gelernt haben. Wir versuchen, Algorithmus 7.1 zu beschleunigen und mit weniger Elementfragen auszukommen; insbesondere werden wir die Anzahl der Zustandszeilen auf q, die minimale Zustandszahl der zu lernenden regulären Sprache, reduzieren. Wir übernehmen die Anfangs- und Definitionsphase und verändern die Testphase. Es wird sich dann herausstellen, dass die Konsistenzphase überflüssig ist. Sei δ′ die Überführungsfunktion und sei q0′ der Startzustand des Hypothesenautomaten“ A′ . ” Für z ∈ Σ∗ fassen wir δ′ (q0′ , z) sowohl als Zustand wie auch als das Wort auf, das A′ vom Anfangszustand zum Zustand δ′ (q0′ , z) überführt. Sei x = x1 x2 . . . xm das erhaltene Gegenbeispiel und sei xi = x1 x2 . . . xi der Präfix der ersten i Buchstaben von x. Für i = 1, . . . , m ist yi = δ′ q0′ , xi der Name des Zustands, den A′ nach dem Lesen von xi erreicht. Wir setzen αi = yi xi+1 xi+2 . . . xm . Beachte, dass δ′ (q0′ , αi ) = δ′ (q0′ , αi+1 ) für i = 1, . . . , m − 1 gilt. Für die Überführungsfunktion δ des zu erlernenden Automaten A mit Startzustand q0 muss es hingegen ein i geben mit γ( δ(q0 , αi ) ) 6= γ( δ(q0 , αi+1 ) ) | {z } | {z } Lasse Hypothese i Schritte laufen Lasse Hypothese i + 1 Schritte laufen ” ” und dann den gesuchten Automaten“ und dann den gesuchten Automaten“, 168 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN wobei γ einen Zustand als akzeptiertend oder verwerfend klassifiziert. Warum gibt es ein solches i? Wenn es kein solches i gibt, gilt stets γ(δ(q0 , αi )) = γ(δ(q0 , αi+1 )) und somit γ (δ(q0 , x)) = γ (δ(q0 , α0 )) = · · · = γ (δ(q0 , αm )) = γ (δ(q0 , ym )) . Der Automat A akzeptiert x genau dann, wenn er ym akzeptiert und x kann kein Gegenbeispiel sein: ym ist Index einer Zustandszeile von M , somit hat der Lernalgorithmus M [ym , ε] nachgefragt und gelangt zur selben Antwort wie A. Angenommen, wir haben ein i mit γ(δ(q0 , αi )) 6= γ(δ(q0 , αi+1 )). (7.1) gefunden. Wir wissen, dass δ′ (yi , xi+1 ) = yi+1 ist. Andererseits liefert yi (als Zustand von Automat A) mit Eingabe xi+1 xi+2 . . . xm ein anderes Ergebnis als yi+1 (als Zustand von A) mit Eingabe xi+2 xi+3 . . . xm . Der Automat A′ hat die Zustände yi+1 und δ′ (yi , xi+1 ) also fälschlicherweise identifiziert. Wir korrigieren diesen Irrtum, indem wir das Wort xi+2 xi+3 . . . xm als neue Spalte hinzufügen: Diese neue Spalte erzwingt in der Abschlussphase, dass δ′ (yi , xi+1 ) zu einer neuen Zustandszeile wird, da dieser δ-Zeile keiner Zustandszeile entspricht. Beachte, dass Q (die Menge der Zustandszeilen) stets aus verschiedenen Zeilen besteht: Die Konsistenzphase ist deshalb überflüssig. Um den neuen Algorithmus abzuschließen, müssen wir zeigen, wie man ein i mit der Eigenschaft (7.1) finden kann. Algorithmus 7.3 Verbesserte Testphase (1) Falls wir ein Gegenbeispiel x = x1 x2 . . . xm ∈ Σm erhalten, wissen wir, dass γ(δ(y0 , x)) = γ(δ(q0 , α0 )) 6= γ(δ(q0 , αm )), wobei o.B.d.A γ(δ(q0 , α0 )) = verwerfend und γ(δ(q0 , αm )) = akzeptierend sei. Wir bestimmen ein i mit Eigenschaft (7.1) durch binäre Suche nach dem Schema: - Wenn γ δ(q0 , αm/2 ) ∼ = verwerfend, stelle eine Elementfrage für α3m/4 . - Wenn γ δ(q0 , αm/2 ) ∼ = akzeptierend, stelle eine Elementfrage für αm/4 . Mit log2 L + 1 Elementfragen wird dann ein i mit γ (δ(q0 , αi )) 6= γ (δ(q0 , αi+1 )) gefunden. Füge xi+2 xi+3 . . . xm als neue Spalte ein. Gehe zur Definitionsphase über, also zu Schritt (2) in Algorithmus 7.1. /* Es ist jetzt keine Konsistenzphase mehr notwendig, da je zwei Zustandszeilen verschieden sind. */ 7.1. ENDLICHE AUTOMATEN 169 Analyse von Algorithmus 7.3: Alle Zustandszeilen sind verschieden und entsprechen damit tatsächlich verschiedenen Zuständen. Die Matrix M besitzt höchstens q + q·| Σ| |{z} | {z } # Zustandszeilen # δ-Zeilen viele Zeilen. Spalten werden nur in der Testphase eingefügt. Für jedes Gegenbeispiel wird eine neue Spalte eingefügt. Diese neue Spalte führt in der folgenden Abschlussphase zur Entdeckung einer neuen Zustandszeile: Somit wird die Testphase höchstens (q−1)-mal aufgerufen. Damit besitzt M höchstens q Spalten (die Spalte für das leere Wort ε und die übrigen q − 1 Spalten). Wieviele Elementfragen werden insgesamt gestellt? Um die Matrix M vollständig zu definieren, genügen (q + q · | Σ |) · q = q 2 · (1 + | Σ |) Elementfragen. Jede der höchstens q − 1 Testphasen benötigt jeweils weitere log2 L + 1 Elementfragen. Satz 7.4 Sei R eine reguläre Sprache, die von einem minimalen endlichen Automaten mit q Zuständen erkannt wird. Algorithmus 7.3 erlernt R in Zeit poly(L, q). Es werden höchstens q Äquivalenzfragen und höchstens q 2 · (1 + | Σ |) + (q − 1) · (log2 L + 1) Elementfragen gestellt. 7.1.1 Lernen ohne Reset Im Kapitel 7.1 haben wir implizit angenommen, dass wir stets zum Anfangszustand zurückkehren können: Ansonsten lassen sich Elementfragen nicht beantworten. Wir behandeln jetzt das schwierigere Problem des Lernens ohne Reset“. Zuerst führen wir den Begriff einer ” Moore-Maschine ein. Definition 7.5 Eine Moore-Maschine ist ein 6-Tupel (V, E, Aktion, Resultat, Σ, Γ) mit den folgenden Komponenten. - (V, E) ist ein gerichteter Graph. - Σ und Γ sind endliche Mengen. - Die Funktion Resultat : V → Γ markiert die Knoten aus V . - Die Funktion Aktion : E → Σ markiert die Kanten aus E, wobei es für jeden Knoten v ∈ V und für jedes σ ∈ Σ genau eine Kante (v, w) ∈ E gibt, die mit σ markiert ist. Für a = a1 a2 · · · ∈ Σ∗ bezeichnen wir die Folge der Resultate auf dem durch a beschriebenen Weg mit Anfangsknoten v durch Resultat(v, a) = Resultat(v), Resultat(va1 ), Resultat(va1 a2 ), . . . , Resultat(va ) wobei Resultat(va1 ,...,ai ) das Resultat des Knotens ist, der von v über den durch a1 · · · ai beschriebenen Weg erreicht wird. 170 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Beispiel 7.2 Moore-Maschinen. (1) Deterministische endliche Automaten sind Moore-Maschinen, wobei - die Knotenmenge der Zustandsmenge entspricht, - Γ = {0, 1} und die Resultatfunktion die Klassifizierung in akzeptierende und verwerfende Zustände wiedergibt, - Σ dem Eingabealphabet entspricht und - die Kantenmenge E durch die Überführungsfunktion δ beschriftet wird. (2) Kreuzworträtselwelt: Ein Roboter wird auf ein Quadrat eines leeren Kreuzworträtsels gesetzt. In einem Schritt kann der Roboter eine der Aktionen {gehe vorwärts, drehe dich um 90◦ nach rechts, drehe dich um 90◦ nach links} ausführen. Das Resultat seiner Aktion ist ein Element aus Γ = { Hindernis, Wand }. Das Resultat ist Hindernis“, wenn der Roboter in der Ferne gegen ein schwarzes Qua” drat schaut, sonst ist Wand“ das Resultat. Es ist dem Roboter nicht erlaubt, das ” Kreuzworträtsel zu verlassen: Die Aktion gehe vorwärts“ wird in einem solchen Fall ” nicht ausgeführt. Wir versuchen jetzt, das folgende Problem zu lösen. Gegeben: Eine unbekannte Moore-Maschine. Ein Roboter wird auf einen Knoten v aus V gesetzt. Um zu lernen, führt der Roboter eine Aktion a ∈ Σ aus: Er wandert von v über die mit a markierte Kante (v, w) zum Knoten w. Als Resultat seiner Aktion erfährt er die Knotenmarkierung Resultat(w). Der Roboter setzt seinen Weg fort, um die ganze Maschine zu erkunden. Dabei kann er aber nur in der vorgeschriebenen Richtung laufen; der Schritt zurück (und damit ein Reset) ist unmöglich. Gesucht: Eine Voraussage des Resultats aller möglichen Aktionen nach der Lernphase. /* Das Überlebensziel“ ist also die Entwicklung eines adäquaten“ Modells der Moore” ” Maschine. Wenn ein Reset möglich wäre, könnten wir die Resultate aus Kapitel 7.1 anwenden: Der Roboter versucht dann, einen endlichen Automaten mit Ausgabe zu erlernen. Wir werden im folgenden zeigen, wie wir sogar ohne Reset erfolgreich lernen können. Wir müssen dabei aber annehmen, dass der Graph stark zusammenhängend ist, d.h. zwischen je zwei Knoten muss ein Pfad vom ersten zum zweiten Knoten existieren. Zentral für unseren Lernalgorithmus ist der Begriff einer Homing-Sequenz: Definition 7.6 Sei (V, E, Aktion, Resultat, Σ, Γ) eine Moore-Maschine. Für eine Aktionsfolge a ∈ Σ∗ sei Ende(v, a) der Endknoten des durch a beschriebenen Weges mit Anfangsknoten v. Ein Wort h ∈ Σ∗ heisst genau dann Homing-Sequenz, wenn für alle Knoten v, w ∈ V Resultat(v, h) = Resultat(w, h) =⇒ Ende(v, h) = Ende(w, h) gilt. 171 7.1. ENDLICHE AUTOMATEN Eine Homing-Sequenz erlaubt also, den Endknoten eines Weges zu identifizieren, wenn die Folge der Resultate des Weges bekannt ist. Beispiel 7.3 Homing-Sequenzen. Wir betrachten die Moore-Maschine x 1 A x 66 y 1 - B 6 ? 0 C Σ = {x, y} y x x Γ = {0, 1} ? D 0 und erhalten Resultat(A, xy) = 110 und Ende(A, xy) = D. Weiterhin ist die Einzelaktion x bereits eine Homing-Sequenz: Aus der Resultatfolge 00 (bzw. 01, 11) kann geschlossen werden, dass der Knoten C (bzw. A, B) Endknoten ist. Knoten D kann offensichtlich nicht als Endknoten auftreten. Das Wort y ist keine Homing-Sequenz, da ausgehend von C bzw. D in beiden Fällen die Resultatfolge 01 erzeugt wird, obwohl die Endknoten B bzw. A unterschiedlich sind. Lemma 7.7 Eine minimale Moore-Maschine mit q Zuständen besitzt eine Homing-Sequenz der Länge höchstens (q − 2)2 . Beweis: Wir finden eine Homing-Sequenz h mit Algorithmus 7.8. Algorithmus 7.8 Auffinden einer Homing-Sequenz Eingabe: Eine Moore-Maschine. (1) Setze h = ε. (2) Solange es Knoten v und w mit Resultat(v, h) = Resultat(w, h), aber Ende(v, h) 6= Ende(w, h) gibt: Suche eine kürzeste Aktionsfolge a ∈ Σ∗ mit Resultat(v, ha) 6= Resultat(w, ha) und setze h = ha. (3) Gib die Homing-Sequenz h aus. Warum existieren Aktionsfolgen a mit der in Schritt (2) geforderten Eigenschaft? Es gilt Ende(v, h) 6= Ende(w, h), d.h. wir befinden uns auf zwei verschiedenen Knoten k1 und k2 . Falls für alle Aktionsfolgen a ∈ Σ∗ Resultat(Ende(v, h), a) = Resultat(Ende(w, h), a) | {z } | {z } =k1 =k2 gilt, ist M nicht minimal. Es gibt folglich ein a mit Resultat(Ende(v, h), a) 6= Resultat(Ende(w, h), a) 172 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN und dies impliziert, dass Resultat(v, ha) 6= Resultat(w, ha). Wie lang ist eine solche Aktionsfolge a? Zwei Zustände eines vollständig spezifizierten Automaten sind genau dann äquivalent, wenn sie für alle Folgen der Länge q − 2 äquivalent sind, d.h. es gibt a ∈ Σ≤q−2 mit Resultat(Ende(v, h), a) 6= Resultat(Ende(w, h), a). Wie oft ist die Schleife im Schritt (2) zu durchlaufen? In jeder Iteration wächst die Menge { Resultat(v, h) | v ∈ V } um mindestens ein Element. Es gelte |V | = q. Da zu Beginn | { Resultat(v, ε) | v ∈ V } | = 2 und da stets | { Resultat(v, ε) | v ∈ V } | ≤ |V | = q gilt, durchlaufen wir höchstens q − 2 Iterationen. Wir erhalten also mit Algorithmus 7.8 eine Homing-Sequenz der Länge höchstens 2 (q − 2)2 . Aufgabe 82 Sei (V, E, Aktion, Resultat, Σ, Γ) eine Moore-Maschine. Eine starke Homing-Sequenz ist ein Wort h ∈ Σ∗ , so dass für je zwei verschiedene Knoten v, w ∈ V Resultat(v, h) 6= Resultat(w, h) gilt. Konstruiere eine minimale Moore-Maschine, die keine starke Homing-Sequenz besitzt. Sei M die zu lernende Moore-Maschine. Wir nehmen zuerst an, dass der Roboter eine HomingSequenz h bereits kennt. Welche Vorteile bringt eine Homing-Sequenz? Wenn wir die HomingSequenz auf einen beliebigen Knoten v ∈ V anwenden, erhalten wir eine Resultat-Sequenz σ. Wann immer das Resultat σ ist, wissen wir, dass wir zum selben Endknoten zurückgekehrt sind und haben damit fast einen Reset erreicht! (Wie bereits erwähnt, können wir bei MooreMaschinen mit Reset die Ergebnisse aus Kapitel 7.1 benutzen.) Leider gibt es aber keine Garantie, dass die Resultat-Sequenz σ häufig genug auftritt! Wir stellen deshalb für jede Resultat-Sequenz σ eine Kopie Lσ von Algorithmus 7.1 bereit. Lσ interpretiert die zu lernende Moore-Maschine M als einen endlichen Automaten mit dem durch σ spezifizierten Anfangszustand, nämlich dem Endzustand zur Resultatfolge σ. Algorithmus 7.9 Simulation von Algorithmus 7.1 bei gegebener Homingsequenz. Eingabe: Eine Homing-Sequenz h. (1) Führe h aus und erhalte σ als Resultat. Wenn σ bisher noch nicht erhalten wurde, dann initialisiere den Lernalgorithmus Lσ . (2) Simuliere die nächste Frage von Lσ : Ist dies eine Elementfrage, führe die entsprechende Aktionsfolge a ∈ Σ∗ durch. Falls die nächste Frage eine Äquivalenzfrage ist, simuliere einen Äquivalenztest. (3) Wenn ein erfolgreicher Äquivalenztest durchgeführt wurde, beende den Algorithmus. Ansonsten gehe zu Schritt (1). /* Wenn ein Lσ erfolgreich gelernt hat, dann kann die Moore Maschine rekonstruiert werden. */ 173 7.1. ENDLICHE AUTOMATEN (4) Gib eine Beschreibung der zu lernenden Moore-Maschine aus. Angenommen, der aktuelle Lernalgorithmus Lσ stellt eine Elementfrage a ∈ Σ∗ . Dann wandert der Roboter gemäss a vom (bekannten) Zustand p im zu lernenden Automaten zum (unbekannten) Zustand p′ und wir geben die erhaltene Resultatfolge als Antwort an Lσ zurück. Da der Zustand p′ nicht bekannt ist, führen wir die Homing-Sequenz aus und erhalten eine Resultatfolge τ , und wissen damit nach Definition einer Homing-Sequenz, dass der Roboter von p′ zum eindeutig bestimmten Zustand pτ gelaufen ist. Wir schläfern“ den Lernalgorithmus ” Lσ ein und (re-)aktivieren Lτ . Fazit: Wenn wir eine Homing-Sequenz h kennen, ist Algorithmus 7.9 erfolgreich. Analyse: Höchstens | V | = q Kopien des Lernalgorithmus L werden simultan bearbeitet. Jede Kopie erfordert höchstens q 2 · (1 + | Σ |) + (q − 1) · L Elementfragen und höchstens q Äquivalenzfragen. Auf jede Element“- oder Äquivalenzfra” ” ge“ folgt eine Anwendung der Homing-Sequenz. Damit beträgt die Gesamtzahl aller Elementfragen höchstens |h| · q 3 (1 + | Σ |) + q 2 · L und die Anzahl der Äquivalenzfragen ist maximal q 2 · L. Als letztes Problem bleibt die Bestimmung einer Homing-Sequenz. Zu Anfang setzen wir h = ε und starten Algorithmus 7.9 mit dieser hypothetischen Homing-Sequenz. Wenn eine Inkonsistenz gefunden wird, wissen wir, dass h keine Homing-Sequenz ist. Von welcher Art kann eine Inkonsistenz sein? Wir nehmen an, dass wir die Anzahl q der Zustände kennen. (Wenn nicht, gehen wir nacheinander die verschiedenen Möglichkeiten q = 1, 2, . . . , durch.) Wir wissen, dass h keine Homing-Sequenz ist, wenn eine der Kopien Lσ entdeckt, dass q + 1 Zustände vorhanden sind. Wir verlängern h entsprechend“ der Inkonsistenz und zerstören alle Kopien von L. Diese ” sind nutzlos, da sie nicht mit einer Homing-Sequenz erstellt wurden. Danach wiederholen wir den Algorithmus mit dem verlängerten h als neuer (hypothetischer) Homing-Sequenz. Aber wie korrigieren wir h? Sei Lσ die Kopie, die einen Fehler aufdeckt. Dann besitzt die vom Algorithmus Lσ aufgebaute Matrix Mσ die Zustandszeilen: s1 , . . . , sq+1 . Angenommen, wir erreichen σ nach Anwendung von h auf den Zustand α der zu lernenden Moore-Maschine M . Da es nur q Zustände in M gibt, muss es i, j (mit i 6= j) geben, so dass Ende(α, hsi ) = Ende(α, hsj ) (7.2) gilt. Andererseits sind si und sj aber verschiedene Zeilen in Mσ . Somit gibt es mindestens eine Spalte t mit Mσ [si , t] 6= Mσ [sj , t]. (7.3) 174 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Der zu lernende Automat wird aber, mit α als Anfangszustand, sowohl unter hsi t als auch unter hsj t dasselbe Endergebnis γ = Resultat(Ende(α, h · si · t)) = Resultat(Ende(α, h · sj · t)) berechnen. Dies ist eine Konsequenz von (7.2). Somit gilt Mσ [si , t] 6= γ oder Mσ [sj , t] 6= γ. Im Fall Mσ [si , t] 6= γ ist h·si ·t unsere neue Homing-Sequenz“, während wir im Fall Mσ [sj , t] 6= γ ” h · sj · t wählen. Sei Mσ [si , t] 6= γ und somit h = h · si · t. Warum ist diese Sequenz besser“ als die vorherige? ” Die Elementfrage si · t führt vom Zustand α · h ausgehend auf die von Mσ [si , t] abweichende Antwort γ. Die vorher erhaltene Antwort Mσ [si , t] wurde also von einem anderen Zustand α∗ ·h mit α 6= α∗ erhalten. Die Sequenz h·si ·t separiert die vorher gleichbehandelten Zustände α und α∗ : Da sich die Resultat-Sequenzen in der letzten Komponente unterscheiden, ist Resultat(Ende(α, h)) = σ = Resultat(Ende(α∗ , h)), aber Resultat(Ende(α, h · si · t)) 6= Resultat(Ende(α∗ , h · si · t)). Somit haben wir mindestens eine Resultat-Sequenz mehr erhalten. Da es insgesamt höchstens q Resultat-Sequenzen gibt, müssen wir höchstens (q − 2)-mal neu starten. Leider kennen wir weder α noch α∗ , und damit sind uns auch si und sj unbekannt. Die Lösung dieses Problems ist wie folgt: Wir wählen i und j zufällig, bestimmen ein t mit der Eigenschaft (7.3) und wählen einen der beiden Zustände si und sj zufällig. Wenn wir si wählen, dann starten wir den Test si · t und ansonsten den Test sj · t. Mit Wahrscheinlichkeit 1 1 1 · q = 2 2 q · (q − 1) sind wir erfolgreich und erhalten eine von Mσ [si , t] (bzw. von Mσ [sj , t]) abweichende Antwort. In diesem Fall können wir unser Glück mit der verbesserten Homing-Sequenz h · si · t (bzw. h · sj · t) versuchen. Wenn wir nicht erfolgreich sind, wenden wir die alte Sequenz h wieder an. Sobald wir im Schritt (1) von Algorithmus 7.9 wieder σ erhalten, wiederholen wir das Experiment. Solange wir eine von σ verschiedene Resultatfolge im Schritt (1) erhalten, arbeiten wir in der entsprechenden Kopie von L weiter, als sei nichts geschehen. Zu einem Zeitpunkt erhalten wir σ wieder oder entdecken in den Kopien für andere Resultatfolgen Inkonsistenzen. Algorithmus 7.10 Lernen ohne Reset Eingabe: Die Anzahl q der Zustände der zu lernenden Moore-Maschine. (1) Setze h = ε. (2) Wiederhole solange, bis eine Äquivalenzfrage erfolgreich ist: (2a) Wende h an und erhalte die Resultatfolge σ. Initialisiere eine Kopie Lσ , falls eine solche Kopie noch nicht existiert. 175 7.1. ENDLICHE AUTOMATEN (2b) Wenn Lσ bisher höchstens q Zustände gefunden hat, dann simuliere die nächste Frage von Lσ . Der Lernalgorithmus hält, wenn eine erfolgreiche Äquivalenzfrage gestellt wurde. (2c) Wenn Lσ bereits q + 1 Zustände gefunden hat, dann Wähle zufällig zwei Zeilen si und sj aus Mσ , bestimme eine sie trennende Spalte t in Mσ , wähle zufällig ein p ∈ {si , sj } und lasse den Test p · t laufen. Wenn das Ergebnis von Mσ [p, t] verschieden ist, dann zerstöre alle Kopien von L und wähle h · p · t als neue Homing-Sequenz. Analyse: Höchstens (q − 1)-mal werden Kopien von L vernichtet. Zwischen zwei Vernichtungsaktionen werden höchstens O(|h| · q 3 · (1 + L) · (1 + | Σ |)) Elementfragen gestellt, wobei |h| die Länge der gegenwärtigen Homing-Sequenz bezeichnet. Nach O(q 3 · (1 + L) · (1 + | Σ |)) Elementfragen wird in jeder Kopie eine Inkonsistenz gefunden. Ihre Beseitigung gelingt mit Wahrscheinlichkeit 12 , wenn eine inkonsistente Kopie q(q − 1)-mal aufgesucht wurde. 2 Durch (log2 qδ )-malige Wiederholung erreichen wir mit Wahrscheinlichkeit 1 − δ, dass die Moore-Maschine korrekt identifiziert wird: Wir haben es mit maximal q 2 Kopien zu tun, die irgendwann eine Inkonsistenz melden. Mit Wahrscheinlichkeit 1 − δ, haben wir in mindestens einer Kopie Erfolg. Satz 7.11 Sei δ mit 0 < δ ≤ 1 gegeben. Die zu lernende Moore-Maschine M wird, mit Wahrscheinlichkeit 1 − δ, nach höchstens O(|h| · q 4 · (1 + L) · (1 + | Σ |) + q 3 · log2 q2 ) δ Elementfragen erlernt, wobei |h| die Länge der endgültigen Homing-Sequenz bezeichnet und q die minimale Zustandszahl ist. Beispiel 7.4 Wir veranschaulichen Algorithmus 7.9 (Seite 172) anhand eines Beispiels: Zu lernen sei der Automat 0 1 U U - q0 1 - q1 0 - q2 n n j P Der Automat interpretiert jede Eingabe x1 x2 . . . xn ∈ {0, 1}∗ als Binärzahl d = xi 2n−i und akzeptiert genau die Zahlen d ≡ 1 mod 3. (Der Zustand q1 ist mit j“ markiert, während q0 ” und q2 die Ausgabe n“ ergeben). Offenbar ist h = 1 eine Homing-Sequenz des Automaten. ” Der Roboter befindet sich auf dem Startzustand q0 des Automaten. Wir führen die HomingSequenz h = 1 aus und erhalten die Resultatfolge (n, j). Der Roboter befindet sich nun im Zustand q1 . Wir initialisieren den Lernalgorithmus Ln,j Ln,j (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε ? . ? ? 176 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Algorithmus Ln,j stellt die Elementfrage für ε. Wir geben diese Elementfrage weiter und die Antwort j an Lnj zurück. Ln,j (aktiviert) ε Zustandszeilen ε j . δ-Zeilen 0 ? 1 ? Anschließend führen wir die Homing-Sequenz h aus: Der Roboter wandert von q1 nach q0 . Wir erhalten die Resultatfolge j, n und initialisieren den Lernalgorithmus Lj,n : Ln,j Zustandszeilen ε δ-Zeilen 0 1 ε j . ? ? Lj,n (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε ? . ? ? Die von Algorithmus Lj,n gestellte Elementfrage für ε ergibt die Antwort n. Ln,j Zustandszeilen ε δ-Zeilen 0 1 ε j . ? ? Lj,n (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε n . ? ? Beachte, dass für Lj,n das leere Wort nicht in der Sprache liegt, da der Zustand, den wir nach Ausführen von h erreichen, q0 ist, während für Ln,j der (Pseudo-)Anfangszustand q1 ist. Durch Anwenden der Homing-Sequenz wandert der Roboter zum Zustand q1 . Wir erhalten die Resultatfolge n, j und reaktivieren Ln,j , der die Elementfrage für 0 stellt. Die Antwort n wird von Ln,j eingearbeitet: Ln,j (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε j . n ? Lj,n Zustandszeilen ε δ-Zeilen 0 1 ε n . ? ? Der Roboter wandert aufgrund dieser Elementfrage zum Zustand q2 . Die Resultatfolge bei Ausführen der Homing-Sequenz h = 1 ist daher (n, n). Wir initialisieren den Lernalgorithmus Ln,n : Ln,j Zustandszeilen ε δ-Zeilen 0 1 ε j . n ? Lj,n Zustandszeilen ε δ-Zeilen 0 1 ε n . ? ? Ln,n (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε ? . ? ? Die Elementfrage für ε wird mit n beantwortet. Der Roboter bleibt auch nach Ausführen der Homing-Sequenz im Zustand q2 , d.h. Lnn bleibt aktiviert. Die Elementfrage für 0 ergibt j. Ln,j Zustandszeilen ε δ-Zeilen 0 1 ε j . n ? Lj,n Zustandszeilen ε δ-Zeilen 0 1 ε n . ? ? Ln,n (aktiviert) Zustandszeilen ε δ-Zeilen 0 1 ε n . j ? Der Roboter erreicht durch diese Elementfrage den Zustand q1 . Die Homing-Sequenz ergibt die Resultatfolge (j, n), d.h. wir reaktivieren Ljn usw. 177 7.2. ENTSCHEIDUNGSBÄUME 7.2 Entscheidungsbäume Wir wenden uns dem schwierigen Problem des Lernens von Entscheidungsbäumen zu. Wir besprechen zuerst einen fast-effizienten“ PAC-Algorithmus und werden dann effiziente Algo” rithmen in einem aktiven Lernmodell kennenlernen. 7.2.1 Ein fast-effizienter“ PAC-Algorithmus ” Wir führen ein Komplexitätsmaß für binäre Bäume ein, nämlich den Rang binärer Bäume. Definition 7.12 Der Rang Rang(T ) eines binären Baumes T ist induktiv definiert: 1. Der Rang eines Baumes, der nur aus der Wurzel besteht, ist 0. 2. Sei T ein binärer Baum mit linkem Teilbaum T1 und rechtem Teilbaum T2 . Setze Rang(T1 ) + 1 Rang(T1 ) = Rang(T2 ), Rang(T ) = max{Rang(T1 ), Rang(T2 ) } sonst. Mit dieser Definition gilt Rang(T ) ≤ Tiefe(T ) und Gleichheit tritt genau dann ein, wenn der Baum T vollständig ist. Im Allgemeinen kann der Rang aber beliebig kleiner als die Tiefe sein, wie die folgende Abbildung erahnen lässt. Rang = 2 l : y Rang = 1 7 Rang = 0 l l o 7 Rang = 0 l Rang = 0 lRang = 1 o l Rang = 1 7 l M Rang = 0 lRang = 1 o lRang = 0 l lRang = 0 Aufgabe 83 (a) Zeige, dass die Klasse der Funktionen, die von einem Entscheidungsbaum vom Rang k berechnet werden können, eine Teilmenge von k-Entscheidungslisten ist. (b) Was kann man über die effiziente PAC-Lernbarkeit von Entscheidungsbäumen vom Rank k sagen? Aufgabe 84 Man kann sich leicht überlegen, dass für jede beliebige Menge S ⊆ {0, 1}n ein Entscheidungsbaum T existiert mit Wahr(T ) = S. (a) Gib einen Entscheidungsbaum T (n, r) an, wobei Wahr(T (n, r)) = {x ∈ {0, 1}n : |{ i | xi = 0, 1 ≤ i ≤ n}| ≤ r}. Der Rang von T (n, r) sollte möglichst klein sein. 178 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN (b) Was kann man über die VC-Dimension von Entscheidungsbäumen mit Rang r sagen? Lemma 7.13 Es gilt: (a) Sei k die Anzahl der Knoten eines binären Baums T vom Rang r. T sei reduziert, d.h. keine der n Variablen taucht mehr als einmal auf dem Weg von der Wurzel zu einem Blatt auf. Dann gilt e · n r . 2r+1 − 1 ≤ k ≤ 2 · r (b) Sei Fn,r die Menge aller Entscheidungsbäume vom Rang r mit Entscheidungsfunktionen x1 , . . . , xn . Dann gilt e·n r | Fn,r | ≤ (8n)( r ) für r ≤ n. (c) Ein Entscheidungsbaum mit k Knoten hat einen Rang von höchstens ⌊log2 k⌋. Beweis (a): Durch Induktion folgt, dass der kleinste Entscheidungsbaum vom Rang r ein vollständiger binärer Baum der Tiefe r ist. Deshalb gilt 2r+1 − 1 ≤ k. Sei b(n, r) die maximale Anzahl von Blättern eines reduzierten Entscheidungsbaumes vom Rang r (mit Entscheidungsfunktionen x1 , . . . , xn ). Dann gilt offensichtlich b(0, r) = 1 und b(n, 0) = 1. Außerdem ist b(n, r) ≤ b(n − 1, r) + b(n − 1, r − 1), denn die Anzahl der Blätter eines Baumes wird maximiert, wenn zum Beispiel der linke Teilbaum Rang r und der rechte Teilbaum Rang r − 1 besitzt. Auf diese Weise hat der Baum noch immer Rang r. Der Übergang von n Entscheidungsfunktionen zu n − 1 Entscheidungsfunktionen ist nötig, da die Funktion der Wurzel nicht mitzuzählen ist. Durch Induktion folgt r X n b(n, r) ≤ i i=0 und deshalb ist b(n, r) ≤ e · n r r mit Lemma 2.26. Da die Anzahl r der Knoten durch die zweifache Anzahl der Blätter beschränkt ist, erhalten wir k ≤ 2 e·n . r m (b)Es gibt höchstens 2 binäre Bäume mit m Knoten: Für jeden Knoten gibt es zwei Wahlmöglichkeiten (kein Kind oder zwei Kinder). Es gibt also nur 22i−1 binäre Bäume mit i Blättern, da es bei i Blättern genau 2i − 1 Knoten gibt. Da jedes der i Blätter klassifiziert wird und jedem inneren Knoten eine der n Entscheidungsfunktionen zugewiesen wird, gibt es somit höchstens 2i ni−1 22i−1 Entscheidungsbäume mit i Blättern. Nach (7.13) wissen wir, dass ein Baum vom Rang r höchstens en r m= r 179 7.2. ENTSCHEIDUNGSBÄUME Blätter besitzt. Deshalb ist | Fn,r | ≤ m X i=1 m i 2 ·n i−1 2i−1 ·2 1 X 1 (8n)m+1 − 1 ≤ (8n)i ≤ · ≤ (8n)m , 2n 2n 8n − 1 i=1 denn 2n · (8n − 1) ≥ 8n. (c) Ein binärer Baum mit Rang r > ⌊log2 k⌋ hätte nach Teil 7.13 mehr als k Knoten, da 2r+1 − 1 ≥ 2⌊log2 k⌋+2 − 1 > 2k − 1 ≥ k und die Behauptung ist gezeigt. 2 Eine effiziente Lösung des Konsistenzproblems für Entscheidungsbäume ist bisher nicht bekannt. Wir werden aber sehen, dass das Konsistenzproblem für Fn,r effizient lösbar ist. Deshalb ersetzen wir das Problem des Lernens von Entscheidungsbäumen polynomieller Größe durch das Lernen von Entscheidungsbäumen von logarithmischem Rang. Nach Lemma 7.13 ist DECISIONn,poly(n) ⊆ Fn,O(log n) . Leider ist dieses Vorgehen sehr teuer“, denn ” - die VC-Dimension von Fn,r ist nΩ(r) für r = O(log n) und - es gilt log2 | DECISIONn,s | ≤ log2 · 2⌈s/2⌉ · n⌊s/2⌋ · 2s ≤ log2 ((4n)s ) = s · log2 (4n). Die VC-Dimension von DECISIONn,s ist O(s log2 n) und deshalb polynomiell für s = poly(n). Algorithmus 7.14 PAC-Algorithmus für Fn,r Eingabe: Die Parameter ε, δ, n und r. (1) Fordere ⌈ 1ε · log2 | Fn,r | + ln 1δ ⌉ Beispiele an. Diese Beispiele werden in der Menge S gesammelt. (2) Für i = 1, . . . , n setze S0i = { x ∈ S | xi = 0 } und S1i = { x ∈ S | xi = 1 }. (3) Rufe die Prozedur Find(S, r) (Algorithmus 7.15) auf, um das Konsistenzproblem zu lösen. (4) Gib den gefundenen Entscheidungsbaum aus. Algorithmus 7.15 Find(S, r), eine Lösung des Konsistenzproblems. Eingabe: Die Beispielmenge S und r ∈ N. (1) Wenn alle Beispiele akzeptierend oder alle Beispiele verwerfend sind, dann konstruiere den entsprechenden Baum vom Rang 0 (also eine mit 1 oder 0 klassifizierte Wurzel). Dies beendet Find(S, r). 180 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN (2) Prüfe, ob r = 0 ist. Wenn ja, beende Find(S, r) mit der Antwort: Lösung unmöglich“. ” (3) /* Es ist r > 0 und es gibt positive und negative Beispiele. Nenne Variablenposition i informativ, wenn für die in Algorithmus 7.14 definierten Mengen S0i , S1i S0i 6= ∅ und S1i 6= ∅ gilt. Damit ist xi als Wurzel des Baumes sinnvoll. */ Wiederhole, solange es noch informative Positionen i gibt: (3a) Rufe Find(S0i , r − 1) und Find(S1i , r − 1) auf. (3b) Angenommen, beide Aufrufe sind erfolgreich. Wir können die beiden erhaltenen Bäume (vom Rang r − 1) zu einem Baum vom Rang r mit der Entscheidungsfunktion xi an der Wurzel zusammensetzen. In diesem Fall hält Find(S, r) und gibt den gefundenen Baum aus. (3c) Angenommen, ein Aufruf ist gescheitert (z.B. Find(S0i , r − 1)), aber der andere Aufruf ist erfolgreich. In diesem Fall rufe Find(S0i , r) auf. Wenn auch dieser Aufruf scheitert, dann beende Find(S, r) mit der Meldung Lösung unmöglich“. ” Ansonsten kann Find(S, r) erfolgreich abgeschlossen und der gefundene Baum (mit Teilbäumen vom Rang r und vom Rang r − 1 und der Entscheidungsfunktion xi an der Wurzel) ausgegeben werden. /* Wenn beide Aufrufe scheitern, dann wird die nächste informative Position betrachtet. */ (4) Die Meldung Lösung unmöglich“ wird ausgegeben. ” /* Die Schritte (3b) und (3c) sind für jede informative Position gescheitert. */ Die Prozedur Find(S, r) (Algorithmus 7.15) ist genau der Definition von Bäumen mit Rang r angepasst: Zuerst wird nach zwei Teilbäumen mit Rang r − 1 (Schritt (3b)) und, wenn notwendig, nach einem Teilbaum mit Rang r und einem Teilbaum mit Rang r − 1 (Schritt (3c)) gesucht. Im Schritt (3c) besteht die Möglichkeit, dass die Suche eingestellt wird: Wenn kein Teilbaum mit Rang r für (z.B.) S0i existiert, kann es keinen Teilbaum mit Rang r für S geben. Denn falls T ein Entscheidungsbaum mit Rang höchstens r für S ist, dann ist T auch ein Entscheidungsbaum mit Rang höchstens r für S0i . Nach erfolglosen Schritten (3b) und (3c) wird festgestellt, dass xi als Entscheidungsfunktion ungeeignet ist, und es wird zur nächsten informativen Variable gewechselt. Find (S, r) ist also korrekt und findet einen Teilbaum mit Rang höchstens r, wenn ein solcher existiert. Zeitanalyse von Algorithmus 7.15: Sei T (i, r) die maximale Zeit der Find-Prozedur, falls - eine Beispielmenge von ⌈ 1ε log2 | Fn,r | + ln - i Positionen informativ sind, 1 δ ⌉ Beispielen vorliegt, - und ein Entscheidungsbaum vom Rang r gesucht wird. 181 7.2. ENTSCHEIDUNGSBÄUME Offensichtlich gilt für c = O(| S | · n) die Rekursion T (0, r) = c = T (i, 0) T (i, r) = c + 2i · T (i − 1, r − 1) + T (i − 1, r). Wenn wir die Rekursion auf den zweiten Summanden T (i − 1, r) anwenden, erhalten wir T (i − 1, r) ≤ c + 2(i − 1)T (i − 2, r − 1) + T (i − 2, r). Durch Iteration ergibt sich T (i, r) ≤ c · i + 2 · ≤ c·i+2· i X k=1 i X k=1 k · T (k − 1, r − 1) + T (0, r) k · T (k − 1, r − 1) + c ≤ c · (n + 1) + 2 · i X k=1 2 n · T (k − 1, r − 1) ≤ c · (n + 1) + 2 · n · T (i − 1, r − 1). Wir haben die rekursive Struktur der Find-Prozedur und T (j, r − 1) ≤ T (j + 1, r − 1) ausgenutzt. Andererseits ist T (i − 1, r − 1) ≥ T (0, r − 1) = c und damit folgt c · (n + 1) ≤ (n + 1) · T (i − 1, r − 1). Wegen T (i, r) ≤ (n + 1) + 2n2 · T (i − 1, r − 1) ≤ 3n2 · T (i − 1, r − 1) 2 ≤ 3n2 · T (i − 2, r − 2) k ≤ 3n2 · T (i − k, r − k), folgt T (i, r) ≤ 3n2 Wir erhalten also Satz 7.16 r · T (i − r, 0) = 3r · n2r · c = 3r · n2r · c′ · n · |S|. (a) Algorithmus 7.14 für Fn,r ist ein PAC-Algorithmus. Es werden höchstens 1 e · n r 1 m=⌈ · · log2 (8n) + ln ⌉ ε r δ Beispiele angefordert, und die Laufzeit ist polynomiell in nr . (b) DECISIONn,poly(n) kann mit höchstens 1 1 O(log2 n) m=⌈ · n + ln ⌉ ε δ Beispielen in Zeit poly(m) erlernt werden. 182 7.2.2 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Lernen mit Elementfragen Wir betrachten einen Lernalgorithmus, der nur Elementfragen stellt. Äquivalenzfragen werden nicht gestellt, da bisher nicht bekannt ist, wie wir ein Gegenbeispiel beim Erlernen von Entscheidungsbäumen nutzbringend verwerten können. Der zu entwerfende Lernalgorithmus wird in polynomieller Zeit laufen, aber den gesuchten Entscheidungsbaum nur approximativ bestimmen. (Tatsächlich werden sogar Entscheidungsbäume gelernt, die gemäss einem inneren Produkt Modulo 2 verzweigen können.) Das für uns zentrale Konzept ist die Fourier-Analyse, die wir in den nächsten Schritten einführen. Definition 7.17 Wir betrachten im Folgenden den Funktionenraum Fn = {f | f : {0, 1}n → R }. Für Funktionen f, g ∈ Fn ist hf, gi = 1 2n X x∈{0,1}n f (x) · g(x) das innere Produkt hf, gi von f und g. Schließlich ist || f || = p hf, f i. die Norm der Funktion f . Fn ist unter komponentenweiser Addition und unter Skalarmultiplikation ein reelwertiger Vektorraum der Dimension 2n . Offensichtlich ist h·, ·i ein inneres Produkt über Fn . Wir betrachten als nächstes eine spezielle Basis von Fn . Definition 7.18 Für z ∈ {0, 1}n sei χz : {0, 1}n → R durch χz (x1 , . . . , xn ) = definiert. Pn +1 i=1 zi xi ≡ 0 mod 2 −1 sonst 183 7.2. ENTSCHEIDUNGSBÄUME Lemma 7.19 Es gilt: (a) Die Menge B = { χz | z ∈ {0, 1}n } ist eine Orthonormalbasis, d.h. B bildet eine Basis von Fn und es gilt 1 z1 = z2 hχz1 , χz2 i = 0 sonst. (b) Für jedes f ∈ Fn gibt es eine eindeutige Darstellung X f= ax χx x∈{0,1}n mit den Fourier-Koeffizienten ax = hf, χx i. (c) Es gilt die Identität von Parseval: || f ||2 = X x∈{0,1}n hf, χx i2 . Beweis (a): Nach Definition gilt hχz1 , χz2 i = = 1 · 2n X x∈{0,1}n 1 · 2n χz1 (x) · χz2 (x) X x∈{0,1}n , hx,z1 i≡hx,z2 i mod 2 1 − X x∈{0,1}n , hx,z1 i6≡hx,z2 i mod 2 1 . Für z1 = z2 gilt stets hx, z1 i ≡ hx, z2 i mod 2 und somit ist hχz1 , χz2 i = 1. Sei also z1 6= z2 . Dann ist { x | hx, z1 i ≡ hx, z2 i mod 2 } = { x | hx, z1 − z2 i ≡ 0 mod 2 }. Die letzte Menge ist aber ein Vektorraum der Dimension n − 1 über Z2 und besitzt deshalb die Mächtigkeit 2n−1 . Mit anderen Worten, die Hälfte aller x ∈ {0, 1}n erfüllt hx, z1 i ≡ hx, z2 i, die andere Hälfte erfüllt hx, z1 i 6≡ hx, z2 i und wir erhalten hχz1 , χz2 i = 0 als Konsequenz. Es bleibt zu zeigen, dass B eine Basis bildet. Wegen |B| = 2n = dim Fn genügt es, die lineare Unabhängigkeit der Funktionen in B nachzuweisen. Angenommen, es wäre X αx χx = 0. x∈{0,1}n Dann ist für jedes y ∈ {0, 1}n 0 = hχy , 0i = hχy , X x∈{0,1}n αx χx i = X x∈{0,1}n αx hχy , χx i = αy . 184 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN (b) Da B eine Basis bildet, gibt es für jedes f ∈ Fn eine eindeutige Darstellung X f= ax χx . x∈{0,1}n Damit gilt X hf, χy i = h x∈{0,1}n (c) Es ist f = P x∈{0,1}n || f ||2 = hf, f i X = h X X X ax χx , y∈{0,1}n X x∈{0,1}n y∈{0,1}n = X x∈{0,1}n ax · hχx , χy i = ay . ax χx mit ax = hf, χx i und deshalb ist x∈{0,1}n = ax χx , χy i = ay χy i ax ay hχx , χy i a2x x∈{0,1}n = X x∈{0,1}n hf, χx i2 . (wegen Lemma 7.19 (b)) Und die Behauptung folgt. 2 Definition 7.20 Ein Modulo-2 Baum T ist ein Entscheidungsbaum, dessen innerer Knoten v mit einem Vektor Ev ∈ {0, 1}n markiert sind. Falls die Eingabe x den Knoten v erreicht und hx, Ev i ≡ 0 mod 2 (bzw. hx, Ev i ≡ 1 mod 2) gilt, wird die Eingabe x in den linken (bzw. rechten Teilbaum) weitergeleitet. Zusätzlich müssen die Blätter mit −1 oder 1 markiert sein. Warum betrachten wir die Fouriertransformation für Modulo-2 Bäume? Setze X || f ||1 = | hf, χx i | x∈{0,1}n Lemma 7.21 Sei T ein Modulo-2 Baum mit b Blättern, der die Boole’sche Funktion f : {0, 1}n → {−1, 1} berechnet. Dann gilt || f ||1 ≤ b. Modulo-2 Bäume besitzen also eine kleine ℓ1 -Norm und besitzen damit wenige grosse FourierKoeffizienten. Beweis: Sei T ein Modulo-2 Baum mit b Blättern, der f berechnet. Wir nehmen an, dass der Baum reduziert ist: Wenn die Knoten v0 , . . . , vj , vj+1 die Knoten eines beliebigen Pfads sind, der in der Wurzel v0 beginnt und wenn der Vektor Ev den Knoten v markiert, dann ist Evj+1 keine Linearkombination von Ev1 , . . . , Evj . Wäre dies nämlich doch der Fall, so wäre Evj+1 = j X k=1 αk Evk 185 7.2. ENTSCHEIDUNGSBÄUME und damit ist hx, Evj+1 i = hx, j X k=1 αk Evk i = j X k=1 αk hx, Evk i. Folglich ist das innere Produkt hx, Evj+1 i aus den bereits bekannten inneren Produkten hx, Evk i (1 ≤ k ≤ j) berechenbar und braucht nicht abgefragt zu werden. Für einen Knoten v von T sei t(v) die Tiefe von v, also die Länge des längsten Pfades von der Wurzel zu v. Die Menge aller Eingaben, die einen Knoten v erreicht, bezeichnen wir mit Reach(v) = { x ∈ {0, 1}n | Eingabe x erreicht v }. Wir sagen, dass ein Blatt w ein 1-Blatt (bzw −1-Blatt) ist, wenn w mit 1 (bzw. −1) markiert ist. Wieviele Eingaben erreichen den Knoten v? Jede Eingabe, die v erreicht, muss t(v) Tests bestanden haben. Wenn Eingabe x den Knoten v erreicht, dann gilt hx, Evi i ≡ bi mod 2 für i = 1, . . . , t(v), wobei bi ∈ {0, 1} und Evi ∈ {0, 1}n der Vektor des i-ten Vorgängers von v ist. Die Matrix dieses linearen Gleichungssystems hat Rang t(v), da der Baum reduziert ist. Die Menge Reach(v) = { x | hx, Evi i ≡ bi mod 2 für i = 1, . . . , t(v) } ist ein affiner Raum der Dimension n − t(v). Deshalb erreichen genau 2n−t(v) Eingaben einen Knoten der Tiefe t(v). Wir betrachten als nächstes einen beliebigen Fourier-Koeffizienten hf, χz i. Was ist der Beitrag der einzelnen Blätter zu hf, χz i? Es ist X 1 | hf, χz i | = | n · f (x)χz (x) | 2 n x∈{0,1} 1 = | n· 2 X X χz (x) − 1 · 2n X X w ist 1-Blatt x∈Reach(w) w ist −1-Blatt x∈Reach(w) X X 1 1 . ≤ · · χ (x) z 2t(w) 2n−t(w) w ist ein Blatt x∈Reach(w) {z } | = Beitragw (z) χz (x) | Behauptung 7.1 Für jedes Blatt w gibt es genau 2t(w) Werte z aus {0, 1}n mit Beitragw (z) = 1 Für die restlichen 2n − 2t(w) Werte von z ist Beitragw (z) = 0. Das Lemma ergibt sich aus der Behauptung, denn X || f ||1 = | hf, χz i | z∈{0,1}n ≤ X z∈{0,1}n X 1 2t(w) · Beitragw (z) w ist Blatt X 1 Beitragw (z) = 2t(w) n z∈{0,1} w ist Blatt = b. X 186 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN und das Lemma ist gezeigt. 2 Beweis von Behauptung 7.1: Sei w ein beliebiges Blatt und seien v1 , . . . , vt(w) die Knoten auf dem Weg von der Wurzel zum Blatt w. Wenn x ∈ Reach(w), dann ist hx, Evi i ≡ bi mod 2 (7.4) für alle i = 1, . . . , t(w). Fall 1: z ist eine Linearkombination der Vektoren Ev1 , Ev2 , . . . , Evt(w) . Offensichtlich gibt es genau 2t(w) solcher Vektoren z. Wir behaupten, dass X 1 Beitragw (z) = | n−t(w) · χz (x) | = 1 2 x∈Reach(w) gilt. Es genügt zu zeigen, dass alle Elemente aus Reach(w) ein konstantes inneres Produkt mit z besitzen: Denn dann ist χz (x) entweder 1 oder −1 für alle 2n−t(w) Elemente aus Reach(w). Da z linear abhängig ist, ist t(w) z= X αi Evi i=1 und deshalb folgt für jedes x ∈ Reach(w) wegen (7.4) t(w) hx, zi ≡ hx, X i=1 t(w) αi Evi i ≡ X i=1 t(w) αi hx, Evi i ≡ Das innere Produkt ist also tatsächlich konstant. X αi bi mod 2. i=1 Fall 2: z ist keine Linearkombination der Vektoren Ev1 , Ev2 , . . . , Evt(w) . Dann gilt | { x ∈ Reach(w) | hx, zi ≡ 1 mod 2 } | = | { x ∈ Reach(w) | hx, zi ≡ 0 mod 2 } |, denn die Gleichung hx, zi ≡ 0 (wie auch hx, zi ≡ 1) ist linear unabhängig von den anderen Gleichungen aus (7.4). Damit muss aber gelten, dass Beitragz (w) = 0 gilt, denn für jeweils die Hälfte der x ∈ Reach(w) ist χz (x) = 1 bzw. −1. Daraus folgt die Behauptung. 2 Warum hilft es, dass || f ||1 klein ist? Dann gibt es eine relativ kleine Anzahl von grossen Fourier-Koeffizienten, deren Summe die Funktion f gut approximiert! Lemma 7.22 Sei f : {0, 1}n → {±1} und ǫ > 0 gegeben. Wir setzen Grossǫ = { z | | hf, χz i | ≥ ε } und g(x) = || f ||1 X z∈Grossε hf, χz i · χz (x). Dann gilt stets, dass | { x | f (x) 6= sign(g(x)) } | ≤ ε · 2n , wobei sign(y) = +1 y > 0 −1 sonst. /* Die grossen Fourier-Koeffizienten approximieren gut, da sign(g(x)) eine gute Approximation von f ist. */ 187 7.2. ENTSCHEIDUNGSBÄUME Beweis: Beachte, dass 1 1 · | { x | f (x) 6= sign(g(x)) } | ≤ || f − g ||2 = n · n 2 2 X x∈{0,1}n 2 f (x) − g(x) , denn (f (x)−g(x))2 ≥ 1, falls f (x) 6= sign(g(x)). Es genügt daher zu zeigen, dass || f −g ||2 ≤ ε gilt. Es ist X (f − g)(x) = hf, χz i · χz (x) z6∈Grossε Mit der Identität von Parseval ( Lemma 7.19 (c)) ist X || f − g ||2 = hf, χz i2 z6∈Grossε und deshalb folgt || f − g ||2 ≤ X ε max | hf, χz i | · | hf, χz i | ≤ · || f ||1 ≤ ε. || f ||1 z6∈Grossε n z∈{0,1} Und dies war zu zeigen. 2 Jetzt können wir die Strategie des Lernalgorithmus beschreiben: Wenn die Funktion f durch einen Modulo-2 Baum mit wenigen Knoten berechnet wird, ist || f ||1 relativ klein. Des|| f ||2 halb kann f durch eine Funktion g approximiert werden, die wenige (höchstens ε 1 ) von Null verschiedene Fourier-Koeffizienten besitzt. Zusätzlich ist jeder Fourier-Koeffizient relativ gross (mindestens || fε ||1 ) und sollte deshalb leicht auffindbar“ sein. Wie können wir also alle ” grossen“ Fourier-Koeffizienten bestimmen? ” Definition 7.23 Sei α ∈ {0, 1}k . Für f : {0, 1}n → R definieren wir fα : {0, 1}n−k → R durch X fα (y) = hf, χαz i · χz (y) z∈{0,1}n−k Die Funktionen fα teilen die Fourier-Koeffizienten von f unter sich auf“: Die Fourier” Koeffizienten von fα stimmen mit den Fourier-Koeffizienten von f überein, die α als Präfix haben. Die Suche nach den Fourierkoeffzienten von f ist also zurückgeführt auf die Suche nach den Fourier-Koeffizienten von f0 und f1 . Allerdings ergibt sich hier ein Problem: Wir können Elementfragen für f stellen, aber nicht für f0 oder f1 ! Wir zeigen, wie der Wert von fα (y) durch Elementfragen (bzgl. f ) zumindest approximativ bestimmt werden kann. Lemma 7.24 Für jedes α mit α ∈ {0, 1}k gilt fα (x) = 1 · 2k X y∈{0,1}k f (yx) · χα (y). Beweis: Es ist 1 2k X 1 f (yx) · χα (y) = k 2 k y∈{0,1} X y∈{0,1}k " X z1 ,z2 # hf, χz1 z2 i · χz1 z2 (yx) · χα (y), (7.5) 188 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN denn wir haben f (yx) durch seine Fourierentwicklung ersetzt (für z1 ∈ {0, 1}k und z2 ∈ {0, 1}n−k ). Es ist χz1 z2 (yx) = 1 ⇔ hz1 z2 , yxi ≡ 0 mod 2 ⇔ hz1 , yi + hz2 , xi ≡ 0 mod 2 ⇔ χz1 (y) · χz2 (x) = 1. Wir können die rechte Seite der Gleichung (7.5) weiter umformen und erhalten X 1 X 1 X f (yx) · χα (y) = k χz1 (y)χα (y) . hf, χz1 z2 i · χz2 (x) · 2k 2 z ,z k k y∈{0,1} 1 y∈{0,1} 2 Betrachten wir die innere Summe. Wenn α 6= z1 ist, erhalten wir den Wert 0 als Konsequenz der Orthogonalität und für α = z1 den Wert 2k . Wir erhalten, dass nur Terme mit α = z1 zur Summe beitragen und das Endergebnis ist 1 2k X y∈{0,1}k f (yx) · χα (y) = X z2 hf, χαz2 i · χz2 (x) = fα (x) wie zu zeigen war. P Wie können wir z∈{0,1}n−k hf, χαz i2 approximieren? Die Identität von Parseval liefert X z∈{0,1}n−k hf, χαz i2 = || fα ||2 = 1 2n−k · X 2 fα2 (y) = E[ fα2 ]. y∈{0,1}n−k Es genügt also, den Erwartungswert E[ fα2 ] zu approximieren. Wir zeigen jetzt, dass die Funktion fα keine zu grossen Werte annimmt: Nach Lemma 7.24 ist fα(x) = Ey [ f (yx) · χα (y). ] Die Funktionen f und χα haben den Wertebereich {±1} und deshalb ist | fα (x) | ≤ 1. Wir erreichen eine verlässliche Approximation des Erwartungswertes E[ fα2 ] durch eine Stichprobe x1 , . . . , xm1 ∈ {0, 1}n−k geeigneter Größe. Das Resultat ist m1 1 X fα2 (xi ). m1 i=1 Wie erhalten wir den Wert von fα2 (xi )? Wieder mit einer Stichprobe yi,1 , . . . , yi,m2 ∈ {0, 1}k geeigneter Größe mit Hilfe von Lemma 7.24: Durch Elementfragen bestimmen wir die Werte f (yi,j xi ). Die Werte χα (yi,j ) können wir direkt berechnen. Damit erhalten wir eine Approximation von fα (xi ), wenn wir Ai = m2 1 X · f (yi,j xi )χα (yi,j ) m2 j=1 189 7.2. ENTSCHEIDUNGSBÄUME setzen und m1 1 X A2i m1 i=1 ist somit die gewünschte Approximation von E[ fα2 ]. Nur an dieser Stelle werden Elementfragen benötigt. Mit anderen Worten: Der Lernalgorithmus benutzt Elementfragen nur zur Approximation der Erwartungswerte E[ fα2 ] und damit nur zur Gewichtsmessung. Durch Anwendungen der Chernoff-Schranken zeigt man, dass es genügt, fα an m1 = O( n 1 · ln ) θ2 θ2 · δ Stellen auszuwerten, wobei jede Auswertung m2 = O( m · n 1 1 · ln ) θ4 θ2 · δ Elementfragen für f nach sich zieht. Wir können die fα approximieren und wissen, dass sie die Fourier-Koeffizienten von f unter sich aufteilen. Wie finden wir die fα , die die grossen Fourier-Koeffizienten besitzen? Lemma 7.25 Sei θ eine positive reelle Zahl und f : {0, 1}n → {±1}. Dann gilt: (a) Für höchstens 1 θ2 Werte von z ist | hf, χz i | ≥ θ. (b) Für jedes k mit 1 ≤ k < n gibt es höchstens X y∈{0,1}n−k 1 θ2 viele α ∈ {0, 1}k mit hf, χαy i2 ≥ θ 2 . Beweis (a): Mit Parsevals Identität (Lemma 7.19 (c)) folgt, dass || f ||2 = hf, f i = X z∈{0,1}n hf, χz i2 . Andererseits ist hf, f i = und daraus folgt die Behauptung. (b) Es ist X α∈{0,1}k und daraus folgt die Behauptung. 1 2n X X z∈{0,1}n y∈{0,1}n−k f 2 (z) ≤ 1 hf, χαy i2 = hf, f i ≤ 1 Algorithmus 7.26 Eingabe: Die Fehlerwahrscheinlichkeit ε und die Blätterzahl b. 2 190 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN (1) Setze θ = ε b /* Der Lernalgorithmus sucht alle Fourier-Koeffizienten mit Absolutbetrag mindestens θ. Wir wissen, dass ein Modulo-2 Baum mit b Blättern eine ℓ1 -Norm von höchstens b hat. Nach Lemma 7.22 approximiert die Summe aller Fourier-Koeffizienten (mit Absolutbetrag mindestens εb ) den Modulo-2 Baum mit Fehler höchstens ε. */ (2) Rufe die rekursive Prozedur Fourier (Algorithmus 7.27) mit dem leeren Wort ε und θ auf Algorithmus 7.27 Prozedur Fourier Eingabe: Der Präfix α ∈ {0, 1}k und die Gewichtsschranke θ. P (1) Approximiere y∈{0,1}n−k hf, χαy i2 und erhalte w(α). (2) IF w(α) ≤ θ2 2 THEN halte. P /* In diesem Fall ist y hf, χαy i2 < θ 2 und somit hf, χαy i2 < θ 2 für jedes y, d.h. es sind keine grosse Fourier-Koeffizienten vorhanden. */ ELSE (2a) IF | α | = n THEN /* Wir haben einen grossen Fourier-Koeffizienten gefunden. */ Gib α und eine Approximation von hf, χα i zurück. Halte. (2b) IF | α | < n THEN /* Es ist nicht ausgeschlossen, dass fα einen grossen Fourier-Koeffizienten besitzt. Wenn dies der Fall ist, dann finden wir ihn in fα0 oder fα1 . */ Rufe rekursiv Fourier(α0, θ) und Fourier(α1, θ) auf und halte. (3) Seien hf, χα1 i, hf, χα2 i, . . . , hf, χαt i die gefundenen Fourier-Koeffizienten. Gib h(x) = t X hf, χαi i · χαi (x) i=1 als Hypothese aus. Laufzeitanalyse: Wir zählen nur die Anzahl der Aufrufe von Fourier. Sei die Länge von α θ) nicht ergebnislos fixiert. Nach Lemma 7.25 brechen höchstens θ42 Aufrufe von Fourier(α, P ab. (Wir haben hier vorausgesetzt, dass w(α) den Ausdruck y∈{0,1}n−k ( f, χαy )2 bis auf einen additiven Fehler von gibt es folglich höchstens θ2 4 approximiert). Insgesamt, über alle möglichen Längen für α, 2· n−1 X k=0 4 8 8b2 · n = n · = θ2 θ2 ε2 Aufrufe von Fourier. Falls b = poly(n) ist, gibt es also maximal poly(n, 1ε ) Aufrufe. Korrektheitsbeweis: Wir können annehmen, dass die Approximation durch w(α) bis auf 2 einen Fehler θ4 korrekt ist. Wenn fα einen grossen Fourier-Koeffizienten besitzt (mit | hf, χαz i | ≥ θ), dann ist X hf, χαy i2 ≥ θ 2 . y∈{0,1}n−k 191 7.2. ENTSCHEIDUNGSBÄUME Weiterhin gilt für jeden Präfix β von α, dass X X hf, χβσ i2 ≥ hf, χαy i2 ≥ θ 2 σ y ist. Das heisst, Fourier(α) wird irgendwann aufgerufen. Wir können zusammenfassen: Satz 7.28 Algorithmus 7.26 lernt Entscheidungsbäume mit b Blättern, mit Wahrscheinlichkeit mindestens 1 − δ und Fehler höchstens ε (gemäss der uniformen Verteilung). Der Algorithmus stellt nur Elementfragen und läuft in Zeit poly(b, 1ε , ln 1δ , n). 192 KAPITEL 7. LERNEN MIT ELEMENTFRAGEN Literaturverzeichnis [A87] D. Angluin, Learning Regular Sets from Queries and Counterexamples, Information and Computation, 75 (2), pp. 87-106, 1987. [AHK93] D. Angluin, L. Hellerstein und M. Karpinski, Learning Read-once Formulas with Queries, Journal of the ACM, 40, pp. 185-210, 1993. [AK91] D. Angluin und M. Kharitonov, When Won’t Membership Queries Help?, Proceedings of the 23rd Annual ACM Symposium on Theory of Computing, pp. 444-454, 1991. [AB92] M. Anthony und N. Biggs, Computational Learning Theory, Cambridge University Press, 1992. [ACGS88] W. Alexi, B. Chor, O. Goldreich und C.P. Schnorr, RSA and Rabin Functions: Certain Parts are as hard as the Whole, SIAM Journal on Computing, 17 (2), pp. 194-209, 1988. [BS99] P. Bartlett und J. Shawe-Taylor, Generalization performance of support vector machines and other pattern classifiers, in: B. Schölkopf, C.J.C. Burges und A.J. Smola (eds), Advances in Kernel Methods –Support Vector Learning, pp. 43-54, MIT Press, 1999. [BSS92] M. Bazaara, D. Sherali und C. Shetty, Nonlinear Programming: Theory and Algorithms, Wiley, 1992. [BCH86] P.W. Beame, S.A. Cook und H.J. Hoover, Log Depth Circuits for Division and related Problems, SIAM Journal on Computing, 15 (4), pp. 994-1003, 1986. [BH89] P. Beame und J. Håstad, Optimal Bounds for Decision Problems on the CRCW PRAM, Journal of the ACM, 26 (3), pp. 643-670, 1989. [BS00] S. Ben-David und H. U. Simon, Efficient learning of linear perceptrons, Advances in Neural Information Processing Systems, 13, MIT Press. 2000. [BEL00] S. Ben-David, N. Eiron und P. Long, On the difficulty of approximately maximizing agreements, Proceedings of the 13th Annual Workshop on Computational Learning Theory, 2000. [BR88] A. Blum und R. Rivest, Training a 3-Node Neturonal Network is N P -complete, Proceedings of the 1988 Annual workshop on Computational Learing Theory pp. 9-18, 1988. 193 194 LITERATURVERZEICHNIS [BR92] A. Blum und S. Rudich, Fast Learning of k-term DNF Formulas with Queries, Proceedings of the 24th Annual ACM Symposium on Theory of Computing, pp. 382-389, 1992. [BEHW89] A. Blumer, A. Ehrenfeucht, D. Haussler und M. Warmuth, Learnability and the Vapnik-Chervonenkis Dimension, Journal of the ACM, 36 (4), pp. 929-965, 1989. [BS90] R.B. Boppana und M. Sipser, The Complexity of finite Functions, in: J. van Leeuven (Ed.), Handbook of Theoretical Computer Science A, chapter 14, pp. 757-804, Elsevier Science Publishers B.V., 1990. [B96] L. Breiman, Bagging Predictors, Machine Learning, 24 (2), pp. 123-140, 1996. [BGL00] M. P. S. Brown, W. N. Grundy, D. Lin, N. Cristianini, C. Sugnet, T. S. Furey, M. Ares und D. Haussler, Knowledge-based Analysis of Microarray Gene Expression Data Using Support Vector Machines, Proc. of the National Academy of Sciences 97(1), pp. 262-267, 2000. [C90] G. Cooper, Computational complexity of probabilistic inference using Baysean belief networks, Artificial Intelligence, 42, pp. 393-405, 1990. [C91] T.M. Cover, Universal Portfolios, Math. Finance 1(1), pp. 1-29, 1991. [CS00] N. Cristianini und J. Shawe-Taylor, An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods, Cambridge University Press, 2000. [CP43] W.S. McCulloch und W. Pitts, A logical Calculus of Ideas Management in nervous Activity, Bulletin of Mathematical Biophysics, (5), pp. 115-133, 1943. [D97] T. G. Dietterich, Machine Learning Research: Four Current Directions. AI Magazine, 18 (4), pp. 97-136, 1997. [FS97] Y. Freund und R.E. Schapire, A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and Systems Sciences, 55 (1), pp. 119-139, 1997. [H91] T. Hancock, Learning 2µ DNF Formulas and kµ Decision Trees, Proceedings of the 4th Annual Workshop on Computational Learning Theory, pp. 199-209, 1991. [H89] J. Håstad, Almost optimal lower Bounds for small depth Circuits, in: Advances in Computer Research: Randomness and Computation, Editor S. Micali, JAI Press, pp.143-170, 1989. [HKP91] J. Hertz, A. Krogh und R.G. Palmer, Introduction zu Neural Computation, Addison-Wesley, 1991. [J74] D.S. Johnson, Approximation Algorithms for Combinatorial Problems, Journal of Computer and System Sciences, 9, pp. 56-278, 1974. LITERATURVERZEICHNIS 195 [K91] H. Karloff, Linear Programming, Birkhäuser, 1991. [K90] M. J. Kearns, The Computational Complexity of Machine Learning, MIT Press, 1990. [KL88] M. J. Kearns und M. Li, Learning in the Presence of Malicious Errors, Proceedings of the 20th Annual ACM Symposium on the Theory of Computing, pp. 267-279, 1988. [KV94] M. J. Kearns und U. V. Vazirani, An Introduction to Computational Learning Theory, MIT Press, 1994. [K93] M. Kharitonov, Cryptographic Hardness of Distribution-specific Lerning, Proceedings of the 25.th Symposium on Theory of Computing, pp. 372-381, 1993. [K99] U. H. G. Kressel, Pairwise classification and support vector machines, in: B. Schölkopf, C.J.C. Burges und A.J. Smola (eds), Advances in Kernel Methods –Support Vector Learning, pp. 255-268, MIT Press, 1999. [LBDH90] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Handwritten digit recognition with a back-propagation network, in David Touretzky, editor, Advances in Neural Information Processing Systems 2 (NIPS 89), Denver, CO, 1990. [LJBB95] Y. LeCun, L.D. Jackel, L. Bottou, A. Brunot, C. Cortes, J.S. Denker, H. Drucker, I. Guyon, U.A. Müller, E. Säckinger, P. Simard, V. Vapnik, Comparison of learning algorithms for handwritten digit recognition, Proc. ICANN95, pp. 53-60, 1995. [M92] Y. Mansour, An nO(log log n) Learning Algorithm for DNF under the uniform Distribution, Proceedings of the 5.th Annual ACM Workshop on Computational Learning Theory, pp. 53-61, 1992. [MP88] M. Minsky und S. Papert, Perceptrons: An Introduction to Computational Geometry, 3rd edition, MIT Press, 1988. [M97] T. M. Mitchell, Machine Learning, McGraw-Hill, 1997. [N91] B. K. Natarajan, Machine Learning — a theoretical Approach, Morgan Kauffmann, 1991. [Q96] J. R. Quinlan, C4.5: Programs for Machine Learning, Morgan Kaufmann, 1992, [Q96] J. R. Quinlan, Boosting, bagging, and C4.5, Proceedings of AAAI 1996. [RSA78] R.L. Rivest, A. Shamir und L. Adleman, A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communication of the ACM, 21 (2), pp. 120-126,1978. [R58] F. Rosenblatt, The Perceptron: A probabilistic Model for Information Storage and Organization in the Brain, Psychological Review, 65, pp. 386-407, 1958. 196 LITERATURVERZEICHNIS [RHW86] D.E. Rumelhart, G.E. Hinton und R.J. Williams, Learning internal Representation by Error Propagation, in: Parallel Distributed Processing I, chapter 8, pp. 318-362, MIT Press, 1986. [S99] R. E. Schapire, Theoretical views of boosting and applications, 10th International Conference on Algorithmic Learning Theory, 1999. [SFBL98] R. E. Schapire, Y. Freund, P. Bartlett and W. S. Lee, Boosting the margin: A new explanation for the effectiveness of voting methods, The Annals of Statistics, 26(5), pp. 1651-1686, 1998. [SSS98] R.E. Schapire, Y. Singer and A. Singhal, Boosting and Rocchio applied to text filtering. Proc. of the 21st Annual International Conference on Research and Development in Information Retrieval, pp. 215-223, 1998. [Sch96a] G. Schnitger, Parallel and Distributed Algorithms, Skript zur Vorlesung im Wintersemester 2006/07, Johann-Wolfgang-Goethe-Universität Frankfurt/Main. [Sch96b] G. Schnitger, Theoretische Grundlagen neuronaler Netze, Skript zur Vorlesung im Sommersemester 1996, Johann-Wolfgang-Goethe-Universität Frankfurt/Main, 1996. [SBWA96] J. Shawe-Taylor, P. Bartlett, R. Williamson, M. Anthony, Structural Risk Minimization over data-dependent hierarchies, Tech Report NC-TR-96-053, NeuroColt Archive, http://www.neurocolt.com/archive.html. [SN00] J. Shawe-Taylor, N. Cristianini, On the generalization of soft margin algorithms, Tech Report NC-TR-2000-082, Neuro-Colt Archive, http://www.neurocolt.com/archive.html. [SR94] K.-Y. Siu und V.P. Roychowdhury, On optimal Depth Threshold Circuits for Multiplication and related Problems, SIAM Journal on discrete Mathematics, 7(2), pp. 284-292, 1994. [Valiant84] L.G. Valiant, A Theory of the Learnable, Communication of the ACM, 27 (11), pp. 1134-1142, 1984.