交易中的机器学习:理论、模型、实践和算法交易 - 页 3300

 
mytarmailS #:

这样吗?


它真的能应对一百万种情况吗?

从 x 的类型来看,它是 Rcpp。在 C++ 中,您可以创建指向函数的指针数组,然后根据索引立即调用所需的函数,但在开关中,似乎需要从头开始依次搜索所需的变量。当然,生成所有这些函数代码的问题依然存在,目前还不清楚如何与 Rcpp 配合使用。

关于 C++ 中指向函数及其数组的指针

C++ | Указатели на функции
  • metanit.com
Указатели на функции в языке программирования C++, определение и использование, массив указателей на функции
 
Aleksey Nikolayev #:
另外,从理论上讲,你可以拥有一个函数数组。

什么意思?就像制作一个矩阵和一个解释器?

 
Aleksey Vyazmikin #:

我不懂 R 语言语法,刚查了一下也有这种可能性。不过,看起来是这样的。

这是 C++。

 
Aleksey Nikolayev #:

从类型 x 来看,这是 Rcpp。在 C++ 中,您可以创建指向函数的指针数组,然后根据索引立即调用所需的函数,但在开关中,似乎要从头开始顺序搜索到所需的变体。当然,生成所有这些函数代码的问题依然存在,目前还不清楚如何与 Rcpp 配合使用。

关于 C++ 中指向函数及其数组的指针

似乎没有蛮力...

 
mytarmailS #:

这是 C++

这就是我提出警告的原因。

聊天 GPT 提供了某种类似下面的语法

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

从类型 x 来看,是 rcpp。

没错,就是它。

我会试着测试它的速度

switch

如果不行,我将深入研究

函数指针及其 数组
 
Aleksey Vyazmikin #:

而且似乎没有任何矫枉过正的地方...

也许没有,我记不清楚了。
 
mytarmailS #:

是的,就是这样。

我会试着测试它的速度。

如果不行,我将深入研究

函数指针及其 数组
如果所有函数都是线性的,就像例子中那样,你可以简单地使用一个普通的二维系数矩阵。如果矩阵稀疏,还可以进行体积压缩。
 
Maxim Dmitrievsky #:

Sanych 说那里没有极端,他是对的。

是的,桑尼奇写道那里没有极值,他错了,因为任何函数都有极值。

极值是函数在给定区间或给定区域内达到最大值(最大值)或最小值(最小值)的点。极值可以是局部的,即函数仅在某点的某个邻域达到极值;也可以是全局的,即函数在整个给定区间或给定区域内达到极值。

极值总是存在的,即使你没有刻意去寻找(你使用的算法会为你完成搜索操作)。没有优化的学习是不可能的,而没有正确的 FF 分配,优化也是不可能的。如果搜索极值的工作是为你完成的,而且是隐藏的(缝在算法中),这并不意味着它们不存在(极值和优化)。
 
Aleksey Nikolayev #:
如果所有函数都是线性的(如示例中),则只需使用常规的二维系数矩阵即可。如果矩阵稀疏,还可以进行体积压缩。

不,它们不是线性的,你应该在每个函数中加入更复杂的代码...

这在 R 中没有问题,你可以做任何你想做的事,但速度(((......)

我正在寻找一种用 C++ 来实现的方法。