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

 
Dimitri:

Byzanz existierte zu Beginn der Renaissance nicht mehr, Konstantinopel war die Hauptstadt des Osmanischen Reiches, und die Kreuzzüge waren 200 Jahre zuvor beendet worden.

Machen Sie keine Witze...

Die Wiederbelebung ist in vier Phasen unterteilt:

  1. Proto-Renaissance (2. Hälfte des 13. Jahrhunderts bis 14. Jahrhundert)
  2. Frührenaissance (frühes 15. bis spätes 15. Jahrhundert)
  3. Hochrenaissance (Ende des XV - erste 20 Jahre des XVI Jahrhunderts)
  4. Spätrenaissance (Mitte des 16. Jahrhunderts bis 1590)

Der Vierte Kreuzzug von 1202-1204 (dies ist der Beginn des 13. Jahrhunderts)

Nachdem sie die reichste und größte Stadt Europas geplündert haben... Sie (die Kreuzfahrer) gründeten einen Staat mit Konstantinopel als Hauptstadt, das Lateinische Reich. Der Kampf gegen die Eroberer dauerte mehr als 50 Jahre. Im Jahr 1261 fiel das Lateinische Reich. Byzanz wurde wiederhergestellt, konnte aber nie wieder seine frühere Macht erlangen.

Im Laufe von 50 Jahren der Plünderung und des Lebens in Byzanz entwickelten die neu bereicherten Europäer (vor allem Venedig, das die gesamte Schifffahrt und die dazugehörigen Bezirke betrieb) eine Vorliebe für das schöne Leben und begannen, kreative Menschen gut zu bezahlen. Die Kreativen stellten Lehrlinge ein bzw. bildeten sie aus, die sich dann als Lehrer usw. hervortaten. Und so ging es weiter und weiter.

 
Die CatBoost-Sampling-Meinung wird benötigt, zwei Stichproben werden für das Training dort benötigt. Die erste ist die Optimierungsfunktion und die zweite ist die Modellauswahl, d.h. wann diese Funktion ihre Arbeit einstellen sollte, um ein Übertraining zu vermeiden, und zu diesem Zweck werden die Ergebnisse des Trainings auf die zweite Stichprobe angewendet. Ich denke, es stellt sich heraus, dass wir nach einem Muster in der Trainingsstichprobe von 2014-2016 suchen, dieses Muster dann in den Jahren 2016-2017 testen und das Modell bereits in der dritten Stichprobe von 2018-2019 unabhängig testen. Mich verwirrt eine so große Zeitspanne, oder ich bezweifle sogar, dass wir eine große Stichprobe für den Test brauchen, denn wir wollen ein stabiles Muster über einen langen Zeitraum erfassen, aber die Dauer dieses Musters kennen wir nicht... Ich denke, dass es ausreicht, 2-3 Monate in die Teststichprobe aufzunehmen, was einen Trend erkennen lässt, der zyklisch ist und sich vorher und nachher wiederholt, aber dann besteht die Gefahr, dass das Modell, bevor es diese Zyklizität in der Trainingsstichprobe erkennen kann, zu viele Bäume anhäuft, die etwas anderes beschreiben, und erst dann Bäume bildet, die einen Trend in der Teststichprobe beschreiben. Im Zweifelsfall kann ich nicht herausfinden, wie ich ein Experiment durchführen kann, um zu bestimmen, wie lang jede der drei Proben sein sollte. Hat jemand eine Idee zu diesem Thema?
 
Elibrarius:

Im Laufe der 50 Jahre, in denen Byzanz geplündert und bewohnt wurde, entwickelten die neu bereicherten Europäer (vor allem Venedig, das die gesamte Schifffahrt und die dazugehörigen Grafschaften betrieb) eine Vorliebe für das schöne Leben und begannen, kreative Menschen gut zu bezahlen. Die Kreativen stellten Lehrlinge ein bzw. bildeten sie aus, die sich dann als Lehrer usw. hervortaten. Und so ging es weiter - Stück für Stück.

Aber das ist natürlich IMHO.

Ein europäischer Fernsehmoderator sagte, der Fall Konstantinopels sei ein Segen gewesen, denn trotz der Hunderttausenden von Opfern und der Zerstörung strömten gebildete Menschen nach Europa, die bereitwillig angeworben wurden und ihnen einen Teil des verlorenen Wissens aus dem Römischen Reich zurückgaben, was zur Überwindung des Mittelalters beitrug.

D.h. selbst gotteslästerliche Handlungen wie der Krieg werden auch heute noch als eine gute Tat für die gesamte Menschheit dargestellt... Die Geschichte wird von den Siegern geschrieben.

 
Aleksey Vyazmikin:
aber dann besteht die Gefahr, dass das Modell, bevor es diese Zyklizität in der Trainingsstichprobe aufdeckt, zu viele Bäume bildet, die etwas anderes beschreiben, und erst dann Bäume bildet, die den Trend in der Teststichprobe beschreiben.

Weder Bäume noch NS trennen Strings nach Zeit, sie mischen sie sogar. Es werden also keine Bäume "damals" gebaut. Sie beruhen alle auf gleichmäßig gemischten Daten. Reihen aus 2014 und 2016 können nebeneinander stehen.

Wenn das NS die Reihen nicht mischt, wird es nur auf den ersten Beispielen trainieren und in eine Sackgasse geraten, und die letzten Daten werden das Lernen nicht beenden. Nachdem die Reihen gemischt wurden, lernt NS gleichmäßig. Bei r=1 (Anteil der Zeilen zum Lernen eines Baums) müssen Sie die Zeilen nicht mischen, aber in der Regel wird dieser Wert auf <1 gesetzt, um ein Übertraining zu vermeiden, so dass Sie auch hier mischen müssen.

Aleksey Vyazmikin:
Ich kann nicht herausfinden, wie ich ein Experiment durchführen kann, mit dem ich die Länge der drei Proben bestimmen kann. Haben Sie eine Ahnung davon?

Ich denke, wir müssen auch das optimieren. Ich denke aber, dass die Anzahl der Zeilen nicht weniger als 1000-10000 betragen sollte, damit die Stichprobe repräsentativ ist und alle zufälligen Abweichungen ausgleicht. Andernfalls können Sie eine kleine Stichprobe mit zufälligen Verzerrungen versehen.

 
Aleksey Vyazmikin:

In einer europäischen Sendung hieß es, der Fall Konstantinopels sei ein Segen gewesen, denn trotz der Hunderttausenden von Opfern und der Zerstörung strömten gebildete Menschen nach Europa, die bereitwillig angeworben wurden und so einen Teil des verlorenen Wissens aus dem Römischen Reich zurückgewinnen konnten, was zum Aufbruch aus dem Mittelalter beitrug.

D.h. selbst gotteslästerliche Handlungen wie der Krieg werden heute als gute Taten für die gesamte Menschheit dargestellt... Die Geschichte wird von den Siegern geschrieben.

Natürlich nimmt jeder das Gute für sich selbst wahr. Für die Europäer ist das natürlich eine gute Tat, um Finanzen und Köpfe zu plündern. Für die Byzantiner ist dies kein Segen, für viele war es der Tod.

Ich weiß nicht mehr genau, aber in der Blütezeit der byzantinischen Wirtschaft beliefen sich die jährlichen Steuern auf etwa 2-4 Tausend Tonnen Gold. Aber ich kann mich in den Zahlen irren - vor ein paar Jahren habe ich einen Film gesehen, in dem es darum ging. Wenn Sie interessiert sind, schauen Sie sich das an. Ich bin am Anfang des Films zufällig darauf gestoßen - nur die Münzen haben mehrere hundert Tonnen herausgenommen.


 
elibrarius:

Weder Bäume noch NSs trennen Strings nach Zeit, sie mischen sie sogar. Es werden also keine Bäume "nachgebaut". Sie beruhen alle auf gleichmäßig gemischten Daten. Reihen aus 2014 und 2016 können nebeneinander stehen.

Es ist nicht ganz möglich, dass ich meinen Standpunkt dargelegt habe.

Schauen Sie, wir haben einen Baum auf einer Trainingsstichprobe erstellt, der 10% der Stichprobe (Recall) abdeckt, und sagen wir 20 Bäume, jeder fügt 3%-7% zum Recall hinzu, aber das ist auf der Trainingsstichprobe, während auf der Teststichprobe vielleicht nur 5 und 6 Bäume im Allgemeinen eine Antwort auf Vollständigkeit und Genauigkeit geben werden, und die Bäume davor und danach werden dann Rauschen sein, aber wenn diese "danach" vom Algorithmus abgeschnitten werden, dann werden die "davor" bleiben. Wir erhalten also ein Modell mit Bäumen, die bei der Klassifizierung helfen, und Bäumen, die sie behindern oder sich einfach nur passiv verhalten. Deshalb ist die Frage, wie groß die Probe ist und wie sie gefüllt wird.

Ich habe insgesamt etwa 14 Saiten und muss sie in 3 Samples aufteilen.

Vielleicht ist es für diese Art von Modellen effizient, verschiedene Teile der Stichprobe zu schneiden und dann die resultierenden Modelle an der gesamten Stichprobe auf Robustheit zu testen... In Kontemplation.

 
Elibrarius:

Das Gute ist natürlich eine Wahrnehmung des Einzelnen. Für die Europäer war das natürlich ein Segen in Form von Raub von Finanzen und Köpfen. Für die Byzantiner ist es kein Segen, für viele ist es der Tod.

Ich weiß nicht mehr genau, aber in der Blütezeit von Byzanz betrugen die jährlichen Steuern etwa 2-4 Tausend Tonnen Gold. Selbst für unsere Zeit ist das für viele Länder ein sehr guter Betrag, aber ich könnte mich mit den Zahlen irren - ich habe vor ein paar Jahren einen Film gesehen, in dem das gesagt wurde. Wenn Sie interessiert sind, schauen Sie sich das an. Zufällig am Anfang des Films entdeckt - nur die Münzen haben mehrere hundert Tonnen herausgenommen.


Ich werde mir das Video ansehen, danke, aber ich würde es lieber von den Japanern oder jemand anderem Unabhängigen sehen...

 
Aleksey Vyazmikin:
Vielleicht geben nur Baum 5 und 6 überhaupt eine Antwort auf Vollständigkeit und Genauigkeit, und die Bäume davor und danach sind dann Rauschen, aber wenn die "danach" vom Algorithmus beschnitten werden, bleiben die "davor" übrig.

Welcher Algorithmus fällt Bäume aus einem bereits bestehenden Wald? Der Wald hört entweder auf zu wachsen, wenn er eine bestimmte Anzahl erreicht hat, oder auf eine andere Weise, wenn er der Meinung ist, dass er gut gelernt hat. Wenn Sie während des Lernens ein Pruning durchführen, wirkt sich dies positiv auf den Fehler beim Trainieren aus (und wenn Sie es beim Validieren durchführen).

Im Allgemeinen wird natürlich ein Teil der Bäume dafür und ein Teil dagegen stimmen. Und es ist unmöglich, sie loszuwerden, denn das ist es, was es dem Wald ermöglicht, gut zu lernen, im Gegensatz zu einzelnen Bäumen, aufgrund der Mittelung von Stimmen. Beim Boosten lernt nur der erste Baum aus den Daten, alle anderen aus Fehlern.

 
elibrarius:

Welcher Algorithmus fällt Bäume aus einem bereits bestehenden Wald? Der Wald hört entweder auf zu wachsen, wenn er eine bestimmte Anzahl erreicht hat, oder auf eine andere Weise, wenn er der Meinung ist, dass er gut gelernt hat. Wenn während des Trainings ein Pruning durchgeführt wird, wirkt sich dies positiv auf den Fehler bei train (und, falls vorhanden, bei valid) aus.

Welcher Algorithmus wird beschneiden - also CatBoost macht es im Training, dort kann man einen Parameter setzen, dass wenn 10 (so viele wie man angibt) neue Bäume das Ergebnis nicht verbessert haben, dann wird das Modell ohne diese letzten 10 Bäume genommen, bzw. es ist das beste von dem, was verfügbar ist.

elibrarius:

Beim Boosten lernt nur der erste Baum aus den Daten, alle anderen aus Fehlern.

Interessanter Spruch. Allerdings sind die nachfolgenden Bäume gebaut, um den Fehler aus dem bestehenden Baum Zusammensetzung zu reduzieren, aber ich verstehe nicht, warum sie nicht verwenden Sampling dann, sagen Sie mir mehr im Detail, vielleicht verstehe ich nicht etwas in der Tiefe...

 
Aleksey Vyazmikin:

Interessanter Spruch. Allerdings werden nachfolgende Bäume gebaut, um den Fehler aus der bestehenden Baumzusammensetzung zu reduzieren, aber ich verstehe nicht, warum sie dann keine Stichproben verwenden, sagen Sie mir mehr im Detail, vielleicht übersehe ich etwas in der Tiefe...

Ja, um den Fehler zu reduzieren, nehmen sie genau den Fehler als Ziel und ziehen ihn dann ab.

Hier ist der Algorithmus des Boosting, ich studiere ihn gerade selbst https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1. Lineare Regression oder Entscheidungsbaum auf Daten setzen (hier Entscheidungsbaum im Code gewählt) [ x als Eingabe und y als Ausgabe aufrufen] (1-Baum auf Daten trainiert)

2. Berechnen Sie Fehlerfehler. Tatsächlicher Zielwert abzüglich des vorhergesagten Zielwerts [e1 = y - y_predicted1]

3. ein neues Modell für Ausreißer als Zielvariable mit denselben Eingangsvariablen festlegen [e1_predicted nennen] (2 und der Rest der Bäume werden auf Fehler trainiert)

4. Hinzufügen der vorhergesagten Ausreißer zu den vorherigen Vorhersagen
[y_prognose2 = y_prognose1 + e1_prognose]

5. Setzen Sie ein anderes Modell für die verbleibenden Fehler ein, d. h. [e2 = y - y_predicted2], und wiederholen Sie die Schritte 2 bis 5, bis sie zu stark angepasst sind oder die Summe konstant wird. Die Kontrolle der Überanpassung kann durch eine ständige Überprüfung der Genauigkeit der zu validierenden Daten erfolgen.


Ich verstehe, dass es sich um klassisches Boosten handelt. Vielleicht hat sich catbust etwas Eigenes einfallen lassen...

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...