Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 375

 

1) Verstehe ich richtig, was die Aufteilung des Datensatzes in Training, Validierung und Test bedeutet?

a) wir unterrichten es auf einem Trainer
b) Überprüfen Sie den Fehler bei der Validierung, wenn er viel größer ist als beim Trainer, gehen Sie zurück zu 1, bis der Fehler gleich ist (wie viel ist gleich - 5% des Gesamtfehlers? Zum Beispiel 15% für das Tutorial und 20% für die Validierung)
c) Prüfen Sie an einem Test, ob der Fehler bei den ersten beiden Sätzen gleich ist (wie groß ist der Fehler?), dann ist das Modell stabil und kann ausgeführt werden, wenn nicht, können wir es vergessen. Und suchen Sie nach anderen Prädiktoren, ändern Sie die Filterung, usw.

2) Wie hoch ist übrigens die anzustrebende Fehlerquote für Training/Validierung/Test? 15/20/20% oder vielleicht 5/10/15%? oder anders?

3) Ich verstehe nicht ganz, warum es empfohlen wird, Ausbildungsbeispiele zu mischen? Wir werden jedes Beispiel trotzdem bearbeiten.

 
elibrarius:

Übrigens, wie hoch ist die anzustrebende Fehlerquote bei der Ausbildung/Validierung/Prüfung? 15/20/20% oder vielleicht 5/10/15% oder etwas anderes?

Früher, ja, so etwas in der Art.

Was die Fehler betrifft, so hängt dies von den jeweiligen Umständen ab. Wenn z. B. MO oder NS den Einstieg in einen Handel bestimmen, kann ein Fehler von 50 % ausreichend sein. Bei einem erfolgreichen Handel erhalten Sie zum Beispiel durchschnittlich 2-3 Pence Gewinn, bei einem erfolglosen 1 Pence Verlust. In diesem Fall ist 0,5 keine schlechte Wahrscheinlichkeit.

 
Yuriy Asaulenko:

Die vorherige, ja, irgendwie.

Was die Fehler betrifft, so hängt dies von den jeweiligen Umständen ab. Wenn z. B. MO oder NS den Einstieg in einen Handel bestimmen, kann ein Fehler von 50 % ausreichend sein. Bei einem erfolgreichen Handel erhalten Sie zum Beispiel durchschnittlich 2-3 Pence Gewinn, bei einem erfolglosen 1 Pence Verlust. In diesem Fall ist 0,5 keine schlechte Wahrscheinlichkeit.

0,5 scheint zu klein zu sein... Welche Werte sollten Sie in der Praxis anstreben (nicht bei anderen NS-Problemen, sondern beim Handel)?
Ich möchte nämlich bis zu 10 % lernen, aber wenn diese Zahl unrealistisch ist, verschwende ich meine Zeit und meine CPU. Sagen wir, was ist der beste Fehler, den Sie erreicht haben, und ab welchem Punkt ist es möglich, aufzuhören und nicht nach Verbesserungen zu suchen?
 
elibrarius:
0,5 könnte ein bisschen zu klein sein... Und welche Werte sollte ich anstreben? Welche kann ich in der Praxis wirklich erreichen (nicht irgendwelche anderen NS-Aufgaben, sondern für den Handel)?
Ich möchte vielleicht bis zu 10 % lernen, aber wenn diese Zahl unrealistisch ist, vergeude ich meine eigene Zeit und die Zeit der CPU. Sagen wir, was ist der beste Fehler, den Sie erreicht haben, und ab welcher Stufe können Sie aufhören und nicht mehr nach Verbesserungen suchen?

0,5 ist nicht genug? Das soll wohl ein Scherz sein.) Ich habe bereits dieses Beispiel genannt: Ein Pokerspieler hat eine Gewinnwahrscheinlichkeit von 1/9-1/6, und gute Spieler haben immer schwarze Zahlen.

Und alle meine Systeme funktionierten mit ~0,5 Wahrscheinlichkeit und waren immer im Plus. Soweit ich weiß, arbeiten viele TS mit einer Wahrscheinlichkeit von nahezu 0,5 - dies wurde insbesondere auf der Autotrading-Konferenz erwähnt.

"Ansonsten möchte ich bis zu 10 % trainieren, aber wenn das eine unrealistische Zahl ist" - ob real oder unrealistisch hängt von der jeweiligen Aufgabe ab. Zum Beispiel habe ich NS für die Überquerung von MACs trainiert - es ist also fast 100% zuverlässig).

 
Yuriy Asaulenko:

