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

 

Es gab eine neuere Vorlesung über Boosting (in Python mit catbust als Option) mit demselben Dozenten - ich kann sie nicht finden


 
Aleksey Vyazmikin:

Catbust bietet mehr Anpassungsmöglichkeiten und ist eine Erweiterung der XGBoost-Idee. Der Hauptvor- und -nachteil besteht darin, dass es Bäume mit fester Dimension hat, die ein erneutes Training verhindern, wenn die Anzahl der Bäume nicht groß ist.

....

Das ist eine rein technische Frage. Angenommen, wir haben 3 Prädiktoren - x1, x2, x3. Wir wissen auch, dass x1-x2, x1-x3, x2-x3 ebenfalls Prädiktoren sind und Bedingungen erzeugen. Soweit ich mit Bäumen vertraut bin, sollten diese zusätzlichen Prädiktoren auch in das Modell einfließen.

Aber der Fall ist etwas schlimmer, die Prädiktoren sind etwa a11*x1-b2*x2, a12*x1-a3*x2, usw., wodurch so etwas wie Gleichungssysteme entstehen. Die Koeffizienten kenne ich natürlich nicht. Es sind auch komplexere Kombinationen von Prädiktoren möglich, die hier nur als Beispiel genannt werden.

NS kann mit solchen Dingen umgehen (lineare Kombinationen von Prädiktoren und sogar nichtlineare), und ich muss mir keine Gedanken machen, also gebe ich nur x1, x2 und x3 ein, ohne mich darum zu kümmern.

Was ist in solchen Fällen mit Bäumen zu tun? Ich konnte zu diesem Thema nichts wirklich Eindeutiges finden. Oder werden es die Bäume von selbst tun?

 

CatBoost Masterclass - es gibt Links zum Herunterladen des Codes im Video, um in Python zu arbeiten


 
Yuriy Asaulenko:

Eine rein technische Frage. Angenommen, wir haben 3 Prädiktoren - x1, x2, x3. Wir wissen auch, dass x1-x2, x1-x3, x2-x3 ebenfalls Prädiktoren sind. Soweit ich mit Bäumen vertraut bin, sollten diese zusätzlichen Prädiktoren auch in das Modell einfließen.

Aber der Fall ist etwas schlimmer, die Prädiktoren sind etwa a11*x1-b2*x2, a12*x1-a3*x2, usw. Ich kenne die Koeffizienten natürlich nicht. Es sind komplexere Kombinationen von Prädiktoren möglich, die hier nur als Beispiel genannt werden.

NS kommt mit solchen Dingen zurecht (lineare Kombinationen von Prädiktoren), und ich muss mir nichts einfallen lassen, und wir geben nur x1, x2 und x3 in die Eingänge ein, ohne uns die Mühe zu machen.

Was ist in solchen Fällen mit Bäumen zu tun? Ich konnte zu diesem Thema nichts wirklich Eindeutiges finden. Oder können das die Bäume selbst tun?

Theoretisch kann ein Baum eine Funktion beschreiben, aber er erhält einen Abschnitt mit Koeffizienten (x), die, wenn sie geändert werden, aber die Funktion selbst nicht so wirksam sein wird, weil sie das Ereignisfeld mit Konstanten speichert. Das sind meine Gedanken, vielleicht liege ich falsch. Für solche Probleme ist es besser, NS zu verwenden und dem Baum eine fertige Antwort der Funktion zu geben, die die Logik der Interpretation nicht ändert, wenn sich die Argumente der Funktion ändern. Daher ist es besser, dem Baum eine begrenzte Anzahl von Argumenten zu geben.

Allein die Änderung dieser X-Werte führt dazu, dass das Modell neu trainiert werden muss.

Wenn die Argumente der Funktion in einem bekannten Bereich liegen, der durch die Trainingsstichprobe repräsentiert wird, dann sollte der Baum im Allgemeinen seine Aufgabe erfüllen. Es handelt sich jedoch um eine Regressionsaufgabe und nicht um eine Klassifizierungsaufgabe.
 
Aleksey Vyazmikin:

Theoretisch könnte der Baum eine Funktion beschreiben, aber er würde sich als ein Diagramm mit Koeffizienten (x) entpuppen, das, wenn es geändert wird, aber die Funktion selbst erhalten bleibt, nicht mehr so effizient wäre, weil es sich an das Ereignisfeld mit Konstanten erinnert. Das sind meine Gedanken, vielleicht liege ich falsch. Für solche Probleme ist es besser, NS zu verwenden und dem Baum eine fertige Antwort der Funktion zu geben, die die Logik der Interpretation nicht ändert, wenn sich die Argumente der Funktion ändern. Daher ist es besser, dem Baum eine begrenzte Anzahl von Argumenten zu geben.

Schon eine Änderung dieser X-Werte führt dazu, dass das Modell neu trainiert werden muss.

Mit NS arbeite ich, sie sind verständlich. Das Schöne an Bäumen ist, dass sie eine Logik wie if...then.... was im Allgemeinen notwendig ist - die Ausgabe sollte eine Ja/Nein-Entscheidung sein. Aber es sieht so aus, als könnten Bäume nicht einmal mit dieser Art von Logik umgehen, selbst wenn wir ihnen all diese Dinge als Eingabe geben.

Сs11=PredTraid==[] and Stoch[0][i] > Stoch[1][i]+0.3 and Stoch[0][i-1] <= Stoch[1][i-1]
 
Yuriy Asaulenko:

Ich arbeite mit NS, ich verstehe sie. Der Reiz von Bäumen besteht darin, dass sie eine Logik wie if...then.... was im Allgemeinen auch notwendig ist - die Ausgabe sollte eine Ja/Nein-Entscheidung sein. Aber es scheint, dass Bäume mit einer solchen Logik nicht mehr zurechtkommen, selbst wenn wir ihnen all dies als Input geben.

Wir sollten sie eingeben und sehen - Proben machen und überprüfen.

 
Aleksey Vyazmikin:

Wir müssen einreichen und sehen - einige Stichproben machen und es überprüfen.

Nein, ein unglückliches Beispiel. Dieser hier reicht aus).

 
Yuriy Asaulenko:

Nein, ein unglückliches Beispiel. Es kann gehandhabt werden).

Natürlich kann er damit umgehen, aber der NS verwendet Neuronen, um Formeln zu erhalten, während Bäume nur die Interpretation der Berechnungsergebnisse erhalten. Ich denke, wenn wir ein primitives Objekt zeichnen, das schwer mit einer Funktion zu beschreiben ist, z. B. ein Haus aus einer Kinderzeichnung, würde es sehr lange dauern, bis NS es findet, während der Baum schnell die Koordinaten dieses Objekts bestimmen und sie einfach in Vektoren umwandeln würde. Wenn Sie jedoch den Maßstab ändern, kann der Baum dieses Haus nicht erkennen, aber der NS sollte es können.

 
Aleksey Vyazmikin:

CatBoost Masterclass - es gibt Links zum Herunterladen des Codes im Video, um in Python zu arbeiten


Das ist gut, gut erklärt.

 
Maxim Dmitrievsky:

gut, gut erklärt

Ja, die Grundeinstellungen sind gut vorgegeben, vor allem wenn man gleich mit Python anfängt. Aber das reicht mir nicht aus.

Grund der Beschwerde: