Diskussion zum Artikel "Neuronale Netzwerke der dritten Generation: Tiefe Netzwerke" - Seite 14

 
Rashid Umarov:
Bitte fügen Sie den Code korrekt ein. Ich habe ihn korrigiert.
Ich danke Ihnen. Ich habe nicht sofort erkannt, um welche Schaltfläche es sich handelt.
 
Vladimir Perervenko:

Guten Tag.

Um welches Drehbuch handelt es sich?

Könnten Sie etwas genauer beschreiben, was das Skript enthält?

Wie ich höre, ist es Ihnen gelungen, das Skript mit dem R-Prozess im Prüfprogramm auszuführen?

Wenn ja, dann ist das interessant.

Bitte nehmen Sie sich die Zeit und beschreiben Sie es so detailliert wie möglich. Wird der R-Prozess in einem Client-Server-Bundle oder in einem einzelnen Rterm ausgeführt?

Ja, er läuft in einem Client-Server-Bundle.

Wie kann ich es so einfach wie möglich erklären?

Ich habe den Code der Funktion OnTimer() in eine gemeinsame Funktion für OnTick() und OnTimer() übernommen. Das einzige, was ich hinzugefügt habe, war ein benutzerdefinierter Modusschalter und ein Tick-Zähler.

Alle anderen Startvorgänge bleiben gleich. Etwas später werde ich die Funktion in das Skript implementieren, das dem Forum beigefügt ist, und es posten.

PS: Die MQL4-Dokumentation besagt, dass die OnTimer()-Funktion im Testprogramm einfach nicht funktioniert.

 
kimkarus:

Ja. Es ist ein Client-Server-System.

Wie kann ich es so einfach wie möglich erklären?

Ich habe den Code der Funktion OnTimer() in eine gemeinsame Funktion für OnTick() und OnTimer() übernommen. Das einzige, was ich hinzugefügt habe, war ein benutzerdefinierter Modusschalter und ein Tick-Zähler.

Alle anderen Startvorgänge bleiben gleich. Etwas später werde ich die Funktion in das Skript implementieren, das dem Forum beigefügt ist, und es posten.

PS: Die MQL4-Dokumentation sagt, dass die Funktion OnTimer() im Tester einfach nicht funktioniert.

Ich verstehe OnTimer().

Haben Sie irgendwelche zusätzlichen Schritte bei der Client-Server-Verbindung unternommen?

Ich habe es immer noch nicht hinbekommen. Und nicht nur ich, wenn man die Beiträge im englischsprachigen Thread betrachtet.

Viel Glück!

 

Wie versprochen, habe ich die lokale SAE an MQL4 angehängt, um im Strategietester zu arbeiten.

i_SAE

e_SAE

Ersetzen Sie die Originale, kompilieren Sie *.ex neu.

Starten Sie den Tester, wählen Sie e_SAE, setzen Sie Enable timer = false und Count ticks = 120 (für mich war das optimal). Starten.

Wir fügen Geschwindigkeit hinzu, warten auf die magische Meldung "OPP = CLOSE...." auf der linken Seite und reduzieren die Geschwindigkeit. Danach fügen wir i_SAE mit Send to server = true zum Diagramm hinzu. Fügen Sie ein wenig Geschwindigkeit hinzu. Wir warten, bis die Ergebnisse fertig sind.

Mein R war Version 3.2.2. Vergleichen Sie unbedingt Ihre Version in beiden Dateien!

Viel Glück mit Ihren Experimenten!

e_SAE

 
Hallo, haben Sie eine Möglichkeit gefunden, das Problem mit dem Server-Socket zu beheben?
 

Hallo, dem Artikel beigefügt, ein aktualisierter Experte.

Dem Artikelbeigefügt, ein aktualisierter Experte.

Verschwinden Sie von dort.

Verschwinden Sie von dort.

Wladimir

 

Guten Tag.

Das ist ein guter Witz. Ich danke Ihnen.

Lassen Sie uns nun prüfen, wie es im Tester funktioniert, und in zukünftigen Beispielen mit R werde ich diese Funktion einbeziehen.