0,5 ist nicht genug? Das soll wohl ein Scherz sein.) Ich habe bereits dieses Beispiel genannt: Ein Pokerspieler hat eine Gewinnwahrscheinlichkeit von 1/9-1/6, und gute Spieler haben immer schwarze Zahlen.

Und alle meine Systeme funktionierten mit ~0,5 Wahrscheinlichkeit und waren immer im Plus. Soweit ich weiß, arbeiten viele TS mit einer Wahrscheinlichkeit von nahezu 0,5 - dies wurde insbesondere auf der Autotrading-Konferenz erwähnt.

"Ansonsten möchte ich bis zu 10 % trainieren, aber wenn das eine unrealistische Zahl ist" - ob real oder unrealistisch hängt von der jeweiligen Aufgabe ab. Zum Beispiel habe ich NS gelehrt, MAs zu kreuzen - so ist es fast 100% zuverlässig)).

Es ist wahr, Sie können es tun, ohne jede Vorhersage (50%), Sie müssen nur nehmen Gewinn mehr als Stop. Eigentlich kann man nichts vorhersagen, niemand weiß, wo der Preis in Forex gehen wird, nur Insider, Puppenspieler wissen.

 
Wassili Perepelkin:

Eigentlich ist es unmöglich, irgendetwas vorherzusagen, niemand weiß, wohin sich der Preis auf dem Devisenmarkt entwickeln wird, nur die Insider, die Puppenspieler wissen das.

Das ist tatsächlich möglich. Ich glaube nicht, dass es möglich ist, 0,5 zu verwenden, wenn die Vorhersage und der Takeaway höher sind als der Stop, es ist nicht dasselbe wie 50/50 und so Gott will). - d.h. ohne Prognose. Wir werfen eine ganz andere Münze.))
 
elibrarius:

1) Verstehe ich richtig, was die Aufteilung des Datensatzes in Training, Validierung und Test bedeutet?

a) auf einem Trainer lernen
b) Überprüfen Sie den Fehler auf der Validierungsseite, wenn er viel größer ist als auf der Trainingsseite, fahren Sie mit Schritt 1 fort, bis der Fehler gleich ist (wie viel ist gleich - 5% des Gesamtfehlers? Zum Beispiel 15% für das Tutorial und 20% für die Validierung)
c) Prüfen Sie an einem Test, ob der Fehler bei den ersten beiden Sätzen gleich ist (wie groß ist der Fehler?), dann ist das Modell stabil und kann ausgeführt werden, wenn nicht, können wir es vergessen. Und suchen Sie nach anderen Prädiktoren, ändern Sie die Filterung, usw.

2) Wie hoch ist übrigens die anzustrebende Fehlerquote für Training/Validierung/Test? 15/20/20% oder vielleicht 5/10/15%? oder anders?

3) Ich verstehe nicht ganz, warum es empfohlen wird, Trainingsbeispiele zu mischen? Wir werden trotzdem jedes Beispiel bearbeiten.


1) Nicht alle, und das ist von grundlegender Bedeutung.

Wir nehmen eine große Datei. Teilen Sie es in zwei ungleiche Teile.

Der größere Teil ist wie von Ihnen beschrieben aufgeteilt. Wir erhalten die Fehler, die ungefähr gleich sein sollten.

Danach überprüfen wir das Modell im zweiten Teil der Datei. Der Fehler in diesem Teil sollte wiederum nicht sehr unterschiedlich sein.

Dies ist der wichtigste Beweis für das Fehlen von Perobuchness (Overfitting).


Das Ausmaß des Fehlers? Dies ist eine Art Konstante, die aus der Menge der Prädiktoren abgeleitet wird, die durch die Anpassung des Modelltyps reduziert werden kann.


Zum Beispiel.

Wenn alle vier Fehler bei 35 % liegen, kann man durch die Auswahl eines Modells - Gott bewahre - den Fehler auf 30 % reduzieren.


PS.

Ein Fehler von weniger als 10 % ist ein deutliches Zeichen für Übertraining. Wenn Sie einen solchen Fehler haben, sollten Sie ihn hundertmal überprüfen.

 

Ich habe in der ALGLIB einen frühen Stopp mit Validierungsabschnitt gefunden:

