Diskussion zum Artikel "Tiefe Neuronale Netzwerke (Teil VII). Ensembles von Neuronalen Netzen: Stacking"

 

Neuer Artikel 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.

Zeichnen wir den Trainingsablauf:

history_stop_500

Abb. 11. Der Trainingsablauf des Neuronalen Netzes DNN500

Zur Verbesserung der Klassifikationsqualität können zahlreiche Hyperparameter modifiziert werden: Neuroneninitialisierungsmethode, Regularisierung der Aktivierung der Neuronen und ihrer Gewichte, etc. Die Ergebnisse, die mit fast intuitiv ausgewählten Parametern erzielt werden, haben eine vielversprechende Qualität, aber auch eine enttäuschende Seite. Ohne Optimierung war es nicht möglich, die Genauigkeit über 0,82 zu erhöhen. Fazit: Es ist notwendig, die Hyperparameter des neuronalen Netzes zu optimieren. In den vorangegangenen Artikeln haben wir mit der Bayes'schen Optimierung experimentiert. Das kann auch hier angewendet werden, aber es ist ein anderes schwieriges Thema.

Autor: Vladimir Perervenko

 

Besteht die Möglichkeit, in den nächsten Artikeln von Ihnen ausschließlich auf Python umzusteigen? Denn die Menge der vorinstallierten Pakete und Umgebungen wird bald exponentiell wachsen

interessant über Stacking, danke :)

 
Maxim Dmitrievsky:

Besteht in den folgenden Artikeln von Ihnen die Möglichkeit, ausschließlich auf Python umzusteigen, da die Menge der vorinstallierten Pakete und Umgebungen bald exponentiell ansteigen wird?

über Stacking ist interessant, danke :)

Und jetzt und in Zukunft alle Berechnungen in R, aber mit Python-Paketen (Module). Es gibt eine Menge von ihnen.

 
Vladimir Perervenko:

Und jetzt und in Zukunft alle Berechnungen in R, aber mit Python-Paketen (Modulen). Davon gibt es eine ganze Menge.

OK, ich werde versuchen, es zu fälschen :)

 
Hallo Prof. Vladimir
Da KIRS für Menschen und nicht für Maschinen entwickelt wurde, bedeutet dies, dass wir sie nicht in EAs integrieren können.
Können Sie ein Beispiel für ein Input-Diversity-Modell für KIRAS Deep-Grid-Modelle erstellen, wie z.B. Twitter-Sentiment-Analyse oder Textanalyse für Wirtschaftsnachrichten
Grüße und Friedenز ،
 
azzeddine remmal:
Hallo Prof. Vladimir
Da KIRS für Menschen und nicht für Maschinen entwickelt wurde, bedeutet dies, dass wir sie nicht in EAs integrieren können.
Können Sie ein Beispiel für ein Input-Diversity-Modell für KIRAS Deep-Grid-Modelle erstellen, wie z.B. Twitter-Sentiment-Analyse oder Textanalyse für Wirtschaftsnachrichten
Grüße und Friedenز ،

Greetings azzeddine,

Keras ist für Menschen in dem Sinne konzipiert, dass eine minimale Menge an Code erforderlich ist, um strukturell komplexe Modelle zu erstellen. Natürlich können und sollten wir diese Modelle in EAs verwenden. Dies ist nur ein gelöstes und ausgearbeitetes Problem. Wozu brauchen wir sonst diese Übungen?

Natürlich können wir Modelle bauen, die die Stimmung in Twitter-Nachrichten oder im Blomberg-Newsfeed verfolgen und analysieren. Das ist ein separater Bereich, den ich nicht getestet habe und von dem ich ehrlich gesagt nicht viel halte. Aber es gibt eine Menge Beispiele zu diesem Thema im Internet.

Sie sollten mit einem einfachen Beispiel beginnen.

Viel Erfolg!

 

Hallo Vladimir, ich danke dir für deine Artikel. Ich bin selbst Programmierer von Beruf, hauptsächlich .NET, c#. Ich habe einen Expert Advisor auf der Grundlage Ihrer Artikel nur für mt5 Terminal geschrieben. Ich verwende Keras mit GPU-Unterstützung, spart Zeit und Nerven für das Training von Modellen, R und mt5 verknüpft durch R.Net (ich schrieb eine Bibliothek dll, ich kann es auf github). Habe auch H2O ausprobiert, funktioniert langsam, GPU-Unterstützung nur unter Linux, nicht geeignet, ich arbeite unter Windows. Schön, dass auch Sie in Ihren Artikeln zu Keras gewechselt haben. Der Expert Advisor zeigte gute Ergebnisse für EURUSD 15M, die Datenprobe wurde von 2003 bis 2017 (Training, Testen) genommen, ich verwendete nur drei Prädiktoren v.fatl, v.rbci, v.ftlm, mehr Prädiktoren, die Ergebnisse sind schlechter, neuronales Netzwerk zwei versteckte Schichten dicht 1000 Neuronen in jedem (eine Menge von Neuronen ist nicht notwendig, nahm ich 10 in jeder versteckten Schicht, gab auch gute Ergebnisse). Der Expert Advisor ist fast das gleiche wie Ihre, mit kleinen Änderungen, Stop Loss 500, Take Profit 100, ich öffne nicht mehr als 10 Positionen, gut, und schließen Sie alle Positionen kaufen, wenn es neue Positionen Cell, und umgekehrt, alles ist einfach, der Rest des Codes ist wie Ihre. Nun, all dieser Code ist nur für EURUSD, für andere Notierungen vielleicht alles anders gemacht werden sollte.

Hier ist das Ergebnis der Arbeit des Expert Advisors von 2017 bis jetzt:

Test

Ich habe den Expert Advisor auf ein Cent-Konto gesetzt, 2 Wochen lang getestet, bisher funktioniert er im Plus. Es wurde viel Zeit damit verbracht, ein neuronales Netzwerkmodell zu suchen und zu testen, verschiedene Varianten von Dense, LSTM, CONV Netzwerken auszuprobieren, ich bin bei einem einfachen Dense stehen geblieben. Auch die Auswahl der verschiedenen Prädiktoren, Ihr DigFiltr + alle Arten von Indikatoren, Ihre Prädiktoren zeigten das beste Ergebnis, ohne irgendwelche zusätzlichen Indikatoren. Ich denke, dies ist nicht die Grenze, Sie können einen viel besseren EA machen, ich werde jetzt versuchen, die Ensembles aus Ihren letzten 2 Artikeln anzuwenden. Ich freue mich schon auf Ihre nächsten Veröffentlichungen, wenn Sie wollen, werde ich Sie auch über meine Erfolge informieren.

 
Евгений Чистюхин:

..., ich habe R und mt5 über R.Net verknüpft (ich habe eine dll-Bibliothek geschrieben, ich kann sie auf github stellen). ....

Das ist sehr interessant.

Wo kann ich das sehen?

Hat Ihre Bibliothek irgendwelche Vorteile gegenüber dieser Bibliothek?

 

Vladimir Perervenko

Wir werden neuronale Netze mit dem keras/TensorFlow-Paket aus Python erstellen.

Was ist falsch an R

keras: R-Schnittstelle zu 'Keras'

oder

kerasR: R-Schnittstelle zur Keras Deep Learning Bibliothek

CRAN - Package keras
  • cran.r-project.org
About Keras Layers About Keras Models Using Pre-Trained Models Keras Backend Writing Custom Keras Layers Frequently Asked Questions Guide to the Functional API Getting Started with...
 
Евгений Чистюхин:

Hallo Vladimir, ich danke dir für deine Artikel. Ich bin selbst Programmierer von Beruf, hauptsächlich .NET, c#. Ich habe einen Expert Advisor auf der Grundlage Ihrer Artikel nur für mt5 Terminal geschrieben. Ich verwende Keras mit GPU-Unterstützung, spart Zeit und Nerven für das Training von Modellen, R und mt5 verknüpft durch R.Net (ich schrieb eine Bibliothek dll, ich kann es auf github). Habe auch H2O ausprobiert, funktioniert langsam, GPU-Unterstützung nur unter Linux, nicht geeignet, ich arbeite unter Windows. Schön, dass auch Sie in Ihren Artikeln zu Keras gewechselt haben. Der Expert Advisor zeigte gute Ergebnisse für EURUSD 15M, die Datenprobe wurde von 2003 bis 2017 (Training, Testen) genommen, ich verwendete nur drei Prädiktoren v.fatl, v.rbci, v.ftlm, mehr Prädiktoren, die Ergebnisse sind schlechter, neuronales Netzwerk zwei versteckte Schichten dicht 1000 Neuronen in jedem (eine Menge von Neuronen ist nicht notwendig, nahm ich 10 in jeder versteckten Schicht, gab auch gute Ergebnisse). Der Expert Advisor ist fast das gleiche wie Ihre, mit kleinen Änderungen, Stop Loss 500, Take Profit 100, ich öffne nicht mehr als 10 Positionen, gut, und schließen Sie alle Positionen kaufen, wenn es neue Positionen Cell, und umgekehrt, alles ist einfach, der Rest des Codes ist wie Ihre. Nun, all dieser Code ist nur für EURUSD, für andere Notierungen kann es notwendig sein, alles anders zu tun.

Hier ist das Ergebnis der Arbeit des Expert Advisor von 2017 bis jetzt:

Ich habe den Expert Advisor auf ein Cent-Konto gesetzt, 2 Wochen lang getestet, bis jetzt funktioniert er im Plus. Viel Zeit wurde für die Suche nach einem neuronalen Netzwerkmodell und das Testen aufgewendet, ich habe verschiedene Varianten von Dense, LSTM, CONV Netzwerken ausprobiert, ich bin bei einem einfachen Dense stehen geblieben. Auch die Auswahl der verschiedenen Prädiktoren, Ihr DigFiltr + alle Arten von Indikatoren, Ihre Prädiktoren zeigten das beste Ergebnis, ohne irgendwelche zusätzlichen Indikatoren. Ich denke, dies ist nicht die Grenze, Sie können einen viel besseren EA machen, ich werde jetzt versuchen, die Ensembles aus Ihren letzten 2 Artikeln anzuwenden. Ich freue mich schon auf Ihre nächsten Veröffentlichungen, wenn Sie wollen, werde ich Sie auch über meine Erfolge informieren.

Guten Tag Eugene.

Es freut mich, dass Ihnen die Materialien meiner Artikel helfen. Ein paar Fragen.

1. Soweit ich weiß, verwendest du Keras für R. Schreibst du Skripte in R oder Python?

2. Die Gateway-Bibliothek, die wir verwenden, hat bei Ihnen nicht funktioniert, siehe hier.

3. Bitte posten Sie Ihre Version der Bibliothek und ein Beispiel für ein Skript. Es ist interessant zu sehen, auszuprobieren und zu vergleichen.

4. Natürlich bin ich und ich denke viele andere Enthusiasten sehr daran interessiert, Ihre Experimente zu verfolgen.

5. Ich habe lange darüber nachgedacht, einen separaten RUSERGroop-Thread zu eröffnen, in dem es möglich wäre, spezifische Fragen zu Sprache, Modellen ohne Überflutung zu diskutieren. Träume...

Das Erscheinen der API für Python (reticulate) eröffnet fast unbegrenzte Möglichkeiten für den Aufbau von Systemen beliebiger Komplexität. Ich habe Pläne, in naher Zukunft mit Reinforcement Learning in Verbindung mit neuronalen Netzen zu trainieren.

Schreiben Sie über Ihre Erfolge, stellen Sie Fragen.

Viel Erfolg!

 
СанСаныч Фоменко:

Wladimir Perervenko

Wir werden neuronale Netze mit dem keras/TensorFlow-Paket von Python erstellen

Was ist falsch an R

keras: R-Schnittstelle zu 'Keras'

oder

kerasR: R Schnittstelle zur Keras Deep Learning Bibliothek.

Grüße CC.

So verwende ich es auch. keras für R. Ich habe KerasR ausprobiert, aber aufgrund der Tatsache, dass sich das Tensorflow-Backend sehr schnell entwickelt (bereits Version 1.8), ist es zuverlässiger, das vom Rstudio-Team entwickelte und gepflegte Paket zu verwenden.

Viel Erfolg!