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

 
Andrej Dik:

Das heißt, es ist sinnvoll, dies zu tun. Anstelle von 4 Splits, die offensichtlich nicht ausreichen, sollten Sie also 40 Splits machen. Bei 4 Kernen dauert die Berechnung 10 Mal länger, aber ich nehme an, dass Zeit zugunsten der Robustheit geopfert werden kann.

Offensichtlich nicht.

Zum Beispiel ist es für den Daytrading nicht akzeptabel, 10 Stunden statt 1 Stunde auf die Berechnungen zu warten. Selbst wenn wir den Computer über Nacht stehen lassen, erhalten wir ein Modell, das auf zwangsläufig veralteten Daten beruht.

Es ist also ein sinnvoller Kompromiss zwischen der Rechenzeit und der Simulationsqualität erforderlich. Und die optimalste Variante ist, alles, was parallel berechnet werden kann, zu parallelisieren, während alles, was nicht parallelisiert werden kann, sequentiell berechnet werden sollte.

Als letzten Ausweg können Sie auf eine größere Anzahl von Kernen aufrüsten oder einen Computer-Cluster aus mehreren Personalcomputern aufbauen.

Und ich spreche noch nicht einmal von der Tatsache, dass der Code von Algorithmen des maschinellen Lernens oft auch noch Optimierungsmöglichkeiten bietet.

Es ist auch möglich, dass ein Teil des Multitaskings von der CPU auf die GPU übertragen werden kann.

D.h. es gibt viele mögliche Lösungen für das Problem (die Liste ließe sich beliebig fortsetzen), und "einen Buckel machen" in der Software ist nicht die beste und, wie die Erfahrung zeigt, oft die unzulänglichste.

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
Yury Reshetov:

Es ist nicht offensichtlich.

Zum Beispiel ist es für den Daytrading nicht akzeptabel, 10 Stunden statt 1 Stunde auf die Berechnungen zu warten. Selbst wenn Sie den Computer über Nacht stehen lassen, erhalten Sie ein Modell mit offensichtlich veralteten Daten.

Es ist also ein vernünftiger Kompromiss zwischen Rechenzeit und Modellierungsqualität erforderlich. Und der beste Weg ist, alles, was parallel berechnet werden kann, zu parallelisieren, während alles, was nicht parallel berechnet werden kann, sequentiell berechnet werden sollte.

Als letzter Ausweg ist es möglich, auf eine größere Anzahl von Kernen aufzurüsten oder einen Rechencluster aus mehreren Personalcomputern aufzubauen.

Und ich spreche noch nicht einmal von der Tatsache, dass der Code von Algorithmen für maschinelles Lernen oft auch noch weitere Optimierungsmöglichkeiten bietet.

Es ist auch möglich, dass ein Teil des Multitaskings von der CPU auf die GPU verlagert werden könnte.

D.h. es gibt viele mögliche Lösungen (die Liste ließe sich fortsetzen) und "ein Schweineohr" in Software zu machen ist nicht die beste - und wie die Erfahrung zeigt, ist es oft die unzulänglichste.

Ich bestehe nicht auf der "Höcker-Option", ich frage nur: Je mehr Varianten die Daten aufgespalten werden, desto besser kann man durch die Analyse der Ergebnisse lernen. Nehmen wir an, dass das Modell in 90 % der Fälle angemessene Ergebnisse bei den Testdaten liefert und nur 10 % zu Übertraining führen, was bedeutet, dass das Modell an sich etwas wert ist. Und wenn es andersherum ist, lohnt sich das Recycling. Und wenn man die Daten in nur 4 verschiedene Varianten unterteilt, ist die Wahrscheinlichkeit, ein übertrainiertes Modell zu erhalten, extrem hoch.

Auch hier gehe ich nicht auf die "Hardware"-Aspekte ein, sondern nur auf die "Software"-Aspekte.

 
Eidechse_:
...
Nicht mit einem Vorteil gegenüber den bekannten..... aber niemand wird es glauben)))

Nennen Sie ein konkretes Beispiel für bekannte ..., die "Vorteile haben".

Und von Ihnen nichts als unbegründete Kritik, die immer damit endet, dass Sie keine Probe geben, Sie zeigen die Software nicht (alles streng geheim, Zeugen werden entfernt). Aber Sie stellen unrealistische Zahlen auf, die niemand außer Ihnen weder bestätigen noch dementieren kann.

Banale Frage für einen Zügel: wenn, nach den Zitaten Sie "die Möglichkeit haben, zu erhalten" 92% und Kopeken der Verallgemeinerung Fähigkeit, warum sind Sie immer noch in leere Kritik an einigen nicht beschäftigt "mit Vorteilen mit dem bekannten ...", und nicht in den Kauf beschäftigt: Fabriken, Zeitungen, Dampfer, Inseln, Yachten, etc. Und wann kann ich Ihr Gesicht auf dem Cover von Forbes sehen?

 
Alexey Burnakov:


Für die Behandlung von Wechselwirkungen in linearen Modellen gibt es klare Regeln. Sie sind ein wenig komplizierter als die lineare Kombinationsbehandlung:https://www.r-bloggers.com/interpreting-interaction-coefficient-in-r-part1-lm/

Aber man muss sich durch eine Vielzahl von Kombinationen wühlen, um sinnvolle Interaktionen zu finden. Das ist wirklich schade.

Ich habe es mir angesehen, danke.

Die Lektüre hat meine Ratlosigkeit nur noch vergrößert, wenn auch mit einem neuen Verständnis des Wortes "Interaktion".

Meine Verwunderung beruht auf der Tatsache, dass jede Zahl in der Statistik irgendeinen Inhalt haben muss.

Nehmen wir diese Gleichung lm

zz ~ rsi*stoch

Jeder einzelne Indikator hat eine bestimmte Bedeutung, aber was ist die Bedeutung ihres Produkts? Was ist die Bedeutung dieser "Interaktion"? Oder nehmen wir einfach einen neuen Prädiktor mit unbekanntem Inhalt und sehen, wie er sich auf die Zielvariable auswirkt?

 
SanSanych Fomenko:

Ich habe es mir angesehen, danke.

Die Lektüre hat meine Ratlosigkeit nur noch vergrößert, wenn auch mit einem neuen Verständnis des Wortes "Interaktion".

Meine Verblüffung beruht auf der Tatsache, dass jede Zahl in der Statistik einen Inhalt haben muss.

Nehmen Sie diese Gleichung lm

zz ~ rsi*stoch

Jeder einzelne Indikator hat eine bestimmte Bedeutung, aber was ist die Bedeutung ihres Produkts? Was ist die Bedeutung dieser "Interaktion"? Oder nehmen wir einfach einen neuen Prädiktor mit unbekanntem Inhalt und sehen, wie er sich auf die Zielvariable auswirkt?

Es ist manchmal lustig, dir zuzuhören.)

Durch die Multiplikation entsteht physisch keine neue Einheit, obwohl die Interaktion in der klassischen Regression genau als Multiplikation zählt.

Der Neigungswinkel für den ersten Prädiktor hängt von der Höhe des zweiten Prädiktors ab. Das ist die Essenz der Interaktion. Dies ist eine Vereinfachung. Es gibt Nuancen. Wenn wir aber alle Koeffizienten einer solchen Stufe kennen, können wir sagen, dass z. B. eine Erhöhung der Stufe x1 um 1 die Zielstufe um 0,1 erhöht, wenn die Stufe x2 = 3 ist. Es geht also folgendermaßen.

 
Andrej Dik:

Ich bestehe nicht auf einer "Buckelvariante", ich frage nur: Je mehr Varianten die Daten unterteilt werden, desto besser kann man trainieren und die Ergebnisse analysieren.

...

Nochmals, ich gehe nicht auf die "Hardware"-Aspekte ein, sondern nur auf die "Software"-Aspekte.

Jeder Dummkopf könnte einfach eine Schleife mit 10 Iterationen einfügen und die Rechenzeit um eine Größenordnung erhöhen, nur um die Wahrscheinlichkeit der Unregelmäßigkeit von Musterverteilungen in Teilen einer Stichprobe unbedeutend zu verringern. Der Quellcode von jPrediction ist öffentlich zugänglich und kann von jedem, der möchte, geändert werden.

Ich bin viel mehr daran interessiert, meine Zeit und meine Bemühungen darauf zu verwenden, Ziele auf eine vielversprechendere Art und Weise zu erreichen: einen Algorithmus zu entwickeln, der weniger Rechen- und Computerzeit-Ressourcen benötigt, um Modelle mit höherer Verallgemeinerbarkeit zu trainieren.

 
Yury Reshetov:

