Programmierung eines Tiefen Neuronalen Netzes von Grund auf mit der Sprache MQL
Dieser Artikel soll dem Leser zeigen, wie man ein Deep Neural Network (Tiefes Neuronales Netz) von Grund auf mit der Sprache MQL4/5 erstellt.
Neuronale Netzwerke leicht gemacht (Teil 13): Batch-Normalisierung
Im vorigen Artikel haben wir begonnen, Methoden zur Verbesserung der Trainingsqualität neuronaler Netze zu besprechen. In diesem Artikel setzen wir dieses Thema fort und betrachten einen weiteren Ansatz — die Batch-Normalisierung.
Neuronale Netze leicht gemacht (Teil 12): Dropout
Als nächsten Schritt beim Studium von neuronalen Netzwerken schlage ich vor, die Methoden zur Erhöhung der Konvergenz beim Training von neuronalen Netzwerken zu besprechen. Es gibt mehrere solcher Methoden. In diesem Artikel werden wir uns einer von ihnen mit dem Namen Dropout zuwenden.
Maschinelles Lernen für Grid- und Martingale-Handelssysteme. Würden Sie darauf wetten?
Dieser Artikel beschreibt die Technik des maschinellen Lernens, die auf den Grid- und Martingale-Handel angewendet wird. Überraschenderweise hat dieser Ansatz wenig bis gar keine Verbreitung im globalen Netzwerk. Nachdem Sie den Artikel gelesen haben, werden Sie in der Lage sein, Ihre eigenen Trading Bots zu erstellen.
Neuronale Netze leicht gemacht (Teil 11): Ein Blick auf GPT
Eines der fortschrittlichsten Modelle unter den derzeit existierenden neuronalen Netzen für Sprachen ist vielleicht GPT-3, dessen maximale Variante 175 Milliarden Parameter enthält. Natürlich werden wir ein solches Ungetüm nicht auf unseren Heim-PCs erstellen. Wir können uns jedoch ansehen, welche architektonischen Lösungen bei unserer Arbeit verwendet werden können und wie wir von ihnen profitieren können.
Mehrschicht-Perceptron und Backpropagation-Algorithmus
Die Popularität dieser beiden Methoden wächst, sodass viele Bibliotheken in Matlab, R, Python, C++ und anderen entwickelt wurden, die einen Trainingssatz als Eingabe erhalten und automatisch ein passendes Netzwerk für das Problem erstellen. Versuchen wir zu verstehen, wie der Grundtyp des neuronalen Netzes funktioniert (einschließlich Ein-Neuronen-Perzeptron und Mehrschicht-Perzeptron). Wir werden einen spannenden Algorithmus betrachten, der für das Training des Netzes verantwortlich ist - Gradientenabstieg und Backpropagation. Bestehende komplexe Modelle basieren oft auf solchen einfachen Netzwerkmodellen.
Praktische Anwendung von Neuronalen Netzen im Handel (Teil 2). Computerbilder
Die Verwendung von Computerbilder ermöglicht das Training von Neuronalen Netzen auf der visuellen Darstellung des Kurscharts und der Indikatoren. Diese Methode ermöglicht breitere Operationen mit dem ganzen Komplex der technischen Indikatoren, da es nicht nötig ist, sie digital in das Neuronale Netz einzuspeisen.
Neuronale Netze leicht gemacht (Teil 10): Multi-Head Attention
Wir haben zuvor den Mechanismus der Self-Attention (Selbstaufmerksamkeit) in neuronalen Netzen besprochen. In der Praxis verwenden moderne neuronale Netzwerkarchitekturen mehrere parallele Self-Attention-Threads, um verschiedene Abhängigkeiten zwischen den Elementen einer Sequenz zu finden. Betrachten wir die Implementierung eines solchen Ansatzes und bewerten seine Auswirkungen auf die Gesamtleistung des Netzwerks.
Neuronale Netze leicht gemacht (Teil 9): Dokumentation der Arbeit
Wir haben schon einen langen Weg hinter uns und der Code in unserer Bibliothek wird immer umfangreicher. Das macht es schwierig, den Überblick über alle Verbindungen und Abhängigkeiten zu behalten. Daher schlage ich vor, eine Dokumentation für den früher erstellten Code zu erstellen und diese mit jedem neuen Schritt zu aktualisieren. Eine gut vorbereitete Dokumentation wird uns helfen, die Integrität unserer Arbeit zu erkennen.
Neuronale Netze leicht gemacht (Teil 8): Attention-Mechanismen
In früheren Artikeln haben wir bereits verschiedene Möglichkeiten zur Organisation neuronaler Netze getestet. Wir haben auch Convolutional Networks (Faltungsnetze) besprochen, die aus Bildverarbeitungsalgorithmen entlehnt sind. In diesem Artikel schlage ich vor, sich den Attention-Mechanismen (Aufmerksamkeitsmechanismus) zuzuwenden, deren Erscheinen der Entwicklung von Sprachmodellen den Anstoß gab.
Neuronale Netze leicht gemacht (Teil 7): Adaptive Optimierungsverfahren
In früheren Artikeln haben wir den stochastischen Gradientenabstieg verwendet, um ein neuronales Netzwerk mit der gleichen Lernrate für alle Neuronen innerhalb des Netzwerks zu trainieren. In diesem Artikel schlage ich vor, sich mit adaptiven Lernmethoden zu beschäftigen, die eine Änderung der Lernrate für jedes Neuron ermöglichen. Wir werden auch die Vor- und Nachteile dieses Ansatzes betrachten.
Gradient Boosting beim transduktiven und aktiven maschinellen Lernen
In diesem Artikel werden wir aktive Methoden des maschinellen Lernens anhand von realen Daten betrachten und ihre Vor- und Nachteile diskutieren. Vielleicht helfen Ihnen diese Methoden und Sie werden sie in Ihr Arsenal an maschinellen Lernmodellen aufnehmen. Die Transduktion wurde von Vladimir Vapnik eingeführt, der Miterfinder der Support-Vector Machine (SVM) ist.
Neuronale Netze leicht gemacht (Teil 6): Experimentieren mit der Lernrate des neuronalen Netzwerks
Wir haben zuvor verschiedene Arten von neuronalen Netzen zusammen mit ihren Implementierungen betrachtet. In allen Fällen wurden die neuronalen Netze mit der Gradientenverfahren trainiert, für die wir eine Lernrate wählen müssen. In diesem Artikel möchte ich anhand von Beispielen zeigen, wie wichtig eine richtig gewählte Rate ist und welchen Einfluss sie auf das Training des neuronalen Netzes hat.
Neuronale Netze leicht gemacht (Teil 5): Parallele Berechnungen mit OpenCL
Wir haben bereits einige Arten von Implementierungen neuronaler Netze besprochen. In den betrachteten Netzwerken werden die gleichen Operationen für jedes Neuron wiederholt. Ein logischer weiterer Schritt ist die Nutzung der parallelen Berechnung, die die moderne Technologie bietet, um den Lernprozess des neuronalen Netzwerks zu beschleunigen. Eine der möglichen Implementierungen wird in diesem Artikel beschrieben.
Neuronale Netze leicht gemacht (Teil 4): Rekurrente Netze
Wir setzen unser Studium der Welt der Neuronalen Netze fort. In diesem Artikel werden wir einen anderen Typ der Neuronalen Netzen betrachten, nämlich die Rekurrenten Netze. Dieser Typ wird für die Verwendung mit Zeitreihen vorgeschlagen, die in der Handelsplattform MetaTrader 5 durch Preisdiagramme dargestellt werden.
Neuronale Netze leicht gemacht (Teil 3): Convolutional Neurale Netzwerke
Als Fortsetzung des Themas Neuronale Netze schlage ich vor, Convolutional Neurale Netzwerke (faltende Neuronale Netzwerke) zu besprechen. Diese Art von Neuronalen Netzwerken wird in der Regel für die Analyse von visuellen Bildern verwendet. In diesem Artikel werden wir die Anwendung dieser Netzwerke auf den Finanzmärkten besprechen.
Fortschrittliches Resampling und Auswahl von CatBoost-Modellen durch die Brute-Force-Methode
Dieser Artikel beschreibt einen der möglichen Ansätze zur Datentransformation mit dem Ziel, die Verallgemeinerbarkeit des Modells zu verbessern, und erörtert auch die Stichprobenziehung und Auswahl von CatBoost-Modellen.
Der Algorithmus CatBoost von Yandex für das maschinelle Lernen, Kenntnisse von Python- oder R sind nicht erforderlich
Der Artikel liefert den Code und die Beschreibung der wichtigsten Phasen des maschinellen Lernprozesses anhand eines konkreten Beispiels. Um das Modell zu entwickeln, benötigen Sie keine Kenntnisse von Python- oder R. Es reichen grundlegende MQL5-Kenntnisse aus — das ist genau mein Niveau. Daher hoffe ich, dass der Artikel als gutes Tutorial für ein breites Publikum hilft, um diejenigen zu unterstützen, die daran interessiert sind, Fähigkeiten des maschinellen Lernens zu evaluieren und in ihre Programme zu implementieren.
Neuronale Netze leicht gemacht (Teil 2): Netzwerktraining und Tests
In diesem zweiten Artikel werden wir uns weiter mit Neuronalen Netzen befassen und ein Beispiel für die Verwendung unserer geschaffenen Klasse CNet in Expert Advisors besprechen. Wir werden mit zwei Modellen neuronaler Netze arbeiten, die ähnliche Ergebnisse sowohl hinsichtlich der Trainingszeit als auch der Vorhersagegenauigkeit zeigen.
Gradient Boosting (CatBoost) für die Entwicklung von Handelssystemen. Ein naiver Zugang
Trainieren des Klassifikators CatBoost in Python und Exportieren des Modells nach mql5, sowie Parsen der Modellparameter und eines nutzerdefinierten Strategietesters. Die Python-Sprache und die MetaTrader 5-Bibliothek werden zur Vorbereitung der Daten und zum Training des Modells verwendet.
Praktische Anwendung von neuronalen Netzen im Handel Es wird Zeit zum Üben
Der Artikel enthält eine Beschreibung und Anleitungen für den praktischen Einsatz von Modulen für neuronale Netzwerke auf der Matlab-Plattform. Er behandelt auch die Hauptaspekte der Erstellung eines Handelssystems unter Verwendung des Neuronalen Netzwerkmoduls. Um den Komplex in einem Artikel vorstellen zu können, musste ich ihn so modifizieren, dass mehrere Funktionen des neuronalen Netzwerkmoduls in einem Programm kombiniert werden konnten.
Neuronale Netze leicht gemacht
Künstliche Intelligenz wird oft mit etwas phantastisch Komplexem und Unverständlichem assoziiert. Gleichzeitig wird die künstliche Intelligenz im Alltag immer häufiger erwähnt. Nachrichten über Errungenschaften im Zusammenhang mit dem Einsatz neuronaler Netze erscheinen oft in verschiedenen Medien. Der Zweck dieses Artikels ist es zu zeigen, dass jeder leicht ein neuronales Netz erstellen und die Errungenschaften der künstlichen Intelligenz im Handel nutzen kann.
Tiefe Neuronale Netzwerke (Teil VIII). Erhöhung der Klassifizierungsqualität von Ensembles mit Bagging
Der Artikel betrachtet drei Methoden, die zur Erhöhung der Klassifizierungsqualität von Ensembles mit Bagging eingesetzt werden können, und schätzt deren Effizienz. Die Auswirkungen der Optimierung der Hyperparameter des neuronalen ELM-Netzwerkes und der Nachbearbeitungsparameter werden bewertet.
Tiefe Neuronale Netzwerke (Teil VII). Ensembles von Neuronalen Netzen: Stacking
Wir erstellen weitere Ensembles. Diesmal wird das zuvor mittels Bagging geschaffene Ensemble durch einen trainierbaren Kombinator (Combiner) - ein tiefes neuronales Netzwerk - ergänzt. Ein neuronales Netz kombiniert die 7 besten Ensemble-Ergebnisse nach der Bereinigung (pruning). Der zweite nimmt alle 500 Ausgänge des Ensembles als Input, bereinigt sie und kombiniert sie neu. Die neuronalen Netze werden mit dem keras/TensorFlow-Paket für Python aufgebaut. Die Eigenschaften des Pakets werden kurz erläutert. Es werden Tests durchgeführt und die Klassifizierungsqualität der Ensembles mit Bagging und Stacking verglichen.
Tiefe Neuronale Netzwerke (Teil VI). Gruppen von Klassifikatoren von Neuronalen Netzen: Bagging
Der Artikel beschreibt die Methoden des Aufbaus und Trainings von Gruppen von Neuronalen Netzen mit einer Struktur für das Bagging, einer Methode, um Vorhersagen aus verschiedenen Regressions- oder Klassifikationsmodellen zu kombinieren. Es bestimmt auch die Besonderheiten der Hyperparameter-Optimierung für einzelne Neuronale Netzwerk-Klassifikatoren, aus denen sich das Ensemble zusammensetzt. Die Qualität des optimierten Neuronalen Netzes, das im vorherigen Artikel der Serie erhalten wurde, wird mit der Qualität des erzeugten Ensembles Neuronaler Netze verglichen. Möglichkeiten, die Qualität der Klassifizierung des Ensembles weiter zu verbessern, werden geprüft.
Tiefe neuronale Netzwerke (Teil V). Bayes'sche Optimierung von DNN-Hyperparametern
Der Artikel beschäftigt sich mit der Möglichkeit, die Bayes'sche Optimierung auf Hyperparameter von tiefen neuronalen Netzen anzuwenden, die durch verschiedene Trainingsvarianten gewonnen werden. Die Klassifikationsqualität eines DNN mit den optimalen Hyperparametern in verschiedenen Trainingsvarianten wird verglichen. Die Tiefe der Effektivität der optimalen DNN-Hyperparameter wurde in Vorwärtstests überprüft. Die möglichen Richtungen zur Verbesserung der Klassifizierungsqualität wurden festgelegt.
Tiefe neuronale Netzwerke (Teil IV). Erstellen, trainieren und testen eines Modells des neuronalen Netzes
Dieser Artikel beschäftigt sich mit den neuen Fähigkeiten des Programmpaketes darch (v.0.12.0). Es enthält eine Beschreibung des Trainings eines tiefen neuronalen Netzes mit verschiedenen Datentypen, unterschiedlicher Struktur und Trainingsreihenfolge. Die Ergebnisse des Trainings sind enthalten.
Tiefe neuronale Netzwerke (Teil III). Stichprobenauswahl und Verminderung der Dimensionen
Dieser Artikel ist eine Fortsetzung der Artikelreihe über tiefe neuronale Netze. Hierbei werden wir die Auswahl von Stichproben (Rauschunterdrückung), die Verminderung der Dimensionen der Eingangsdaten und die Aufteilung der Daten in die Datensätze train/val/test bei der Datenaufbereitung für das Training des neuronalen Netzes besprechen.
Tiefe neuronale Netzwerke (Teil II). Ausarbeitung und Auswahl von Prädiktoren
Der zweite Artikel der Serie über tiefe neuronale Netze befasst sich mit der Ausarbeitung und Auswahl von Prädiktoren (= Variablen zur Wertevorhersage anderen Variablen) während des Prozesses der Datenaufbereitung für das Training eines Modells.
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
Diese Artikelserie setzt das Thema "Tiefe neuronale Netzwerke" (DNN) fort, die in der letzten Zeit in vielen angewandten Bereichen einschließlich Trading verwendet werden. Es werden neue Themenbereiche betrachtet; anhand praktischer Experimente werden neue Methoden und Ideen geprüft. Der erste Artikel dieser Serie beschäftigt sich mit der Datenaufbereitung für DNN.
Neuronales Netz: Selbstoptimierender Expert Advisor
Ist es möglich, einen Expert Advisor zu erstellen, der nach Befehlen des Codes Kriterien für das Eröffnen und Schließen von Positionen in bestimmten Abständen optimieren würde? Was geschieht, wenn ein neuronales Netz als Modul (mehrschichtiges Perzeptron), das Historie analysiert und Strategie bewertet, im Expert Advisor implementiert wird? Wir können den Expert Advisor das neuronale Netz jeden Monat (jede Woche, jeden Tag oder jede Stunde) optimieren und die Arbeit anschließend fortsetzen lassen. Auf diese Weise kann ein selbstoptimierender Expert Advisor entwickelt werden.
Maschinelles Lernen: Wie Support Vector Machines beim Handeln verwendet werden können
Support Vector Machines wurden lange in Bereichen wie Bioinformatik und angewandter Mathematik verwendet, um komplexe Datensätze zu evaluieren und nützliche Muster für die Datenklassifikation zu extrahieren. In diesem Artikel wird besprochen, was eine Support Vector Machine ist, wie sie arbeitet und warum sie so nützlich bei der Extraktion komplexer Muster ist. Danach werden wir untersuchen, wie sie auf dem Markt angewandt werden können und vielleicht beim Handeln Ratschläge geben. Mit dem "Support Vector Machine Learning Tool" bietet der Artikel Beispiele, anhand derer Leser mit ihrem eigenen Handeln experimentieren können.
Neuronale Netzwerke der dritten Generation: Tiefe Netzwerke
In diesem Beitrag widmen wir uns einer neuen und vielversprechenden Richtung des maschinellen Lernens: dem tiefen Lernen oder, genauer gesagt, tiefen neuronalen Netzwerken. Wir sehen uns kurz noch einmal die zweite Generation der neuronalen Netzwerke, die Architektur ihrer Verknüpfungen und die wichtigsten Typen, Methoden und Regeln des Einlernens sowie ihre wichtigsten Unzulänglichkeiten an und gehen dann zur Geschichte der Entwicklung der dritten Generation der neuronalen Netzwerke, ihren wichtigsten Typen, Besonderheiten und Einlernmethoden über. Wir führen praktische Experimente zum Aufbau und zum Einlernen eines tiefen neuronalen Netzwerks durch, eingeleitet durch die Gewichte eines gestackten Autoencoders mit realen Daten. Alle Phasen von der Auswahl der Eingabedaten bis zur Ableitung von Messwerten werden detailliert besprochen. Der letzte Teil des Beitrags liefert eine Softwareumsetzung eines tiefen neuronalen Netzwerks in einem Expert Advisor mit eingebautem Indikator auf Basis von MQL4/R.
Random-Forest-Vorhersage-Trends
Dieser Artikel widmet sich der Verwendung des Rattle-Pakets zur automatischen Suche nach Mustern zur Vorhersage von Long- und Short-Positionen von Forex-basierten Währungspaaren. Dieser Artikel richtet sich an Neulinge ebenso wie an erfahrene Trader.
Neuronale Netzwerke - kostengünstig und gut gelaunt: NeuroPro mit MetaTrader 5 verknüpfen
Sollten bestimmte neuronale Netzwerkprogramme für Handel teuer und komplex oder, im gegenteiligen Fall, zu einfach sein, versuchen Sie doch mal NeuroPro. Dieses Programm ist kostenlos und umfasst eine Reihe von Funktionalitäten für Amateure. In diesem Beitrag erfahren Sie, wie sie NeuroPro zusammen mit MetaTrader 5 verwenden können.
Bewertung und Auswahl von Variablen für Modelle für maschinelles Lernen
Dieser Artikel konzentriert sich auf die Besonderheiten der Auswahl, Vorkonditionierung und Bewertung der Eingabevariablen (Prädiktoren) für den Einsatz in Modellen für maschinelles Lernen. Neue Ansätze und Möglichkeiten der tiefen Prädiktor Analyse und deren Einfluss auf mögliche Überanpassung von Modellen werden berücksichtigt. Das Gesamtergebnis der Verwendung von Modellen hängt weitgehend vom Ergebnis dieser Phase ab. Wir werden zwei Pakete analysieren, die neue und ursprüngliche Konzepte für die Auswahl der Prädiktoren bieten.
Neuronale Netzwerke: Von der Theorie zur Praxis
Heutzutage hat sicherlich jeder Trader schon einmal etwas von einem neuronalen Netzwerk gehört - und weiß, wie cool es ist, diese zu benutzen. Die Mehrheit scheint zu glauben, dass es sich bei all jenen, die mit neuronalen Netzwerken operieren, um irgendwelche Übermenschen handeln würde. Mithilfe des vorliegenden Artikels verbinde ich die Absicht, Ihnen die Architektur eines neuronalen Netzwerks samt seiner Applikationen und praktischen Nutzanwendungen näherzubringen.
Verbinden von neuronalen Netzwerken von NeuroSolutions
Zusätzlich zur Erstellung von neuronalen Netzwerken ermöglicht das Softwarepaket von NeuroSolutions den Export dieser Netzwerke als DLLs. Dieser Beitrag beschreibt den Erstellprozess eines neuronalen Netzwerks, der Erzeugung einer DLL und der Verbindung dieser DLL mit einem Expert Advisor für den Handel in MetaTrader 5.