Die vorliegende Arbeit ist in 8 Kapitel gegliedert. Das dem einleitenden Kapitel 1 folgende Kapitel 2 beschäftigt sich mit der Thematik „neuronale Netze“. Nach einer kurzen Einführung, einem historischen Überblick und der Verbindung zu dem biologischem Vorbild folgt eine Darstellung des Aufbaus von simulierten, künstlichen neuronalen Netzen. Das letzte Unterkapitel 2.8 beschäftigt sich schließlich mit dem „Lernen“ in neuronalen Netzen. Es enthält eine Unterscheidung der Arten des Lernens, sowie anschließend eine formale Darstellung von einigen bedeutenden Lernregeln.
Kapitel 3 behandelt kurz den Nutzen und den Aufbau evolutionärer Algorithmen, bevor im Anschluss daran deren Eigenschaften und Entwicklung erklärt werden. Im Kapitel 4 werden einige Grundlagen zum Bereich Finanzprognosen dargestellt. Es wird sowohl auf Renditegenerierungsprozesse als auch auf die Markteffizienzthesen von Fama, die technische und fundamentale Analyse, sowie die nichtlineare Analyse von Finanzmärkten eingegangen. Im sich anschließenden Kapitel 5 werden drei bestehende Ansätze neuronaler Netze im Bereich der Finanzwirtschaft vorgestellt, bevor im Kapitel 6 Möglichkeiten und Probleme der reinen Zeitreihenprognose mittels NN erörtert werden.
In den, in Kapitel 7 vorgestellten, in JAVA realisierten Prognosetools, wird die reine Zeitreihenprognose bzw. technische Zeitreihenanalyse verwendet, im Gegensatz zu Prognosetechniken, welche verschiedene weitere (ökonomische) Faktoren benutzen. Diese Beschränkung musste gemacht werden, um nicht den Rahmen der hier vorliegenden Arbeit zu sprengen.
Nach einer Erklärung der Struktur der verwendeten neuronalen Netze, auf denen die Prognosetools aufbauen, folgt eine Darstellung eines objektorientierten Ansatzes zu Realisierung neuronaler Netze nach J. Rogers in Java. Anschließend wird der Nutzen evolutionärer Algorithmen in dem implementierten Ansatz erläutert, bevor die Prognosetools einzeln vorgestellt werden. Nach einer Darstellung der Ergebnisse der verwendeten Prognosetools für zwei künstlich erzeugte Zeitreihen und fünf Renditezeitreihen von real existierenden Wertpapieren bzw. für einen Aktienindex schließt sich Kapitel 8 mit der Zusammenfassung der in dieser Arbeit gewonnenen Erkenntnisse und Verbesserungsmöglichkeiten des implementierten Ansatzes an.
Inhaltsverzeichnis
Abkürzungsverzeichnis
1 Einleitung
1.1 Einführung in die Thematik
1.2 Ziel der Arbeit
1.3 Aufbau der Arbeit
2 Neuronale Netze
2.1 Was sind neuronale Netze ?
2.2 Anwendungsgebiete neuronaler Netze
2.3 Eigenschaften neuronaler Netze
2.4 Geschichte neuronaler Netze
2.5 Biologische Neuronen
2.5.1 Aufbau einer Nervenzelle
2.6 Neuronen in der Simulation vs. Neuronen in der Natur
2.7 Konzepte des Konnektionismus
2.7.1 Aufbau und Darstellung KNN
2.7.2 Bestandteile neuronaler Netze
2.7.3 Zelltypen nach Position im Netzwerk
2.7.4 Aktivierungszustand
2.7.5 Ausgabefunktion
2.7.6 Arten von Verbindungsnetzwerken
2.7.6.1 Netze ohne Rückkopplung (Feedforward-Netze)
2.7.6.2 Netze mit Rückkopplungen
2.7.7 Propagierungsregel und Aktivierungsfunktion
2.7.8 Lernregel
2.8 Lernen in neuronalen Netzen
2.8.1 Arten des Lernens
2.8.1.1 Überwachtes Lernen
2.8.1.2 Bestärkendes Lernen
2.8.1.3 Unüberwachtes Lernen
2.8.2 Realisierungsmöglichkeiten von Lernprozessen in KNN
2.8.2.1 Hebbsche Lernregel
2.8.2.2 Delta-Regel
2.8.2.3 Backpropagation-Regel
2.8.2.4 Backpropagation mit Momentum-Term
3 Evolutionäre Algorithmen
3.1 Motivation
3.2 Was sind evolutionäre Algorithmen ?
3.3 Struktureller Aufbau evolutionärer Algorithmen
3.4 Eigenschaften genetischer Algorithmen
3.5 Entwicklung evolutionärer Algorithmen
4 Finanzprognosen
4.1 Motivation
4.2 Methoden und Probleme der Finanzanalyse
4.2.1 Renditegenerierungsprozesse
4.2.1.1 Lineare Renditegenerierungsprozesse
4.2.1.2 Nichtlineare, dynamische Renditegenerierungsprozesse
4.3 These effizienter Kapitalmärkte
4.4 Technische Analyse
4.5 Fundamentale Analyse
4.6 Nichtlineare Analyse von Finanzmärkten
4.6.1 NN als Instrument zur nichtlinearen Analyse von Finanzdaten
5 Einsatz NN in der Finanzwirtschaft
5.1 Modell von Kimoto et al.
5.2 Modell von SNI/SENN
5.3 Modell der SGZ-Bank AG
6 Zeitreihenprognose mittels neuronaler Netze
6.1 Schwierigkeiten und Probleme bei Zeitreihenprognosen
6.2 Verschiedene Architekturen neuronaler Netze zur Zeitreihenprognose
7 Eigener Ansatz
7.1 Einführung
7.2 Grundlagen
7.2.1 Aufteilung der Datenmenge
7.2.2 Partiell rekurrente neuronale Netze
7.2.2.1 Hierarchische Elman-Netze
7.2.3 Ein objektorientierter Ansatz für neuronale Netze
7.2.4 Evolutionäre Algorithmen
7.2.4.1 EA zur Optimierung der Netzstruktur
7.2.4.2 EA zur Optimierung der Fühlerstruktur
7.3 Die einzelnen Prognosetools
7.3.1 Weitere Java-Klassen
7.3.2 tsprogNN
7.3.3 tsprogNN2
7.3.4 tsprogNNEA
7.3.5 tsprogNNEA2
7.3.6 createprog
7.3.7 createprog2
7.3.8 Dateistrukturen
7.3.8.1 Dateiformat der Zeitreihendatei
7.3.8.2 Dateiformat der Zeitreihendatei bei Finanzmarktdaten
7.3.8.3 Dateiformat der trainierten PRNN
7.3.8.4 Dateiformat der Prognosedateien
7.4 Ergebnisse
7.4.1 Sägezahn
7.4.2 Sin(x)+Sin(x²)
7.4.3 DAX
7.4.4 BP..
7.4.5 IBM
7.4.6 JPM
7.4.7 MSFT
8 Zusammenfassung und Ausblick
Anhang A
Anhang B
Abbildungsverzeichnis
Tabellenverzeichnis
Literaturverzeichnis
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
1 Einleitung
1.1 Einführung in die Thematik
The works of nature must all be accounted good.
Cicero, De Senectute
Die Kapitalmarktforschung bzw. die Finanzanalyse[1] beschäftigen sich unter anderem mit Themen wie der Effizienz von Kapitalmärkten[2], dem Einfluss relevanter Informationen auf den Preisbildungsprozess von Wertpapieren, der am Markt gültigen Rendite/Risiko-Beziehung und Möglichkeiten bzw. Handelsstrategien zur Erzielung von signifikanten Überrenditen, bezogen auf eine als geltend betrachtete Rendite/Risiko-Beziehung.
Durch die heutigen Informationssysteme ist der Nachrichten- bzw. Informationsaustausch binnen Bruchteilen von Sekunden um den kompletten Globus möglich, was die berechtigte Frage aufwirft, ob die Finanzmärkte von heute bzw. deren Funktionsweise mit denen aus der Vergangenheit noch viele Gemeinsamkeiten haben.
Ist aus ehemals separaten Finanzmärkten ein globaler, integrierter Finanzmarkt[3] entstanden, dessen Verständnis und Analyse anderer Methoden bedarf als der bisher für die separaten Märkte angewandten ?
Wie sich im Kapitel 4 dieser Arbeit noch zeigen wird, werden gerade für die Analyse integrierter Finanzmärkte neuere Verfahren[4] im Bereich der empirischen Kapitalmarktforschung eingesetzt.
Zwei dieser neueren Verfahren (neuronale Netze und evolutionäre Algorithmen) aus dem Bereich der künstlichen Intelligenz bzw. aus dem Bereich maschinelles Lernen (siehe unten) werden im Rahmen dieser Arbeit verwendet und in einem in JAVA realisierten hybriden System zur Zeitreihenprognose für Kapitalmarktzeitreihen implementiert.
Seit den fünfziger Jahren wird versucht, Computern die Fähigkeit beizubringen, „selbständig“ zu lernen. Der Oberbegriff hierfür ist „Maschinelles Lernen“, eine Formulierung, die 1959 von Samuel geschaffen wurde, dem es als Erster gelang, eine ernsthafte Aufgabe durch einen Computer zu „lernen“.
Samuel wollte durch „maschinelles Lernen“ sich selbst programmierende Computer verstanden haben, was sich im nachhinein als etwas zu ehrgeizig herausstellte. Eine neuere Definition für „maschinelles Lernen“ stammt von Mitchell: „[machine learning] is the study of computer algorithms that improve automatically through experience“[5].
Genetische Algorithmen, evolutionäre Strategien und evolutionäre Programmierung sind Begriffe, die sich in den sechziger Jahren durch verschiedene Forscher herausgebildet haben, in dieser Arbeit jedoch synonym für evolutionäre Algorithmen verwendet werden.
Evolutionäre Algorithmen[6] fallen ebenso wie neuronale Netze[7] unter den Begriff „Maschinelles Lernen“.
1.2 Ziel der Arbeit
Das Ziel der Arbeit war die Entwicklung eines Systems in Java, mit dem Strukturen innerhalb von Zeitreihen analysiert und zur Vorhersage zukünftiger Realisationen genutzt werden können.
Untersuchungsschwerpunkt sollten dabei Kapitalmarktzeitreihen, genauer Renditezeitreihen von Aktien bzw. Indizes, sein.
Diese Strukturanalyse der Daten wird mittels neuronaler Netze realisiert, welche die Eigenschaft besitzen, selbständig, d.h. rein durch die Präsentation der vergangenen Zeitreihe, Zusammenhänge zu „lernen“.
Für die Realisierung neuronaler Netze in Java wurde der von Joey Rogers in C++ entwickelte objektorientierte Ansatz zur Modellierung neuronaler Netze[8] erweitert, so dass sich sogenannte hierarchische Elman-Netze[9], eine spezielle Variante partiell rekurrenter neuronaler Netze, welche für die Zeitreihenanalyse besonders geeignet sind, implementieren lassen.
Für die Optimierung der genauen Netzstrukturen der Elman-Netze wird ein evolutionärer Algorithmus verwendet, der durch einen zweiten evolutionären Algorithmus zur Optimierung der Datenabgriffe[10] eines NN innerhalb der zur analysierenden Zeitreihe ergänzt wird.
Auf diese Weise entsteht das oben erwähnte hybride System zur Zeitreihenanalyse, bestehend aus einem zweistufigen EA zur Optimierung partiell rekurrenter NN.
Bei der Anwendung von Prognosevarianten, welche gute Ergebnisse in einem gewissen Zeitraum einer Zeitreihe liefern, kommt es oftmals zu der Kritik, dass diese guten Resultate eben nur in diesem bestimmten Zeitraum der speziellen Zeitreihe erzielbar sind.
Um dieser Kritik zu entgehen, sollten die hier entwickelten Prognosetools die Möglichkeit besitzen, den Lern- oder Trainingsprozess sowie den Prognoseprozess in variabel festlegbaren Zeiträumen der Zeitreihe zu ermöglichen.[11]
1.3 Aufbau der Arbeit
Die vorliegende Arbeit ist in 8 Kapitel gegliedert. Das dem einleitenden Kapitel 1 folgende Kapitel 2 beschäftigt sich mit der Thematik „neuronale Netze“. Nach einer kurzen Einführung, einem historischen Überblick und der Verbindung zu dem biologischem Vorbild folgt eine Darstellung des Aufbaus von simulierten, künstlichen neuronalen Netzen. Das letzte Unterkapitel 2.8 beschäftigt sich schließlich mit dem „Lernen“ in neuronalen Netzen. Es enthält eine Unterscheidung der Arten des Lernens, sowie anschließend eine formale Darstellung von einigen bedeutenden Lernregeln.
Kapitel 3 behandelt kurz den Nutzen und den Aufbau evolutionärer Algorithmen, bevor im Anschluss daran deren Eigenschaften und Entwicklung erklärt werden.
Im Kapitel 4 werden einige Grundlagen zum Bereich Finanzprognosen dargestellt. Es wird sowohl auf Renditegenerierungsprozesse als auch auf die Markteffizienzthesen von Fama, die technische und fundamentale Analyse, sowie die nichtlineare Analyse von Finanzmärkten eingegangen.
Im sich anschließenden Kapitel 5 werden drei bestehende Ansätze neuronaler Netze im Bereich der Finanzwirtschaft vorgestellt, bevor im Kapitel 6 Möglichkeiten und Probleme der reinen Zeitreihenprognose mittels NN erörtert werden.
In den, in Kapitel 7 vorgestellten, in JAVA realisierten Prognosetools, wird die reine Zeitreihenprognose bzw. technische Zeitreihenanalyse verwendet, im Gegensatz zu Prognosetechniken, welche verschiedene weitere (ökonomische) Faktoren benutzen. Diese Beschränkung musste gemacht werden, um nicht den Rahmen der hier vorliegenden Arbeit zu sprengen.
Nach einer Erklärung der Struktur der verwendeten neuronalen Netze, auf denen die Prognosetools aufbauen, folgt eine Darstellung eines objektorientierten Ansatzes zu Realisierung neuronaler Netze nach J. Rogers[12] in Java.
Anschließend wird der Nutzen evolutionärer Algorithmen in dem implementierten Ansatz erläutert, bevor die Prognosetools einzeln vorgestellt werden.
Nach einer Darstellung der Ergebnisse der verwendeten Prognosetools für zwei künstlich erzeugte Zeitreihen und fünf Renditezeitreihen von real existierenden Wertpapieren bzw. für einen Aktienindex schließt sich Kapitel 8 mit der Zusammenfassung der in dieser Arbeit gewonnenen Erkenntnisse und Verbesserungsmöglichkeiten des implementierten Ansatzes an.
2 Neuronale Netze
If I only had a brain.[13]
The Scarecrow, from The Wizard of Oz
2.1 Was sind neuronale Netze ?
Künstliche neuronale Netze sind Systeme, deren Aufbau und Funktionsweise grob dem von Gehirnen von Säugetieren ähneln[14], bei denen Informationsverarbeitung durch das gleichzeitige Zusammenspiel (Parallelität) von vielen, einfachen Nervenzellen (Neuronen) stattfindet.
Diese Art der Informationsverarbeitung (große Anzahl von einfachen Verarbeitungselementen, Kommunikation durch Nachrichtenaustausch) wird auch als Konnektionismus [15] bezeichnet.
A. Zell definiert neuronale Netze in seinem Buch „Simulation Neuronaler Netze“ wie folgt:
„Neuronale Netze (NN), oft auch als künstliche neuronale Netze (KNN) oder artificial neural networks (ANN) bezeichnet, sind informationsverarbeitende Systeme, die aus einer großen Anzahl einfacher Einheiten (Zellen, Neuronen) bestehen, die sich Information in Form der Aktivierung der Zellen über gerichtete Verbindungen (connections, links) zusenden.“ [Zell94,S.23]
Ein wesentliches Element von neuronalen Netzen ist deren Lernfähigkeit. Zusammenhänge in Daten, Klassifikationsprobleme etc. können alleine anhand von Trainingsbeispielen „gelernt“ werden, ohne dass hierzu explizit „Wissen“ implementiert werden muss.
Die Wissenschaft rund um neuronale Netze erstreckt sich von Gebieten der Medizin und Biologie, die hauptsächlich an der Simulation möglichst naturnaher Modelle von Nervensystemen interessiert sind, über Mathematik, Elektrotechnik bis hin zur Informatik, bei der die Eigenschaften der massiven Parallelität, Lernfähigkeit und Effizienz im Vordergrund stehen.
2.2 Anwendungsgebiete neuronaler Netze
Die Probleme, für welche der Einsatz von neuronalen Netzen besonders geeignet ist, lassen sich grob in folgende vier Klassen einteilen[16]:
- Klassifikation: Verschiedene Eingangsmuster werden, nach korrektem Lernen des Netzes, auf verschiedene, definierte Ausgangsmuster abgebildet.
- Autoassoziative Speicher: An den Eingängen angelegte Muster werden an den Ausgängen reproduziert. Diese Speicher sind besonders beim Einsatz von Mustererkennungen interessant.
- Heteroassoziative Speicher: Hier werden, im Gegensatz zu den autoassoziativen Speichern, Muster erzeugt, die sich von den Eingangsmustern unterscheiden.
- Musterfolgeerkennung / Prognose: Hierbei wird versucht, Zusammenhänge in den verschiedenen, zeitlich aufeinanderfolgenden Eingabemustern zu erkennen.
Neuronale Netze finden ihren Einsatz in allen Bereichen der Wirtschaft. Sie stellen zu bisherigen Programmen bzw. Algorithmen eine interessante Ergänzung vor allem „in den Bereichen, wo unvollständige, vage, widersprüchliche, verzerrte, ungenaue Informationen vorhanden sind, in jenen Feldern, wo ein passender Algorithmus fehlt, oder dort, wo die nötige hohe Ausführungsgeschwindigkeit Parallelismus erfordert“ [Maz92,S.93] dar.
Folgende Anwendungsgebiete scheinen daher für neuronale Netze prädestiniert zu sein[17]:
- Erkennung/Klassifikation von Bildern, Texten, Stimmen, Signalen, Mustern
- Geräuschfilter bei Signalen, Sprachsynthese
- Planung/Optimierung
- Prozess- und Qualitätskontrolle
- Entscheidungshilfe
- Finanzanalyse
- Medizinische und industrielle Diagnostik
- Wettervorhersage
2.3 Eigenschaften neuronaler Netze
Neuronale Netze haben gegenüber herkömmlichen Ansätzen viele positive Eigenschaften:[18]
- Lernfähigkeit: Neuronale Netze werden zumeist nicht programmiert, sondern durch ein Lernverfahren mit einer großen Menge von Trainingsmustern trainiert. Damit sind sie anders als fest programmierte Algorithmen in der Lage, ihr Verhalten (d.h. ihre Ausgaben) geänderten Eingaben anzupassen.
- Parallelität: Neuronale Netze sind bereits vom Ansatz her massiv parallel und daher für eine Implementierung oder Simulation auf Parallelrechnern geeignet.
- Verteilte Wissensrepräsentation: Bei fast allen neuronalen Modellen ist das „Wissen“ des neuronalen Netzes in den Gewichten der Verbindungen verteilt gespeichert. Zum einen ermöglicht dies erst die hochgradig parallele Verarbeitung, zum anderen bewirkt es eine höhere Fehlertoleranz des Gesamtsystems gegenüber dem Ausfall einzelner Neuronen oder Verbindungen.
- Höhere Fehlertoleranz: Durch die verteilte Repräsentation können neuronale Netze eine höhere Fehlertoleranz bei Ausfall einzelner Komponenten besitzen als herkömmliche Algorithmen. Dies gilt allerdings nur, wenn die Fehlertoleranz beim Entwurf des Systems (z.B. bei der Dimensionierung des Netzes, der Kodierung der Werte und beim Lernverfahren) mit berücksichtigt wurde. Nicht jedes trainierte neuronale Netz ist automatisch fehlertolerant.
- Assoziative Speicherung von Information: Information wird hier inhaltsbezogen, d.h. assoziativ gespeichert und nicht adressbezogen, wie in konventionellen Rechnerarchitekturen und Programmen. Mit neuronalen Netzen ist es leicht, ein, einem zuvor eingegebenen Muster ähnliches Muster abzurufen.
- Robustheit gegen Störungen oder verrauschte Daten: Neuronale Netze haben den Vorteil, dass sie, wenn sie richtig trainiert wurden, bei verrauschten Daten oder Störungen in den Eingabemustern meist weniger empfindlich reagieren als konventionelle Algorithmen.
- Default-Werte und spontane Generalisierung: Neuronale Netze bilden automatisch Prototypen von Eingabemustern, die derselben Klasse zugeordnet werden. Diese automatische Generalisierung liefert auch quasi umsonst Default-Werte für nicht vollständig spezifizierte Parameter von Mustern, die als Eingabe an ein neuronales Netz angelegt werden.
- Aktive Repräsentation: Neuronale Netze realisieren eine aktive Repräsentation des „Wissens“, d.h. die Repräsentation des Wissens in den Verbindungsgewichten ist gleichzeitig an der Verarbeitung beteiligt und es wird nicht, wie im Falle einer passiven Speicherung, durch eine aktive Komponente (Programm) darauf zugegriffen.
Allerdings sind auch die negativen Eigenschaften neuronaler Netze zu erwähnen :
- Wissenserwerb ist nur durch Lernen möglich: Speziell bei einer verteilten Repräsentation ist es sehr schwer, einem neuronalen Netz ein gewisses Basiswissen bereits mitzugeben, wie dies etwas bei lernfähigen symbolischen KI-Systemen in Form einer Wissensbasis möglich ist. Es gibt nur ganz wenige Anwendungen neuronaler Netze, bei denen die Gewichte durch einen externen Algorithmus vorbestimmt sind (z.B. bei Hopfield-Netzen für Optimierungsprobleme), normalerweise geschieht der Wissenserwerb nur durch Lernen.
- Keine Introspektion möglich: Neuronale Netze können keine Introspektion, d.h. keine Analyse ihres eigenen Wissens oder Problemlösevorgangs durchführen, wie dies etwa die Erklärungskomponenten von Expertensystemen tun können. Auch die Analyse des „Wissens“ eines Netzwerkes ist sehr schwierig.
- Logisches (sequentielles) Schließen ist schwer: Logisches Schließen in Form von Inferenzketten ist mit neuronalen Netzen nur schwer durchzuführen. Es gibt zwar bereits Ansätze, Theorembeweiser mit neuronalen Netzen zu bauen[19], diese sind aber alleine schon wegen der kombinatorischen Explosion der Anzahl der dafür benötigten Neuronen und Verbindungen in der vorgeschlagenen Form praktisch nicht einsetzbar.
- Lernen ist relativ langsam: Fast alle populären Lernverfahren, wie beispielsweise auch die Varianten des bekannten Backpropagation-Algorithmus[20] lernen sehr langsam. Dies ist besonders dann der Fall, wenn Netzwerke verwendet werden, die vollständig ebenenweise verbunden sind, d.h. bei denen jedes Neuron einer Ebene mit allen Neuronen der nächsten Ebene verbunden ist. Auch die vielen Verbesserungen und Optimierungen der bekannten Verfahren können dieses Problem zwar reduzieren, aber nicht vollständig lösen.
- Benötigte Datenmenge kann sehr umfangreich werden: Insbesondere für vollständig ebenenweise verbundene Netzwerke[21] werden für die Konvergenz während des Lernens sehr viele Datenpunkte benötigt.
2.4 Geschichte neuronaler Netze
Die Geschichte der neuronalen Netze geht bis in die frühen fünfziger Jahre zurück und soll an dieser Stelle nur ganz kurz umrissen werden.[22]
Den besten Überblick über die Historie neuronaler Netze enthält, laut [Zell94], das Buch „Neurocomputing: Foundations of Research“ von James Anderson und Edward Rosenfeld.
Der zeitliche Verlauf der Aktivitäten bezüglich neuronaler Netze lässt sich in vier Perioden einteilen:
1. Frühe Anfänge (1942-1955)
1943 stellten Warren McCulloch und Walter Pitts in ihrer Arbeit „A logical calculus of the ideas immanent in nervous activity“ neurologische Netzwerke vor. Sie zeigten, dass auch einfache Klassen neuronaler Netze jede arithmetische oder logische Funktion berechnen konnten.
1949 veröffentlichte Donald O. Hebb in seinem Buch „The Organization of Behaviour“ die populäre Hebb’sche Lernregel, als einfaches universelles Lernkonzept individueller Neuronen.
2. Erste Blütezeit (1955-1969)
1957, 1958 wurde am MIT der erste erfolgreiche Neurocomputer (Mark I Perceptron) unter Frank Rosenblatt und Charles Wightman entwickelt und für Mustererkennungsprobleme eingesetzt.
Diese und einige andere Arbeiten in der Zeit bis 1969 führten dazu, dass man glaubte, man hätte die grundlegenden Prinzipien selbstlernender „intelligenter“ Systeme gefunden.
Diese Überschätzung, insbesondere auch in den Medien, sollte zu einem starken Einbruch an Popularität der neuronalen Netze führen, als man die Grenzen und Probleme der damals verwendeten Modelle und Lernverfahren erkannte.
3. Die stillen Jahre (1969-1982)
1969 kamen Marvin Minsky und Seymour Papert nach genauer mathematischer Analyse des Perzeptrons[23] zu dem Schluss, dass dieses einige einfache Probleme, wie z.B. das XOR-Problem (nicht linear separierbar) nicht lösen kann. Ihre Schlussfolgerung, dass auch mächtigere Modelle als das Perzeptron die selben Probleme hätten war aus heutiger Sicht falsch, führte aber dazu, dass sie das Gebiet der neuronalen Netze als „research dead-end“ bezeichneten.
Die Folge war, dass Wissenschaftlern auf dem Gebiet der neuronalen Netze in den kommenden 15 Jahren fast keine Forschungsgelder zur Verfügung standen.
Dennoch wurden in dieser Zeit die theoretischen Grundlagen für die heutige Renaissance des Gebietes geschaffen. Exemplarisch erwähnt sind hier die Arbeiten von Paul Werbos, der in seiner Dissertation an der Universität Harvard, das Backpropagation-Verfahren[24] entwickelte, welches allerdings erst 10 Jahre später durch Rumelhart und McClelland seine große Bedeutung erfuhr.
4. Die Renaissance neuronaler Netze (1985-heute)
Der erneute Aufschwung neuronaler Netze erfolgte Anfang der achtziger Jahre und ist unter anderem auf die Arbeiten von John Hopfield zurückzuführen. Dieser zeigt in seinem Artikel „Neural Computation of Decisions in Optimization Problems“, dass mit einer bestimmten Netzklasse, den sogenannten Hopfield-Netzen auch schwierige Optimierungsaufgaben (wie z.B. das traveling salesman problem) zu lösen sind.
Ein weiterer Grund für die Wiedergeburt der neuronalen Netze war die Entwicklung und Publikation des oben erwähnten Backpropagation-Algorithmus durch Rumelhart, Hinton und Williams in „Learning internal representations by error propagation“, sowie in dem Buch „Parallel Distributed Processing“ von Rumelhart und McClelland.
Seit 1986 haben sich die Aktivitäten auf dem Gebiet geradezu explosiv entwickelt. Die Zahl der Forscher wurde so groß, dass ein historischer Überblick ihrer Arbeiten ein eigenes Buch füllen würde, weshalb hier auf die entsprechende Literatur verwiesen wird.
2.5 Biologische Neuronen
Bevor im Kapitel 2.7 „Konzepte des Konnektionismus“ der Aufbau und die Funktionsweise künstlicher neuronaler Netze im Detail erläutert werden, soll zuvor auf das biologische Vorbild - Nervenzellen und Zellverbände - und dessen Funktionsweise kurz eingegangen werden[25].
Man stellt sehr schnell fest, dass die Gemeinsamkeiten zwischen in der Natur vorkommenden neuronalen Netzen und technischen bzw. simulierten neuronalen Netzen auf ein Minimum reduziert sind. Dies liegt unter anderem daran, dass die so realisierten Netze ihren Zweck (Problemlösung) erfüllen können und gleichzeitig eine genauere, theoretische Analyse möglich ist.
2.5.1 Aufbau einer Nervenzelle
„Nervenzellen, die Grundbausteine des Gehirns, unterscheiden sich von anderen Zellen, mit denen sie sehr viele Gemeinsamkeiten haben, vor allem in der Zellform, der Art der Zellmembran und der Eigenschaft, an den Enden von Ausläufern der Zelle Verdickungen (Synapsen) bilden zu können, die mit anderen Nerven- oder Muskelzellen in Kontakt treten und Nervenimpulse weiterleiten können. Weiterhin können sich Nervenzellen im Unterschied zu anderen Zellen nach Abschluß der Embryonalentwicklung nicht mehr teilen.“[Zell94,S. 35]
Den meisten Schätzungen zufolge besitzt der Mensch ca. 100 Milliarden Nervenzellen, die großteils unterschiedliche Formen haben, jedoch nach Lage im Gehirn bzw. grob nach ihrer Form klassifizierbar sind.
Man unterscheidet unipolare, bipolare und multipolare Zellen, die neben dem Zellkörper (Soma) mit Zellkern (Nucleus) einen, zwei oder mehrere Nervenfortsätze haben.
Jede Nervenzelle enthält genau ein Axon als Nervenfortsatz, welches im allgemeinen eine deutlich längere Nervenfaser ist (wenige mm bis einige m) als ein Dendrit (siehe unten) und zur Weiterleitung (Ausgabe) der elektrischen Impulse dient. Die Verästelung des Axons geschieht meist erst im Zielgebiet, wo sich an den Enden der Verästelungen Verdickungen, die sogenannten Synapsen (Kontaktstellen zu Dendriten anderer Zellen), bilden.
Normale Nervenzellen besitzen zwischen 1.000 und 10.000 solcher Synapsen - einige Zellen auch bis zu 150.000.
Neben dem Axon kann eine Zelle, je nach Klasse, kein, ein oder mehrere Dendriten haben, welche dünne, röhrenförmige und meist stark verästelte Fortsätze der Zelle zur Aufnahme von Eingangssignalen sind. Die meisten Zellen empfangen 2.000 bis 10.000 Eingangssignale von anderen Zellen.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2.1 : Die Nervenzelle
Die genauen elektrischen und chemischen Vorgänge, die mit der Impulsweiterleitung in Nervenzellen zu tun haben, sollen hier nicht näher betrachtet werden. Vereinfacht kann jedoch gesagt werden, dass eine Nervenzelle ab einer gewissen Reizung durch Eingangssignale, d.h. wenn ein Schwellwert überschritten ist, selbst ein Signal über ihr Axon aussendet.
2.6 Neuronen in der Simulation vs. Neuronen in der Natur
Wie oben erwähnt, sind im allgemeinen die Neuronen in künstlichen neuronalen Netzen im Vergleich zu ihren natürlichen Ebenbildern in der Funktionsweise stark vereinfacht.[26] In den meisten Modellen KNN werden jedoch folgende Gemeinsamkeiten mit dem biologischen Vorbild beibehalten[27]:
1. Massive Parallelität einer großen Zahl von Verarbeitungseinheiten.
2. Einfache Elemente (Neuronen): Die Elemente in KNN sind relativ einfach im Verhältnis zur Komplexität des mit Ihnen aufgebauten Gesamtsystems und realisieren eine Informationsverarbeitung, die ganz grob vereinfacht der eines Neurons entspricht, indem sie Aktivierungen von Vorgängerneuronen, mit der Stärke der Verbindung gewichtet, aufsummieren und darauf eine Aktivierungsfunktion anwenden.
3. Gerichtete Verbindungen zwischen Neuronen über Synapsen: Diese werden in der Simulation durch Verbindungen (connections, links) mit Gewichten (weight, strength) dargestellt.
4. Zellen (Neuronen) kommunizieren den Grad ihrer Aktivierung über Verbindungen: Es gibt keine Kommunikation von komplexen Datenstrukturen über die Verbindungen zwischen den Elementen.
5. Verbindungsgewichte sind modifizierbar (plastisch): Die Gewichte können durch Lernen verstärkt oder verringert werden. Dies entspricht der Plastizität der Synapsen beim biologischen Vorbild.
6. Relativ hohe Konnektivität der Neuronen: Ein Element (Neuron) ist meist mit sehr vielen anderen Elementen verbunden.
Diesen Ähnlichkeiten stehen bei der Modellierung KNN folgende Unterschiede zu biologischen neuronalen Netzen gegenüber[28]:
1. Viel geringere Zahl von Neuronen: Während das menschliche Gehirn auf ca. 1011 Neuronen geschätzt wird, enthalten die meisten KNN zwischen 102 und 104 Neuronen.
2. Viel geringere Zahl von Verbindungen: Die Konnektivität bei Gehirnen von Säugetieren beträgt ca. 10.000 Synapsen pro Neuron, bei KNN hingegen entspricht dies fast der Verbindungszahl des Gesamtsystems, die sich noch in vertretbarem Zeitaufwand trainieren lässt.
3. Meist nur ein Parameter für Stärke der synaptischen Kopplung: Meist wird die Stärke der Kopplung nur durch einen numerischen Parameter (Gewicht) bestimmt. Zeitliche Aspekte bzw. das Zusammenwirken verschiedener Neurotransmitter im biologischen Vorbild bleiben bei den meisten Simulationen unberücksichtigt.
4. Amplitudenmodulation statt Frequenzmodulation: Simulatoren verwenden üblicherweise keine impulskodierte Informationsübertragung (Frequenzmodulation), wie sie in den Nervenfasern vorkommt, sondern rechnen mit einem numerischen Aktivierungswert, der eher einer Amplitudenmodulation entspricht.
5. Lokalitätsprinzip für Synapsen ist verletzt: Die Hebbsche Lernregel, auf der die meisten anderen Lernregeln aufbauen, benutzt zur Anpassung der Stärke der synaptischen Bindung den Erregungszustand einer Nachfolgerzelle. Biologisch ist nicht klar, ob das so, bzw. wie dies genau funktioniert.
6. Keine Modellierung der synaptischen Struktur der Dendriten: Den baumartigen Verästelungen der Dendriten weichen in KNN direkte Verbindungen zwischen den Zellen.
7. Keine genauere Modellierung der zeitlichen Vorgänge der Nervenleitung.
8. Nur homogene Netzwerke erfolgreich theoretisch untersucht: Bisher wurden lediglich Netze mit gleichartigen Zellen und regelmäßigen Verbindungstopologien erfolgreich untersucht.
9. Keine Berücksichtigung chemischer Einwirkungen räumlich benachbarter Neuronen.
10. Biologisch unplausible Lernregeln: Die meisten Lernverfahren basieren auf mathematischen oder physikalischen Modellen und sind biologisch völlig unplausibel.
Einzelne Unterschiede bzw. Nachteile wurden schon in Simulationen behoben, jedoch ist der Aufbau für sehr naturnahe Systeme wegen der enormen Komplexität nur „im Kleinen“ möglich. Diese Versuche zeigen bisher allerdings kein besseres Verhalten bzgl. der Lösung von typischen, den Netzen präsentierten Problemstellungen.
Das nächste Kapitel „Konzepte des Konnektionismus“ gibt nun einen tieferen Einblick in die theoretischen Grundlagen neuronaler Netze, die zum Verständnis des in Kapitel 7 vorgestellten eigenen Ansatzes zur Prognose von Zeitreihen mittels neuronaler Netze nötig sind.
Dabei werden die grundlegenden Bestandteile künstlicher neuronaler Netze, Zelltypen, Aktivierungszustände, Ausgabefunktionen, die Arten bzw. Klassen von Verbindungsnetzwerken und Weiteres vorgestellt.
2.7 Konzepte des Konnektionismus
2.7.1 Aufbau und Darstellung KNN
In Anlehnung an das biologische Vorbild bestehen die Neuronen in künstlichen neuronalen Netzen aus drei Bestandteilen: Dem Zellkörper, den Dendriten zur Aufnahme der Eingangssignale der Zelle und dem Axon zur Weitergabe des Ausgangssignals der Zelle.
Abbildung 2.2 erläutert den schematischen Aufbau eines einfachen, aus zwei Neuronen bestehenden künstlichen, neuronalen Netzes.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2.2 : Darstellung von Zellen eines neuronalen Netzes
Hierbei bezeichnet neti die „Netzeingabe“ der Zelle i, oi die „Netzausgabe“, ai den Aktivierungszustand und wij das Gewicht der Verbindung zwischen Zelle i und Zelle j in Analogie zur Stärke der synaptischen Bindung im natürlichen Vorbild.
2.7.2 Bestandteile neuronaler Netze
1. Zellen (Neuronen, Elemente, units)[29]. Diese Zellen bestehen aus :
- dem Aktivierungszustand ai(t), der den Grad der Aktivierung der Zelle i angibt.
- der Aktivierungsfunktion fact, die den Zustandsübergang des Neurons j von der alten Aktivierung aj(t) zur neuen aj(t+1) aufgrund der Netzeingabe netj(t) meist nach der allgemeinen Formel
aj(t+1) = fact( aj(t), netj(t), θj), ( 2.1)
spezifiziert, wobei θj der Schwellenwert des Neurons und fact die Aktivierungsfunktion ist.
- der Ausgabefunktion fout, welche die Ausgabe der Zelle aufgrund ihrer Aktivierung liefert :
oj = fout(aj) ( 2.2)
2. Verbindungsnetzwerk der Zellen. Ein neuronales Netz kann, wie aus Abbildung 2.3 ersichtlich, durch einen gerichteten Graphen dargestellt werden.
3. Propagierungsfunktion. Sie gibt an, wie sich die Netzeingabe einer Zelle j aus den Netzausgaben der Vorgängerzellen und den Gewichten der Kanten zur Zelle j ergibt. Die Netzeingabe der Zelle j berechnet sich als gewichtete Summe der Netzausgaben der Vorgängerzellen nach :
Abbildung in dieser Leseprobe nicht enthalten ( 2.3)
4. Lernregel. Durch die Lernregel, welche in Form eines Algorithmus implementiert ist, erhält das NN die Fähigkeit, zu gewissen Eingaben gewünschte Ausgaben zu erzeugen. Dazu wird meist versucht, den Fehler zwischen erzeugter und geforderter Ausgabe für alle Trainingsmuster zu minimieren, in dem die Gewichte der Verbindungen des NN nach einer bestimmten Vorgehensweise adaptiert werden.
2.7.3 Zelltypen nach Position im Netzwerk
Ein Großteil der vorkommenden, neuronalen Netze haben Verbindungen in nur eine Richtung von den Eingabezellen zu den Ausgabezellen - sogenannte Feedforward-Netze.
Hierbei lassen sich die einzelnen Zellen drei verschiedenen Schichtarten zuordnen: Eingabeschicht, verdeckte Schicht(en), Ausgabeschicht.
Abbildung 2.3 stellt ein typisches Feedforward-Netz mit drei Zellschichten und zwei Schichten von trainierbaren Verbindungen dar.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2.3 : Vollständig schichtweise verbundenes Feedforward-Netz mit 3 Zellschichten
2.7.4 Aktivierungszustand
Die Realisierung des Aktivierungszustandes ai(t) eines Neurons i kann auf verschiedene Weise geschehen. Generell unterscheidet man zwischen kontinuierlichen und diskreten Aktivierungszuständen. Bei den kontinuierlichen Aktivierungszuständen kann es aus Gründen der Verwendung einer speziellen Ausgabefunktion sinnvoll sein, den Wertebereich auf ein gewisses Intervall (z.B. [0,1] ) einzuschränken.
2.7.5 Ausgabefunktion
Die Ausgabe einer Zelle wird durch die Ausgabefunktion nach folgender Formel erzeugt :
oi(t) = fout( ai(t) ) ( 2.4)
Viele Modelle verwenden eine nichtlineare Funktion, um aus der Netzeingabe die zugehörige Ausgabe zu errechnen. Oftmals ist dabei diese nichtlineare Funktion Bestandteil der Aktivierungsfunktion, wodurch für die Ausgabefunktion die Identitätsfunktion gewählt werden kann.
2.7.6 Arten von Verbindungsnetzwerken
Generell lassen sich neuronale Netze nach ihrer Verbindungsstruktur unterscheiden :
2.7.6.1 Netze ohne Rückkopplung (Feedforward-Netze)
Diese Netze enthalten keine direkte oder indirekte Verbindung eines Neurons zu sich selbst. Die graphische Darstellung ist also zyklenfrei.
1. Ebenenweise verbundene Feedforward-Netze:
Diese Art neuronaler Netze ist in Schichten eingeteilt, wobei nur Verbindungen zwischen Neuronen aus benachbarten Schichten existieren (vgl. Abbildung 2.3, Abbildung 2.4 a).
2. Allgemeine Feedforward-Netze (mit shortcut connections):
Bei dieser Art von Netzen existieren zusätzlich zu den Verbindungen zwischen Neuronen aufeinanderfolgender Ebenen weitere Verbindungen über mehrere Ebenen hinweg. Diese sogenannten „shortcut connections“ können für gewisse Problemstellungen nötig sein[30] (vgl. Abbildung 2.4 b).
2.7.6.2 Netze mit Rückkopplungen
Bei neuronalen Netzen mit Rückkopplungen unterscheidet man meist folgende vier Klassen :
1. Netze mit direkten Rückkopplungen (direct feedback)
Einzelne Neuronen haben direkte Verbindungen von ihrem Ausgang zurück zum Eingang, mit denen sie ihre Aktivierung abschwächen und verstärken können (vgl. Abbildung 2.4 c).
2. Netze mit indirekten Rückkopplungen (indirect feedback)
Bei dieser Klasse von Netzen findet eine Rückkopplung von Neuronen über mehrere Ebenen statt. Durch diese Art der Verbindung ist es möglich, die Bedeutung einzelner Bereiche des Netzes zu verändern (vgl. Abbildung 2.4 d).
3. Netze mit Rückkopplungen innerhalb einer Schicht (lateral feedback)
Diese Art der Verbindung wird oftmals dann gewählt, wenn nur ein einzelnes Neuron innerhalb einer Schicht „aktiv“ werden soll. Dazu hemmt dieses Neuron die anderen innerhalb der gleichen Schicht. Solche Netze werden auch als „Winner-takes-all-Netze“ bezeichnet (vgl. Abbildung 2.4 e).
4. Vollständig verbundene Netze
Hier besitzen sämtliche Neuronen Verbindungen zu allen anderen Neuronen. Diese Netze sind unter dem Namen „Hopfield-Netze“ bekannt geworden, für die allerdings noch die Restriktionen der symmetrischen Verbindungsstruktur, sowie der Verzicht auf direkte Rückkopplungen, erfüllt werden müssen (vgl. Abbildung 2.4 f).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2.4 : Beispiel-Topologien neuronaler Netze aus [Zell94,S.79]
2.7.7 Propagierungsregel und Aktivierungsfunktion
Über die Propagierungsregel wird die Netzeingabe eines Neurons, basierend auf den Ausgabe der Vorgängerneuronen, festgelegt. Sie hat im allgemeinen die Form
netj(t) = Abbildung in dieser Leseprobe nicht enthalten. ( 2.5)
Die Aktivierungsfunktion ermittelt aus dem alten Aktivierungsgrad aj(t) der Zelle j und der Netzeingabe netj(t) zum Zeitpunkt t den neuen Aktivierungsgrad aj(t+1) gemäß folgender Formel :
aj(t+1) = fact( aj(t), netj(t) ) ( 2.6)
Oftmals werden in der Literatur Propagierungsfunktion und Aktivierungsfunktion zusammengefasst und als Aktivierungsfunktion bezeichnet. Gelegentlich wird sogar die Ausgabefunktion „miteingearbeitet“ und dann die komplette Informationsverarbeitung einer Zelle unter dem Begriff Aktivierungsfunktion subsummiert[31].
2.7.8 Lernregel
Das wesentliche Merkmal eines neuronalen Netzes, welches ihm erlaubt, eine Aufgabe selbständig aufgrund von Trainingsbeispielen zu lernen, ist die Lernregel.
Wegen der besonderen Bedeutung des „Lernvorganges“ in neuronalen Netzen ist diesem ein eigenes Kapitel gewidmet, in dem nach einer Aufzählung der möglichen Arten des „Lernens“ und der theoretischen Realisierungsmöglichkeiten von Lernprozessen in KNN eine kurze Erläuterung von einfachen Lernregeln folgt. Für detaillierte Darstellungen sei auf die entsprechende Fachliteratur verwiesen.
2.8
Lernen in neuronalen Netzen
2.8.1 Arten des Lernens
Generell lassen sich drei Arten des Lernens in neuronalen Netzen unterscheiden :
- Überwachtes Lernen (supervised learning)
- Bestärkendes Lernen (reinforcement learning)
- Unüberwachtes Lernen (unsupervised learning)
2.8.1.1 Überwachtes Lernen
Beim überwachten Lernen wird dem neuronalen Netz zu jedem Eingabemuster das korrekte Ausgabemuster präsentiert.
Dies bedeutet für das Lernverfahren, dass es das Netz so zu optimieren hat (siehe dazu Kapitel 2.8.2), damit nach dem Lernvorgang möglichst zu allen Eingabemustern die richtigen Ausgabemuster reproduziert werden und ggf. auch für „unbekannte“ Eingaben vernünftige Ausgaben (Generalisierung) erzeugt werden können.
Typische, überwachte Lernverfahren führen für alle Paare von Eingabemustern und zugehörigen, erwünschten Ausgabemustern folgende Schritte durch[32]:
1. Präsentation des Eingabemusters an den Eingabeneuronen.
2. Erzeugung eines Ausgabemusters durch Vorwärtspropagierung[33] der angelegten Eingabe.
3. Erzeugung eines Fehlervektors durch Vergleich der geforderten Ausgabe (teaching input) mit der vom Netz erzeugten Ausgabe.
4. Bestimmung der Veränderungen der einzelnen Gewichte des neuronalen Netzes durch Rückwärtspropagierung der Fehlerwerte mit dem Ziel, den Fehlervektor zu reduzieren.
5. Änderung der Gewichte aller Verbindungen des neuronalen Netzes um die in Schritt 4 berechneten Werte.
Bei dieser Art von Lernen entstehen u.a. folgende Probleme bzw. Fragestellungen[34]:
1. Wie modifiziert man die Gewichte, so dass das Lernen möglichst schnell und sicher funktioniert ?
2. Was sind objektive Gütemaße für die Lernverfahren ?
3. Worin unterscheiden sich die verschiedenen Lernverfahren ? Welches ist das „Beste“ ?
4. Ist eine Terminierung des Lernverfahrens garantiert ?
5. Wie lange dauert die Trainingszeit in Abhängigkeit der Anzahl der Eingabemuster ?
6. Welche Art der internen Repräsentation bildet sich durch das Lernen ?
7. Wie verhindert man, dass neue Trainingsmuster schon gelernte Assoziationen zerstören ?
Da in der weiteren Arbeit nur überwachte Lernverfahren benutzt werden, sind das bestärkende und unüberwachte Lernen der Vollständigkeit halber erwähnt, aber nicht näher erläutert.
2.8.1.2 Bestärkendes Lernen
Beim bestärkenden Lernen wird dem neuronalen Netz nicht zu jeder Eingabe die korrekte Ausgabe präsentiert sondern nur vermittelt, ob die Klassifizierung des Netzes korrekt war oder nicht. Das Netz muss die korrekten Ausgabemuster selbst finden. Diese Art des Lernens ist biologisch deutlich plausibler als das überwachte Lernen, jedoch auch deutlich langsamer.
2.8.1.3 Unüberwachtes Lernen
Beim unüberwachten Lernen werden dem Netz lediglich Eingabemuster vorgegeben.
Das Netz versucht nun selbständig, die Daten in Gruppen ähnlicher Eingabevektoren zu unterteilen (Clustering).
Die derzeit bekannteste Klasse unüberwachter Lernverfahren sind die selbstorganisierenden Karten von Kohonen, die man in [Koh84] erläutert findet.
2.8.2 Realisierungsmöglichkeiten von Lernprozessen in KNN
„Lernen“, d.h. die Veränderung der Ausgabe eines neuronalen Netzes bei einem bestimmten Eingabemuster, kann durch folgende Maßnahmen bewerkstelligt werden:
- Entwicklung neuer Verbindungen
- Löschen existierender Verbindungen
- Modifikation der Stärke wij von Verbindungen
- Modifikation des Schwellenwertes von Neuronen
- Modifikation der Aktivierungs-, Propagierungs- oder Ausgabefunktion
- Entwicklung neuer Zellen
- Löschen von Zellen
Die folgenden Darstellungen beziehen sich ausschließlich auf „Lernen“ durch Modifikation der Verbindungsgewichte. Es kann jedoch angenommen werden, dass in Zukunft topologieoptimierende Lernverfahren mehr und mehr an Bedeutung gewinnen werden, da oftmals die „passende“ Netztopologie zu einer gewissen Problemstellung ex ante nicht bekannt ist.
2.8.2.1 Hebbsche Lernregel
Die Hebbsche Lernregel, die als Grundlage der meisten komplizierteren Lernregeln dient, wurde 1949 in ihrer ersten Fassung von Donald O. Hebb formuliert. Sie schlägt die Erhöhung des Gewichtes wij zwischen zwei Neuronen i und j vor, wenn diese gleichzeitig stark aktiviert sind.
Die mathematische Form lautet :
Abbildung in dieser Leseprobe nicht enthalten
Dwij gibt hierbei die Gewichtsänderung, h eine Konstante (Lernrate), oi die Ausgabe der Vorgängerzelle i und aj die Aktivierung der Zelle j an.
2.8.2.2 Delta-Regel
Die Delta-Regel oder auch Widrow-Hoff-Regel[35] ändert die Gewichte proportional zur Differenz dj der aktuellen Aktivierung aj und der erwarteten Aktivierung tj (teaching input).
Abbildung in dieser Leseprobe nicht enthalten
Die Delta-Regel ist ein Spezialfall der bekannten Backpropagation-Regel und wird lediglich für Modelle mit linearer Aktivierungsfunktion und nur einer Schicht trainierbarer Verbindungen (in den meisten Arbeiten werden solche Netze als „Perzeptrons“[36] bezeichnet) benutzt[37].
2.8.2.3 Backpropagation-Regel
Die Backpropagation-Regel ist eine Verallgemeinerung der Delta-Regel für neuronale Netze mit mehr als einer Schicht trainierbarer Verbindungen und Neuronen, welche eine nichtlineare, monotone und differenzierbare Aktivierungsfunktion besitzen. Ihre mathematische Formulierung[38] ist :
Abbildung in dieser Leseprobe nicht enthalten
Der Summationsindex k läuft über alle Nachfolgezellen der aktuellen Zelle j.
Bei Verwendung der Standard-Propagierungsfunktion (2.5) und der „ logistischen Aktivierungsfunktion “ (siehe Abbildung 2.5) sowie der Identitätsfunktion als Ausgabefunktion ergibt sich dann (2.10) zu
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2.5 : Logistische Aktivierungsfunktion
Das Lernverfahren Backpropagation zählt zu der Gattung der Gradientenabstiegsverfahren.
Der Fehler eines neuronalen Netzes (Differenz zwischen erwünschter und tatsächlicher Ausgabe des Netzes) wird als Funktion in Abhängigkeit von den Verbindungsgewichten zwischen den Neuronen dargestellt.
Auf diese Weise entsteht eine mehrdimensionales Fehlergebirge[39], in welchem ein bzw. das globale Minimum zu finden versucht wird.
Gradientenabstiegsverfahren benutzen hierzu den Gradienten der Zielfunktion (hier der Fehlerfunktion) und steigen orthogonal zum Gradienten nach unten, bis ein Minimum erreicht ist.
[...]
[1] vgl. hierzu Kapitel 4.1 „Finanzwirtschaft, Finanzanalyse, Finanzprognose“
[2] vgl. hierzu Kapitel 4.3
[3] vgl. hierzu Kapitel 4.1 „Segmentierte Finanzmärkte, Integrierte Finanzmärkte“
[4] Für eine Übersicht verschiedener Methoden der Finanzanalyse siehe Tabelle 4-1.
[5] vgl. [BNKF98,S.4]
[6] vgl. Kapitel 3
[7] vgl. Kapitel 2
[8] vgl. [Rog97]
[9] siehe Kapitel 7.2.2.1
[10] vgl. hierzu Kapitel 7.2.4.2
[11] siehe Thematik Aufteilung der Datenmenge Kapitel 7.2.1
[12] vgl. [Rog97]
[13] Der hier dargestellte Aufbau des Kapitels über NN orientiert sich stark an [Zell94], was einen umfangreichen Überblick über die gesamte Thematik neuronaler Netze bietet.
[14] vgl. hierzu Kapitel 2.5 „biologische Neuronen“
[15] vgl. Kapitel 2.7 „Konzepte des Konnektionismus“
[16] vgl. [Hof93,S. 138]
[17] vgl. [Maz92]
[18] Die Darstellung der Eigenschaften NN ist wegen der prägnant formulierten und übersichtlichen Darstellungsweise nahezu 1:1 aus [Zell94,S. 26-28] übernommen.
[19] Vgl. S.Hölldobler, F. Kurfeß: CHCL – A Connectionist Inference System, in B. Fronhöfer, G. Wrightson (eds.): Parallelization in Inference Systems, Lecture Notes in Computer Science, Springer, 1991.
[20] vgl. D.E. Rumelhart, J.L. McClelland. Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations. The MIT Press,1986.
[21] vgl dazu Kapitel 2.7.6 Arten von Verbindungsnetzwerken
[22] Der historische Überblick enthält nur einige ausgewählte Arbeiten und soll exemplarisch, in Anlehnung an [Zell94,S. 28-33], die zeitliche Entwicklung dieser Forschungsrichtung aufzeigen.
[23] Unter „Perzeptron“ wird i.a. nicht ein bestimmtes NN, sondern eine ganze Klasse von NN mit nur einer Schicht trainierbarer Verbindungen verstanden, die Frank Rosenblatt Anfang der sechziger Jahre entwickelte. Die mathematischen Analysen von Minsky und Papert finden sich in [MiMa69].
[24] vgl. hierzu Kapitel 2.8.2.3
[25] Eine umfassende Darstellung findet sich in [Zell94,S.35ff] bzw. in der dort angegebenen Literatur.
[26] Die aufgezählten Gemeinsamkeiten und Unterschiede dieses Kapitels sind nahezu 1:1 aus [Zell94] übernommen.
[27] vgl. [Zell94,S. 51f]
[28] vgl. [Zell94,S. 52f]
[29] Gliederung entsprechend der laut Zell klassischen Darstellung in D.E. Rumelhart, J.L. McClelland: Parallel Distributed Processing: Explorations in the Microstruture of Cognition, V1, MIT Press,1986. Vgl. [Zell94,S.72]
[30] vgl. hierzu [LaWi89].
[31] vgl. [Zell94,S.83]
[32] vgl. [Zell94,S.94]
[33] Unter Propagierung versteht man das sequentielle Verarbeiten bzw. Weiterleiten der Informationen innerhalb eines NN. Bei der Vorwärtspropagierung geschieht diese Informationsweiterleitung von den Eingabezellen zu den Ausgabezellen, wohingegen bei der Rückwärtspropagierung die Richtung entgegengesetzt ist. Siehe Kapitel 2.7.7 zur Thematik „Propagierunsfunktion“.
[34] vgl. [Zell94,S.95]
[35] vgl. [RSA93,S. 414-420]
[36] vgl. Kapitel 2.4 „Geschichte Neuronaler Netze“ S.17.
[37] Herleitung der Delta-Regel siehe [Zell94,S. 107]
[38] vgl. [Zell94,S .86]; Herleitung der Backpropagation-Regel siehe [Zell94,S. 108ff]
[39] Die Anzahl der Dimensionen des Fehlergebirges entspricht der Anzahl der trainierbaren Verbindungen plus eins. Zur Veranschaulichung stelle man sich ein NN mit zwei trainierbaren Verbindungen vor, was zu einem 3D-Fehlergebirge führt (X-Achse = Wert der trainierbaren Verbindung 1; Y-Achse = Wert der trainierbaren Verbindung 2; Z-Achse = Fehlerwert des NN).
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.