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

 
Aleksey Nikolayev #:
Welche Mechanismen der Parallelisierung von Berechnungen auf der CPU in mql5 kennen Sie?

OpenCL für mehr oder weniger Fortgeschrittene.

Für weniger Fortgeschrittene - Ausführen von Agenten auf separaten Karten. Jedes Diagramm in einem separaten Thread, alle CPU-Kerne werden insgesamt genutzt.

Außerdem können Terminal-Agenten selbst verwendet werden, um Anwendungsberechnungen auf einem Terminal-Chart zu parallelisieren, was vielen Leuten nicht bekannt ist.

In diesem Artikel zeige ich Ihnen, wie Sie in MQL5 einen binären GA schreiben können, der alle signifikanten Ziffern einer Double-Zahl mit einem unbegrenzt kleinen Schritt von Parametern abdeckt (in der Tat ist er auf 16 Dezimalstellen für Double begrenzt). Und das ist noch nicht alles: Sie können in MQL5 auch Erweiterungen von Standard-Zahlentypen schreiben.

 
Andrey Dik #:

OpenCL ist für mehr oder weniger Fortgeschrittene.

Für weniger Fortgeschrittene - Ausführung von Agenten auf separaten Karten. Jedes Diagramm in einem separaten Thread, werden alle Prozessorkerne insgesamt verwendet werden.

Außerdem können Terminal-Agenten selbst verwendet werden, um Anwendungsberechnungen auf einem Terminal-Diagramm zu parallelisieren, was vielen Leuten nicht bekannt ist.

In diesem Artikel zeige ich Ihnen, wie man in MQL5 einen binären GA schreibt, der alle signifikanten Ziffern einer Double-Zahl mit einem unbegrenzt kleinen Schritt von Parametern abdeckt (in der Tat ist er auf 16 Dezimalstellen für Double begrenzt). Und das ist noch nicht alles: Sie können in MQL5 auch Erweiterungen von Standard-Zahlentypen schreiben.

Das ist es, was ich meine - Sie werden ein Fahrrad mit einer Menge Krämpfe bekommen.

Und OpenCL ist so gut, dass metaquotes ihren GPU-Optimierer nicht darauf geschrieben hat, wahrscheinlich nur, weil jeder von uns leicht seinen eigenen schreiben kann.

Okay, ich höre auf, sonst werde ich wie Maxim verbannt, wenn ich alles sage, was ich über deine Demagogie denke.

 
Aleksey Nikolayev #:

Das ist es, was ich meine - es wird ein ziemlich unangenehmes Fahrrad sein.

Und OpenCL ist so gut, dass metaquotes seinen GPU-Optimierer nicht darauf geschrieben hat, wahrscheinlich nur, weil jeder von uns leicht seinen eigenen schreiben kann.

Okay, ich höre auf, oder ich werde wie Maxim verbannt, wenn ich alles sage, was ich über Ihre Demagogie denke.

Was genau ist also der Haken an der Sache? Wenn Sie Probleme mit MQL5 haben, ist es nicht die Schuld der Sprache, es gibt spezielle Profil-Threads für diejenigen, die Fragen stellen.

Was ist meine "Demogogie"? Ich habe Ihnen auf Ihre Bitte hin eine riesige Liste von Literatur zum Lesen gegeben, um Ihren Horizont zu erweitern, ich erzähle und zeige Ihnen spezifische Implementierungen und Suchstrategien in MQL5. Was brauchen Sie sonst noch von mir, damit ich nicht ins Fettnäpfchen trete und Ihnen Angst mache, dass Sie gesperrt werden?

Ich bin sehr überrascht von den Menschen.

 

Ein wenig über die Redundanz von gerendertem Forrest

Man nehme einen Iris-Datensatz + trainiere Forrest + extrahiere Regeln aus Forrest + erstelle einen Datensatz, in dem jede Regel ein Merkmal ist.

Wir erhalten eine Matrix mit Regeln in Spalten (etwa 700 hundert Stück).

X <- iris[,-5]
target <- iris[,"Species"] 

library(inTrees)
library(RRF)

rules_dataset <- target |> 
                  RRF(x = X) |> 
                  RF2List() |> 
                  extractRules(X = X) |> 
                  sapply(\(r) eval(str2expression(r)))
ncol(rules_dataset)
[1] 698

Identifizieren Sie nun alle linear verwandten Regeln und entfernen Sie sie als redundant.

