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

 
mytarmailS #:
Ich habe nicht erfolgreich mit xgboost...
Oder besser gesagt, ich habe, aber das Training hat nicht funktioniert, müssen Sie gute Freunde mit Gradienten dort zu machen, müssen Sie die Fitness-Funktion Gradient zu machen, mit Genetik ist viel einfacher

Ja, das ist der knifflige Teil. Man muss den Gradienten und die Matrix der zweiten Ableitungen, die Hessian, berechnen. Die Hessian muss außerdem positiv definit sein.

Für den Gewinn ist die Hessian zum Beispiel entartet (gleich Null). Es ist notwendig, die Verlustfunktion irgendwie zu einem vernünftigen Kompromiss zwischen Bedarf und Notwendigkeit zu bringen.

 
Andrey Dik #:

1. mein Nachname wird nicht dekliniert
2. Die Frage ist nicht, ob sich das Globale ändert oder nicht (es wird sich zwangsläufig ändern), sondern ob es das globale Extremum überhaupt finden kann. Wenn es Ihnen egal ist, können Sie die Netzgewichte einfach mit Zufallszahlen initialisieren und das war's, denn welchen Unterschied macht es, ob es global ist oder nicht? lokal.))

1. Was den Nachnamen angeht, so werde ich ihn berücksichtigen. Sie sind die einzige Person, die ich mit einem solchen Nachnamen kenne.

2. ich möchte einwenden, dass wir die Idee nicht ad absurdum führen sollten, aber in Wirklichkeit ist es doch so: wir brauchen keine Optima - wir brauchen Plateaus, je umfangreicher, desto besser, je profitabler, desto besser. Und ein Extremum ist immer ein instabiler Zustand, aber wir brauchen einen stabilen Zustand, und zwar in der Zukunft. Daher stellt sich heraus, dass die Suche nach dem Optimum eine schädliche Aktivität ist.

Ich vertrete hier die Idee, dass die Stabilität des Gewinns in der Zukunft von den Eigenschaften der Prädiktoren abhängt und nur wenig vom Modell und noch weniger von den Optimierungsalgorithmen. Das heißt, ein völlig anderer Ansatz.

 
СанСаныч Фоменко #:

Was ich hier vorantreibe, ist die Idee, dass die Nachhaltigkeit der Gewinne in der Zukunft von den Eigenschaften der Prädiktoren abhängt und nur sehr wenig vom Modell und noch viel weniger von den Optimierungsalgorithmen. Das ist ein völlig anderer Ansatz.

Können Sie mir Ihr Beispiel schicken? Wir haben die gleiche Sichtweise auf das Problem des schlechten Modelllernens. Ich würde gerne vergleichen, inwieweit Ihre Auswahlmethode besser ist als meine und ob sie überhaupt zu Ihrer Stichprobe passt.

 
Was soll anstelle von logloss eingesetzt werden?
 
Aleksey Nikolayev #:

Ja, das ist der knifflige Teil. Sie müssen den Gradienten und die Matrix der zweiten Ableitungen - die Hessian - berechnen. Die Hessian muss ebenfalls positiv definit sein.

Für den Gewinn ist die Hessian zum Beispiel degeneriert (gleich Null). Es ist notwendig, die Verlustfunktion irgendwie zu einem vernünftigen Kompromiss zwischen Bedarf und Notwendigkeit zu bringen.

Soweit ich weiß, wird der Hessianhier überhaupt nicht berücksichtigt.

#  Custom objective function (squared error)
myobjective <- function(preds, dtrain) {
  labels <- getinfo(dtrain, "label")
  grad <- (preds-labels)    
  hess <- rep(1, length(labels))                
  return(list(grad = grad, hess = hess))
}

#  Custom Metric
evalerror <- function(preds, dtrain) {
  labels <- getinfo(dtrain, "label")
  err <- (preds-labels)^2        
  return(list(metric = "MyError", value = mean(err)))   
}

funktioniert nur, um den Gradienten zu reduzieren.

grad <- (preds-labels)   


Dies ist anders.

logregobj <- function(preds, dtrain) {
  labels <- getinfo(dtrain, "label")
  preds <- 1 / (1 + exp(-preds))
  grad <- preds - labels
  hess <- preds * (1 - preds)
  return(list(grad = grad, hess = hess))
}


Ich erinnere mich, dass ich große Schwierigkeiten damit hatte, also habe ich es aufgegeben.

Aber es wäre cool, meinen Körperbau zu trainieren).
 
