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

 

Wir haben bereits über die theoretische Möglichkeit gesprochen, verrauschte Werte aus einem Array zu entfernen, hier ist das ursprüngliche Modell

und hier habe ich 0,01 bis -0,01 Rauschen aus einem Array mit binären Baumantwortgewichten entfernt

Der Gewinn ist etwas geringer, aber die relative Leistung hat sich verbessert.

 

Hm, entfernt (Nullwerte) bereits binäre Bäume von -0,02 bis 0,02

es scheint, dass es keine schwachen Fortschritte gibt, was bedeutet, dass ein Kern von Rationalität darin steckt - weitere Forschung ist erforderlich.

 
Aleksey Vyazmikin:

Ganz primitiv ausgedrückt, hat der erste Baum keine Reaktion auf die Probe, er liefert Null, und der vierte Baum hat diese Reaktion und zählt die "Wahrscheinlichkeit" 0,6 - technisch gesehen hat er den Fehler des ersten Baumes korrigiert, aber in Wirklichkeit eine Verbindung aufgedeckt, die vorher überhaupt nicht existierte.

Der Fehler des ersten Baumes kann nicht nur 0, sondern auch 1 sein.

D.h. wenn der erste Baum eine 1 vorhergesagt hat, die tatsächliche Zahl aber 0 war, dann sollten die folgenden Bäume die Gesamtzahl von 1 auf 0 verringern. 2, 3 usw. Bäume werden also negative Vorhersagen machen, um die Zahl 1 des ersten Baums nach N Schritten durch mehrere Subtraktionen auf 0 zu verringern.

 
elibrarius:

Der Fehler des ersten Baumes kann nicht nur 0, sondern auch 1 sein.

D.h. wenn der erste Baum 1 vorhergesagt hat, aber tatsächlich 0 ist, dann sollten die nachfolgenden Bäume die Gesamtzahl von 1 auf 0 verringern. D.h. 2, 3 usw. Bäume werden eine negative Vorhersage geben, um 1 vom ersten Baum auf 0 nach N Schritten durch mehrere Subtraktionen zu verringern.

Dem stimme ich natürlich zu. Aber das ändert nichts am Kern der Sache - wichtig ist das Muster, das der Baum findet, und die Interpretation dieses Musters ist die Arbeit eines separaten Algorithmus.

 
Aleksey Vyazmikin:

Und ich weiß nicht, wie es in der Gemeinschaft aussieht, d. h. ich weiß nicht, wie andere Personen in anderen Bereichen vorgehen?

Das Ziehen von Daten erscheint mir logisch, da ich mit Hilfe von MO nach einem Modell für menschliches Verhalten (oder einem Algorithmus) suche. Es kann viele solcher Verhaltensmuster geben, und sie können unabhängig sein, also ist es sinnvoll, so viele wie möglich zu ziehen, da es unmöglich ist, sie alle zusammen zu verallgemeinern. Und für jemanden, für den der Markt etwas Ganzes ist, das Ergebnis einer kollektiven Denkarbeit, eine Art Abstimmungsorgan ohne Regeln, sucht er wahrscheinlich nach dem richtigen Modell, um das Marktverhalten als eigenständigen Organismus zu beschreiben.

Wie kann man das nicht wissen, wenn man selbst dazugehört?)

Vielleicht teile ich das, denn das ursprüngliche Ziel war es, so etwas wie eine KI zu schaffen, die alles von selbst aufnimmt, ohne manuelle Routine. Routine nur bei der Konzeption einer solchen Sache

Ich kann mir nicht vorstellen, dass ich Hunderte oder Tausende von Modellen manuell durchgehen und dort etwas auswählen muss. Im Gegenteil, ich möchte die "Erfindung" von TCs vergessen, wie einen schlechten Traum.

 
Maxim Dmitrievsky:

Wie kann man es nicht wissen, wenn man dazugehört?)

vielleicht teile ich das, denn das ursprüngliche Ziel war es, so etwas wie eine KI zu schaffen, die alles selbst ausmerzt, ohne manuelle Arbeit. Routine nur bei der Konzeption einer solchen Sache

Ich kann mir nicht vorstellen, dass ich Hunderte oder Tausende von Modellen manuell durchgehen und dort etwas auswählen muss. Im Gegenteil, ich möchte die "Erfindung" der TZ vergessen, wie einen schlechten Traum.

Und ich habe keine Ahnung, wie ich jedes Modell einzeln analysieren soll - deshalb habe ich mich für die Stapelverarbeitung entschieden. Einzelne Modelle sollten im Detail analysiert werden, um den Gesamtalgorithmus des Modellerstellungszyklus zu verbessern und neue Ideen zu finden.

Das Problem ist, dass es bei Hunderttausenden von Modellvarianten, die völlig unterschiedliche Ergebnisse liefern, schwer zu verstehen ist, was man tun kann, um die Ergebnisse zu verbessern - das ist der Punkt, an dem ich die größte Schwierigkeit habe. Zuerst erhalte ich ein interessantes Modell mit 4 Prädiktoren und es scheint mir, dass es keinen Sinn macht, mehr Prädiktoren hinzuzufügen und nur mehr Modelle zu generieren, dann verwende ich im Gegenteil eine Menge Prädiktoren und der Einfluss der Trainingsstichprobe ist größer, plus eine Menge Parameter für das Training mit CatBoost selbst. Deshalb neige ich dazu, viele Modelle zu erstellen und 2-3 von 100k zu speichern und sie gründlicher zu studieren.

 
Aleksey Vyazmikin:

Ich habe keine Ahnung, wie ich jedes Modell einzeln analysieren soll - daher die Betonung auf Stapelverarbeitung. Das Problem ist, dass man bei Hunderttausenden von Modellvarianten, die völlig unterschiedliche Ergebnisse liefern, nur schwer weiß, was man mit ihnen anfangen soll.

Das Problem ist, dass es bei Hunderttausenden von Modellvarianten, die völlig unterschiedliche Ergebnisse liefern, schwer zu verstehen ist, was man tun kann, um die Ergebnisse zu verbessern - das ist der Punkt, an dem ich die größte Schwierigkeit habe. Zuerst erhalte ich ein interessantes Modell mit 4 Prädiktoren und es scheint mir, dass es keinen Sinn macht, mehr Prädiktoren hinzuzufügen und nur mehr Modelle zu generieren, dann verwende ich im Gegenteil eine Menge Prädiktoren und der Einfluss der Trainingsstichprobe ist größer, plus eine Menge Parameter für das Training mit CatBoost selbst. Deshalb neige ich dazu, dass es notwendig ist , viele Modelle zu generieren und 2-3 von jedem 100k zu speichern, und es bereits detailliertere sie zu studieren.

Ja, so ist es wünschenswert, so viel wie möglich zu automatisieren, dass dann eine banale Wahl bleibt, was vorzuziehen ist, eine Tasse Kaffee zu trinken

Ich stimme zu, dass es schwer zu machen ist, aber es wird eine KI sein und kein normaler Klassifikator.

Was die letzte - es ist ein AutoML libs - ein neuronales Netz wählt das beste neuronale Netz oder eine Reihe von Modellen für eine bestimmte Aufgabe, es ist auch cool. Noch nicht verwendet.
 
Maxim Dmitrievsky:

Ja, so etwas in der Art, am besten möglichst automatisiert, so dass man hinterher bei einer Tasse Kaffee ganz trivial entscheiden kann, was einem am besten gefällt.

Ich stimme zu, dass das schwierig ist, aber dann wäre es eine KI und kein normaler Klassifikator.

Jetzt nach dem Training werden die Ergebnisse durch ein Skript verarbeitet (ohne Interpreter des Modells - durch CatBoost-Berechnung), und aus 100k Modellen erhalte ich diejenigen, die die definierten Kriterien (Modell- und Handelskriterien) für alle drei Proben erfüllen, wir erhalten etwa 50-100 Modelle, ich konvertiere sie zur Anzeige im Terminal und mache einen erneuten Durchlauf für eine weitere detailliertere Auswahl. Wenn ich genau weiß, was ich will, werde ich sie vielleicht nicht einmal im Terminal starten, aber im Moment suche ich nach Auswahlkriterien und halte es für sinnvoll, verschiedene Modelle visuell zu betrachten. Ich kann die Gleichgewichtskurven mit dem Skript speichern, aber ich weiß nicht, wie ich mit den Diagrammen arbeiten soll - ich werde nicht schlau daraus.

Ich weiß nicht, ob Sie viele Modelle in Python erstellen können, aber wenn Sie Interesse haben, kann ich Ihnen die Stäbe schicken, die ich dazu verwende.

 
Aleksey Vyazmikin:

Nach dem Training werden die Ergebnisse nun vom Skript verarbeitet (ohne den Modellinterpreter - basierend auf den CatBoost-Ergebnissen), und aus 100k Modellen erhalte ich diejenigen, die die Kriterien (Modell- und Handelskriterien) für alle drei Stichproben erfüllen, ich erhalte etwa 50-100 Modelle, ich konvertiere sie für die Wiedergabe im Terminal und mache dort einen zweiten Durchgang für eine weitere, detailliertere Auswahl. Wenn ich genau weiß, was ich will, werde ich sie vielleicht nicht einmal im Terminal starten, aber im Moment suche ich nach Auswahlkriterien und halte es für sinnvoll, verschiedene Modelle visuell zu betrachten. Ich kann die Gleichgewichtskurven mit dem Skript speichern, aber ich weiß nicht, wie ich mit Diagrammen arbeiten kann - ich habe es immer noch nicht herausgefunden.

Ich weiß nicht, ob man in Python viele Modelle auf einmal erstellen kann, aber wenn es interessant ist, kann ich dir die Stäbe schicken, die ich dafür verwende.

können Sie alles in Python und mehr tun.

Noch nicht, nein danke... Ich lese gerade einige interessante Bücher. Ich habe catbust auch in Python verwendet, ich habe es mit forest verglichen, ich habe keine großen Verbesserungen gesehen, aber es ist konfigurierbar und funktioniert gut auf seine eigene. Eigentlich in ein paar Zeilen.

 
Maxim Dmitrievsky:

AutoML - ein neuronales Netz wählt das beste neuronale Netz oder eine Reihe von Modellen für eine bestimmte Aufgabe aus, auch cool. Ich habe es noch nicht benutzt.

Ich habe etwas Ähnliches gemacht - die Frage bezieht sich wieder auf Prädiktoren und Auswahlkriterien (Ziel). Schließen Sie jetzt (viele Monate später) alle Ideen mit Prädiktoren ab und kehren Sie zu diesem Thema zurück. Und das Ergebnis ist im Allgemeinen da, ich habe schon früher gepostet, wie solche Modelle funktionieren, aber ich brauche verschiedene Proben mit unterschiedlichen Streuungen, vorzugsweise von verschiedenen Modellen.

Und was verwendet AutoML als Prädiktoren und als Ziel?