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

 
mytarmailS #:

wie das?


und kann es wirklich eine Million Bedingungen erfüllen?

Nach dem Typ von x zu urteilen ist es Rcpp. In C++ kann man Arrays von Zeigern auf Funktionen erstellen, und es erfolgt ein sofortiger Aufruf der erforderlichen Funktion per Index, aber mit dem Schalter scheint es eine sequentielle Suche von Anfang an bis zur erforderlichen Variante zu sein. Natürlich bleibt das Problem der Generierung des Codes all dieser Funktionen bestehen und es ist nicht klar, wie das mit Rcpp funktionieren wird.

Über Zeiger auf Funktionen und ihre Arrays in C++.

C++ | Указатели на функции
  • metanit.com
Указатели на функции в языке программирования C++, определение и использование, массив указателей на функции
 
Aleksey Nikolayev #:
Theoretisch können Sie auch eine Reihe von Funktionen haben.

Was ist das? Wie eine Matrix und einen Interpreter zu erstellen?

 
Aleksey Vyazmikin #:

Ich kenne die R-Syntax nicht - habe gerade überprüft, dass es auch dort eine solche Möglichkeit gibt. Aber ja, es sieht so aus.

Es ist C++.

 
Aleksey Nikolayev #:

Nach dem Typ x zu urteilen, handelt es sich um Rcpp. In C++ kann man Arrays von Zeigern auf Funktionen erstellen, und es erfolgt ein sofortiger Aufruf der gewünschten Funktion nach Index, aber mit dem Schalter scheint es eine sequenzielle Suche vom Anfang bis zur gewünschten Variante zu sein. Natürlich bleibt das Problem der Generierung des Codes all dieser Funktionen bestehen, und es ist unklar, wie das mit Rcpp funktionieren wird.

Über Zeiger auf Funktionen und ihre Arrays in C++.

Und es scheint keine rohe Gewalt zu geben...

 
mytarmailS #:

dies ist C++

Deshalb habe ich den Vorbehalt gemacht.

Chat GPT bietet eine Art von Syntax wie diese

#  Создаем функцию, имитирующую оператор switch
my_switch <- function(x) {
  switch(x,
         case1 = {
           #  Действия, выполняемые при совпадении с "case1"
           print("Это case1")
         },
         case2 = {
           #  Действия, выполняемые при совпадении с "case2"
           print("Это case2")
         },
         default = {
           #  Действия по умолчанию, если нет совпадения с другими случаями
           print("Это default")
         }
  )
}
 
Aleksey Nikolayev #:

Nach dem Typ x zu urteilen, ist es rcpp.

Ja, das ist es.

Ich werde versuchen, es auf Geschwindigkeit zu testen

switch

Wenn es nicht klappt, werde ich mich mit

Zeiger auf Funktionen und ihre Arrays
 
Aleksey Vyazmikin #:

Und es scheint kein Overkill zu sein...

Vielleicht auch nicht, ich weiß es nicht mehr genau.
 
mytarmailS #:

Ja, das ist sie.

Ich werde versuchen, es auf Geschwindigkeit zu testen.

Wenn es nicht klappt, werde ich mich mit

Zeiger auf Funktionen und ihre Arrays
Wenn alle Funktionen linear sind, wie im Beispiel, können Sie einfach eine reguläre zweidimensionale Matrix von Koeffizienten verwenden. Sie können auch eine Volumenkompression durchführen, wenn die Matrix spärlich ist.
 
Maxim Dmitrievsky #:

Sanych sagte, dass es dort keine Extreme gäbe, und er hatte Recht.

Ja, Sanych schrieb, dass es dort keine Extrema gibt, und er lag falsch, denn jede Funktion hat Extrema.

Ein Extremum ist der Punkt, an dem eine Funktion den größten (maximalen) oder kleinsten (minimalen) Wert in einem bestimmten Intervall oder in einem bestimmten Bereich erreicht. Extrema können lokal sein, wenn die Funktion einen Extremwert nur in der Nähe eines Punktes erreicht, oder global, wenn die Funktion einen Extremwert über das gesamte gegebene Intervall oder in einem gegebenen Gebiet erreicht.

Extrema gibt es immer, auch wenn man nicht absichtlich danach sucht (die verwendeten Algorithmen übernehmen diese Suche für einen). Lernen ohne Optimierung ist unmöglich, und Optimierung ist unmöglich ohne korrekte FF-Zuweisungen. Wenn die Suche nach Extremen für Sie erledigt und versteckt ist (in den Algorithmus eingenäht), bedeutet das nicht, dass es sie nicht gibt (sowohl Extrema als auch Optimierung).
 
Aleksey Nikolayev #:
Wenn alle Funktionen linear sind, wie in diesem Beispiel, können Sie einfach eine reguläre zweidimensionale Koeffizientenmatrix verwenden. Sie können auch eine Volumenkompression durchführen, wenn die Matrix spärlich ist.

Nein, sie sind nicht linear, man muss viel komplexeren Code in jede Funktion packen...

In R ist das kein Problem, man kann machen, was man will, aber die Geschwindigkeit(((.

Ich suche nach einer Möglichkeit, das in C++ zu machen.