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

 
Aleksey Vyazmikin:

Und wenn wir Zweige mit guter Wahrscheinlichkeit finden und sie in einen Prädiktor kodieren, und dann wieder den Baum zum Schleifen geben, dann wird der Baum überlegen, wie er die gefundenen Ergebnisse verbessern kann (Prädiktoren sollte er dann mögen, da sie einen großen Prozentsatz an richtigen Entscheidungen haben?

Ich weiß es nicht :) Ich habe solche Experimente mit dem Baum nicht durchgeführt. Aber zum Beispiel funktionieren alle Arten von GBM-Modellen so - sie bilden einen Baum, dann einen weiteren Baum, der im Vergleich zum vorherigen bessere Ergebnisse liefert, dann einen weiteren Baum und so weiter.

 
Dr. Trader:

Wenn Sie weiter verzweigen, wird die Genauigkeit dieser Daten natürlich zunehmen. In den neuen Daten ist jedoch eher ein Rückgang zu erwarten.

Ein gewisses Optimum ist hier erreicht, wenn der Baum etwas gelernt hat, aber noch keine Überanpassung vorliegt, und wir können ähnliche Ergebnisse bei neuen Daten erwarten.

Hmm, aber wenn wir diesen Baum zu einem einzigen Prädiktor komprimieren und weiter nach einer Lösung suchen? Gerade meine Prädiktoren sind oft schon eine Art von Vorberechnungen, Klassifizierung von Werten und so weiter, d.h. wenn ich dem Baum Rohdaten gebe, würde die Verzweigung früher und mit mehr Fehler aufhören... Und auf dieser Grundlage wird eine Verzweigung in die richtige Richtung das Ergebnis liefern, aber diese Richtung ist unbekannt, und die Frage ist, wie man sie bestimmen kann.

 
Dr. Trader:

Ich weiß es nicht :) Ich habe solche Experimente mit dem Baum nicht gemacht. Aber zum Beispiel funktionieren alle GBM-Modelle so - sie erstellen einen Baum, dann einen weiteren, der eine Verbesserung im Vergleich zum vorherigen ergibt, dann einen weiteren, usw.

Offenbar muss ich über diese GBM-Modelle lesen... aber wo werden sie reproduziert (nur in R?)?

Es bleibt, Filter auszuprobieren - sogar mein Programm hat dort zumindest einige Ergebnisse geliefert, vielleicht wird auch Ihres etwas Interessantes liefern, denn alle Prädiktoren werden in TC als Filter verwendet.

 

Herr Dr. Trader, ich habe entdeckt, dass wir, wenn wir die Kombination vonLevl_first_H1, Levl_High_H1, Levl_Low_H1, Levl_Support_H1, Levl_Close_H1 als eine separate ganze Regelbetrachten, im Allgemeinen wie ursprünglich beabsichtigt, eine kuriose Tabelle erhalten


Aus der Tabelle geht dies hervor:

1. Es brauchte 6088 Kombinationen, um zwei Jahre aller Balken unter Berücksichtigung des Ziels zu beschreiben, und sogar noch weniger, wenn wir das Ziel überhaupt nicht berücksichtigen, d.h. eine Kombination im Falle einer gleichmäßigen Verteilung beschreibt 86 Zeilen für zwei Jahre, aber ich denke, es gibt häufigere und weniger häufige Kombinationen.

2. Das Aufkommen neuer eindeutiger Regeln von 2015 bis 2016 betrug 41 %, und mit Ziel 1 neue Regeln 55 %, d. h. 45 % der Regeln von 2015 blieben bestehen und waren weiterhin gültig, was ich bereits für gut halte.

3. Die Stichprobe für 2015 und 2016 umfasst nur 21 % aller möglichen Kombinationen, d. h. entweder sind die verbleibenden Kombinationen extrem einzigartig oder die Stichprobe ist zu gering.

Sollten wir diese Fakten nicht irgendwie beim Aufbau des Baums verwenden?

Hinzugefügt:

Dann habe ich dieses Experiment gemacht, ich fügte Regeln von 2016 Ziel 0 und 1 zu Ziel 1 und 0 gelöscht von Duplikaten, dann entfernt doppelte Zeilen, und bekam ein deprimierendes Ergebnis, das ich nicht Sinn machen kann

Es stellt sich heraus, dass falsche Regeln für das Ziel "1" 81 % und für das Ziel "0" 38 % betragen, obwohl ich nicht weiß, wie viel Prozent der Zeilen Fehlerprozente enthalten... Es ist möglich, dass das Verhältnis anders ist, sonst würden genau so viele neue Regeln hinzugefügt, wie im Jahr 2016 entdeckt wurden, was nicht der Fall ist, was bedeutet, dass die Regeln nicht immer erfüllt sind und sie nur zusätzliche Bedingungen - Prädiktoren - benötigen.

 

Aleksey Vyazmikin:


Dies ergibt sich aus der Tabelle:

die Regeln werden nicht immer durchgesetzt, und sie benötigen lediglich zusätzliche Bedingungen - Prädiktoren.

Aleksey, ich schlage vor, sofort einen ausgereiften NS-ka zu machen. Mit Stichproben und Wäldern allein werden wir (die MMS-Gemeinschaft) nicht weit kommen.

Natürlich braucht eine funktionierende NS-Strategie eine analytische Plattform, um als Händler eine Entscheidung zu treffen - ob man in den Markt einsteigen soll, um zu kaufen, zu verkaufen oder überhaupt? Lohnt es sich, Positionen zum Kauf, zum Verkauf oder generell zu schließen?

Maxim und ich haben HIER darüber fantasiert, also lesen Sie es bitte und bestätigen Sie, dass es Sinn macht.

 
geratdc_:

Alexey, ich schlage vor, dass Sie sich sofort mit einem reifen NS-Typ beschäftigen. Wir (die MQL-Gemeinschaft) werden mit Mustern und Gerüsten allein nicht weit kommen.

Natürlich braucht eine funktionierende NS-Strategie eine analytische Plattform, um als Händler eine Entscheidung zu treffen - ob man in den Markt einsteigen soll, um zu kaufen, zu verkaufen oder generell? Lohnt es sich, Positionen zum Kauf, zum Verkauf oder generell zu schließen?

Maxim und ich haben HIER darüber phantasiert, also sehen Sie es sich bitte an und bestätigen Sie, dass es Sinn macht.

Hier bin ich mir einfach nicht sicher, ob es einen Platz für NS auf dem Markt gibt...

 

Und jetzt aufgepasst. Ich habe beschlossen, diese Woche an dem Dock-Skript und dem E-Mail-Netzwerk zu arbeiten.

Nun zum besten Teil und was könnte das sein?????

Bei einer maximalen Anzahl von Neuronen von 200 (Standardeinstellung) lag die Qualität des Lernens bei 0,6, wie durch den R-Score geschätzt. Indem ich jedoch die maximale Anzahl der versteckten Neuronen auf 30 reduzierte, konnte ich die Schätzung auf 0,85 erhöhen (was sehr gut ist). Ich begann jedoch, Kopien der Modelle nach Gewichten zu erhalten. Ich bekomme IMMER die gleichen Gewichte. An dieser Stelle kommt die Frage ins Spiel. Die Genetik kommt hartnäckig auf die gleiche Minimalfunktion. Sind die Daten so eindeutig, dass wir in den realen Zahlen das gleiche Minimum mit identischen Gewichten erhalten. Mal sehen, wie es wochenlang funktioniert...

Wenn um genau zu sein Reshetov's Optimierer für die letzte Woche gewann ein wenig mehr als die ELMNN Netzwerk, aber es ist viel schneller, sie zu installieren, so werde ich versuchen, zu ihnen zu wechseln, wenn es funktionieren wird, werde ich von Reshetov für jetzt wegen zu kapazitiven Netzwerk-Installation in Arbeit aufgeben....

 
Aleksey Vyazmikin:

Offenbar müssen wir uns über diese GBM-Modelle informieren ... und wo werden sie reproduziert (nur in R?)?

Das sollte es auch in Python geben.

Aleksey Vyazmikin:

Bleibt noch, die Filter auszuprobieren - auch mein Programm hat da zumindest einige Ergebnisse geliefert, vielleicht ergibt sich aus Ihrem etwas Interessantes, denn alle Prädiktoren werden in TC im Wesentlichen als Filter verwendet.

Ich werde den Algorithmus heute Abend ausführen und die Ergebnisse morgen veröffentlichen.

Aleksey Vyazmikin:

Aus der Tabelle geht dies hervor:

...

Eine 100-prozentige Genauigkeit zu erreichen und zu hoffen, dass das Modell gut funktioniert, ist im Forex-Bereich normalerweise unmöglich. Wenn das Modell eine Genauigkeit von einigen Zehnern über 50 % erreicht hat, beginnt es, sich Trainingsbeispiele einzuprägen, anstatt logische Muster darin zu finden. Daher wird das Ergebnis bei neuen Daten immer schlechter ausfallen. Mit Ihren Daten habe ich dieses Optimum von 60% erreicht - wenn die Ergebnisse auf Trainings- und Testdaten ungefähr gleich sind, aber mit detaillierterer Baumpartitionierung und höherer Präzision zeigt Forest immer schlechtere Ergebnisse auf neuen Daten.

 
Mihail Marchukajtes:

Bei einer maximalen Anzahl von Neuronen von 200 (Standardeinstellung) lag die Qualität des Lernens bei 0,6, wie durch den R-Score geschätzt. Indem ich jedoch die maximale Anzahl der versteckten Neuronen auf 30 reduzierte, erhöhte ich den Wert auf 0,85 (was sehr gut ist).

Die Genetik versucht, die richtigen Parameter für eine begrenzte Anzahl von Funktionsaufrufen zu finden. Durch die Verringerung der Anzahl der Varianten dieses Parameters (30 anstelle von 200) kann die Genetik den Bereich von 1 bis 30 genauer untersuchen. Und das ist auch richtig so. Wenn Sie die spezifischen Grenzen für die Ermittlung eines Modellparameters kennen, ist es besser, diese Information gleich an die Genetiker weiterzugeben.


Alternativ dazu:

gaResult <- ga(type="real-valued",
               fitness = GaFitness,
               min = c(1,1,0),
               max = c(NHID_MAX, length(ACTFUN_NAMES), 1000),
               popSize = 500,
               monitor=plot)

Fügen Sie diese Zeile (die grüne) in den Code ein, dann hat der Genetiker 500 Individuen in der Population anstelle der standardmäßigen 50. Und sie wird 10 Mal mehr Modelle testen können (aber auch die Laufzeit des Skripts wird sich um das 10-fache erhöhen), da sie so viele Kombinationen von Modellparametern wie möglich ausprobieren kann. Selbst bei maximal 200 Neuronen denke ich, dass die Genetik auch mit 0,85 ein besseres Ergebnis erzielen kann, oder zumindest näher daran herankommt.

 

Oh, das wird etwas zum Lesen sein, ich hatte vergessen, was es ist. Oder besser gesagt, ich habe den Unterschied zwischen GBM und XGboost vergessen... oder nicht gewusst

gbm kann jedes Modell verstärken, xgb scheint auf Bäumen zu stehen

Ich weiß, dass das Boosten ein bisschen besser ist als das Betteln, durch das der Wald aufgebaut wird. Ich weiß nicht, wie es sich mit Übertraining verhält.

https://habr.com/company/ods/blog/327250/

https://datascienceplus.com/gradient-boosting-in-r/

Открытый курс машинного обучения. Тема 10. Градиентный бустинг
Открытый курс машинного обучения. Тема 10. Градиентный бустинг
  • 2018.05.17
  • habr.com
Всем привет! Настало время пополнить наш с вами алгоритмический арсенал. Сегодня мы основательно разберем один из наиболее популярных и применяемых на практике алгоритмов машинного обучения — градиентный бустинг. О том, откуда у бустинга растут корни и что на самом деле творится под капотом алгоритма — в нашем красочном путешествии в мир...