Im Anhang des neuen DNRBM-Artikels finden Sie eine neu gestaltete Version dieses DNSAE EA mit Selbstlernfunktion, aber ohne Server.

Bitte testen Sie sie.

Viel Erfolg!

 
Hallo, ich sehe, dass Sie 11 Oszillator-Indikator für die Eingabe verwendet, ich habe einige Indikatoren in Mt4 und sie sind nicht Oszillator, wie kann ich hinzufügen oder ersetzen Sie diese Indikator mag in Ihrem Artikel

Gestapelte RBM (DN_SRBM) https://www.mql5.com/de/articles/1628

Deep neural network with Stacked RBM. Self-training, self-control
Deep neural network with Stacked RBM. Self-training, self-control
  • 2016.04.26
  • Vladimir Perervenko
  • www.mql5.com
This article is a continuation of previous articles on deep neural network and predictor selection. Here we will cover features of a neural network initiated by Stacked RBM, and its implementation in the "darch" package.
 
Faszinierend.

Es ist interessant festzustellen, dass ein Mensch, der sich in eine Aufgabe vertieft, sich verbessern wird
, während eine Maschine, die das Gleiche tut, an einem lokalen Optimum hängen bleibt.

Vielleicht könnte sich die algorithmische Vertiefung von einem Paradigma des "Studierens" zu einem Paradigma des "Ausführens" entwickeln.

Toller Artikel.Props
 
Vladimir Perervenko:


Wieder haben wir eine profitable Phase von etwa 5 Wochen, bis sich das Modell verschlechtert.

Das ist normal. Das Modell kann und sollte in regelmäßigen Abständen neu gelernt werden.

Ich halte die Aufteilung in Test- und Trainingsdaten für unnötig: Wir können alle Daten zum Training verwenden.

Können. Es ist wichtig, ein paar wichtige Punkte zu beachten:
1. Trainings- und Testdaten sollten sich nicht überschneiden.
2. Der Trainingssatz sollte gemischt werden

3. Wenn das Verhältnis der Klassen des Gleichgewichts - um die Anpassung zu machen .

Ich bin froh, dass es Kollegen waren mit R.

Mit freundlichen Grüßen

Vladimir

Hallo,

bitte helfen Sie mir, einige meiner negativen Vorurteile über neuronale Netze (NN) zu klären.

  1. Ist es richtig, dass man zuerst die Indikatoren optimieren sollte, die in das NN eingefügt werden sollen?
  2. Dann optimiert man die Parameter des NN?
  3. Oder optimiert man die Parameter des NN und die Indikatoren gleichzeitig?
  4. Stimmt es nicht, dass die Gefahr einer Überanpassung umso größer ist, je mehr Variablen zu optimieren sind?
  5. Wenn die Datensätze für 1. und 2. gleich sind, würde das nicht zu einer Art Überanpassung an den Datensatz führen?
  6. Wird nicht genau das durch"Wieder haben wir eine profitable Phase von etwa 5 Wochen, bis sich das Modell verschlechtert." angedeutet?
  7. a) Nehmen wir an, wir haben einen Haufen Indikatoren, die alle zusammen vom Tester optimiert wurden und nun
    b) führen wir eine zweite Optimierung durch den Tester durch, nur um zu überprüfen, welche der optimierten Indikatoren wir brauchen(*)
    c) so dass wir einen kleineren Haufen unserer optimierten Indikatoren haben
    d) wofür brauche ich das NN?
  8. Kennen Sie eine Schätzung, wie groß der Datensatz für ein NN aufgrund der Anzahl der Eingänge, Schichten und Perceptrons sein muss?


(*) Wenn Sie den mt4-Optimierer im genetischen Modus laufen lassen und versuchen, bestimmte Parametersätze zu umgehen (z.B. nicht testen, ob "Indikator-A" eingeschaltet ist), indem Sie von OnInit() mit"INIT_PARAMETERS_INCORRECT" zurückkehren, zählt der genetische Algorithmus dies leiderimmer noch als einen gültigen Durchlauf, und das reduziert die Anzahl der tatsächlich ausgeführten Durchläufe, bevor der Algorithmus aufgrund der Anzahl der Durchläufe, die eines der Abbruchkriterien ist, anhält.