remove_lin_comb <- caret::findLinearCombos(rules_dataset)$remove
clear_rules_dataset <- rules_dataset[, -remove_lin_comb]

und wir erhalten

ncol(clear_rules_dataset)
[1] 32


Der gesamte Datensatz kann durch 32 Regeln anstelle von 698 beschrieben werden.


So ist es nun einmal...

Forrest ist 698/32 = 21,8125 mal redundanter als er sein könnte.

 
mytarmailS #:

Ein wenig über die Redundanz des Random Forrest

Man nehme einen Iris-Datensatz + trainiere einen Wald + extrahiere Regeln aus dem Wald + erstelle einen Datensatz, bei dem jede Regel ein Merkmal ist.

Erhalte eine Matrix mit Regeln in Spalten (etwa 700 hundert Stück)

Identifizieren Sie nun alle linear verwandten Regeln und entfernen Sie sie als redundant.

und wir erhalten


Der gesamte Datensatz kann durch 32 Regeln anstelle von 698 beschrieben werden.


So ist es nun einmal.

Forrest ist 698/32 = 21,8125 mal redundanter als er sein könnte.

Woher kommen die Regeln? Richtig: Berge von Informationen werden eingegeben, komprimiert und zu Regeln zusammengefasst, die dann für die Vorhersage verwendet werden, nicht die ursprünglichen Informationen. Deshalb nennt man es ein Modell.

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

Woher kommen die Regeln? Richtig: Berge von Informationen am Eingang, die komprimiert werden, um Regeln zu erhalten, die dann für die Vorhersage verwendet werden, nicht die ursprünglichen Informationen. Deshalb nennt man es ein Modell.

Lesen Sie genau, was geschrieben wurde

 
mytarmailS #:
Wollten Sie nicht einen Artikel über Regeln schreiben, oder haben Sie Ihre Meinung geändert? Es ist wahrscheinlich ein interessantes Thema, interessanter als die Minimierung von Testfunktionen. Oder haben Sie Probleme mit deren Validierung auf OOS? Oder es gibt keine Probleme, Sie sind nur zu faul zum Schreiben.
 
Eine Art allgemeiner Ansatz für die Regelauswahl. Zum Beispiel: Hier wird der Baum in Regeln zerlegt, was dann... im Kontext von TC. Bewährte Verfahren und Erkenntnisse. Das wäre interessant.

Nur nicht zufällige Funktionen und zufällige Wölfe, sondern näher am Gewinn.
 
Maxim Dmitrievsky #:
Eine Art allgemeiner Ansatz für die Regelauswahl. Zum Beispiel: Hier wird der Baum in Regeln zerlegt, was dann... im Kontext von TC. Bewährte Verfahren und Erkenntnisse. Ich wäre neugierig.

Nur nicht zufällige Funktionen und zufällige Wölfe, sondern näher am Gewinn.

Ist "näher am Gewinn" nicht gleichbedeutend mit "Übertraining"?
Wir erhalten ein schönes Gleichgewicht beim Zufallsgewinn, da die Basis ein zufälliger inkrementeller Wert ist. Und woher kommt die Schönheit des Gleichgewichts?

Gleichgewicht ist die Bewertung von TS im Terminal, wobei dieses Gleichgewicht nicht nur durch Klassifikationsfehler beeinflusst wird.

Aber wenn wir innerhalb der MOE bleiben, dann ist die Bewertung NICHT das Profil

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

Ist "näher am Gewinn" nicht gleichbedeutend mit "Übertraining"?
Wir erhalten eine schöne ausgeglichene Bilanz bei einem zufälligen Gewinn, weil die Basis ein zufälliger Zuwachswert ist. Woher kommt die Schönheit des Gleichgewichts?

Gleichgewicht ist die Bewertung von TS im Terminal, wobei dieses Gleichgewicht nicht nur durch Klassifikationsfehler beeinflusst wird.

Und wenn wir innerhalb der MO bleiben, dann ist die Bewertung NICHT ein Gewinn

Näher an den Gewinn - näher an den Zitaten, nicht auf etwas Sinnloses trainieren. Solche Tests gibt es im Internet zuhauf, und die Eigenheiten der verschiedenen MOs sind seit langem bekannt. Was ist schlechter und was ist besser.

Ich verstehe nur nicht, wo die Regelextraktion in der Hierarchie einzuordnen ist.