Neuronale netzwerke forex factory
MetaTrader 5 - Beispiele Neuronale Netzwerke: Von der Theorie zur Praxis Einleitung Heutzutage hat sicherlich jeder Trader schon einmal etwas von einem neuronalen Netzwerk gehrt - und wei, wie cool is is, diese zu benutzen. Die Mehrheit scheint zu glauben, dass es sich bei all jenen, die mit neuronalen Netzwerken operieren, um irgendwelche bermenschen handeln wrde. Mithilfe des vorliegenden Artikels verbinde ich die Absicht, Ihnen die Architektur eines neuronalen Netzwerks samt seiner Applikationen und praktischen Nutzanwendungen nherzubringen. Das Konzept eines neuronalen Netzwerks Knstliche neuronale Netzwerke zhlen zu den Bereichen der Knstlichen Intelligenz-Forschung, em denen der Versuch unternommen wird, ein menschliches Nervensystem - samt seiner Befhigung zu lernen und zu adaptieren - zu simulieren. Kurioserweise bestehen knstliche neuronale Netzwerke aus knstlichen Neuronen. Die Struktur eines Neurons kann als eine Komposition folgender Einheiten dargestellt werden: Neuronale Netzwerke weisen eine ganze Reihe an Eigenschaften auf, von denen die wichtigste die ist, dass es lernfhig ist. Der Lernprozess basiert letztendlich darauf, die Gewichte zu verndern. Der Net Input wird dann durch die Aktivierungsfunktion - auf die ich spter noch genauer eingehen werde - in den Output transformiert. Zusammengefasst ist ein neuronales Netzwerk também eine Art von Blackbox, morre Signale als Inputs erhlt und Resultate ausgibt. Hier knnen wir ein mehrschichtiges neuronales Netzwerk betrachten. Dieses enthlt folgende Komponenten: Die Input-Schicht dient dazu, die Daten ber das Netzwerk zu verteilen. Sie fhrt allerdings selbst keine Berechnungen durch. Die Outputs dieser Schicht senden Signale an die nchste Schicht (ausgeblendet ou Output) Die Output-Schicht, enthlt normalerweise ein (manchmal auch mehr) Neuron (en) und generiert den Output des gesamten neuronalen Netzwerks. Dieses Signal bildet die Grundlage fr die zuknftige Steuerlogik des Expert Advisors Die ausgeblendeten Schichten sind Schichten eines Standardneurons, morrem Signale von der Input - zur Output-Schicht senden. Dessen Input ist der Output der vorherigen Schicht, whrend dessen Output als Input der nchsten Schicht fungiert. Dieses Beispiel handelte von einem neuronalen Netzwerk mit zwei ausgeblendeten Schichten. Allerdings kann es durchaus auch neuronale Netzwerke mit mehr ausgeblendeten Schichten geben. Normalisierung der Eingabedaten Die Normalisierung der Eingabedaten ist ein Prozess, bei dem alle Eingabedaten normalisiert werden. Falls diese Normalisierung nicht durchgefhrt wird, werden diese Daten einen zustzlichen, zu falschen Entscheidungen fhrenden Effekt auf das Neuron ausben. Mit anderen Worten: Wie knnen wir Werte miteinander vergleichen, die verschiedene Grenordnungen aufweisen Die Normalisierungsformel sieht in ihrer Standardform folgendermaen aus: Lassen Sie mich das an einem Beispiel erklren: Nehmen wir an, wir haben die Eingabedaten n mit dem Bereich 0,10, então Gilt 0 und 10. Nun reduzieren wir die Daten auf den Bereich 0,1, então erhalten wir 0 und 1. Setzen wir nun Diese Werte in die Formel ein, então Knnen Wir normierte Werte fr jeds beliebige x der Eingabedaten n ermitteln. Und so sieht das Ganze aus, Wenn es in MQL5 implementiert wird: Zunchst spezifizieren wir das obere und untere Limite de saída-Werts, wodurch wir die Werte fr das Indikator-Minimum und-Maximum erhalten (Daten vom Indikator zu kopieren, wird hier weggelassen Aber beispielsweise die 10 letzten Werte mglich). Schlielich normalisieren wir ein jedes Input-Element (Indikatorwerte der verschiedenen Balken) e o speichern die Ergebnisse in einem Array fr den spteren Gebrauch. Aktivierungsfunktionen Die Aktivierungsfunktion ist eine Funktion, die den Output eines Neurons berechnet. Der Input, den es erhlt, reprsentiert die Summe aller Input-Produkte und ihrer entsprechenden Gewichte (kurz: gewichtete Summe). Abb. 3. Das knstliche neuronale Netzwerk mit einer skizzierten Aktivierungsfunktion. Die Aktivierungsformel sieht in ihrer Standardform folgendermaen aus: Ist die Aktivierungsfunktion ist die gewichtete Summe, die in der ersten Phase der Output-Berechnung eines Neurons erhalten wird Ist ein Schwellenwert der Aktivierungsfunktion. Dieser spielt lediglich fr die Hard Threshold-Funktion eine Bedeutung und ist in anderen Funktion gleich 0. Zu den Haupttypen von Aktivierungsfunktionen zhlen: Die Sprung-oder H ard Threshold-Funktion. Diese Funktion wird durch die folgende Formel beschrieben: Falls die gewichtete Summe kleiner als der spezifizierte Wert ist, então gibt morre Aktivierungsfunktion 0 zurck. Eu morro gewichtete Summe grer, então gibt sie 1 zurck. Die die Sigmoidfunktion beschreibende Formel sieht wie folgt aus: Sie wird oft bei mehrschichtigen neuronalen Netzwerken und anderen Netzwerken mit kontinuierlichen Signalen verwendet. Die Gltte als auch die Kontinuitt der Funktion sind sehr positive Eigenschaften. Der Tangens Hyperbolicus. Eine Funktion, die ebenfalls sehr int in Verbindung mit Netzwerken mit kontinuierlichem Signal verwendet wird. O seu Eigenheit: Sie kann negative Werte ausgeben. Die Form einer Aktivierungsfunktion ndern Im vorhergehenden Teil haben wir uns mit den Aktivierungsfunktionstypen auseinandergesetzt. Allerdings gibt es noch eine weitere wichtige Sache zu diskutieren - die Steigung einer Funktion (Hard Threshold-unktionen ausgenommen). Sehen wir uns die Sigmoidfunktion noch einmal genauer an. Der Funktionsgraph weist darauf hin, dass die Funktion ber dem Wertebereich -5,5 glatt wird. Lassen Sie uns die Extendenz eines Netzwerks annehmen, das aus einem Neuron mit 10 Inputs und einem Output besteht. Nun wollen wir die oberen und unteren Variablenwerte berechnen. Jeder Input wird einen normalisierten Wert - z. B. Eu sou Bereich -1,1 - annehmen (were bereits in Normalisierung der Eingabedaten erwhnt). Wir werden die negativen Eingabewerte verwenden, da es sich um eine - selbst bei einem negativen Argumento - diferenciador Funktion handelt. Die Gewichte werden dabei demselben Bereich entnommen. Durch alle mglichen Entrada - beziehungsweise Gewicht-Kombinationen erhalten wir die Extremwerte im Bereich von -10,10: Em MQL5 wird die Formel folgendermaen aussehen: Nun mssen wir die Aktivierungsfunktion im identifizierten Bereich zeichnen. Die Sigmoidfunktion soll uns an dieser Stelle als Beispiel dienen. Der einfachste Weg ist dabei die Verwendung von Excel. Hieran knnen wir klar erkennen, dass ein Argumentwert auerhalb des Bereichs -5,5 keinerlei Effekt auf die Ergebnisse ausbt. Dies deutet darauf hin, dass der Wertebereich unvollstndig ist. Lassen Sie uns versuchen, dies zu beheben. Wir werden dem Argument einen zustzlichen Koeffizienten hinzufgen, der es unslibaubt, e Wertebereich zu vergrern. Abb. 5. Der Excel-Graph der Sigmoidfunktion mit zustzlichem Koeffizienten Lassen Sie uns nun noch einmal einen Blick auf die Graphen werfen. Wir haben einen zustzlichen Koeffizienten (d 0.4) hinzugefgt, der die Form der Funktion verndert hat. Vergleicht man morre Tabellenwerte, então scheinen sie jetzt wesentlich gleichmiger verteilt zu sein. Die Ergebnisse também conheceu o folgt ausgedrckt werden: Lassen Sie uns erneut die hyperbolische Tangensfunktion betrachten. Dabei wollen wir - im Gegensatz zu vorherigen Funktionen - auf die Theorie verzichten und uns direkt der Praxis widmen. Der einzige Unterschied besteht darin, dass der Output im Bereich -1,1 liegen kann. Ebenso kann die gewichtete Summe Werte im Bereich -10,10 annehmen. Abb. 6. Der Excel-Graph der hyperbolischen Tangensfunktion mit zustzlichem Koeffizienten Der Graph zeigt, dass die Form der Funktion aufgrund der Verwendung des zustzlichen Koeffizienten d 0.2 verbessert worden ist. Morte Ergebnisse também ganhou o título: Auf Diese Weise knnen Sie die Form einer jeden Aktivierungsfunktion ndern beziehungsweise verbessern. Lassen Sie uns nun zur praktischen Anwendung kommen. Zunchst werden wir versuchen, morre Berechnungen des Net Inputs des Neurons zu implementieren. Daraufhin fgen wir die Aktivierungsfunktion hinzu. Erinnern wir uns noch einmal an die Formel zur Berechnung des Net Entradas eines Neurônios: Sehen wir es uns ein wenig genau an: Wir haben damit begonnen, eine Variável, um den Net Entrada de Neurons zu speichern, als auch zwei Arrays zu definieren: Eingaben Und Gewichte Diese Variablen wurden bereits zu Anfang definiert, unabhngig aller Funktionen, um ihnen eine globale Reichweite zu verleihen (Zugriff innerhalb des gesamten Programms mglich) In der OnInit () - Initialisierungsfunktion (jeder andere Funktion wre ebenso denkbar) haben wir das Input-sowie Das Gewicht-Array befllt. Hierauf folgte die Summing Loop, nlt3. Da wir nur drei Eingaben und drei entsprechende Gewichte haben. Dann haben wir gewichtete Eingabewerte hinzugefgt und haben diese in Variable gespeichert. Die erste Aufgabe ist somit beendet - und wir haben eine Summe erhalten. Jetzt ist die Aktivierungsfunktion dran. Unten befindet sich der Code zur Berechnung von Aktivierungsfunktionen (siehe Aktivierungsfunktionen). Der Graph einer Sprung - outro Limiar Duro-Funktion Die hyperbolische Tangensfunktion Die Endmontage Um die Implementação einfach zu gestalten, werden wir uns ein Netzwerk vornehmen, das nur ein einziges Neuron aufweist. Die Bezeichnung Netzwerk mag bei der Verwendung nur eines einzigen Neurons eventuell ein wenig gewagt erscheinen, allerdings geht es uns dieser Stelle ums Prinzip. Denn schlielich besteht ein mehrschichtiges neuronales Netzwerk aus den selben Neuronen, wobei der Output der vorherigen Neuronenschicht als Entrada fr die nachfolgende fungiert. Wir werden eine leicht modifizierte Versão dos Expert Advisors verwenden (Entwicklung und Einfhrung: Schnelleinstieg oder Kurzanleitung fr Anfnger Wir werden daher beispielsweise den Trendindikator des Gleitenden Durchschnittswerts durch den Relativo-Strength-Index - Oszillator ersetzen. Informações sobre betreffend die Parâmetro eines Indikators und ihre Sequenz finden Sich in der eingebauten Hilfe. Zunchst einmal mssen wir unser Netzwerk trainieren. Lassen Sie uns hierfr die Gewichte optimieren. Abb. 7. Strategietester mit dem erforderlichen Definir um parâmetro Wir werden morrer Optimierung anhand folgender Parâmetro vornehmen: Datum - zB seit dem Anfang des Jahres Je lnger der Zeitrahmen, umso geringer das Auftreten einer Kurvenanpassung und umso bessere Ergebnisse. Ausfhrung - normal, nur Erffnungskurse. Es gibt keinen Grund fr einen Test, der alle Modi umfasst, da unser EA lediglich die letzten 10 Indikatorwerte bentigt (Whrungswert ausgenommen). Optimierung kann so eingestellt werden, d Ass sie den langsamen vollstndigen Algorithmus verwendet. Eine genetische Optimierung verspricht hingegen schnellere Resultate, foi besonders Bewertung eines Algorithmus Vorteile bietet. Falls das Ergebnis zufriedenstellend ausfllt, knnen Sie ferner versuchen, den langsamen vollstndigen Algorithmus zu verwenden, um noch genauere Ergebnisse zu erzielen. Vorwrts von 12 erlaubt is Ihnen zu beurteilen, wie lange Ihr EA die erhaltenen Resultate generieren kann, bis die nchste Optimierung fllig wird. Zeitrahmen und Whrungspaar knnen nach eigenem Ermessen gewhlt werden. Abb. 8. Optimierung der Parameter e ihrer entsprechenden Bereiche Die Optimierung wird unter Bercksichtigung aller Gewichte und ihrer Bereiche durchgefhrt. Starten Sie die Optimierung, indem Sie in den Einstellungsreiter zurckkehren und den Start-Button drcken. Abb. 9. Infolge der Optimierung erhaltene Daten Nachdem die Optimierung abgeschlossen ist, whlen wir den erfolgreichen Test mit dem maximalen Profitwert im Optimierungsergebnisse-Reiter aus (um nach Parametern zu sortieren, klicken Sie bitte auf den entsprechenden Spaltenkopf). Sie knnen danach auch andere Parâmetro auswerten und den entsprechenden erfolgreichen Test auswhlen, falls gewnscht. Mit einem Doppelklick auf den bentigten Vorgang initiieren Sie einen Test der Ergebnisse, die im Ergebnis - beziehungsweise Graphen-Reiter angezeigt werden. Abb. 10. Testbericht Abb. 11. Bilanzchart Abb. 12. Trading-Performance des Expert Advisors Nun liegen uns também endlich die finalen Ergebnisse vor - und die sind e anfang gar nicht bel. Bedenken Sie an dieser Stelle bitte, dass wir nur ein Neuron zur Verfgung hatten. Das Beispiel war zweifellos uerst primitiv, dennoch lsst sich nicht leugnen, dass sich selbst damit Profite machen lassen. Vorteile eines neuronalen Netzwerks Lassen Sie uns nun einen EA, der sich einer normalen Logik bedient, und einen, der auf ein neuronales Netzwerk zurckgreifen kann, miteinander vergleichen. Wir werden morre Optimierungs - und Testergebnisse eines herkmmlichen, mit dem Terminal ausgelieferten MACD-EAs und eines EAs, der auf einem neuronalen Netzwerk basiert, miteinander vergleichen. Take Profit und Trailing Stop-Werte werden bei der Optimierung nicht bercksichtigt, da sie dem neuronalen Netzwerk-EA nicht zur Verfgung stehen. Beide zu testende Expert Advisors basieren auf dem MACD-Indikator (Moving Average Convergence-Divergence) und den folgenden Parametern: Zeitraum fr den schnellen gleitenden Durchschnittswert: 12 Zeitraum fr den langsamen gleitenden Durchschnittswert: 26 Zeitraum fr die durchschnittliche Differenz. 9 Preistípio. Schlussnotierung. Sie haben ferner die Mglichkeit, das bentigte Whrungspaar und den Zeitraum zu ndern. Wir werden dies im vorliegenden Fall jedoch nicht tun: EURUSD, H1. Die Testperiode ist in beiden Fllen identisch: morra Erffnungskurse seit dem Anfang des Jahres. Abb. 13. Vergleich der Schlsseleigenschaften Dieser Artikel hat die wichtigste Punkte abgedeckt, die Sie wissen mssen, wenn Sie einen EA konzipieren wollen, der auf ein neuronales Netzwerk zurckgreift. Wir haben die Struktur eines Neurons als auch eines neuronalen Netzwerks kennengelernt, es wurden Aktivierungsfunktionen und Methoden umrissen, mit denen man ihre Forma de verndern kann, als auch der Prozess einer Optimierung sowie einer Normalisierung von Eingabedaten skizziert. Auerdem haben wir einen EA, der sich einer normalen Logik bedient, mit einem, der auf einer neuronalen Netzwerk-Logik basiert, vergleichen. Bersetzt aus dem Russischen von MetaQuotes Software Corp. Originalartikel: mql5ruarticles497MetaTrader 5 - Indikatoren Neuronale Netzwerke der dritten Geração: Tiefe Netzwerke Einleitung In diesem Beitrag behandeln wir ohne komplexe Berechnungen und in Laienbegriffen die grundlegenden Ideen der Themen tiefes Lernen (Deep Learning) und tiefe Netzwerke ( Deep Network). Experimente mit realen Daten besttigen (oder auch nicht) die teatrischen Vorteile tiefer neuronaler Netzwerke gegenber oberflchlichen Netzwerken durch die Definição e den Vergleich von Messwerten. Die vorliegende Aufgabe ist die Klassifizierung. Wir erstellen einen Indikator und einen Expert Advisor no Basis des Modells eines tiefen neuronalen Netzwerks, morre gem. Client-Server-Schema zusammen arbeiten e testen sie anschlieend. Es wird davon ausgegangen, dass sich der Leser mit den grundlegenden Konzepten neuronaler Netzwerke auskennt. 1. Neuronale Netzwerke der zweiten Geração Neuronale Netzwerke sollen auf eine groe Bandbreite e Aufgaben im Zusammenhang mit der Verarbeitung von Bildern eingehen. Nachfolgend sehen Sie eine Liste de Aufgaben, die klassischerweise von neuronalen Netzwerken gelst werden: Aproximação de Funktionen durch einen Satz von Punkten (Regressão) Datenklassifizierung nach dem festgelegten Satz von Klassen Daten-Clustering mit der Identifisierung vorher unbekannter Klassenprototypen Komprimierung von Informationen Wiederherstellung verlorener Daten Assoziativer Speicher Optimierung, optimale Steuerung usw. Aus der obigen Liste wird in diesem Beitrag nur die Klassifizierung besprochen. 1.1. Die Architektur der Verknpfungen Die Art der Verarbeitung von Informationen wird wesentlich durch das Fehlen ou Vorhandensein von Feedbackschleifen im Netzwerk beeinflusst. Questões relacionadas com a redução das informações sobre a informação de Netenwerk unidirektional. Veja mais informações sobre informações sobre Netenwerk unidirektional. Ein Eingabesignal wird durch eine Sequenz von Lagen verarbeitet und die Antwort wird ber die Anzahl von Takten gleich der Anzahl von Lagen erhalten. Das Vorhandensein von Feedbackschleifen kann die Dynamik eines neuronalen Netzwerks (in diesem Fall als rekurrent bezeichnet) unberechenbar machen. Tatschlich kann das Netzwerk in der Schleife hngenbleiben und nie eine Antwort geben. Gleichzeitig gibt es laut Turing keinen Algorithmus, der es einem willkrlich rekurrenten Netzwerk ermglicht, zu bestimmen, ob seine Elemente ein Gleichgewicht finden werden (das Halteproblem). Allgemein gesprochen, ermglicht die Tatsache, dass Neuronen in rekurrenten Netzwerken viele Male an der Verarbeitung von Informationen teilnehmen, solchen Netzwerken eine tiefere und vielfltigere Verarbeitung von Informationen. No fim do tempo, Fall mssen spezielle Manahmen ergriffen werden, damit das Netzwerk nicht in einer Endlosschleife hngenbleibt. Verwenden Sie beispielsweise simmetrische Verknpfungen wie in einem Hopfield-Netz ou outros membros de E-Behrendung der Anzahl e Iterationen. Art des Einlernens Art der Verknpfung
Comments
Post a Comment