СанСаныч Фоменко #:

In Wirklichkeit ist es aber so: Wir brauchen keine Optima - wir brauchen Plateaus, jeumfangreicher, desto besser, je profitabler, desto besser. Und ein Extremum ist immer ein instabiler Zustand, und die

Und die Funktion, die auswertet "wie viel Plateau/nicht Plateau" ist nicht die Suche nach dem Maximum ?

Und eine Funktion, die "je profitabler, desto besser" auswertet, ist keine Maximumsuche ?

Und die Funktion, die "je umfangreicher, desto besser" auswertet, ist keine Maximumsuche?

Und die Funktion, die "stabiler/unstabiler Zustand" auswertet, ist keine Maximumsuche?

Oder braucht man da auch ein Plateau? )))) Nun, dann siehe Punkt eins ))))

Ach diese profanen Leute ...



SanSanych Fomenko #:

Ich vertrete hier die Idee, dass die Nachhaltigkeit von Gewinnen in der Zukunft von den Eigenschaften der Prädiktoren abhängt und sehr wenig vom Modell und noch viel weniger von den Optimierungsalgorithmen. Das heißt, ein völlig anderer Ansatz.

Man sollte die Idee nicht aufdrängen, sondern sie beweisen oder zumindest rechtfertigen....

Hier gab es einen, der die Idee propagierte, dass Mashka das Beste ist, was es geben kann, und wozu das gut sein soll??????

 
Noch cooler wäre es, den fehlenden Körper einzubeziehen und darüber nachzudenken, welche Art von Beziehung den Gewinnfaktor zwischen Chips und Tags beschreiben könnte. Grob gesagt keine 🤤.
 
СанСаныч Фоменко #:

1. Ich werde den Nachnamen im Hinterkopf behalten. Sie sind die einzige Person mit diesem Nachnamen, die ich kenne.

2. ich möchte einwenden, dass wir die Idee nicht ad absurdum führen sollten, aber in Wirklichkeit ist es doch so: wir brauchen keine Optima - wir brauchen Plateaus, je umfangreicher, desto besser, je profitabler, desto besser. Und ein Extremum ist immer ein instabiler Zustand, aber wir brauchen einen stabilen Zustand, und zwar in der Zukunft. Es zeigt sich also, dass die Suche nach Optimums eine schädliche Beschäftigung ist.

Ich vertrete hier die Idee, dass die Stabilität des Gewinns in der Zukunft von den Eigenschaften der Prädiktoren abhängt und sehr wenig vom Modell und noch weniger von den Optimierungsalgorithmen. Das ist ein völlig anderer Ansatz.

1. v

2. hier ist eine Abbildung, wie eine Kurve einer hypothetischen Lernfunktion.

Sind Sie damit zufrieden, dass das Gitter am lokalen Extremum 1 aufhört? Oder vielleicht 2? Oder was, 3, etwa in der Mitte? Es ist also nicht im Voraus bekannt, wie viele lokale Extrema es gibt, es können 100500 oder noch mehr sein. Deshalb ist es wichtig zu versuchen, das höchste aller lokalen Extrema zu finden, das der Algorithmus erreichen kann.

 
Maxim Dmitrievsky #:
Was wird vorgeschlagen, um den Logloss zu ersetzen?

Wenn es eine Frage für mich ist, Gewinn oder ein vernünftiges Analogon davon. Gewinn - lassen Sie es vorerst einfach die Summe aller (close[i] - open[i])*prognos[i] sein, wobei prognos[i] die Vorhersage der Kerzenfarbe ist und 1 oder -1 ist. Für ein gutes Gradienten- und hessisches Verhalten muss es eventuell etwas modifiziert werden.

 
Aleksey Nikolayev #:

Wenn es eine Frage für mich ist, Gewinn oder ein vernünftiges Analogon davon. Gewinn - lassen Sie es für jetzt nur die Summe aller (close[i] - open[i])*prognos[i] sein, wobei prognos[i] die Vorhersage der Kerzenfarbe ist und 1 oder -1 ist. Für ein gutes Gradienten- und hessisches Verhalten muss sie möglicherweise etwas modifiziert werden.

In der Genetik nehmen wir Variablen und maximieren sie anhand eines Kriteriums. Das geht hier nicht, weil die Klassifizierung. Es gibt keine Beziehung zwischen dem Gewinn und den Klassenbezeichnungen. Im besten Fall erhält man nichts. Deshalb werden solche Kriterien in eval_metrics platziert
Grund der Beschwerde: