Sie sind auf Seite 1von 113

Neuronale Netze in der

Optionspreistheorie und
Risikobewertung

Seminar am Lehrstab Mathematik


des Fachbereichs Wirtschaftswissenschaften
der Universität des Saarlandes

SS 2003 - 2007

Dr. Christian Hoffmann

Dr. Klaus Schindler

Version 2.0
2 Kapitel
Inhaltsverzeichnis

1 Grundlagen künstlicher neuronaler Netze (Roman Brosowski) 11


1.1 Einführung und Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Grundlegender Aufbau eines neuronalen Netzes . . . . . . . . . . . . . . . . . . 12
1.2.1 Das natürliche Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Aufbau eines Netzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Aufbau eines künstlichen neuronalen Netzes . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Der erste Nachbau: das McCulloch-Pitts Neuron . . . . . . . . . . . . . 14
1.3.2 Und-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.3 Oder-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.4 Verfeinertes Modell des Neurons . . . . . . . . . . . . . . . . . . . . . . 15
1.3.5 Die Eingabefunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.6 Die Aktivierungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.7 Die Ausgabefunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Topologien und Lernverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.1 Topologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 Netze ohne Rückkopplung . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.3 Netze mit Rückkopplung . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.4 Lernverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.5 Überwachtes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.6 Bestärkendes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.7 Unüberwachtes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Adaline und Madaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.1 Und-Funktion mit Adaline . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.2 Oder-Funktion mit Adaline . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.3 XOR als Grenze der Adaline . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.4 Madaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 Grundlagen (Hans-Peter Ziegler) 23


2.1 Einleitung und Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Grundidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Eingabeschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2 Ausgabeschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.3 Der Aktivierungszustand . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.4 Die Ausgaberegel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.5 Das Fehlermaß . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.6 Synapsen und Gewichte . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3
4 INHALTSVERZEICHNIS

2.3.7 Netzaktivität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Allgemeine Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5 Lernverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Adaline und Madaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.8 Adaption der Adaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9 Das Perzeptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.10 Stochastische Mustererkennung mal anders... . . . . . . . . . . . . . . . . . . . 35

3 Das Backpropagation-Verfahren (Jakob Janiszewski) 39


3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Eingabeschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.2 Verarbeitungsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.3 Ausgabeschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Backprop-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.1 Forward Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.2 Fehleranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.3 Backward Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.4 Resümee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Problematiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 Problemstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 Lösungsansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Optimierung Neuronaler Netze (Andreas Jung) 49


4.1 Sinn und Zweck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Grundidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Cascade Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 Starre Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.2 Simulationsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4 Pruning-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.1 Gewichtspruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.2 Hidden Neuron (HN) Pruning/Mergen . . . . . . . . . . . . . . . . . . . 60
4.4.3 Input Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.4 Optimal Brain Damage (OBD) . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.5 Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer) 63


5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 Aufbau und Funktionsweise eines genetischen Algorithmus . . . . . . . . . . . 64
5.3.1 Selektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3.2 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3.3 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.4 Refill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4 Beispiel eines GA mit binärer Kodierung . . . . . . . . . . . . . . . . . . . . . . 68
5.4.1 erster Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4.2 zweiter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
INHALTSVERZEICHNIS 5

5.4.3 dritter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


5.4.4 vierter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.5 fünfter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.6 sechster Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.7 siebter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Vorteil der GAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5.1 Schema-Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6 Perfomancemessung (Stefan Götz) 73


6.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4 Perfomancemas̈e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4.1 Volatilität und Beta-Faktor . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4.2 Renditeberechnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4.3 Berechnung der Portfoliorendite . . . . . . . . . . . . . . . . . . . . . . 76
6.5 Risikounterscheidung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.5.1 qunt./qual. Risiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.5.2 Basisrisiken vs. Spezielle Risiken . . . . . . . . . . . . . . . . . . . . . . 78
6.6 Risikomessung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6.1 Tracking Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6.2 Semivarianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.7 Differenzierte Perfomancemessung . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7.1 Risikoadjustierung nach Sharpe . . . . . . . . . . . . . . . . . . . . . . . 79
6.7.2 Risikoadjustierung nach Treynor . . . . . . . . . . . . . . . . . . . . . . 80
6.8 Vorselektion von KNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8.1 Korrelationskoeffizient . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8.2 Theill-Koeffizient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai) 83


7.1 Worum geht’s? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.1.1 Was ist Kreditrisiko? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.1.2 Kreditrisikomodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.3 Weshalb Basel II? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 CreditMetrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.1 Kreditrating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.2 Übergangs- und Ausfallwahrscheinlichkeiten . . . . . . . . . . . . . . . 87
7.2.3 Zinsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.2.4 Kreditrisikomaße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3 Anwendung KNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.4 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6 INHALTSVERZEICHNIS

8 Using neural networks to forecast stock indices (Christine Kiefer) 95


8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.2 Partially recurrent networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.2.1 Jordan networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2.2 Elman networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2.3 Hierarchical Elman networks . . . . . . . . . . . . . . . . . . . . . . . . 98
8.2.4 Training of partially recurrent networks . . . . . . . . . . . . . . . . . . 98
8.3 Tools for developing neural networks . . . . . . . . . . . . . . . . . . . . . . . . 99
8.3.1 Stuttgart Neural Network Simulator . . . . . . . . . . . . . . . . . . . . 99
8.3.2 Microsoft Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8.4 System development process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8.5 Case study: Forcasting the DAX . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.5.1 Obtaining and preprocessing the data . . . . . . . . . . . . . . . . . . . 104
8.5.2 The network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.5.3 Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.6 Case study: Forcasting the 3-month-development of the DAX . . . . . . . . . . 106
8.6.1 Input/output variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.6.2 Correlation analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
8.6.3 Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.6.4 Time lag analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.6.5 Neural network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.6.6 Final results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Abbildungsverzeichnis

1.1 Schematischer Aufbau eines natürlichen Neurons . . . . . . . . . . . . . . . . . 12


1.2 Schematischer Aufbau eines neuronalen Netzes . . . . . . . . . . . . . . . . . . 13
1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Adaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1 Neuronale Netze in der Biologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


2.2 Modell eines Neuronalen Netzes in der Informatik . . . . . . . . . . . . . . . . 25
2.3 Diskrete Akt.-funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 kontinuierliche Akt.-funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Sigmoide Funktion als Akt.-Funktion . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 Bauplan einer Adaline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 Realisation der OR-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Realisation der AND-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9 Realisation der XOR-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1 Cascade-Topologie: ausgefüllte Quadrate markieren diejenigen Gewichte,


die mit jedem Lernschritt erneut adaptiert werden, leere Quadrate die
“eingefrorenen“ Gewichte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Lernfehlerverlauf für die Tangensfunktion . . . . . . . . . . . . . . . . . . . . . 53
4.3 Approximation der Tangensfunktion von QP . . . . . . . . . . . . . . . . . . . 54
4.4 Approximation der Tangensfunktion von CC . . . . . . . . . . . . . . . . . . . 54
4.5 Approximation der Cosinusfunktion von QP . . . . . . . . . . . . . . . . . . . 55
4.6 Approximation der Cosinusfunktion von CC . . . . . . . . . . . . . . . . . . . . 56
4.7 Seitenansicht der betrachteten Spiralen . . . . . . . . . . . . . . . . . . . . . . 56
4.8 Draufsicht der betrachteten Spiralen . . . . . . . . . . . . . . . . . . . . . . . . 56
4.9 Draufsicht der Approximation der Spiralen für BP . . . . . . . . . . . . . . . . 57
4.10 Seitenansicht der Approximation der Spiralen für BP . . . . . . . . . . . . . . 58
4.11 Draufsicht der Approximation der Spiralen für CC . . . . . . . . . . . . . . . 58
4.12 Seitenansicht der Approximation der Spiralen für CC . . . . . . . . . . . . . . 59

5.1 Die Individuen mit hoher Fitness f1 und f2 haben deutlich bessere Chancen zur
Reproduktion ausgewählt zu werden, als die Individuen mit geringer Fitness
f3 und f4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Darstellung des Prinzips des one-point-crossovers. . . . . . . . . . . . . . . . . 66
5.3 Darstellung des uniform crossovers. Aus zwei Eltern-Individuen wird nur
ein Nachkomme erzeugt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7
8 ABBILDUNGSVERZEICHNIS

5.4 Das vierte Gen wurde zur Mutation ausgewählt und seine Allele mit der
des Nachbargens getauscht. pm bezeichnet die Wahrscheinlichkeit, mit der ein
bestimmtes Gen mutiert wird. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 Das vierte Gen wurde zur Mutation ausgewählt und seine Allele gekippt. pm
bezeichnet die Wahrscheinlichkeit, mit der ein bestimmtes Gen mutiert wird. 67
8.1 Jordan network with connections between the output cells and the context
cells. The context cells have direct feedback connections. Source: [Zel94, p. 138.] 96
8.2 Elman network. The context cells are connected with the cells of the hidden
layer and have no direct feedback connections. Source: [Zel94,p.141]. . . . . . 97
8.3 Hierarchical Elman network with two hidden layers Source: [Zel94, p.142]. . . 98
8.4 Screenshot of the Stuttgart Neural Network Simulator. There are five control
panels: The display window, the log, the control panel, the error graph and
the analyser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.5 Pattern file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.6 The process of building, training and testing a neural network . . . . . . . . . 102
8.7 Results of the forcasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.8 Correlation coefficients of business climate indicators . . . . . . . . . . . . . . . 108
8.9 Time lags with the highest correlation coefficients for each data series . . . . . 110
8.10 Results of the neural network for different input sets . . . . . . . . . . . . . . . 111
8.11 Results of the buy signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.12 Results of the sell signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.13 3-month forecast of the DAX: The shading of the background indicates the trend 113
Tabellenverzeichnis

7.1 Bedingte Verteilung des Kreditwerts in einem Jahr zum Zeitpunkt t . . . . . . 90


7.2 Bedingte Verteilung des Verlustes in einem Jahr zum Zeitpunkt t . . . . . . . 90

9
10 TABELLENVERZEICHNIS
Kapitel 1

Grundlagen künstlicher neuronaler Netze

von Roman Brosowski

1.1 Einführung und Motivation

Ein in einer Bank alltägliches Vorkommnis ist das Einreichen eines Kreditantrags. Im
klassischen Fall geht ein Kunde zu einer Filiale einer Bank und reicht den Antrag bei dem
dafür zuständigen Sachbearbeiter ein.
Dieser Sachbearbeiter wird nun mit einer Vielzahl von Daten konfrontiert. Das könnten
beispielsweise Kreditbetrag, Laufzeit sein, aber auch zusätzliche Informationen wie Wohnort,
Dauer der Kundenbeziehung, Auskünfte bei Schufa, Infoscore oder bei Firmen Auskünfte
von entsprechenden Ratingagenturen, direkt personenbezogene Daten wie Alter, Geschlecht,
berufliche Tätigkeiten sein. Auch ist denkbar, dass sich der Sachbearbeiter von dem Aussehen
der Person beeindrucken lässt.
Nachdem der Sachbearbeiter nun mit den Daten vertraut ist, muss er anfangen, diese zu
prüfen und zu bewerten. Dabei muss er selbsttätig gewichten, welche Daten einen größeren
Einfluss auf die spätere Vergabe ausüben und welche womöglich überhaupt keinen Einfluss
auf eine Vergabe haben.
Die letztendliche Entscheidung des Sachbearbeiters ist sozusagen digital: entweder lehnt er
den Kreditantrag in seiner bisherigen Form ab, oder er lässt ihn passieren und gewährt den
gewünschten Kredit.
Aus Sicht der Banken ist es nun wünschenswert, dass alle Bearbeiter ungefähr den gleichen
Standard haben, so dass eine Person bei allen Filialen mit den gleichen Chancen an einen
Kredit herankommt. Dabei ist allerdings auch entscheidend, dass die vorhandenen Daten
entsprechend ihrer tatsächlichen Relevanz gewichtet werden, keine, womöglich persönlich
geprägten, Präferenzen eine Rolle spielen und zudem aus Erfahrungswerten gelernt wird.

11
12 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

Abbildung 1.1: Schematischer Aufbau eines natürlichen Neurons

Damit diese Ziele der Bank vom Sachbearbeiter erreicht werden können, stellt sie ihm ein
Hilfsmittel zur Verfügung, welches sich um den Kreditantrag kümmern kann: ein Gehirn.
Auf den ersten Blick mag das etwas ungewöhnlich sein, allerdings ist die Arbeitsweise eines
Gehirns für die Problematik Bewertung eines Kreditantrags durchaus brauchbar. Diese unterteilt
sich in drei Schritte.
Am Anfang steht die Informationsaufnahme. Diese erfolgt bei einem Lebewesen über die
Sinne. Die Informationen werden dann über Nervenbahnen zum Gehirn geleitet. Dieses
verarbeitet sie dann, kann dabei auf schon erlernte Muster zurückgreifen oder durch das
Sammeln von Erfahrungen neue bilden. Als letzter Schritt erfolgt dann eine Ausgabe,
beispielsweise in Form einer Entscheidung oder einer Handlung.
Von daher ist es von Interesse, sich die Arbeitsweise und den Aufbau eines Gehirns, also eines
neuronalen Netzes, etwas genauer anzuschauen.

1.2 Grundlegender Aufbau eines neuronalen Netzes

1.2.1 Das natürliche Neuron

Das kleinste Element in einem neuronalen Netz ist das Neuron. Seine grundlegende
Arbeitsweise unterscheidet sich kaum von der des oben beschriebenen Gehirns. Die
Hauptbestandteile des Neurons sind: Axon, Soma, Dendrit. Die Bestandteile des Systems
dienen der Eingabe, Verarbeitung und Ausgabe.
Die Aufgabe des Axons liegt darin, die Informationen der dem Neuron vorgelagerten
Neuronen an das Soma weiterzuleiten. Im Soma selber erfolgt eine Informationsverarbeitung
und letztendlich auch eine Ausgabe. Diese leitet das Soma mit Hilfe seiner Dendriten weiter.
An die Dendriten schließen sich die Synapsen an, welche die Schnittstelle zwischen den
einzelnen Neuronen bilden. Zwischen ihnen herrscht ein permanenter Ionenfluss, der die
Informationen übertragen kann.
Wie erfolgt nun die Informationsverarbeitung in einem Neuron?
1.2 Grundlegender Aufbau eines neuronalen Netzes 13

Abbildung 1.2: Schematischer Aufbau eines neuronalen Netzes

Hier gibt es noch keine endgültigen Erkenntnisse, da es vor allem noch an Wissen darüber
fehlt, in welcher Form die Daten aussehen, die zwischen den einzelnen Neuronen hin-
und hergeschoben werden. Die grundlegende Struktur ist allerdings schon hinreichend gut
bekannt:
Das Neuron empfängt Informationen von seiner Vorgängerzelle. Der Fachausdruck für diese
Informationen ist Reiz. Sobald diese Reize einen gewissen Wert (Schwellwert) überschreiten,
sendet das Neuron über seinen Dendriten einen Reiz an seine Nachfolgerzellen ab, d.h. es
feuert.

Für uns relevant bleibt allerdings die Frage, ob man mit einem solchen System arbeiten kann,
oder besser gesagt: ist man in der Lage, mathematische Strukturen mit Hilfe von Neuronen
nachzubilden?

1.2.2 Aufbau eines Netzes

Wie sich schon andeutete, wandern in einem neuronalen Netz die Informationen von
Neuron zu Neuron. Im allgemeinen besitzt ein solches Netz drei Untergliederungen. Eine
Eingabeebene, welche die Daten und Informationen sammelt. In der Verarbeitungsebene
werden diese Daten, wie der Name schon sagt verarbeitet, und dann letzt endlich in der
Ausgabeebene dem Benutzer zur Verfügung gestellt.
Jede Ebene lässt sich durch eine Funktion beschreiben: fein , fakt , faus
Übertragen auf unseren Kreditbearbeiter kann man den Schichten entsprechende Funktionen
zuordnen:

Eingabeebene Der Kreitantrag wird eingereicht.


Verarbeitungsebene Der Antrag wird überprüft.
Ausgabeebene Die Entscheidung wird bekannt gegeben.
14 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

Abbildung 1.3:

1.3 Aufbau eines künstlichen neuronalen Netzes

1.3.1 Der erste Nachbau: das McCulloch-Pitts Neuron

Die ersten konkreten Arbeiten, die sich mit dem Thema Mathematik und Neuronen
befassten, stammen von Warren McCulloch und Walter Pitts1 und wurden Mitte des
20. Jahrhunderts verfasst.
Sie verstanden das Neuron als eine Art binärer Schalter, der entweder an- oder ausgeschaltet
sein konnte. Das Neuron erhält eine Eingabe, die aus einem Vektor besteht, dessen Elemente
entweder 0 oder 1 sind. Als Ausgabe erfolgt ebenfalls entweder eine 0 oder eine 1. Das Neuron
selbst summiert im inneren sämtliche Elmente des Eingabevektors auf und vergleicht diese
mit einem vorgegebenen Schwellenwert S, d.h.

fallssumni=1 xj < S

0
o(x1 , . . . , xn ) = (1.1)
1 fallssumni=1 xj ≥ S

Dieses Neuron ist also sehr einfach aufgebaut, allerdings reicht diese simple Konstruktion
schon aus, um Boolesche Funktionen zu modellieren. Dazu müssen wir es erreichen, mit
diesem Neuron die Funktionen UND und ODER zu modellieren.

1.3.2 Und-Funktion

∧ : {0, 1} → {0, 1}mit(p, q) → p ∧ q

Wir wählen ein Neuron, welches über zwei Eingabeelemente verfügt. Als Schwellwert setzen
wir S = 2 an. Wir können sämtliche denkbaren Ergebnisse in folgender Tabelle abtragen:

1
A logical calculus of the ideas immanent in nervous activity, 1943
1.3 Aufbau eines künstlichen neuronalen Netzes 15

Eingabe Relation zu S Ausgabe MCP-Neuron p ∧ q


P
xi
(0/0) 0 0 0
P
xi < S
(0/1) 1 0 0
P
xi < S
(1/0) 1 0 0
P
xi < S
(1/1) 2 1 1
P
xi > S

1.3.3 Oder-Funktion

∨ : {0, 1} → {0, 1}mit(p, q) → p ∨ q

Wir benutzen das gleiche Neuron wie bei der vorherigen Funktion, nur diesmal ändern wir
den Schwellwert von S = 2 auf S = 1. Dann ergibt sich folgende Funktion:

Eingabe Relation zu S Ausgabe MCP-Neuron p ∧ q


P
xi
(0/0) 0 0 0
P
xi < S
(0/1) 1 1 1
P
xi = S
(1/0) 1 1 1
P
xi = S
(1/1) 2 1 1
P
xi > S

Durch Kombination dieser Funktionen ist man in der Lage, sämtliche denkbaren Funktionen
im Booleschen Raum nachzubilden. Damit haben wir zumindest im Grundsatz gezeigt, dass
man mathematische Funktionen sinnvoll mit einem neuronalen Netz nachbilden könnte.

1.3.4 Verfeinertes Modell des Neurons

Das McCulloch-Pitts Neuron ist sehr einfach gehalten. Um komplexere Aufgaben, schließlich
wollen wir, dass das Netz bei der Kreditvergabe lernen kann, zu bewältigen und später auch
Modifikationsmöglichkeiten im künstliches neuronalen Netz zur Verfügung zu haben, müssen
wir unser Modell des Neurons ergänzen.
Eine erste Neuerung besteht darin, dass wir in Zukunft als Eingaben reele Zahlen zulassen.
Auch denkbar wären komplexe Zahlen.
Eine entscheidende Neuerung besteht jedoch bei der Zerlegung der Neuronen in ihre einzelnen
Funktionen.
16 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

1.3.5 Die Eingabefunktion

Als Gegenstück zu den Axonen und Synapsen des natürlichen Neurons findet man die
Eingabefunktion. Sie leitet die Summe aller gewichteten Eingabewerte (x j wj ) der Neuronen
weiter.

fein (xj , . . . , xn ) = sumnj=1 xj wj (1.2)

1.3.6 Die Aktivierungsfunktion

Die einfachste Aktivierungsfunktion wurde auch schon im Kapitel über die McCulloch-Pitts
Neuronen indirekt angesprochen.


1 fürfein ≥ S
(fakt ◦ fein )(xj , . . . , xn ) = (1.3)
0 fürfein < S

Weitere typische Aktivierungsfunktionen stellen die Identitätsfunktion mit und ohne


Schranken dar. Auch denkbar sind elementare Polynome oder signoide Funktionen.

1.3.7 Die Ausgabefunktion

Die Ausgabefunktion übergibt die u.U. bearbeitete Aktivierung des Neurons als Ausgabewert
an die folgenden Zellen. Oftmals wird für Die Ausgabefunktion die Identitätsfunktion
verwendet.

faus (fakt (x)) (1.4)

1.4 Topologien und Lernverfahren

1.4.1 Topologien

Mit Topologie meint man die Struktur der Verbindungen der einzelnen Neuronen in einem
künstlichen neuronalen Netz. Wie schon im letzten Abschnitt erwähnt, unterliegen alle
Topologien grundsätzlich einer Gliederung in Eingabe-, Verarbeitungs- und Ausgabeschicht.
Bei den Topologien gibt es zwei grundsätzliche Unterscheidungen:

• Neuronale Netze ohne Rückkopplung (feedforward-Netze)


1.4 Topologien und Lernverfahren 17

• Neuronale Netze mit Rückkopplung (rekurrente-Netze)

1.4.2 Netze ohne Rückkopplung

Jedes Neuron leitet den erzeugten Output an nachfolgende Neuronen weiter. Es wird kein
Output an vorhergehende Neuronen zurückgegeben.
Es gibt zwei Varianten solcher Netze: einmal ebenenweise verbundene Netze. Bei diesen wird
der Output von Schicht zu Schicht weitergegeben. Dann Netze mit sogenannten shortcuts.
Hier kann ein Output eine Ebene überspringen und so direkt von der Eingabeschicht zur
Ausgabeschicht weitergeleitet werden.

1.4.3 Netze mit Rückkopplung

Der Output einzelner Neuronen wird teilweise an vorhergehende Neuronen, z.B. sich selbst,
direkt oder indirekt weitergeleitet.
Auch denkbar sind Netze, bei denen Neuronen innerhalb einer Schicht direkt vernetzt sind.
Diese Netze werden als laterale Netze bezeichnet. Eine weitere vorstellbare Topologie wäre ein
vollständig verschaltetes Netz. Durch dieses können durch entsprechende Wahl der Gewichte
wj alle anderen Typen erzeugt werden.

Für welche Topologie man sich letztendlich entscheidet, kann allgemein nicht gesagt werden.
Es kommt auf die jeweilige Aufgabenstellung an.

1.4.4 Lernverfahren

Zusätzlich ist es für eine Bank von Interesse, dass unser Gehirn mit der Zeit lernt, also
aus jedem bearbeiteten Kreditantrag schlauer wird. Es ist also naheliegend, in das Gehirn
auch Lernverfahren zu implementieren. Man kann also ein Lernverfahren als eine gezielte
Selbstmodifikation des künstlichen neuronalen Netzes verstehen.
Welche Modifikationsmöglichkeiten hat nun unser Netz? Denkbar wären folgende:

• Aufbau und Abbau von Verbindungen zwischen den Neuronen


• Modifikation der Gewichte
• Modifikation der Aktivierungsfunktion oder der Ausgabefunktion
• Aufbau und Abbau von Neuronen

Die heute üblichen Lernverfahren lassen sich in drei Gruppen untergliedern:


18 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

• Überwachtes Lernen

• Bestärkendes Lernen

• Unüberwachtes Lernen

1.4.5 Überwachtes Lernen

Ein Lehrer verfügt über eine ausreichend große Anzahl von Tupeln, bestehend aus
Eingabevektoren und den dazu passenden Ausgabevektoren.
In einem ersten Schritt übergibt der Lehrer dem neuronalen Netz einen Eingabevektor und
lässt diesen von dem Netz auswerten. Die Ausgabe des neuronalen Netzes wird nun mit dem
korrekten Ausgabevektor einer Fehlerfunktion übergeben, die anhand dieser Information, das
neuronale Netz modifiziert.
Dieser Vorgang wird solange wiederholt, bis sämtliche Tupel dem neuronalen Netz übergeben
wurden. Die Voraussetzung für diese Art von Lernen ist natürlich, dass entsprechende Tupel
existieren.

1.4.6 Bestärkendes Lernen

Auch in diesem Fall existiert ein Lehrer, der über Tupel verfügt. Der Ablauf ist prinzipiell
gleich dem des überwachten Lernes. Der Unterschied besteht darin, dass dem neuronalen
Netz nun nicht mehr ein korrekter Ausgabevektor zur Verfügung gestellt wird, sondern nur
die Information übergeben wird, ob der vom neuronalen Netz erzeugte Vektor mit dem
tatsächlichen übereinstimmt oder nicht.
In diesem Fall könnte beispielsweise der Kreditsachbearbeiter der Lehrer sein. Er teilt dem
Netz die bisherigen Kredianträge mit und fragt das Netz, ob es den Kredit genehmigen würde
oder nicht. Anschließend teilt er dem Netz mit, ob die Entscheiung korrekt war oder nicht.

1.4.7 Unüberwachtes Lernen

In diesem Fall existiert kein Lehrer. Das Netz soll sich gezielt selbst organisieren und
versuchen, die Daten zu sortieren. Dadurch hat das Netz die flexibelste Grundlage für eine
Organisation, allerdings kann hier ein Lerneffekt auch ausbleiben, wenn die Selbstorganisation
fehlschlägt.
1.5 Adaline und Madaline 19

Abbildung 1.4: Adaline

1.5 Adaline und Madaline

Das einfachste denkbare künstliche neuronale Netz besteht aus nur einem einzelnen Neuron.
Da dieses Netz weder über eine Eingabeschicht noch über eine Ausgabeschicht verfügt, ist
es bei diesem System erforderlich, die Informationen dem Netz codiert als ~x ∈ −1, 1 n Vektor
zu übergeben und seine Ausgabe wieder zu dekodieren. Ein solches Netz bezeichnet man als
Adaline.
Als Eingabe lassen wir, wie schon gesagt, nur -1 und 1 zu.

xj ∈ −1, 1fürj = 1, . . . , n (1.5)

Auch führen wir einen 1-Wert oder auch Bias genannt ein, der an das Neuron eine permanente
positive Eingabe sendet.

Θ = +1

Entsprechend modifizieren wir die Eingabefunktion:

n
X
fein (xj , Θ) = Θ + xj w j (1.6)
j=1

Als Aktivierungsfunktion dient eine einfache Schwellwertfunktion:

fürfakt ≥ S

1
fakt (fein (xj , Θ)) = (1.7)
0 fürfakt < S
20 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

Abbildung 1.5:

1.5.1 Und-Funktion mit Adaline

Wie schon bei den McCulloch-Pitts Neuronen versuchen wir den Booleschen Operator UND
nachzubauen. Dazu nutzen wir eine Adaline, die zwei Eingaben bestehend aus -1 oder 1
erwartet. Die Gewichte seien 0 und 2, der Schwellwert sei 1.1.

Eingabe xj fein faus,ist f aus, soll


(-1,-1) 0,6 -1 -1
(1,-1) 1,0 -1 -1
(-1,1) 1,0 -1 -1
(1,1) 1,4 1 1

Die Adaline teilt den Eingaberaum in zwei Teile. Versuchen wir nun, ob wir auch ODER
realisiseren können.

1.5.2 Oder-Funktion mit Adaline

Die Gewichte sein wieder 0 und 2. Der Schwellwert betrage nun 0.2.
1.5 Adaline und Madaline 21

Abbildung 1.6:

Eingabe xj fein faus,ist f aus, soll


(-1,-1) -0,2 -1 -1
(1,-1) 0,2 1 1
(-1,1) 0,2 1 1
(1,1) 0,8 1 1

1.5.3 XOR als Grenze der Adaline

Mit der Adaline können wir sowohl die UND als auch die ODER Funktion darstellen. Beide
teilen den Ergebnisraum in zwei Teilräume. Stellt sich eine Frage: können wir mit diesem
verbesserten Neuron den Ergebnisraum auch in drei Teile zerteilen?
Eine Zerteilung in drei Teile würde sich bei der entweder oder Funktion, oder kurz XOR
genannt, ergeben. Formell müsste folgendes Gleichungssystem gelöst werden.

−w1 − w2 + Θ ≤ 0 (1.8)
−w1 + w2 + Θ > 0 (1.9)
+w1 − w2 + Θ > 0 (1.10)
+w1 + w2 + Θ ≤ 0 (1.11)

Durch einfaches Umformen und Einsetzen ergibt sich


2Θ > 0und2Θ ≤ 0.
22 Grundlagen künstlicher neuronaler Netze (Roman Brosowski)

Die Adaline ist also nicht in der Lage, diese Aufgabe zu lösen. Es gibt allerdings eine Rettung:
die Multiple Adaline, kurz Madaline.

1.5.4 Madaline

Wir setzen insgesamt drei Adaline zu einer Madaline zusammen. Für den Fall des XORs
benutzen wir in der ersten Schicht ein oder-Adaline und ein negiertes und. Deren Ausgaben
fassen wir mit einem und-Adaline wieder zusammen.
Dieses Konstrukt ergibt folgende Ausgabe:

Eingaben Oder Nicht-Und Oder Und Nicht-Und


(-1,-1) -1 +1 -1
(+1,-1) +1 +1 +1
(-1,+1) +1 +1 +1
(+1,+1) +1 -1 -1

Mit diesem Aufbau haben wir nun das XOR realisisert. Durch Kombination von beliebig
vielen Adalines ist man in der Lage, jede Funktion zu nähern.
Kapitel 2

Grundlagen

von Hans-Peter Ziegler

2.1 Einleitung und Motivation

Die klassischen Programmierstile sind zwar für viele Probleme ausreichend, stoßen aber auch
leider oft an ihre Grenzen.
Beim modularen Programmierstil, wie etwa bei Turbo Pascal, werden vom Anwender
Datenstruktur, Funktionen und ihre Abfolge fest vorgegeben. Kleine Veränderungen der
Problemstellung, sprich der Umwelt, führen aus diesen festen Strukturen heraus und machen
oftmals strukturelle Änderungen am Programm selbst notwendig.
Die objektorientierten Weiterentwicklungen, wie beispielsweise C++, Java usw. erleichtern
das Programmieren und machen die erstellten Programme wartungsfreundlicher. Das
Problem der festgelegten Strukturen, des Unvermögens sich seiner Umgebung anzupassen,
bleibt aber bestehen.
An diesem Schwachpunkt ändern auch regelbasierte Programmierstile nichts, bei denen die
Umwelt mit Hilfe einer Modellwelt durch Fakten und Regeln beschrieben wird. Dies läßt
zwar allgemeinere Problemlösungen zu, unterliegt dennoch einer starken Schematisierung des
Umfeldes.
In all diesen Fällen stimmen die Grenzen des Programms mit denen des Programmierers
überein, da er selbst das Problem bereits in “mundgerechte Happen“ aufschlüsseln muss.
Deshalb war es notwendig ein Programmierverfahren zu entwickeln, das es schafft eine
Problemstellung selbstständig zu analysieren und eine möglichst gute Lösung zu finden.
Neuronale Netze sind ein solcher Ansatz, bei dem das Programm viel Freiheiten besitzt und
durch Lernen selbst seine Struktur aufbaut... Doch dazu später noch mehr!

23
24 Grundlagen (Hans-Peter Ziegler)

Vielleicht ist es an dieser Stelle angebracht ein oder zwei Beispiele zu der oben angesprochenen
Problematik anzureisen. Dazu stelle sich folgendes Problem vor:
Man soll einen Roboter bauen, der beide Arme und Hände unabhängig voneinander zu
bewegen vermag. Das Problem einen Gegenstand zu greifen läßt sich qualitativ leicht
formulieren – wenn es jedoch um die Umsetzung in Bewegungen der einzelnen Gelenke geht,
treten enorme Schwierigkeiten auf, die u.a. darin liegen, dass sich die tatsächliche Situation
von Fall zu Fall ändert und sich der Algorithmus auf diese Änderungen einstellen muss. Der
Roboter muss also in gewisser Weise “flexibel“ sein, “selbstständig“ Lösungen finden, aus
Fehlern lernen – und das Ganze auch noch in einer akzeptablen Zeit.
Ein weiteres Problem:
Berechnung des momentanen Kurses einer Option, oder des Wertes einer Währung. Selbst
wenn es einen deterministischen Zusammenhang zwischen den Weltdaten und des Kurses gäbe
und dieser bekannt wäre, müssten so viele Daten richtig erfasst und bewertet, d.h. gewichtet
werden, dass jeder noch so große Computer damit überfordert wäre, erst recht wenn sich
die Situationen am Markt von Augenblick zu Augenblick ändern und seine Ergebnisse nach
Möglichkeit in realtime berechnet werden sollen.
Beide Problemstellungen haben eines gemein:
Mit den herkömmlichen Algorithmen würde man sich die Zähne ausbeisen.
Ein weiteres bedeutendes Problem, das zur Einführung der KNN führte lag in der
Notwendigkeit, neue mathematische Methoden zur Approximation ’komplexer’ Funktionen
zu finden. An dieser Stelle wird deutlich erwähnt, dass sich hinter all den Modellvorstellungen
der KNN nichts weiter als Approximationsverfahren verbergen. Diese sollen eine unbekannte
Funktion - die beispielsweise einen Raum in zwei Untermengen (richtig, falsch) unterteilt -
möglichst genau beschreiben.

2.2 Grundidee

Wie so oft, wenn Wissenschaftler ein neues Modell entwickeln, wurde auch hier die Grundidee
aus der Natur abgeschaut.
Vorlage für die KNN bilden die menschlichen Nervenzellen. Diese sind wie folgt aufgebaut:
Eine solche Zelle besteht im Prinzip aus

• dem Zellkörper (Soma), der als Informationsträger dient und im einfachsten Fall die
beiden Zustände ’erregt’, ’nicht erregt’ (also 1 und 0) unterscheidet,
• dem Zellfortsatz (Axon), das den Erregungszustand eines Zellkörpers weiterleitet,

• den Rezeptoren (Dendriten), die die Eingangserregungen aufaddieren und auf den
Zellkörper übertragen.
2.2 Grundidee 25

Abbildung 2.1: Neuronale Netze in der Biologie

Abbildung 2.2: Modell eines Neuronalen Netzes in der Informatik

• der Synapse, die Potenziale zwischen Pri- und Postsynapse über einen funktionalen Spalt
’verarbeitet’ und weiterleitet. Als Pri- bzw. Postsynapse können axonische, dendritische
und speziell als Postsynapse auch somatische Bereiche auftreten.

Die folgende Abbildung zeigt eine mögliche informationstheoretische Abstraktion dieses


Modells.
Ankommende Informationen an werden über die Eingänge (Dendriten) aufgenommen. In den
Synapsen werden diese Daten nach ihrer Wichtigkeit bewertet und entsprechend über die
Gewichte verstärkt oder gedämpft. Alle Informationen addieren sich nun im eigentlichen
Zellkörper auf und ergeben ihren Aktivierungszustand, der wiederum über das Axon an
folgende Zellen weiterübermittelt wird.
Unserem KNN werden die Informationen zur Beschreibung der Umwelt, ähnlich wie bei
unserem Gehirn, in möglichst kleinen Verarbeitungseinheiten eingeggeben. Die Modellbildung
26 Grundlagen (Hans-Peter Ziegler)

erfolgt dann auf einer Beschreibungsebene, die nicht mehr in einem direkten Zusammenhang
mit der Anwendungswelt steht. Das gibt der Verarbeitung Raum zur Interpretation. Somit
wird unser System ’offener’ für andere, ähnliche Situationen.
Diese Simulation kann selbstredend nicht die Leistung des menschlichen Gehirns erreichen.
Dieses hat etwa 1011 Neuronen mit 1015 Verbindungen pro Sekunde.
Das erklärt auch, warum einfache KNN nicht in der Lage sind, menschliche Attribute
wie Kreativität, Phantasie und Assoziationsvermögen angemessen zu simulieren. Bei
modernen KNN werden aberauch bereits diese Hürden genommen,was dazu führt, dass
neue Programme durchaus Verhaltensweisen, die wir auch höheren Lebewesen zuordnen wie
beispielsweise optische Täuschung oder auch kognitive Phänomene wie Konditionierungs- /
Assoziationseffekte (die deutlich höhere Komplexität voraussetzen).

2.3 Aufbau

Um die Funktion eines KNN überhaupt zu verstehen, finde ich es an dieser Stelle nötig,
zunächst auf die wichtigsten Elemente und den Grundaufbau des Netzes einzugehen.

2.3.1 Eingabeschicht

Die Eingabeschicht nimmt Informationen aus der Umwelt auf und ordnet diesen Werte zu,
damit folgende Schichten mit sie verarbeiten können. (z.B. Es werden verschiedenenen Farben,
Zahlen zugeordnet)

2.3.2 Ausgabeschicht

Die Ausgabeschicht wandelt die Ergebnisse am Ende der Berechnung wieder in für den
User handliche Datensätze um. (z.B. Den Zahlen werden wieder die zugehörigen Farben
zugeordnet)

2.3.3 Der Aktivierungszustand

Jede Einzelaktivierung ai einer Verarbeitungseinheit (=Zelle/Neurons) stellt einen Anteil


der Aktivität des Gesamtsystems dar. Diese wird zum Zeitpunkt t mit dem Vektor ~a(t)
beschrieben.
Die Aktivierungszustände können diskrete Werte, also z.B. {0, 1} für {inaktiv, aktiv}
oder {−1, 0, 1} für {nein, indifferent, ja} oder kontinuierliche Werte mit oberer und
unterer Schranke, also z.B. [0; 1], annehmen. Häufig wird dafür eine Sigmoidfunktion
2.3 Aufbau 27

Abbildung 2.3: Diskrete Akt.-funktion

Abbildung 2.4: kontinuierliche Akt.-funktion

(reelle, differenzierbare, punktsymmetrische, monoton steigende Funktion mit beschränktem


Bildbereich) gewählt.
Die Aktivität jeder Zelle wird bestimmt vom Vorzustand (Voraktivierung, Bias) der Zelle
und den Zuständen der übrigen Zellen im Netz.
ai (t) = fakt (neti (t), ai (t − 1))

Die Aktivierung aller Zellen im Netz wird als Netzaktivität neti (t) bezeichnet. Als
Aktivierungsfunktion wird meist eine Schwellwert- oder Treppenfunktion benutzt, da man
mit ihr Verarbeitungseinheiten mit diskreten Aktivierungszuständen erzeugen kann:

2.3.4 Die Ausgaberegel

Die Ausgabefunktion oi (t) des i-ten Neurons ist abhängig vom Aktivierungszustand ai (t) aller
übrigen Neuronen
oi (t) = faus (ai (t)).

Im einfachsten und wohl häufigsten Fall wird für die Ausgabefunktion die Identität zum
Aktivierungszustand gewählt, was Rechenaufwand vermeidet undzumindest in diesem Schritt
28 Grundlagen (Hans-Peter Ziegler)

Abbildung 2.5: Sigmoide Funktion als Akt.-Funktion

Zeit einspart. Deshalb wird in der Literatur des öfteren gar nicht erst zwischen Aktivierungs-
und Ausgabefunktion unterschieden.
In manchen Fällen kann es jedoch von Nutzen sein, die nichtlineare Aktivierungs- in eine
lineare Ausgabefunktion zu modellieren.
Wann aber genau welche Funktion die bessere ist, hängt von dem jeweiligen Problem ab und
ist wiedereinmal eine Frage der Erfahrenheit des Programmierers.

2.3.5 Das Fehlermaß

Damit das KNN lernen (seine Struktur verändern) kann, muss es nach einem Probedurchlauf
Rückmeldeung erhalten über die Richtigkeit seiner Ergebnisse.
Dazu führen wir das Fehlermass ein. Dieses ist ein Maß für die Abweichung des Testregebnisses
vom realen Wert.
Bei Ausgabeeinheiten ist es leicht das Fehlermaß durch den Vergleich des Ist- mit dem Sollwert
zu erhalten.
Interessiert man sich für einzelne Verarbeitungsschichten, so muss der Gesamtfehler auf die
einzelnen Schichten verteilt werden. Hier gibt es wieder eine sehr einfach, dafür aber auch
ungenau Möglichkeit: Der Gesamtfehler wird durch die Anzahl der Schichten (bzw. Neuronen
- je nach Problem) geteilt und anschließend dieser Anteil jeder Schicht (jedem Neuron)
zugeordnet.
Zum Verständnis sollte diese Variante genügen, da es mir eh nicht möglich ist, auf alle weiteren
und teilweise extrem aufwendigen Berechnungen zur Fehlerverteilung einzugehen.
2.4 Allgemeine Eigenschaften 29

2.3.6 Synapsen und Gewichte

Zwei Neuronen i und j sind jeweils über die Gewichte (wij ) und (wji) miteinander verbunden.
Die Ausgabe des i-ten Neurons wird also als gewichtete Eingabe des j -ten Neurons mit dem
Gewicht (Faktor) wij gewertet und umgekehrt.
Je größer das Gewicht zwischen den beiden Zellen ist, desto stärker trägt die Information
der feuernden Zelle zur Aktivität der empfangenden Zelle bei. Ist das Gewicht negativ, so
wirkt die Vorgängerzelle hemmend auf ihren Nachfolger. Bei wij = 0 besteht keine Verbindung
zwischen den beiden Neuronen.
Der Schwellwert Θi (Threshold, Bias) gibt die Untergrenze an, ab der ein Neuron aktiviert
wird. Dieser läßt sich als Gewicht einer Zelle mit der Aktivität 1 (On-Neuron) auffassen,
welche mit dem entsprechenden Neuron verbunden ist.

2.3.7 Netzaktivität

Als letzte größe steht nun noch die Netzaktivität aus. In ihr soll, wie der Name schon sagt,
die Aktivität des gesamten Netzes angegeben werden. Diese setzt sich aus den Aktivitäten
zwischen den einzelnen Zellen, also der Outputgrößen der Zellen jeweils bewertet mit den
Verbindungsgewichten zu den Nachfolgezellen.

X
netj = oi wij
i

2.4 Allgemeine Eigenschaften

Bei den allgemeinen Eigenschaften ist zunächst die Robustheit zu positiv zu nennen.
Durch die Zusammenarbeit vieler Neuronen führen Ausfälle oder die Fehlfunktion einzelner
Neuronen nicht zum Zusammenbruch des ganzen Systems, sondern nur zur schrittweisen
Abnahme der Leistung.
Dies kann man sich mit der Fehlerfunktion vor Augen führen, bei der das Zusammenspiel
aller Fehler der einzelnen Neuronen den Gesammtfehler bilden. Bei einer großen Anzahl
von Neuronen hat dann der Fehler einer einzelnen Zelle keinen grossen Einfluss auf das
Gesammtergebnis.
Darüberhinaus ermöglicht die aus der Struktur des Modells resultierende Parallelisierbarkeit
die Verteilung des Rechenaufwands auf mehrere Prozessoren.
Und nun noch die dritte und wichtigste Eigenschaft: Lernenfähigkeit
Das System bekommt vom ’Schöpfer’ lediglich Eingangsdaten und die gewünschte bzw.
erwartete Reaktion zur Verfügung gestellt. Iterativ wird das Netz so lange trainiert, bis es mit
30 Grundlagen (Hans-Peter Ziegler)

einer Handlungsvorschrift endlich ein vom Programmierer vorgegebenes ’erlaubtes Fehlermaß’


unterschreitet. Dieses Fehlermaß dient dem Programm als hinreichende Bedingung für
eine stabile Konfiguration. Somit ist keine explizite Eingabe der einzelnen Parameter der
Verbindungsstruktur zwischen den einzelnen Neuronen erforderlich.

2.5 Lernverfahren

Unter Lernen wird der Vorgang der Modifikation des Netzes bzw. der Gewichte zur
Minimierung einer Fehlerfunktion f : Rd ⇒ Rc verstanden. Dazu werden dem Netz
Trainingsdaten (Inputdaten aus dem Rd und Outputdaten des Rc) angeboten und die
Reaktion bewertet. Dabei wird man sich im allgemeinen auch mit einem lokalem Minimum
zufrieden geben müssen, wobei die ’Güte’ von Fall zu Fall vom Programmierer neu festgelegt
werden kann. Dabei spielen Erfahrungswerte eine große Rolle.
In der informationtheoretischen Forschung der letzten fünfzig Jahre haben sich verschiedene
Lernstrategien herausgebildet. Diese lassen sich Beispielsweise in Überwachtes Lernen, Lernen
durch bestärkung und Unüberwachtes Lernen kategorisieren:
Wird dem Netz genau mitgeteilt, was es lernen und später repräsentieren soll, bezeichnet
man das mit Überwachtem Lernen. Hier kann der Programmierer noch recht viel Einfluß
auf die Struktur des KNN nehmen und die Testdaten sehr genau durch die Ausgabefunktion
beschrieben werden. Im Gegenzug neigt dieses Verfahren allerdings zum Auswendiglernen
und büsst so, viel von seiner flexibilität ein. Diese Methode kann etwa mit dem Lernen von
Vokabeln verglichen werden.
Beim Lernen durch Bestärkung erhält das Netz lediglich Rückmeldung über sein
Verhalten, d.h. nur die Ausgabe des KNN wird bewertet, nicht jedoch die Netzaktivität
einzelner Schichten. Hierdurch erhält das Programm mehr Freiheit, gleichzeitig verliert der
Programmierer aber die mörglichkeit eben auf die einzelnen Schichten einzuwirken und eine
Problemstelle zu lokalisieren.
Als Beispiel sei an die Bewertung der Fähigkeiten eines Spielers erinnert. Diese äußern sich
darin, ob er häufiger gewinnt oder verliert. Eine Auskunft über seine angewendeten Methoden
wird damit jedoch nicht getroffen.
Demgegenüber beobachtet das System beim sogenannten Unüberwachten Lernen seine
Ergebnisse eigenständig und zieht aus ihnen selbstständig Schlüsse. Dieser Stil führt meines
Erachtens zu den flexibelsten Konfigurationen, was sich aber negativ auf entweder die
genauigkeit im Einzelfall oder die Lernzeit auswirkt.
Als alternative Möglichkeit der Kategorisierung bietet sich eine Unterscheidung der einzelnen
Lerntypen nach ihrem Einfluss auf die Netzstruktur an.
Beim Konstruktiven Lernen ändert sich die Netzstruktur durch Hinzufügen und Entfernen
von Komponenten. Es können also neue Verbindungen zwischen bereits existenten
Neuronen geschaffen oder alte unterbrochen, zusätzliche Neuronen, ja ganze Schichten neu
hinzukommen oder eliminiert werden.
2.6 Topologie 31

Sind hingegen bereit von vornherein mehr als genug Neuronen im Netz integriert und alle mit
einander verbunden, so lässt sich über die Verbindungsgewichte Einfluß auf die Netzstruktur
nehmen. Dies geschieht in dem man Gewichte ’0’ setzt, um so die zugehörige Verbindung
zu unterbrechen, bzw. den Wert von ’0’ ändert, um diese Verbindung zu aktivieren. Diese
Methode bezeichnet man als Parameterschätzung.

2.6 Topologie

Je nach Informationsfluss innerhalb des Netzes lassen sich grob zwei Topologien
unterscheiden.
Feed-forward Netze übermitteln Informationen immer nur in eine Richtung, also stets an
nachfolgende Schichten. Bei ihnen sind Verbindungen zu vorgelagerten Zellen ausgeschlossen.
Feed-backward Netze hingegen ermöglichen Verbindungen von einer Schich zu beliebigen
Vorgängerschichten. Hier muss auf den zeitlichen Ablauf im Netz geachtet werden, damit
jede Zelle zu jedem Zeitpunkt mit den momentan richtigen Informationen versorgt wird.
Zwei bekannte Typen dazu sind:
Rekurrenten Netzen, bei denenZellen Verbindungen zu Zellen in früheren Schichten besitzen,
wodurch Rückkopplungen und Zyklen möglich werden.
Symmetrischen Netzen, sog. Hopfield - Netzen, bei welchen jede Verbindung mit gleichem
Gewicht auch in umgekehrter Reihenfolge vorhanden ist. Ihre Eigenschaften können zur
Implementierung oder Berechnung von Näherungslösungen verwendet werden.

2.7 Adaline und Madaline

Die einfachste Form eines Neuronalen Netzes besteht aus einem einzelnen Neuron ohne Ein-
und Ausgabeschicht. Die Informationen werden also, bereits bewertet, direkt in das Neuron
eingegeben. Dieses liefert mit Hilfe seiner so erreichten Aktivität eine Ausgabe, die noch vom
User zu interprtieren ist.
Zusätzlich werden nur zwei mögliche Aktivierungszustände zugelassen

ai = ±1.

Damit ergibt sich die Netzaktivität zu


n
X
net = ai wi + Θ.
i=1
32 Grundlagen (Hans-Peter Ziegler)

Abbildung 2.6: Bauplan einer Adaline

Aktivierungsfunktion: (
+1 : net > 0
a=
−1 : net ≤ 0
Damit lässt sich ein logisches AND darstellen:
Sind z.B. alle Gewichte 0.1 und der Schwellwert -0.1, so ergeben sich folgende
Aktivierungszustände.

Eingabeaktivierung net Ausgabe Sollwert


-1 / -1 -0.3 -1 -1
-1 / +1 -0.1 -1 -1
+1 / -1 -0.1 -1 -1
+1 / +1 +0.1 +1 +1

Ebenso können OR, NAND und NOR erzeugt werden. XOR jedoch stellt bereits ein nicht
mehr lösbares Problem dar, was sich aus dem dazugehörigen Gleichungssystem schnell
erkennen läßt:

Eingabeaktivierung XOR NXOR


-1 / -1 -1 +1
-1 / +1 +1 -1
+1 / -1 +1 -1
+1 / +1 -1 +1
2.7 Adaline und Madaline 33

Abbildung 2.7: Realisation der OR-Funktion

Abbildung 2.8: Realisation der AND-Funktion

Damit ergibt sich das gesuchte Gleichungssystem


−w1 − w2 + Θ ≤ 0 (2.1)
−w1 − w2 + Θ > 0 (2.2)
+w1 − w2 + Θ > 0 (2.3)
+w1 + w2 + Θ ≤ 0, (2.4)
welches nicht lösbar ist, da (1) + (4) =⇒ 2Θ ≤ 0, jedoch (2) + (3) =⇒ 2Θ > 0 gilt.
An der Lage der gewünschten Ausgabezustände in der (x1 , X2 ) Ebene erkennt man die
separierende Eigenschaft der Adaline durch eine einzige Gerade. Dies ist natürlich im Fall
von XOR nicht mehr möglich.
Eine Adaline kann also eine gegebene Menge nur linear in 2 Untermengen separieren. Es muss
möglich sein die beiden Ergebnismengen durch eine Hyperebene, mit w~ t~x = 0, zu trennen.

Abbildung 2.9: Realisation der XOR-Funktion


34 Grundlagen (Hans-Peter Ziegler)

In unserem Fall des XOR erreicht man dies, indem man zwei Adaline parallel schaltet. Die
erste produziert ein OR, die zweite ein NAND. Dahinter wird noch ein AND geschaltet und
man erhält das gewünschte Ergebnis:

Eingabe OR NAND ’OR’ AND ’NAND’


-1 / -1 -1 +1 -1
-1 / +1 +1 +1 +1
+1 / -1 +1 +1 +1
+1 / +1 +1 -1 -1

Dieses Verfahren nennt man Multiple Adaline, kurz Madaline

2.8 Adaption der Adaline

Nach dem der Aufbau der Adaline kurz erläutert wurde, gehen wir zum eigentlich interessaten
Teil, dem Lernen bzw. der Adaption der Adaline über.
Wie oben angesprochen, unterteilt die Adaline eine gegebene Menge A in zwei Untermengen,
im folgenden mit A− und A+ bezeichnet. Alle Elemente der Menge A− führen zu net = −1,
alle Elemente der Menge A+ zu net = +1.
Somit ergibt sich: n
asoll = +1 : a ∈ A+ −1 : a ∈ A−

Den Gewichten und dem Schwellwert werden zufällig Werte zugeordnet. Der Bereich in dem
diese Werte gewählt werden ist problemabhängig und es kommt auf die Erfahrungen an, die
der Programmierer bislang gesammelt hat. In den meisten Fällen werden die Gewichte aber
in einer Größenordnung um 10−1 festgelegt.
Die Abweichung von net zu asoll ist dann:

δges = asoll − net

Dieser Fehler wird gleichmäßig auf alle Gewichte verteilt:

δ = δges /(n + 1)

n+1 ergibt sich aus den n Eingabevektoren + dem Schwellwert!


Dies bewirkt bei den Gewichten folgende Änderungen:

wi = wi + ηai δ

Θ = Θ + ηδ
2.9 Das Perzeptron 35

η ist dabei der Lernfaktor, der angibt in welchem Maß der Fehler Einfluss auf das neue
Gewicht nimmt.
Dieser Vorgang wird nun solange wiederholt, bis alle ist-Werte den soll-Werten entsprechen.
Dabei wird δ aber in den meisten Fällen niemals genau Null werden, da eine genaue Adaption
nicht möglich ist.
So auch im einfachen Beispiel AND, das folgendes Gleichungssystem ergibt:

−w1 − w2 + Θ = −1 (2.5)
−w1 + w2 + Θ = −1 (2.6)
+w1 − w2 + Θ = −1 (2.7)
+w1 + w2 + Θ = +1 (2.8)

Das GLS führt mit (5) + (6) zu Θ = 0 und nach (7) + (8) zu Θ = 2.

2.9 Das Perzeptron

Das Perzeptron funktioniert vom Ansatz her ähnlich wie die Adaline.
Im Gegensatz zur Adaline jedoch werden die Eingabevektoren zunächst in der Eingabeebene
codiert und dann erst an die Verarbeitungseinheit übermittelt.
(Adaline besteht nur aus einer Zelle. Der User muss die Informationen als bereits codiert
eingeben!)
Zudem wird bei der Fehlerermittlung der Adaption die Sollaktivität mit der Aktivität des
Perzeptrons verglichen:
δ = asoll − a, mit
(
net : net > 0
a=
0 : sonst
Wird hier der Lernprozess wiederholt, so stellt sich irgendwann eine stabile Konfiguration
ein!

2.10 Stochastische Mustererkennung mal anders...

Klein-HaPe geht in den Zoo. Im Zoo gibt es viele Tiere.


Alle Tiere in den Grenzen des Zoos seien Elemente = Ereignisse xi der Menge Ω. (i = 1, 2, ..., n)
36 Grundlagen (Hans-Peter Ziegler)

Im Zoo gibt es ausschliesslich Affen, Bären, Vögel und Schlangen.


Jede dieser Tierarten bildet eine Teilmenge Ωk der Gesamtmenge Ω (k = 1, 2, .., m).
Somit könnten alle Affen in der Menge Ω1 , alle Bären in der Menge Ω2 u.s.w. liegen.
Die Mengen sind selbstverständlich disjunkt, da es selten vorkommt, dass sich Bären mit
Vögeln paaren. Somit kann also kein Ereignis in 2 Klassen liegen.
Klein-HaPe sucht sich nun irgend ein Tier aus, beispielsweise den großen Braunbären. Die
Wahrscheinlichkeit, dass er sich gerade für ihn entschieden hat sei PΩ (xi ) und ist natürlich
eine andere, als die für die kleine Eule, die sich im Baum versteckt.
Die Wahrscheinlichkeit dafür, dass das willkürlich gewählte Tier aus der Klasse Ωi stammt,
sei PΩ (ωi ).
ωi seien dabei die klassifizierten Elemente der Menge Ωi .

Sind in unserem Zoo also 25 Tiere und 10 davon Affen, so währe PΩ (ω1 ) = 10/25 = 0, 4.
Klein HaPe möchte wissen, was für ein Tier er sich da ausgesucht hat, damit er weiss, ob
er es streicheln kann. Dafür hat er eine Rechenmaschine. Jede Zelle dieser Rechenmaschine
kann zwischen 2 Ereignissen unterscheiden. Dementsprechend könnte es 4 Zellen geben:
Die erste unterscheidet zwischen Affe und nicht Affe.
Bei Affe sendet sie die Info an die Ausgabe und Klein-HaPe sieht, dass es ein Affe ist. Bei
nicht Affe bleibt sie inaktiv.
Die zweite Zelle unterscheidet dann zwischen Bär und nicht Bär u.s.w.
Ist unser Ereignis xi nun in der Menge Ωk , so wird es von einer einzelnen Zelle mit der
Wahrscheinlichkeit P (xi |ωk ) an Klein-HaPe weitervermittelt.
Klein HaPe interessiert jetzt natürlich die Wahrscheinlichkeit, dass unser xi auch wirklich in
seine zugehörige Klasse Ωk eingeordnet wurde.
Diese Wahrscheinlichkeit lässt sich mit P (ωk |xi ) ausdrücken.
Hat Klein-HaPe nun viele Infos über den Zoo, so ist PΩ (xi ) bekannt, genauso wie PΩ (ωk ).
Auch die Wahrscheinlichkeit, dass unser xi auf die Klasse Ωi produziert wird, also P (xi |ωk )
ist ermittelbar (Durch Testreihen).
Somit kann er mit der Bayes-Regel aus seiner Statistik A Vorlesung:
P (y|x)P (x) = P (x|y)P (y)

die gesuchte Wahrscheinlichkeit P (ωk |xi ) ermitteln:

P (ωk |xi ) = P (xi |ωk )PΩ (ωk )/PΩ (xi )


2.10 Stochastische Mustererkennung mal anders... 37

Seine Maschine ist dann gut, wenn sie für jedes xi ∈ Ω, die Klasse Ωk wählt, für die P (ωk |xi )
maximal ist.
Sind die Daten jedoch unbekannt, so ist folgender Weg denkbar:
rkl ∈ R sei die Strafe dafür, dass die Maschine unser Tier xi in die Klasse Ωk , statt Ωl einordnet.

So ist rkl für ’Affe’ statt ’Vogel’ relativ klein, denn ob er das eine oder andere Tier streichelt,
macht keinen grossen Unterschied.
Teilt die Maschine hingegen das Tier in die Klasse Affe ein, statt Bär, so sollte rkl etwas
grösser sein und etwa seinen Armverlust bewerten.
Das Risiko, das Klein-HaPe also in einem bestimmten Fall eingeht, ist:
X
rk (ωk |xi ) = rkl p(ωl |xi )
l

Das Gesamtrisiko, für alle Fälle beträgt dann:


XZ
R(w) =< rk (ωk |xi ) >= rkl p(ωl |xi )p(xi )dxi
k,l Ωk

, da Z
Erwartungsoperator < f (x) >= f (x)p(x)dx

Die Beziehung p(ωl |xi ) = 1 ergibt sich direkt aus der obigen Bayes - Regel.
P
l

Daraus folgt:
XZ
R(w) = rk p(xi )dxi
k Ωk

Diese Risiko-Funktion sollte nun minimiert werden, damit Klein-HaPe ruhigen Gewissens
endlich losstreicheln darf.
38 Grundlagen (Hans-Peter Ziegler)
Kapitel 3

Das Backpropagation-Verfahren

von Jakob Janiszewski

3.1 Grundlagen

Vorab werden einige verwendete Zeichen kurz erklärt.

netpj (t) net input, also Eingangswert der Zelle j im Pattern p zum Zeitpunkt t

opj (t) net output, also Ausgangswert der Zelle j im Pattern p zum Zeitpunkt t

ωij (t) Gewicht der Zelle j bzgl. der Vorgängerzelle zum Zeitpunkt t
Fact Aktivierungsfunktion einer Zelle
E p Fehlerfunktion des Patterns p
tpj vom User errechneter Lösungsvektor – Idealwert

η Lernfaktor – Schrittweite der Gewichtsmodifikation


δjp Fehlersignal – gibt den Fehleranteil eines Neurons j des Patterns p am
Gesamtfehler an

Die Ausgangsbasis des Backpropagation-Verfahrens stellen vielschichtige Feedforward-Netze


dar, welche zum überwachten Lernen konzipiert wurden.
Eine Schicht (Pattern) ist eine endliche Anzahl von Neuronen, die untereinander durch Axone
(Verbindungsstränge) verbunden sind und über diese Informationen in Form von Impulsen
übertragen können. Vielschichtig bedeutet in diesem Fall, dass das Netz mindestens eine
verborgene Schicht aufweisen muss, nebst einer Eingabe- und Ausgabeschicht. Feedforward

39
40 Das Backpropagation-Verfahren (Jakob Janiszewski)

bedeutet, dass ein Neuron m an ein nachfolgendes Neuron m + 1 einen Impuls abgeben kann,
dies in umgekehrter Richtung allerdings nicht möglich ist.
Ein elementarer Gesichtspunkt des Backpropagation ist die Lernmethodik des Netzes. Im
Grunde gibt es drei verschiedene Lernstrategien für KNN:

1. Die erste ist das eben schon angesprochene überwachte Lernen. Dabei gibt es einen externen
Lehrer, der dem Netz zu jeder Eingabe die korrekte Ausgabe oder gleich die Differenz dieser
beiden angibt. Anhand dieser Differenz, welche Fehler genannt wird, wird das Netz über eine
Lernregel modifiziert. Diese Technik setzt allerdings voraus, dass Trainingsdaten existieren, bei
denen die korrekte (erwünschte) Ausgabe bereits bekannt ist.
2. Daneben existiert auch das bestärkende Lernen. Im Gegensatz zum überwachten Lernen wird
dem Netz hier lediglich mitgeteilt, ob die Ausgabe richtig oder falsch war, ein Maß für den
Fehler erfährt das Netz nicht.
3. Als drittes gibt es das unüberwachte Lernen. Diese seltene Lernart findet ohne externen Lehrer
statt. Das Netz versucht ohne externe Beeinflussung die präsentierten Daten gemäß vorher
gelernter Strukturen in Äquivalenzklassen aufzuteilen.

Das Backpropagation-Verfahren arbeitet mit dem Eingabe-Verarbeitung-Ausgabe Prinzip.


Das bedeutet, daß das Netz eine externe Information aufnimmt, diese gemäß der
vorprogrammierten Prozeduren bearbeitet und das Ergebnis wieder an einen externen
Abnehmer liefert. Jeder dieser Schritte besitzt im Backpropagation-Verfahren eine eigene
Schicht.

3.1.1 Die Eingabeschicht

Die Neuronen der Eingabe-Schicht besitzen keine Eingangsgewichte, jedes Neuron gibt nur
den vorher extern präsentierten Eingangsvektor weiter. Somit fungiert jedes Neuron dieser
Schicht als Schnittstelle mit der Umwelt, aus der Reize in Form von Vektoren an ein
verarbeitendes Neuron weitergegeben werden.
net1 = oUmwelt

3.1.2 Die Verarbeitungsschicht

Schichten aus verarbeitenden Neuronen heißen Verarbeitungsschichten oder


verborgene Schichten (hidden layers). Jedes Neuron solcher Schichten besteht aus
drei Funktionseinheiten. Als erstes wird mittels der Propagierungsfunktion die
Eingangsinformation des Neurons aus der gewichteten Summe der Outputs der
Vorgängerneuronen berechnet. Das Neuron ist nun im sogenannten Propagierungszustand.
X
netj (t) = oi (t)ωij (t)
i
3.2 Backprop-Verfahren 41

Als zweites ermittelt die Aktivierungsfunktion aus dem Propagierungszustand den


Aktivierungszustand. Somit werden die Eingangsinformation und die aktuelle Aktivität a(t)
zu einer neuen Aktivität a(t + 1) kombiniert – als Aktivierungsfunktion werden im Falle der
Backpropagation oftmals sigmoidale Funktionen gewählt.

1
Snetj =
1 + e(−netj )

Sie sind hinreichend glatt und lassen sich dementsprechend problemlos ableiten – eine
Bedingung für die Anwendung des Backpropagation-Verfahrens.
Da das Neuron nun einen neuen Aktivierungswert hat, wird es diesen mit Hilfe
einer Ausgabefunktion an nachfolgende Neuronen weitergeben. Als Ausgabefunktion wird
zweckmäßigerweise häufig die identische Abbildung gewählt. Somit gilt also:

oj = Fact (netj )

Im allgemeinen ist die Anzahl der verborgenen Schichten variabel. Falls sie jedoch zu klein
gewählt wird, vermag das Netz das Problem nicht zu lösen, ist sie zu groß, entsteht das schon
früher erwähnte Prinzip des Overtraining.

3.1.3 Die Ausgabeschicht

Ein Ausgabeneuron funktioniert analog zu einem Verarbeitungsneuron, mit dem Unterschied,


dass der Abnehmer der Ausgabe der User ist und kein weiteres Neuron. Somit fungiert ein
jedes Neuron der Ausgabeschicht als erneute Schnittstelle zwischen dem Netz und der Umwelt.
Die Arbeitsweise eines Ausgabeneurons ist jedoch nicht vergleichbar mit der Arbeitsweise
eines Eingabeneurons, da dieses, wie erwähnt, keine Gewichte besitzt und lediglich als ’reine’
Schnittstelle zwischen User und Netz gilt, wohingegen das Ausgabeneuron zwar auch eine
solche Schnittstelle darstellt, jedoch einen verarbeitenden Charakter aufweist, da es, so wie
die verarbeitenden Neuronen, Gewichte besitzt und sich somit der Aktivierungszustand des
Neurons bei jedem Impuls ändert.

3.2 Das eigentliche Verfahren

Da nun die einzelnen Schichten definiert wurden, wenden wir uns dem Verfahren an sich zu.
Das Backpropagation-Verfahren gliedert sich in drei Stufen.
42 Das Backpropagation-Verfahren (Jakob Janiszewski)

3.2.1 Der Forward Pass

Beim Forward Pass wird der Eingabeschicht des Netzes ein beliebiger Eingabe vektor v ∈ R n
(genannt: Muster) präsentiert. In der ersten verborgenen Schicht wird dann für jedes Neuron
eine Aktivierungsfunktion ermittelt
1
Snetj =
1 + e−c netj

und dessen Ausgabefunktion (Aktivierungsfunktion) ergibt den Eingangsvektor der folgenden


Neuronen der nächsten Verarbeitungsschicht bis hin zur Ausgabe w ∈ Rm der Ausgabeschicht.
Entsprechend führt man dies für ein zweites Muster durch, bis alle erwünschten Muster in das
Netz eingegeben wurden. Alle Muster zusammen heißen Trainingsmenge. Es ist auffällig, dass
in der obigen Formel eine Konstante c auftaucht. Sie stellt einen frei wählbaren Faktor dar,
der die Steilheit der Aktivierungsfunktion bestimmt. Je größer c gewählt wird, desto ähnlicher
ist diese Funktion der Treppenfunktion. Die Wahl von c hängt vom zu bearbeitenden Problem
ab.

3.2.2 Die Fehleranalyse

Zum Trainieren des Netzes werden die Soll-Ausgabewerte mit den Ist-Ausgabewerten
jedes Eingabemusters verglichen. Dies läßt sich theoretisch für jede Schicht durchführen.
Mit anderen Worten wird für jede einzelne Schicht der entsprechende Fehler berechnet.
Theoretisch deswegen, weil es nicht möglich ist, die ausgehenden Informationen einer Schicht
separat zu behandeln, es wird vielmehr versucht, mithilfe dieser Darstellung die letztendliche
Zusammensetzung des Gesamtfehlers zu vermitteln. Der Fehler ergibt sich dann zu
m
1X p
p
E = (tj − opj )2 .
2 j=1

Der sich daraus ergebende Gesamtfehler


m
1X
E= (tj − oj )2
2 j=1

heißt mittlerer quadratischer Fehler und ist offensichtlich die Summe der Einzelfehler aller
Schichten. X
E= Ep
p

Die Grundidee dieser Vorgehensweise ist folgende: Berechnet man nach jeder
Gewichtsmodifikation den Gesamtfehler, ergibt sich eine Fehlerfunktion. Das Ziel ist
es nun, ein Minimum dieser Fehlerfunktion ausfindig zu machen, da an dieser Stelle die
Differenz zwischen tatsächlicher und erwünschter Ausgabe folglich minimal ist. Um ein
3.2 Backprop-Verfahren 43

solches Minimum zu finden, bedient man sich der Methode des Gradientenabstiegs. Der
Gradient einer Funktion ist deren erste Ableitung nach den einzelnen Variablen.
Anschaulich betrachtet ändert man nach und nach die einzelnen Gewichte der Neuronen
und bewegt sich dadurch Schritt für Schritt entlang der Fehlerfunktion. Nach jeder
Gewichtsmodifikation ermittelt man den Fehler und analysiert das Verhalten des Gradienten.
Besitzt er eine negative Steigung, befindet man sich auf dem richtigen Weg Richtung
Minimum. Deswegen setzt man den Vorgang fort, bis die Steigung des Gradienten gegen 0
konvergiert. Dies bedeutet dass ein Minimum erreicht wurde, wobei dieses im allgemeinen kein
globales, sondern ein lokales Optimum ist. Das Minimum der Fehlerfunktion aller Gewichte
aller Neuronen eines Patterns erhält man also, indem man den Gradienten der Fehlerfunktion
nach den einzelnen Gewichten bestimmt und die einzelnen Gewichte entsprechend der
Laufrichtung des Gradienten modifiziert.
Zum besseren Verständnis betrachtet man die Modifizierung eines einzelnen Gewichts. Damit
ist der Gradient die erste Ableitung der Fehlerfunktion nach diesem einen Gewicht. Sukzessive
wird nun dieses Gewicht modifiziert und entsprechend das Minimum der Fehlerfunktion
gesucht.
Der eben erklärte Sachverhalt führt zu folgender Formel:
X ∂E p
∆ωij = − η ,
p
∂ω ij

wobei η die Lernrate angibt, also eine Art Schrittgröße, die anzeigt, um welchen Faktor sich
die Gewichtsänderung auf die Konvergenzgeschwindigkeit auswirkt. Wiederum ist die obige
Formel ein rein theoretisches Konstrukt, da man ja, wie erwähnt, den individuellen Fehler
nicht separat für jedes Pattern ermitteln kann und wird lediglich zur Herleitung der folgenden
Formeln verwendet.
Durch Anwendung der Kettenregel ergibt sich
p
∂E p ∂E p ∂netj
= .
∂ωij ∂netpj ∂ωij

Der folgende Ausdruck wird Fehlersignal genannt.


p
∂E p ∂E p ∂oj
= = δjp
∂netpj ∂opj ∂netpj

Er gibt an, inwiefern das einzelne Neuron durch dessen Ausgabe am Gesamtfehler beteiligt
war (credit-assignment-Problem). Hierbei muss man unterscheiden, ob das angesprochene
Neuron ein Ausgabeneuron oder ein verarbeitendes Neuron ist. Der Grund liegt darin,
dass sich der Fehler des Ausgabeneurons direkt aus der Differenz zwischen tatsächlicher
und erwünschter Ausgabe errechnet. Der Gesamtfehler des verarbeitenden Neurons kann
hingegen nur aus den Fehlern aller Nachfolgeneuronen und deren Verbindungsgewichten
ωjk (t) berechnet werden. Folgen mehrere Schichten, so sind die Fehler aller Neuronen der
nachfolgenden Schichten zu summieren, da jede Fehlaktivierung des j -ten Neurons bei allen
44 Das Backpropagation-Verfahren (Jakob Janiszewski)

nachfolgenden Neuronen notwendigerweise einen Fehler verursacht. Für das Fehlersignal


erhält man
∂oj e−netj
=
∂netj (1 + e−netj )2
= Snetj (1 − Snetj ) = opj (1 − opj ).

∂oj
Die Formel ∂net j
ist unabhängig von der betrachteten Schicht, da sie für Ausgabe- sowie
Verarbeitungsneuronen gleich ausfällt:
∂E p
Lediglich bei ∂net p muss man zwischen Verarbeitungs- und Ausgabeschicht unterscheiden, da
j
p
der Fehler E für eine Ausgabeschicht die Differenz zwischen tatsächlicher und erwünschter
Ausgabe ist, wohingegen bei dem Fehler der verarbeitenden Schicht m die Summe der Fehler
der vorhergehenden Schichten m − n mit m ≥ n berücksichtigt werden soll. Dazu muss man
p
∂E p ∂E p ∂oj p
p = p p = δj
∂netj ∂oj ∂netj

entsprechend ableiten.

• Für ein verarbeitendes Neuron ergibt sich

∂E p X ∂E p ∂netp
k
p = p p
∂oj k
∂netk ∂oj
X p ∂ P op ωik
i i
= δk ,
k
∂opj

und damit
∂E p X p
= δk ωjk
∂opj k

Für das Verarbeitungsneuron gilt somit:


X
δjp = opj (1 − opj ) δkp ωjk
k

• Für ein Ausgabeneuron gilt für den linken Ausdruck:


∂E p p p
p = tj − o j .
∂oj

Schließlich ergibt sich


δjp = opj (1 − opj )(tpj − opj )

oder zudammenfassend
Verarbeitungsneuron
3.2 Backprop-Verfahren 45

X
δjp = opj (1 − opj ) · δkp ωjk
k

Ausgabeneuron
δjp = opj (1 − opj )(tpj − opj )

Es wurde nun also das Fehlersignal für die zwei alternativen topologischen Positionierungen
einer Schicht innerhalb eines Netzes definiert. Demnach wenden wir uns dem dritten und
letzten Schritt des Backpropagation-Verfahrens zu: dem Backward Pass.

3.2.3 Der Backward Pass

Da wir das Fehlersignal nun kennen, können wir die Gewichte der einzelnen Neuronen im
Verhältnis zum Gesamtfehler ändern. Dazu greifen wir noch mal auf
p
∂E p ∂E p ∂netj
=
∂ωij ∂netpj ∂ωij

p
∂E ∂netpj
zurück. ∂net p ist bekanntlich das Fehlersignal. Der Ausdruck
∂ωij
wird nach den Gewichten
j
abgeleitet. Es ergibt sich:
∂netpj ∂ i opi ωij
P
= = opi
∂ωij ∂ωij
Gehen wir also von X ∂E p
∆ωij = − η
p
∂ωij

aus, erhalten wir X


∆ωij = η opi δjp
p

und letztendlich
ωij (t) = ωij (t − 1) + ∆ωij (t − 1)

Auch hier ist eine Fallunterscheidung zu treffen, nämlich die zwischen dem sog. offline- und
online-Modus.
Der Grund: falls das Netz offline lernen soll, müssen ihm zuerst alle Muster präsentiert werden,
um dann in einem Schritt alle Gewichte des Netzes zu ändern.

X
∆ges. ωij = η opi δjp
p

Falls das Netz allerdings online lernen soll, so werden direkt nach jedem Pattern die Gewichte
geändert.
46 Das Backpropagation-Verfahren (Jakob Janiszewski)

X
∆p ωij = η opi δjp
p

Der leistungstechnische Unterschied liegt darin, dass das Netz für das online-Verfahren die
Gewichtsänderungen pro Muster errechnen muss, was somit Rechenzeit verbraucht, beim
offline-Training braucht das Netz nur eine Berrechnung pro Trainingsphase durchzuführen,
denn in einer Trainingsphase wird jedes Pattern dem Netz einmal präsentiert.
Auf der anderen Seite erwirkt das online-Verfahren eine viel genauere Approximation der
Fehlerfunktion dadurch, dass bereits nach jedem Muster eine Gewichtsänderung stattfindet.
Fazit: durch die Anwendung des offline-Modus erreicht man zwar eine kürzere Rechenzeit,
jedoch entsteht ein Informationsverlust, da die Fehlerfunktion ungenau approximiert wird.

3.2.4 Resümee

Nach der voran gegangenen Vorgehensweise modifiziert man die Gewichte nun so lange,
bis man das Minimum der Fehlerfunktion erreicht hat. Danach kann ein Testlauf gestartet
werden, um den Erfolg des Trainings zu überprüfen. Beim Testlauf werden dem Netz
bisher untrainierte Testmuster präsentiert. Ist der entstehende mittlere quadratische Fehler
akzeptabel, ist das Netz genügend trainiert, ist er inakzeptabel, muss nachtrainiert werden,
indem man neue Trainigspattern einführt und den Vorgang entsprechend dem oben
beschriebenen System wiederholt.

3.3 Die Problematiken des Backpropagation-Verfahrens

3.3.1 Problemstellungen

Auch bei einem solch etablierten Verfahren wie dem Backpropagation ergeben sich Probleme.

• Es wird oftmals nur ein lokales Minimum der Fehlerfunktion gefunden (deswegen nennt
man das Backpropagation auch lokales Verfahren). Der Grund dafür wird ersichtlich,
wenn man sich noch einmal die Entstehung einer Fehlerfunktion vor Augen hält. Man
führt den Prozess des Gradientenabstiegs so lange durch, bis die Steigung gegen Null
konvergiert. Ob das gefundene Minimum jedoch global oder lokal ist, kann man anhand
der Steigung natürlich nicht erkennen. Es wurde noch keine ernst zu nehmende Methode
entwickelt, diesen doch äußerst qualitätsmindernden Umstand zu beseitigen.
• Ein weiteres Problem ist die sog. Oszillation. Dazu nehme man an, die Fehlerfunktion
würde in einem bestimmten Intervall ein sehr starkes Gefälle aufweisen, dass in einem
Minimum mündet und sich von diesem aus wiederum in einem Intervall erstreckt,
in dem eine starke Steigung vorherrscht. Auf diese Intervalle beschränkt wäre dies
3.3 Problematiken 47

dreidimensional gesehen vergleichbar mit einer Schlucht, zweidimensional mit einer nach
oben geöffneten Normalparabel. Der Gradient am Rande jener Schlucht wäre in diesem
Fall so groß, dass die Gewichte sehr stark angepasst würden, wobei das Minimum, also
der ’Boden’ der Schlucht, übersprungen wird.

• Eine zusätzliche Problematik stellen flache Plateaus dar. In diesem Fall wäre der
Gradient zu klein, so dass das Lernverfahren ins stocken geraten würde, also nur
noch minimale Gewichtsanpassungen stattfänden. Dreidimensional wäre dies mit einer
Ebene zu vergleichen, die eine ganz leichte Krümmung vorzuweisen hätte. Des weiteren
kann auch nicht festgestellt werden, ob diese Stagnation nun durch die minimale
Konvergenzgeschwindigkeit in einem Minimum oder durch jenes Plateau hervorgerufen
wird.

3.3.2 Lösungsansätze

Zu den eben erwähnten Problemen finden sich folgende Lösungsansätze:

• Der konjugierte Gradientenabstieg: Um den Effekt der Oszillation und der


flachen Plateaus vorzubeugen, wird ein Momentum-Term α eingeführt, der die
Gewichtsmodifikation zum Zeitpunkt t − 1 mit einbezieht.

∆ωij (t) = ηopi δjp (t − 1) + αδjp ωij (t − 1)

Daraus resultiert: eine Modifizierung von ∆ωi,j (t) erwirkt in flachen Plateaus eine
Beschleunigung der Konvergenzgeschwindigkeit und eine Minderung deren bei steilen
Zerklüftungen. Dementsprechend wird der Effekt, der durch die hohe negative Steigung
eintrifft, geschwächt.

• Rprop: Dies ist eine Alternative zum konjugierten Gradientenabstieg. Zuerst einmal
muss man sich vor Augen führen, dass die Größe der Veränderung der Fehlerfunktion
nicht nur von der Größe der Lernrate η abhängt, sondern auch von der Ableitung nach
den einzelnen Gewichten, also dem Gradienten. Da bei einem Vorzeichenwechsel des
Gradienten offensichtlich ein Minimum übersprungen wurde, wird bei der Modifikation
der Gewichte jeweils ein unabhängiger Wert ∆i,j definiert (dessen Betrag bezieht
sich auf die Beträge der Gewichte, ist also deren Bruchteil), den man bei einem
Vorzeichenwechsel subtrahiert (da ja offensichtlich zu große Gewichtsänderungen
stattfanden) und bei gleichbleibendem Vorzeichen addiert (führt zu schnellerer
Konvergenz). Dieser Wert orientiert sich also lediglich am Vorzeichen des Gradienten.

+ (t−1) ∂E (t−1) ∂E (t)
 η ∆ij

 , wenn ∂wij
· ∂wij
>0
(t) (t−1) ∂E (t−1) ∂E (t)
∆ij = η − ∆ij , wenn ∂wij
· ∂wij
<0

 (t−1)

∆ij , sonst
48 Das Backpropagation-Verfahren (Jakob Janiszewski)

Für die Gewichte gilt dann:



(t) ∂E (t)
 −∆ij , wenn >0

 ∂wij
(t) (t) ∂E (t)
∆wij = +∆ij , wenn ∂wij
<0



0 , sonst

Bei dieser Formel muss beachtet werden, dass die im vorigen Verlauf erzielten
Änderungen (falls die partielle Ableitung ihr Vorzeichen geändert hat) wieder
revidiert würden (es findet ja wieder ein Vorzeichenwechsel statt, da ∆i,j den letzten
Vorzeichenwechsel korrigiert hat). Deshalb, damit im nächsten Schritt nicht schon wieder
ein Vorzeichenwechsel festgestellt wird, gilt:

∂E (t−1)
=0
∂wij
somit bleibt
∂E (t)
<0
∂wij
oder
∂E (t)
>0
∂wij

Zu weiteren Optimierungsansätzen wird in den folgenden Kapiteln noch Stellung bezogen.


Kapitel 4

Optimierung Neuronaler Netze

von Andreas Jung

4.1 Sinn und Zweck

Betrachtet man die Entwicklung Neuronaler Netze seit den Anfängen, so lässt sich bei
der Forschungsarbeit stets die treibende Kraft der Optimierung bestehender Algorithmen
erkennen. Durch unterschiedliche Ansätze und Methoden wurde versucht, die Schwachpunkte
der bisherigen Entwicklungsstufen auszumerzen. Zu diesen Hauptschwachpunkten zählen: der
Zeitaufwand (Zeitkomplexität), sowohl bei der Rechnerzeit, als auch der Programmierarbeit
mit der dazugehörigen Obergrenze der Rechnerkapazität. Eng damit ist die Frage
verbunden, welche Aufwand-Nutzen-Relation sinnvoll ist, und daraus resultierend, welche
Trainingsmethode bzw. welche Netztopologie für welches Problem gut oder auch weniger gut
geeignet ist.
Ein kleines Beispiel zur Rechenzeit:
Die maximale Anzahl der Gewichte in einem einfachen vollkommen verknüpften Netzwerk
errechnet sich durch
Wmax = 1 + Hmax (Imax + 2),

wobei Wmax maximale Anzahl der Gewichte, Hmax maximale Anzahl der verdeckten Neuronen
und Imax maximale Anzahl der Imputneuronen.
Die Anzahl der maximal möglichen Permutationen (Netztopologien) im vollkommen
verknüpften Netz, wobei Permutationen durch Veränderung der Gewichte entstehen, liegt
somit bei
Nmax = 2Wmax ,

da jeweils zwei Neuronen miteinander verknüpft werden.

49
50 Optimierung Neuronaler Netze (Andreas Jung)

Betrachtet man ein solches Netz mit 10 Eingangsneuronen und 5 verdeckten Neuronen, sowie
einem Ausgabeneuron und dem so genannten “On-Neuron“, so kann man - wobei durch
Neutralisation einzelner Gewichte kleinere Netze entstehen -
Wmax = 1 + 5(10 + 2) = 61
⇒ Nmax = 261 ≈ 2.3 · 1018
verschiedene Netztopologien unterscheiden. Aus dieser gewaltigen Zahl folgt die
Unmöglichkeit, alle Topologien auf ihre Optimalität hin zu testen. Nimmt man eine mittlere
Rechenzeit von 1 ms/Topologie an, so ergibt sich eine Gesamtrechenzeit von 73 Millionen
Jahren für Training und Test. Das Ziel besteht also darin, günstige Topologien und effektive
Trainingsmethoden zu finden, die bestimmten Mindestanforderungen gerecht werden.

4.2 Grundidee

Es stellt sich nun die Frage, wo die Optimierung ansetzen soll. Man unterscheidet
dementsprechend folgende drei Verfahren.

1. Optimierung vor dem Lernverfahren


Bei diesem Ansatz bedient man sich Analytischer Schätzungen. Dies sind Verfahren,
die versuchen mit statistischen Schätzfunktionen die Bestimmung von Art und Umfang
der Hiddenschicht vorzunehmen. Hierbei wird problemorientiert eine Aufteilung des
von Inputvektoren und Hidden-Neuronen bestimmten Inputraumes in separable Raüme
vorgenommen. Diese Räume werden klassifiziert um die Anzahl der zur Lösung des
Problems notwendigen Pattern zu verringern. Auf diesem Gebiet sind allerdings keine
nennenswerten Fortschritte für nicht triviale Probleme erzielt worden, sodass hier
weiterhin ein hohes Forschungsdefizit besteht.
2. Optimierung während des Lernverfahrens
Bei diesen so genannten Konstruktiven Verfahren wird die verdeckte Schicht sukzessive
aufgebaut. Dieser Ansatz wird weiter unten am Beispiel der Cascade Correlation näher
vorgestellt.
3. Optimierung nach erfolgtem Lernen
Die Pruning Verfahen (pruning, engl. Ausdünnen, Beschneiden) sind gewissermaßen den
Konstruktiven Verfahren entgegengesetzte Methoden. Hier erfolgt eine nachträgliche,
gewollte Manipulation der erreichten Netztopologie. Ausführlich später.

4.3 Das Cascade Correlation Verfahren

Die CC-Lernarchitektur ist ein Algorithmus für Feed-Forward-Netze, der nicht nur die
Gewichte adaptiert, sondern auch selbständig die Netzgröße während des Trainings bestimmt.
Die Entwicklung erfolgte 1991 durch Fahlmann und Lebiere.
4.3 Cascade Correlation 51

Vorgehensweise: Generiere ein minimales Feed-Forward-Netz bestehend aus Ein- und


Ausgabeschicht mit den dazugehörigen Verbindungsgewichten, wobei die Anzahl der
Neuronen problemabhängig ist. Danach erfolgt ein Training dieser Verbindungen mit einem
Standardlernverfahren (z.B. Backpropagation) bis sich der Netzfehler
P N
1 XX
E(w) = (opi − tpi )2
2 p=1 i=1

nicht mehr wesentlich ändert. Beachte: Ist der Fehler ausreichend klein, erfolgt zu diesem
Zeitpunkt schon ein Abbruch. Es kommt also gar nicht zur CC. Ist der Fehler allerdings
nicht klein genug wird eine verdeckte Schicht bestehend aus nur einer Zelle, der so genannten
Kandidatenzelle, eingefügt. Wichtig hierbei ist, dass die Kandidatenzelle zunächst nur mit
der Eingabeschicht verbunden wird.
Im nächsten Schritt wird die Maximierung der Summe der Beträge der Korrelation
(eigentlich handelt es sich um die Kovarianz) zwischen der Ausgabe der Kandidatenzelle
und dem Restfehler der Ausgabezelle vorgenommen. Dies erfolgt ebenfalls mit Hilfe eines
Standardlernverfahrens
P
N X

X
Sj = (opj − ōj ) (δpk − δ̄k ) mit δpk = f 0 (netpk )(opk − tpk ).

p=1
k=1

Hierbei sind opi die Ausgabe der Kandidatenzelle j , δpk der Restfehler der Ausgabezelle
k , ōj und δk die Mittelwerte über alle Muster P und f 0 (netpk ) die Ableitung der
Aktivierungsfunktion.

Kurzer Exkurs - Kovarianz: Die Kovarianz ist ein Maß für


den Zusammenhang zweier Zufallsvariablen. Je höher der Wert
der Kovarianz ist, desto enger ist der Zusammenhang der
beiden Variablen.
Eine hohe positive Kovarianz bedeutet beispielsweise, dass
beim Vorliegen eines überdurchschnittlich hohen Wertes für
X auch ein überdurchschnittlicher Wert für Y vorliegt.
Eine hohe negative Kovarianz bedeutet dann, dass beim
Vorliegen eines überdurchschnittlich hohen Wertes für X ein
unterdurchschnittlicher Wert für Y vorliegt. Ist die Kovarianz
Null, so ist X statistisch unabhängig von Y .

Die Maximierung durch das Standardlernverfahren erfolgt mittels des Korrelationsgradienten


P N
∂Sj XX
= σk (δpk − δ̄k )f 0 (netpj )opi
∂wij p=1 n=1

mit dem Vorzeichen der Korrelation σk = sgn( Pp=1 (opj −ōj )(δpk −δ̄k )). Bei der Implementierung
P

erweist es sich als notwendig, den Korrelationsgradienten mit Hilfe des konstanten Faktors

XP X
N
0
c= f (netpk )(opk − tpk )


p=1 k=1
52 Optimierung Neuronaler Netze (Andreas Jung)

Abbildung 4.1: Cascade-Topologie: ausgefüllte Quadrate markieren diejenigen Gewichte, die mit
jedem Lernschritt erneut adaptiert werden, leere Quadrate die “eingefrorenen“ Gewichte.
zu normieren: PP PN
n=1 σk (δpk − δ̄k )f (netpj )opi
0
∂Sj p=1
= P P

∂wij P N
p=1 k=1 f (netpk )(opk − tpk )
0

Nach Abschluss der Korrelationsmaximierung wird die Kandidatenzelle fest in das Netz
eingefügt. Hierbei ist zu beachten, dass die zuvor mittels Kovarianzmaximierung trainierten
Gewichte eingefroren werden. Anschließend wird die Hiddenschicht noch durch Gewichte mit
der Ausgabeschicht verbunden. Hierbei sei auf die besondere Kaskadentopologie hingewiesen
(s. Abb. 4.3), bei der auch die Inputneuronen mit der Ausgabeschicht verbunden sind. Diese
spezielle, CC-typische Verbindungen werden auch als Shortcut-Verbindungen bezeichnet.
Es folgt ein erneutes Training, diesmal allerdings des gesamten Netzes mit Ausnahme der
eingefrorenen Gewichte. Im Klartext also die Gewichte zwischen Eingabe- und Ausgabeschicht
sowie Hidden- und Ausgabeschicht. (s. Abb. 4.3)

Auch nach diesem Schritt erfolgt eine Überprüfung des Lernfehlers wie oben. Ist der Restfehler
klein genug wird stoppt der Algorithmus. Ansonsten fährt man fort indem man eine neue
Kandidatenzelle in das Netz eingefügt. Abb. 4.3 zeigt, dass sich eine deutliche Verbesserung
des Lernfehlers erst nach dem Einfügen der dritten Kandidatenzelle einstellt.

Eine mögliche Variation: Einführung einer Kandidatengruppe, deren Zellen unabhängig


voneinander trainiert werden. Die Zelle, die die größte Korrelation aufweist, wird eingefügt.
4.3 Cascade Correlation 53

Abbildung 4.2: Lernfehlerverlauf für die Tangensfunktion


4.3.1 Unterschiede des CC zu “starren“ Netzen

Es werden viele Trainingsepochen in nicht endgültiger Größe des Netzes durchgeführt, was
die Rechenzeit verkürzt. Die Gewichte zur Ausgabeschicht ändern sich während der Adaption
nicht. Sie können einmal für alle Muster und Ausgabezellen berechnet, abgespeichert und
wieder verwendet werden, was ebenfalls die Rechenzeit verkürzt. Es findet nur ein “Forward-
Pass“ nicht aber ein “Back-Pass“ wie in “starren“ Netzen statt.

4.3.2 Simulationsbeispiele

Trigonometrische Funktionen

Tangens-Funktion (siehe Tabelle 1, Abbildungen 4.3.2 und 4.3.2):


f (x) = tan(x), x ∈ [0, π]

Tabelle 1: Trainingsergebnisse für die Tangensfunktion


Lernverfahren BP SCG QP CC
Netz 1-20-20-20-1 1-5-5-5-1 1-15-15-1 15
Gewichte 840 60 255 136
Lernschritte 100.000 660 3800 -
CPU-Zeit [ms] 344.670 31.570 235.710 946.670
Endfehler 0,1788360 0,0000100 0,0000090 0,0000002
Approximationsfehler 2,20973 0,71514 0,833118 0,99774
54 Optimierung Neuronaler Netze (Andreas Jung)

Abbildung 4.3: Approximation der Tangensfunktion von QP

Abbildung 4.4: Approximation der Tangensfunktion von CC


4.3 Cascade Correlation 55

Abbildung 4.5: Approximation der Cosinusfunktion von QP

Cosinus-Funktion (siehe Tabelle 2, Abb. 4.5 und 4.3.2):


f (x) = cos(x21 + x22 ), x1 , x2 ∈ [−1.25, 1.25]

Tabelle 2: Trainingsergebnisse für die Cosinusfunktion


Lernverfahren BP SCG QP CC
Netz 2-15-15-15-1 2-15-15-1 2-10-10-1 25
Gewichte 495 255 130 350
Lernschritte 500.000 1620 100.000 -
CPU-Zeit [ms] 1.505.500 247.120 1.921.108 1.782.660
Endfehler 0,0000640 0,0000570 0,0002440 0,0000004
Approximationsfehler 0,03170 0,02020 0,07593 0,1694

Schlußfolgerungen: Wie die Trainingsergebnisse und auch die Approximationsschaubilder


zeigen, “verliert“ die CC gegen die gebräuchlichen Standardlernverfahren QP und BP. Die
Stärke des CC liegt in der Bewältigung des Spiralenproblems, auf das im Folgenden näher
eingegangen wird.

Spiralenproblem

Zwei ineinander verschränkte, jedoch räunlich getrennte Spiralen (s. Abb. 4.7 und 4.8)
müssen unterschieden werden. Die Spiralenpunktstelle (x,y-Koordinate) dient als Eingabe,
56 Optimierung Neuronaler Netze (Andreas Jung)

Abbildung 4.6: Approximation der Cosinusfunktion von CC

Abbildung 4.7: Seitenansicht der betrachteten Spiralen

als Ausgabe dienen −1 oder 1 als Unterscheidungskriterium. In der Literarur wird das
Spiralenproblem auch als Benchmark-Test bezeichnet. Die Trainingsdaten sind in Tabelle
3 dargestellt.

Abbildung 4.8: Draufsicht der betrachteten Spiralen


4.3 Cascade Correlation 57

Abbildung 4.9: Draufsicht der Approximation der Spiralen für BP

Tabelle 3: Trainingsergebnisse für das Spiralenproblem


Lernverfahren BP SCG QP CC
Netz 2-10-10-1 2-10-10-1 2-10-10-1 50
Gewichte 130 130 130 1315
Lernschritte 1.000 100 100 -
CPU-Zeit [ms] 18.790 59.700 58.090 1.635.530
Endfehler 15,3546 15,1993 15,1696 0,235921
Approximationsfehler 0,999804 0,988987 0,988197 0,089274

Während hier die oben genannten Standardlernverfahren keine Problemlösung anbieten


( siehe Abbildungen 4.9 und 4.10), kann das CC-Verfahren aufgrund seiner besonderen
Kaskaden-Netztopologie, also den Shortcuts, das Spiralenproblem lösen (vergleiche
Abbildungen 4.11 und 4.12).

4.3.3 Zusammenfassung

Die CC lässt eine Schwäche bei der Approximation der angesprochenen nichtlinearen
Funktionen erkennen. Es besitzt eine stärkere Neigung zum Auswendig lernen, die durch
die dem Lernverfahren besonders angepasste Topologie zu erklären ist. Dadurch entsteht der
gezeigte Verlust der Generalisierungsfähigkeit. Aber gerade dieser Verlust versetzt die CC in
die Lage, das Spiralenproblem zu lösen.
Die CC stellt also eine sinnvolle Ergänzung zu den bestehenden Lernverfahren dar.
58 Optimierung Neuronaler Netze (Andreas Jung)

Abbildung 4.10: Seitenansicht der Approximation der Spiralen für BP

Abbildung 4.11: Draufsicht der Approximation der Spiralen für CC


4.4 Pruning-Verfahren 59

Abbildung 4.12: Seitenansicht der Approximation der Spiralen für CC

4.4 Pruning-Verfahren

Bei Pruning-Verfahren handelt es sich um Ausdünnungsmethoden die die Komplexität des


Netzes reduzieren. Eine Überanpassung an die Trainingsdaten soll reduziert werden.

4.4.1 Gewichtspruning

Die Netzwerkkomplexität wird dadurch reduziert, dass ein Teil der Gewichte im Netzwerk
eliminiert wird. Auswahlkriterium für in Frage kommende Gewichte ist ein Testwert. Gewichte
mit großem Testwert sind für das Netz wichtig, die mit kleinem Testwert deuten darauf hin,
dass das Gewicht entfernt werden kann.
Es gibt verschiedene Verfahren für die Berechnung dieser Testwerte:
a) kleinste Gewichte (Standart Weight Pruning):
Testgröße ist der Betrag des Gewichts. (Eine Variante ist die Rundung des Gewichts). Beide
Verfahren führen allerdings nicht zu dem gewünschten Ziel die Netzgröße zu verringern,
ohne Informationen zu verlieren. Das Entfernen des Gewichtes erfolgt durch Nullsetzen des
Gewichtswertes. Dies bewirkt, dass die Signalinformationen die sonst über die Leitung laufen
würden außer Acht gelassen werden.
b) Statistische Signifikanz:
Die Gewichte ändern sich bei jeder Fehlerkorrektur. Bei diesem Verfahren wird aber auch die
Verteilung der Gewichtsänderung von Bedeutung sein. Die Verteilung wird über die komplette
Epoche (also beim Training) gemessen. Die Testgröße lautet hierbei:
60 Optimierung Neuronaler Netze (Andreas Jung)

| p γp|
P
T (w) = qP
p 2
p (γ − γ̄)

mit γ p als Höhe eines Gewichtes nach Veränderung, die sich ergibt aus γ p = w + ∆w p
Das Ausschalten des Gewichts erfolgt genau wie beim Standart Weight Pruning. Der Vorteil
der Statistischen Signifikanz liegt allerdings darin, dass die Gewichte nicht unwiderruflich
ausgeschaltet sind. Sie werden weiterhin durch die ermittelte Gewichtsveränderung
berücksichtigt und können gegebenenfalls wieder aktiviert werden. Regelnde Größe dabei
ist eine Aktivationsgrenze.

4.4.2 Hidden Neuron (HN) Pruning/Mergen

Das HN-Pruning ist als Fortsetzungsverfahren des Gewichtprunings zu verstehen. Hierbei


werden alle zu und von eine HN führenden Gewichte auf Null gesetzt. Beim HN-Mergen
werden HN-Paare gebildet und die Korrelation ihrer Neuronenaktivität anhand ihres
Aktivierungspegels überprüft. Die Neuronenpaare mit der größten Korrelation werden
verschmolzen zu einem neuen Neuron.

4.4.3 Input Pruning

Das Input-Pruning findet erst nach feineren Pruning-Methoden statt. Dabei werden
nichtrelevante Ausgangsverbindungen entfernt. Der Fehler des aktuellen Netzes wird
bestimmt und gespeichert. Danach wird der Reihe nach ein Inputneuron vorläufig deaktiviert.
Der Fehler wird neu berechnet. Die Netzwerkfehler-differenz

Di = E − Eneu , (i = 1, 2, . . . , Anzahl der Inputneuronen)

wird errechnet. Ein Neuron ist immer dann störend, wenn Di > 0.

4.4.4 Optimal Brain Damage (OBD)

Hier wird die Frage gestellt, welche Gewichte bei ihrer Herausnahme die kleinste Veränderung
des Netzfehlers auslösen. Man bezeichnet das OBD als Second-Order-Methode, da die Zweite
Ableitung benötigt wird.
Vorgehensweise:
Man nähert die Fehlerfunktion durch eine Taylorreihe unter den folgenden
Annahmen/Voraussetzungen an:
4.4 Pruning-Verfahren 61

a) Die Hessematrix wird durch die Diagonalmatrix approximiert. (wg. Rechenzeit)

b) Da das OBD erst nach erfolgtem Lernen ansetzt folgt daraus, dass wir uns im Minimum
befinden, dass heißt, der Fehler bei Änderung nur steigen kann.

c) Die Fehlerfunktion sei in der Nähe des Minimums quadratisch

Die Ableitungen werden durch diese Vorgehensweise von Schicht zu Schicht zurückpropagiert.
Aber: Eine Überanpassung ist zu diesem Zeitpunkt bereits geschehen und es wird darüber
hinaus eine immense Rechenzeit benötigt, so dass sich in der Praxis die Methode der
statistischen Signifikanz durchgesetzt hat.
Mehrere Pruning-Verfahren können hintereinander ausgführt werden, um eine Optimierung
unter verschiedenen Aspekten zu gewährleisten.

4.4.5 Tabellen

Lernverfahren BP SCG QP CC
Netz 2-15-15-15-1 2-15-15-1 2-10-10-1 25
Gewichte 495 255 130 350
Lernschritte 500.000 1620 100.000 -
CPU-Zeit [ms] 1.505.500 247.120 1.921.108 1.782.660
Endfehler 0,0000640 0,0000570 0,0002440 0,0000004
Approximationsfehler 0,03170 0,02020 0,07593 0,1694

Lernverfahren BP SCG QP CC
Netz 1-20-20-20-1 1-5-5-5-1 1-15-15-1 15
Gewichte 840 60 255 136
Lernschritte 100.000 660 3800 -
CPU-Zeit [ms] 344.670 31.570 235.710 946.670
Endfehler 0,1788360 0,0000100 0,0000090 0,0000002
Approximationsfehler 2,20973 0,71514 0,833118 0,99774
62 Optimierung Neuronaler Netze (Andreas Jung)

Lernverfahren BP SCG QP CC
Netz 2-10-10-1 2-10-10-1 2-10-10-1 50
Gewichte 130 130 130 1315
Lernschritte 1.000 100 100 -
CPU-Zeit [ms] 18.790 59.700 58.090 1.635.530
Endfehler 15,3546 15,1993 15,1696 0,235921
Approximationsfehler 0,999804 0,988987 0,988197 0,089274
Kapitel 5

Genetische Algorithmen und


Evolutionsstrategien

von Roland Zimmer

5.1 Einleitung

Die bisher behandelten Konzepte zur Approximation einer durch Stützstellen (Muster)
gegebenen Funktion sind darauf ausgerichtet, eine zu definierende Fehlerfunktion zu
minimieren. Die dabei verwendeten Verfahren sind im allgemeinen weder in der Lage,
eine Aussage über die Globalität eines gefundenen Extremums zu machen, noch sich
aus der ’Gefangenschaft’ eines lokalen Optimums zu befreien. Es liegt also nahe,
deterministische Verfahren zum Auffinden von Extrema durch stochastische Konzepte zu
erweitern. Damit soll dem Algorithmus die Chance gegeben werden, auch außerhalb des
durch den deterministischen Ablauf vorgegebenen Suchbereichs nach Optima zu suchen. In
Anlehnung an die Idee der Evolution werden solche Verfahren genetische Algorithmen oder
Evolutionsstrategien genannt.

Vorläufige Definition: Ein genetischer Algorithmus ist die algorithmisch-mathematische Modellierung


biologischer Evolutionsprozesse.

Genetische Algorithmen treten in unterschiedlichen Formen in der Informatik auf.Hervorzuheben


sind hierbei

• Künstliche Intelligenz,

• Maschinenlernen und

• Neuronale Netze.

63
64 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer)

5.2 Grundlagen

Die Terminologie im Gebiet der GA bedient sich nicht selten der Fachausdrücke aus der Biologie
und versucht diese in einem mathematischen Sinne zu abstrahieren. Sehr häufig sind die Begriffe
intuitiv, was jedoch auch dazu führen mag, ihre semantische Konnotation zu überschätzen. Es ist
daher besonders wichtig, folgende Defintionen nicht zu überladen.

Zweckmäßigerweise betrachten wir auch bei den GA komplexe Einheiten aus Information und Regeln,
die wir Organismen nennen und die hier nur intuitiv eingeführt werden sollen. Die Bewertung dieser
Organismen wird letztlich die Güte der Approximation widergeben.

• Eine Population H ist eine Menge von Organismen einer Art.

• Ein Individuum ist ein einzelnes Element h ∈ H einer Population.

• Ein Gen ist eine einzelne Erbinformation g ∈ M , M Alphabet.


Das Alphabet eines klassischen GA umfasst nur binäre Werte, also MGA =
{0, 1}, wohingegen die klassische Evolutionsstrategie beliebige Wertemengen,
hauptsächlich reelle Zahlen betrachtet.

• Der Wert eines Gens heißt Allele.

• Ein Individuum ist als Vektor von Genen aufzufassen. Alternativ finden auch die
Begriffe Chromosom, String oder Hyphothese Verwendung.

• Evolution ist die Anpassung einer Population an ihre Umgebung durch


Manipulation der Erbinformation der Individuen.

• Die Fitness ist im biologischen Sinn das Maß der Anpassungsfähigkeit eines
Individuums an seine Umgebung. In der Theorie der genetischen Algorithmen ist
darunter jedoch ein Maß f für die Qualität der Lösung zu verstehen.

5.3 Aufbau und Funktionsweise eines genetischen


Algorithmus

Ein genetischer Algorithmus ist nach biologischem Vorbild in vier Teilgebiete, sogenannte
Operatoren, untergliedert. Diese Operatoren sind

• Selektion,

• Crossover (Kreuzung),

• Mutation und

• Refill (Auffüllen).
5.3 Aufbau und Funktionsweise eines genetischen Algorithmus 65

fsonst

f4
f1 f2
f3

Abbildung 5.1: Die Individuen mit hoher Fitness f1 und f2 haben deutlich bessere Chancen zur
Reproduktion ausgewählt zu werden, als die Individuen mit geringer Fitness f3 und f4 .

5.3.1 Selektion

Die Selektion ist die Auswahl bestimmter Individuen für weitere Betrachtung.

Aus der zur Verfügung stehenden Population H wird eine Teilmenge H̄ ∈ H von
Individuen ausgesucht, aus denen im weiteren Verlauf Nachkommen entstehen. Die
Menge H̄ enthält mindestens zwei Individuen und höchstens so viele wie H selbst
(2 ≤ |H̄| ≤ |H|).

Die Auswahl der Eltern-Individuen kann beliebig getroffen werden. Im Folgenden sind
zwei verbreitete Möglichkeiten vorgestellt.

(a) Vollkommen zufällige Auswahl. Ein Standardverfahren, das die Fitness der
Individuen nicht beachtet. Es wird auch k-tournament selection genannt. Zuf ällige
Auswahl p = n1 , n = |H| einer Menge von Individuen, die miteinander gekreuzt
werden.
(b) Bestimmung einer zumeist von der Fitness f abhängigen Wahrscheinlichkeit p für
die Fortpflanzung. Ein Beispiel hierfür ist die sogenannte roulette wheel selection.
f (hj )
Durch p(fj ) = P f (h i)
erhalten Individuen j mit hoher Fitness f größere Chancen
i
zur Reproduktion. (siehe Abbildung 5.1)

5.3.2 Crossover

Crossover ist die Mischung der Gene von Eltern-Individuen zu Nachkommen.

Wieder gibt es beliebige Möglichkeiten der Durchführung. Einige bekannte


Standardmethoden sind:
66 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer)

   
abbaccc abbadda
 -  
   
aadadda aadaccc
   
cut

Abbildung 5.2: Darstellung des Prinzips des one-point-crossovers.


 
abbaccc  
 -
  aadaccc
aadadda  
 
cut

Abbildung 5.3: Darstellung des uniform crossovers. Aus zwei Eltern-Individuen wird nur ein
Nachkomme erzeugt.
(a) one-point-crossover
Beim one-point-crossover werden zwei Eltern-Individuen an der gleichen Stelle
zerschnitten und zu neuen Individuen zusammengesetzt. (siehe Abbildung 5.2)
(b) multi-point-crossover
Multi-point-crossover bezeichnet die gleiche Vorgehensweise wie beim one-point-
crossover, jedoch mit mehreren Schnitten.
(c) beliebige Zufallszusammenstellung
Es besteht natürlich auch die Möglichkeit, jedes einzelne Gen entweder dem
ersten oder dem zweiten Nachkommen zuzuordnen.
(d) uniform crossover
Im Gegensatz zu den bisherigen Methoden wird beim uniform crossover nur ein
einzelner Nachkomme erzeugt. (siehe Abbildung 5.3)

5.3.3 Mutation

Mutation ist die zufällige Änderung der Erbinformation eines Individuums.

Die Mutation sorgt dafür, dass der Gen-Pool der Population nicht zu stark
eingeschränkt wird. Ihre Zielsetzung ist das Verhindern einer Konvergenz in einer
lokalen Lösung des Optimierungsproblems.

Natürlich gibt es bei der Mutation überhaupt keine Einschränkung. Die Möglichkeiten
reichen vom komplett zufallsgenerierten neuen Individuum bis zur marginalen
Änderung einer einzelnen Allele.

Die klassische Evolutionstheorie befasst sich ausschließlich mit der Mutation der
Individuen ihrer Population und lässt keine Fortpflanzung zu. Die klassischen GAs
5.3 Aufbau und Funktionsweise eines genetischen Algorithmus 67

   
1010101 - 1011001
 6   
pm

Abbildung 5.4: Das vierte Gen wurde zur Mutation ausgewählt und seine Allele mit der des
Nachbargens getauscht. pm bezeichnet die Wahrscheinlichkeit, mit der ein bestimmtes Gen mutiert
wird.

   
1010101 - 1011101
 6   
pm

Abbildung 5.5: Das vierte Gen wurde zur Mutation ausgewählt und seine Allele gekippt. pm
bezeichnet die Wahrscheinlichkeit, mit der ein bestimmtes Gen mutiert wird.
gehen so vor, dass sie ihre neue Generation hauptsächlich durch Fortpflanzung
generieren und nur wenig mutieren.

In der Literatur sind mehrere Standardverfahren der Mutation zu finden:

(a) Random exchange


Random exchange beschreibt die Zufallsauswahl eines Gens und den Austausch
seiner Allele mit der des Nachbargens. (siehe Abbildung 5.4)

(b) Section reversal


Section reversal geht weiter als random exchange und tauscht ganze Abschnitte
des Chromosoms.

(c) bit-flip mutation oder Kippen


Sehen Sie bitte Abbildung 5.5.

(d) !!!!!!!!!Mutation mittels Gauss


Als Kippen bezeichnet man die Methode, in einem als binärcode dargestellten
Chromosom einem Gen die Allele umzuschalten, also von 1 auf 0 und umgekehrt.

Im Einsatz wird bei jedem Gen mit einer festgelegten Wahrscheinlichkeit eine
Mutation durchgeführt. Diese Mutationswahrscheinlichkeit kann auch mit jeder
Generation, in der nicht mutiert wurde leicht zunehmen, um eine schnellere
Konvergenz zu erreichen. Die Mutationsrate sollte sehr gering gew ählt werden.
Erfahrungswerte liegen zwischen 0, 1% und 0, 3%. Eine zu hohe Mutationsrate f ührt
zu einem Suchen nach Zufallslösungen, wodurch die Konvergenzgeschwindigkeit
abnimmt.
68 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer)

5.3.4 Refill

Unter Refill versteht man das Auffüllen der neuen Generation der Population auf die
gleiche Anzahl von Individuen wie in der letzten Generation.

Je nach Algorithmus ist es nötig, in der neu generierten Population die Anzahl der
Individuen wieder auf die gleiche Zahl wie in der letzten Generation aufzufüllen. Hierzu
bieten sich zwei Möglichkeiten an:

(a) Wiederholung der Zufallsauswahl der Individuen und neue Reproduktion

(b) Kopieren (Klonen) der fittesten Individuen der letzten Generation

Eine beliebige Mischung der Methoden ist möglich und auch wünschenswert.

5.4 Beispiel eines GA mit binärer Kodierung

Wir definieren einen genetischen Algorithmus als Funktion:

GA(Ht , f , c, n, pm ) → Ht+1

mit

• Population Ht zum Zeitpunkt t

• Fitnessfunktion f

• Abbruchkriterium c

• Populationsgröße n

• Mutations-Wahrscheinlichkeit pm

5.4.1 erster Schritt

Im ersten Schritt erstellen wir eine Population Ht mit n Individuen durch

• zufällige Generierung oder

• Auswahl bekannter Lösungen, beispielsweise bereits trainierte KNN.


5.4 Beispiel eines GA mit binärer Kodierung 69

5.4.2 zweiter Schritt

Im zweiten Schritt erfolgt die Bestimmung der Fitness f (hi ) für jedes Element hi , i ∈
{1, ..., n} der Population Ht .

Der Algorithmus wird abgebrochen, wenn die Gesamtfitness der Population größer ist,
als das festgelegte Abbruchkriterium c:
n
X
f (hi ) ≥ c
i=1

5.4.3 dritter Schritt

Jetzt selektieren wir zwei Individuen hk und hl , l, k ∈ {1, ..., n} durch roulette wheel
selection.

5.4.4 vierter Schritt


0 0
Hier erstellen wir zwei Nachkommen, auch offsprings hk und hl durch one-point
crossover.
0 0
hk und hl sind die ersten beiden Elemente der Population Ht+1 .

5.4.5 fünfter Schritt


0 0
Mit der Mutationswahrscheinlichkeit pm wird jedes einzelne Gen von hk und hl gekippt.

5.4.6 sechster Schritt

Refill der Population Ht+1 auf n Individuen durch Klonen. Die beiden Individuen mit
der geringsten Fitness werden nicht mit in Ht+1 übernommen.

5.4.7 siebter Schritt

Im siebten Schritt wird wieder die Fitness f (hi ) für jedes Element hi , i ∈ {1, ..., n} der
Population Ht+1 bestimmt und es folgt
Pn
• der Abbruch des Verfahrens, wenn i=1 f (hi ) ≥ c, oder
• t + 1 → t und die Schritte drei bis sieben werden wiederholt.
70 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer)

5.5 Vorteil der GAs

Der große Vorteil genetischer Algorithmen ist die exponentielle Fortpflanzung der
fitten Individuen und damit verbunden das exponentielle Aussterben der schwachen
Individuen. Diese Aussage ist nicht trivial, aber 1975 konnte diese Aussage von
John Holland in seinem Buch adaption in natural and artificial systems mittels des
sogenannten Schema-Theorems bewiesen werden.

5.5.1 Schema-Theorem

Zunächst einige Definitionen, die im Verlauf des Beweises benötigt werden:

• Schema
Ein Schema ist ein String, in dem einzelne Gene statt einer Allele auch Variablen
”∗” enthalten können. Das Standard-Alphabet M des Strings wird also zu M ∗
erweitert: M ∗ = M ∪ {∗} = {0, 1, ∗}
Das Schema (0,1,0,*,*) beinhaltet also die Strings (0,1,0,0,0), (0,1,0,1,0),
(0,1,0,0,1) und (0,1,0,1,1).

• m(s, t) ist die Anzahl der Strings eines Schemas s, die in der Population H t
enthalten sind.

• f (t) ist die durchschnittliche Fitness einer Population, mit


n
1X
f (t) = f (hk )
n k=1

• f (s) ist die durchschnittliche Fitness aller Strings eines Schemas s.


m
1 X
f (s) = f (hsm )
m k=1

mit k Anzahl der möglichen Strings des Schemas s und hs Strings im Schema.

• P(hi ) ist die Wahrscheinlichkeit, dass hi bei der Selektion ausgewählt wird, mit

f (hi ) f (hi )
P (hi ) = Pn =
j=1 f (hj ) n · f¯(t)

Die Fitness eines überdurchschnittlich fitten Schemas lässt sich darstellen als:

f (s) = (1 + d) · f¯(t), mitd ≥ 0 (5.1)


5.5 Vorteil der GAs 71

Der Quotient ff¯(s)


(t)
lässt sich als Wachstumsrate der Anzahl der Strings eines Schemas
s in der Population interpretieren, also kann man den Erwartungswert der Anzahl der
Individuen eines Schemas s in Ht+1 bestimmt sich durch:

f (s)
E(m(s, t + 1)) = m(s, t) ¯ (5.2)
f (t)

Einsetzen von (1) in (2) ergibt

(1 + d) · f¯(t)
E(m(s, t + 1)) = m(s, t) · = m(s, t) · (1 + d) (5.3)
f¯(t)

Bei konstantem d und G Generationen ergibt sich daraus

E(m(s, G)) = m(s, o) · (1 + d)G (5.4)

Formel (4) zeigt eine geometrische Wachstumsfunktion und lässt sich so interpretieren,
dass ein Schema mit überdurchschnittlicher Fitness erwartungsgemäß exponentiell
fortgepflanzt wird. Gleichermaß/bin/sh: line 1: /dev/console: Permission denied
/bin/sh: line 1: /dev/console: Permission denied en muss ein Schema mit
unterdurchschnittlicher Fitness exponentiell aussterben.

Mit einigen Erweiterungen lässt sich dies auch für nicht konstante d zeigen.
72 Genetische Algorithmen und Evolutionsstrategien (Roland Zimmer)
Kapitel 6

Perfomancemessung

von Stefan Götz

6.1 Einleitung

Unter Performancemessung versteht man das Instrument, mit dessen Hilfe der Grad
der Realisierung der Investitionsziele einer Anlage wiedergegeben werden soll. Dabei
gilt es zu beachten, dass Sicherheit, Ertag und Liquidität einer Anlage in einem
Spannungsverhältnis stehen. Das bedeutet, dass in der Regel keines dieser Ziele
verändert werden kann, ohne dass dadurch auch ein anderes berührt wird.

Beispiel: Ein Portfoliomanager hat durch eine hochriskante Anlage einen enormen
Gewinn erwirtschaftet. Trotzdem erhält dieser in der Folgeperiode wohl kein Kapital
mehr, wenn die Investitionspraktik den Anlegern bekannt wird.

6.2 Aufgaben der Performancemessung

Die Perfomancemessung soll zum einen Entscheidungsgrundlage für die


Geldanlage sein. Das bedeutet, dass ein potentieller Investor sich über die bisher
erreichte Zielrealisierung erkundigen kann und somit Anhaltspunkte für seine
Investitionsentscheidung hat.

Zum zweiten ist die Perfomancemessung dazu gedacht, die Anlageentscheidung eines
Portfoliomanagers zu beurteilen, sie soll demnach ein Maß für die erbrachte Leistung des
Portfoliomanagers sein. Nicht zuletzt können damit unterschiedliche Anlageverfahren
mit und ohne Einsatz Künstlicher Neuronaler Netze verglichen werden.

73
74 Perfomancemessung (Stefan Götz)

Dabei wird der Erfolg einer Geldanlage einerseits von den laufenden Zins- und
Dividendeneinnahmen, zum anderen von realisierten und nicht realisierten Gewinnen
und Verlusten beeinflußt.

Ein ideales Performancemaß berücksichtigt zur Beurteilung der Leistung des


Portfoliomanagers Rendite, Risiko, Timing und Selektion.

6.3 Anforderungen an die Perfomancemessung

Die Mindestanforderung die an eine erfolgreiche Perfomancemessung gestellt wird,


beinhaltet eine Aussage über den Anlageerfolg einer Investition. Zusätzlich können
jedoch noch weitere Anforderungen gestellt werden. Hierbei ist zum einen die
Vergleichbarkeit zu nennen. Ein Performancemaß soll demnach so gestaltet sein, dass
ein Vergleich der beurteilten Investition mit einer Alternativnalage, einem sogenannten
Benchmark, vorgenommen werden kann. Desweiteren gilt es, die Übersichtlichkeit
zu wahren und das Perfomancemaß in eine sinnvolle, geringe Anzahl von Werten
zu verdichten. Auch soll das Perfomancemaß leicht verständlich, plausibel und für
den Portfoliomanager nachvollziehbar gestaltet sein. Die wahrscheinlich wichtigste
Anforderung an ein Perfomancemaß dürfte aber sein, dass eine Unterscheidung von
Managerleistung und Zufallseinflüssen stattfinden soll. Es soll also gewährleistet sein,
dass sich der Einsatz eines Portfoliomanagers auch in einer höheren Performance
niederschlägt.

6.4 Perfomancemas̈e

Zunächst einmal soll festgehalten werden, dass das optimale Performancemaß nicht
existiert.

6.4.1 Volatilität und Beta-Faktor

Bevor verschiedene Berechnungsmöglichkeiten der Rendite aufgezeigt werden, will ich


die statistischen Kennzahlen Volatilität und Beta-Faktor näher erläutern. Die Volatilität
σ 2 ist nichts anderes als die Standardabweichung der beobachteten Renditeauspr ägungen
von ihrem Mittelwert, also

n
2 1X
σ = (ri − µ)2
n i=1

mit n Anzahl der Beobachtungen, ri stetige Rendite zum Zeitpunkt i und µ Mittelwert
der beobachteten Renditen.
6.4 Perfomancemas̈e 75

Der Beta-Faktor mißt die relative Kursschwankung eines Wertes X zu einem


Vergleichswert V (wobei i.d.R. als Vergleichswert das Marktportfolio, d.h. ein Index
herangezogen wird). Berechnet wird der Beta-Faktor folgendermaßen:

σX,Y
βX,Y = (6.1)
σV2
wobei

βX,V = Beta-Faktor von X in Bezug zum Vergleichswert V


σX,V = Kovarianz der Renditen von X und V 1
σV = Volatilität von V

6.4.2 Renditeberechnungen in Abhängigkeit von einem Benchmark

Um die Leistung eines Portfoliomanagers herauszustellen basieren Renditedefinitionen


häufig auf einem Vergleich mit dem Benchmark, d.h. es wird die Leistung des aktiv
gemanagten Depots mit der eines passiven Vergleichsportfolios oder mit dem besten
Depot verglichen. Es gilt:

RP = α P + βP RB (6.2)
mit

αP = von Benchmark unabhängige Rendite (Residualrendite)


βP = Portfoliosensitivität in Bezug auf den Benchmark
RB = Benchmarkrendite

Da das Ziel eines Portfoliomanagers sein muß, eine höhere Rendite zu erzielen, als mit
einer risikolosen Anlage ist, wurde die Kennzahl der Überschußrendite Re eingeführt.

R e = RP − Rf (6.3)

Das bedeutet, dass aus der erwirtschafteten Rendite der Teil herausgerechnet wird, der
auch mit einer risikolosen Anlage hätte erzielt werden können.

Im nächsten Schritt wird diese Überschußrendite mit der Überschußrendite des


e
Benchmark RB verglichen und daraus die Differenz gebildet. Der so ermitteltet Wert
ergibt die aktive Rendite Ra , also die Rendite, die durch aktives Eingreifen des
Portfoliomanagers erzielt wurde.

Ra = R e − R B
e
(6.4)

Zu beachten ist, dass selbstverständlich sowohl die Überschußrendite als auch die aktive
Rendite negative Werte annehmen können.
76 Perfomancemessung (Stefan Götz)

6.4.3 Berechnung der Portfoliorendite

Einfache Rendite

Bei der einfachen Renditeberechnung werden alle Mittelzu- und abflüsse so behandelt,
als würden sie zum Ende der Periode auftreten.

PT − P 0 − D t − M t
RP,t = (6.5)
P0

wobei

Dt = Dividenden
Mt = externe Mittelzuflüsse

Interne Rendite

Eine Methode, die die Mittelbewegungen im Zeitpunkt ihres Auftretens ber ücksichtigt,
ist die Methode der Internen Rendite.

Hierbei wird der Wert ermittelt, um den jede Geldeinheit (unabhängig vom Zeitpunkt
des Eintritts) im Betrachtungszeitraum im Durchschnitt gewachsen ist.

Es gilt folgende Gleichung:

n
X n
X
i(T −tj )
i
0 = P0 e + Dj e + Mj ei(T −tj ) − PT (6.6)
j=1 j=1

obei

i = stetige Rendite
T = Länge des Zeitraumes
tj = Zeitpunkt des j-ten Mittelzuflusses
n = Anzahl der Mittelzuflüsse

Allerdings bleiben bei dieser Berechnungsweise Wertschwankungen des Portfolions


unberücksichtigt, das bedeutet, dass der gemessene Erfolg maßgeblich von den
gewählten Start- und Endzeitpunkten abhängt. Die Leistung des Portfoliomanagers
bleibt unberücksichtigt.
6.5 Risikounterscheidung 77

Zeitgewichtete Rendite

Durch Berechnung einer zeitgewichteten Rendite findet eine stärkere Berücksichtigung


der Managementleistung statt. Es werden hierbei Einflüsse durch Mittelbewegungen
herausgerechnet und nur die Wertsteigerung des Ursprungsportfolios ermittelt. Hierf ür
wird der Betrachtungszeitraum in Subperioden unterteilt, deren Länge von den
Zeitpunkten der Mittelbewegungen abhängig ist. Anschließend werden die einzelnen
Subperiodenrenditen Ri berechnet und bezüglich ihrer Subperiodenlänge gewichtet.

P mi P di
PT,i − j=1 pi,j Mi,j + j=1 pi,j Di,j
Ri = P mi P di (6.7)
P0,i − j=1 qi,j Mi,j + j=1 qi,j Di,j

mit

PT,i =Endwert des Portfolios in der Subperiode i


P0,i =Anfangswert in der Subperiode i
pi,j =zeitlicher Anteil in der Subperiode i bis zur j-ten Mittelbewegung
qi,j =zeitlicher Anteil von der j-ten Subperiode bis Ende der Subperiode
Mi,j =Netto-Mittelzuflüsse
mi =Anzahl der Mittelbewegungen in Subperiode i
Di,j =Dividendenzahlungen
di =Anzahl der Dividendenzahlungen in i

Die Berechnung der Gesamtrendite ergibt sich nachfolgend als

v
uT
uY
T
R= t (1 + Ri ) − 1 (6.8)
i=1

6.5 Risikounterscheidung

6.5.1 Quantitative Risiken vs. qualitative Risiken

Eine Möglickeit Risiken voneinander zu unterscheiden ergibt sich dadurch, dass sich ein
Teil - die quantitativen Risiken - mithilfe statistischer Methoden in einen objektiven
Wert fassen lassen. Dies kann beispielsweise das Risikomaß der Volatilität sein.

Die qualitativen Risiken beruhen im Gegensatz dazu auf einer subjektiven Bewertung
wie sie besipielsweise von Rating-Agenturen abgegeben werden.
78 Perfomancemessung (Stefan Götz)

6.5.2 Basisrisiken vs. Spezielle Risiken

Eine andere Möglichkeit, die Risiken von Wertpapieren zu klassifizieren, besteht


in der Unterscheidung von Basisrisiken und speziellen Risiken. Zu den Basisrisiken
zählen vor allem das Konjunkturrisiko, das Inflationsrisiko, das Währungsrisiko
beim Erwerb ausländischer Papiere sowie das Länderrisiko, z.B. aufgrund mangelder
Devisentransferfähigkeit.

Die speziellen Risiken aus Sicht des Aktienkäufers lassen sich wiederum in
ein systematisches und ein unsystematisches Risiko einteilen. Dabei bezeichnet
das systematische Risiko die Preisänderung einer Aktie, die der allgemeinen
Tendenz des Marktes zuzuschreiben ist. Das unsystematische Risiko beschreibt das
unternehmensspezifische Risiko.

6.6 Risikomessung

Neben den bereits beschriebenen Kennzahlen von Volatilität und Beta-Faktor gibt es
zahlreiche weitere, die zur Risikomessung herangezogen werden können. Nachfolgend
werden zwei Kennzahlen näher erläutert.

6.6.1 Tracking Error

Der Tracking Error gibt das Abweichungsrisiko zwischen einem Portfolio und seiner
Benchmark wieder. Er berechnet sich folgendermaßen:

TP = σ(RP − RB ) (6.9)

Diese Kennzahl wird auch als Nachbildungsfehler bezeichnet.

6.6.2 Semivarianz

Bei der Volatilität als Risikomaß werden positive Abweichungen von der Rendite
genauso gewichtet wie negative. Da aber eigentlich nur negative Renditeabweichungen
risikorelevant sind, wurden sogenannte Downside-Risikomaße eingeführt. Ein Beispiel
heirfür ist die Semivarianz. Hierbei werden lediglich negative Renditeabweichungen
berücksichtigt.

n
1X −
SV = (R − µ)2 (6.10)
n i=1 i
6.7 Differenzierte Perfomancemessung 79

wobei Ri− eine negative Renditeabweichung darstellt.

Sofern eine symmetrische Renditeverteilung vorliegt ergibt sich für die Semivarianz
gerade die Hälfte der Varianz.

Als Zusatzinformation zur Semivarianz kann das Ausfallrisikomaß (Lower Partial


Moments) herangezogen werden. Hierbei kann der Investor Abweichungen der erzielten
Rendite von seiner geforderten Mindestrendite nach eigenen Risikovorstellungen
gewichten.

n
X
LP Mm = pi (Rmin + Ri− )m (6.11)
i=0

wobei

n = Anzahl der Renditeausprägungen kleiner als Rmin


i = Index der Renditeausprägung kleiner Rmin
pi = Wahrscheinlichkeit der Abweichung
Rmin = geforderte Mindestrendite
m = Höhe des Moments

Die Risikoaversion oder Risikofreude des Investors kann durch die richtige Wahl des
Parameters m bestimmt werden. Hierbei bedeutet ein m größer als 1 eine Risikoaversion,
d.h. größere Abweichungen von der Mindestrendite werden stärker gewichtet. Ein m von
1 bedeutet, dass die Abweichung gemäß ihrer Höhe bewertet wird.

6.7 Differenzierte Perfomancemessung

Die differenzierte Perfomancemessung versucht, die Erträge und Risiken von Portfolios
in Relation zueinander zu setzen. Hierzu gibt es ebenfalls zahlreiche Möglichkeiten,
wovon die Risikomaße nach Sharpe und nach Treynor betrachtet werden sollen.

6.7.1 Risikoadjustierung nach Sharpe

Der nach Sharpe entwickelte Risikomarktpreis eines Portfolios ergibt sich als

E(RP ) − RF
IS = (6.12)
σP

mit
80 Perfomancemessung (Stefan Götz)

E(RP ) = erwartete Rendite des Portfolios


RF = risikofreier Zinssatz
σP = Volatilität des Portfolios

Sofern Portfoliorenditen erzielt werden, die größer sind als die Rendite der risikofreien
Anlage (ist dies nicht der Fall, wäre ohnehin die risikolose Anlage vorzuziehen), ist
dasjenige Portfolio mit der niedrigeren Volatilität vorzuziehen. Dementsprechend ist
auch dessen Risikomarktpreis IS höher.

6.7.2 Risikoadjustierung nach Treynor

Der von Treynor erarbeitete Risikomarktpreis IT ähnelt dem von Sharpe. Einziger
Unterschied ist der Bezug der erwarteten Überschußrendite zum Beta-Faktor anstatt
zur Volatilität, also

E(RP ) − RF
IT = (6.13)
βP

Auch hier gilt, dass je größer der Risikomarktpreis, desto besser die Performance.

6.8 Vorabselektion von Künstlichen Neuronalen Netzen

Um vor dem Einsatz Künstlicher Neuronaler Netze eine gewisse Vorauswahl zu erhalten,
die geeignete Netze enthält, bieten sich verschiedene Möglichkeiten an.

6.8.1 Korrelationskoeffizient

Betrachtet man unterschiedliche KNN und ihre Ausgabewerte, so ist dasjenige


auszuwählen, dessen Korrelation mit den tatsächlich beobachteten Werten am größten
ist.

Pn
i=1 (xi
− x)(yi − y)
KorrX,Y = pPn pPn (6.14)
2 2
i=1 (xi − x) i=1 (yi − y)

6.8.2 Theill-Koeffizient

Mit Hilfe des Theill-Koeffizienten kann bestimmt werden, ob die Prognose des KNN
bessere Ergebnisse liefert als eine naive Prognose.
6.8 Vorselektion von KNN 81

Eine Möglichkeit einer naiven Prognose ist die Annahme, dass der Wert eines Portfolios
in t + 1 genau dem Wert in t entspricht. Hierfür berechnet sich der Theill-Koeffizient
wie folgt:

pPn
0 (yt − xt )2
T = pPn i=1 (6.15)
2
i=1 (xt − xt−1 )

Ergibt sich für T ein Wert größer/gleich 1 so bedeutet dies, dass der Schätzer schlechter
ist als die naive Prognose, anderfalls ist er besser.
82 Perfomancemessung (Stefan Götz)
Kapitel 7

Kreditrisikomodelle und Basel II

von Mihnea-Stefan Mihai

7.1 Worum geht’s?

Das Risikobewußtsein der Großanleger ist in den letzten Jahrzehnten durch


Deregulierung von Finanzmärkten, durch verbreitete Benutzung von derivativen
Finanzinstrumenten (Optionen, Terminkontrakte usw.) und nicht zuletzt durch
gravierende Fehlentscheidungen im Umgang mit solchen Instrumenten (siehe z.B. Jorion
(1997)) gestiegen. Im Bereich der Marktrisiken, die wir als Risiken im Zusammenhang
mit unvorteilhafter Entwicklung von Aktien und Aktienoptionen verstehen, wird der
Einsatz von stochastischen Risikomodellen und dem Risikomaß Value-at-Risk (das
99%-Quantil der Verlust- und Gewinnverteilung unter Berücksichtigung bisheriger
Information1 ) vom sogenannten Basel I Dokument (BIS, 1996) zugelassen. Diese
Vorschläge wurden bereits in das EU-Recht, und somit auch in das deutsche Recht
umgesetzt. Eine ähnliche Entwicklung gibt es seit einigen Jahren auch für Risiken im
Zusammenhang mit der Vergabe von Krediten. Diese Entwicklung ist unter dem Namen
Basel II bekannt. Das Basler Kommittee für Bankenaufsicht hat sich erst seit sehr kurzer
Zeit (BIS, 2004a,b) auf eine endgültige Liste von Vorschlägen festgelegt. Wir werden
daher in dieser Arbeit versuchen, einige grundlegende Aspekte dieser Entwicklung zu
verdeutlichen, um festzulegen, im welchem Maße und an welchen Stellen neuronale
Netze zum Einsatz kommen könnten.

1
Die Verteilung der sogenannten ”negativen Gewinne”. Verluste werden dabei durch positive Zahlen, Gewinne
durch negative Zahlen dargestellt.

83
84 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai)

7.1.1 Was ist Kreditrisiko?

Wir betrachten in dieser Arbeit das Kreditrisiko ausschließlich von der Seite des
Kreditgebers. Als erstes sollten wir klären, was unter dem Begriff Kredit verstanden
wird.

Definition Ein Kredit ist ein Vertrag zwischen zwei Parteien, dem Kreditgeber und
dem Kreditnehmer. Der Kreditgeber verpflichtet sich, dem Kreditnehmer zum heutigen
Zeitpunkt t0 den Betrag X0 zu zahlen. Der Kreditnehmer verpflichtet sich, zu den vorher
festgelegten Zeitpunken t1 < t2 < . . . < tn , dem Kreditgeber in t0 festgelegte Beträge
X1 , . . . , Xn für den erhaltenen Betrag X0 auszuzahlen.

Wenn der Kreditnehmer seine Verpflichtungen einhält und rt0 ,ti die risikolosen Zinsraten
pro Periode zwischen t0 und ti sind, so zahlt der Kreditnehmer dem Kreditgeber einen
auf t0 abgezinsten Betrag von.

n
X Xi
(7.1)
i=1
(1 + rt0 ,ti )ti −t0

Wenn der Kreditnehmer eine außerordentlich gute Bonität hat und Ausfälle
ausgeschlossen sind, dann entpricht die Summe in (7.1) dem heutigen Wert des Kredits
und sollte gleich dem Betrag X0 sein, den der Kreditnehmer für seine zukünftige
Einzahlungen heute erhält.

Sollte der Kreditnehmer aber keine außerordentlich gute Bonität haben, dann sind die
zukünftigen Einahmen des Kreditgebers unsicher. Das bedeutet, daß die tatsächlichen
Auszahlungen in ti unterhalb von Xi liegen und im Extremfall sogar ausfallen. Wir
müssen daher schon an dieser Stelle zwischen den vereinbarten Auszahlungen X i und
den tatsächlich eingetetenen Auszahlungen X̃i unterscheiden.

Der Kreditgeber erleidet einen Verlust, wenn die auf t0 abgezinsten Einzahlungen
weniger als X0 sind. Diese unvorteilhafte Entwicklung eines Kredites wird Kreditrisiko
genannt.

Für das eingegangene Kreditrisiko wird der Kreditgeber einen zusätzlichen Preis
verlangen, bzw. wird bei gleichbleibenden Einzahlungen X1 , . . . , Xn einen Betrag X0
auszahlen, der unterhalb der Summe in (7.1) liegt. Die Ermittlung des fairen Betrages
X0 hängt von der Bonität und von der Wahrscheinlichkeit von Ausfällen ab und wird
im Rahmen des sogenennten Pricing von Kreditrisiken ermittelt ( vergleiche Duffie
und Singleton (2003)). In dieser Arbeit werden wir uns nicht direkt mit dem Pricing
von Krediten beschäftigen, sondern mit der dafür nötigen Messung der Kreditrisiken.
Dabei möchte man die Information über das Risiko eines Kredites oder eines Portfolios
von Krediten in einer Zahl zusammenfassen. Diese kann z.B. der Value at Risk eines
Kredits bzw. eines Portfolios sein, ein Betrag, der potentielle Verluste mit einer
Wahrscheinlichkeit von 99% abdeckt. Das Problems des Managements von Risiken
werden wir hier ebenfalls nicht ansprechen, obwohl es von besonderer Bedeutung f ür
die effizente Verwaltung großer Kreditportfolios ist.
7.1 Worum geht’s? 85

7.1.2 Was ist ein Kreditrisikomodell?

Ein Kreditrisikomodell modelliert, die Unsicherheit des Kreditgebers über


die zukünftigen Einzahlungen der Kreditnehmer. In diesem Zusammenhang
betrachten wir die Einzahlungen X1 , . . . , Xn als stochastischen Prozess über einen
Wahrscheinlichkeitsraum (Ω, F , P ). Dabei spielen die Ereignisse eines Kreditausfalls
in ti , die wir mit Di bezeichnen, eine besondere Rolle. Man muß deshalb auf einem
Wahrscheinlichkeitsraum arbeiten, welches die Ereignisse Di enthält.

Selbstverständlich ist aus praktischer Perspektive die Spezifikation einer beliebigen


gemeinsamen Verteilung für die Xi ’s nicht sinnvoll. Vielmehr versuchen wir vernünftige
und angemessene Annahmen für die gemeinsame Verteilung der Xi und für die
Ausfallwahrscheinlichkeiten P (Di ) zu treffen. Dafür gibt es kein standardisiertes
Vorgehen. Die Intuition und die Erfahrungen der Personen, die das Modell aufstellen,
sind gefragt. Die Angemessenheit von Verteilungsannahmen kann mit statistischen Tests
geprüft werden, allerdings gibt es keine Rezepte für den Fall , dass sich die Annahmen
als nicht angemessen erweisen.

7.1.3 Weshalb Basel II?

Seit kurzem haben sich die Gouverneure der Zentralbanken und die Vorstände
der Bankenaufsichten der G10 Staaten über die endgültige Fassung der Basel II
Empfehlungen geeinigt. Diese wurden unter dem Titel International Convergence of
Capital Measurement and Capital Standards. A Revised Framework. im Juni 2004
veröffentlicht. (siehe auch BIS (2004b)).

Die Notwendigkeit von Basel II ergibt sich als Folge der Notwendigkeit
einheitlicher (sowohl quantitativer als auch qualitativer) Standards für das
Risikomanagement einzelner Banken. Mit der Einsetzung stochastischer Modelle f ür
das Marktrisikomanagement haben Banken seit einigen Jahren positive Erfahrungen
gemacht. Nun möchte man stochastische Modelle auch für das Management von
Kreditrisiken einsetzen. In Basel II werden, soweit wie möglich, Mindestbedingungen
festgelegt, welche die Kreditrisikomodelle erfüllen müssen, damit diese die gewünschten
Ergebnisse für die Kreditrisikoabdeckung und das Kreditrisikomanagement liefern.
Eine der Folgen von Basel II ist, dass die Fähigkeit der Kreditnehmer, laufende
Zahlungsverpflichtungen vereinbarungsgemäß zu erfüllen (deren Bonität) bei der
Ermittlung des Kreditpreises eine viel wichtige Rolle spielt als bisher. Dieser Punkt
ist in den letzten Jahren häufig in den Medien diskutiert worden und in diesem
Zusammenhang wurde auch auf mögliche negative Folgen von Basel II, insbesondere
für mittelständische Unternehmen, hingewiesen.
86 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai)

7.2 Komponenten eines Kreditrisikomodells am Besipiel


von CreditMetricsT M

Wir werden im folgenden Abschnitt eine vereinfachte Version eines bestehenden


Kreditrisikomodells darstellen. Es handelt sich dabei um CreditMetricsT M , einem
Modell, das von der US-Investmentbank J.P. Morgan entwickelt wurde (siehe Gupton
u. a. (1997)). Wir werden dabei nicht die Analyse von Kreditportfolios betrachten,
sondern nur den Fall eines einzelnen Kredits untersuchen. Das Modell beschreibt
die Entwicklung eines Kredits für einen Zeithorizont von einem Jahr, gegeben die
Information über die Entwicklung von Krediten in vergangenen Jahren.

Laut dem technischen Dokument von CreditMetricsT M (siehe Gupton u. a. (1997, Seite
23)) werden vier Faktoren bei dem Aufbau des Modells berüksichtigt:

1.) das Kreditrating, welches die Änderung der Qualität des Kredits bzw. dessen Ausfall
über den betrachteten Zeithorizont steuert

2.) die Übergangs- und Ausfallwahrscheinlichkeiten , die im direktem Bezug zum


Kreditrating stehen

3.) die Zinsstrukturkurve für jedes einzelne Rating, die den Wert des Kredits bestimmt,
wenn der Kredit ein bestimmtes Rating hat

4.) der Vorrang (seniority) des Kredits bestimmt der Anteil des Kredits, der bei einem
Ausfall zurückerhalten wird

Diese Komponenten werden wir nun im Einzelnen betrachten.

7.2.1 Kreditrating

Das Kreditrating ist eine ordinal skalierte Größe, welche die Kreditwürdigkeit des
Kreditnehmers beschreibt (siehe Bluhm u. a. (2003)). Ein Unternehmen erh ält als
Rating einen Wert auf einer Skala von sehr kreditwürdig bis nicht kreditwürdig. In der
Praxis wird das Kreditrating nicht als Ergebnis eines quantitativen Verfahrens ermittelt,
vielmehr spielt die Erfahrung und das Fingerspitzengefühl des Ratinganalysten eine
entscheidende Rolle. Wenn quantitative Verfahren bei der Bestimmung des Ratings
eingesetzt werden, dienen diese lediglich zur Orientierung. Aus meiner Sicht ergibt
sich dabei das Problem, dass die Genauigkeit der Ratingeinstufung immer wieder in
Frage gestellt wird. Es ist durchaus möglich, daß erfahrene Ratinganalysten sehr gute
Einschätzungen liefern, die potentielle Gefahr einer falschen Ratingeinstufung bleibt
und wird weiter im Modell auch nicht berücksichtigt.

Große Unternehmen, die Kredite über die Emmission von Anleihen auf dem
Kapitalmarkt aufnehmen, sind in der Regel von einer oder mehreren der
drei großen Ratingagenturen Standard&Poors (http://www.standardandpoors.com),
7.2 CreditMetrics 87

Moodys (http://www.moodys.com) und Fitch (http://www.fitchratings.com). Die


Ratingklassen der drei großen Ratingagenturen sind nicht identisch, sind dennoch gut
vergleichbar (siehe Bluhm u. a. (2003)).

Kleinere Unternehmen sollen nach Einführung von Basel II von den Banken intern
geratet werden, wenn sich die Banken für ein stochastisches Risikokontrollmodell
entscheiden . Über die Ansätze zum internen Rating ist leider sehr wenig bekannt.

Jedes Unternehmen, das Kredite erhält, wird auf Jahresbasis geratet. Das bedeutet,
daß sich das Rating eines Unternehmens innerhalb eines Jahres ändern kann. Diese
Änderungen sind im Voraus nicht mit Sicherheit bekannt, daher interessieren uns die
Übergangswahrscheinlichkeiten von Ratingänderungen.

7.2.2 Übergangs- und Ausfallwahrscheinlichkeiten

Angenommen, es existieren n Ratingklassen 0, . . . , n − 1 und die Klasse Ausfall (n).


Das Kreditrating zum Zeitpunkt t wird als diskrete Zufallsvariable Yt betrachtet, deren
möglichen Werte 0, 1, . . . , n sind. Die Übergangswahrscheinlichkeit eines Kredits aus dem
Rating i ∈ {0, . . . , n} in das Rating j ∈ {0, . . . , n} ist die bedingte Wahrscheinlichkeit

P (Yt+1 = j|Yt = i) (7.2)

Diese gibt uns an , mit welcher Wahrscheinlichkeit ein Kredit mit jetzigem Rating i in
einem Jahr das Rating j haben wird. Die Wahrscheinlichkeiten P (Yt+1 = j|Yt = n) werden
als Ausfallwahrscheinlichkeiten bezeichnet.

Übergangs- und Ausfallwahrscheinlichkeiten werden oftmals in einer sogenennten


Übergangsmatrix At+1,t zusammengefasst:

At+1,t = (P (Yt+1 = j|Yt = i)) i = 0, . . . , n


(7.3)
j =, . . . , n

Man nimmt auch an, daß ein Kredit, der ausgefallen ist, nicht mehr aus diesem Zustand
herauskommt, also daß


0 für i < n
P (Yt+1 = i|Yt = n) = (7.4)
1 für i = n

Übergangswahrscheinlichkeiten für den Fall Yt = n werden durch diese Beziehung


modelliert.

Zur Modellierung der Ausfallwahrscheinlichkeiten im Fall Yt 6= n gibt es mehrere


Ansätze. Eine Möglichkeit wäre anzunehmen, daß die Ausfallwahrscheinlichkeiten
88 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai)

für alle t gleich sind, also daß die Matrix A konstant ist. Verschiedene Studien
(z.B. Nickell u. a. (2000)) widerlegen diese Hypothese und belegen, daß sich
Übergangswahrscheinlichkeiten in Abhängigkeit von Variablen wie Konjunkturzyklus,
vom Unternehmenssitz und von der Branche ändern. Für die Modellierung der
Übergangswahrscheinlichkeiten bei einem gegebenen Ausgangsrating Yt = i(i 6= n) in
Abhängigkeit von diesen Variablen weden Ordered Probit Modelle (siehe Greene (2003,
Kapitel 21.8)) vorgeschlagen und verwendet.

Für den Fall n = 1, also wenn die Ratings lediglich aus den zwei Zuständen Ausfall
(Yt = 1) und kein Ausfall (Yt = 0) bestehen, und bei gegebenen Variablen zt1 , . . . , ztK würde
nach dem Vorschlag in Nickell u. a. (2000) die Ausfallwahrscheinlichkeit P (Yt+1 = 1|Yt = 0)
wie in einem Probit-Modell (vergleiche Greene (2003, Kapitel 21.3)) durch

P (Yt+1 = 1|Yt = 0) = Φ (β0 + β1 zt1 + . . . + βK ztK ) (7.5)

Ry  2
gegeben, wobei Φ(y) = √1 exp − x2 dx die Verteilungsfunktion der N (0, 1)-Verteilung

−∞
darstellt. Die Wahrscheinlichkeit, daß der Kreditnehmer im nächsten Jahr solvent ist,
wäre dann durch

P (Yt+1 = 0|Yt = 0) = 1 − Φ (β0 + β1 zt1 + . . . + βK ztK ) (7.6)

gegeben.

Interessant dabei ist, daß die Übergangswahrscheinlichkeiten als nichtlineare Funktionen


gegebener (Input-)Variablen dargestellt werden. Der Wertebereich dieser Funktionen ist
das Intervall [0, 1].

Anhand der Ausfallwahrscheinlichkeiten könnte ein Kreditgeber über die Vergabe


eines Kredits entscheiden. Als Entscheidungsregel könnte man sich folgende Funktion
vorstellen:


Vergabe wenn p ≤ p0
Z= (7.7)
Ablehnung wenn p > p0

Dabei sei p0 ∈ [0, 1] und p = P (Yt+1 = 1|Yt = 0) die Ausfallwahrscheinlichkeit des Kredits.
Diese Vergabe ist fehlerbehaftet, da es passieren kann, daß Kredite vergeben werden,
die in einem Jahr ausfallen oder daß Kredite nicht vergeben werden, die in einem Jahr
noch solvent sind.

7.2.3 Zinsstrukturkurve und Terminzinssätze

Für jedes mögliche Rating i = 0, . . . , n − 1 möchten wir den Wert des Kredits in einem
Jahr ermitteln, unter der Bedingung, dass das Kreditrating im nächsten Jahr Yt+1 = i
7.2 CreditMetrics 89

ist. Falls i 6= n müssen wir wissen, wie die verbliebenen zukünftigen Auszahlungen auf
den Zeitpunkt t + 1 zu diskontieren sind. Wir brauchen dafür die Zinsstrukturkurve im
Rating i. Dabei gehen wir davon aus, daß alle Kredite, die mit einem Rating i versehen
werden, auch gleiches Risiko haben.

Die Zinsstrukturkurve ist eine Funktion der Laufzeit t und gibt für Kredite des
Ratings i den Diskontierungssatz für einen Kredit mit einmalinger Einzahlung in t
(einer Nullkuponanleihe) an. Mit Hilfe der Zinsstrukturkurve können Terminzinssätze
hergeleitet werden, die wir zur Diskontierung auf dem Zeitpunkt t + 1 brauchen werden.

Angenommen, eine Bank möchte heute Geld anlegen, um in zwei Jahren 100 Euro
aus der Anlage zu erhalten. Dabei hat Sie die Möglichkeit das Geld an drei Kunden
mit gleichem , über die zwei Jahre unveränderbarem Rating zu vergeben. Der erste
Kunde verpflichtet sich, der Bank in zwei Jahren 100 Euro zu zahlen. Der zweite Kunde
möchte das Geld nur für ein Jahr ausleihen und zahlt dafür neben der erhaltenen
Summe die üblichen ein-Jahreszinsen am Ende des ersten Jahres zurück. Der dritte
Kunde verpflichtet sich heute, in einem Jahr die Einzahlung des zweiten Kunden zu
übernehmen und dafür in zwei Jahren 100 Euro auszahlen. Der Zins, den der dritten
Kunde für den entgegengenommenen Betrag zahlt, nennen wir Terminzinssatz für eine
einjährige Anlage in t + 1. Die Bank ist zwischen den beiden Möglichkeiten, in 2 Jahren
100 Euro zu erhalten, indifferent. Daher ergibt sich der Terminzinssatz f t+1,t+2 aus der
Beziehung

(1 + rt,t+1 )(1 + ft+1,t+2 ) = (1 + rt,t+2 )2 (7.8)

Dabei sind rt,t+k die Zinsen, die in t für die Auszahlung einer festgelegten Summe in t + k
in Kauf genommen werden müssen und können aus der Zinsstrukturkurve abgelesen
werden. Allgemein gilt für den l-jährigen Terminzinssatz in t + k:

(1 + rt,t+k )k (1 + ft+k,t+k+l )l = (1 + rt,t+k+l )k+l (7.9)

Diese Gleichung kann nach dem Terminzinssatz ft+k,t+k+l aufgelöst werden.

Wenn tk < t + 1 ≤ tk+1 , dann folgen nach t + 1 die Einzahlungen Xk+1 , . . . , Xn . Somit ergibt
sich als Wert des Kredits für jede Ratingklasse j

n
X Xi
vj = (7.10)
i=k+1
(1 + ft+1,ti )ti −t−1

Die Werte für die einzelnen Ratingklassen sind unterscheidlich, da für die
einzelnen Ratingklassen unterschiedliche Zinsstrukturkurven gelten. Es ist sinnvoll,
daß Zinsstrukturkurven für bessere Ratingklassen unterhalb der Zinsstrukturkurven
für schlechtere Ratingklassen liegen.
90 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai)

Kreditwert v0 ... vn

Wahrscheinlichkeit P (Yt+1 = 0|Yt ) ... P (Yt+1 = n|Yt )

Tabelle 7.1: Bedingte Verteilung des Kreditwerts in einem Jahr zum Zeitpunkt t

Verlust V t − v0 ... Vt − v n

Wahrscheinlichkeit P (Yt+1 = 0|Yt ) ... P (Yt+1 = n|Yt )

Tabelle 7.2: Bedingte Verteilung des Verlustes in einem Jahr zum Zeitpunkt t
Für die Klasse Ausfall wird angenommen, daß je nach Besicherung des Kredits der
Kreditwert ein Anteil γ von Nennwert des Kredits ist (vergleiche Gupton u. a. (1997,
Seite 26)).2 Den Wert des ausgefallenen Kredits bezeichnen wir mit vn .

Somit erhalten wir für den Kreditwert Vt+1 in einem Jahr bedingt durch die Information
bis zum heutigen Zeitpunkt t die diskrete Verteilung mit n + 1 Trägerpunkten aus der
Tabelle 7.1 hat. Damit können wir die bedingte Verteilung des Verlustes im Laufe des
kommenden Jahres angeben. Wenn Lt = Vt − Vt+1 der Verlust zwischen t und t + 1 ist, so
erhalten wir für den Verlust Lt die Verteilung in der Tabelle 7.2

Die Verteilung in der Tabelle 7.2 dient als Grundlage zur Herleitung der
Kreditrisikomaße.

7.2.4 Kreditrisikomaße

Ein bekanntes Risikomaß ist der Value at Risk. Der Value at Risk ist das 99%-Quantil
der Verteilung der Verluste und Gewinne. Dabei werden Verluste als positiv betrachtet
und Gewinne als negativ. Wenn Lt die Zufallsvariable der Verluste/Gewinne ist, so ist
deren bedingte Verteilung in der Tabelle 7.2 angegeben. Formal können wir dann den
Value at Risk des Kredits durch

V aRt = inf{x|P (Lt ≤ x|Yt ) ≥ 0.99} (7.11)

Für einzelne Kredite ist der Value at Risk nicht besonders informativ. Sollte z.B.
die Ausfallwahrscheinlichkeit größer als 0.01 sein, so ist der Value at Risk gleich
der Differenz Vt − vn und entspricht dem maximalen Verlust, der bei der Vergabe
dieses Kredits in einem Jahr auftreten könnte. Das heißt, daß insbesondere bei der
Betrachtung eines Kredits für einen Kreditnehmer mit schlechter Bonität das Maß sehr
wenig informativ ist. Der Nutzen des Value at Risk wird erst ersichtlich wenn man
diese Größe nicht für einen einzelnen Kredit, sondern für ein Portfolio von Krediten
2
Diese Annahme gilt nur, wenn es einen Nennwert des Kredits gibt. Das ist genau dann der Fall, wenn X 1 =
. . . = Xn−1 und Xn > Xn−1 . Die Differenz Xn − Xn−1 wird Nennwert des Kredits genannt. Aus der Sicht des
Kreditnehmers entspricht die Erhaltung eines solchen Kredits der Emmission einer Kuponanleihe mit Kupon gleich
Xn − Xn−1 , vergleiche z.B Fabozzi (2001, Seite 5)
7.3 Anwendung KNN 91

berechnet. Die Verteilung der Verluste für ein Portfolio von Krediten wird weiterhin
diskret sein, aber ist deutlich besser mit einer stetigen Verteilung approximierbar und
dann ist der Value at Risk nicht automatisch gleich dem maximalen Protfolioverlust.

7.3 Wo kann man in Kreditrisikomodellen neuronale Netze


anwenden?

Im Abschnitt 7.2.2 haben wir die bedingten Ausfall- und Übergangswahrscheinlichkeiten


eingeführt. Im einfachsten Modell mit n = 1 Ratingklassen ließen sich diese als
Funktionen gegebener Faktoren wie z.B in den Formeln (7.5) und (7.6) bestimmen. Eine
genaue Begründung, weshalb diese Funktion genau die dort vorgegebene Gestalt haben
soll liegt nicht vor. Wir könnten daher versuchen, unseren Ansatz zu verallgemeinern,
indem wir forden, daß

P (Yt+1 = 1|Yt = 0) = f (xt1 , . . . , xtK ) (7.12)

und

P (Yt+1 = 0|Yt = 0) = 1 − f (xt1 , . . . , xtK ) (7.13)

wobei f : Rk 7→ [0, 1] eine allgemeine Funktion mit Werten im Intervall [0, 1] ist. Zur
Schätzung dieser Funktion könnten wir neuronale Netze einsetzen.

7.4 Fazit

Das hier vorgestellte Modell ist eine sehr starke Vereinfachung des CreditMetrics T M
Modells. Es wird nicht auf die Betrachtung von Portfolios eingegangen und es wird
vorausgesetzt, daß die Werte des Kredits in einem Jahr bekannt sind, wenn bekannt ist,
in welcher Ratingklasse der Kredit sich in einem Jahr befinden wird. Eine Abhängigkeit
der Übergangswahrscheinlichkeiten in t von Übergangswahrscheinlichkeiten in t − 1 wird
ausgeschlossen. Die Vereinfachungen sind sinnvoll, um die grundlegenede Struktur des
CreditMetricsT M Modells darzustellen.

Wir haben auch festgelegt, daß im Prinzip der Einsatz neuronaler Netze im
CreditMetricsT M Modell für die Schätzung der Übergangswahrscheinlichkeiten sinnvoll
wäre. Es bleibt nun zu untersuchen, wie dieses Schätzverfahren umgesetzt werden soll.
92 Kreditrisikomodelle und Basel II (Mihnea-Stefan Mihai)
Literaturverzeichnis

[BIS 1996] BIS: Amendment to the capital accord to incorporate market risks. Januar
1996. – Verfügbar unter : http://www.bis.org/publ/bcbs24.pdf
[BIS 2004a] BIS: Consensus achieved on Basel II proposals.
http://www.bis.org/press/p040511.htm. 11Mai 2004
[BIS 2004b] BIS: International Convergence of Capital Measurement and Capital
Standards. A Revised Framework / Basel Committee on Banking Supervision. Juni
2004. – Forschungsbericht. Verfügbar unter : http://www.bis.org/publ/bcbs107.htm

[Bluhm u. a. 2003] Bluhm, Christian ; Overbeck, Ludger ; Wagner, Cristoph: An


Intorduction to Credit Risk Modeling. Chapman & Hall, 2003
[Duffie und Singleton 2003] Duffie, Darrell ; Singleton, Kenneth J.: Credit Risk.
Pricing, Measurement and Management. Princeton University Press, 2003

[Fabozzi 2001] Fabozzi, Frank J.: The Handbook of Fixed Income Securities. McGraw-
Hill, 2001
[Greene 2003] Greene, William H.: Econometric Analysis. 5. PHIPE. Prentice Hall.,
2003

[Gupton u. a. 1997] Gupton, Greg M. ; Finger, Cristopher C. ; Bhatia, Mickey:


CreditMetrics - Technical Document. The benchmark for understanding credit risk.
/ Morgan Guaranty Trust Company. 2 April 1997. – Forschungsbericht. available at:
http://www.riskmetrics.com/pdf/CMTD1.pdf

[Jorion 1997] Jorion, Philippe: Value at Risk. The new benchmark for controlling
derivatives risk. McGraw Hill, 1997
[Nickell u. a. 2000] Nickell, Pamela ; Perraudin, William ; Varotto, Simone: Stability
of rating transitions. In: Journal of Banking & Finance 24 (2000), Januar, Nr. 1-2,
S. 203–227

93
94 LITERATURVERZEICHNIS
Kapitel 8

Using neural networks to forecast stock


indices

von Christine Kiefer

8.1 Introduction

There is a wide range of applications for neural networks across a large number of
discplines, among them speech recognition, industrial orduction, spacecraft engeneering
and medicine. In finance and banking, artificial intelligence has been utilised for the
estimation of credit risk and the forecasting of macroeconomic variables.

A very interesting application of neural networks in economics is the forecasting of stock


prices. Such a working forcasting model Could yield huge profits for its creator. But
the creation of neural networks is hard work: Besides the complex theory behind neural
networks, the eager scientists will soon feel lost among the large number of possibilities
to implement a neural network. Even though there are many papers about current
research of neural networks for stock price forecasting, few of them reveal all relevant
details. This chapter describes in detail the process of implementing a neural network,
with the purpose to serve as a guide on how to develop, train and evaluate a neural
network for stock price forcasting.

To develop a neural network, a good understanding of the following subjects is necessary:

• The theory of neural networks: How they are built, how they work, and which
tasks they can be used for.

• A neural network simulator: A simulator is a program that implements an artifical


neural network. Simulators are used to create, train and visualise neural networks.

95
96 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.1: Jordan network with connections between the output cells and the context cells. The
context cells have direct feedback connections. Source: [Zel94, p. 138.]

• A data processing tool and a programming language: To prepare and to evaluate


data.

It is assumed that the reader disposes of a good understanding of neural networks


and therefore limits the theory to introducing partially recurrent networks, a network
topology that is well suited for the processing of time series.

The focus of this chapter lies on the practical aspects, such as the data pre- and
postprocessing and the simulation. The tool used for the simulation is the Stuttgart
Neural Network Simulator (SNNS). In the last section, the reader is guided through
the process of preprocessing a time series, creating and training a neural network and
making forecasts of the underlying time series.

8.2 Partially recurrent networks

Partially recurrent networks are particularly suitable for the recognition and
classification of time dependent patterns and for time series prediction. Mathematically,
a time series is a sequence of vectors depending on time t. The components of the vectors
can be any observable variable, such as the temperature in a room or the price of a
certain stock. The aspect of time is crucial for the processing, since each state depends
of the previous state. Therefore, not only the pattern itself, but also the position of the
pattern in the entire sequence is important.

Partially recurrent networks contain special hidden cells, the so-called context cells.
These networks are derived from feedforward-networks but dispose of connections
between the hidden or the output layer and the context cells. The context cells process
and save the output of the network and feed these parameters back to the network.
The partially recurrent networks have the advantage over the recurrent networks that
the can be trained with modified feedforward algorithms, which are much more efficient
than the training algorithms for recurrent networks.
8.2 Partially recurrent networks 97

Abbildung 8.2: Elman network. The context cells are connected with the cells of the hidden layer and
have no direct feedback connections. Source: [Zel94,p.141].

8.2.1 Jordan networks

Jordan networks are feed-forward networks enhanced by context cells that save the
output of a training cycle as shown in Figure 8.1 (This figure and the next figures
are taken from [Zel94] 1 , probably the best German book about neural networks). The
input cells and the context cells deliver the input for the hidden layer. Their output is
transmitted to the output layer. The output of the output layer is delivered externally as
the result of the training cycle, but is also transmitted to the context cells. The number
of context cells and the number of output cells must be the same. The connections
between them have a fixed, not trainable weight γ, which is mostly equal to 1. The
context cells possess direct feedback connections with the weight λ. The parameter λ
regulates the memory of the network. A small value close to 0 puts the emphasis on
recent states. Hence, the network ’forgets’ quickly, but responds quick to recent changes.
A value close to 1 stresses the influence of older outputs. If λ = 1.0, all previous outputs
are summed up. A value of λ = 0.5 is therefore a good compromise between old and
new outputs. The weights λ and γ are not trainable. According to [Jor86] 2 , this would
not increase the performance of the network significantly.

8.2.2 Elman networks

Elman networks are a modification of the Jordan networks. A disadvantage of the Jordan
networks is that they cannot save the internal state of the hidden layer, but only the
outputs. Elman networks are able to do so: In Elman networks, there are connections
between the units of the hidden layer and the context cells (see Figure 8.2). There are
no connections between the output cells and the context cells. Also, the context cells
posses no direct feedback. Again, the number of context cells must be equal to the
number of cells in the hidden layer. The connections between them have a fixed weight
of one. The context cells save the activations of the hidden cells of the previous state.

1
[Zel94] Zell, A., Simulation neuronaler Netze, Oldenburg Verlag, München, 3. Auflage, 1994
2
[Jor86] Jordan, M. I., Attactor dynamics and parallelism in a connectionist sequential machine, Proceedings of
the Eighth Annual Conference of the Cognitive Science Society, pp. 531-546, Erlbaum, Hillsdale NJ, 1986
98 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.3: Hierarchical Elman network with two hidden layers Source: [Zel94, p.142].

8.2.3 Hierarchical Elman networks

Elman networks are restricted to one hidden layer. Hierarchical Elman networks can
have more than one hidden layer, where each hidden layer is assigned a layer of context
cells with a number of cells equal to the number of cells in the corresponding hidden
layer (see 8.3).

As in the Jordan networks, the context cells can have direct feedback connections.
The parameter λ can be different for each layer of context cells. Hence, they are more
powerful and deliver better results for certain problems than simple Elman networks or
Jordan networks.

8.2.4 Training of partially recurrent networks

If the connections between the hidden layers (output layers, respectively) and the
context cells are omitted, the partially recurrent networks change to normal feed-
forward networks with additional input cells. Partially recurrent networks can therefore
be trained with a slightly modified version of the backpropagation algorithm or similar
learning algorithms such as SuperSAB, Quickprop or Rprop:

1. Initialise the context cells

2. For every training pattern:

• Process the input pattern and propagate to the output (without considering
the recurrent connections)
• Compare the real output and the desired output and calculate the error signal
• Backpropagate the error signal from the output cells to the input cells
• Calculate the change of the weights (without considering the recurrent
connections)
8.3 Tools for developing neural networks 99

• Adapt the weights


• Calculate the next state of the context cells corresponding to their input
connections. This is the only step where the recurrent connections are
considered.

8.3 Tools for developing neural networks

There a various simulators for neural networks that implement different network
topologies and learning methods. Some simulators can be obtained for free, such as the
Stuttgart Neural Network Simulator, which is used for the case studies of the folloing
sections.

Spreadsheet programs allow to perform mathematical, statistical and other calculations


on large data sets and offer a toolset to visualize the data in graphs and tables. The
cells are organized in rows and columns, and contain data or formulas with relative
or absolute references to other cells. One of the most popular spreadsheet programs is
Microsoft Excel, which was used for the processing of the data and the evaluation of
the results.

8.3.1 Stuttgart Neural Network Simulator

The SNNS (Stuttgart Neural Network Simulator) is a simulator for neural networks
developed at the Institute for Parallel and Distributed High Performance Systems
(Institut fuer Parallele und Verteilte Hoechstleistungsrechner, IPVR) at the University
of Stuttgart since 1989. The goal of the project is to create an efficient and flexible
simulation environment for research on and application of neural nets3 .

The SNNS can be used under Unix as well as Windows system. If using windows, the
user can decide between the x-windows version that has originally been designed for
Unix system but has been ported to windows and the JavaNNS version. JavaNNS is a
graphical user interface for windows that is easier and more convenient to use than the
x-windows version.

The advantage of the x-windows version is that there are many functionalities that
have not been implemented in JavaNNS. A good example is the BigNet creator: With
BigNet, it is very easy to create all kinds of network topologies. It has been used in this
case study to create the hierarchical elman network. The SNNS can also be used from
the comandline without graphical user interface. Figure 8.4 shows a screenshot of the
JavaNNS.

The SNNS GUI consists of five windows:


3
SNNS manual, can be obtained under http://www-ra.informatik.uni-tuebingen.de/SNNS/
100 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.4: Screenshot of the Stuttgart Neural Network Simulator. There are five control panels:
The display window, the log, the control panel, the error graph and the analyser.
8.3 Tools for developing neural networks 101

Abbildung 8.5: Pattern file

1. Display window: Displays the network.

2. Control pane: Within the control panel, the user can choose functions for
initialising, updating and training the network, adjust the parameters for the
learning algorithms, select the training and validation files and prune the network.

3. Log window: Shows the numerical value of the error during training and validation.

4. Error window: Visualises the training and the validation error.

5. Analyser: Shows how the output or the activation of one unit depends from another
unit. The analyser can be used to visualise the behaviour of the network when
confronted with new data or to monitor how an output unit behaves when a series
of patterns is tested.

The command line version of the SNNS offers a simple programming language called
batchman. Batchman is similar to C and possesses a few data types and control
structures. Batchman facilitates the training and testing of large sets of nets. For the
case studies, batchman and JavaNNS were used in combination. The SNNS requires a
certain file format for the files that contain the training, validation and testing data.

These pattern files have the ending .pat and are structured as in Figure 8.5: The header
specifies when the file was generated, how many patterns (or datasets) the file contains
in total, and how many input and output parameters belong to each data set. Comments
are marked by a ]. When the pattern files are loaded into the simulator kernel, the SNNS
checks if the numbers of input and output patterns agree with the network topology.
The SNNS does not offer a function to generate pattern files, so external programs have
to be used to convert the data into the right file format.
102 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.6: The process of building, training and testing a neural network

8.3.2 Microsoft Excel

Microsoft Excel is a spreadsheet program that offers a wide range of functions to process
data sets. The raw data for the case studies was obtained as Microsoft Excel files. During
the system development of the case studies, Microsoft Excel was used to difference and
scale the data, to perform correlations analysis between time series, and to visualise
results.

Microsoft Excel contains the programming language Visual Basic. Visual Basic helps to
automate procedures in form of macros. Besides data pre- and post-processing, Visual
Basic scripts were used to transforma the datasets into the pattern file format required
by the SNNS.

8.4 System development process

Figure 8.6 shows the routine of building the neural networks. The process has to be
repeated for each set of input variables and for each network topology until the results
are satisfying.

The steps of the system development process are:

1. Selection of input and output variables: First, the raw data for input and output
has to be chosen. This choice involves the selection of the columns of the Excel
table that contain the raw data. Important is the logic behind this selection: What
8.4 System development process 103

function is the neural network supposed to learn? What might be the relationship
between the variables? There must be a function of some sort that connects the
input data and the output data; otherwise, it is impossible for the neural network
to deliver good results. Therefore, it is crucial to have a precise idea, which kind
of relationship might underlie the raw data and how the network could learn it.

2. Pre-processing: The selected variables have to be pre-processed, which involves


scaling at least. The transformed variables have to be converted into the pattern
file format required by the SNNS.

3. Building the neural network: The network can be built via the BigNet tool of the
SNNS or via the graphical user interface of the JavaNNS. The number of units of
the input and output layers are determined by the number of input and output
variables that were selected in step one. The rest of the topology, such as the
number of layers, the number of units per hidden unit and the type of connections
is are not pre- determined and leave room for experimentation. As such, a set
of input variables should be tested with different network topologies to find the
network that fits best.

4. Batch program: When the network is built, the program to execute the training
and testing is written in the batchman programming language of the SNNS.

5. Training and testing: The Batch program is executed and writes the errors of the
training, validation and testing into a log file.

6. Selection of the best results: The log files allow to compare the errors for different
topologies and different sets of input variables. The purpose is to filter out the
networks with the smallest validation and testing errors.

7. Evaluation: The results are extracted to Microsoft Excel to perform a statistical


and visual analysis of the result. This step includes an evaluation of the ability of
the network to give forecast for the testing period.

8. Change network topology: The evaluation also involves an evaluation of the logic of
the network, i.e. if the network was able to learn the function. This is documented
by the training error. If the training error remained high during the training, it
might be necessary to change the network topology by adding or deleting layers
or units of the hidden layers.

9. Change input variables: If the results are not satisfying, more tests have to be
conducted with a large or smaller set of input variables. Alternatively, some of the
input variables could be replaced by other input variables to find the combination
of variables that delivers the best results.

These steps are repeated until the results cannot be improved any further. Finally, the
best network for each module can be selected.
104 Using neural networks to forecast stock indices (Christine Kiefer)

8.5 Case study: Forcasting the DAX

In this case study, we train a neural network solely with the values of the DAX, the
German Stock index. Based on the DAX value of today, we try to train a neural network
so it will return the DAX value of tomorrow.

8.5.1 Obtaining and preprocessing the data

The source for the DAX time series is DataStream. DataStream is an information
provider for all kinds of economic data, for macroeconomic data, for financial markets,
and time series. We obtain the closing price of the DAX from January 1th 1987 until
June 21 2006. The data is saved as a Microsoft Excel Worksheet.

The DAX values fall into a range between 1000 and 8000 points for this timeframe.
We cannot use the raw data as input for the neural network as the activation function
would always produce an output of 1 for these high values. Therefore, we scale the DAX
so all values fall in the intervall [0;1].

We do so by using the formula:

DAX−min
x= max−min

We set the minimum to 1000 points and the maximum to 8000. This new time series
can be used as input for the JavaNNS. For JavaNNS, we need three types of files:

1. for training

2. for validation

3. for testing.

The training file contains the data that will be used to train the neural network. In total,
we have 5080 values for the DAX. 4600 are used for training, the rest for test. Every n
cycles, the JavaNNS calculates the error of the network by testing the validation file.
The validation file containts every fourth data set of the training file. The testing file
contains the last 480 values of the DAX. When training is finished, we test how the
network performs when receiving new input data.

8.5.2 The network

The network is a hierarchical elman network with one input unit, two hidden layers
with 10 hidden units and 10 context units each, and one output unit with one context
cell. The network has been built with the BigNet tool of the x-windows version of the
8.5 Case study: Forcasting the DAX 105

Abbildung 8.7: Results of the forcasting

SNNS. Figure 8.4 shows the network in the display window. The network first has to be
initialised under the ’Initializing’ tab of the control panel. There is a special function for
initialising Jordan and Elman networks. We set the value of λ to 0.5. Under ’File’, the
pattern file have to be loaded. In the control panel, the corresponding files for training
and validation can be selected under the ’Patterns’ tab. Learning is started from the
’Learning’ tab. The parameters used to train this network are: JE Backprop 0.8 0.0
1.0. We started with 200 cycles. We then lowered the learning rate to 0.6, increasing
at the same time the cycles to 1000 cycles, then decreased both the learning rate and
the cycles to 0.5 and 500. The training has to be stopped when the validation error is
minimal. We stopped after 3700 steps when the validation error was close to 1.29.

Next, the network has to be tested with new data. In the control panel, we load the
file containing the test data and open the Analyzer tool. In the Analyzer, we select as
first value ’time’ or ’pattern’ and unit 22 as second value. Unit 22 is the output unit.
The graph displayed by the analyzer should correspond to the graph of the dax for the
time between August 9 2004 and June 21 2006. The output of the network for the test
data can be dumped into a result file: Under ’File’, select ’save data’ and select .res as
file ending.

8.5.3 Postprocessing

The result file can be used for further processing. We used a Visual Basic Script to
convert the result file to an Excel Worksheet. Figure 8.7 shows the graph of the original
DAX values (blue) and the values forcasted by the network (yellow).

The graph shows the scaled data: As the lower bound was set to 1000, the values in
January 1988 fall shortly below 0, because the DAx was listed around 980 at that
time. The same is the case for January 2000 where the DAX reached 8000 points. The
average error for the forecasted values is 0.0168 with a standard deviation of 0.0179. As
106 Using neural networks to forecast stock indices (Christine Kiefer)

the graphs shows, it was possible to train the network to forecast the DAX value of the
day with high accuracy.

8.6 Case study: Forcasting the 3-month-development of the


DAX

In this case study, we try to give an estimation of the national economic climate based
solely on fundamental data. More specifically, we want to predict whether the Dax
will be higher or lower in 3 months as compared to today. For this purpose, we use
macroeconomic variables such as interest rates, inflation rates, exchanges rates and
international stock indexes to generate a three-month trend prediction of the DAX.
Again, the data was obtained from Datastream. The time frame for the data is January
1991 until May 2006. The data from January 1991 until December 2003 was used for
training and validation. These are 156 datasets since the fundamental data was on a
monthly basis. For daily data, the last values of each month were used. Every fifth
dataset was used for validation, the remaining datasets for training. The remaining
data (29 datasets) were used for testing.

8.6.1 Input/output variables

These time series were selected as input:

1. DAX 30 PERFORMANCE - PRICE INDEX

2. GERMANY-DS Market - TURNOVER BY VOLUME

3. GERMANY-DS Market - PRICE INDEX

4. GERMANY INTERBANK 1 MONTH - OFFERED RATE

5. BD ZEW INTEREST RATE: LONG TERM - GERMANY

6. BD LONG TERM GOVERNMENT BOND YIELD (9-10 YEARS MATURITY)

7. REX GENERAL BOND - PRICE INDEX

8. BD MONEY SUPPLY-GERMAN CONTRIBUTION TO EURO M1

9. BD MONEY SUPPLY- M3 (CONTRIBUTION TO EURO BASIS FROM M0195)

10. BD INFLATION

11. BD ZEW INFLATION RATE - GERMANY

12. BD UNEMPLOYMENT: % CIVILIAN LABOUR


8.6 Case study: Forcasting the 3-month-development of the DAX 107

13. BD INDUSTRIAL PRODUCTION: MANUFACTURING VOLA

14. BD MANUFACTURING ORDERS - DOMESTIC SADJ

15. BD BUSINESS CLIMATE INDEX

16. BD BUSINESS EXPECTATIONS

17. BD CONSUMER CONFIDENCE INDICATOR

18. BD BUSINESS TENDENCY SURVEY: BUSINESS CLIMATE

19. Crude Oil - Urals CIF Med. $/BBL

20. Gold Bullion US $/ Troy Ounce

21. EURO TO US $ (BBI) - EXCHANGE RATE

22. S&P 500 COMPOSITE - PRICE INDEX

23. NIKKEI 225 STOCK AVERAGE - PRICE INDEX

24. DJ EURO STOXX 50 - PRICE INDEX

25. US ZEW INFLATION RATE - USA NADJ

26. US TREASURY BILL 3 MONTH - MIDDLE RATE

27. US TREAS.BENCHMARK BOND 30 YR (DS) - RED. YIELD

28. US INTERBANK 1 MTH (LDN:BBA) - OFFERED RATE

These input parameters cover a wide range of national and international fundamental
data. From these input parameters, only those will be chosen that have a high correlation
with the DAX but a low correlation with other input parameters.

The output variable is the future three-months return of the DAX: 1 indicates a positive
return, -1 indicates a negative return.

8.6.2 Correlation analysis

The aim of the correlation analysis is to filter out unnecessary and insignificant input
parameters. A visual analysis of the time series shows a possible high correlation between
different parameters. Of two highly correlated time series, only one series is used for
input. There is a high correlation between the four business climate indicators. Of these
indicators, only one or to should be chosen.

The indicator BD BUSINESS TENDENCY SURVEY: BUSINESS CLIMATE has the


highest correlation values with other time series. Unfortunately, the values after 2004
are not available. Therefore, BD BUSINESS CLIMATE INDEX (PAN GERMANY) is
108 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.8: Correlation coefficients of business climate indicators

chosen and BD CONSUMER CONFIDENCE INDICATOR as it does not correlate very


high with the other parameters.

Furthermore, there are two pairs of highly correlated variables. The correlation
coefficient between
BD INDUSTRIAL PRODUCTION: MANUFACTURING VOLA
BD MANUFACTURING ORDERS - DOMESTIC
is 0,952318069. Therefore, one of the time series should be left out.

The correlation between


US TREASURY BILL 3 MONTH - MIDDLE RATE
US INTERBANK 1 MTH (LDN:BBA) - OFFERED RATE
is 0,993052363, so one of these parameters should be cancelled out as well.

Of the parameters in question, those with the lower correlation with the DAX were
eliminated. Those parameters are:
BD MANUFACTURING ORDERS - DOMESTIC
BD BUSINESS EXPECTATIONS (PAN GERMANY)
BD BUSINESS TENDENCY SURVEY: BUSINESS CLIMATE
US TREASURY BILL 3 MONTH - MIDDLE RATE

8.6.3 Transformations

The remaining input parameters have to be differenced and scaled. Cyclic parameters,
such as interest rates, inflation rates or unemployment rates are used with their original
value.
8.6 Case study: Forcasting the 3-month-development of the DAX 109

The differentiated parameters are:

DAX 30 PERFORMANCE - PRICE INDEX


GERMANY-DS Market - TURNOVER BY VOLUME
GERMANY-DS Market - PRICE INDEX
REX GENERAL BOND - PRICE INDEX
BD MONEY SUPPLY-GERMAN CONTRIBUTION TO EURO M1(PAN BD M0690)
BD MONEY SUPPLY- M3 (CONTRIBUTION TO EURO BASIS FROM M0195) CURA
BD INDUSTRIAL PRODUCTION: MANUFACTURING VOLA
Crude Oil - Urals CIF Med. $/BBL
S&P 500 COMPOSITE - PRICE INDEX
NIKKEI 225 STOCK AVERAGE - PRICE INDEX
DJ EURO STOXX 50 - PRICE INDEX

The cyclic parameters that were used with their original value are:

GERMANY INTERBANK 1 MONTH - OFFERED RATE


BD ZEW INTEREST RATE: LONG TERM - GERMANY NADJ
BD LONG TERM GOVERNMENT BOND YIELD (9-10 YEARS MATURITY)
BD INFLATION
BD ZEW INFLATION RATE - GERMANY NADJ
BD UNEMPLOYMENT: % CIVILIAN LABOUR
BD BUSINESS CLIMATE INDEX (PAN GERMANY)
BD CONSUMER CONFIDENCE INDICATOR
Gold Bullion U$/Troy Ounce
EURO TO US $ (BBI) - EXCHANGE RATE
US ZEW INFLATION RATE - USA NADJ
US TREAS.BENCHMARK BOND 30 YR (DS) - RED. YIELD
US INTERBANK 1 MTH (LDN:BBA) - OFFERED RATE

All of the parameters were finally scaled to the range [-1;1]. The minimum and
maximum of each time series were chosen so that at least 90% of the values fell within
that range.

8.6.4 Time lag analysis

Some parameters have an instant impact on the financial markets, whereas the influence
of other parameters might be higher after a certain time period or time lag. The aim
of the time lag analysis is to determine the most significant time lags of the input
parameters with respect to the future three-month return of the DAX. For this purpose,
the data series were standardised. A Visual Basic script calculated the correlation
coefficients of each time series up to a time lag of 10 months. The time lag with the
highest correlation coefficient was chosen for input as shown in Figure 8.9.
110 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.9: Time lags with the highest correlation coefficients for each data series
8.6 Case study: Forcasting the 3-month-development of the DAX 111

Abbildung 8.10: Results of the neural network for different input sets

8.6.5 Neural network

To find the best network, three types of experiments were conducted:

1. Experiment 1: Use all time series for input (23 input variables)

2. Experiment 2: Use all time series for input where correlation coefficient ≥ 0.1 (17
input variables)

3. Experiment 3: Use all time series for input where correlation coefficient ≥ 0.15 (11
input variables)

The number of units of the input layers was determined by the number of input variables
(11, 17 or 23) and the number of output units was one. For all experiments, the number
of units of the hidden layer varied between 5 and 10 units.

Figure 8.10 shows the networks with the lowest errors for the three experiments.
Experiment 2 produces the network with the lowest training and validation error,
meaning the network could learn the relationships between the input parameters and the
network well and is able to generalize. Therefore, the network 17 10 1 is to be preferred
to the network 11 7 1, which produced a low testing error but had high training and
validation errors.

8.6.6 Final results

The results give an estimation of the economic climate for each month of the testing
period. If these estimations were turned into a trading strategy such that the DAX is
bought on a positive signal and sold on a negative signal, the returns as shown in Figure
8.11 and Figure 8.12 result. The index is bought at the date given in column one for the
price given in column two. Three month later, at the date of column three, the index is
sold at the price of column four. Columns five and six show the gain in absolute values
and as percentage of the original investment.

The buy signals generated an average return of 5.49%, the sell signals generated an
average return of 2.93%. In four months of the testing period, the signal is incorrect,
resulting in an average loss of 3.23%.
112 Using neural networks to forecast stock indices (Christine Kiefer)

Abbildung 8.11: Results of the buy signals

Abbildung 8.12: Results of the sell signals


8.7 Summary 113

Abbildung 8.13: 3-month forecast of the DAX: The shading of the background indicates the trend

Figure 8.13 visualises the results: The shading of the background of the graphs indicates
whether the DAX will be higher (green) or lower (red) in three months. The forecast
is correct for 25 out of 29 months.

8.7 Summary

This chapter showed how artificial neural networks can be implemented. A good
understanding of the theory of neural networks is necessary, as the the tools required
for the implementation are difficult to handle without this knowledge. The tools needed
for implementation or a neural network simulator and a spreadsheet program to handle
the data. For the case studies shown in this chapter, the Stuttgart Neural Network
Simulator and Microsoft Excel were used to build two networks that forecast the DAX.
The first case study produced next-day-predictions of the index. The second study
used 23 macroeconomic variables to give a 3-months-estimate of the development of
the DAX. The purpose of this chapter was to give detailed information on the process
of developping neural networks and will hopefully encourage the reader to implement
some networks on his own.

Das könnte Ihnen auch gefallen