Training des neuronalen Netzes mit Frühstopp (Basisalgorithmus - L-BFGS mit Regularisierung).
...
Der Algorithmus stoppt, wenn der Fehler des Validierungssatzes über einen längeren Zeitraum
genug oder die Schrittweite ist klein genug (es gibt Aufgaben, bei denen
Validierungssatz kann für die Ewigkeit abnehmen). In jedem Fall eine Lösung
zurückgegeben wird, entspricht dem Minimum des Validierungssatzfehlers.

Dem Code nach zu urteilen, werden nicht die Fehler in den Trainings- und Validierungsabschnitten verglichen, sondern es wird nach minimalen Fehlern im Validierungsabschnitt gesucht. Und es hört auf, wenn es nach 30 Iterationen keine bessere Lösung gefunden hat oder wenn alle Iterationen verstrichen sind.

Aber ich bin mir nicht sicher, ob diese Methode besser/genauer ist als die übliche... Es sei denn, die Anzahl der Trainingszyklen wird um ein Vielfaches erhöht...

Das ist es, was wir haben:

Durchschnittlicher Fehler beim Training (80%) =0,535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Mittlerer Fehler bei der Validierung (20%) Abschnitt =0,298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Vollständiges Diagramm (Trainings- und Validierungsdiagramm):
Durchschnittlicher Lernfehler=0,497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Mittlerer Fehler im Test (20%) Abschnitt =0,132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

Ich habe das Gefühl, dass die Handlung der Validierung angepasst wurde. Der Test ist im Allgemeinen erfolgreich, aber er war nicht in der Ausbildung und wurde nicht verglichen, wahrscheinlich nur ein Zufall.
Dies f zählt Ensembles, und es gibt eine 2/3 Aufteilung und alles ist zwischen beiden Parzellen gemischt, ich werde versuchen, das gleiche zu tun...
Es wurde gemischt:

Mittlerer Fehler im Trainingsbereich (60%) =0,477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Mittlerer Fehler bei der Validierung (40%) Abschnitt =0,472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Vollständiges Diagramm (Trainings- und Validierungsdiagramm):
Durchschnittlicher Lernfehler=0,475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Durchschnittlicher Fehler im Test (20%) Abschnitt =0,279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

Durch die Vermischung gleicht sich der Fehler im Trainings- und Validierungsabschnitt aus.

Irgendetwas scheint mir falsch zu sein, denn im echten Handel werden die Balken in ihrer eigenen Reihenfolge angezeigt und nicht mit denen von vor einer Stunde und einem Tag vermischt.
Und wenn sich die "Natur" des Marktes ändert, bedeutet das, dass wir neu lernen oder nach neuen NS-Modellen suchen müssen.

 
Yuriy Asaulenko:
Das ist tatsächlich möglich. 0,5 mit Vorhersage und Annahme ist nicht dasselbe wie 50/50 mit Gottes Willen)) - d.h. ohne Prognose. Wir werfen eine ganz andere Münze.))
Wenn wir nach dem Zufallsprinzip eröffnen und einen Stop-Loss nehmen, der z.B. 2 Mal so hoch ist, dann haben wir einen statistischen Gewinn, z.B. 100 Trades mit 10 Punkten Gewinn und 100 mit 5 Punkten Verlust, als Ergebnis haben wir 500 Punkte Gewinn, wir brauchen keine Prognose.
 
SanSanych Fomenko:


1) Nicht alle und es ist grundlegend.

Wir nehmen eine große Datei. Teilen Sie es in zwei ungleiche Teile.

Teilen Sie den größeren Teil so auf, wie Sie es beschrieben haben. Wir erhalten die Fehler, die ungefähr gleich sein sollten.

Danach wird das Modell im zweiten Teil der Datei überprüft. Der Fehler in diesem Teil sollte wiederum nicht sehr unterschiedlich sein.

Dies ist der wichtigste Beweis dafür, dass es kein "feathering" (Überanpassung) gibt.

4 Grundstücke fallen aus? Training/Validierung/Test1/Test2 ?

Wie viele Schulungs-/Validierungszyklen müssen Sie absolvieren? Ich habe nirgendwo Informationen darüber gesehen... 1 Zyklus insgesamt? - und gleich danach genehmigen oder ändern wir etwas in der Prädiktorengruppe oder im Netzwerkschema? Genauer gesagt, für N Trainingszyklen wird uns ein Bestes gezeigt.
Grund der Beschwerde: