Skip to main content

Neuronale Netze - Aufbau und Theorie

Die nachfolgenden Masken sind nicht mehr aktuell, da zugunsten von H2o die internen Funktionen zurückgebaut worden sind.

Siehe daher für die praktische Anwendung unter:

 

Zielsetzung für das Neuronale Kursprognose-Netz

Elementar für das weitere Vorgehen und die Festsetzung der Architektur ist die Frage, was das Neuronale Kursprognose-Netz überhaupt beantworten soll. Die bisherige Zielsetzung einer Kursprognose ist unscharf. Für Kursprognosen stehen verschiedene Möglichkeiten zur Verfügung, die so in Ihrer Anwendung auch unterschiedliche Möglichkeiten bieten.

Zielsetzung ist es, auf die bisherige Softwareumgebung abgestimmt, eine Vorhersage für die prozentuale Kursveränderung auf einen vorher eingestellten Zeitraum zu bieten. Eingebettet in das Programm geht die Prognose daher in einem sogenannten „Trading -Studio" auf.

Die Zielsetzung ist damit auf eine quantitative Aussage des Neuronalen Prognose-Netzes abgestimmt. Hiermit wird dann der Vergleich der Prognosen sehr differenziert möglich. Als Kontrastalternative steht hier vor allem die binäre Prognose mit den möglichen Aussagevarianten „steigt", „fällt" oder „keine Veränderung". Dies erlaubt aber nur eine sehr vage Aussage über die Sicherheit der Prognose, da es lediglich drei Abstufungen gibt. Für den Aktienhandel ist diese Form daher eher ungeeignet. Hierbei ergibt sich, wie sich später noch zeigen wird, bei binären Targetwerten eine Einschränkung des Informationsgehaltes. Die Qualität lässt zudem im Rahmen der Fehlerrückrechnung (Backpropagation- Lernalgorithmus) nach. Auch ein signifikanter Trend in den zu berücksichtigenden Zeitreihen kann Probleme machen, da evtl. das Netz bei den steigt/fällt Aussagen allein die Bewegungsrichtung der Zeitreihen nachbildet. Folglich wird ein Punkt- oder Differenzwert bevorzugt. Auf die Ausgabe von Handelssignalen (steigt/fällt) wird verzichtet.

Arbeitsschritte zur Modellierung eines Netzes

Bei der Modellierung des Netzes wäre es möglich gewesen, auf bereits vorhandene Entwicklungsumgebungen für Neuronale Kursprognose-Netze zurückzugreifen. Neben der von Siemens entwickelten SENN Umgebung oder auf finanzmathematische Belange zugeschnittene Plattform Neuroshell gibt es auf dem Markt eine Reihe von weiteren Produkten. Da weitestgehend auf eine Eigenentwicklung zurückgegriffen wurde, soll das 5. Kapitel zur Darstellung des entwickelten Modells genutzt werden. Das Ziel ist hier die Darlegung der Arbeitsschritte und Vorüberlegungen für die Nutzung von Neuronalen Netzwerken in „Shareholder" für die angewandte Kursprognose.

Aufbau eines eigenes Netzes

image-1655732017392.png


Abbildung: Ansicht der Netwerktopologie

In diesem Beispiel sind

  • x- Eingabeneuronen
  • mit 5 Hidden Neuronen,
  • die wiederum mit zwei Hidden Neuronen und diese schließlich
  • mit einem Ausgabeneuron verbunden.

Eine eingegebene Strukturänderung wird mit der Entertaste abgeschlossen.

Der Anwender ist in der Wahl der Netz-Struktur eingeschränkt, da ein Feedforward- Netzwerk mit kontinuierlichen unbeschränkten Aktivierungszuständen und einem Ausgabeneuron erwartet wird. Die Setzung des Verbindungsnetzwerkes ist hingegen frei.

image-1655732021913.png


Abbildung: Verbindungsmatrix

Die Darstellung erfolgt in Matrixschreibweise (komplette Strukturansicht). Die Beschriftungen sind entsprechend der verbundenen Zellen farblich strukturiert. Ausgabeneuronen haben die Farbe rot, Eingabeneuronen die Farbe grün.

image-1655732026136.png


Abbildung: Einstellung für ein Neuron

Da jedes Neuron, als kleinste Einheit eines Neuronalen Kursprognose-Netzes, spezifische Attribute aufweist, werden diese in einem eigenen Formular erfasst. Einstellbar sind hierbei jedoch nur die verwendete Position (Schicht), Verwendung eines Schwellwertes, Aktivierungsfunktion und der Name des Neurons. Eingabeneuronen können aus diesem Formular nur theoretisch ergänzt werden, da praktisch die Möglichkeit zur Zuordnung von Eingabedaten (Indikatorenwerte usw.) fehlt. Um genau diese Zuordnung herzustellen, muss das eigens angelegte Formular „Eingabeneuronen" von der Hauptansicht aus benutzt werden.

image-1655732030236.png


Abbildung: Festlegung der Eingabeneuronen

Die möglichen Indikatoren sind hier in einem Katalog, entsprechend der Clusterzugehörigkeit bzw. der Indikatorenfamilie (Momentum, Trendfolger usw.), erfasst. Im Programm können die selben Indikatoren mehrfach genutzt werden, wenn diese in unterschiedlichen Indikatorengruppen organisiert sind. Sinn der Indikatorengruppen ist die Gruppierung der Indikatoren nach zeitlichen Aspekten. Hierzu werden die Parameter jedes Indikators separat gespeichert und können vom Chartmodul aus verändert werden.

Datenvorverarbeitung

Sehr zeitaufwendig gestaltet sich die Datenvorverarbeitung. Um die Übersicht zu bewahren, werden die Indikatoren grafisch aufbereitet in einem Diagramm dargestellt. Für die Datenvorverarbeitung gibt es vom Anwender folgende Einstellungsmöglichkeiten:

  • Einteilung der Trainings-/und Validierungsmenge
  • Marktsegment der Datenbasis
  • Kursprognosezeitraum

Der Prognosezeitraum sollte vom Anwender bereits in den ersten Schritten festgelegt werden und ist daher unter dem „Topologie"-Reiter vorzunehmen. Während der Datenvorverarbeitung werden im Einzelschrittmodus die erzeugten Daten im Chart dargestellt. Der Fortschritt wird mit Unterstützung der Aufbau-Grafik angezeigt.

image-1655732035724.png

Im Einzelschrittmodus ist mit „Weiter" der Vorgang fortzusetzen und mit „Abbrechen" der Gesamtprozess zu stoppen.

  • Zeitfenster
    • Als Datenbasis werden tagesbasierte Werte zugrunde gelegt. Für die Entwicklung ist es erforderlich, die Daten in ein einheitliches äquidistantes Zeitraster in Form einer bestimmten Tagesperiodizität zu bringen. Es wird dazu ein 5-Tages-Raster angelegt, wobei an Wochenenden kein Wert erwartet wird und Feiertage aufgefüllt werden. Dieses Raster wird dann einheitlich von allen verwendeten Indikatoren eingesetzt.
  • Konsistenz der Kursdaten
    • Bei den dem Netz präsentierten Kursdaten ist dringend auf die Konsistenz dieser zu achten. Schwierigkeiten bereiten hier in der Praxis vor allem die Bereinigung von Kapitalerhöhungen, Aktien-Splitts sowie von Dividendenabschlägen. Erfolgt hier keine Bereinigung der Kursdaten, so ist in jedem Fall die Qualität des Netzes anzuzweifeln, da Kurssprünge bei den Trainingsdaten dem Netz zusammen mit den verwendeten Inputvariablen gegeben werden, die so in den historischen Kurdaten nie zu finden waren und zur fehlerhaften Konvergenz des Netzes führen muss. Diese Prüfung muss komplett per Hand erfolgen und kann nur in wenigen Fällen wirklich automatisch durchgeführt werden.
  • Glättung von Kursdaten
    • In den Daten ist ein hoher Rauschanteil vorhanden, der sogenannten stochastischen Komponente in den Zeitreihen, welche im Sinne von nicht prognostizierbaren Ausprägungen verstanden werden muß. Das Netz muss allerdings die deterministische Komponente extrahieren. Im Sinne der Datenaufbereitung könnte eine Glättung der Daten vorgenommen oder anstatt der Tagesdaten, die Wochendaten mit Durchschnittsbildung herangezogen werden..
  • Clusterbildung
    • Bei der Festlegung der Inputvariablen können diese entsprechend ihrer inhaltlichen Einordnung in Cluster zusammengefasst werden. Der Sinn besteht darin, die Eigenschaften einer solchen Einheit einmalig festzulegen. Dies ermöglicht dann beispielsweise das Einfrieren eines bereits optimierten Clusters, um eine Signalweitergabe entsprechend der Verbindungsgewichtung zu erlauben, jedoch das Lernen an diesen Verbindungsstellen zu unterbinden. Werden Cluster deaktiviert, so ist eine weitere Untersuchung und Optimierung des Netzes durchführbar. Als Clustergruppen werden aufgrund einer vorhergehenden logischen Einteilung vorgeschlagen:
      • Trendbestimmungsindikatoren
      • Momentumoszillatoren
      • Trendfolgeindikatoren
      • Volatilitätsindikatoren sowie Umsatzzahlen
  • Parameterfestlegung
    • Die Rohdatenvariablen müssen hinsichtlich des eigentlichen Prognoseziels ausgelegt werden. Da es sich bei den Rohdaten vor allem um Indikatoren handelt, ist daher zunächst eine geeignete Parameterfestlegung zu wählen. Da das Konzept nach außen nicht als Black BOX erscheinen soll, wird hier die Festlegung durch den Nutzer des Netzes, mit Hilfe seiner Erfahrungen in der optimalen Parameterwahl, gemacht. Es existieren jedoch Standardwerte. Es sei an dieser Stelle erwähnt, dass genetische Algorithmen für die Optimierung und evolutionstechnische Selektion der geeigneten Parameter für die Testdaten herangezogen werden können. Praktisch wurde dies jedoch noch nicht vollzogen.
  • Logarithmierung
    • Die Zeitreihe des Prognosewertes kann logarithmiert werden, da wertmäßige Abstände auf allen Zeitebenen die selbe Bedeutung bekommen. Es kann für das Netz ein Unterschied bedeuten, ob eine Kursprognose von einem Eingabewert 10 oder von 1000 ausgeht. Die Logarithmierung erfolgt nicht sofort bei den Kursdaten, sondern bei Notwendigkeit bei der Berechnung eines Indikators.
  • Einteilung der Testdaten
    • Die Zeitreihen der Testdaten wird in drei Teilmengen eingeteilt:
      • Trainings-,
      • Validierungs- und die
      • Generalisierungsmenge.

Die Validierungs- und Generalisierungsmenge werden zum Test der Prognosegüte herangezogen und im Rahmen der Fehlerrückberechnung nicht verwendet. Die Validierungsmenge wird im Training genutzt, um ein Übertrainieren/ Overfitting des Netzes zu vermeiden; während die Generalisierungsmenge zur stichprobenartigen Prüfung des trainierten Modells herangezogen wird.

image-1655732041010.png


Tabelle: Einteilung der Testdaten

Ein chronologische Reihenfolge der Validierungs- und Trainingsmenge wird zugunsten einer zufallsgesteuerten Reihenfolge verworfen. Die Speicherung der nicht linearen Reihenfolge muss für die Vergleichbarkeit der Ergebnisse, nach Neustarts des Trainings, bereits während der Datenvorverarbeitung erfolgen. Die einseitige Anpassung der Gewichte in starken Trendphasen kann durch die zufällige Streuung ebenso vermieden werden.

Dadurch, dass nur jedes 6.Beispiel für die Validierungsmenge verwendet und aus der Trainingsdatenmenge herausgenommen wird, wird vermieden in die Analyse unbeabsichtigt einen eventuell vorhandenen statistischen Zusammenhang zum Wochentag der Kursentwicklung hineinzunehmen. Wird zum Beispiel eine Auftrennung jedes 5.Beispiels zur Anwendung kommen, so würde die Validierungsmenge nur aus Testdaten eines Wochentages bestehen. Beginnt die Analyse damit an einem Montag, sind alle Testdaten vom Montag. Der Wochentag der Validierungstestmuster verschiebt sich um genau einen Tag nach vorne bei Nutzung eines 6.Tage Rhythmus. Die Prüfung erfolgt innerhalb des Programms mit der ganzzahligen Restwertfunktion MODULO „Index mod 6=0".

Korrelationsanalyse
Im Rahmen der statistischen Vorauswahl kann auch eine Korrelationsanalyse auf Redundanzen der Inputzeitreihen durchgeführt werden. Inputreihen der selben Clustergruppe, die Korrelationen über |0.9| aufweisen, werden dann auf eine Clustergruppe reduziert. Diese Vorauswahl ist allerdings problematisch, da nach der Feststellung einer hohen Korrelation die Entscheidung auf eine der Kursreihen vom Anwender getroffen wird und hierbei eine Fehlerfunktion des Netzes überhaupt nicht zur Beachtung kommen kann. Eine Netzausdünnung im Verlauf der Lernphase ist wesentlich intelligenter; auch wenn der Rechenaufwand vor allem in den ersten Evolutionsstufen sehr hoch sein kann.

Den Anwender interessiert vor allem die Bereitstellung der Indikatorendaten. Dies baut auf mehrere Einzelschritte auf. Am Anfang aller Berechnungen steht die Berechnung der eigentlichen Indikatorwerte. Erst dann werden mit Hilfe dieser Daten entsprechende zusätzliche Informationen extrahiert wie die Zonenlage-, Divergenzen-, Kauf- und Verkaufsignale. Die Normalisierungswerte fassen keine Zusatzinformationen gegenüber den ursprünglichen Indikatorwerten. Sie enthalten allein die für das Netz benötigte transformierte normalisierte Datenmenge. Zweck der Datennormalisierung ist es, eine möglichst gleichförmige statistische Verteilung der Werte für jeden Nerzwerkinput und -output zu erreichen. Auch sollten die Werte so skaliert werden, dass sie in den Wirkungsbereich der Inputneuronen fallen. Als Mindestbedingung werden die Daten auf eine für die Inputneuronen handhabbare Größenordnungen reduziert. Die liegen entsprechend der gewählten Aktivierungsfunktionen in einer Spanne von 0 bis 1 (Log) oder -1 bis 1 (TanH).

Für das überwachte Lernen sind neben den Inputdaten, die Kursprognosezielwerte bereitzustellen. Das Lernverfahren erhält somit qualitative (Fehler-)Angaben durch den Vergleich der aktuellen Netzausgabe mit dem erwarteten Wert.

In den Kursdaten ist ein sehr hoher Rauschanteil vorhanden, der so vom Netz durch die vielen kurzfristigen hohen Ausschläge (Tagesschwankungen) nicht nachgebildet werden soll. Nachzubilden ist allein die deterministische Komponente in den Kursdaten. Die Zielwerte der Kursprognose werden kurzfristig geglättet mit einem 3-Tages- Durchschnitt. Neben der Glättung werden die Daten nach der Berechnung per Zufall gespeichert.

Trainingseinstellungen

image-1655732046140.png

Die Lernparameter sind für das aktuelle Neuronale Kursprognose-Netz unter dem Reiter „Trainingseinstellungen" abgelegt. Der Typ der Netzinitialisierung ist nicht verhandelbar und wird vorgegeben. Die Auswahl des Lernverfahrens, unter der Vorraussetzung der Verwendung von Feedforward-Netzwerken, ist zwischen Standard Backpropagation und RProp möglich. Das Backpropagation-Lernverfahren wird mit aktivierbaren Verbesserungen wie dem Weight Decay und dem Momentum-Term erweitert. Da das Netztraining oft ein systematischer Try&Error-Prozeß ist, wird ein Trainings-/Testprotokoll integriert. Dieses kann auch automatisch nach jedem Trainingsvorgang erzeugt werden und umfasst die Netztopologie, Trainingseinstellungen und die Testergebnisse.

Bitte lesen Sie die Bedeutungen der Einzelbegriffe in den theoretischen Betrachtungen auf dieser Seite weiter unten nach!

Training

Wenn die Topologie, die Datenvorbereitung und die Festlegungen für die Trainingseinstellungen abgeschlossen worden sein, kann das eigentliche Training des Neuronalen Netzes erfolgen.

Das Training wird über den Button "Netztraining" gestartet.

image-1655732050671.png

Das Lernen des Netzes verläuft eigenständig ohne Eingriff des Anwenders, wenn nicht der Einzelschrittmodus aktiviert wird. Die Überwachung des Fortschrittes ist jederzeit mit Auswertung der Testergebnisse möglich. Neben der Teststrategie sind die dynamischen Bereiche des Neuronalen Kursprognose-Netzes in einem Histogramm dargestellt. In diesem sind die Schwellwerte und die Verbindungsgewichte fortlaufend abzulesen.

Neben dem Lernprozess des Neuronalen Kursprognose-Netzes hat auch die bisher noch wenig beachtete Teststrategie eine bedeutende Rolle für den Erfolg eines Kursprognosesystems.
Die möglichen zum objektiven Test des Neuronalen Netzwerkes zu nutzenden Strategien stammen dabei zumeist aus der Statistik. Nachfolgend werden einige Varianten beschrieben ohne Anspruch auf Vollständigkeit. Bei der Veranschaulichung bleibt es bei der bisher genutzten Variabelenzuordnung von ti für den Erwartungswert (Teaching Value) des Musters i und von oi für die tatsächliche Ausprägung für das Muster i. Die Betrachtung erfolgt dabei für n-Beobachtungszeitpunkte.

  • Mean Square Error (MSE): Ein weit verbreitetes Maß zur Beurteilung eines Fehlers wird wie folgt definiert: 

    image-1655732056869.png

  • Korrelationskoeffizient (R): In der allgemeinen Form beschreibt dieser die lineare Korrelation zwischen vorhergesagten und beobachteten Zeitreihenwerte über n-Beobachtungszeitpunkte.

    image-1655732061636.png

    .Der Korrelationskoeffizient kann Werte zwischen -1 und +1 annehmen, wobei -1 einen starken negativen Zusammenhang erklärt. Bei R=0 ist kein Zusammenhang erkennbar.
  • Theils Koeffizient: Der Theilsche Koeffizient vergleicht die Vorhersage mit einer sogenannten „Trivialen Prognose". Ausgehend von der Random-Walk-Theorie wird die Hypothese aufgestellt, dass die beste Schätzung für Morgen der Kurs von Heute ist. Ist die Vorhersage besser als der triviale Mechanismus, müssen mit der nachfolgend dargestellten Funktionsformel die Werte für Tr £ 1 sein. Demzufolge sind Werte Tr ³ 1 schlechter als die „Triviale Prognose", da dann der Funktionsterm (Triviale Methode) im Nenner (Fehlerfunktion) kleiner ist als der Funktionsterm im Zähler (Prognosesystem). 

    image-1655732067559.png

  • Mean Reversion: In Anlehnung an den Theil Koeffizienten kann man davon ausgehen, dass die beste Schätzung von Morgen der historische Durchschnitt ist. Wieder gilt mit einem Tp=1, dass die Prognose dem beobachteten historischen Mittelwert entspricht. Die Formel stimmt mit dem Theils Koeffizienten Tr überein. Allein der unterschiedliche Ansatz des Vergleichsterms im Nenner unterscheidet beide. 

    image-1655732072385.png

  • Realisierter Return (RR): Bei dem realisierten durchschnittlichen Return wird die Ausgabe normalisiert auf Richtig- und Falschaussagen. Der Return entspricht der Summe der richtigen Vorhersagen, vermindert um die Summe der Falschen. Die Ausgaben und Erwartungswerte sind in diesem Fall als prozentuale Tagesentwicklungen zu verstehen. Es wird damit unterstellt, dass eine Positionierung am Markt (Kauf/Verkauf oder Long/Short) mit Hilfe der Prognose zu einem Return am nachfolgenden Tag entsprechend der Tagesentwicklung führt. 

    image-1655732078017.png

  • Profit Index (PI): Wenn alle Trends korrekt vorhergesagt werden, resultiert ein Wert von 1. Das Modell schwankt zwischen -1 (komplett falsch) und +1 (komplett richtig) in der Trendvorhersage. 

    image-1655732082903.png

  • Wegstrecke (WS): Ein oft benutztes Beurteilungskriterium ist die sogenannte Wegstrecke als effizientes Auswahlkriterium bei Handelsmodellen. Sie gibt durch ihre mathematische Formulierung den prozentualen Anteil des Gesamtverlaufs der Zielreihe an, welche das Modell korrekt prognostiziert hat. Folglich wird der Anteil des Modells am maximal erreichbaren Gewinn dargestellt. Der maximal erreichbare Gewinn ist die Summe der absoluten Tagesentwicklungen. Signal ist +1 bei einem positiven und -1 bei einem negativen Vorzeichen des Ouputs. Das Modell wird reduziert auf die Summe der richtigen Positionierungen am Markt, die mathematisch durch ein gleiches Vorzeichen der tatsächlichen und prognostizierten Entwicklung gekennzeichnet sind. Unterscheidet sich das Signal von der tatsächlichen Entwicklung (-1*Entwicklung oder 1*-Entwicklung) führt dies immer zu einem negativen Summandenwert im Zähler. 

    image-1655732088338.png

    . Im Ergebnis wird ein korrekt arbeitendes System eine Wegstrecke von 1, ein immer falsch agierendes Modell von -1 besitzen. Ein Random - Walk - Modell hätte eine wahrscheinliche Ausgabe von 0.

Modellumsetzung: Für den Einsatz im Modell wird eine parallele Nutzung der Wegstrecke, Theils Koeffizienten, Mean Square Erros und Korrelationskoeffizienten vorgeschlagen. Die Berechnungen werden systematisch während des Lernvorganges erfasst; getrennt nach Validierungs- (TestVal) und Trainingsdatenmenge (TestTr).

Korrelationsanalysen

image-1655732093833.png


Die Suche nach redundanten Informationen in den Eingabedaten gestaltat sich sehr einfach mit entsprechenden Korrelationsanalysen. Hierzu ist unter dem gleichnamigen Reiter die Analyse der Abhängigkeiten von normalisierten Indikatorwerten und auch der Signalmuster möglich. Die Auswertung erfolgt auf Basis eines Indikators zu einem anderen Indikator oder auch spezifisch von einem Indikator zu allen anderen bereits verwendeten Indikatoren des Netzes.

Netzoptimierungen

image-1655732097805.png

Die mehrfach angesprochenden Netzoptimierungstechniken wie Input Prunning, Weigth Prunning und Hidden-Merging sind im Modellprogramm aufgegriffen. Das Weight-Prunning konzentriert sich allein auf die Ausdünnung von Verbindungen, die nur wenig zur Netzeingabe der verbundenen Neuronen beitragen durch ihr geringes Verbindungsgewicht. Die Sortierung der Verbindungsgewichte erfolgt entsprechend der Verbindungsgewichte. Das Hidden-Merging zeigt die Korrelationen der Aktivierungen der Hidden-Neuronen untereinander. Die Analyse erfolgt komplett von jedem Hidden-Neuron zu jedem anderen Hidden-Neuron.

Bei der Anwendung von Neuronalen Kursprognose-Netzen kann es zu typischen Problemen kommen. Eines der Probleme ist das sogenannte ‚Overfitting'. Dieses beschreibt den Tatbestand, dass Neuronale Kursprognose-Netze, insbesondere die komplexeren Modelle, dazu tendieren, das sogenannte „Rauschen" in den Inputdaten zu erlernen (‚fitting the noise').

Um dies zu vermeiden, können folgende Ansätze genutzt werden:

  • Die Topologie des Netzes sollte so klein wie möglich sein, um die verrauschten Daten in den Trainingsdaten und Testdaten zu generalisieren. Mit wachsendem Komplexitätsgrad wächst die Fähigkeit des Netzes, die Testmuster auswendig zu lernen und auf Scheinfakten hereinzufallen.
  • Die Stabilität der Prognosequalität ist über einen ausreichend großen Datenbereich zu testen, um nicht beim Einsatz des Systems am echten Modell zu scheitern.
  • Systematischer Einsatz von Netzausdünnungstechniken wie Weight Prunning, Input Prunning und Hidden Merging.

Wird die Netzausdünnung systematisch eingesetzt, führt dies zwangsläufig zu einem Wechselspiel zwischen Netzausdünnung und Training bis ein offensichtlicher Gleichgewichtszustand erreicht wird. Diese Methoden sind nicht integraler Bestandteil des Algorithmus, sondern kommen während Lernunterbrechnungsphasen zum Einsatz.

  • Weight Prunning: Weight Prunning beurteilt die Relevanz eines Gewichtes neben der absoluten Höhe auch nach seiner Volatilität. Es fließt daher die strukturelle Stabilität des Gewichtes und damit der dahinterstehenden Informationen in die Relevanzbeurteilung mit ein. Das Verfahren erlaubt die Reaktivierung von Gewichten. Gewichte werden entfernt, indem sie auf 0 gesetzt werden, da dies innerhalb der Propagierungsfunktion zu einem 0 Summandenterm führt.
  • Das Input Prunning zielt auf die Inputvariablen ab. Es werden damit grundsätzlich gleich mehrere Gewichte gekappt. Der Betrag jeder Inputzeitreihe wird mittels einer Sensitivitätsanalyse berechnet und in Form einer Ranking-Liste für alle Zeitreihen ausgegeben. Gezielt können, angefangen mit der unwichtigsten Einflussgröße, diese herausgenommen und ähnlich dem Weight Prunning später auch wieder aufgenommen werden.
  • Hidden Merging beinhaltet die Korrelationsanalyse bzgl. des Outputs der Hidden- Neuronen und zielt auf die redundante Signalweitergabe der Hidden- Schicht ab. Das Verfahren wird allerdings erst nach einer stabilen Modellreife angewandt, da die Dimension der Hidden- Schicht in der Regel um einiges kleiner ist, als die der Input-Schicht. Hidden-Neuronen mit hochkorrelierter Ausgabe vereint man, da sie faktisch als Biaselement wirken. Die Neuronenanzahl in der Hidden-Ebene wird sukzessive verringert, ohne wichtige Informationen zu verschenken.

Als Folge der Verwendung der Optimierungsverfahren wird die Zahl der Inputneuronen als Maximalmalbeschreibung vorgegeben. Außerdem ist es nicht erforderlich, die Frage nach einer geeigneten Topologie, d.h. Zahl, Anordnung und Verbindungsgefüge der Neuronen, zu beantworten. Ausgehend von einer Maximaltopologie (Hidden, Inputneuronen und deren Verbindungen) wird in Richtung der Modellverbesserung modifiziert. Die Anwendung der drei Grundverfahren erfolgt in der hier vorgestellten Reihenfolge. Als Folge wird eine generelle Reduktion der Freiheitsgerade innerhalb des Netzwerkes sowie eine Minderung der Anzahl der benötigten Trainingsdatensätze für das Netztraining erreicht. Problematisch bleibt aber die Wahl der Zeitpunkte für die Netzausdünnung. Eine mögliche Variante wäre eine Kreuzvalidierungsmethode der Trainings- und Validierungsdatensätze. Die Prüfung erfolgt auf Basis der errechneten Netzfehler.

image-1655732103828.png


Abbildung: Ablaufsequenz zwischen Training und Optimierung

Während der Trainingsphase haben sich folgende Methoden für die Netzwerkoptimierung als sehr nützlich erwiesen und sind entsprechend im praktischen Modell umgesetzt:

  • Fortlaufende Messung und getrennte Darstellung des Gesamtfehlers für die Trainings- und Validierungsmenge
  • Kontinuierliche Darstellung der Gewichte und Schwellwerte des Netzwerkes in Form eines Histogramms
  • Ständige Berechnung wichtiger Koeffizienten im Rahmen der Teststrategien. Hier sind vor allem die Wegstrecke und der Korrelationskoeffizienten sehr hilfreich, da sie Aufschluss über die aktuelle Prognosequalität des Netzes geben.

Netzwerkmodell/-struktur

Im Programm kann mehr als ein Netz verwaltet werden. Hierzu sind die Netze mit den Aktionen Hinzufügen, Löschen und Editieren ausgestattet. Ist ein neues Netz erstellt, beginnt der Anwender mit der Basisstruktur eines Feedforward -Netzwerkes (0,6,3,1). Die Strukturfestlegung erfolgt über ein Texteingabefeld im unteren rechten Bildbereich. Durch Komma getrennt, wird die Anzahl der Neuronen in der chronologisch zugehörigen Schicht festgelegt.

Theorie

Der nachfolgende Text dient nur der theoretischen Darstellung. Diese muss für die Anwendung in SHAREholder nicht nachvollzogen oder vollständig verstanden werden. Basis der Arbeit ist meine damalige Diplomarbeit gewesen. Die Texte sind entsprechend hieraus entnommen, aber teilweise gekürzt!

Neuronale Netzwerke entstanden aus Versuchen, das Verhalten von lebenden Nervengeweben am Computer mit simulierten Neuronen und Synapsen (Nervenverbindungen) nachzuahmen. Das Ziel ist, die Art der Informationsverarbeitung und Beschlussfassung von Lebewesen zu modellieren. Neuronalnetzwerke existieren in einer Vielzahl von Architekturen. Die Architektur ist die besondere Art, in der die simulierten Neuronen untereinander verbunden sind, sowie ihr internes Verhalten, d.h. ihre spezifische Art der Signalverarbeitung, auch Transferfunktion genannt. Die künstlichen Neuro-Netze stellen stark schematisierte informationstechnische Modelle des Gehirns dar. Dessen Nervenzellen werden durch Speicherzellen (Neuronen) repräsentiert. In vager Anlehnung zu natürlichen kognitiven Prozessen besitzen NNs eine gewisse Lernfähigkeit und lassen die Abbildung nichtlinearer Beziehungen zu. Wegen dieser Eigenschaft auch chaotische oder fraktale Zeitreihen abzubilden und vorhersagen zu können, verkörpern Neuronale Kursprognose-Netze ein leistungsstarkes Werkzeug in der Hand des Anwenders. Das Neuronale Kursprognose-Netz wird dabei nicht programmiert, sondern mit den Vergangenheitsdaten trainiert. Während der Trainingsphase verändern sich die Neuronenverbindungen so lange, bis das NN die Zusammenhänge der Einflussfaktoren, deren Gewichtung sowie interne Strukturen der Zeitreihen über ein nichtlineares mathematische Gleichungssystem ziemlich genau nachvollziehen kann. Mit dem erworbenen Wissen ausgestattet sollte das Neuronale Kursprognose-Netz schließlich möglichst sicher prognostizieren, wie sich die weitere Kursentwicklung vollziehen wird. Im Gegensatz zu statistischen Methoden, welche „modellgetrieben" arbeiten, sind NN in der Lage die ihnen gestellten Aufgaben in einer eigenständigen Systemanalyse und - Strukturierung zu realisieren. Sie arbeiten damit nicht auf Basis einer Modellvorgabe (Regeln, Fakten), sondern entwickeln sich „datengetrieben" ausgehend von einer großen Anzahl von Freiheitsgraden in Richtung einer zunehmenden Systemanpassung. Diese Lernfähigkeit und die Fähigkeit auch mit verrauschten Daten umgehen zu können, machen sie für den Anwendungsbereich der Finanzprognose interessant. Es sei hier nochmals hervorgehoben, dass Kapitalmärkte als komplexe Systeme, die durch eine hohe Anzahl von Einflussgrößen, Nichtlinearität in den Wechselwirkungen und hohen Rauschanteil der Daten, verstanden werden müssen. Mit Neuronalen Prognose-Netzen hat man ein Instrumentarium zur Hand, Systemstrukturen von Kapitalmärkten bei geschickter Modellierung abzubilden.

Neuronale Kursprognose-Netze gehören zu den adaptiven Systemen innerhalb der Analyseverfahren, neben den genetischen Algorithmen und der Chaostheorie. Es erfolgt die Simulation von Lernprozessen am Markt. Sie leiten kontinuierlich und adaptiv aus den Daten der Vergangenheit ein Erklärungsmuster ab. Da dieses über einige Zeit annähernd konstant bleibt, können hierbei sogar Prognosewerte einfließen.

Bestandteile Neuronaler Netze

Zellen eines künstlichen Neuronalen Prognose-Netzwerkes sind stark idealisierte Neuronen. Sie bestehen in Anlehnung an das biologische Vorbild aus einem Zellkörper, den Dendriten (Aufsummierung der Netzeingaben) und einem Axon, welches die Ausgabe der Zellen nach außen verzweigt und mit den Dendriten anderen Neuronen in Verbindung steht über Synapsen. Diese Synapsen haben dabei hemmende oder verstärkende Wirkung. Programmiertechnisch werden die Synapsen als Verbindungsgewicht dargestellt.

image-1655732111797.png


Idealisierter technischer (o.) / biologischer (u.) Aufbau eines Neurons

Neuronale Kursprognose-Netze werden daher als informationsverarbeitende Systeme verstanden, die aus einer großen Anzahl von einfachen Einheiten (Neuronen) bestehen; die sich Informationen in Form von Zellaktivierungen über gerichtete Verbindungen zusenden.

Zellen

Die Zellen besitzen folgenden Bestandteile:

Aktivierungszustand 'aj(t)', welcher den Aktivierungsgrad des Neurons beschreibt.
Mögliche Ausprägungen:

  • Diskret
    • Binär {0,1}, {-1,1}, {+,-}
    • Mehrwertig {-1,0,1} mit Z- ganzen Zahlen
  • Kontinuierlich
    • Intervalle [0,1],[-1,1]
    • Unbeschränkt R (reelle Zahlen)

Aktivierungsfunktion 'fact', womit die Berechnung eines neuen Aktivierungszustandes aj(t+1) festgelegt wird. Die Funktion hat als Parameter die alte Aktivierung aj(t), die Netzeingabe netj(t) sowie den Schwellwert, ab dem das Neuron überhaupt feuert.

Allgemeiner: ai(t+1)= fact( ai(t), netj(t), qj )
In vielen Fällen haben die Zellen dabei kein „Gedächtnis", d.h. die neue Aktivierung aj(t+1) ist nicht abhängig von der alten Aktivierung aj(t).

Die Aktivierungsfunktion beeinflusst dabei wesentlich die Performance und die Eigenschaften des Netzes. In der Regel wird zwischen folgenden Aktivierungsfunktionen unterschieden:

image-1655732125929.png


Abbildung: Verlauf der Aktivierungsfunktionen

Schwellwertfunktion, womit die Ausgabe abhängig ist von der Bedingung, ob die Gesamteingabe größer oder kleiner als ein Schwellwert ist.

Sigmoide Funktion: Neuronen mit sigmoider Aktivierungsfunktion gehen nicht wie die Schwellwertfunktion plötzlich von Ruhe zu voller Aktivität über, wenn die Gesamteingabe die Schwelle überschreitet, sondern nur allmählich.

Ebenso populär ist die Tangens Hyperbolicus Funktion. Die Funktion ist ebenso sigmoid, stetig, differenzierbar. Hat jedoch als Wertebereich -1 bis +1.

Daneben gibt es auch die Lineare Funktion, Sinusfunktion usw. Diese spielen in der Praxis aber kaum eine Rolle oder können mathematisch aufgelöst werden (Lineare Funktionen). Bei der Klassifizierung der Aktivierungsfunktionen ist es zudem üblich zwischen einer deterministischen (fact wird eindeutig durch die Eingabe bestimmt) und einer stochastischen Aktivierungsfunktion (fact ist durch eine Zufallsverteilung abhängig von der Eingabe) zu unterscheiden.

Die Aktivierungsfunktion nutzt im Normalfall einen Schwellwert (Bias). Dieser gibt an, ab welchem Punkt das Neuron überhaupt ihren Aktivierungszustand nach außen weiterleitet (feuert). Wird der Schwellwert nicht überschritten, ruht das Neuron (Ruhezustand). Die übliche Spezialisierung der allgemeinen Formel unter Berücksichtigung des Schwellwertes ergibt mathematisch:

image-1655732131763.png

Vorüberlegungen für das Netz

Mit den bereits festgelegten Zielen und Eingabedaten ist an dieser Stelle eine genauere Festlegung der Zellstruktur durchzuführen:

  • Aktivierungszustand kann nur kontinuierlich mit einem Intervall von -1 und 1 definiert werden, da die stetigen Eingabesignale von den technischen Indikatoren verwendet werden sollten. Insbesondere die Signalmuster der Indikatoren, wie später noch zu zeigen ist, werden im Wertebereich von -1 bis 1 sein, da Werte <0 für „Verkaufen" und Werte >0 für „Kaufen" stehen.
  • Aktivierungsfunktion muss auf Basis der Festlegung der Aktivierungszustände eine tangens hyperbolicus -Funktion sein, um diesen Wertebereich nutzen zu können. Neben dieser auch zu umgehenden Bedingung (Trennung der Kauf- und Verkaufssignale oder Normalisierung hinein in den Wertebereich von -1 bis 1) ist die Funktion tanh ebenso sigmoid, stetig, differenzierbar wie die logistische Aktivierungsfunktion. Der wichtige Unterschied liegt darin, dass mit dieser Funktion häufig das Lernen vereinfacht wird, weil auch bei Nichtaktivierung des Vorgängerneurons (Aktivierung von -1) das Gewicht zwischen zwei Neuronen verändert werden kann. Bei Verwendung der logistischen Funktion wird dies verhindert, da die Aktivierung mit 0 in die Formel eingeht. Die Praxis hat gezeigt, dass tanh -Aktivierungsfunktionen zu einem schnelleren Lernprozess entsprechend ausgelegter Netze führen.
  • Schwellwerte werden direkt implementiert als Biaswert und nicht über ON- Neuronen.

Für die praktische Umsetzung ist aus Testzwecken eine Manipulation sowohl der Aktivierungsfunktion wie auch Schwellwerte denkbar für jedes Neuron.

Verbindungsnetzwerk

Eine Neuronale Kursprognose kann erst entstehen, wenn die Neuronen untereinander über gewichtete Verbindungen verbunden sind. Diese Verbindungen sind dabei nicht nur gewichtet (hemmend oder verstärkend), sondern auch gerichtet. Somit lässt sich technisch eine Matrixschreibweise für die Darstellung der numerischen Verbindungsgewichte nutzen. Die Verbindungen werden vorwärtsgerichtet vom Neuron zum Neuron dargestellt. Die gesamte Matrix der Verbindungen der Zellen wird in der Literatur als Gewichtsmatrix W bezeichnet.

Die Propagierungsfunktion netj(t), definiert die Netzeingabe für ein Neuron, womit die Ausgaben der anderen Neuronen und den Verbindungsgewichten berücksichtigt werden.
Diese (Netzeingabe) berechnet sich im Normalfall als Summe der Ausgabe oi(t) der Vorgängerzellen multipliziert mit dem jeweiligen Gewicht wij der Verbindung der Zelle i nach der Zelle j.

image-1655732137237.png

Lernregel

Das Neuronale Kursprognose-Netz muss lernen, für eine vorgegebene Eingabe eine gewünschte Ausgabe zu produzieren. Hierzu wird ein Algorithmus benötigt, der dann als Lernregel verstanden werden kann. Lernen erfolgt oftmals durch Veränderung der Verbindungen (Gewichtswerte ändern, Gewichte hinzufügen und/oder löschen). Dabei wird versucht, den Fehler zwischen Erwartung und Ergebnis durch das Netz zu minimieren auf Basis von Trainingsmustern. Die Lernregeln sind programmiertechnisch das Komplexeste an einem NN und werden in einem eigenen Abschnitt behandelt.

Netzwerkarchitektur

In der Praxis besitzen die Verbindungen in einfachen Neuronalen Kursprognose-Netzen nur die Richtung von den Eingabeneuronen in Richtung der Ausgabeneuronen. Damit ist dann eine Klassifikation der Zellen anhand ihrer Position im Netzwerk möglich. Grob wird dabei fast immer zwischen der Eingabeschicht (Neuronen mit den Eingabedaten für das Netz zum Training oder Auswerten), Versteckten Schicht (hidden layer) und der Ausgabeschicht (output layer) unterschieden. Ein Netz wird dabei als n-stufig bezeichnet, wenn es n Schichten trainierbarer Verbindungen hat. Üblicherweise wird das Verbindungsnetzwerk der Zellen ähnlich der Verbindungsmatrix W in einer Matrixschreibweise dargestellt.

image-1655732142118.png

In diesem Beispiel ist dabei eine Verbindung des 1.Neurons mit dem 2. und dem 3. Neuron durch ein X dargestellt. Die Verbindungsmatrix nennt die zugehörigen aktuellen Verbindungsgewichte. Interessant sind bei diesem Verbindungsnetzwerk nur die Gewichte w12 und w13, da zwischen den anderen Neuronen keine Verbindungen vorhanden sind. Dies zeigt, dass die Speicherung der Verbindungsmatrix aus Ressourcengründen selten komplett erfolgt. Wie später noch gezeigt wird, ist eine Beschränkung der Speicherung auf die tatsächlichen Verbindungen im Netzwerk und der zugehörigen Gewichte sinnvoller. Im Ergebnis gibt es keine globale Matrix, sondern nur Verkettungen von Neuronen (dynamische Liste). Eine Transformation in die eine oder andere Richtung ist möglich.

Die Klassifikation der Netze kann nach den Verbindungen erfolgen und wird in der Hauptsache auf Basis der Rückkopplungen vorgenommen. Zunächst kann eine erste Einteilung dahingehend erfolgen, ob ein Netz Rückkopplungen besitzt oder nicht. Netze ohne Rückkopplungen werden dabei in der Fachwelt als feedforward -Netzwerke bezeichnet. Es existiert kein Pfad, der von einem Neuron direkt oder über zwischengeschaltete Neuronen wieder zu einem Neuron zurückführt.

Netze mit Rückkopplungen oder auch Recurrente Netze (direkte, indirekte, innerhalb einer Schicht, vollständig verbundene Netzwerke) stehen auf der anderen Seite der Einordnung und haben durch die Rückverbindungen besondere Eigenschaften, die in Spezialanwendungen benötigt werden. Im Ergebnis steht aber immer eine hemmende oder verstärkende Wirkung und somit z.B. eine Aufmerksamkeitssteuerung bestimmter Bereiche (indirekte), Umsetzung einer „winner takes all-Netzes" (innerhalb einer Schicht) oder auch die Annahme von Grenzzuständen von Aktivierungen (direkte Rückkopplungen).

Weitere mögliche Unterscheidungsmerkmale:

  • Aktivierungsfunktion (sigmoide, lineare/ Schwellwert -Funktionen)
  • Aktivierungszustände (binäre/analoge Eingabemuster)
  • Verarbeitungsmodus (synchron/deterministisch, asynchron/stochastisch)
  • Trainingsverfahren/Lernmethode
  • Anzahl der Schichten (einlagig n=1, mehrlagig n>1)

image-1655732147080.png

Ein einfaches vorwärtsgerichtetes ebenenweise verbundenes Netz ist hier grafisch dargestellt. Zu sehen ist neben der Aufbaumatrix auch die Darstellung des Netzwerkes mit seinen Neuronen und Verbindungen. Dabei sind Verbindungen in der Form Von,Zu zu verstehen. Auf der X-Achse sind dann die Ebenen abgebildet. Hier sind vier Ebenen (eine Input-. zwei versteckte- und eine Ausgabeschicht) mit drei trainierbaren Schichten abgebildet. Die Verbindungen sind ausschließlich vorwärtsgerichtet und ebenenweise. Man spricht damit hier von einem dreistufigen Feedforward- Netzwerk.

Festlegungen der Topologie für die Kursprognose
Für die weitere Vorgehensweise ist eine differenzierte Festlegung der zu verwendenden Topologie unter dem Gesichtspunkt des zu erreichenden Ziels notwendig. Die Aktivierungsfunktion und der Aktivierungszustand wurden bereits eingeschränkt zu sigmoiden tanh Funktion mit Aktivierungszuständen von -1 bis 1 für analoge Eingabemuster. Offen blieb bisher vor allem die Frage nach der Anzahl der Schichten und die Anzahl der enthaltenen Neuronen.

Anzahl der Schichten

Die Anzahl der Schichten und die Verbindungsstruktur ergibt sich aus praktischen Erfahrungen mit solchen Netzen und wird zunächst als drei- oder zweistufiges Feedforward -Netzwerk mit je einer Input-/ Hidden-/ Output-Schicht festgelegt. Die Verbindung von mehr als 2 Hidden - Layer -Schichten ist wenig geeignet, da in der Praxis nur selten brauchbare Ergebnisse oder gar Verbesserungen erreicht wurden. Die Frage, ob nun ein drei- oder zweistufiges Netzwerk zu nutzen ist, stellt sich auch hier wieder sehr schnell. Es dreistufiges Neuronalnetz ist besser als ein dreischichtiges Netz, wenn es um die Verarbeitung von Daten geht, die in ungewöhnlichen Wechselwirkungen zueinander stehen, aus denen sich zunächst Abstraktionen in der 1 Hidden- Ebene gewinnen lassen, die weiter abstrahiert werden in der 2.Hidden Schicht. Die 2. Hidden -Schicht verkörpert damit dann Rückschlüsse, die das System im Hinblick auf die Zielgröße aus den Kombinationen dieser Merkmale zieht.

Anzahl der Ausgabeneuronen

In der Ausgabeschicht wird nur ein Neuron verwendet, welches dann in der Ausgabe auch bereits die Kursprognose als Prozentwert (->Differenzwert) zum Vortag gibt. Die gleichzeitige Verwendung von mehreren Ausgabeneuronen mit unterschiedlichen zeitlichen Prognosen wird ausgeschlossen, da davon auszugehen ist, dass ein Netz nicht gleichzeitig verschiedene Ausgaben wirklich optimieren kann. Das Netz versucht im Lernmodus den Gesamtfehler zu minimieren. Bei gleichzeitiger Verwendung von mehreren Prognosezeiträumen mit mehreren Ausgabeneuronen hat das zur Folge, dass das Netz auf einen Kompromiss trainiert wird.

Bei Verwendung von Eingabedaten aus der Technischen Analyse ist die Optimierung der Parameter der Indikatoren nur für einen Zeitraum möglich. Bei gleichzeitiger Nutzung mehrerer Prognosezeiträume sind die Indikatoren dann nur suboptimal einzustellen.

Anzahl der Inputneuronen

Die Anzahl der Eingabeneuronen werden in der Praxis fast immer durch Experimente bestimmt. Eingabedaten für das Netz sollten zusätzliche Informationen liefern. Die sinnvollen Eingabedaten sind mit systematischen Tests auszusuchen.

Die Korrelationsanalyse der Eingabedaten zu den Zielgrößen ist nicht befriedigend, da dieses Verfahren zunächst ein lineares ist. Eine Neuronale Kursprognose ist aber ein nicht-lineares Modell und die Verwendung innerhalb des Netzes und dessen Zusammenhänge bleiben dabei unberücksichtigt. Ein Netz das den Zusammenhang D=A-B darstellt, würde bei einer hohen Korrelation von A und B zunächst zu einer Eliminierung von A oder B führen. Zugleich wird dem Netz die Fähigkeit genommen, das Problem zu lösen.

Die modifizierte Version der Korrelationsanalyse ist die Sensitivitätsanalyse. Diese bleibt ebenfalls suspekt und sollte nicht verwendet werden. Bei diesem Verfahren wird der Wert einer Inputvariablen geringfügig geändert und die Auswirkung auf den Systemoutput beobachtet.

image-1655732153199.png

Die Anwendung bei linearen Modellen wäre unbedenklich, da die Bedeutung der Inputvariablen direkt von den Koeffizienten der Formel abhängen. Bei Neuronalen Prognose-Netzen kann dies zu ungewollten Ergebnissen führen.

Ein Beispiel: Ein Netz modelliert ein Tages-Kursprognosesystem mit den Inputvariablen: Markstimmung der Teilnehmer und Kursentwicklung des Vortages an der NYSE . Der Zusammenhang der abgebildet werden soll, ist mit folgenden Formeln erklärt:

image-1655732158447.png


image-1655732162845.png

Der Kurs des Folgetages ist die Summe aus dem Vortageskurs und der Stimmung.

Die Sensitivitätsanalyse wird zeigen, dass mit Änderung der einen Inputvariablen „Stimmung" die Kurse nur sehr wenig verändert werden; die Inputvariable „Kursentwicklung an der NYSE" aber eine hohe Sensitivität zeigt. Die Auflösung der ersten Variablen wäre aber problematisch, sollte der Vortageskurs einen Verlust größer als 10% zeigen.
Die Stimmung ist wie die Börsenpsychologie zeigt unter der Wirkung von Massenpsychosen und Herdentrieb eine Schwellwertfunktion. Es kommt plötzlich zu einem Crash, wenn die Anleger bei Kursrückgängen von mehr als -10 Prozent in Panik verfallen. Es setzt dann die Schwellwertfunktion um auf einen sofortigen Kursverlust von 20 Prozent (1-0.8).
Die Zufallskomponente „Zufall" bleibt ungeachtet der anderen Funktionsparameter als Hintergrundrauschen der Funktion immer erhalten. Wie das Beispiel zeigt, würde die Sensitivitätsanalyse zu falschen Ergebnissen führen.

Der definitive Entscheidungsfaktor ist letztendlich was und wie viel eine Variable zum Modell beiträgt. Hier können genetische Algorithmen verwendet werden, um systematisch Inputvariablen und zahlreiche Kombinationen zu testen. Details dieses Verfahren würden aber über diesen Kontext hinausgehen. Eine andere wirkungsvolle Methode ist die Identifizierung von schwachen Variablen in einem systematischen Test- und Eliminierungsprozess. Hierzu kann an einem trainierten Netz eine Variable vorübergehend entfernt werden und das Netz neu trainiert werden. Geht die Korrelation des Systemoutputs zur Zielgröße stark zurück, so wird diese Variable eine größere Rolle spielen. In diesem Eliminierungsprozess sollte systematisch in mehreren Iterationsschritten mit der eingesetzten Anzahl der Inputvariablen der Trainings- und Testfehler bestimmt werden. Diese lassen sich dann in einem Diagramm erfassen und der Ausdünnungsprozess kann gestoppt werden, wenn der Testfehler durch die eingesetzte Lähmung des Netzes zu steigen beginnt.

Nicht unbeachtet bleiben sollte die nötige Datenmenge für den Trainingsprozess.
Wird ein Modell genutzt, dass mehr Variablen als Datenreihen zur Verfügung hat, bezeichnet man dieses als unterbeschränkt. Es gibt damit nicht genug Daten, um alle Freiheitsgrade zu beschränken. Dies führt dazu, dass die Ausgabe des Systems instabil wird. Gibt es Koeffizienten, die frei zugeordnet werden können, werden bei gleichen Daten unterschiedliche Ergebnisse zurückgeliefert.

Die Testdaten sollten im Minimum so groß sein wie die Freiheitsgrade, die zur Verfügung stehen. Die Freiheitsgrade im NN sind mit der Anzahl der Verbindungen im Netzwerk identisch. Da das Training von Neuronalen Kursprognose-Netzen ein Näherungsverfahren ist, wird ein Vielfaches der Datenmengen zum sinnvollen Training benötigt. Die genaue Festlegung ist nicht möglich. Unter Berücksichtigung der Freiheitsgrade sollte der Datenumfang an die Anzahl der vorhandenen Verbindungen geknüpft sein. Die Ausdehnung des erforderlichen Datenumfangs um den Koeffizienten „Faktor" erfolgt, um eine Stabilität des Netzes im Lernprozess zu erhalten. N bestimmt die Anzahl der Neuronen der Schicht.

image-1655732169691.png

Die Unbekannte „Faktor" wird bestimmt durch den Rauschanteil und Qualität der Testdaten, dem verwendeten Lernverfahren und dem Anspruch der Test- und Optimierungsstrategien. Bei Kursprognoseproblemen mit dem Backpropagation- Algorithmus konnte der Autor einen optimalen Wert von 10 (für den „Faktor") erkennen.

Anzahl der Hidden -Neuronen

Die Anzahl der Hidden-Neuronen ist selten im Voraus genau festzulegen. Auf diesem Gebiet besteht eine große Unsicherheit und die Festlegung erfolgt fast immer auf Basis von einfachen Leitregeln und einigen Experimenten. Als Faustregel wird in Füser95 folgende Formel genutzt:

image-1655732174885.png

Auch wenn es keine verbindliche Regel ist, gilt, dass die absolute Anzahl von verborgenen Neuronen eher gering sein sollte, wenn die Generalisierungsfähigkeit nicht aufgegeben werden soll. Hierunter versteht man die Eigenschaft, ein erworbenes Wissen sinnvoll zu verallgemeinern und analog daraus Rückschlüsse zu ziehen. Grundsätzlich gilt: Eine Neuronale Kursprognose kann nur generalisieren, wenn die neuen und bis dahin unbekannten Eingaben nicht zu sehr von den Beispielen abweichen, die das Netz in der Lernphase gesehen hat.

Die Festlegung der Schichten und der Neuronenanzahl in diesen ist eine Frage der Komplexität, eine Frage der Statistik „der Freiheitsgrade" und wirkt sich im erheblichen Maße auf die Anforderungen der Datenmenge für den Lernprozess aus. Mit mehr Unbekannten wird ein Vielfaches der Trainingsdaten und Trainingszeit benötigt. Ein weiteres Ergebnis der Verbreiterung der Dimension des Netzes kann eine bessere Kurvenanpassung, sowie die Verschlechterung der Generalisierungsfähigkeit bedeuten. Am Anfang jedes Trainings versucht das Netz die Trainingsbeispiele zu speichern. Ist die mathematische Flexibilität einer Formel (Freiheitsgrade) unzureichend, werden Regeln gebildet. Das Netz beginnt zu generalisieren. Als Konsequenz sollte die Entwicklung auf simple Modelle mit wenigen ausgewählten Inputvariablen abzielen, da nur hier die Freiheitsgrade niedrig genug sind, um dem „Datenrauschen" auszuweichen.

Lernprozess

Die große Popularität von Netzen und auch deren teilweise mystisches Image, ist mit Sicherheit auf deren Lernfähigkeit zurückzuführen. In diesem Kontext heißt dies, das Netze aus Erfahrungen lernen, die sie durch präsentierte Trainingsdaten gewinnen. Eine Neuronale Kursprognose wird auf eine festgelegte oder konsistente Menge von Ausgaben trainiert. Hierzu formuliert man entsprechende Lernstrategien zur Anpassung der Gewichte. Im Lernvorgang wird dem Netz anhand von Trainingsdaten vermittelt, wie bestimmte Situationen zu bewerten sind. Aus diesen Erfahrungen leitet das Netz dann später die Reaktion auf unbekannte Situationen ab (Generalisierung).

Die meisten Lernregeln erfordern einen Lehrer der festlegt, wie das Netz auf eine bestimmte Situation zu reagieren hat. Es wird dabei eine Bewertung des Ausgabemusters des angelegten Trainingsbeispieles vorgenommen. Dieses überwachte Lernen existiert in einer Art Nebenform mit dem bestärkenden Lernen, bei dem zu jedem Eingabemuster der Trainingsmenge nur eine Richtig/Falsch- Einschätzung vom Lehrer gegeben wird. Daneben existiert die Form des unüberwachten Lernens, bei dem das Netz selbstständig Regelmäßigkeiten in den Eingabedaten entdeckt und eine Unterteilung dieser in Klassen vornimmt. Ein Anwendungsbeispiel ist die Klassifikation von Daten (z.B. von Kunden in Bonitätsklassen).

Die Kursprognose ist dabei mit dem überwachten Lernen (supervised learning) am besten zu lösen, da zu jedem Trainingsdatensatz durchgängig auch ein Zielwert (Lernwert) festgelegt werden kann. Dieses Verfahren erlaubt ein schnelles und zielgerichtetes Lernen.

Das Lernen bzw. das Training bedeutet im Kontext der Neuronalen Kursprognose-Netze die problemadaptive Anpassung der Verbindungsgewichte anhand von vorgegebenen Datensätzen. Mathematisch betrachtet, bilden dazu Neuronale Kursprognose-Netze beim überwachten Lernen Eingabevektoren auf zugeordnete Ausgabevektoren ab. Die dazugehörige Transformationsformel wird dabei während des Lernvorganges berechnet. Da sich in den Gewichten das Wissen und das Verhalten NN auf unbekannte, d.h. nicht trainierte Eingabevektoren manifestiert, ist die Lernstrategie neben den verwendeten Trainingsdaten und deren Aufbereitung von zentraler Bedeutung für die Netzqualität.

Eines der populärsten Lernalgorithmen für überwachtes Lernen stellt das Error - Backpropagation- Verfahren dar.

Backpropagation - Algorithmus

Backpropagation ist ein Gradientenabstiegsverfahren. Ziel des Lernverfahrens ist es, während der Trainingsphase diejenigen Gewichte zu generieren, mit Hilfe derer das Netz ein problemädaquates Verhalten aufweist. Das Gradientenverfahren ist die Methode des steilsten Abstiegs und versucht das globale Minimum des Gesamtfehlers zu finden.

Nach der Präsentation der Trainingsbeispiele wird in jedem Iterationsschritt ermittelt, wie gut die tatsächliche mit der gewünschten Ausgabe übereinstimmt. Der berechnete Gesamtfehler des Netzes wird dabei herangezogen, um in seiner Abhängigkeit die Gewichte jeder Verbindung des Netzes für eine bessere Annäherung an das gewünschte Ergebnis zu adaptieren. Die notwendigen Rechenoperationen zur Bestimmung des Fehlers und zur Anpassung der Synopsengewichte nimmt der Error- Backpropagation- Algorithmus eigenständig vor. Als Wissensspeicher und Grundlage des Lernens muss daher die Anpassung der Gewichte im Netz verstanden werden und nicht die klassische (nicht)lineare funktionale Verknüpfung von mathematischen Thermen oder deren Umformung.

Der Backpropagation Algorithmus arbeitet in zwei Phasen. In der ersten, der sogenannten Propagation -Phase, wird zunächst der Ausgabewert des NN für ein Trainingsdatensatz p errechnet. Hierbei werden die momentan gültigen Gewichtungsfaktoren berücksichtigt und das Ausgabesignal des Ausgabeneurons k bestimmt. Schichtenweise ist dazu in jedem Neuron mittels Eingabe, - Aktivierungs- und Ausgabefunktion die Aktivität des Neurons zu bestimmen und an nachfolgende Ebenen/Neuronen zu übermitteln. Die Aktivitäten vorheriger Neuronen werden als Eingangssignale nachfolgender verstanden.

Am Ende der ersten Phase steht der Vergleich des berechneten Ausgangswertes opk mit dem gewünschten Zielwert tk. Die Differenz zwischen dem berechneten Ausgangswert opk und dem geforderten Zielwert tk wird an jedem Ausgabeneuron als Fehler des Netzwerkes für ein Trainingsmuster interpretiert. Diesen gilt es in der Trainingsphase zu minimieren.

Ausgehend von dem Fehler werden die Gewichte in der zweiten Phase der Backpropagation Phase korrigiert, damit sich der Gesamtfehler systematisch verringert. Dazu berechnet man den Fehler jedes einzelnen Trainingsmusters p und versucht diesen einzeln zu minimieren.

Differenziert werden muss zwischen:

  • Gesamtfehler des Netzes für alle Trainingsmuster p über alle Output-Neuronen k
  • Fehler eines Trainingsmusters p über alle Output-Neuronen k
  • Fehler eines Trainingsmusters p an einem Output-Neuron k

Für den Fehler eines Trainingsmusters p an einem Output-Neuron k gilt:

image-1655732181838.png

Die Summe der Fehler über alle Output Neuronen k ergibt:

image-1655732186635.png

Der Faktor ½ wurde aufgrund der Vereinfachung der Herleitung herangezogen, da dieser sich bei einer späteren Differenzierung gegen eine zwei wegkürzt. Zur Minimierung des Gesamtfehlers spielt dieser mathematische Trick keine Rolle. Der Gesamtfehler schließlich ergibt sich aus der Summe der Fehler der Trainingsmuster:

image-1655732192015.png

Wenn man den Fehler eines Neuronalen Netzwerks als Funktion der Gewichte des Netzes graphisch darstellt, so erhält man eine Fehlerfläche. In dieser Fläche ist das Minimum zu finden. Ein mathematisches Verfahren um im mehrdimensionalen Raum zu minimieren ist das Gradientenabstiegsverfahren.

Korrektur an den Ausgabe-Neuronen

Betrachtet man ein Teilnetz, welches durch Backpropagation trainiert werden soll, so lassen sich in drei Schichten je ein Neuron Ai (Eingabeschicht), Aj (Versteckten Schicht), Ak (Ausgabeschicht) darstellen. Die Ausgaben der Neuronen für das Trainingsmuster p ergeben sich auf Basis der verwendeten internen Propagierungs-/Aktivierungs-und Ausgabefunktion für Ai an oi, für Aj an oj und für die Ausgabe des Netzes am Ausgabeneuron Ak mit ok. Die Gewichte zwischen den Neuronen sind indexorientiert zwischen Ai zu Aj mit wij angegeben. Die Netzeingabe des Ausgabeneurons Ak berechnet sich durch die Netzeingabe netk.

image-1655732196663.png

Die Änderungsgröße für den Gewichtungsfaktor wjk, der zwischen dem Neuron j aus der vorgeschalteten Hidden- Ebene und einem nachgeschalteten Output-Neuron k liegt, wird bestimmt mit:

image-1655732201527.png

opj ist der Ausgabewert des Neurons j mit dem Trainingsdatensatz p. Der Parameter h ist die Lernrate und bestimmt die Geschwindigkeit des Lernprozesses und liegt zwischen 0 und 1 (im Normalfall bei 0,7 und 0,9).

dk ist der Fehlerwert der Ausgabeneuronen, der je nach Wahl der Aktivierungsfunktion gewählt werden muss. Allgemein gilt für d k, dass die Ableitung der genutzten Aktivierungsfunktion mit der Differenz der tatsächlichen Ausgabe opk mit der Zielausgabe tpk multipliziert wird.

image-1655732206652.png

Die Ableitung der Aktivierungsfunktion bestimmt die endgültige Formel:

image-1655732211170.png

Korrektur an den Hidden- Neuronen

Da der Ausgangswert nicht direkt mit dem Zielwert verglichen werden kann, muss der Fehlerwert Ek der nachgeschalteten Neuronen k, die sich in der Output-Ebene befinden, zurückgerechnet werden:

image-1655732216249.png

Fehlerwert: 

image-1655732382521.png

Es gilt:

image-1655732388303.png

Der Wert opj ist der Ausgangswert des Neurons j der Hidden- Ebene und opi dessen Eingangswert. Der Wert opi ist somit der Ausgangswert eines vorhergehenden Neurons i der Input-Ebene.

Es wird damit für jedes Trainingsmuster p der Ausgangswert opk an jedem Output-Neuron k des Neuronalen Netzwerkes berechnet, das Ergebnis mit dem Zielwert tpk verglichen und die Werte Dwij und Dwjk zur Korrektur der zugehörigen Gewichtungsfaktoren herangezogen:

image-1655732393349.png

Die Trainingsphase des Backpropagation Netzwerkes lässt sich in vier Schritten darlegen:

  1. Vergleich der Ausgaben der Output-Neuronen mit dem gewünschten Erregungsmuster nach Anlegen eines Inputdatensatzes
  2. Berechnung der Summe der quadrierten Differenz zwischen Ausgabe und Zielwert über sämtliche Ausgabeknoten k (quadratische Fehlerfunktion vorrausgesetzt)
  3. Veränderung der Gewichte aller Verbindungen zur Minimierung der Fehler
  4. Wiederholung der Trainingsprozedur mit unterschiedlichen Inputdatensätzen bis das Netz eine Abbruchbedingung erfüllt (Qualität der Ausgabemuster, Quantität der Durchläufe usw.)

Mathematisch bedeutet die Optimierung der Gewichtungsfaktoren die Lösung eines nicht-linearen Optimierungsproblems. Durch die Verwendung des Gradientenabstiegsverfahren wird, ausgehend vom aktuellen Fehler, die Richtung ermittelt, in der sich der Fehler am schnellsten verringert. Dies entspricht der Suche des Minimums in einem nicht-linearen Gleichungssystem. Das Gradientenabstiegsverfahren hat zur Folge, dass im Netz nur differenzierbare Aktivierungsfunktionen verwendet werden können. Die Schwellwertfunktion ist deshalb in Neuronen mit trainierbaren Verbindungen nicht verwendbar.

Probleme und Lösungen des Lernverfahren Backpropagation

Probleme bei diesem Lernverfahren entstehen durch die Verwendung des Gradientenabstiegsverfahren, da das Verfahren allein mit Kenntnis der lokalen Umgebung das Minimum über eine Fehlerfläche zu finden versucht.

Symmertry Breaking

Ein Problem ist das sogenannte Symmetry Breaking. Werden alle Gewichte jeder Ebene gleich groß gewählt, dann ist das Lernverfahren nicht mehr in der Lage die Gewichte der vorgelagerten Schichten unterschiedlich zu ändern. Dies liegt daran, dass die Fehlerrate dpj für alle Verbindungen einer Schicht gleich groß ist und die Gewichte symmetrisch verändert werden für die Verdeckte- und für die Ausgabeschicht. Diese durch die Initialisierung verursachte Symmetrie kann später nicht mehr gebrochen werden.

  • Die Lösung ist hier logisch durch eine zufällige Initialisierung von kleinen Gewichtswerten möglich. Dies bewirkt außerdem, dass alle Zellen eine Netzeingabe von ~ Null haben. Dies führt bei Ableitung der logistischen Funktion zum größten Wert und die Adaption des Systems kann am schnellsten erfolgen. Ebenso sinnvoll ist die Festlegung der Initialisierungswerte durch :
    PICTURE Init.bmp
    Die Zahl der Verbindungen, die als Netzeingabe zum Neuron j führen, werden für die Initialisierung genutzt.
Lokale Minima

Lokale Minima stellen sich als Verfahrensproblem dar, d.h. dass Lernverfahren kann jederzeit in einem lokalen Minimum der Fehlerfläche absteigen und findet somit nur ein suboptimales Minimum. Mit wachsender Dimension des Netzes wird dieses Problem, durch die stärkere Zerklüftung der Fehlerfläche und der steigenden Wahrscheinlichkeit in einem lokalen Tal hängen zubleiben, größer.

  • Eine allgemeingültige Lösung ist hier, bedingt durch das Gradientenabstiegsverfahren, nicht zu finden. Die Praxis hat aber deutlich gezeigt, dass bei der Wahl einer genügend kleinen Lernrate h oftmals doch die Lösung in der Nähe des globalen Minimums gefunden werden kann.
