2. Klassifikatoren - Universität Freiburg

Transcription

2. Klassifikatoren - Universität Freiburg
Albert-Ludwigs-Universität Freiburg
Institut für Informatik
Lehrstuhl für Mustererkennung und Bildverarbeitung
Prof. Dr.-Ing. H. Burkhardt
Praktikumsversuch
Klassifikatorentwurf1
M. Schael, C. Bahlmann und H. Burkhardt
25. Februar 2002
1
http://lmb.informatik.uni-freiburg.de/people/bahlmann/data/klassifikator2000.pdf
Inhaltsverzeichnis
1. Einleitung
1.1. Die Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Literatur zur Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
6
2. Klassifikatoren
2.1. Bayes-Entscheidungs-Theorie . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Repräsentation eines Klassifikators . . . . . . . . . . . . . . . . . . . . . .
8
9
11
3. Parametrische Klassifikatoren
3.1. Bayes-Klassifikator für normalverteilte Muster
3.1.1. Euklidischer-Distanz-Klassifikator . . .
3.1.2. Mahalanobis-Distanz-Klassifikator . . .
3.2. Parameterschätzung . . . . . . . . . . . . . . .
13
13
14
14
16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4. Nicht-parametrische Klassifikatoren
18
4.1. κ-Nächste-Nachbarn-Klassifikator . . . . . . . . . . . . . . . . . . . . . . 18
5. Klassifikatoren basierend auf Funktionsapproximation
5.1. Polynom-Klassifikator . . . . . . . . . . . . . . . . . . .
5.2. Neuronaler-Netzwerk-Klassifikator . . . . . . . . . . . .
5.2.1. Allgemeines über Künstliche Neuronale Netze . .
5.2.2. Das biologische Neuron . . . . . . . . . . . . . .
5.2.3. Das abstrakte Neuron . . . . . . . . . . . . . . .
5.2.4. Das Perzeptron . . . . . . . . . . . . . . . . . . .
5.2.5. Das Multilagen-Perzeptron . . . . . . . . . . . .
5.2.6. Aufgaben . . . . . . . . . . . . . . . . . . . . . .
6. Fehlerquellen beim Klassifikatorentwurf
6.1. Unterbestimmter Klassifikator . . . . . .
6.2. Überbestimmter Klassifikator . . . . . .
6.3. Umfang der Stichproben für das Lernen .
6.4. Optimaler Klassifikator? . . . . . . . . .
7. Aufgaben zum Praktikum
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
23
23
24
24
27
32
38
.
.
.
.
40
40
41
41
41
44
i
Inhaltsverzeichnis
A. Beschreibung der graphischen Oberfläche
A.1. Erste Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2. Die graphische Oberfläche . . . . . . . . . . . . . . . . . . . .
A.2.1. Klassifikator bestimmen und Trainingsmenge laden . . .
A.2.2. Parameter für den spezifizierten Klassifikator schätzen .
A.2.3. Testmenge laden und den trainierten Klassifikator testen
A.3. Datentypen und Bezeichner . . . . . . . . . . . . . . . . . . . .
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
47
48
49
49
49
Vorwort
Menschen fällt es nicht schwer Objekte ihrer Umwelt den zugehörigen Bedeutungsklassen
zuzuordnen. Sehen wir zum Beispiel ein Tier, so wissen wir in den meisten Fällen sofort,
welcher Tierart es angehört. Obwohl es eine große Vielfalt an Tierarten gibt, die sich in
viele Rassen unterteilen lassen, bereitet uns die Zuordnung keine Probleme. Aufgrund von
Informationen unserer Sinne (visuell, auditiv usw.) und unserer Erfahrung sind wir dazu
befähigt eine Einteilung eines Objektes in die zugehörige Bedeutungsklasse — eine Klassifikation — durchzuführen. Der Vorgang der Klassifikation ist in vielen Bereichen unserer
Umwelt mittlerweile automatisiert vorzufinden. In der Produktion gibt es Klassifikatoren,
die darüber entscheiden, ob ein Produkt bestimmten Gütekriterien genügt und fehlerfrei
ist. Blutparameter von Patienten werden in der Medizin verwendet um Krankheiten zu diagnostizieren, was wiederum eine Klassifizierung darstellt. In der Bildverarbeitung finden
Klassifikatoren, die ein wesentlicher Bestandteil der Mustererkennung sind, breite Anwendung.
Im Rahmen dieses Praktikums sollen grundlegende Kenntnisse über die Theorie der Klassifizierung und deren Anwendung vermittelt werden. Ziel des Praktikums ist es, die Teilnehmer dazu zu befähigen Klassifikatoren — für die Mustererkennung — der Problemstellung
entsprechend auszuwählen und anzuwenden. Dazu werden in dieser Anleitung zunächst die
notwendigen theoretischen Grundlagen der Klassifikation in der Mustererkennung erklärt.
Nachdem das notwendige Wissen dargelegt wurde, werden die am häufigsten verwendeten
Klassifikatoren vorgestellt. Im Praktikum werden die erworbenen Kenntnisse angewendet
und vertieft.
1. Einleitung
Der Vorgang der Mustererkennung läßt sich in mehrere Schritte schematisch unterteilen, die
in der Abbildung 1.1 dargestellt sind [1]. Die Unterteilung dient dabei mehr dem Verständnis und der Überschaubarkeit. Wesentlich ist, daß bei der Lösung von Problemstellungen
in der Mustererkennung die einzelnen Blöcke (z.B. Merkmalextraktion und Klassifikation),
nicht voneinander isoliert zu betrachten sind. So hängen zum Beispiel die Merkmalkonstruktion und die Klassifikation eng miteinander zusammen.
Ein Objekt aus dem Objektraum wird mit Hilfe eines Sensors, der entsprechend der Aufgabenstellung und Objekteigenschaften selektiert werden muß, in Informationseinheiten gewandelt. Die vom Objekt ermittelten sensorischen Informationen müssen die für die Lösung
der Aufgabenstellung notwendigen Daten enthalten.
Der Objektraum, also der Raum, der alle auftretenden Objekte der realen Welt beinhaltet,
ist zur Lösung einer Aufgabenstellung häufig zu umfangreich. Aus diesem Grund wird der
Objektraum in der Regel beschränkt. D.h. es werden nur die Objekte zugelassen, die in der
Problemstellung wirklich auftreten.
Der Sensor bildet die Objekte aus dem Objektraum auf ein Muster ab. Die Menge aller Muster, die durch eine sensorische Erfassung eines Objektes entstehen können, werden zum
Musterraum zusammengefaßt. Zum Beispiel werden bei der Spracherkennung die Schallwellen eines Sprechers über ein Mikrofon in in analoges elektrisches Signal umgewandelt.
Um das Signal mit einem Computer weiter zu verarbeiten ist eine Digitalisierung über einen
Analog-Digital-Konverter unumgänglich.
Die vom Sensor erzeugten Muster der Objekte enthalten im allgemeinen einen großen Teil
an Informationen, die für die Aufgabenstellung irrelevant sind. Damit verbunden ist ein
hoher Datenumfang der Muster. Ziel der Merkmalextraktion ist es, nur die Informationen
als Merkmal vom Muster zu extrahieren, die für die Lösung der Mustererkennungsaufgabe
notwendig ist. Unwesentliche Information werden bei der Merkmalkonstruktion idealerweise dezimiert. Damit ermöglicht die Merkmalextraktion eine erhebliche Reduktion des
Datenumfangs der Muster. Als letzter Schritt in der Mustererkennung erfolgt nun die Klassifikation der Merkmale. D.h. die Merkmale der Muster werden ihrer Bedeutungsklasse
zugeordnet.
In diesem Praktikum werden wir uns mit dem letzten Block aus Abbildung 1.1, der Klassifikation, befassen. D.h. wir gehen davon aus, daß die Merkmale von den Objekten für eine
3
1. Einleitung
gegebene Aufgabenstellung geeignet extrahiert wurden.
Sensor
Objektraum
Merkmalkonstruktion
Musterraum
Klassifikation
Merkmalraum
Bedeutungsklassen
Abbildung 1.1.: Schematisierung der Mustererkennung.
1.1. Die Klassifikation
Für die Definition des Vorgangs der Klassifikation ist es notwendig ein paar grundlegende
Begriffe einzuführen. Wir definieren den Objektraum als denjenigen Raum, der alle auftretenden Objekte enthält, die in unserer Klassifikationsaufgabe vorkommen können. Diese
Einschränkung dient dazu die Aufgabe der Klassifikation überschaubar und lösbar zu machen. Die Objekte können beliebiger Natur sein, wie zum Beispiel Schriftzeichen für eine
Zeichenerkennung, oder physikalische Größen. Der Objektraum läßt sich in Bedeutungsoder Äquivalenzklassen unterteilen. Für eine Klassifikationsaufgabe seien k Bedeutungsklassen ωi vorgegeben. Die Menge aller Klassen sei Ω := {ω1 , . . . , ωk }.
Im Fall der Schrifterkennung repräsentieren die Buchstaben des Alphabets die Klassen.
Um eine automatische Klassifikation zu realisieren — was unser Ziel beim Klassifikatorentwurf ist — benötigen wir nun eine elektronische Repräsentation der Objekte. Hierfür
gilt es einen Sensor zu finden, der die zu untersuchenden Eigenschaften des Objektes detektiert. Im mathematischen Sinne bildet der Sensor den Objektraum auf den Musterraum
ab. Für die Schriftzeichenerkennung würde zum Beispiel ein Scanner als Sensor in Frage
kommen. Von den über den Sensor generierten Muster werden nun wesentliche Merkmale
extrahiert. Dieser Schritt dient auch der Datenreduktion, bei der für die Aufgabenstellung
unwesentliche Informationen unterdrückt werden. Die Merkmale beinhalten hinreichend
viele Informationen, die für eine Klassifikation notwendig sind.
Nachdem die Merkmale von den Mustern extrahiert wurden, erfolgt die Klassifikation der
Merkmale. Die Aufgabenstellung einer Klassifikation läßt sich folgendermaßen allgemein
umschreiben: Gegeben seien k Bedeutungsklassen ωi . Jede Bedeutungsklasse wird durch
ihre Elemente definiert. Allgemeiner läßt sich festhalten, daß eine Bedeutungsklasse durch
ihre intrinsischen Merkmale, die allen Elementen der Bedeutungsklasse gemein sind, definiert ist.
Die Objekte — und damit auch die Muster resp. Merkmale der Objekte — einer Bedeutungsklasse unterliegen bei realen Problemstellungen einer gewissen Variabilität. Unter der
Variabilität der Objekte sind Transformationen und/oder Störungen zu verstehen, die auf
die Objekte wirken. Aber auch unterschiedliche Erscheinungsformen der Objekte tragen
zur Variabilität bei.
4
1.1. Die Klassifikation
ω1
ω2
Musterraum
Bedeutungsklassenraum
Abbildung 1.2.: Klassifikation der Muster eines Zwei-Klassenproblems.
Zu den Transformationen gehören in der Bildverarbeitung geometrische Abbildungen, wie
z.B. Euklidschen Bewegungen (Rotation und Translation) im IR2 oder IR3 , projektive Abbildungen usw. Ebenso gehören auch intensitätsbasierte Abbildungen, z.B. durch Beleuchtungseinflüssen bei der Aufnahme eines Objektes mit der Kamera, zu den Transformationen. Zu den Störungen gehört zum Beispiel das Rauschen des Sensors.
Häufig lassen sich Merkmale konstruieren, die gegenüber den vorkommenden Störungen
robust und gegenüber einen Teil der Transformationen invariant sind. Doch ist es nicht immer möglich, solche Merkmale zu konstruieren. D.h. der Klassifikator muß die Merkmale
— und damit die Objekte — trotz Transformationen und Störungen der korrekten Bedeutungsklasse zuordnen.
Bemühen wir noch einmal das Beispiel der Schrifterkennung. Wenn in der Problemstellung die Rotation in der Ebene auftreten kann, so muß der Klassifikator das Merkmal eines
rotierten „A“ auch der Bedeutungsklasse ωA zuweisen.
Für den Vorgang der Klassifikation muß dem Klassifikator Wissen über die zu klassifizierenden Objekte und deren Klassenzugehörigkeit zugänglich gemacht werden. Grundsätzlich gibt es hierfür zwei Vorgehensweisen:
Beim überwachten Lernen (supervised learning) wird der Klassifikator mit Hilfe einer
klassifizierten Stichprobenmenge an Mustern resp. Merkmalen trainiert. Hierfür wurde die
Stichprobe zuvor von einem Experten manuell klassifiziert. Der Klassifikator wird an die
Trainingsmenge der Merkmale — bezüglich gewisser Bewertungskriterien (z.B. Fehlklassifikationsrate) — angepaßt. Eine weitere Möglichkeit für das Training eines Klassifikators
ist das unüberwachte Training.
Ist die Klassenzugehörigkeit der Muster nicht vorab bekannt, so handelt es sich um ein unüberwachtes Lernen (unsupervised learning). Auf Klassifikatoren, die auf unüberwachtem
Lernen basieren, werden wir nicht näher eingehen.
5
1. Einleitung
In Abbildung 1.2 ist das Vorgehen der Musterklassifikation für ein Zwei-Klassenproblem
dargestellt. Die Muster der Klasse ω1 sind mit Punkten, die der Klasse ω2 mit Kreisen
gekennzeichnet. Die Klassifikation bildet jedes Muster auf eine Bedeutungsklasse ω ab. In
realen Problemstellungen treten hierbei Fehler auf. D.h. die Muster werden einer falschen
Klasse zugeordnet, wie das in Abbildung 1.2 für ein Muster der Klasse ω1 angedeutet ist.
Allgemein bezeichnen wir ein Muster x als Element aus dem Vektorraum X ⊂ IRN . Die
Klassenzugehörigkeit ω läßt sich auch über k-dimensionale Einheitsvektoren ei beschreiben. Wir definieren den Zielvektor y der Klasse ω folgendermaßen: yi = ei für ωi . Ein
Muster x ist im Zusammenhang mit seiner wahren Klassenzugehörigkeit ω zu betrachten.
Ein Klassifikator stellt eine Abbildung eines Musters [x, ωi ] auf einen Zielvektor y dar:
d : x → y, y = d(x). Im Idealfall ist d(x) = yi . Andernfalls ist ein Klassifikationsfehler
aufgetreten.
1.2. Literatur zur Klassifikation
Die in dieser Anleitung zum Praktikum vorgestellte Theorie läßt sich in der Standardliteratur der Mustererkennung resp. Musterklassifikation wiederfinden. Ferner werden die
theoretischen Grundlagen der Klassifikation ausführlich in [1] vermittelt. Hervorzuheben
sind die folgenden Bücher, die für die Einführung und Vertiefung in das Gebiet der Klassifikation gute Dienste leisten, und hauptsächlich für die vorliegende Anleitung verwendet
wurden:
Pattern Classification and Scene Analysis von R. O. Duda und P. E. Hart, [3], ein Standardwerk der Klassifikation, bietet eine umfassende Einführung in die Bayes-Entscheidungstheorie. Es werden parametrische und nichtparametrische Methoden der Klassifikation hergeleitet. Ebenso wird die Theorie der linearen Diskriminanzfunktionen erläutert. Methoden
des unüberwachten Lernens und Clustering-Verfahren werden in [3] zusätzlich behandelt.
Das Buch Pattern Recognition and Neural Networks von B. D. Ripley, [7], ist ein weiteres
Standardwerk der Mustererkennung. Die Gebiete der statistischen Entscheidungstheorie,
der linearen Diskriminanz-Analyse werden ausführlich dargestellt. Der Schwerpunkt von
[7] ist in der Verwendung von künstlichen neuronalen Netzwerken für die Klassifikation zu
sehen.
Ein weiteres — gut verständliches — Standardwerk der Musterklassifikation ist das Buch
Pattern Classification von J. Schürmann, [10]. Es bietet Einblick in statistische und neuronale Ansätze der Klassifikation. Dabei deckt [10] nahezu alle Themenbereiche der Musterklassifikation ab und diskutiert zudem Fragen zur Merkmalselektion und Bewertung von
Klassifikatoren. Zusätzlich werden Ansätze zur Kombination von Klassifikatoren erläutert.
Ergänzende Literatur zu der hier gegebenen Einführung in künstliche neuronale Netze
kann in [8], [6] und [9] gefunden werden. [8] konzentrieren sich auf selbstorganisierende Karten, einen hier nicht näher betrachteten Ansatz von KNN, geben aber auch für das
6
1.2. Literatur zur Klassifikation
in diesem Versuch zu behandelnde Multilagen-Perzeptron eine kompakte, gut verständliche Einführung. [6] und [9] gehen auf das Perzeptron etwas ausführlicher ein. Ebenfalls
empfehlenswert ist das Manual zur Matlab Neural Networks Toolbox [2], welches neben
der Syntax-Beschreibung der in dem praktischen Teil verwendeten Matlab-Funktionen zur
KNN-Simulation auch theoretische Erläuterungen zu den Verfahren bereithält sowie auch
die Matlab-Demonstrationen zu dieser Toolbox. Im WWW gibt es unter der Referenz [5]
MPEG-Filme, in denen das Lernen von KNN, insbesondere das Perzeptron-Lernen, animiert wird.
7
2. Klassifikatoren
Wie schon erwähnt lassen sich Klassifikatoren in der Art ihres Lernens unterscheiden. Wir
betrachten hier nur solche Klassifikatoren, die auf einem überwachten Lernvorgang basieren. D.h. dem Klassifikator wird zu Beginn eine Lernstichprobe von dem mustererzeugenden Prozeß — der Musterquelle — präsentiert, die vorab — zum Beispiel von einem Experten — klassifiziert wurde. Der Klassifikator hat somit die Möglichkeit, seine Schätzung
der Klassenzugehörigkeit eines Musters der Stichprobe zu validieren. Das Wissen von einer Fehlentscheidung ist schließlich Voraussetzung für ein Lernen. Für die Bewertung der
Güte eines trainierten Klassifikators wird eine weitere Stichprobenmenge herangezogen.
Diese ist von der Lernstichprobe verschieden und wird häufig Teststichprobe („recall"´Stichprobe) genannt (siehe auch 6). Die auf überwachten Lernen basierenden Klassifikatoren lassen sich in drei Hauptkategorien unterteilen:
Zur ersten Kategorie gehören die parametrischen verteilungsbasierten Klassifikatoren.
Sie basieren auf einer Modellannahme bezüglich der statistischen Eigenschaft der Musterquelle resp. auf der Kenntnis der Wahrscheinlichkeitsdichteverteilung (WDV ). Ist die WDV
nicht a-priori bekannt, wird bezüglich der WDV des mustererzeugenden Prozesses eine Hypothese aufgestellt (zum Beispiel wird angenommen, daß es sich um eine Normalverteilung handelt). Jede Verteilung wird mit Parametern beschrieben, die im allgemeinen aus
der Muster-Stichprobe geschätzt werden müssen.
Einen anderen Weg beschreiten nicht-parametrische Klassifikatoren, die eine WDV modellieren ohne eine Annahme über die der Musterquelle zugrundeliegende WDV -Funktion
zu machen. Zu den nicht-parametrischen Klassifikatoren gehören solche, die für die Klassifikation direkt die Lernstichproben verwenden oder die Verteilungen aus den Lernstichproben schätzen. Als ein wichtiger Vertreter der nicht-parametrischen Klassifikatoren wird der
κ-Nächste-Nachbarn-Klassifikator vorgestellt.
Als dritte Klassifikator-Kategorie sind Ansätze zu nennen, die auf einer Funktionsapproximation basieren. Für das Training der Funktionsapproximations-Klassifikatoren müssen auch Parameter angepaßt werden. Wesentlicher Unterschied zu den parametrischen
und nicht-parametrischen Klassifikatoren ist, daß keinerlei Verteilungen modelliert werden. Zwei Instanzen der auf Funktionsapproximation basierenden Klassifikatoren werden
in diesem Praktikum vorgestellt: der Polynom-Klassifikator und der und der NeuronaleNetzwerk-Klassifikator.
8
2.1. Bayes-Entscheidungs-Theorie
2.1. Bayes-Entscheidungs-Theorie
Die auftretenden Variationen der Muster x1 einer Klasse lassen sich über die Statistik beschreiben. Dem Umstand, daß jede Klasse ωi mit einer bestimmten Wahrscheinlichkeit auftreten kann, wird mit der a-priori Wahrscheinlichkeit P (ωi ) begegnet. Bei einer Gleichverteilung der Klassen gilt P (ωi ) = 1/k. Im folgenden Kontext gehen wir davon aus, daß die
statistischen Eigenschaften — also die a-priori Wahrscheinlichkeit und die klassenbedingte
Wahrscheinlichkeitsdichtefunktion (WDF ) — bekannt sind. D.h. für jeden Klasse haben
wir eine WDF p(x|ωi ), die uns die bedingte Wahrscheinlichkeit für des Muster x mit der
Bedingung, daß x zur Klasse ωi gehört, angibt. Was wir erreichen möchten, ist eine Aussage
über die W, daß ein beobachtetes Muster x der Klasse ωi angehört. D.h. wir benötigen einen
Ausdruck für die a-posteriori Wahrscheinlichkeit P (ωi |x). Die gesuchte Aussage wird von
der Bayes-Regel geliefert:
p(x|ωi )P (ωi )
P (ωi |x) =
p(x)
mit
p(x) =
k
i=1
p(x, ωi ) =
k
p(x|ωi )P (ωi ).
i=1
Die a-posteriori Wahrscheinlichkeit gibt uns ein Maß für die Zugehörigkeit eines Musters
x zur Klasse ωi an. Der Vorgang der Klassifikation mit gegebener a-posteriori Wahrscheinlichkeit ist nun einfach: Berechne alle P (ωi |x) für ein neu beobachtetes Muster x. Bestimme die Klasse ωi für den die a-posteriori Wahrscheinlichkeit maximal wird. Ein nach
der soeben beschriebenen Entscheidungsregel arbeitender Klassifikator heißt Maximum APosteriori Klassifikator, oder kurz MAP-Klassifikator. Ist die a-priori Wahrscheinlichkeit
für alle Klassen gleich, so läßt sich die Entscheidungsregel vereinfachen: Bestimme für alle Klassen für das aktuelle Muster x den Wert der bedingte WDF p(x, ωi ). Suche die
Klasse ωi deren WDF maximal ist. Ein Klassifikator mit einer solchen Entscheidungsregel heißt Maximum-Likelihood-Klassifikator, abgekürzt ML-Klassifikator. Der MAPund der ML-Klassifikator minimieren die mittlere Wahrscheinlichkeit eines Fehlers. Für ein
Klassifikationsproblem mit bekannter WDF und a-priori Wahrscheinlichkeit ist der MAPKlassifikator optimal. Allerdings ist in realen Problemstellungen die WDF der Klassen
selten bekannt.
Alternativ läßt sich die Bayes-Entscheidungsregel auch über das Risiko einer Fehlentscheidung herleiten. Sei Ω := {ω1 , . . . , ωk } die Menge aller möglichen Klassen einer Klassifikationsaufgabe. Die Menge aller Entscheidungen, die vom Klassifikator getroffen werden
kann, sei mit Ω̂ = Ω ∪ {ω0 } definiert. Hierbei bezeichnet die Klasse ω0 die Zurückweisung eines Klassifikators. Der Klassifikator wird ein Muster x dann zurückweisen, wenn
die Entscheidung zugunsten einer Klasse aus der Menge Ω zu „unsicher“ ist.
In realen Aufgabenstellungen fallen bei einer Fehlentscheidung des Klassifikators Kosten
1
Wir betrachten das Muster x zunächst ganz allgemein als n-dimensionale kontinuierliche Zufallsvariable.
9
2. Klassifikatoren
an. Diese lassen sich mit der Kosten- oder Verlustfunktion C(ω, ω̂)2 angeben. Da die Kostenmatrix C applikationsspezifisch ist, wird für die weitere theoretische Betrachtung eine
vereinfachte Annahme gemacht: Die Kosten einer Fehlentscheidung sei mit CF , die Kosten
einer Zurückweisung mit CR definiert. Üblicherweise wird eine korrekte Entscheidung ohne Kosten belegt. Das Risiko einer Fehlentscheidung ist definiert über den Erwartungswert
der Kosten:
C(ω, ω̂)P (x, ω).
(2.1)
R := E{C} =
x
ω
Die Klasse ω̂ wird vom Klassifikator generiert. Mit der Funktion ω̂ = d(x) und der BayesRegel läßt sich die Suche nach einem Klassifikator mit der Eigenschaft eines minimalen
Risikos wie folgt formulieren:
C(ω, d(x))P (ω|x) p(x) = min .
(2.2)
R=
x
d(x)
ω
Um die optimale Funktion d — und damit den optimalen Klassifikator – zu finden, werden
die Kostenmatrix C und die a-posteriori W P (ω|x) benötigt. Für ein gegebenes Muster x
läßt sich das lokale Risiko Rx angegeben:
Rx =
C(ω, d(x))P (ω|x)
(2.3)
ω
Das Risiko R wird dann minimal, wenn das lokale Risiko Rx minimal wird. Mit der Kostenmatrix C und dem Vektor der a-posteriori Wahrscheinlichkeit p = (P (ω1 |x), . . . , P (ωk |x))T
wird der k + 1-dimensionale Risiko-Vektor r definiert:

 C(ω, ω̂ = ω0 )P (ω, x)

 ω


.
T
..
(2.4)
r := C p = 
.

 C(ω, ω̂ = ωk )P (ω, x)
ω
Die Minimierung des lokalen Risikos Rx ist gleichzusetzen mit der Suche nach der minimalen Komponente von r, d.h. Rx = min(r1 , . . . , rk+1 ). Mit der Voraussetzung für die
Kostenmatrix C erhält man für den Risiko-Vektor r schließlich


CR
 CF (1 − P (ω1 |x)) 


r=
(2.5)
.
..


.
CF (1 − P (ωk |x))
Multiplizieren wir den Ausdruck für den Risiko-Vektor in Gleichung (2.5) mit dem Faktor
−1/CF und addieren 1 hinzu, ergibt sich der Vektor:


CR
1− C
F
 P (ω |x)
 β
1


.
(2.6)

=
..
p


.
P (ωk |x)
2
Aus dem kartesischen Produkt der Mengen Ω und Ω̂ ergeben sich alle möglichen Konstellationen (ω, ω̂).
10
2.2. Repräsentation eines Klassifikators
Der Schwellwert β 3 kennzeichnet die minimale W, die für eine Entscheidung zugunsten
einer Klasse ω überschritten werden muß.
Ein minimales Risiko wird damit durch folgende Regel erreicht:
falls (P (ω̂|x) = max{P (ω|x)} und P (ω̂|x) > β),
ω
wähle ω̂ :
sonst Rückweisung.
(2.7)
D.h. die Formulierung der Klassifikationsaufgabe über das minimale Risiko führt zur der
Bayes-Entscheidungs-Regel (siehe oben). Bezüglich des minimalen Klassifikationsfehlers
ist ein auf der Bayes-Entscheidungs-Regel basierender Klassifikator optimal. Da in der Realität die statistischen Eigenschaften der Musterquellen nicht bekannt sind, müssen diese
approximiert werden. Die Approximation führt zu Fehlern bei der Klassifikation, die die
Fehlerrate steigen läßt. Bestenfalls kann der Klassifikator bezüglich der Fehlerrate so gut
wie der auf der Bayes-Entscheidungs-Regel beruhende Klassifikator werden.
Aufgabe 1: Skizzieren sie für ein eindimensionales Klassifikationsproblem mit zwei
Klassen die WDF p(x|ωi ) nach ihren Vorstellungen und konstruieren sie daraus mit
den a-priori Wahrscheinlichkeit P (ω1 ) = 2/3 und P (ω2 ) = 1/3 die a-posteriori Wahrscheinlichkeit. Kennzeichnen sie die Entscheidungsgrade eines MAP-Klassifikators und
die Wahrscheinlichkeit für einen Fehler.
Aufgabe 2: Schreiben Sie die Kostenmatrix C allgemein für ein Klassifikationsproblem
mit vier Klassen auf.
2.2. Repräsentation eines Klassifikators
Für die Implementierung eines Klassifikators benötigt man Funktionen D(x), mit deren
Hilfe die unbekannten Muster x diskriminiert — also einer Klasse zugeordnet — werden
können. Die Entscheidungsfunktionen Di (i = 1, . . . , k) sollen derart definiert sein, daß sie
ein Muster x der Klasse ω̂i zuordnet, wenn Di (x) > Dj (x), ∀j = i. Die a-posteriori W
erfüllt diese Bedingung und damit kann für D festgehalten werden:
Di (x) = P (ωi |x) =
p(x|ωi )P (ωi )
p(x)
(2.8)
Da für alle Di für ein gegebenes Muster x der Nenner gleich ist und für die Entscheidung
nur das Maximum gefunden werden muß, läßt sich die Diskriminierfunktion vereinfachen.
Mit D (x) = log(D(x)) folgt:
Di (x) = log(p(x|ωi )) + log(P (ωi ))
3
Da die Kosten CR und CF per Definition positiv sind, und i.a. CR < CF gilt, ist der Schwellwert β
(2.9)
∈
[0, 1].
11
2. Klassifikatoren
Zusammen definieren die Funktionen Di die Entscheidungsgrenzen (Grenzflächen). Für die
Entscheidungsgrenze zwischen den Klassen i und j gilt der Zusammenhang:
Di (x) = Dj (x) resp. Di (x) = Dj (x)
12
(2.10)
3. Parametrische Klassifikatoren
In diesem Kapitel wird als Vertreter für parametrische Klassifikatoren ein auf der BayesEntscheidungsregel basierender Klassifikator für Normalverteilungen hergeleitet. Ein Klassifikator, der auf der Bayes-Entscheidungsregel aufbaut, wird auch als Bayes-Klassifikator
bezeichnet. Der Bayes-Klassifikator gehört zu den in der Mustererkennung am häufigsten
verwendeten Klassifikatoren.
Grundlage parametrischer, verteilungsbasierter Klassifikatoren sind statistische Modellannahmen bezüglich der Musterquelle. D.h. einem Klassifikationsproblem wird eine bestimmte Klassenverteilung zugrunde gelegt. Im allgemeinen sind weder die Verteilungsfunktionen
noch die Parameter der Verteilungsfunktionen bekannt.
Um einen parametrischen Klassifikator für eine Aufgabenstellung zu entwerfen wird eine
Hypothese über die Wahrscheinlichkeitsdichteverteilung (WDV ) der Musterquelle aufgestellt. Nach der Auswahl einer Verteilung müssen deshalb die zur Verteilung zugehörigen
Parameter mit Hilfe einer Muster-Stichprobenmenge geschätzt werden.
3.1. Bayes-Klassifikator für normalverteilte Muster
Es soll nun ein parametrischer Klassifikator für ein Problem mit Normalverteilung hergeleitet werden. Für die n-dimensionale Normalverteilungsdichte gilt:
1
1
T
−1
exp − (x − µ) K (x − µ).
(3.1)
p(x) =
(2π)n/2 |K|1/2
2
Hierbei ist x ∈ IRn der n-dimensionale Mustervektor, µ ∈ IRn der Mittelwert und K ∈
IRn×n die Kovarianzmatrix. Die Normalverteilung wird häufig mit p(x) ∼ N (µ, K) abgekürzt, was bedeutet, daß p eine Normalverteilung mit dem Mittelwert µ und der Kovarianz
K darstellt. Der Mittelwert und die Kovarianzmatrix sind die Parameter, die die Verteilung
beschreiben. Für µ und K gelten folgende Zusammenhänge:
µ = E{x} und
K = E{(x − µ)(x − µ)T }.
(3.2)
Bei einem klassenweise normalverteilten Problem mit k Klassen ergeben sich allgemein k
Verteilungen pi (x) ∼ N (µi , Ki ), mit i = 1, . . . , k. Für die i-te Entscheidungsfunktion D
13
3. Parametrische Klassifikatoren
gilt wegen Gleichung (2.9):
n
log(2π) − 0.5 log(|Ki |) + log(P (ωi )). (3.3)
2
Gleichung (3.3) stellt die allgemeine Form der Entscheidungsfunktionen dar. Je nach Eigenschaft der Kovarianzmatrix lassen sich die Entscheidungsfunktionen vereinfachen.
Di (x) = −0.5(x − µi )T K−1
i (x − µi ) −
3.1.1. Euklidischer-Distanz-Klassifikator
Im Fall statistisch unabhängiger Zufallsvariablen x mit identischer Varianz σ 2 vereinfacht
sich die Kovarianzmatrix zu K = σ 2 I. Einsetzen in die allgemeine Form der Entscheidungsfunktion von Gleichung (3.3) ergibt:
1
n
||x − µi ||2 − log(2π) − 0.5 log(σ 2n ) + log(P (ωi )).
2
2σ
2
Weglassen der von i unabhängigen und konstanten Terme liefert:
Di (x) = −
1
||x − µi ||2 + log(P (ωi ))
(3.4)
2
2σ
Diese Entscheidungsfunktionen beinhalten die quadrierten Euklidischen Distanzen zwischen dem Mustervektor x und dem Mittelwertsvektor µ. Sie beschreiben einen minimalen Euklidischen-Abstands-Klassifikator unter Berücksichtigung der Varianz. Der Vorgang der Klassifikation läßt sich für Klassen mit gleicher Wahrscheinlichkeit — damit wird
P (ωi ) = 1/k — einfach beschreiben: Um ein unbekanntes Muster x zu klassifizieren, müssen alle k Euklidische Distanzen ||x − µi || bestimmt werden. Ordne x derjenigen Klasse ωi
zu, für die der Abstand zum Mittelwert µi minimal ist. Abbildung 3.1 zeigt die Klassifikation für ein Zwei-Klassenproblem mittels Euklidischer Distanz.
Di (x) = −
3.1.2. Mahalanobis-Distanz-Klassifikator
Ein weiterer einfacher Fall der Normalverteilung der Klassen sind für alle Klassen identische Kovarianzmatrizen, d.h. Ki = K. Setzt man diese Vereinfachung wiederum in die
allgemeine Form der Entscheidungsfunktionen aus Gleichung (3.3) ein, so entarten die Entscheidungsfunktionen zu:
Di (x) = −0.5(x − µi )T K−1 (x − µi ) + log(P (ωi ))
(3.5)
Die Distanz (x − µi )T K−1 (x − µi ) wird als quadrierte Mahalanobis-Distanz bezeichnet.
Für den Sonderfall der gleichen a-priori Wahrscheinlichkeiten läßt sich die Arbeitsweise
des auf den minimalen Mahalanobis-Abstand basierenden Klassifikators simpel beschreiben: Berechne für ein gegebenes Muster x mit unbekannter Klassenzugehörigkeit die quadrierten Mahalanobis-Distanzen für alle k Klassen. Weise x der Klasse ωi zu, für die x
dem Vektor µi am nächsten liegt. Die Abbildung 3.2 stellt die Klassifikation für ein ZweiKlassenproblem mit der Mahalanobis-Distanz dar.
14
3.1. Bayes-Klassifikator für normalverteilte Muster
x2
R1
D1 (x) = D2 (x)
R2
µ1
µ2
x1
Abbildung 3.1.: Euklidische-Distanz-Klassifikation für ein Zwei-Klassenproblem mit gleicher a-priori Wahrscheinlichkeit.
x2
D1 (x) = D2 (x)
R1
R2
µ1
µ2
x1
Abbildung 3.2.: Mahalanobis-Distanz-Klassifikation für ein Zwei-Klassenproblem mit gleicher a-priori
Wahrscheinlichkeit.
15
3. Parametrische Klassifikatoren
3.2. Parameterschätzung
Im vorangegangenen Kapitel 3.1 wurden Klassifikatoren auf Basis der Bayes-Regel unter
der Annahme von normalverteilten Klassen betrachtet. Die verwendeten Verteilungen und
deren Parameter µ und K wurden als bekannt vorausgesetzt. Dies ist in realen Problemstellungen selten der Fall. D.h., wenn die Parameter nicht bekannt sind, müssen sie aus den
Stichproben geschätzt werden. Die Schätzung der a-priori Wahrscheinlichkeit P (ωi ) stellt
kein Problem dar. Hingegen bereitet die Schätzung der klassenbedingten WDF Probleme.
Dieses liegt häufig an dem in bezug auf die Dimension der Muster zu geringen Stichprobenumfang.
Im folgenden Kontext werden wir die Parameterschätzung für den Fall einer Normalverteilung — d.h. p(x|ωi ) ∼ N (µi , Ki ) — betrachten. Wir fassen die beiden Parameter zu einem
Vektor θ i = (µi , Ki )T für einen allgemeineren Ansatz zusammen. Gegeben seien k Stichprobenmengen Si — also für jede Klasse eine Stichprobenmenge. Es wird angenommen,
daß aus den Proben der Menge Si keinerlei Informationen für die Parameter der Klasse j,
θ j , enthalten sind. Das bedeutet, die Parameter θj der verschiedenen Klassen sind funktional unabhängig voneinander. Damit haben wir für jede Klasse das gleiche Problem zu lösen:
Verwende die Stichprobe Si um die WDV -Funktion p(xi |θ i ) der Musterquelle zu schätzen,
unter der Annahme der Verteilungsparameter θi . Enthält die Stichprobe Si = {xi1 , . . . , xis }
genau s Proben, dann gilt für die bedingte WDV -Funktion
p(Si |θ i ) =
s
p(xj |θ i ),
j=1
da die einzelnen Proben statistisch unabhängig voneinander beobachtet wurden. Wenn die
bedingte Wahrscheinlichkeitsdichtefunktion p(Si |θ i ) maximal wird, entspricht der Parameter θ i am besten den realen Parametern der Stichprobenverteilung. Man spricht in diesem
Fall von einer Schätzung mit maximaler Wahrscheinlichkeit, oder auch einer Maximum Likelihood Estimation, abgekürzt MLE. Mit anderen Worten: Die MLE-Methode findet diejenige Schätzung eines Parametervektors, welche die Wahrscheinlichkeit für die Beobachtung, bezüglich einer gegebenen Modellverteilung, maximiert.
Aus analytischen Gründen wird für die ML-Schätzung mit dem Logarithmus der WDV
-Funktion p(S|θ) gearbeitet. Für die notwendige Bedingung eines Maximums der WDV
p(S|θ) gilt:
T
∂
∂
,...,
log(p(S|θ)) = 0.
∂θ1
∂θa
Wobei der Ausdruck allgemein für a Parameter angegeben ist. Für die hier betrachtete Normalverteilung ist a = 2. Nach einsetzen der Funktion für die Normalverteilung aus Gleichung (3.1) und kurzer Rechnung ergibt sich als MLE für den Mittelwert
1
xi
µ̂ =
s i=1
s
16
(3.6)
3.2. Parameterschätzung
und als MLE für die Kovarianzmatrix
1
(x − µ̂)(x − µ̂)T .
K̂ =
s i=1
s
(3.7)
Wohlgemerkt handelt es sich bei µ̂ und K̂ nur um Schätzungen und nicht um die wirklichen
Parameter µ und K. Damit die Kovarianzmatrix nicht singulär wird, ist es erforderlich, daß
der Stichprobenumfang s größer als die Dimension des Mustervektors n = dim(x) ist.
17
4. Nicht-parametrische
Klassifikatoren
Im Gegensatz zu den parametrischen Klassifikatoren basiert der in diesem Kapitel vorgestellte Vertreter nicht-parametrischer Klassifikatoren auf keinen statistischen Modellannahmen bezüglich der Musterquelle.
4.1. κ-Nächste-Nachbarn-Klassifikator
Der κ-Nächste-Nachbarn-Klassifikator verwendet für die Klassifikation die gesamte zur
Verfügung stehende Stichprobe. Gegeben sei eine gelabelte1 Stichprobe S. Seien X κ ⊂ S
eine Untermenge der k nächsten Nachbarn von dem zu klassifizierenden Muster x. Der
Merkmalvektor x wird derjenigen Klasse ωi zugeordnet, für das eine Mehrheitsvotum unter den k benachbarten Proben besteht. Für κ = 1 vereinfacht sich die Regel zur NächsteNachbar-Klassifikations Regel. Die Performanz des κ-Nächste-Nachbarn-Klassifikators ist
stark abhängig vom Umfang der Stichprobe und der Konstanten κ. Um eine hohe Klassifikationsgüte zu erreichen, müssen eine große Anzahl von Musterproben verwendet werden. Dies führt bei der Implementation zu einem hohem Speicheraufwand. In der Abbildung 4.1 ist die Klassifikation mit einem κ-Nächste-Nachbarn-Klassifikator für ein ZweiKlassenproblem mit zweidimensionalen Mustern dargestellt. Die Klasse ω1 ist mit Punkten,
die Klasse ω2 mit Kreisen gekennzeichnet. Das zu klassifizierende Muster ist mit xnew in
der Abbildung eingetragen. Mit κ = 3 wird das Muster xnew der Klasse ω1 zugeordnet.
Bemerkenswert für das dargestellte Problem ist, daß bei Verwendung von κ = 1 — also
der Nächste-Nachbar-Klassifikator — das Muster xnew der Klasse ω2 zugeordnet wird. Dies
liegt in diesem Fall an der sehr geringen Stichprobe.
1
Jedem Muster der Stichprobe ist die Klassenzugehörigkeit zugeteilt. D.h. ein Element aus der Stichprobenmenge S besteht aus dem Wertepaar (x, y), wobei y die Klasse als Einheitsvektor der Dimension k
bezeichnet.
18
4.1. κ-Nächste-Nachbarn-Klassifikator
x2
xnew
x1
Abbildung 4.1.: Klassifikationsproblem mit zwei Klassen und zweidimensionalen Mustern. Das unbekannte
Muster xnew wird mit einem κ-Nächste-Nachbarn-Klassifikator (κ = 3) klassifiziert.
19
5. Klassifikatoren basierend auf
Funktionsapproximation
In diesem Kapitel werden nun zwei Vertreter der auf einer Funktionsapproximation basierenden Klassifikatoren vorgestellt.
5.1. Polynom-Klassifikator
Aus der Mathematik ist der Ansatz der Funktionsapproximation mittels einer Menge von
Basisfunktionen, zum Beispiel Polynome, bekannt. Ferner weiß man, daß eine Menge von
Polynomen geeigneter Länge ausreichend ist um eine Funktion bis zur gewissen Genauigkeit zu approximieren. Dieses Wissen dient als Motivation für die Verwendung von Polynomen zur Musterklassifikation.
Gegeben sei ein n-dimensionaler Mustervektor x = (x1 , . . . , xn )T und der Grad g eines Polynoms. Ein skalare Entscheidungsfunktion d(x) kann auf folgende Weise definiert werden:
d(x) = a0 + a1 x1 + a2 x2 + · · · + an xn
+an+1 x21 + an+2 x1 x2 + an+3 x1 x3 + · · ·
+a··· x31 + a··· x21 x2 + a··· x21 x3 + · · · .
(5.1)
Das Polynom besteht in der ersten Zeile aus einem konstanten Term a0 gefolgt von n linearen Termen der Form ai xi . In der zweiten Zeile sind die n(n + 1)/2 quadratische Terme
aufgeführt. Sinngemäß wird das Polynom mit allen Termen entwickelt, bis der maximale
Grad g erreicht ist. Insgesamt besteht das Polynom aus
n+g
L=
g
Termen. Jeder Term des Polynoms repräsentiert eine der L Basisfunktionen, die für die
Approximation verwendet werden. Damit ist die Komplexität des Polynoms — und damit
des Modells — über den Grad g und der Dimension n des Mustervektors x vorgegeben.
Das Polynom in Gleichung (5.1) kann kompakter in folgende Form gefaßt werden:
d(x) = aT q(x),
20
(5.2)
5.1. Polynom-Klassifikator
wobei a = (a0 , . . . , aL )T und q(x) = (1, x1 , x2 , . . . , xn , x21 , x1 x2 , . . . , x31 , x21 x2 . . .)T die
Polynomstruktur bezeichnet. Da wir ein Klassifikationsproblem mit k Klassen zu lösen
haben, werden wir auch k Polynome di , i = 1, . . . , k, verwenden. Da nur die Koeffizienten
ai klassenspezifisch sind — q(x) ist für alle Klassen gleich auszuwerten — läßt sich die
gesamte Klassifikation mit einem Polynom-Klassifikator auf die Gleichung
d(x) = AT q(x)
(5.3)
bringen. Hierbei ist die Koeffizientenmatrix definiert über A = (a1 , a2 , . . . , ak ). Abbildung 5.1 stellt das Funktionsprinzip eines trainierten Polynomklassifikators dar. Das Training — oder Lernen — eines Polynomklassifikators besteht in der Adaption der Koeffizientenmatrix A.
Aufgabe 3: Bestimmen Sie für ein Klassifikationsproblem mit zwei Klassen und dreidimensionalen Muster und einem Polynom des Grades g = 2 allgemein die Polynomstruktur q(x). Notieren Sie die vektorielle Entscheidungsregel für diesen Fall.
Die Adaption der Koeffizientenmatrix A wird nun über die Methode der kleinsten mittleren
quadratischen (LMS - least mean square) Abweichungen erreicht.
S 2 = E{||d(x) − y||2 } = E{||AT q(x) − y||2 } = min
A
(5.4)
Die Größe y bezeichnet die wirkliche Klassenzugehörigkeit des Musters x. Die Auswertung
von Gleichung (5.4) ergibt nach längerer Rechnung schließlich die folgende Vorschrift zur
Bestimmung der Koeffizientenmatrix
A = [E{q(x)q(x)T }]−1 E{q(x)yT }.
(5.5)
Unter der Voraussetzung, daß die Matrix E{q(x)q(x)T } regulär ist. Eine ausführliche Herleitung für die Berechnung der Koeffizientenmatrix A kann in [1, 10] gefunden werden.
21
5. Klassifikatoren basierend auf Funktionsapproximation
q1 (x)
a0,1
a0,k
q2 (x)
Σ
x1
d1
a1,k a1,1
aL−1,1
xn
qL−1 (x)
dk
aL−1,k
aL,1
Σ
aL,k
qL (x)
x
q(x)
A
Abbildung 5.1.: Blockschaltbild eines Polynom-Klassifikators.
22
d(x)
5.2. Neuronaler-Netzwerk-Klassifikator
5.2. Neuronaler-Netzwerk-Klassifikator
In diesem Teil des Versuchs wird ein Klassifikationsansatz auf der Basis von Künstlichen
Neuronalen Netzen (KNN) bearbeitet. Die Beschreibung von KNN, die in dieser Versuchsanleitung erfolgen soll, gliedert sich in folgende Abschnitte:
Zunächst wird in Abschnitt 5.2.1 die Arbeitsweise von allgemeinen KNN beschrieben. Abschnitt 5.2.2 skizziert das Vorbild für KNN, ein biologisches Neuron. Abschnitt 5.2.3 führt
anschließend ein mathematisches, abstraktes Neuron ein und in Abschnitt 5.2.4 wird ein
spezieller Typ eines Neurons, das Einlagen-Perzeptron, beschrieben. Abschnitt 7 behandelt
den Übergang von einem einzelnen Neuron auf ein Netz von Neuronen und Abschnitt 5.2.5
schließlich das in dem Versuch verwendete Multilagenperzeptron (MLP).
5.2.1. Allgemeines über Künstliche Neuronale Netze
Vorbild für die Informationsverarbeitung mit KNN ist das menschliche Gehirn bzw. Nervensystem. Es zeichnet sich unter anderem dadurch aus, daß es durch Beobachtung und
Erfahrung bestehende Zusammenhänge seiner Umwelt anzulernen und folgende Handlungen darauf einzustellen vermag. Dabei agiert es überaus fehlertolerant. Untersuchungen
der Neurobiologie haben ergeben, daß das Nervensystem aus mehreren Millionen „einfacher“ Berechnungseinheiten, sogenannter Neuronen, besteht, dessen Leistungsfähigkeit aus
einem außerordentlich hohem Vernetzungsgrad resultiert.
Bei der Untersuchung von KNN wird erforscht, wie die Behandlung von allgemeinen Problemstellungen in der Informationsverarbeitung (wie in dem hier besprochenen Fall der
Klassifikation) durch eine Vernetzung von einfachen elementaren Berechnungseinheiten,
sogenannten abstrakten Neuronen, realisiert werden kann. In der mathematischen Modellierung finden häufig die Neuronen eine Entsprechung in Knoten und die Verbindungen in
Kanten eines gerichteten Graphen.
In diesem KNN-Modell können bestimmte Neuronen als Eingabe- und weitere als AusgabeNeuronen definiert werden. Alle übrigen Neuronen sind verdeckte Neuronen. Ausgehend
von den Eingabe-Neuronen können die sogenannten Erregungen anderer und somit auch die
der Ausgabe-Neuronen berechnet werden. Auf diese Weise kann mit einem Neuronennetz
die Berechnung einer mathematischen Funktion
f :X→Y
modelliert werden, dessen Eingabe x ∈ X an den Eingabeneuronen anliegt und dessen
Ausgabe y ∈ Y an den Ausgabeneuronen abgegriffen werden kann.
Die variablen Parameter in KNN sind die Verbindungsstärken zwischen den Neuronen. Diese werden typischerweise in einem iterativen Lernprozeß anhand von Beispieldaten gelernt.
Ein Lernprozeß setzt sich im allgemeinen aus mehreren einzelnen Lernschritten zusammen.
23
5. Klassifikatoren basierend auf Funktionsapproximation
Der Ablauf eines Lernschrittes gliedert sich dabei in zwei aufeinanderfolgende Teilschritte:
1. Dem KNN wird ein Lernbeispiel aus einem Trainingsdatensatz präsentiert, aus welchem es sogenannte Aktivierungen oder Erregungen der Neuronen berechnet.
2. Gemäß einer vorgegebenen Lernregel wird eine Korrektur der Neuronenparameter
(der Gewichte) vorgenommen. Die Lernregel ist in der Regel eine Funktion des aktuellen Lernbeispieles und der Erregung des Neurons.
Dieser Vorgang wird in mehreren Schritten wiederholt, wobei bei jedem Schritt zufällig ein
Exemplar aus den Datenbeispielen ausgewählt wird. Im idealen Fall sind nach einer Vielzahl von Trainingsschritten die Neuronenparameter so eingestellt, daß die KNN auf eine
erneute Eingabe der Trainingsbeispiele eine „richtige“ Antwort erzeugen bzw. die Fehlerrate einen gewünschten Schwellwert unterschreitet. Weiterhin ist es wie bei allen Klassifikatoren erwünscht, daß die Neuronen ihr angelerntes Wissen auf unbekannte Testbeispiele
generalisieren können.
In Abschnitt 1.1 wurde zwischen überwachtem und unüberwachtem Lernen unterschieden.
Für beide Arten existieren künstliche neuronale Modelle. In den Experimenten dieses Versuchs sollen ausschließlich Daten mit bekannter Klassenzugehörigkeit behandelt werden.
Daher gilt die Konzentration der folgenden Abschnitte dem überwachten Lernen. Den am
unüberwachten Lernen mit KNN interessierten Leser sei die Lektüre von [8] empfohlen.
Dort findet sich ausführliche Behandlung von unüberwachtem Lernen mit einem sehr vielseitigen Typ der KNN: den Selbstorganisierenden Merkmalskarten (Kohonenkarten).
5.2.2. Das biologische Neuron
Wie in Abschnitt 5.2.1 erwähnt, ist das Vorbild für das abstrakte Modell das biologische
Neuron. Ein typisches biologisches Neuron besteht aus drei Hauptstrukturen, nämlich dem
Dentritenbaum, dem Soma (oder auch Zellkörper) und dem Axon (siehe Abbildung 5.2).
Der Dendritenbaum bildet die Eingabe des Neurons. Im Soma werden die Eingabesignale
verarbeitet, und das Ergebnis des Verarbeitungsschrittes wird an das Axon weitergeleitet.
Bei einem Netz von Neuronen werden die Signale aus dem Axon an die Dendriten eines
anderen Neurons weitergeleitet. Die Verbindungselemente zwischen Axon und Dendriten
heißen Synapsen.
Auf diese Weise besteht ein Nervensystem aus einem riesigen Netz von Neuronen, welches
beim Menschen etwa eine Anzahl von 1011 Neuronen umfaßt. Eine ausführlichere Behandlung der biologischen Zusammenhänge befinden sich z.B. in [8].
5.2.3. Das abstrakte Neuron
24
5.2. Neuronaler-Netzwerk-Klassifikator
Synapse
Axon
Zellkern
Soma, Zellkoerper
Dendriten
Abbildung 5.2.: Aufbau eines typischen biologischen Neurons: Dendriten bilden die Eingabe für das Neuron.
Diese werden im Soma (Zellkörper) verarbeitet und das Ergebnis der Verarbeitung an das Axon weitergeleitet
(entnommen aus [6]).
Aufbau
Der Aufbau eines abstrakten Neurons orientiert sich an dem biologischen Vorbild, wie Abbildung 5.3 illustriert: Es besitzt N einführende (die Dendriten) und eine ausführende (das
Dendriten
Soma
Axon
x1
a1
x2
a2
y = f ( i xi ai )
..
.
y
..
.
aN
xN
Abbildung 5.3.: Modell eines abstrakten Neurons: Das Modell geht von N Eingabeleitungen (Dendriten)
aus, die in die Berechnungseinheit (Soma) einführen. Hier wird die Erregung ydes Neurons
aus einem an
N
T
den Dendriten anliegenden Stimulus x = (x1 , . . . , xN ) nach der Formel y = f
i=1 ai xi berechnet und
an die Ausgabeleitung (das Axon) weitergeleitet. Die ai bezeichnen hierbei die Synapsenstärken, welche den
Stimulus gewichten, und f die Aktivierungsfunktion des Neurons.
Axon) Leitung. Zwischen Dendriten und Axon befindet sich die Berechnungseinheit (das
Soma).
In dem Modell wird angenommen, daß an den Dendriten ein Muster oder Stimulus x =
(x1 , . . . , xN )T als Eingabe anliegt. Die Aktivierung (auch Erregung) y des Neurons berechnet sich in zwei Schritten:
25
5. Klassifikatoren basierend auf Funktionsapproximation
1. Die Stimuli xi werden mit Verbindungs- (Synapsen-)
N stärken aiT, die den Dendriten
zugeordnet sind, gewichtet und aufsummiert, s = i=1 ai xi = a x.
2. Eine Aktivierungsfunktion f , die sowohl linear als auch nichtlinear gewählt sein kann,
wird anschließend auf das Skalarprodukt s angewendet, y = f (s). Beispiele solcher
Aktivierungsfunktionen sind die Identitätsfunktion, die Stufenfunktion, die FermiFunktion und die tanh-Funktion (nähere Erläuterungen dazu in den Abschnitten 5.2.4
und 5.2.5).
Zusammenfassend wird die Aktivierung y eines Neurons also aus der Vorschrift
y = f
N
ai x i
= f aT x
(5.6)
i=1
bestimmt.
Die Adaption der Gewichte
Den Gewichten ai kommt bei KNN eine wesentliche Bedeutung zu: Diese Parameter sind in
der Regel weder fest in den Neuronen „verdrahtet“, noch werden sie in einer geschlossenen
Formel berechnet. Stattdessen sind sie in einem iterativen Prozeß anhand von Trainingsbeispielen zu lernen und beschreiben somit den adaptiven Charakter des KNN. In diesem
Lernprozeß nimmt die Lernregel die zentrale Stellung ein.
In der Theorie der KNN gibt es eine Vielzahl von unterschiedlichen Modellen von Lernregeln. Jedoch lassen sich die meisten auf eine Grundhypothese zurückführen. Diese Hypothese wurde bereits 1949 vom Psychologen Donald Hebb aufgestellt [4] und wird in der
Hebb’schen Lernregel beschrieben. Hiernach ändern sich die Synapsenstärken proportional
zur korrelierten Aktivität vor und hinter der Verbindung. Mathematisch kann diese Aussage
durch die Formel
∆a = ' · y · x = ' · f (aT x) · x
(5.7)
beschrieben werden. Hierbei bezeichnet y(aT x) wie bisher die Erregung des Neurons (anliegend hinter den Synapsen), x den Stimulus (anliegend vor den Synapsen) und ' > 0
einen Parameter, der die Größe des einzelnen Lernschrittes bemißt. Nehmen also sowohl
Stimulus als auch Aktivität hohe Werte gleichen Vorzeichens an, so wird die Synapsenstärke erhöht.
Auch in der in Abschnitt 5.2.4 beschriebenen Perzeptron-Lernregel wird sich dieser Gedanke wiederfinden lassen. In Vorbereitung dazu soll nun das Einlagen-Perzeptron eingeführt
werden.
26
5.2. Neuronaler-Netzwerk-Klassifikator
5.2.4. Das Perzeptron
Aufbau
Ein Perzeptron ist ein abstraktes Neuron gemäß der Erregungsberechnung (5.6), welche die
Stufenfunktion θ als Aktivierungsfunktion einschließt:
0, s < 0
f (s) = θ(s) =
(5.8)
1, s ≥ 0
Ein Perzeptron „feuert“ demnach mit dem Wert 1, je nachdem, ob das Skalarprodukt von
Stimulus x und Gewichtsvektor a größer oder kleiner Null ist.
Die Abwesenheit einer Schwelle ss in der Stufenfunktion,
y = θ (s − ss )
(5.9)
bedeutet hierbei zunächst eine Einschränkung. Ein Beispiel für eine solche Einschränkung
in Bezug zur Klassifikation wird in Aufgabe 1 beschrieben.
Beim Perzeptron-Modell wird der Schwellwert durch eine Erweiterung des Eingaberaumes
um eine weitere Komponente (x0 bzw. a0 ) modelliert, wobei x0 auf den konstanten Wert
x0 = −1 gesetzt wird. Wegen
y = θ
N
=θ
ai x i
N
i=0
ai x i − a0
(5.10)
i=1
und Vergleich mit (5.9) ist die Schwelle dann durch a0 gegeben, ein Wert, welcher wie die
übrigen Synapsenstärken ai adaptiv behandelt werden kann. Abbildung 5.4 veranschaulicht
diesen Sachverhalt.
y
1
N
a0
aixi
i=1
N
Abbildung 5.4.: Die Erregung y = θ
i=1 ai xi + a0 x0 eines Perzeptrons. Die Synapsenstärke der 0Komponente übernimmt hierbei bei einem festen Wert x0 = −1 die Funktion eines adaptiven Schwellwertes
a0 .
27
5. Klassifikatoren basierend auf Funktionsapproximation
Klassifikation mit einem Einlagen-Perzeptron
Schaltet man M solche Perzeptron-Einheiten r = 1, . . . , M parallel zu einem EinlagenPerzeptron zusammen (siehe Abbildung 5.5), so kann hiermit eine Klassifikation Φ von
Mustervektoren x ∈ IRN in M bekannte Klassen
Φ : IRN → {1, . . . , M }
vorgenommen werden: Während der Trainingsphase soll jede Einheit r ∈ {1, . . . , M } seine Koeffizienten ari so anpassen, daß es nur auf die Muster x seiner Klasse r mit einem
Ausgabewert yr = 1 reagiert, im anderen Fall mit yr = 0.1
x1
1
y1 = θ
N
a1ixi
i=0
x2
2
y2 = θ
N
a2ixi
i=0
...
...
xN −1
M
yM = θ
N
aM ixi
i=0
xN
Eingabe
Ausgabe
Abbildung 5.5.: Ein Einlagen-Perzeptron: Jeder Klasse r ∈ {1, . . . , M } wird eine Perzeptron-Einheit zugeT
ordnet, die genau dann feuert (
yr = 1), wenn das Muster x = (x1 , . . . , xN ) zu der zugehörigen Klasse
gehört.
Die Erregung der jeweiligen Perzeptron-Einheiten ergibt sich damit in Analogie zur Gleichung (5.10) zu
N
(5.11)
ari xi .
yr = θ
i=0
Dazu müssen die Neuronenparameter ari natürlich mit geeigneten Werten belegt sein. Wie
eine Adaption der ari vollzogen werden kann, wird durch die Perzeptron-Lernregel erklärt,
welche im folgenden eingeführt werden soll.
1
28
Unter dieser Voraussetzung kann es passieren, daß das Training zu einer Gewichtskonstellation führt, durch
die bei der Präsentation eines Testbeispiels zwei Neuronen feuern. In diesem Fall wäre das Antwortverhalten nicht eindeutig definiert. Man kann sich dann jedoch
N aushelfen, daß als Ausgabeklasse der Index
des Neurons mit der höchsten summierten Eingabe s = i=0 ai xi angenommen wird.
5.2. Neuronaler-Netzwerk-Klassifikator
Die Perzeptron-Lernregel
Die Perzeptron-Lernregel für ein Einlagen-Perzeptron wie jenes aus Abbildung 5.5 repräsentiert einen überwachten Lernprozeß. Wie bereits in Abschnitt 5.2.1 erläutert, werden
beim überwachten Lernen dem Perzeptron Trainingspaare (xj , rj ), j = 1, . . . , P präsentiert, wobei xj den Mustervektor und rj im Falle einer Klassifikation die zugehörige Klasse
des Lernbeispiels j angibt.
Der Perzeptron-Lernalgorithmus ist wie folgt definiert:
1: Wähle zufällig ein neues Trainingsbeispiel (xj , r j ) aus dem Datensatz
2: falls die Klassifikation korrekt ist
3:
gehe zu 1:
4: sonst {die Klassifikation ist nicht korrekt}
5:
∀i ∈ {1, . . . , M } führe Lernschritt aus:
6:
∆ai = ' (yi − yi ) · xj ,
7:
gehe zu 1:
' = Lernschrittweite,
yi =
1, i = rj
0, i =
rj
Terminieren soll der Algorithmus entweder nach einer vorgegebenen Anzahl von Lernschritten oder wenn für eine Anzahl Q Iterationen kein Fehler mehr berechnet wurde.
Wenn die Klassifikation für ein Lernbeispiel j korrekt vollzogen wird, bleiben die Gewichte
ai also unverändert. Erfolgt eine Fehlklassifikation, so wird nach der Idee der Hebb’schen
Regel (5.7) die falsche Antwort yi „vergessen“ bzw. „entlernt“ (engl. „unlearn“, durch den
Term −' · yi · xj ) und die Sollantwort angelernt (durch den Term ' · yi · xj ).
Geometrisch kann ein praktizierter Lernschritt so interpretiert werden, daß die Gewichtsänderung ∆ai parallel zum Stimulus xj vollzogen wird. Die Stärke und Richtungsorientierung
der Verschiebung wird durch ' und den „Klassifikationsfehler“ (yi − yi ) ∈ {−1, 1} bemessen.
Abbildung 5.6 veranschaulicht diesen Sachverhalt: Betrachtet werden zwei Klassen (weiß
und schwarz, repräsentiert durch Kreise und Punkte) und ein Gewichtsvektor a bzw. dessen Neuron,2 welches für Beispiele der schwarzen Klasse feuern soll. Im Initialisierungszustand ist das Gewicht a mit dem Wert a0 belegt und nimmt nach der Präsentation der
Stimuli x1 , x2 und x3 die Werte a1 , a2 und a3 an (siehe Abbildung 5.6 (a)). Die Gewichtsänderungen des Lernschrittes j sind durch die Vektoren ∆aj gekennzeichnet. Bei jedem
Lernbeispiel wird angenommen, daß es eine falsche Antwort des Perzeptrons provoziert,
T
T
d.h. a(j−1) xj < 0 für xj ∈ schwarz bzw. a(j−1) xj > 0 für xj ∈ weiß, und folglich ein
Lernschritt durchgeführt werden muß.
2
Es wird also nur ein Neuron betrachtet, welches durch die beiden Zustände „feuern“ und „nicht feuern“ in
zwei Klassen klassifiziert.
29
5. Klassifikatoren basierend auf Funktionsapproximation
x2
x2
x2
a
x1
a3
a2
a1
x3
a0
xρ
∆a3
x1
x1
∆a2
∆a1
Trenngerade
(a) Lernschritte beim Perzeptron-Lernen
(b) Endzustand der Gewichte und Klassifikation eines Testbeispiel xρ
Abbildung 5.6.: Geometrische Interpretation der Perzeptron-Lernregel: Betrachtet werden zwei Klassen weiß
und schwarz und der Gewichtsvektor zu den Zeitschritten 0, 1, 2 und 3, bezeichnet durch a0 , a1 , a2 und a3
(a). Die Gewichtsänderungen ∆aj nach Präsentation des Lernbeispiels xj finden stets parallel bzw. antiparallel zu xj statt. In (b) ist die erwartete Position des Gewichtsvektors a nach erfolgtem Training eingezeichnet.
Dieser liegt günstigenfalls etwa auf einer Gerade, die durch den Ursprung und bestmöglich
die Mit durch
telpunkte der beiden Datenverteilungen läuft. Durch die Klassifikationsvorschrift y = θ aT x teilt a den
Eingaberaum in zwei Teile auf, wobei die zu a senkrechte, durch den Ursprung laufende Gerade (bzw. Hyperebene im Mehrdimensionalen) die Klassifikationsgrenze bildet.
In der Abbildung kann nachvollzogen werden, daß der Lernschritt ∆aj parallel zu dem aktuellen Beispiel xj verläuft (wegen der Adaptionsvorschrift ∆ai = '(yi − yi ) · xj ). Während
bei der Präsentation der beiden ersten Lernbeispiele x1 , x2 ∈ schwarz der Term y − y = 1
ist, der Lernschritt also parallel zum Lernbeispiel vollzogen wird, gilt im Fall von x3 ∈
weiß für y − y = −1. Hier wird die Gewichtsänderung also antiparallel zum Lernbeispiel
durchgeführt. Ist die Klassenverteilung im Datenraum derartig, daß eine Gerade durch den
Ursprung die beiden Klassen fehlerfrei trennen kann (wie in dem illustriertem Beispiel), so
wird der Gewichtsvektor also immer in Richtung des gleichen der beiden, durch die Trenngerade definierten Halbräume hin „gezogen“, unabhängig von der Klassenzugehörigkeit des
Trainingsbeispiels.
Durch mehrmaliges Anwenden der Lernregel unter Präsentation aller Lernbeispiele konvergiert der Gewichtsvektor a (falls immer noch Fehlklassifikationen auftreten) in die Richtung
einer Linie, welche durch den Ursprung und bestmöglich durch die zwei Mittelwerte der
beiden Datenverteilungen läuft (siehe Abbildung 5.6 (b)).
Wegen y = θ aT x teilt der Gewichtsvektor a den Musterraum in zwei Teilräume auf. Die
Aufteilung wird durch die Trenngerade definiert, welche orthogonal zu a liegt und durch
den Ursprung verläuft. Mustervektoren aus dem Teilraum, dem a zugehört, stimulieren das
Neuron zu y = 1, Mustervektoren aus dem Teilraum, dem a nicht zugehört, zu y = 0.
30
5.2. Neuronaler-Netzwerk-Klassifikator
Die Klassifikation eines Testbeispiels (oder Recall-Beispiels) xρ ist in Abbildung 5.6 (b)
skizziert: xρ liegt auf der Seite der Trenngerade, welche a enthält (hier die rechte Seite),
und bildet mit a somit ein positives Skalarprodukt.
Folglich wird es vom Perzeptron in die
T schwarze Klasse klassifiziert (wegen θ a x = 1).
Erwähnenswert ist die Tatsache, daß mit der Anzahl der Lernschritte die Länge des Gewichtsvektors, a zunimmt, da, wie bereits oben erläutert, a in diesem Beispiel ausschließlich in Richtung des Halbraumes mit den schwarzen Trainingsbeispielen gezogen wird. Dies
hat zur Folge, daß die relative Änderung von a in einer späteren Trainingsphase kleiner
wird. Dieses Verhalten ist in der Regel sogar wünschenswert, da in der Trainingsstartphase
das Neuron durch große Gewichtsänderungen die grobe und in einer anschließenden Phase
durch kleinere Gewichtsänderungen die Feinheiten der Datenverteilung erlernen soll.
Will man ein Anwachsen von a verhindern, z.B. wenn das Abnehmen der Lernschrittweite
explizit durch eine monoton sinkende Funktion realisiert wird, z.B. '(t) = 1/t · '(0), so
kann man a nach jedem Lernschritt auf die Länge 1 normieren. In der geometrischen Interpretation bewegt sich a damit auf dem Einheitskreis (im n-dimensionalen Vektorraum
entsprechend auf der n-dimensionalen Einheitskugel) um den Ursprung.
Konvergenz der Perzeptron-Lernregel
Im vorigen Abschnitt ist das Verfahren für die Adaption der Perzeptron-Gewichte anhand
der Perzeptron-Lernregel erläutert worden. Nun stellt sich die Frage nach der Konvergenz
der Perzeptron-Lernregel, d.h. die Frage, ob das Verfahren in endlich vielen Schritten eine
korrekte Lösung a konstruieren kann.
In der Tat läßt läßt sich diese Konvergenzaussage für beschränkte Mustervektoren (d.h. x <
S, S konstante Schranke) aufstellen. Ein Beweis dieser Konvergenzaussage ist u.a. in [8]
nachzulesen. Voraussetzung
ist natürlich, daß ein a∗ existiert, welches anhand der Aktivie
T
rungsvorschrift y = θ a∗ x die Klassifikation vornehmen kann.
Die Frage nach der Existenz eines solchen a∗ entspricht genau der Frage nach einer linearen
Trennbarkeit der Musterklassen. Diese Eigenschaft ist durch die Tatsache einzusehen, daß
eine Lösung a∗ die Normale einer Trenngeraden ist, welche durch den Ursprung verläuft
(siehe Abbildung 5.6 (b)) und die beiden Musterklassen linear separiert.
Die Notwendigkeit der linearen Separabilität zu einer fehlerfreien Klassifikation macht das
Einlagen-Perzeptron für praktische Zwecke vielmals unbrauchbar. Aus dieser Motivation ist
eine Erweiterung des Einlagen-Perzeptrons eingeführt worden, das Multilagen-Perzeptron,
welches die Einschränkung der linearen Separabilität überwinden kann. Abschnitt 5.2.5
wird dieses Thema behandeln. Vorher soll jedoch in einer allgemeineren Form ein Neuronennetzwerk eingeführt werden.
31
5. Klassifikatoren basierend auf Funktionsapproximation
Ein Netzwerk von Neuronen
Zur Bildung eines neuronalen Netzwerkes oder Netzes werden mehrere Neuronen zusammengeschaltet. Dazu wird das Axon eines Neurons j mit Dendriten eines Neurons i verbunden. Die Verbindung wird wie im biologischen Vorbild Synapse genannt. Die Stärke
der Verbindung wird durch die Synapsenstärke aij bemessen.
Ein Beispiel für ein solches neuronales Netzwerk mit mehreren Neuronen zeigt Abbildung 5.7. Man beachte, daß in diesem Beispiel die Vernetzung sowohl vorwärts- als auch
i
x1
j
y
k
x2
m
l
Abbildung 5.7.: Ein Netz von fünf Neuronen i, j, k, l, m. Die Neuronen sind durch die Knoten des Graphen dargestellt, Verbindungen durch gerichtete Kanten. Man beachte, daß für diesen allgemeinen Fall eines
neuronalen Netzwerkes sowohl vorwärts- als auch rückwärtsgerichtete Verbindungen zugelassen sind.
rückwärtsgerichtet ist. Um die Rückkoppelung zu realisieren, führt man am Eingang der
Neuronen eine Verzögerungseinheit und einen globalen Zeitschalttakt ein. Die Berechnung
der Neuronenaktivität konsumiert dann eine Zeiteinheit, so daß eine Neuroneneingabe zur
Zeit t eine Neuronenausgabe zur Zeit t + 1 produziert. Ein solches neuronales Netzwerk
kann so mit einem endlichen Automaten identifiziert werden.
Ein Beispiel für ein (hier nicht behandeltes) rückgekoppeltes Netzwerk ist das HopfieldModell, welches für die Assoziation von Mustern häufig Verwendung findet. Literatur hierzu mit einem anschaulichen Beispiel befindet sich ebenfalls in [8].
Überlegungen zu einem rückgekoppelten Netzwerkes sollen im weiteren jedoch nicht weiter verfolgt werden. Die Konzentration gilt in den folgenden Abschnitten ausschließlich
einer vorwärtsgerichteten (feed-forward) Netzstruktur, dem Multilagen-Perzeptron. Dieses
kann wesentliche, hier bereits aufgedeckte Nachteile des Einlagen-Perzeptrons überwinden.
5.2.5. Das Multilagen-Perzeptron
32
5.2. Neuronaler-Netzwerk-Klassifikator
Aufbau
Das Multilagen-Perzeptron (MLP) ist der am häufigsten verwendete Vertreter von KNN. Es
zeichnet sich durch eine ausschließlich vorwärtsgerichtete (d.h. nicht rückgekoppelte) Netzstruktur von Neuronen aus, die zudem in mehreren Schichten (bzw. Lagen oder engl. Layer)
angeordnet sind. Verbindungen sind nur zwischen Neuronen direkt benachbarter Schichten
zugelassen. Ein allgemeines MLP ist in Abbildung 5.8 skizziert. Die Indizierung der Neuroa<k>
nm
x1
y1
o<k−1>
m
y2
x2
o<k>
n
..
..
..
..
..
..
..
yM
xN
Schicht0
1
2
···
k−1
k
···
H −1
H
Eingabe x
Ausgabe y
Abbildung 5.8.: Die allgemeine Form eines Multilagenperzeptrons (MLP). Das Netz besteht aus H Schichten
von Neuronen. Alle Verbindungen bei einem MLP sind ausschließlich vorwärtsgerichtet. Die 0-te Schicht ist
die Eingabeschicht x. Da sie keine Berechnungen durchführt, wird sie bei der Zählung der Gesamtschichten
nicht berücksichtigt. Die Schichten 1, . . . , H − 1 werden häufig innere oder verdeckte Schichten genannt.
nen erfolgt durch Angabe der jeweiligen Schicht k und des Neuronenindexes n, der in jeder
Schicht neu gezählt wird. Man beachte, daß zwei verschiedene Schichten eine unterschiedliche Anzahl von Neuronen enthalten können. Die Aktivierung des Neurons n der Schicht
bezeichnet, eine Verbindungsstärke von dem Neuron m
k wird in diesem Sinne mit o<k>
n
3
der Schicht k − 1 zum Neuron n der Schicht k mit a<k>
nm .
Im Gegensatz zum Einlagen-Perzeptron wird beim Multilagen-Perzeptron nicht die Stufenfunktion (5.8) als Aktivierungsfunktion verwendet, sondern eine Sigmoid-Funktion. Eine
Sigmoid-Funktion ist überall monoton steigend und strebt für x → ±∞ gegen asymptotische Sättigungswerte. Sie beschreibt einen weichen, also differenzierbaren Übergang zwischen den Sättigungswerten. Diese Eigenschaft ist beim Lernalgorithmus für das MLP unbedingt erforderlich, da, wie im folgenden beschrieben wird, dieser einen Gradientenabstieg
auf der Fehlerfläche aller möglichen Gewichtskonstellationen beschreibt. Zur Berechnung
des Fehlergradienten ist Differenzierbarkeit der Aktivierungsfunktion Voraussetzung.
3
Man beachte, daß die Reihenfolge der Indizes in der Literatur nicht einheitlich verwendet wird.
33
5. Klassifikatoren basierend auf Funktionsapproximation
Ein häufig verwendetes Beispiel einer Sigmoid-Funktion ist die Fermifunktion
σ(s) =
1
.
1 + exp(−s)
Ihr Verlauf ist in Abbildung 5.9 dargestellt.
1
0.5
0
–10
10
s
−1
Abbildung 5.9.: Funktionsgraph der Fermifunktion σ(s) = (1 + exp(−s)) , einer typischen Wahl für die
Aktivierungsfunktion f eines Neurons beim MLP.
Die Aktivierungen o<k>
berechnet sich analog (5.11) zu
n
=σ
o<k>
n
Nk−1
<k−1>
a<k>
nm om
n = 1, . . . , Nk ; k = 1, . . . , H
(5.12)
m=0
wie beim Einlagen-Perzeptron einen konstant auf −1 gesetzten Eingang bewobei o<k>
0
zeichnet (vergleiche Abschnitt 5.2.4 bzw. Aufgabe 1) und Nk die Anzahl der Neuronen in
der Schicht k.
= o<H> eines MLP wird durch eine sukzessive Anwendung der AktivieDie Ausgabe y
rungsregel (5.12) von links nach rechts aus dem Eingangsvektor x = o0 berechnet.
Zuletzt sei erwähnt, daß durch den Übergang auf die sigmoide Funktion auch die Funktionswerte yi an die Eigenschaften der Sigmoiden angepaßt werden müssen, weil 0 und 1 nur
asymptotisch erreicht werden. Üblich sind die Werte 0.1 und 0.9.
Die Lernregel—Backpropagation
Für das MLP soll nun eine Lernvorschrift angegeben werden, die beschreibt, wie die Gewichte a<k>
nm sinnvoll adaptiert werden. „Sinnvoll“ bedeutet in diesem Zusammenhang, daß
34
5.2. Neuronaler-Netzwerk-Klassifikator
eine Klassifikation für einen Satz von Trainingsbeispielen (xj , yj ), j = 1, . . . , P (und natürlich auch für davon unabhängige Testbeispiele) korrekt bzw. mit minimalem Klassifikationsfehler erfolgt.
Ein attraktiver Ansatz dazu wird durch den Backpropagation-Algorithmus beschrieben.
Dem Backpropagation-Algorithmus liegt eine einfache Idee zugrunde: Betrachtet wird der
über alle Trainingsbeispiele j = 1, . . . , s summierte quadratische Klassifikationsfehler
s NH
j
2
1
ym − ym (xj ) ,
J=
2 j=1 m=1
(5.13)
Dieser hängt von den aktuell eingestellten Gewichten a<k>
m (xj )) als freie
nm (in den Termen y
Parameter ab. Man kann sich J also als eine p-dimensionale (p = Anzahl der Gewichte
des MLP) (Hyper-) Fläche in dem p + 1-dimensionalen Gewichts-Fehler-Raum vorstellen.
Der Backpropagation-Algorithmus versucht nun, ein lokales Minimum der Fehlerfläche mit
Hilfe eines Gradientenabstiegsverfahren zu finden.
Der Gradientenabstieg ist ein allgemein verwendbarer, iterativer Vorgang zur Minimierung
einer Funktion F (x), in welchem (in der Grundformulierung) bei jedem Iterationsschritt
eine Korrektur der Argumente x entlang des stärksten Abfalls von F vorgenommen wird,
bis der Gradient von F verschwindet. Mathematisch wird dieser Sachverhalt für den beim
MLP vorliegenden Fall mit den Identifizierungen F = J und x = a<k>
nm durch
∆a<k>
nm = −' ·
∂J
,
∂a<k>
nm
∀n, m, k
(5.14)
beschrieben.
Bevor die Vorschrift zur Bestimmung von ∆a<k>
nm weiterentwickelt wird, soll noch eine
Vereinfachung vorgenommen werden. Der Fehler J ist in (5.13) als Summe aus den Beiträgen jedes Trainingsbeispieles j dargestellt. Ein Lernverfahren, welches den Gradienten auf
der Grundlage dieses Gesamtfehlers berechnet, wird Batch-Verfahren genannt. Oft werden
KNN jedoch inkrementell adaptiert. Dies bedeutet, daß der Gradient für nur ein (zufällig
ausgewähltes) Trainingsbeispiel berechnet und der Adaptionsschritt vollzogen wird. Dieses
Vorgehen entspricht der Minimierung einer nur vom aktuellen Trainingsbeispiel abhängigen
Fehlerfunktion
NH
j
2
1
j
yi − yi (xj )
F =
2 i=1
In diesem Fall wird zu einer besseren Lesbarkeit bei der Notation häufig der Index j des
Trainingsbeispiels weggelassen. Wird ' klein genug gewählt und werden alle Trainingsbeispiele gleich oft behandelt, bedeutet dieses Vorgehen nur einen geringen Unterschied zum
Batch-Modus. Der Vorteil des inkrementellen Verfahrens ist, daß die Fehlerfläche durch den
stochastischen Auswahl-Prozeß der Trainingsbeispiele weitläufiger exploriert wird, was es
erlaubt, kleinen lokalen Minima zu entweichen.
35
5. Klassifikatoren basierend auf Funktionsapproximation
In der Vorlesung [1] wird gezeigt, wie sich durch Ausformulierung von (5.14) schließlich
die Adaptionsvorschrift der Gewichte zu
<k>
∆a<k>
· o<k−1>
nm = −' · δn
m
(5.15)
bestimmen läßt, mit
<k−1>
δn<k−1> = σ s<k−1>
· en
n
e<H>
n
e<k−1>
n
= yn − yn
Nk
<k>
=
a<k>
mn δm ,
(5.16)
(5.17)
k = 1, . . . , H
(5.18)
m=1
wobei σ die Ableitung der Aktivierungsfunktion nach ihrem Argument bezeichnet, welche
bei der Fermi-Funktion leicht über die Auswertung des Funktionswertes berechnet werden
kann:
σ (x) = σ(x)(1 − σ(x))
Ein Vergleich mit der Perzeptron-Lernregel aus Abschnitt 5.2.4 zeigt, daß der Adaptionsschritt der letzten Schicht beim MLP ((5.15)–(5.17)) bis auf den Faktor σ (·) mit der
Hebb’schen Perzeptron-Lernregel übereinstimmt.
Das Prinzip des Backpropagation-Algorithmus wird zusammenfassend in Abbildung 5.10
verdeutlicht: Hier wird einsichtig, woher der Name „Backpropagation“ stammt. Während
ausgehend von der Eingabe- zur Ausgabeschicht in Abhängigkeit von
die Aktivitäten o<k>
n
berechnet werden, werden die „Fehler“ δn<k> an den Neuronen
der Vorgängerschicht o<k−1>
m
<k+1>
der Neuronen der Nachfolgeschicht zurück-, also „backpropagiert“.
aus den Fehlern δm
Proportional zum errechneten Fehler wird anschließend an den Neuronen der Korrektur<k> <k−1>
om
für jedes Gewicht vollzogen.
schritt ∆a<k>
nm = −' · δn
Dimensionierung eines MLP
Bei der Dimensionierung eines MLP sind
1.
8: die Anzahl der Schichten und
2. die Anzahl der Neuronen pro Schicht
festzulegen. Überlegungen zu beiden Fragestellungen sind abhängig vom Problem und können oft nur durch die Aussage „so viel wie nötig und so wenig wie möglich“ beantwortet
werden.
Die Bestrebung, ein MLP aus einer minimalen Anzahl von Neuronen aufzubauen, ist durch
die Tatsache motiviert, daß wie bei jedem Klassifikator (vergleiche dazu auch Abschnitt 6.2)
36
5.2. Neuronaler-Netzwerk-Klassifikator
<k>
x1 on = σ
Nk−1
j=0
<k−1>
a<k>
nm om
δ1<H>
x2
δ2<H>
x3
Nk <k> <k>
· m=1 amn δm
δn<k−1> = σ s<k−1>
n
<k> <k−1>
∆a<k>
om
nm = −δn
Abbildung 5.10.: Das Prinzip des Backpropagation-Algorithmus am Beispiel eines 3-Lagen-Perzeptrons:
Während die Eingabesignale
x1 , . . . , x3 von der Eingabeschicht sukzessiv in Vorwärtsrichtung anhand der
Nk−1 <k> <k−1>
<k>
das MLP durchlaufen (dargestellt durch die durchgezogenen
=σ
Gleichung on
m=0 anm om
Nk <k> <k>
Linien), pflanzen sich die Fehler gemäß der Vorschrift δn<k−1> = σ sn<k−1> · m=1
amn δm ausgehend
von der Ausgabeschicht rückwärts fort (gestrichelte Linien). An jedem Neuron wird dabei ein Korrekturschritt
<k> <k−1>
om
vollzogen.
∆a<k>
nm = −δn
mit wachsender Zahl der Parameter (= Anzahl der Gewichte) das KNN sich zu sehr an die
vorliegenden Trainingsbeispiele anpaßt und die Generalisierungsfähigkeit auf unbekannte
Beispiele sehr schlecht wird.
Weiterhin besteht bei der Verwendung von zu vielen Parametern die Gefahr, daß die Häufigkeit der lokalen Minima der Fehlerfunktion und damit auch die Wahrscheinlichkeit, eine
nur suboptimale Lösung zu finden, ansteigt.
Andererseits soll das MLP genügend viele Schichten bzw. Neuronen besitzen, um den Restfehler der Klassifikationsaufgabe klein zu halten. In der Literatur ist jedoch bewiesen worden, daß ein 3-Lagen-Perzeptron im Prinzip ausreicht, um jede Daten-/Klassenverteilung in
IRN zu modellieren. Ein Beweis kann durch folgende Überlegung anschaulich verstanden
werden: Die erste Schicht separiert beliebige Halbräume in IRN , die zweite faßt die entstandenen Halbräume durch Konjunktion zu konvexen Gebieten zusammen, und die dritte
(Ausgabe-) Schicht vereint die konvexen Gebiete durch Disjunktion zu beliebigen konkaven
Mengen.
Aufgrund diesen Ausführungen werden im Allgemeinen MLP aus mehr als drei Schichten
selten eingesetzt.
37
5. Klassifikatoren basierend auf Funktionsapproximation
Erweiterungen des einfachen MLP
Das hier beschriebene, einfache MLP weist bezüglich der Konvergenz in lokalen Minima,
der Generalisierungsfähigkeit oder auch der Konvergenzgeschwindigkeit noch einige Unzulänglichkeiten auf. Aufgrund dessen sind durch eine Variation der Fehlerfunktion (5.13)
bzw. der Lernregel (5.14) zahlreiche Ansätze verfolgt worden, um eine bessere Performanz
zu erreichen. Eine Behandlung dieser Techniken würde jedoch den Rahmen dieses Praktikums sprengen. Für eine ausführlichere Erläuterung sei auf die angegebene Literatur verwiesen, insbesondere auf [6]. Andeutungsweise seien hier erwähnt:
Trägheitsterm Der Lernregel kann noch ein „Trägheitsterm“ zugefügt werden, der den
∂E
+' ∆a<k>
vorherigen Adaptionsschritt berücksichtigt: ∆a<k>
nm (t+1) = −'· ∂a<k>
nm (t).
nm
Damit wird ein schnelles Oszillieren der Gewichtstrajektorie in der „Fehlerlandschaft“
verhindert, ähnlich der Massenträgheit einer Kugel, die auf einer kurvigen Oberfläche rollt. Außerdem ermöglicht dieser Term, daß kleinen lokalen Minima entwichen
werden kann.
2
addiWeight Decay Wird der Fehlerfunktion (5.13) ein weiterer Term ' nm a<k>
nm
tiv zugefügt, werden große Gewichte in der „Fehlerlandschaft“ angehoben, was dazu
führt, daß die Adaption in Gebieten kleinerer Gewichte konvergiert. Kleinere Gewichte führen zu einer glatteren Netzantwort und somit sinkt die Gefahr eines „Overfitting“ an den Trainingsdaten.
5.2.6. Aufgaben
Aufgabe 1: In Abschnitt 5.2.4 ist erläutert worden, daß sich eine fehlende Schwelle in der
Aktivierungsfunktion durch eine Erweiterung des Eingaberaumes um eine Dimension
(Index 0) mit einer konstanten Eingabe x0 = −1 simulieren läßt. Man veranschauliche sich diese Aussage geometrisch, indem man in einem Musterraum der Dimension 2 die beiden Muster x1 = (1, 1) und x2 = (2, 2) durchWahl eines geeigneten
Gewichtsvektors a anhand der Aktivierungsfunktion y = θ aT x in zwei Klassen
(
y = 0 für Klasse 1, y = 1 für Klasse 2) klassifiziert. Man versuche zunächst, einen
geeigneten Gewichtsvektor im zweidimensionalen Musterraum und anschließend in
dem um die Komponente x0 = −1 erweiterten dreidimensionalen Vektorraum zu
finden. Man zeichne in beiden Fällen die durch a definierte Trenngerade ein.
Aufgabe 2: Gegeben sei die in Abbildung 5.11 skizzierte Datenverteilung von zwei Musterklassen. Man wähle aus jeder Klasse zwei beliebige Datenbeispiele aus und vollziehe die Lernschritte, die sich nach der Perzeptron-Lernregel anschließen, nach. Wo
etwa wird der Gewichtsvektor a nach Abschluß des Trainings liegen. Man zeichne zu
a die zugehörige Separationsgerade ein.
38
5.2. Neuronaler-Netzwerk-Klassifikator
x2
x1
Abbildung 5.11.: Zu Aufgabe 2.
Aufgabe 3: Man berechne den Korrekturschritt für Gewichte der letzten Neuronenschicht
eines MLP, ∆a<H>
nm , aus der Minimierung der Fehlerfunktion F und verifiziere die
Gültigkeit von der allgemeinen Gleichung für den Adaptionsschritt (5.15).
39
6. Fehlerquellen beim
Klassifikatorentwurf
Die Klassifikationsgüte eines Klassifikationsmodells hängt entscheidend von der vorgenommenen Dimensionierung ab. Dies entspricht im Wesentlichen der Festlegung der Anzahl von freien Parametern, d.h. beim Polynomklassifikator dem Polynomgrad, beim MLP
der Anzahl von Schichten und der Perzeptron-Einheiten pro Schicht. Bei den parametrischen Klassifikatoren hängt die Performanz von der gewählten Verteilung und der Güte der
geschätzten Parameter ab. Für den κ-Nächste-Nachbarn-Klassifikator — als Vertreter für
die nicht-parametrischen Klassifikatoren — gilt: je größer die Stichprobenmenge und die
Anzahl κ desto besser wird das Klassifikationsergebnis sein. Der frei wählbare Parameter
ist durch κ gegeben.
Sowohl zu wenige als auch zu viele Parameter beeinflussen das Klassifikationsverhalten
negativ. Welche Auswirkungen eine Fehldimensionierung hat, soll in diesem Abschnitt beschrieben werden.
6.1. Unterbestimmter Klassifikator
Von einem unterbestimmten Klassifikator spricht man, wenn die Anzahl der Parameter des
Klassifikatormodells zu klein ist, um die Struktur des Merkmalsraumes hinreichend genau
zu beschreiben. Die Skizzen aus Abbildung 6.1 (a) und (b) veranschaulichen ein Beispiel
für einen solchen Fall: Betrachtet werden wiederum zwei Klassen — repräsentiert durch
ausgefüllte und leere Kreise — in einem zweidimensionalen Merkmalsraum, wobei die
schwarze Klasse die weiße umschlingt (siehe Abbildung 6.1 (a)).
In Abbildung 6.1 (b) wird ein einfacher, für diese Aufgabe unterbestimmter Klassifikator
beschrieben. Er ist hier durch eine lineare Trennlinie skizziert, was zum Beispiel durch
ein einfaches Einlagen-Perzeptron aus Kapitel 5.2.4 modelliert werden kann. Das Modell
besitzt also nur zwei freie Parameter—die Geradenparameter. Dies ist zu wenig, um die
Datenstruktur nachzubilden und führt zwangsläufig zu Klassifikationsfehlern in Bezug auf
Beispiele der Trainings- als auch einer der Trainingsmenge „ähnlichen“ Testmenge.
40
6.2. Überbestimmter Klassifikator
6.2. Überbestimmter Klassifikator
Im Gegensatz zu einem Mangel an freien Parametern kann ein Klassifikator auch zu viele
besitzen; er ist damit überbestimmt. Dieser Fall ist in Abbildung 6.1 (c) durch den sechskantigen Polygonzug skizziert. Dessen Beschreibung erfordert mindestens zwölf Parameter
(zehn für die fünf inneren Knotenpunkte und zwei für die Richtung der ersten und letzten
Kante). Dieser Klassifikator klassifiziert zwar ohne Fehler die Trainingsbeispiele korrekt, er
würde aber mit großer Wahrscheinlichkeit zusätzliche Beispiele einer Testmenge, die „ähnlich“ wie die Trainingsmenge verteilt ist, fehlklassifizieren. Der Klassifikator paßt sich zu
genau der Trainingsmenge an, so daß jegliche Generalisationsfähigkeit verloren geht.
6.3. Umfang der Stichproben für das Lernen
Geht man von einem ausreichend dimensionierten Klassifikator aus, gilt es — für eine erfolgreiche Klassifikation — noch einen weiteren wichtigen Punkt zu beachten: die Stichprobenmenge für das Lernen. Wesentlich für den Erfolg einer Klassifikation ist der Umfang
und die Beschaffenheit der Stichprobenmenge. Allgemein gilt: Je größer die Stichprobenmenge, desto besser kann ein Klassifikator trainiert werden. Die Anzahl der mindestens
erforderlichen Lernstichproben für ein hinreichendes Training hängt von der Art des gewählten Klassifikators und der Dimension der Merkmale ab.
6.4. Optimaler Klassifikator?
Zusammenfassend stellt sich nun die Frage, ob es eine allgemeingültige Verfahrensweise für
die Klassifikation gibt. Den „optimalen“ Klassifikator für alle Arten von Problemstellungen
gibt es nicht. Für den Entwurf eines Klassifikators lassen sich aber Richtlinien angeben, die
in den vorangegangenen Kapitel dieser Anleitung diskutiert wurden.
Bezüglich der Dimensionierung eines Klassifikators — gleichbedeutend mit der Wahl der
möglichen Freiheitsgrade eines Klassifikators — läßt sich feststellen, daß zu wenige Parameter einen großen Restfehler in der Klassifikation zur Folge haben. Hingegen führen zu
viele Parameter zu einer schlechten Generalisierungsfähigkeit des Klassifikators. Hierbei
spricht man auch vom Overfitting. Ferner kann ein optimal — bezüglich der Klassifikationsgüte für eine gegebene Klassifikationsaufgabe — dimensionierter Klassifikator nur so
gut sein, wie es der Umfang der Lernstichprobe es erlaubt.
In realen Aufgabenstellungen ist der Umfang der Muster-Lernstichprobe oft zu klein, um
einen Klassifikator umfassend zu trainieren. Um trotzdem eine hinreichende Klassifikationsgüte zu erreichen bedarf es anderer Ansätze, die hier nicht diskutiert werden sollen.
41
6. Fehlerquellen beim Klassifikatorentwurf
Ein hinreichend dimensionierter Klassifikator ist in Abbildung 6.1 (d) skizziert. Seine Parameteranzahl liegt zwischen der von Fall (b) und Fall (c). Er besitzt eine geeignete Form, um
sowohl die Trainingsbeispiele als auch „ähnlich“ verteilte Testbeispiele zu klassifizieren.
42
6.4. Optimaler Klassifikator?
x2
x2
x1
(a) Datenverteilung von zwei Klassen
x1
(b) Unterbestimmter Klassifikator
x2
x2
x1
(c) Überbestimmter Klassifikator
x1
(d) „Optimaler“ Klassifikator
Abbildung 6.1.: Beispiel zur Erläuterung von unter- und überbestimmten Klassifikatoren: Eine zweidimensionale Datenverteilung von zwei Klassen (a) wird mit einem unterbestimmten (b), einem überbestimmten
(c) und einem „optimalen“ (d) Klassifikator klassifiziert. Die eingezeichneten Linien entsprechen jeweils die
Klassengrenzen.
43
7. Aufgaben zum Praktikum
Eine umfangreiche Bedienungsanleitung für die im Praktikum zu verwendenden Matlab
-Routinen ist im Anhang A zu finden. Die mit einem * gekennzeichneten Aufgaben sind
optional.
Aufgabe 1: Kennenlernen der Klassifikatoren
Gegeben sind drei Stichprobenmengen mit zweidimensionalen Mustern eines Klassifizierungsproblems mit drei Klassen. Die Muster jeder Stichprobe sind klassenweise normalverteilt mit unbekannten Parametern µ und K, sowie gleicher a-priori W. Die Stichprobenmenge beinhaltet für alle Muster deren Klassenzugehörigkeit. Zu finden sind die Stichproben in den Dateien normdist_{test,train}_samples_{1,2,3}. Für die folgenden Teilaufgaben sollen alle drei Stichproben nacheinander klassifiziert werden. Hierzu muß der Klassifikator zunächst mit den Dateien normdist_train_samples_{1,2,3}
trainiert werden. Die Bewertung der Güte des Klassifikators ist mit den Stichprobenmengen normdist_test_samples_{1,2,3} durchzuführen.
a) Parametrischer Klassifikator
Als wichtiger Vertreter der parametrischen Klassifikatoren soll der Bayes-Klassifikator für normalverteilte Daten in dieser Teilaufgabe kennengelernt werden. Schätzen
Sie zunächst mittels der Trainingsmenge die benötigten Parameter. Führen Sie die
Klassifikation mit dem trainierten Klassifikator für beide Stichprobenmengen (test
resp. train) durch und bestimmen Sie die Klassifikationsrate des Klassifikators.
Anschließend visualisieren Sie die Stichprobe und die Klassifikationsgrenzen der
drei Klassen. Führen Sie die Schritte auch mit dem Euklidischen- und MahalanobisDistanz-Klassifikator durch. Was ist bezüglich der zu schätzenden Parameter zu beachten?
b) Nicht-parametrischer Klassifikator
In dieser Teilaufgaben soll als Vertreter der nicht-parametrische Klassifikatoren der
κ-Nächste-Nachbarn-Klassifikator untersucht werden. Muß für den Klassifikator ein
Training durchgeführt werden? Variieren Sie die Anzahl der Nachbarn κ = {1, 10,
100, 500, 1000}. Beachten Sie, daß der Button „Trainieren“ beim Drücken die Parameter des Klassifikators zurücksetzt.
c) Klassifikation basierend auf funktionaler Approximation
Stellvertretend für Klassifikatoren, die auf einer Approximation der Grenzflächen
44
aufbauen, werden der Polynom- und der Neuronale-Netzwerk-Klassifikator (nur MLP)
angewendet. Visualisieren Sie die Muster der Stichproben und die von den Klassifikatoren bestimmten Grenzflächen.
Worin unterscheiden sich die in dieser Aufgabe evaluierten Klassifikatoren? Was ist zu
der Klassifikationsquoten der Klassifikatoren bezüglich des hier vorgestellten Klassifikationsproblem festzuhalten? Welcher Klassifikator ist für die Problemstellungen optimal?
Wie beurteilen Sie den Berechnungsaufwand der einzelnen Klassifikatoren?
Aufgabe 2*: Klassifikatorauswahl
Wiederum ist eine Stichprobenmenge mit zweidimensionalen Mustern einer Klassifikationsaufgabe mit drei Klassen gegeben. Die Wahrscheinlichkeitsdichteverteilungen der
Klassen sind nicht bekannt! Finden Sie zunächst eine geeignete Methode für die Visualisierung der Stichproben, die in der Datei csel_samples gespeichert sind. Geben Sie
eine Schätzung ab, um welche Klassenverteilungen es sich handelt. Wählen Sie einen
Klassifikator aus und führen Sie die Klassifikation durch. Begründen Sie Ihre Entscheidung für den Klassifikator. Messen Sie die Performanz des von Ihnen ausgewählten Klassifikators anhand der gleichen Stichprobenmenge. Läßt sich die Klassifikationsrate durch
eine Umformulierung der Problemstellung erhöhen? Wenn ja, wie? (Tip: Verwenden Sie
für die Visualisierung der Stichproben die Matlab -Routine find um einzelne Klassen
darzustellen.)
Aufgabe 3: Fehlerquellen: Geringer Stichprobenumfang
Die Performanz eines Klassifikators ist unter anderem wesentlich vom Umfang und der
Qualität der Lernstichprobenmenge abhängig.
a) Schreiben Sie in Matlab ein Programm für einen Polynomklassifikator zweiten Grades, der Muster der Dimension n = 2 klassifiziert. Das Programm soll auch die
Adaption der Koeffizientenmatrix A durchführen.
b) In der Datei sse_train_samples steht Ihnen eine Stichprobe einer zweidimensionalen Musterquelle zur Verfügung, die für die Adaption der Koeffizientenmatrix
verwendet werden soll. Zur Evaluation des Klassifikators verwenden Sie die Stichprobe in der Datei sse_test_samples.
c) Für ein erneutes Trainieren des Polynom-Klassifikators verwenden Sie nun die Stichprobenmenge in der Datei sse_train_ext_samples. Führen Sie wiederum die
Klassifikation mit der Evaluationsmenge in der Datei sse_test_samples durch.
d) Messen Sie für beide Fälle b) und c) die Klassifikationsrate des Polynom-Klassifikators.Wie läßt sich das schlechte Ergebnis bei Teilaufgabe b) erklären?
Aufgabe 4: Fehlerquellen: Über- und unterbestimmter Klassifikator
In den Dateien banana_train_samples und banana_test_samples stehen Ihnen Stichproben einer zweidimensionalen Zweiklassen-Musterquelle zur Verfügung. Zur
Klassifikation soll ein MLP-Klassifikator zum Einsatz kommen.
45
7. Aufgaben zum Praktikum
a) Visualisieren Sie die Stichprobe. Überlegen Sie, wieviele Schichten und Neuronen
pro Schicht zur Klassifikation der Musterquelle benötigt werden.
i) Adaptieren Sie das MLP mit der Stichprobenmenge.
ii) Lassen Sie sich den RMSE (Root-Mean-Square-Error) der letzten Neuronenschicht für die Trainingsbeispiele als Funktion der Zeit ausgeben.
iii) Nach wie vielen Trainingsepochen (1 Epoche = Präsentation aller Trainingsbeispiele) konvergiert der Klassifikationsfehler?
iv) Lassen Sie sich die Entscheidungsfunktionen der Klassen und die Klassengrenzen in einer Grafik anzeigen.
v) Wie hoch ist die Klassifikationsrate der Trainingsmenge?
b) Verwenden Sie ein MLP mit nur
i) einer Schicht (verwenden Sie hierzu das einschichtige Perzeptron)
ii) halb sovielen Neuronen pro verdeckter Schicht im Vergleich zum MLP aus Aufgabenteil (a).
zur Klassifikation und wiederholen Sie die Schritte aus Aufgabenteil (a) mit dem
inkrementellen Backpropagation-Algorithmus.
c) Verwenden Sie ein MLP mit
i) doppelt sovielen verdeckten Schichten und doppelt sovielen Neuronen pro verdeckter Schicht
im Vergleich zum MLP aus Aufgabenteil (a) und wiederholen Sie die Schritte aus
Aufgabenteil (a) mit dem Backpropagation-Algorithmus.
Welche anderen Arten von Klassifikatoren eignen sich für die durch die Stichprobenmengen gegebene Problemstellung? Welche nicht?
Aufgabe 5*: Linear korrelierte Muster
Gegeben sind zwei Stichprobenmengen cor_train_samples und cor_test_samples
von dreidimensionalen Mustern. Die Muster sind klassenweise normalverteilt mit unbekannten Parametern. Die Stichproben beschreiben ein Klassifikationsproblem mit drei
Klassen. Schätzen Sie die Parameter µ und K aus der Lernstichprobe cor_train_samples. Ist die Kovarianzmatrix invertierbar? Bestimmen Sie die Korrelationskoeffizienten
√
δij = σij / σii σjj aus der Kovarianzmatrix. Was können Sie über die Korrelation der Muster sagen? Wie läßt sich das Problem der singulären Kovarianzmatrix umgehen? Führen
Sie eine geeignete Transformation der Muster für beide Stichprobenmengen durch. Trainieren Sie den Bayes-Klassifikator mit der transformierten Lernstichprobe. Bestimmen
Sie die Klassifikationsrate mit der Teststrichprobe. Welche Klassifikationsrate erreichen
Sie? (Hinweis: Die für die Lösung der Aufgabe benötigten Berechnungen lassen sich nicht
mit der Klassifikations-GUI durchführen. Tip: Verwenden Sie die Matlab -Routinen cov,
corrcoef und svd.)
46
A. Beschreibung der graphischen
Oberfläche
A.1. Erste Schritte
Das Programm wurde auf Windows-NT unter Verwendung von Matlab Version 5.2 entwickelt. Es ist nicht unter früheren Matlab Versionen lauffähig. Zusätzlich muß die Neuronale Netze und die Statistik Toolbox installiert sein.
Bevor das Programm-Paket verwendet wird, muß SetMyPath.m ausgeführt werden, damit die entsprechenden Pfade gesetzt werden. Nachdem die Pfade in Matlab eingetragen
wurden, stehen die Online-Hilfen zur Verfügung. Sie können wie gewohnt mit dem Aufruf
von helpwin abgefragt werden.
Die graphische Oberfläche wird mit dem Befehl klassifikationGUI gestartet. Siehe
Abschnitt A.2 für weiterführende Informationen zur graphischen Oberfläche.
A.2. Die graphische Oberfläche
Das Hauptprogramm KlassifikationGUI läßt sich grob in drei Teile zusammenfassen:
1. Klassifikator bestimmen und Trainingsmenge laden
2. Parameter für den spezifizierten Klassifikator schätzen
3. Testmenge laden und den trainierten Klassifikator testen
Wenn alle Parameter in der ersten Spalte eingegeben wurden, wird durch das Drücken der
Schaltfläche “Trainieren” die Anzeige für die Parameter (mittlere Spalte) an den ausgewählten Klassifikator angepaßt und das entsprechende Parametermodell geschätzt. Je nach
47
A. Beschreibung der graphischen Oberfläche
Abbildung A.1.: Screenshot von KlassifikationGUI.
Klassifikator können Parameter verändert werden. Zusätzlich lassen sich abhängig vom verwendeten Klassifikator Graphiken anzeigen. Um den trainierten Klassifikator testen zu können, muß eine Testmenge angeben werden (rechte Spalte). Drücken von “Testen” berechnet
die Fehlerrate und die Verwechselungsmatrix und zeigt diese graphisch im rechten unteren
Teil des Fensters an.
A.2.1. Klassifikator bestimmen und Trainingsmenge laden
• Klassifikator auswählen: Selektieren Sie den Klassifikator, den sie verwenden wollen
• Trainingmenge laden: Klicken auf “Durchsuchen” öffnet ein Dialogfenster, in dem
die Datei ausgewählt werden kann, die geladen werden soll. Es ist auch möglich den
Dateinamen direkt in das Eingabefeld einzugeben.
• Information: Hier werden Informationen (Anzahl der Trainingsvektoren, Anzahl der
Klassen und Dimension der Trainingsvektoren) zu der geladenen Trainingsmenge
angezeigt.
• Scatterplot zeichnen: “Scatterplot” zeichnet die Trainingsmenge in zwei ausgewählten Dimensionen gegeneinander auf. Die beiden Dimensionen werden in dem Eingabefeld “Proj. Dimensionen” in Form eines 2-dimensionalen Vektors eingegeben
([dimX, dimY]).
48
A.3. Datentypen und Bezeichner
A.2.2. Parameter für den spezifizierten Klassifikator schätzen
Drücken Sie die Schaltfläche “Trainieren” um das Parametermodell für den gewählten Klassifikator zu berechnen. Abhängig vom Klassifikator stehen Anzeige- und Manipulationsmöglichkeiten zur Verfügung:
• Editieren: Das Drücken der Schaltfläche “Editieren” öffnet ein Dialogfenster, in dem
einzelne Werte des Parametermodells geändert werden können.
• Anzeigen im WKSP: Alle Parameter werden im Workspace (Matlab -Eingabeshell,
vor der aus KlassifikationGUI aufgerufen wurde) von Matlab ausgegeben.
• Aktueller Klassifikator-Typ: Nach dem hier angebenden Klassifikator wurde das aktuelle Parametermodell berechnet und wird die Testmenge klassifiziert.
• Zeichnen: Die in “Art der Graphik” angebend Graphik wird für den in dem entsprechenden Eingabefeld angebenden Bereich gezeichnet.
• Laden & Speichern: Um das Testen eines Klassifikators auch zu einem späteren Zeitpunkt zu ermöglichen, läßt sich das berechnete Parametermodell speichern und später
wieder laden.
A.2.3. Testmenge laden und den trainierten Klassifikator testen
• Testmenge auswählen: Die Testmenge muß Vektoren enthalten, die dieselbe Dimension haben wie die Vektoren aus der Trainingsmenge.
• Insgesamt korrekt: Fehlerrate gemittelt über alle Vektoren der Trainingsmenge.
• Anz. Testdaten: Anzahl der Vektoren in der Testmenge.
• Speichern der Fehlerrate & Verwechselungsmatrix: Die Fehlerrate und die Verwechselungsmatrix kann als Matlab -Datei abgespeichert werden, um die Ergebnisse anderen Programmen zur Verfügung zu stellen.
A.3. Datentypen und Bezeichner
Beschreibung einiger wichtigen Datentypen und Bezeichner:
TrainingSet oder TestSet: (struct)
Examples
: N x M - Matrix
ClassLabels : 1 x M - Matrix
49
A. Beschreibung der graphischen Oberfläche
Examples enthält M N-dimensionale Merkmalsvektoren. Classlabels enthält die entsprechenden Klassenbezeichnungen c mit c aus {1..(Anzahl der Klassen)}
Model: (struct) ist abhängig von dem gewählten Klassifikator, folgende Feldnamen
sind allen Klassifikatoren gemein:
type : String
dim : double
wobei dim die Dimension der Merkmalsvektoren und type der Name des Klassifikators
bezeichnet.
50
Literaturverzeichnis
[1] H. Burkhardt. Grundlagen der Bilderzeugung und Bildanalyse. Vorlesung am Institut
für Informatik. Albert-Ludwigs-Universität Freiburg. 1, 1.2, 5.1, 8
[2] Howard Demuth and Mark Beale. Neural Network Toolbox—For Use with MATLAB,
User’s Guide. Math Works, 3 edition, January 1998. 1.2
[3] R. O. Duda and P. E. Hart. Pattern Classification and Scene Analysis. Interscience
Publications. Wiley, 1973. 1.2
[4] Donald Hebb. Organisation of Behavior. Wiley Interscience, 1949. 5.2.3
[5] Alois Heinz. Neuronale netze - eine einführung.
freiburg.de/˜heinz/nnintro/, 1998. 1.2
http://www.informatik.uni-
[6] J. Hertz, A. Krogh, and R.G. Palmer. Introduction to the Theory of Neural Computation. Addison-Wesley Publishing Company, Inc., Redwood City, CA, 1991. 1.2, 5.2,
8
[7] B. D. Ripley. Pattern Recognition and Neural Networks. Cambridge University Press,
1996. 1.2
[8] H.J. Ritter, T.M. Martinetz, and K.J. Schulten. Neuronale Netze. Addison-Wesley,
München, 1992. 1.2, 5.2.1, 5.2.2, 7, 7
[9] Raul Rojas. Theorie der neuronalen Netze. Springer Verlag, 1993. 1.2
[10] J. Schürmann. Pattern Classification: a unified view of statistical and neural approaches. Interscience Publications. Wiley and Sons, New York, 1996. 1.2, 5.1
51