Sagen wir, jeder Dummkopf kann einen Zyklus von 10 Iterationen durchführen und die Rechenzeit um eine Größenordnung erhöhen, nur um die Wahrscheinlichkeit der Unregelmäßigkeit von Musterverteilungen in Teilen der Stichprobe unwesentlich zu verringern. Der Quellcode von jPrediction ist öffentlich zugänglich und kann von jedem, der möchte, verändert werden.

Ich bin viel mehr daran interessiert, meine Zeit und Mühe darauf zu verwenden, ein ähnliches Ziel auf eine vielversprechendere Art und Weise zu erreichen: einen Algorithmus zu entwickeln, der die Rechen- und Zeitressourcen eines Computers weniger stark beansprucht.

Yuri, ich verlange nicht, dass du irgendetwas in deiner Software änderst oder modifizierst, und ich weiß nicht einmal etwas über Java, also verstehe ich nichts, obwohl ich mir deinen Code ansehen wollte.

Ich stelle nur eine theoretische Frage: Was denken Sie, wäre es nützlich, wenn es eine Möglichkeit gäbe, die Daten in möglichst viele Varianten zu zerlegen? Ja oder nein.

 
Andrej Dik:

...

Nur eine theoretische Frage: Wäre es Ihrer Meinung nach sinnvoll, die Daten in so viele Optionen wie möglich aufzuschlüsseln? Ja, oder nein.

Es hat keinen Sinn, über Aufgaben zu diskutieren, die durch "Zahlen, nicht Fähigkeiten" banalisiert werden. Wenn beispielsweise ein Bagger an einem Tag einen Graben in einer Entfernung von n Metern ausheben kann, dann können m Bagger denselben Graben in einer Entfernung von m*n Metern in derselben Zeit ausheben. Was gibt es da zu diskutieren? Wenn die Zeit für das Ausheben eines Grabens kritisch ist, müssen Sie die verbleibende Zeit bis zum Ablauf der Frist in Tagen durch die Strecke teilen, die ein Bagger pro Tag ausheben kann, und ein paar zusätzliche Bagger für Unvorhergesehenes vorsehen. Die Lösung ist trivial und es gibt nichts zu diskutieren.

Es ist möglich, die Aufgaben zu diskutieren, deren Lösung nicht so trivial ist, z.B. wie man die Produktivität beim Ausheben des gleichen Grabens mit weniger Baggern in der gleichen Zeit erhöhen kann. Es gibt bereits neue Möglichkeiten, z. B. Bagger durch einen Bagger zu ersetzen oder die Schaufeln zu verbessern usw. usw.

 
Yury Reshetov:

Es hat keinen Sinn, über Probleme zu diskutieren, die trivialerweise durch "Zahlen, nicht Fähigkeiten" gelöst werden. Wenn zum Beispiel ein Bagger an einem Tag einen Graben von n Metern ausheben kann, können m Bagger denselben Graben von m*n Metern in derselben Zeit ausheben. Was gibt es da zu diskutieren? Wenn die kritische Zeit für das Ausheben eines Grabens erreicht ist, müssen Sie die verbleibende Zeit bis zum Ablauf der Frist durch die Anzahl der Bagger teilen und mehrere zusätzliche Bagger für unvorhergesehene Umstände einplanen. Die Lösung ist trivial und es gibt nichts zu diskutieren.

Es ist möglich, Aufgaben zu diskutieren, deren Lösung nicht so trivial ist, z.B. wie man die Produktivität beim Ausheben desselben Grabens mit weniger Baggern in derselben Zeit erhöhen kann. Es gibt bereits neue Möglichkeiten, z. B. Bagger durch Bagger zu ersetzen oder ihre Schaufeln zu verbessern usw. usw.

Die Antwort ist blumig, ich nehme sie als ein Ja.

Angenommen, ich habe zu Hause ein Rack mit 64 Clustern, jedes mit 4 8-Core-CPUs, warum sollte ich es nicht für diesen Zweck verwenden? Vor allem, wenn es mir gut tut.

 

Wir haben uns auf 191 Seiten umsonst aufgeregt. Es ist an der Zeit, dass alle mit leeren Händen nach Hause gehen.

Siehe https://www.mql5.com/ru/forum/3457/page3396#comment_2939962

Ich zitiere:

Wladimir Karputow:

Das war's. Maschinelles Lernen wird nicht mehr benötigt. Jeder wird von einer normalen Office-Suite geschlagen

Интересное и Юмор
Интересное и Юмор
  • www.mql5.com
Форум трейдеров MQL5.community