Flache Plateaus

Flache Plateaus führen durch das Gradientenabstiegsverfahren, welches die Gewichtsänderung auf Basis des Gradientenbeitrages bestimmt, zu einer Stagnation auf flachen Plateaus, d.h. die Anzahl der notwendigen Iterationsschritt wächst extrem.

  • Eine Lösung dieses Problems ist die Verwendung eines Momentum-Terms.
Oszillationen

Oszillationen in steilen Schluchten der Fehlerfläche erfolgen, wenn der Gradient am Rande einer Schlucht so groß ist, das die Gewichtsänderung ein Sprung auf die gegenüberliegende Schlucht bewirkt. Ist die Schlucht auf der anderen Seite ebenso groß, beginnt eine Oszillation zwischen der linken und rechten Seite der Schlucht.

  • Die Oszillation kann durch die Verwendung des Momentum-Terms gedämpft oder eliminiert werden
Verlassen guter Minimas

Verlassen guter Minimas kann bei sehr engen Tälern durch eines genügend großen Betrag des Gradienten verursacht werden, so dass von einem guten Minimum in ein suboptimales Minimum gesprungen wird.

  • Die Erhöhung der Schrittweite und die Verwendung des Momentum-Terms führen zu diesem Problem und sollten daher nur behutsam eingesetzt werden.

Optimierungen

Schrittweite

Die Wahl der Schrittweite (Lernfaktor h) ist entscheidend für das Verhalten des Lernalgorithmus. Es ist immer ein Kompromiss zwischen der Anzahl der notwendigen Iterationsschritte (Performance, Lernzeit) und dem sicheren Auffinden von Minimas. Auch Probleme wie Oszillationen können hervorgerufen oder vermieden werden.

  • Eine allgemeine Lösung ist nicht möglich. Empfohlen wird mit kleiner werdenden Lernraten zu trainieren.
Wahl des Dynamikbereiches

Eine Änderung des Dynamikbereiches der logistischen Funktion von

[0..1] zu [-1..1]

basiert auf der Beobachtung, dass Ausgaben oi=0 zu keinen Gewichtsveränderungen führen, da durch die Multiplikation der Ausgaben mit den Gewichten innerhalb der Propagierungsfunktion zu Dwij =0 führen.

  • Eine Lösung ist das Verschieben des Wertebereiches durch einen Schwellwert von -1/2 so dass:

    oj= log(netj)-1/2

    zu einem Dynamikbereich von

    [-1/2...1/2]

    führt. Auch die Verwendung der Aktivierungsfunktion tanh führt zum gewünschten Ergebnis mit dem Wertebereich von

    [-1..1]

    .

Fehlerfunktion

Einen anderen Ansatzpunkt bildet die Fehlerfunktion, die durch eine nichtlineare Fehlerfunktion ersetzt werden kann, so dass auftretende Fehler überproportional bestraft werden. Die Differenz (tpj-opj) wird dann ersetzt durch die hyperbolischen Acrustangens Funktion mit atanh(tpj-opj). Allerdings strebt die Funktion in der Nähe von 1 gegen +¥ und bei -1 gegen -¥. Programmiertechnisch muss eine Begrenzung vorgenommen werden, um Überläufe zu verhindern.

Vorgeschlagen wird die Einführung von Grenzwerten in der Form:

image-1655732400974.png

Modifikationen von Backpropagation

Momentum- Term

Der auch als konjugierter Gradientenabstieg bezeichnete Backpropagation Lernalgorithmus mit Momentum- Term ist eine einfache Methode zur Vermeidung von Probleme der ursprünglichen Definition auf flachen Plateaus und in steilen Schluchten der Fehlerfunktion.

Es wird hierbei ein Term

image-1655732406129.png

 eingeführt, der die vorherige Gewichtungsänderung bei der Berechnung der aktuellen Gewichtsveränderung berücksichtigt:

image-1655732411491.png

(a ist im Normalfall zwischen

[0.2..0.99]

)

Dies bewirkt eine Beschleunigung in weiten Plateaus durch hohe Änderungsgrößen und ein Abbremsen in stark zerklüfteten Fehlerflächen.

Weight Decay

Die Idee bei dieser Modifikation ist es hohe Gewichte nicht zuzulassen, da diese biologisch unplausibel sind. Durch zu hohe Gewichte wird die Fehlerfläche zu sehr zerklüftet, wodurch Oszillationen und unkontrollierte Sprünge die Folge sind. Die Idee ist es hohe Gewichte zu bestrafen, indem die Gewichte als unerwünschte Zielausgabe in die Fehlerfunktion aufgenommen werden:

image-1655732416431.png

Durch die erneute partielle Ableitung der Funktion nach wij ergibt sich als neue Gewichtsmodifikationsregel zur Minimierung der Gewichte:

image-1655732423684.png


(d wird im Bereich von 0.005 bis 0.03 verwendet)

Wird hier der Wert zu groß gewählt, führt dies zu permanent zu kleinen Werten. Die Bestrafung wächst zudem quadratisch gegenüber einer linearen Gewichtsänderung. Aus diesem Grund wurde der sogenannte Weigend- Pernalty- Term eingeführt, der natürliche Obergrenzen besitzt.

image-1655732429988.png


nach Ableitung ergibt sich dann für die Gewichtsmodifikation:

image-1655732434676.png

Lernregelmodifikationen ausgehend von Backpropagation

Es gibt eine Reihe weiterer Verbesserungsmöglichkeiten auf Basis der Grundregeln und Prinzipien des Backpropagation- Algorithmus. Ansatzpunkte bilden hier insbesondere die Berechnung der Fehlersignale. So wird im sogenannten Manhattan-Training der Fehlerwert zwischen Ausgabe und Trainingserwartungswert nicht wertmäßig betrachtet, sondern allein hinsichtlich seines Vorzeichens (Signums).
Aufgenommen wird diese Idee beispielsweise im SuperSAB- Lernalgorithmus. Hier wird eine eigene Schrittweite für jedes Gewicht eingeführt und im Trainingsverlauf kontinuierlich der Fehlerfläche angepasst.

Sehr interessant erscheint auch ein anderer Ansatz, der sich für die Bestimmung der Fehlerfunktion in einem Feedforward- Netzwerk an das Newton-Verfahren anlehnt. Man setzt hier voraus, dass die Fehlerfunktion näherungsweise lokal quadratisch ist und somit mit einer nach oben offenen Parabel beschrieben werden kann. Aufgenommen sind die Ideen in dem sogenannten QuickPROP- Verfahren.

Rprop

Eine Kombination von Quickprop (Annahme: quadratische Fehlerfunktion), SuperSAB( eigene Schrittweite für jedes Gewicht), Manhattan Trainings (Normierung der Werte) stellt das sogenannte Resilient Propagation „Rprop" Verfahren dar. Da dieser Lernalgorithmus neben dem normalen Backpropagation -Verfahren implementiert werden soll, ist eine genauere Beschreibung notwendig:

In dem Verfahren wird zwischen einer Gewichtsänderung Dij und der Netzgewichtsänderung Dwij unterschieden. Der Betrag der Änderungen ist nur von dem Vorzeichen der Steigungen abhängig und nicht von dessen Werten. Die Steigungen meinen dabei die Ableitung der Fehlerfunktion E(t) in Richtung des Gewichts wij zum Zeitpunkt t.

image-1655732442003.png


Um die Darstellung zu vereinfachen wird das Produkt der vorherigen Steigung und der aktuellen Steigung als b dargestellt b=S(t-1)*S(t).

Die eigentliche Netzgewichtsänderung definiert sich mit:

image-1655732447646.png


wobei

0< h- < 1 < h+

Die eigentliche Netzgewichtsveränderung ist festgelegt mit :

image-1655732452421.png

Entscheidend ist, ob die Vorzeichen der vorherigen und aktuellen Steigung übereinstimmen. Sind diese gleich, so ist die Netzgewichtänderung die Summe oder Differenz der Gewichtsänderung Dij. Sind die Vorzeichen unterschiedlich, so wurde ein Minimum übersprungen und die letzte Gewichtsänderung sollte rückgängig gemacht und die Steigung zum Zeitpunkt S(t) intern auf 0 zurückgesetzt werden. Im nächsten Iterationsschritt ist
S(t-1)=0 und dadurch b=0. Es tritt anschließend bei der Netzgewichtsänderung der 4. Fall ein, bei dem das Vorzeichen der aktuellen Steigung berücksichtigt wird.

Um Überläufe zu vermeiden, werden intern Schranken für die Netzgewichtsänderungen genutzt. In der Praxis werden oft Dmax=50 und Dmin=10-6 gesetzt. Um die Generalisierungsleistung des Netzes zu erhöhen, wird die Nutzung des Weight-Decay-Terms vorgeschlagen, um zu hohe Gewichte in den Verbindungen zu vermeiden.

Das Lernverfahren ist im Softwaremodell implementiert.

Trainingsdaten

Festlegung der Eingabedaten

Für die Prognose stehen nach bisherigen Ausführungen sehr unterschiedliche Eingabedaten zur Verfügung. So sind neben reinen Fundamentaldaten, technische Daten wie auch Intermarket- Analysen möglich. Die unterschiedliche Verfügbarkeit und zeitliche Wirksamkeit, im Sinne der Diskontierung der Daten durch den Markt, sind jedoch sehr differenziert. Hinzu kommt, dass es unwesentlich ist, warum der Markt etwas tut, sondern allein wie und wann er es tut. Genau diese Fragen werden auch über die Technische Analyse beantwortet. Alle Netz-Dateneingaben bauen daher auf Ergebnisse der Technischen Analyse auf.

Bei der Festlegung der Eingaben ist eine regelbasierte Signalgebung oder auch die einfache Momentaufnahme möglich. Die Momentaufnahme meint die Weitergabe des nach der Normalisierung erhaltenen Wertes des verwendeten Technischen Indikators. Die regelbasierte Signalgebung ist die der praktischen Anwendung näherliegende Umsetzung, bei der spezifische Signale (Kaufen/Verkaufen) von einem Indikator generiert werden.
Der eigentlichen Interpretation der Indikatoren trägt dies mehr Rechnung. Die Signalmuster sind regelbasiert festzustellen oder durch ein eigenes Neuronales Kursprognosenetz zu berechnen. Die Indikatoren sind exakt mathematisch beschrieben und interpretiert. Ein regelbasierter Ansatz mit Berechnung der Kauf-/Verkauf-Signale erscheint gegenüber dem neuronalen Prognosenetz überzeugender.

image-1655732458438.png

Abbildung: Teil der Netzeingaben

Technische Indikatoren sind vom Charakter her also signalorientiert. Dies impliziert, dass diese nicht zu jedem Zeitpunkt eine Aussage über die zukünftige Entwicklung geben können. Kauf-/Verkaufsentscheidungen sind nicht für jeden Tag ohne Modifikationen generiert. Die im Rahmen der Erstellung von Prognosen verwendete anfrageorientierte Anwendung ist somit ohne Veränderungen noch nicht möglich.

Eine Trennung der Kauf- und Verkaufsignale als unterschiedliche Eingabequellen erscheint folgerichtig, da die Qualität eines Indikators hinsichtlich der Reentry- und Exit-Zeitpunkte sehr unterschiedlich sein kann. Die Zuordnung der Genauigkeit erfolgt dann durch das Neuronale Kursprognose-Netz. Im Modell „Shareholder" ist die Auftrennung als auch die Unabhängigkeit der Kauf- und Verkaufssignale umgesetzt.

Technische Indikatoren sind vom Charakter her also signalorientiert. Dies impliziert, dass diese nicht zu jedem Zeitpunkt eine Aussage über die zukünftige Entwicklung geben können. Kauf-/Verkaufsentscheidungen sind nicht für jeden Tag ohne Modifikationen generiert. Die im Rahmen der Erstellung von Prognosen verwendete anfrageorientierte Anwendung ist somit ohne Veränderungen noch nicht möglich.

Eine Trennung der Kauf- und Verkaufsignale als unterschiedliche Eingabequellen erscheint folgerichtig, da die Qualität eines Indikators hinsichtlich der Reentry- und Exit-Zeitpunkte sehr unterschiedlich sein kann. Die Zuordnung der Genauigkeit erfolgt dann durch das Neuronale Kursprognose-Netz. Im Modell „Shareholder" ist die Auftrennung als auch die Unabhängigkeit der Kauf- und Verkaufssignale umgesetzt.

Kauf-/Verkaufssignale

Dem Netz werden die Signalzeitpunkte unabhängig voneinander zur Verfügung gestellt und werden als binäre Zustände verarbeitet:

  • -1: Verkaufen
  • 0: Keine Entscheidung möglich
  • 1: Kaufen

Diese Art der Codierung zeigt ein Problem auf. Bei unveränderter Anwendung steht die Information nur einen Tag zur Verfügung. Am Folgetag ist keine Information über eine vorhergehende Entscheidung abrufbar. Es wird eine zusätzliche Zeit-Komponente eingeführt. Die Grundannahme ist, dass ein Signal für seine logische Anwendung eine „mittlere Verfallszeit" hat. Sie ist für jeden Indikator variabel und die Festsetzung basiert auf Erfahrungswerten. Für die Umsetzung bietet sich eine sigmoide Funktion mit dem Grenzwert 1 an. Die sigmoide Funktion, für die expotentiell abschwächende Signalgenerierung genutzt, wird nur in der Nähe des Zeitpunktes der Signalgenerierung t0 für die fast vollständige Aktivierung des Neurons führen. In der Nähe des Signalzeitpunktes ist die Signalintensität sehr stark und schwächt sich dann sehr schnell ab.

Die Signalintensität Si(t) ist beschrieben mit:

image-1655732465290.png

Beispiel: Wird eine Verfallszeit von 3 Tagen genutzt, ein Kaufsignal zum Zeitpunkt t0 und ein Verkaussignal zum Zeitpunkt t2 angelegt, so gilt für die Inputdaten:

image-1655732470279.png

Das Kaufsignal liegt in den Inputdaten in abgeschwächter Form an drei weiteren Tagen von t0 beginnend an. Am vierten Tag geht das Signal unter. Bei einer Überschneidung zwischen Signalen gleicher Richtung (>0;<0) sind verschiedene Ansätze möglich. So ist die Verlängerung der Verfallszeit des neuen Signals, um die nicht abgelaufene Zeit des vorherigen Signals (t0=t) denkbar. Ein anderer Weg ist die Verwendung von aus der Physik bekannten Interferenzen. Hier werden die Signalwerte durch Addition (mit einer Grenzwertfunktion) überlagert. Dem Autor erscheint dieses Vorgehen weniger logisch, da kurz hintereinander generierte Signale sich addieren und zur einer Verstärkung des Ausgangssignals führen. Die Vorgehensweisen beziehen sich auf die Signalgenierungen der gleichen Art (Kaufen/Verkaufen). Werden Kauf- und Verkaufssignale parallel genutzt, wird die Addition der Signalmuster vorgeschlagen.

Wie im Schaubild zu sehen, überlagern sich zum Zeitpunkt t2 Kauf- und Verkaufssignale. Ein kürzlich aufgetretenes Verkaufsignal wird durch ein länger zurückliegendes Kaufssignal (innerhalb der Verfallszeit) überlagert.

Im Klassenmodell ist die Signalgenerierung der TISignalinidkator-Klasse zugeordnet. Die Verfallszeit wird als Attribut aufgenommen und in der Methode CreateSignalmuster umgesetzt.

image-1655732474690.png

Zonenbetrachtung

Bei theoretischer Betrachtung kann neben der Verwendung von Signalen und den Indikatorenwerten in Reinform auch eine Mischform betrachtet werden. So sind beispielsweise in der „Zonenlage" der Ergebniswerte eines Indikators zusätzliche Informationen enthalten. Einige Indikatoren bewegen sich innerhalb eines festgelegten Wertebereiches in denen Zonen gebildet werden können. Problematisch ist die geeignete Findung der Zonen. Ungeachtet des Algorithmus ist jede Zone als eigenes Eingabeneuron zu verwirklichen; Es werden vom Autor maximal drei Zonen vorgeschlagen. Die mittlere Zone kann in der Standardinterpretation von Indikatoren, als „Niemandsland" betrachtet werden.

Eine Variante wäre die mathematische Zonenbildung durch Aufteilung in drei gleich große Teile des Wertebereiches. Die Zuordnung ist regelbasiert exklusiv; eine Mehrfachaktivierung wird vermieden. Die Netzeingabe der nachfolgenden Neuronen vergrößert sich bei zulässigen Mehrfachaktivierungen der Zonenneuronen durch die Art der Propagierung (Summe der Netzeingaben).

Neben der gleichmäßigen Verteilung kann auch eine auf Basis der Standardabweichung festgelegten Normalverteilung genutzt werden. Man versucht bewusst, nur Extrema in den oberen Zonen zu erfassen, indem die Wahrscheinlichkeit für den Wert eines Indikators innerhalb einer standardisierten Normalverteilung die Zonen-Zuordnung festlegt.

image-1655732479095.png

Im der Praxis kann jedoch fast nie eine Normalverteilung bei den Indikatorenwerten unterstellt werden und die Idee muss transformiert werden in eine die Grundidee aufgreifende Methode. Grundidee ist die mittlere Zone für Werte, die im „Standardbereich" liegen zu verwenden; also Werte, die mit hoher Wahrscheinlichkeit auftreten. Unter Nutzung der Standardabweichung und des Durchschnittes lassen sich die Zonen ebenfalls festlegen. Der „Standardbereich" ist mathematisch der um die Standardabweichung erhöhte und verringerte Durchschnitt. In der Praxis funktioniert diese Methode nach Einschätzung des Autors hervorragend.

image-1655732485254.png

Da die Zone2 durch einen oberen Grenzbereich und einen unteren Grenzbereich beschrieben wird, werden dies als SBu und SBo erfasst.

image-1655732495600.png

Divergenzanalyse

Ein noch nicht angesprochener Ansatz ist die Divergenzanalyse. Hier wird geprüft, ob neue lokale Extremas (Hoch,Tiefs) des Indikators mit denen im Kursverlauf einhergehen. Ist dies nicht der Fall, wird von einer Divergenz gesprochen und stellt so oftmals bereits frühzeitige Signale zum Eingehen einer entgegensetzten Position dar. Die Divergenzanalyse kann nicht bei allen Indikatoren gleich eingesetzt werden, da diese sehr unterschiedliche Ansätze verfolgen. Eine allgemeine Erklärung hierfür ist nicht ohne weiteres möglich und kann aber unter Florek99 nachgelesen werden.

Elementar für diese Analyseform ist die Bestimmung der Hoch und Tiefs in den Kurs- und Indikatordaten. Als Parameter muss die Ausdehnung des betrachteten Zeitausschnittes (Zeitframes) festgelegt werden.

Als Prinzip gilt, dass eine Divergenz auftritt, wenn ein neues Hoch (HighZeitframe>HighZeitframe-1) in den Indikatorendaten (Sgn(Indikator)=1) nicht durch ein neues Hoch in den Kursdaten bestätigt werden kann (Sgn(Kurs)=1). Für die Tiefs entsprechend umgekehrt.

image-1655732500427.png

Auswahl der Eingabedaten

Da nicht alle Indikatoren im neuronalen Kursprognose-Netz als Inputdaten verwendet werden sollten, ist eine Vorauswahl auf theoretischer Basis sinnvoll.

Es gibt eine Reihe von möglichen Indikatoren. Alle Indikatoren zeigen spezifische Eigenschaften hinsichtlich der Deutlichkeit der Verlaufsmuster und dem Grad der notwendigen Interpretation auf. Die Fehlersignale eines Indikators müssen aufgrund der zugrundeliegenden Marktphase bewertet werden. Nicht in allen Marktphasen werden mit einem Indikator gleich gute Ergebnisse erzielt. Auch ist eine unterschiedliche Qualität bei den Kauf- und Verkaufssignalen zu beobachten. Bei vielen Indikatoren fehlen Möglichkeiten von trendkonformen Signalen; d.h. in starken Aufwärtstrendphasen werden keine erneuten Wiedereinstiegssignale in Korrekturphasen geliefert.

Wichtig ist die Parametereinstellung eines Indikators. Wird ein kurzfristige Aussage eines Indikators erwartet, müssen auch deren zeitabhängige Parameter entsprechend auf kleine Werte eingestellt werden. Die Wahl der Parameter sind Erfahrungswerte. Welche Indikatoren nun für das Neuronale Kursprognose-Netz verwendet werden, sollte allerdings keine Zufallsentscheidung sein und sich an der Häufigkeit der Signalgenerierung und der erfahrungsgemäßen Treffsicherheit der Indikatoren orientieren.

Als Eingabe werden Clustergruppen vorgeschlagen, entsprechend der Ausrichtung eines Indikators. Die Clustergruppen bestehen aus einer gleichen Anzahl von Indikatoren. Dies ist mit der hohen Korrelation der Indikatoren innerhalb einer Indikatorenfamilien (Cluster) begründet.

image-1655732506552.png

Die genaue Beschreibung der Indikatoren kann in der Programmplattform „Shareholder" über die Kontexthilfe abgerufen oder in folgender Literatur nachgeschlagen werden: MüllNiet99Murph99Florek99Mag98.

In der Programmhilfe finden sich Angaben zur Berechnungsvorschrift, Interpretation und der Pro & Kontro- Elemente für den Indikator. Auf eine differenziertere Darstellung wird zugunsten des Online-Systems verzichtet.

Im Ergebnis steht folgende Eingabematrix:

image-1655732512130.png

Die Datenvorbereitung besteht aus den möglichen Methoden:

  • Indikatorenberechnung
  • Normalisierung
  • Musterkennung
  • Zonenbildung
  • Divergenzanalyse

Die Ergebnisse werden nach den Vorbereitungen als Zeitsignale oder normalisierte Werte weitergegeben. Die Zonenbildung, Mustererkennung und die Divergenzanalyse erfolgt anschließend.

Literaturverweise

image-1655732516976.png