Wie man die Eingabewerte für die NS richtig bildet. - Seite 5

 
StatBars писал (а) >>
Bei welchen Werten geht der hyperbolische Tangens in die Sättigung über?

mehr als +-1...

Wenn der Hypertangens als Komprimierungsfunktion verwendet wird, müssen die Eingänge in diesem Bereich skaliert werden.

Sie können partielle Arktagene verwenden, und die Eingänge müssen auf +-1,57 skaliert werden.

das Sigmoid ist klassisch [0-1]

für die Klassifizierung von Netzen ist eine Skalierung nicht erforderlich...

 
sergeev писал (а) >>

2 Sart - wenn Sie ein Anfänger sind, könnte Sie der Code aus meinem Beitrag von https://forum.mql4.com/ru/12474/page9 interessieren.

Alexey, ich danke dir für deine Aufmerksamkeit, aber es ist noch zu früh für mich, um mir den Code anzusehen. Ich werde die Theorie zwei, drei, vier Monate lang studieren.

 
klot писал (а) >>

"Fette Schwänze" werden sichtbar, wenn wir Zitate über 100 Jahre und mehr analysieren... (übertrieben). Wenn wir uns einen bestimmten Bereich ansehen, zum Beispiel die letzten 300 Balken, dann gibt es dort keine "fetten Schwänze"...

Unterrichten Sie Ihre NS auch anhand der Fläche von 300 Balken?

 

Lesen Sie die Artikel von StatBars. Sie sind sehr informativ. Für diejenigen, die es nicht wissen, sie diskutieren die Art der Abhängigkeit der Wiederholbarkeit und Inkonsistenz einer Trainingsstichprobe von der Komplexität der zu klassifizierenden Bilder. In der Verzweigung "Neuronales Netz als Skript" und https://forum.mql4.com/ru/8835/page2 organisiert man die Ausgaben nach dem diskret-binären Prinzip, das je nach Richtung des "Lehrers" einen Vektor bildet. (Zum Beispiel für drei Ausgänge 1-0-0 oben, 0-1-0 flach, 0-0-1 unten). Eine andere Variante schlug eine Ausgabe vor, die jedoch in diskrete Werte nach folgenden Vorzeichen aufgeteilt wurde
1,0 - mehr als 70 Pips nach oben und weniger als 30 Pips nach unten innerhalb eines Tages.
0,9 - 60 aufwärts 25 abwärts
0,8 - 40 Pips nach oben 20 Pips nach unten
0,75 - flach
0,7 - 40 Pips nach unten 20 Pips nach oben
0,6 - 60 abwärts 25 aufwärts
0,5 - 70 abwärts 30 aufwärts

Unter Berücksichtigung der Angaben in den Artikeln wäre die beste Interpretation des Ergebnisses wahrscheinlich die folgende Formel
Ziel=(Up-Dn)/(Up+Dn), wobei Up die Höhe der Aufwärtsbewegung in der "Lehrer"-Periode und Dn die Höhe der Abwärtsbewegung ist. Der Ausgabebereich ist in diesem Fall kontinuierlich und liegt im Bereich [-1,+1], Randbedingungen +1 - starke Aufwärtsbewegung, -1 - starke Abwärtsbewegung, 0 - gleichbleibend. Wenn wir in einem solchen Fall eine Variable Z einführen, können wir die Ausgabe wie folgt in drei Abschnitte aufteilen. -1<-Z<+Z<+1 und maximieren den Gewinn in Bezug auf die Variable Z.
Das heißt, wir werden versuchen, eine Beziehung zwischen dem Eingangsvektor und weiteren Trendbeziehungen zu konstruieren. Durch diese kontinuierliche Ausgabe erhalten wir eine zufriedenstellende Nicht-Wiederholbarkeit und Konsistenz der Trainingsstichprobe.

Andererseits möchten wir nicht nur die Beziehungen zwischen den Trendparametern kennen, sondern auch den relativen Wert des zukünftigen Preises. Zu diesem Zweck führen wir die Variablen TP, SL ein. Auf dem Raster werden wir vier Ausgaben nach der Formel Up-TP, Dn-TP, Up-SL, Dn-SL berechnen, d.h. Up-TP>0, Dn-SL<0 für den Kauf und Dn-TP>0, Up-SL<0 für den Verkauf. Die Gewinnmaximierung bezieht sich auf diese Variablen TP und SL.

Das dritte Netz bestimmt die Geschwindigkeit, mit der Preishöchststände erreicht werden. Wenn der Zeitraum des Lehrers = X Takte und die zu erreichenden Takte Up=BU, Dn=BD sind, dann muss die Leistung des Netzes gleich dem Verhältnis BU-BD sein, wobei (BU-BD)/X>0 ist, wenn der Tiefpunkt vor dem Hochpunkt erreicht wird und <0, wenn der Hochpunkt vor dem Tiefpunkt erreicht wird. Die Gewinnmaximierung ist in diesem Fall relativ zu Null.


 

StatBars писал (а) >>
при каких значениях гиперболический тангенс входит в насыщение?

Wie Sie aus dem Diagramm ersehen können, beginnen Sie bei einem Wert von 5-6.

Aber ich habe eine andere Frage. Welche Funktion rechnet schneller, Sigmoid oder Hypertangens?


Dateien:
zvntx1.rar  6 kb
 
sergeev писал (а) >>

...

Andererseits möchten wir nicht nur die Beziehungen zwischen den Trendparametern kennen, sondern auch den relativen Wert des zukünftigen Preises. Zu diesem Zweck führen wir die Variablen TP, SL

...

Das war's. Sie haben alles ruiniert. :)

`

Siehe Joghurt-Thread + Ich bezweifle stark, dass selbst "derrelative Wert des zukünftigen Preises" mit hoher Wahrscheinlichkeit, d.h. mit einer kleinen Fehlermarge, vorhergesagt werden kann !!!

Und warum???? - haben ja schon die "weiteren Trendverhältnisse" - also je nach Geschmack - entweder schließen, wenn "flat" oder flippen, wenn das Signal wechselt".

`

Obwohl, für den Anfang - implementieren Sie den ersten Teil, d.h. gehen Sie zurück zu "How to form input values correctly" (alles andere - Kleinigkeiten) :(

 
SergNF писал (а) >>

Implementieren Sie aber zuerst den ersten Teil, d.h. gehen Sie zurück zu "Wie man Eingabewerte richtig formt" (alles andere ist trivial) :(

Ich stimme völlig zu.

Ich weiche nicht vom Thema ab. Nur ein lauter Gedanke. Das Verhältnis =0,25 kann sowohl 40/100 als auch 10/40 sein, aber wir nehmen im ersten Fall einen Gewinn mit, im zweiten Fall nicht. Ist es generell möglich, ein Netz nach dem Prinzip der Kaskaden (ich weiß nicht, wie man es richtig nennt) aufzubauen: das heißt, mehrere Netze, aber der Input des nächsten ist der Output des vorherigen. Es stellt sich eine wilde Mischung aus Ausschüssen und Faltungskarten heraus :)). Allerdings werden wir die Zwischenergebnisse kennen (als ob es ein Chitel gäbe).

Hier ist das Schema

Zum Beispiel sind die Ausgaben die in meinem vorherigen Beitrag beschriebenen. Zuerst bestimmen wir die Richtung, dann die Stärke und schließlich die Geschwindigkeit.

Wird das Netz überhaupt richtig funktionieren? Oder ist es besser, kein Chaos anzurichten und sich für einfache Maßnahmen zu entscheiden?

 
sergeev писал (а) >> Aber ich habe noch eine andere Frage. Welche Funktion ist schneller zu berechnen - Sigmoid oder Hypertangens?

Diese Funktionen lassen sich leicht durcheinander ausdrücken - linear. Es gibt also keinen großen Unterschied. Formel:

tanh(x) = 2*sigmoid(2*x) - 1 = sigmoid(2*x) - sigmoid(-2*x)

Im Allgemeinen muss bei intensiven Berechnungen wahrscheinlich die Berechnung des Sigmoid selbst irgendwie optimiert werden. Im Internet gibt es Bibliotheken mit schnellen und genauen Berechnungen.

 
sergeev писал (а) >>

Wie Sie aus dem Diagramm ersehen können, beginnen Sie bei einem Wert von 5-6.

Aber ich habe eine andere Frage. Welche Funktion lässt sich schneller berechnen: Sigmoid oder Hypertangens?

Ich denke, klot hat die richtige Antwort und man kann es sogar auf dem Bild sehen. Das Sigmoid kann Eingangswerte in einem größeren Bereich haben. Ich würde sagen, von 3 bis -3, aber wahrscheinlich von pi bis -pi.

Was das Ziel betrifft, so stellt sich die Frage nach der Anzahl der Takte vor der Bewegung... Ich habe verstanden, dass die Höhe der Bewegung bei einer bestimmten Anzahl von Takten ausgewählt wird. Ein Vorschlag für die Suche nach einem Intervall von 100 Takten, ausgehend vom Einstiegspunkt, und die Suche stoppt, wenn 2 Extrema gefunden werden, von denen jedes mindestens X Punkte vom Einstiegspunkt entfernt ist. Je nach Paar und Zeitrahmen werden X Punkte ausgewählt.

 

Morgen werde ich den Eröffnungsinduktor mit einem Blick in die Zukunft veröffentlichen. Es zeigt sich deutlich, dass Trades mit TP=80...100 pt etwa 1500 Minuten dauern, woraus wir entsprechende Schlüsse für verschiedene TFs ziehen können. Aber zwei Extrema für X Pips nach oben und X Pips nach unten zu finden, ist unwahrscheinlich. Wenn wir nach unten gehen und X Punkte erreichen, erreichen wir sie vielleicht nicht nach oben. Verstehe ich Sie richtig?