Zusammenfassung

Transcription

Zusammenfassung
Statistische Lernverfahren
•
•
•
!"#$%&$'
"#$%&%'%!()*!+,
6&,**,!7/8,*
!
! ;'(</=,#!>
•
•
•
•
!
!
!
K-.B&5&,*,#!9,$!,*
•
Ausarbeitung im Rahmen des Hauptseminars:
•
Statistische Lerntheorie WS 06/07
•
•
•
•
•
•
)
"#!9&,$,*!,*$%,#!;'(</=,!<
./CD,#!AL&$'/5!MNN!&.!6M
!
2:9)O/9,#!P&,!$&CD!9/$!7,&$
A$&,D,!;#Q,&$'#<,#!/'(!9
Name: Florian Frede
)
249)S-9&(&>&,*,#!P&,!9/$!6*AQ&,!&#!;==G!@JG!U,*!+,&<'
1/16
•
•
2/16
Statistische Lernverfahren
Einleitung4
Statistisches Lernen4
Lernen mit vollständigen Daten5
„Maximum-likelihood Parameter Lernen“: Diskrete Modelle5
Naives Bayes Modell6
Lernen der Bayes Netzstruktur6
Lernen mit unvollständigen Daten7
Unbeaufsichtigtes Clustern7
Lernen von Bayes‘schen Netzwerken mit unbekannten Variablen8
Die Hauptform des EM Algorithmus8
Beispiel Basiertes Lernen8
Nächster Nachbar Modell8
Einheiten in künstlichen Neuronalen Netzen
10
Netzwerk Struktur
10
Einschichtige „feed-forward“ Neuronale Netzwerke (Perzeptrone)11
Kernel Maschinen13
Praktisches Anwendungsbeispiel: Handschriftenerkennung.15
Literaturverzeichnis16
•
3/16
Einleitung
In dieser Zusammenfassung soll ein kurzer Überblick über verschiedene statistische Lernverfahren gegeben werden. Es werden verschiedene Lernverfahren vorgestellt. Betrachtet werden
das Lernen mit kompletten sowie versteckten Variablen, Methoden des „Beispiel Basierten Lernens“, „Neuronale Netze“ so wie die „Kernel Maschins“.
Statistisches Lernen
Das Hauptaugenmerk soll hier auf die Daten und Hypothesen gelegt werden. Dies wird an einem einfachen Beispiel veranschaulicht:
Eine sehr humorvolle Süßwarenfirma stellt süße Kirsch-Bonbons und saure Zitronen-Bonbons
her. Sie stellen die Bonbons in verschiedenen Mischungen, welche sich durch ihre Verpackung
nicht unterscheiden, zusammen. Hier sind die verschiedenen Zusammenstellungen:
h1: 100% der Bonbons sind süß
h2: 75% süß und 25% sauer
h3: 50% süß und 50% sauer
h4: 25% süß und 75% sauer
h5: 100% sauer
Nun wird eine neue Tüte, deren Inhalt zwischen den oberen Hypothesen h1 bis h5 liegt, betrachten. Um welche Zusammenstellung es sich bei der gekauften Packung handelt ist wie oben erwähnt nicht direkt erkennbar. Nach dem Öffnen und während des „Probierens“ der einzelnen
Bonbons kommen immer mehr Daten, welche helfen eine Aussage über den Inhalt der Tüte zu
treffen, zusammen. Es kann nach jedem getesteten Bonbon mit einer gewissen Wahrscheinlichkeit gesagt werden welche Mischung man besitzt.
Das „Bayes‘sche Lernen“ berechnet diese Wahrscheinlichkeit über die Daten und gibt eine Vorhersage aus. Diese Vorhersage wird unter Berücksichtigung aller Hypothesen, die ihrer Wahrscheinlichkeit nach gewichtet werden, getroffen.
Wenn D alle Daten mit ihren Werten d repräsentiert, wird die Wahrscheinlichkeit mit dem
Bayestheorem wie folgt angegeben:
P (hi |d ) = αP (d |hi )P (hi )
Die Formel berechnet die Wahrscheinlichkeit eines Ereignisses einer einzelnen Hypothese.
Wobei d die Geschmacksrichtung des gezogenen Bonbons vertritt. Die Variable
α=
1
P (d )
ändert sich bei jedem Zug, da mit jedem weiteren Zug eines der Bonbons „fehlt“ und sich die
Verteilung der Geschmacksrichtungen in der Packung verändern.
X ist das Ereignis, dass ein bestimmter Geschmack als nächstes gezogen wird. So ergibt sich
für die Wahrscheinlichkeit, unter Berücksichtigung der bereits gezogen Bonbons, für X folgende
Formel:
P(X|d ) =
!
i
P(X|d , hi )P(hi |d ) =
4/16
!
i
P(X|hi )P(hi |d )
Für unser Bonbon-Beispiel gibt der Hersteller die Verteilung über die Hypothesen h1 bis h5 wie
folgt an: (0,1; 0,2; 0,4; 0,2; 0,1). Nach den ersten 10 sauren Bonbons ist die Wahrscheinlichkeit
P (d |hi ) =
j
P (dj |h3 ) = 0, 510
1
0.8
0.6
Probability that next candy is lime
, weil die Hälfte der Bonbons in einer h3 tüte sauer sind.
Abbildung 01 zeigt die Änderung der Wahrscheinlichkeit für die ersten 10 gezogenen Bonbons,
sowie die Wahrscheinlichkeit Bayes’sche Lernens welche die Summe aller Einzel-WahrscheinStatistical Learning Methods
lichkeiten, wie oben erwähnt, berücksichtigt.Chapter 20.
Posterior probability of hypothesis
714
!
P(h1 | d)
P(h2 | d)
P(h3 | d)
P(h4 | d)
P(h5 | d)
0.4
0.2
0
0
2
4
6
8
Number of samples in d
1
0.9
0.8
0.7
0.6
0.5
0.4
10
0
(a)
2
4
6
8
Number of samples in d
10
(b)
Abbildung 01: (a) Wahrscheinlichkeit P(hi∣d1, ..., dN) von Statistisches Lernen. Die Anzahl N
20.1 Bonbons
(a) Posterior
P (hals
dN ) from
Equation wurden.
(20.1). The(numder Figure
betrachteten
von 1probabilities
bis 10, welche
angesehen
b )
i |dsauer
1 , . . . ,(„lime“)
ber of observations
N ranges from
1 to 10,
observation
Wahrscheinlichkeit
des Bayes‘schen
Lernens
P(dand
lime∣
d1, ..., dN)is of a lime candy. (b)
N+1=each
Bayesian prediction P (dN +1 = lime|d1 , . . . , dN ) from Equation (20.2).
lime candies are unwrapped, h4 is most likely; after 3 or more, h5 (the dreaded all-lime bag)
is the most likely. After 10 in a row, we are fairly certain of our fate. Figure 20.1(b) shows
the predicted probability that the next candy is lime, based on Equation (20.2). As we would
expect, it increases monotonically toward 1.
Das „Parameter
Lernen
mit that
kompletten
Daten“ wird
zunächst
behandelt.
Komplette
The example
shows
the true hypothesis
eventually
dominates
the Bayesian
predic-Daten heißt,
dass tion.
für jede
Variable
im
Modell
ein
Wert
vorliegt,
was
wiederum
das
Lernen
sehr
vereinfacht.
This is characteristic of Bayesian learning. For any fixed prior that does not rule out the
true hypothesis, the posterior probability of any false hypothesis will eventually vanish, simply because the probability of generating “uncharacteristic” data indefinitely is vanishingly
„Maximum-likelihood
Parameter Lernen“: Diskrete Modelle
small. (This point is analogous to one made in the discussion of PAC learning in Chapter 18.)
More
importantly,
the Bayesian
prediction
is optimal,
whethereines
the data
set be small
or large.vor, bei welEs liegt
eine
neue Tüte
mit süßen
und sauren
Bonbons
anderen
Hersteller
Given
the
hypothesis
prior,
any
other
prediction
will
be
correct
less
often.
cher jedoch das Verhältnis der beider Geschmacksrichtungen vollkommen unbekannt ist. Um
The optimality
Bayesian
learning comes
at amodellieren
price, of course.
For realbrauchen
learning wir noch
diesen Sachverhalt
mit of
einem
„Bayes‘schen
Netz“
zu können
problems,
the
hypothesis
space
is
usually
very
large
or
infinite,
as
we
saw
in
Chapter
18. den
In Anteil der
eine zufällige Variable, den Geschmack (Kirsche/Zitrone). Die Variable θ steht für
some
cases,
the
summation
in
Equation
(20.2)
(or
integration,
in
the
continuous
case)
can
be
Kirschbonbons, daraus folgt die Hypothese hθ. Folglich ist der Anteil der Zitronenbonbons= 1- θ.
carried out es
tractably,
butNinBonbons
most casesausgepackt,
we must resortctodavon
approximate
or simplified methods.
Angenommen
werden
sind Kirschbonbons
und l= N- c sind
A
very
common
approximation—one
that
is
usually
adopted
in
science—is
to make
pre- berechnet
Zitronenbonbons. Die „likelihood“ für dieses Szenario kann mit folgender
Formel
dictions
based
on
a
single
most
probable
hypothesis—that
is,
an
h
that
maximizes
P
(h
i
i |d).
werden:
This is often called a maximum a posteriori or MAP (pronounced “em-ay-pee”) hypothesis. Predictions made according to an MAP hypothesis hMAP are approximately Bayesian to
N
!
the extent that P(X|d) ≈
P(X|hMAP ). In ourc candy example,
hMAP = h5 after three lime
l
P (d
|hθso
)=
P learner
(dj |hθthen
) =predicts
θ · (1that
− θ)
candies in
a row,
the MAP
the fourth candy is lime with probj=1dangerous prediction than the Bayesian prediction of 0.8 shown
ability 1.0—a much more
in Figure 20.1. As more data arrive, the MAP and Bayesian predictions become closer, because the competitors to the MAP hypothesis become less and less probable. Although our
example doesn’t show it, finding MAP hypotheses is often much easier than Bayesian learn-
Lernen mit vollständigen Daten
MAXIMUM A
POSTERIORI
5/16
Die „maximum-likelihood-Hypothese“ wird erfüllt, durch ein θ, das die obige Formel maximiert.
Um dies zu vereinfachen wird der Logarithmus zu Hilfe gezogen.
L(d |hθ ) = log P (d |hθ ) =
N
!
j=1
log P (dj |hθ ) = c log θ + l log(1 − θ)
Diese Formel wird abgeleitet und „0“ gesetzt um das maximierende θ zu berechnen.
dL(d |hθ )
c
l
c
c
= −
=0⇒θ=
=
dθ
θ 1−θ
c+l
N
Die „maximum-likelihood-Hypothese“ behauptet also, dass das gesuchte Verhältnis des Tüteninhalts dem der gezogenen Bonbons entspricht.
Zusammenfassend wird wie folgt vorgegangen:
1. Schreibe alle Werte des Likelihood der Daten als eine Funktion über die Parameter.
2. Schreibe die Ableitung für den log-Likelihood mit Berücksichtigung von jedem Parameter.
3. Finde die Parameterwerte damit die Ableitung „0“ ist.
Naives Bayes Modell
In diesem Modell ist die Klassenvariable C („vorherzusagende“ Variable) die Wurzel und die
Attributvariablen X sind die Blätter. Das Modell ist „naiv“, weil es annimmt, dass die Attribute
fortlaufend voneinander unabhängig sind, wenn die Klasse bekannt ist.
Die Berechnung der „maximum-likelihood“ Parameterwerte erfolgt auf gleichem Wege wie im
vorhergehenden Abschnitt.
Wenn das Modell auf diese Weise einmal trainiert wurde kann es benutzt werden, um neue Beispiele zu klassifizieren für welche die Klassenvariable C unbetrachtet bleibt. Mit den Attributwerten x1, …, xn ist die Wahrscheinlichkeit jeder Klasse gegeben durch:
P(C|x1 , ..., xn ) = αP(C)
!
i
P(xi |C)
Eine endgültige Vorhersage kann durch Auswahl der wahrscheinlichsten Klasse enthalten sein.
Die Methode lernt ziemlich gut, aber nicht ganz so gut wie das entscheidungsbaum-basierte
Lernen. Das kommt daher, dass die wahre Hypothese, welche ein Entscheidungsbaum ist, nicht
exakt durch ein naives Bayes’sches Modell repräsentiert werden kann.
Diese Methode funktioniert trotzdem in einer großen Bandbreite von Anwendungen erstaunlich
gut.
Lernen der Bayes Netzstruktur
Bisher wurde angenommen, dass die Struktur des „Bayes‘sche Netzwerkes“ gegeben war und
lediglich versucht wurde die Parameter zu erlernen. Die Algorithmen um die Strukturen zu lernen stecken momentan noch in den Kinderschuhen, deswegen wird nur der Grundgedanke erläutert.
Ein offensichtlicher Ansatz ist ein gutes Modell zu finden. Es wird mit einer Struktur ohne Verbindungen begonnen und Verknüpfungen zwischen den Knoten erstellt. Mit den zuvor erwähnten Methoden werden die Parameter anpasst. Danach wird die Genauigkeit des resultierenden
6/16
Modells überprüft.
Eine andere Möglichkeit wäre eine Struktur zu „schätzen“ und diese dann unter zu Hilfenahme
von „hill-climbing“ oder „simulated annealing search“ zu modifizieren. Nach jeder Strukturveränderung müssen die Parameter neu angepasst werden. Modifikationen können hierbei das Umdrehen, Hinzufügen und Löschen von Kanten sein. Es dürfen keine Zyklen in der Struktur enthalten sein. Deshalb nehmen die Algorithmen eine Topologische Graphenordnung an.
Ein gute Struktur wurde gefunden, wenn die bedingten „Unahhängikeitsaussagen“, die in der
Struktur inbegriffen sind, tatsächlich in den Daten als erfüllt gelten.
Lernen mit unvollständigen Daten
In den meisten realen Problemen existieren oft versteckte Variablen (meist auch „latente Variablen“ genannt). Diese Variablen sind zwar wichtig, aber sie erschweren das Lernen. Diese Variablen können z.B. Krankheiten sein. Die Symptome sind zwar bekannt, allerdings lassen sie
nicht direkt auf die Krankheit schließen. Dieser Sachverhalt wird am besten durch den „expectation-maximization“ (Vermutungsmaximierung bzw. EM) Algorithmus gelöst.
Unbeaufsichtigtes Clustern
726
Dieses Verfahren beschreibt das Erkennen von Kategorien in einer Menge von Objekten. Das
folgende Beispiel soll helfen dies zu verstehen.
Es soll von mehreren Sternen herausgefunden werden, ob sie ein „Roter Riese“ oder ein „Weiser Zwerg“ sind. Allerdings tragen die Sterne keine Beschriftung ihres Typs. Das Einzigste, was
über die Sterne bekannt ist, ist eine Spektralanalyse.
Zu Beginn des Clusterns braucht man Daten. In diesem Fall stehen uns 500 Datenpunkte der
Spektralanalysen von Sternen zur Verfügung.
Diese
in Punkte
eines
KoordinatensysChapter
20.werden
Statistical
Learning
Methods
tems wie in Abbildung 02 umgerechnet.
1
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0
0
0
0.2
0.4
(a)
0.6
0.8
1
0
0
0.2
0.4
(b)
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
(c)
Abbildung 02: (a) 500 Datenpunkte in 2 Dimensionen, die höchst wahrscheinlich 3 Cluster bilFigure
20.8
(a) 500 data points
in two
dimensions,
suggesting the presence
three nachgeclusden.
(b) Ein
Unbeaufsichtigtes
Cluster
Modell
mit drei Komponenten.
(c) Das of
Modell
ters.
A Gaussian
mixture model with three components; the weights (left-to-right) are 0.2,
stellt
mit(b)
dem
EM Algorithmus.
0.3, and 0.5. The data in (a) were generated from this model. (c) The model reconstructed by
EM from the data in (b).
MIXTURE OF
GAUSSIANS
is given
by
Jetztdistribution
beginnt das
eigentliche
Clustern der Daten. Punkte die am wahrscheinlichsten einen
k
Sachverhalt wiedergeben
werden Clusterzentren zugeordnet. Anschließend werden die Ge!
(x)Datenpunkte
=
P (C = angepasst.
i) P (x|C = i) ,
wichte an P
die
i
=
1
Das Clustern ist beendet wenn sich die Änderung der Zentren, welche die unbekannten Variabwhere x refers to unter
the values
of the
attributes forSchwellwert
a data point. sinken
For continuous
data, aAblauf
naturaleiner vorgelen repräsentieren,
einen
bestimmten
oder nach
choice
for
the
component
distributions
is
the
multivariate
Gaussian,
which
gives
the
so-called
geben Anzahl von Iterationen.
mixture of Gaussians family of distributions. The parameters of a mixture of Gaussians are
wi = P (C = i) (the weight of each component), µi (the mean of each component), and Σi
(the covariance of each component). Figure 20.8(b) shows a mixture of three Gaussians; this
mixture is in fact the source of the data in (a).
The unsupervised clustering problem, then, is to recover a mixture model like the one in
Figure 20.8(b) from raw data like that in Figure 20.8(a). Clearly, if we knew which component
generated each data point, then it would be easy to recover the component Gaussians: we
could just select all the data points from a given7/16
component and then apply (a multivariate
version of) Equation (20.4) for fitting the parameters of a Gaussian to a set of data. On
the other hand, if we knew the parameters of each component, then we could, at least in a
probabilistic sense, assign each data point to a component. The problem is that we know
Lernen von Bayes‘schen Netzwerken mit unbekannten Variablen
Es werden zwei Bonbonpackungen aus den vorherigen Beispielen miteinander vermischt. Es
gibt drei Eigenschaften: den Geschmack, die Verpackung der Bonbons und manche der Bonbons besitzen ein Loch in der Mitte. Die Verteilung der Bonbons in jeder einzelnen Tüte ist
durch ein Naives Bayes’sches Modell beschrieben. Dabei sind die Eigenschaften einer bestimmten Tüte voneinander unabhängig aber die bedingte Wahrscheinlichkeitsverteilung für
jede Eigenschaft hängt von der Tüte ab. Die Herkunft der Bonbons ist die unbekannte Variable.
Wir generieren uns jetzt 1000 mögliche Beispielsfälle. Wobei es ebenso wahrscheinlich ist,
dass ein Bonbon aus der ersten oder der zweiten Packung kommt. Jedoch kommt ein süßes,
rot verpacktes Bonbon mit Loch eher aus der ersten und ein saures, grün verpacktes eher aus
der zweiten Tüte. Die Wahrscheinlichkeiten aus welcher Tüte ein Bonbon stammt wird mit einem EM Algorithmus gelöst, welcher im nächsten Abschnitt erläutert wird.
Nach 10 Iterationen ist das gelernte Modell bereits überangepasst, daher sind weitere Fortschritte sehr gering. Dieses Verhalten ist nicht untypisch für EM Algorithmen. Daher kombinieren viele praktische System EM mit einem gradientenbasierten Algorithmus wie zum Beispiel
den Newton-Raphson-Algorithmus für die letzte Phase des Lernens.
Die Hauptform des EM Algorithmus
Die Idee des EM-Algorithmus basiert auf dem Clustern nach k-means. Grundvoraussetzung ist
hier, dass alle Objekte als Vektoren dargestellt werden können. Weiterhin muss eine Funktion
bekannt sein, nach der der Mittelwert zweier Vektoren berechnet werden kann. Es wird eine
beliebige Anzahl von Clustern vorgegeben, in die die Objekte eingeteilt werden sollen. Jeder
dieser Cluster hat einen Mittelpunkt.
1. Estimation: Bestimme für jedes Objekt nach einer Wahrscheinlichkeitsverteilung z.B. die
Normalverteilung, mit welcher Wahrscheinlichkeit es zu jedem der Cluster gehört und speichere diese Wahrscheinlichkeiten für alle Objekte und Cluster.
2. Maximization: Bestimme anhand der ermittelten Zuordnungswahrscheinlichkeiten die
Parameter neu, die die Cluster bestimmen.
Der Algorithmus wird beendet, wenn entweder die Clusteränderung der Likelihood der Daten
unter einen vorgegebenen Schwellwert sinkt, oder eine maximale Anzahl von Durchläufen erreicht ist.
Es wird eine „weiche“ Clusterzuordnung erreicht, das heißt, dass mit einer gewissen Wahrscheinlichkeit jedes Objekt zu jedem Cluster gehört.
Beispiel Basiertes Lernen
Hier geht es im Gegensatz zum statistischen Lernen nicht darum, die am besten passende Hypothese durch bestimmte Parameter zu finden, sondern anhand von Beispielen ein einfaches
Modell der realen Welt nachzustellen. Solche Methoden werden auch „nonparametric learning“
gennant.
Nächster Nachbar Modell
Der Grundgedanken des „Nächsten Nachbar Modells“ liegt darin besondere Eingabepunkte in
nachbarschaftlichen Bezug zu ähnlichen Punkten zu setzen. Dies hört sich eigentlich relativ
simpel an, zuerst muss man allerdings definieren was „Nachbar“ bedeutet.
Wählt man den „Nachbar-Kreis“ zu klein, beinhaltet er zu wenige Datenpunkte um Bezüge zwischen den Punkten aufzubauen. Ist der Kreis zu groß erhält man wiederum keine präzise Tren-
8/16
734
734
nung der einzelnen Daten, da zu viele Punkte enthalten sind, sie verwaschen.
Die Lösung für dieses Problem ist, dass die Nachtbarschaft so definiert wird, dass sie k Punkte
enthält. Für ein fixes k variiert die Größe der Nachbarschaft je nach Dichte der Punkte. In dünn
besiedelten Bereichen ist der Nachbarschaftsbereich größer wie in den Bereichen, in welchen
20. ein
Statistical
die Daten dicht an dicht liegen. Abbildung 03Chapter
zeigt hierzu
BeispielLearning
für die Methods
Verteilung von Daten.
Chapter 20.
1
Statistical Learning Methods
Density
0.8
18
16
14
1
0.6
12
10
Density
8
0.8
0.4
186
1
164
0.8
142
0
0.6
0.6
12 0
0.2
0.4
0.2
10
0.4
0.2
0.6
8
0.8
1 0
6
0.40
4
1
0
0.2
0.4
0.6
0.8
1
2
0.8
0
0.6
(a)
(b)
0.2
0
0.4
0.2
0.4
0.2
0.6
Abbildung 03: (a) 128 Punktrepräsentationen aus den Daten von
Abbildung
0.8
0 02 (a), mit zwei
1 20.8(a),
Figure
20.12 (a) A 128-point subsample of the data shown in Figure
together
0
Datenpunkten
und ihren 10-Nächsten-Nachbarn. (b) Ein 3D Schaubild des „Mixture of Gaussiwith
two
query
points
and
their
10-nearest-neighborhoods.
(b)
A
3-D
plot
of
the
mixture
of
0
0.2
0.4
0.6
0.8
1
ans“ von welchem die Daten generiert wurden.
Gaussians from which the data were generated.
(a)
(b)
Figure 20.12 (a) A 128-point subsample of the data shown in Figure 20.8(a), together
with two query points and their 10-nearest-neighborhoods. (b) A 3-D plot of the mixture of
In Abbildung
04 wird das ErgebnisDensity
von k-nächsten-Nachtbaren
für k=3, 10 und 40 repräsentiert.
Density
Density
Gaussians from which the data were
generated.
Dies veranschaulicht den oben angezeigten Sachverhalt.
Density
0 0.2
0.4
0.6 0.8
(a)
0 0.2
Figure
20.13
0.4 0.6
0.8
0
1
0.8
0.6
0.4
0.2
1
0.8
0.6
0.4
Density
0.2
0
Density
0 0.2
0.4
0.6 0.8
0
1
0.8
0.6
0.4
0.2
(b)
0.6 0.8
(b)
0
1
0.8
0.6
0.4
0.2
(c)
1
0.8
0.6
0 0.2
0 0.2
0.4
estimation using
applied
to the
0.2
0.4 0.6 k-nearest-neighbors,
0.4 0.6
0
0.8
0.8
ure 20.12(a), for k = 3, 10, and 40 respectively.
(a)
Density
0 0.2
0.4
1
0.8
0.6
0.4
data0.2in Fig0
(c)
a Abbildung
value of k04:
somewhere
between 5 and 10 gives good results for most low-dimensional data
Die Dichte-Schätzung von „k-Nächsten-Nachbarn“, angewandt auf die Daten in
Figure
20.13
Density
estimation
using
k-nearest-neighbors,
applied to the data in Figsets.
A
good
value
of
k
can
beund
chosen
by
using cross-validation.
Abbildung 03 (a), für k=3 (a),also
10 (b)
40 (c)
Bezugspunkte.
ure
= 3, 10,neighbors
and 40 respectively.
To20.12(a),
identify for
theknearest
of a query point, we need a distance metric, D(x1 , x2 ).
The two-dimensional example in Figure 20.12 uses Euclidean distance. This is inappropriate
the space
is measuring
something
example, height
awhen
valueeach
of k dimension
somewhereofbetween
5 and
10 gives good
results different—for
for most low-dimensional
data
and
weight—because
changing
the
scale
of
one
dimension
would
change
the
set of nearest
sets.
A
good
value
of
k
can
also
be
chosen
by
using
cross-validation.
In praktischen
Anwendungen
hat
sich herausgestellt
das ein Bereich
zwischen
5 und 10 Nachneighbors.
One solution
is toneighbors
standardize
scalepoint,
for each
To do
this, we
measure
To identify
the nearest
of the
a query
we dimension.
need a distance
metric,
D(x
1 , x2 ).
baren für niederdimensionale Daten optimal ist.
The two-dimensional example in Figure 20.12 uses Euclidean distance. This is inappropriate
Ein guter
Wert für k kann mit der Kreuzvalidierung („cross-validation“) gut bestimmt werden. Die
when each dimension of the space is measuring something different—for example, height
„cross-validation“ ist definiert durch:
and weight—because changing the scale of one dimension would change the set of nearest
„Die Daten werden in n gleich große Mengen partitioniert, wobei n-1 Mengen als Trainings- und
neighbors. One solution is to standardize the scale for each dimension. To do this, we measure
die n-te als Testmenge für ein maschinelles Lernverfahren dienen. Dieses Vorgehen wird nun
wiederholt, bis jede der n Partitionen einmal als Testmenge verwendet wurde. Die beste Hypo-
9/16
738
these ist das Endergebnis.“ 1
Kreuzvalidierung ist ein Hilfsmittel zur Beurteilung von Hypothesen.
Für zweidimensionale Beispiele wie in Abbildung 03 eignet sich der Euklidische Abstand um die
„Nächsten Nachbarn“ heraus zu bekommen. Der Euklidische Abstand ist von den Skalen des
Koordinatensystems abhängig. Abhilfe für dieses Problem schafft die Normalisierung der Skalen jeder Dimensionen.
Chapter
20.
Statistical
Methods
Das Verfahren kann zwar schnell und einfach
implementiert
werden Learning
und ist in
den meisten Fällen auch relativ schnell.
THRESHOLD
SIGMOID FUNCTION
LOGISTIC FUNCTION
are shown in Figure 20.16: the threshold function and the sigmoid function (also known as
the
logistic function).
sigmoid
function has the advantage of being differentiable, which
• Punktbeispiele
mit The
Label
abspeichern
we
will
see
later
is
important
for
the
weight-learning
algorithm.
Notice
that both functions
• bestimme den Abstand zu allen anderen
Datenpunkte
(z.B. mit
Euklidischen
Abstand)
have
a threshold
(either
hard orüber
soft)den
at zero;
the bias weight W0,i sets the actual threshold
• suche
k nächste
Nachbarn
Abstand
for the unit, in the sense that the unit is activated when the weighted sum of “real” inputs
!•nvergleiche alle Label und führe eine Mehrheitsentscheidung durch
aj (i.e.,
theaus
biasder
input)
exceeds W0,i .
•jweise
dem
Punktexcluding
das Label
Mehrheitsentscheidung
zu
= 1 Wj,i
g(inikann
)
Doch bei großen Datenmengen
es zu Verzögerungeng(in
bei
i) der Berechnung der Distanz
kommen. Des Weiteren kann es passieren, dass in einem viel-dimensionalen Raum der
„Nächste Nachbar“ sehr weit
+1 entfernt sein kann.
+1
Neuronale Netze
in
in
i
i
Ein Neuron ist eine Zelle im Gehirn, dessen
Hauptfunktion darin besteht
elektronische Signale
(a)
(b)
zu verarbeiten. Ein Neuron „feuert“ nur dann, wenn die Eingang eine eingestellte/gelernte
20.16 (a)Seit
The 1943
threshold
activation
function,
which outputs
the input is Modelle entwiSchwelle Figure
überschreiten.
werden
immer
detailliertere
und1 when
realistischere
positive and 0 otherwise. (Sometimes the sign function is used instead, which outputs ±1
ckelt.
depending on the sign of the input.) (b) The sigmoid function 1/(1 + e −x ).
Einheiten
Netzen
We in
cankünstlichen
get a feel for the Neuronalen
operation of individual
units by comparing them with logic
gates. One of the original motivations for the design of individual units (McCulloch and
Neuronale
Netze
aus
Einheiten
dieBoolean
direkt miteinander
verbunden
sind.
Pitts, 1943)
wasbestehen
their ability
to represent
basic
functions. Figure
20.17 shows
howEine Verbindung the
unter
den
Knoten
verbreitet
die
Aktivierung
untereinander.
Jede
Verknüpfung
Boolean functions AND, OR, and NOT can be represented by threshold units with suitable hat somit
seineweights.
eigenesThis
Gewicht.
Ein einzelnes
wiethese
in Abbildung
05 die
Booleschen
Grundis important
because it Neuron
means wekann
can use
units to build
a network
to
funktionen
AND,
OR
und
NOT
realisieren.
Die
Gewichte
sind
wie
abgebildet
verteilt.
compute any Boolean function of the inputs.
W0 = 0.5
W0 = 1.5
W0 = 0.5
W1 = 1
W1 = 1
W1 = 1
W2 = 1
W2 = 1
AND
OR
NOT
Abbildung 05: Einheiten mit der Reizschwellen-Funktion können wie Logische Gatter, durch
Figure 20.17 Units with a threshold activation function can act as logic gates, given apAngabe ihrer Eingabe werte und Gewicht, arbeiten.
propriate input and bias weights.
Network structures
Netzwerk
Struktur
There are two main categories of neural network structures:
acyclic or feed-forward networks
and
cyclic
or
recurrent
networks.
A
feed-forward
network
represents aNetze
functionund
of Netze mit
Es gibt zwei Hauptkategorien von Netzwerktypen: die „feed-forward“
its
current
input;
thus,
it
has
no
internal
state
other
than
the
weights
themselves.
A
recurrent
Rückkopplung so genannte „recurrent“ Netzwerke.
FEED-FORWARD
NETWORKS
RECURRENT
NETWORKS
“Bei [„feed-forward“] Netzen ohne Rückkopplungen existiert kein Pfad, der von einem Neuron
1
Universität des Saarlandes, Data Mining Glossar, Cross Validation,
http://www-agrw.informatik.uni-kl.de/damit/c/crossvalidation.html, Strand 25.11.2006
10/16
direkt oder über zwischengeschaltete Neuronen wieder zurück zu diesem Neuron führt. Daten
werden also nur in eine Richtung weitergegeben.“ 2
Ist das Netz in Schichten eingeteilt, sind die „feed-forward“ Netze ebenenweise verbunden. Es
gibt nur Verbindungen von einer Schicht in die nächste.
Bei „recurrent“ Netzen gibt es mehrere Möglichkeiten für Rückkopplungen, die direkten, indirekten und lateralen.
Direkte Rückkopplungen verbinden den Ausgang eines Perzeptron mit einem seiner Eingänge.
Es können selbst verstärkende und hemmende Effekte entstehen.
Indirekte Rückkopplungen sind Verbindungen einer tieferen Ebene zu einer höheren, dies hat
verstärkende Wirkung auf Teilbereiche des Netzes.
Laterale Rückkopplungen sind Verbindungen innerhalb einer Schicht. Diese Verbindungen werden verwendet um eine hemmende Wirkung innerhalb dieser Schicht zu erreichen. Das „Gewinner-Neuron“ hemmt alle anderen, weshalb dieser Effekt auch als „winner-takes-all-Netz“ bezeichnet wird.
Bei den Netzen mit diesen Rückkopplungen kann es bei einer Eingabe passieren, dass längere
Zeit benötigt wird um einen stabilen Zustand zu erlangen.
Einschichtige „feed-forward“ Neuronale Netzwerke (Perzeptrone)
Ein Netz, in welchem alle Eingänge direkt mit den Ausgängen verbunden sind nennt man einschichtige „Neuronale Netze“ oder ein „Perzeptron Netz“. In Abbildung 05 haben wir die
Bool‘schen Grundfunktionen AND, OR und NOT betrachtet, welche relativ leicht durch ein Perzeptron realisiert werden konnten. Eine etwas komplexere Funktion ist schwieriger bzw. unmöglich mit nur einem Perzeptron darzustellen.
Das Perzeptron kann nur linear separierbare Funktionen darstellen, deswegen wird auch die
Reizschwelle „linearer Separator“ genannt. In Abbildung 06 wird dieser Separator für die zwei
Section 20.5.
Neural Networks
741
Funktionen
AND und OR dargestellt.
I1
I1
I1
1
1
1
?
0
0
1
(a) I1 and I2
I2
0
0
1
(b) I1 or I2
I2
0
0
1
I2
(c) I1 xor I2
Abbildung 06: Linear separierbare Reizschwelle eines Perzeptrons. Schwarze Punkte stellen
20.20 „1“
Linear
in threshold perceptrons.
dots indicate
point
dieFigure
Eingabewerte
und separability
weisse die Eingabewerte
„0“ dar. DasBlack
Perzeptron
liefert a„1“
für in
den
the input
space
where thezurück.
value of(c)the
function
1, and
white
dotsnicht.
indicate a point where the
Bereich
ohne
Abschattung
hier
gibt esiseine
solche
Linie
value is 0. The perceptron returns 1 on the region on the non-shaded side of the line. In (c),
no such line exists that correctly classifies the inputs.
LINEARLY
SEPARABLE
WEIGHT SPACE
dots. Such functions are called linearly separable. Figure 20.20(c) shows an example of
Die XOR
Funktion
nicht
linear
separierbar,XOR
wie function.
anhand der
Abbildung
wird.
a function
that isistnot
linearly
separable—the
Clearly,
there isklar
no way
forEs
a gibt für ein
Perzeptron
keine
Möglichkeit
die
Reizschwelle
so
zu
bestimmen,
dass
diese
Funktion
berechthreshold perceptron to learn this function. In general, threshold perceptrons can represent
net werden
kann.
only linearly separable functions. These constitute just a small fraction of all functions;
Es gibt
aber20.14
einenasks
sehr
einem Perzeptron
jede
linear limited,
separierbare TraiExercise
youeinfachen
to quantifyAlgorithmus
this fraction. Sigmoid
perceptrons are
similarly
ningsreihe
beizubringen:
in the sense that they represent only “soft” linear separators. (See Figure 20.19(b).)
Despite their limited expressive power, threshold perceptrons have some advantages.
In particular, there is a simple learning algorithm that will fit a threshold perceptron to any
linearly separable training set. Rather than present this algorithm, we will derive a closely
related algorithm for learning in sigmoid perceptrons.
The idea behind this algorithm, and indeed behind most algorithms for neural network
2 Lippe (2006), Backpropagation Learning: Prinzipien Künstl. Neuronaler Netze,
learning, is to adjust the weights of the network to minimize some measure of the error on
http://cs.uni-muenster.de/Professoren/Lippe/lehre/skripte/wwwnnscript/lern.html,
Stand space.
24.11.2006
8
the training set. Thus, learning is formulated as an optimization search in weight
The “classical” measure of error is the sum of squared errors, which we used for linear
regression on page 720. The squared error for a single training example with input x and true
output y is written as
1
1
11/16
E = Err 2 ≡ (y − hW (x))2 ,
2
2
where hW (x) is the output of the perceptron on the example and T is the true output value.
We can use gradient descent to reduce the squared error by calculating the partial deriva-
Mit zwei linear separierbare Mengen Y1 und Y2 soll ein Perzeptron trainiert werden. Yi hat die
Form (1,y1, … yn). Das Perzeptron soll einen Gewichtsvektor der Form
⇒ yw > 0
⇒ yw ≤ 0
y ∈ Y1
y ∈ Y2
annehmen. Tritt dieser Fall ein ist das Lernen beendet. Allerdings ist dieser Gewichtsvektor in
den meisten Fällen nicht bekannt. Das Perzeptron macht deshalb zunächst „Fehler“.
Dem Perzeptron wird nun ein Beispiel vorgelegt, dass als falsch ermittelt wird. Dann wird der
Gewichtsvektor im nächsten Schritt wie folgt verändert:
 t
w + y, falls y ∈ Y1 und yw ≤ 0
t
∈ Y2 und
0
w + 1 = wt − y, falls y Chapter
20.yw ≥
Statistical
Learning Methods

wt ,
sonst
744
Multilayer feed-forward neural networks
Bei Now
diesen
werden with
die Komponenten
der
Vektoren
und subtrahiert.
we Rechnungen
will consider networks
hidden units. The
most
commonaddiert
case involves
a single Nach
11
Verschiebung
des
Gewichtsvektors
kann
es
vorkommen,
dass
einige
zuvor
richtig
hidden layer, as in Figure 20.24. The advantage of adding hidden layers is that it enlargeserkannte
Beispiele
falsch
klassifiziert
Nach
wird unit
der as
Gewichtsvektor
jethe space
of hypotheses
thatwerden.
the network
can endlich
represent.vielen
ThinkSchritten
of each hidden
a percepdoch
erfolgreich
gelernt.
tron that represents a soft threshold function in the input space, as shown in Figure 20.19(b).
Then, think of an output unit as as a soft-thresholded linear combination of several such func-
Mehrschichtige
Neuronalesoft
Netzwerke
tions. For example,feed-forward
by adding two opposite-facing
threshold functions and thresholding
the result, we can obtain a “ridge” function as shown in Figure 20.23(a). Combining two such
Dieridges
„feed-forward“
Netzwerke
in mehreren
Schichten
könnenfrom
nicht
nurhidden
Daten
in einem
at right angles
to each other
(i.e., combining
the outputs
four
units),
we linear
separierbaren
Bereich
erkennen,
sondern
auch Daten Anhäufungen. Da mit jedem „hidden layobtain a “bump”
as shown
in Figure
20.23(b).
er“ eine neue Hyperebene aufgespannt wird. Dies wird durch die Abbildung 07 verdeutlicht.
hW(x1, x2)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-4 -2
x1
0
2
4
(a)
-4
-2
0
4
2
x2
hW(x1, x2)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-4 -2
x1
0
2
-4
4
-2
0
4
2
x2
(b)
Figure 20.23
(a) The
resultvon
of zwei
combining
two opposite-facing
softGrenzfunktionen,
threshold functions
Abbildung
07: (a) Das
Resultat
kombinierten,
gegensätzlichen
wel-to
produce
a
ridge.
(b)
The
result
of
combining
two
ridges
to
produce
a
bump.
che einen „Grat“ bilden. (b) Das Resultat wenn zwei dieser „Grate“ kombiniert werden, ein „Höcker“.
With more hidden units, we can produce more bumps of different sizes in more places.
In fact, with a single, sufficiently large hidden layer, it is possible to represent any continuous
function of the inputs with arbitrary accuracy; with two layers, even discontinuous functions
12 Unfortunately,
Durch
Sachverhalt
kann eine jede
Funktion
mit beliebiger
Exaktheit
berechnet
can diesen
be represented.
for any
particular
network structure,
it is
harder to werden.
Dercharacterize
Lernalgorithmus
Netze istcan
ähnlich
wie der and
einschichtigen
Netze, ein kleiner Unterexactly dieser
which functions
be represented
which ones cannot.
schied ist,
dass es
einen Ausgabewert
sondern
einen
Vektorproblem.
von Ausgaben.
Der
Suppose
wenicht
want nur
to construct
a hidden layergibt
network
for the
restaurant
We
Hauptunterschied
liegt
darin,
dass
in
den
Eingabedaten
keine
Aussage
über
die
Ausgaben
der
have 10 attributes describing each example, so we will need 10 input units. How many hidden
„hidden
layer“
gemacht
werden
kann.
Diese
Ausgaben
scheinen
aus
dem
Nichts
zukommen.
Es
units are needed? In Figure 20.24, we show a network with four hidden units. This turns out
können
allerdings
Rückschlüsse
von
der
Ausgabe
der
„output
layer“
auf
die
Ausgaben
der
„hidto be about right for this problem. The problem of choosing the right number of hidden units
deninlayer“
gemacht
werden.
advance
is still not
well understood. (See page 748.)
Learning algorithms for multilayer networks are similar to the perceptron learning algorithm show in Figure 20.21. One minor difference is that we may have several outputs, so
11
Some people call this a three-layer network, and some call it a two-layer network (because the inputs aren’t
“real” units). We will avoid confusion and call it a “single-hidden-layer network.”
12 The proof is complex, but the main point is that the required
12/16 number of hidden units grows exponentially with
the number of inputs. For example, 2n /n hidden units are needed to encode all Boolean functions of n inputs.
Der Rückschlussprozess kann wie folgt zusammengefasst werden:
• Berechne die Δ Werte der „output units“ unter Beachtung des beobachten Fehlers
• Starte mit der Ausgabeschicht, und wiederhole das folgende mit jeder Schicht im Netzwerk, bis der früheste „hidden layer“ erreicht wurde:
◦ Propagiere den Δ Wert zurück in die vorige Schicht
◦ Aktualisiere die Gewichte zwischen den beiden Schichten.
Es dürfte klar sein, dass der Prozess nicht nur für Netze mit einem „hidden layer“ angewendet
werden kann, sonder für alle Neuronale Netze.
Lernen von Neuronalen Netzten Strukturen
Bisher wurden nur die Gewichte für eine vorhandene Struktur von Neuronalen Netzen festgelegt. Ein Neuronales Netz sollte nicht zu groß gewählt werden. Es besteht dann die Gefahr,
dass sich das Netz zwar exakt an schon da gewesene Beispieldaten erinnert, aber neue ungelernte Daten werden nicht unbedingt gut genug klassifizieren. In anderen Worten das Netzwerk
neigt zu „Überanpassung“, wenn zu viele Parameter im Modell beachtet werden.
Um dies zu vermeiden und ein Netz minimal zu halten wird der „optimal brain damage“ Algorithmus benutzt, welcher durch ein vollverbundenes Netzwerk läuft und „ungenutzte“ Verbindungen kappt.
Nach der ersten Trainingsphase werden die besten Verbindungen, welche verworfen werden
können, vom Algorithmus herausgesucht und gelöscht. Danach wird das Netz neu trainiert. Dies
wird solange wiederholt bis sich die Leistung verschlechtert. Um ein optimales Netz zu erhalten
wird die Konfiguration der vorigen Iteration verwendet.
Das Problem kann auch von der anderen „Seite“ angegangen werden. Ein minimales Netzwerk
wird vorausgesetzt, welches dann so erweitern wird, dass am Ende eine zufrieden stellende
Lösung herauskommt.
Es wird hierzu mit einer „single unit“ begonnen. Diese wird so trainiert, dass sie so viele Trainingsdaten wie möglich korrekt abdeckt. Anschließend werden neue Einheiten unter der Beachtung, dass sie die Fehlerfälle der ersten Einheit abdecken, hinzugefügt. Der Algorithmus fügt
nur so viele Einheiten hinzu wie benötigt werden das Beispiel gut abzudecken.
Kernel Maschinen
Es gibt bei den Neuronalen Netze allerdings die folgenden Aspekte, die uns die Auswahl etwas
erschweren.
Einschichtige Netzwerke haben einen simplen und effizienten Lernalgorithmus, aber sehr beschränkte Möglichkeiten.
Mehrschichtige Netze haben auf der einen Seite mehrere Ausdrucksstärke, sind durch ihre Fülle von Minimalkonfigurationen jedoch sehr schwer zu finden bzw. zu trainieren.
Eine Ansatz um dieses Problem zu um gehen sind die „kernel maschines“. Der Grundgedanke
wird anhand eines Beispiels nachvollzogen.
In der Abbildung 08 sehen wir 2-dimensionale Daten die nicht linear separierbar sind. Die Daten
werden nun durch Transformation in den 3-dimensionalen Raum überführt. Was dabei geschieht, ist leicht aus der Abbildung zu entnehmen
13/16
750
Chapter 20.
750
Statistical Learning Methods
Chapter 20.
Statistical Learning Methods
1.5
1
1.5
x2
0.5
0
-0.5
3
2
1
!2x
0 1x2
-1
3 -2
2 -3
1 0
0.5
x2
1
!2x1x2
0
-0.5
-1
0
-1
-2
-3
-1.5
-1.5
-1
-0.5
-1
0
x1
0.5
1
1.5
(a)
2.5
2
1.5
0.5
1
1
x21
1.5
x22
0.5
2
2.5
2
0
(b)
0.5
1.5
1
x22
1
Abbildung 08: (a) 2-dimensionale Trainingsdaten, welche mit2 Sicherheit
nicht linear separierbar
1.5
0.5
x1
-1.5 sind.
Figure
20.27 Entscheidungsgrenze,
(a) A two-dimensional
with
examples
as black
circles
and
Die richtige
x12training
+ x22 ≤ 1,
ist positive
ebenso
eingezeichnet.
(b) die
gleichen
2
2 2
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
negative
examples
as
white
circles.
The
true
decision
boundary,
x
+
x
≤
1,
is
also
shown.
Daten nach der Transformation in den 3-dimensionalen Raum (x1 , 1x2 , √2x
Der
kreisförmi2 1x2).√
ge Separator
ist nun
linearer
geworden.
(b) The same
dataxein
mapping
into a three-dimensional input space (x 21 , x22 , 2x1 x2 ). The
1after
circular decision(a)
boundary in (a) becomes a linear decision boundary in (b)
three dimensions.
x22
Figure 20.27 (a) A two-dimensional training with positive examples as black circles and
2
negative
as white circles.
The true
decision boundary,
+ xallgemein
is also
shown.
Die
Datenexamples
sind in diesem
Raum linear
separierbar.
Dies istx 21ein
gültiger
Sachverhalt.
2 ≤ 1,√
(b) The
samedies
data noch
after mapping
into a three-dimensional input space (x 21 , x22 , 2x1 x2 ). The
Leider
reicht
nicht aus.
circular
decision boundary
a linear decision
in three
dimensions.
Die
Transformation
bringt in
eine
„Überangepasstheit“
mitboundary
sich bringt.
Deshalb
überführen wir die
1 (a) becomes
Daten durch eine Projektion wieder in den 2-dimensionalen Raum wie in Abbildung 09 zu sehen
0.8
ist.
0.6
0.4
1
0.2
0.8
x22
0
0
0.6
0.2
0.4
0.6
x21
0.8
1
Figure 20.28 0.4A close-up, projected onto the first two dimensions, of the optimal separator
shown in Figure 20.27(b). The separator is shown as a heavy line, with the closest points—the
support vectors—marked with circles. The margin is the separation between the positive
0.2
and negative examples.
0
0
0.2
0.4
0.6
x21
0.8
1
Abbildung 09: Die Projektion der ersten 2 Dimensionen, des Separators von Abbildung 07 (b).
Figure
20.28
Alieg
close-up,
projected
onto
the first two
dimensions,
of Grenze
the optimal
separator
Der
Separator
in der Mitte
der zwei
gestrichelten
Linien.
Dies ist die
von negativen
shownund
in positiven
Figure 20.27(b).
The separator is shown as a heavy line, with the closest points—the
Beispielen.
support vectors—marked with circles. The margin is the separation between the positive
and negative examples.
Nun können die Daten ohne Gefahr linear separiert werden. Der lineare Separator wird so gewählt, dass er von beiden Mengen genau im Mittel liegt. Das heißt, der Abstand zu den Datenpunkten wird optimiert, damit ein bestmögliches Ergebnis bei unbekannten Daten erreicht wird.
14/16
This can be done easily for k-nearest-neighbor and perceptron learning, among others.
20.7
C ASE S TUDY: H ANDWRITTEN D IGIT R ECOGNITION
Recognizing handwritten digits is an important problem with many applications, including
automated sorting of mail by postal code, automated reading of checks and tax returns, and
Praktisches
Anwendungsbeispiel:
Handschriftenerkennung.
data entry for
hand-held computers. It is an area
where rapid progress has been made, in part
because of better learning algorithms and in part because of the availability of better training
Handschriftenerkennung
vielenofBereichen
Anwendung.
Beispielsweise
bei der
sets. The United States findet
NationalinInstitute
Science andeine
Technology
(NIST) has
archived a
Post um
eine of
Postleitzahl
zu entziffern,
oder
um
bei pixels
PDAswith
die 8-bit
Eingabe
zu erleichtern.
database
60,000 labeled
digits, each 20
× 20
= 400
grayscale
values. It Das amerikanische
„National
of Sience
andproblems
Technology“
(NIST)new
hatlearning
hierfüralgorithms.
ein Archiv von 60000
has become
one ofInstitute
the standard
benchmark
for comparing
gelabelten
Wobei
in einer
Auflösung von 20*20=400 Pixel gespeichert ist.
Some Zahlen.
example digits
arejedes
shownBild
in Figure
20.29.
Abbildung 10: Zwei Handschriftlich Beispiele des NIST. Die Zahlen, in der oberen Reihe, sind
Figure 20.29 Examples from the NIST database of handwritten digits. Top row: examples
leicht zu identifizieren. Bei der unteren Reihe ist es schwerer die richtigen Zahlen zu ermitteln.
of digits 0–9 that are easy to identify. Bottom row: more difficult examples of the same digits.
Many different learning approaches have been tried. One of the first, and probably the
simplest, is the 3-nearest-neighbor classifier, which also has the advantage of requiring no
Es wurden
umfassenden
Archivs
mehrere
Lernverfahren
getestet.
traininganhand
time. As diesen
a memory-based
algorithm,
however,
it must store
all 60,000 images,
and Eines der
erstenitsund
wahrscheinlich
auch
einfachste
war
das
„3-Nächste-Nachbarn“
Verfahren.
Bei Tests
runtime performance is slow. It achieved a test error rate of 2.4%.
erreichte die
Methode
eine
Fehlerrate
von
2,4%.
A single-hidden-layer neural network was designed for this problem with 400 input
Ein „single-hidden-layer“
Neuronales
Netz
mit Using
400 „input
units“ (fürit jedes
Pixel eine) und
units (one per pixel) and
10 output units
(onewurde
per class).
cross-validation,
was found
10 „output
units“300
(eine
für jede
Zahl)
DurchWith
Bereinigung
wurde festgestellt,
dass die
that roughly
hidden
units gave
theaufgebaut.
best performance.
full interconnections
between
bestenlayers,
Ergebnisse
300of„hidden
units“ erziehlt
wurden.
Wasa 1.6%
das Verfahren
there weremit
a total
123,300 weights.
This network
achieved
error rate. eine Fehlerrate
von 1,6% erreicht lies.
Weitere Verfahren wie das „LeNet“, „support vector maschine“ und „shape matching“ erreichten
Fehlerraten von weniger als 0,5%.
Wobei ein Mensch eine Fehlerraten von ungefähr 0,2% erreichen könnte. Allerdings bei ähnlichen Daten des amerikanischen Post Services beträgt die menschliche Fehlerrate 2,4%.
15/16
Literaturverzeichnis
• S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, Kapitel 20: Statistical Learning Methods, Prentice Hall, 2. Auflage, 2002
• G. Görz, C.-R. Rollinger, J. Schneeberger (Hrsg.), Handbuch der Künstlichen Intelligenz, Oldenbourg Verlag, 4. Auflage, 2002
• Wikipedia, EM-Algorithmus, http://de.wikipedia.org/wiki/EM-Algorithmus, Stand 21.11.2006
• Lippe (2006), Backpropagation Learning: Prinzipien Künstl. Neuronaler
http://cs.uni-muenster.de/Professoren/Lippe/lehre/skripte/wwwnnscript/lern.html,
24.11.2006
Netze,
Stand
• U. Schöning, Boolsche Funktionen, Logik, Grammatiken und Automaten (Theoretische Informaitk II) - Vorlesungsskript -, 2003
• Universität des Saarlandes, Data Mining Glossar, Cross Validation,
http://www-agrw.informatik.uni-kl.de/damit/c/crossvalidation.html, Stand 25.11.2006
16/16