Computational Learning Theory - Professur für Theoretische Informatik

Werbung
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.
Herunterladen