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

 
Forester #:
先生们你们是不是把话题搞混了? 阿列克谢的文章一小时前已经发表,请阅读。
我想我们已经从各个方面对他的量化问题进行了适时的讨论。我只能补充我之前说过的话,我为他感到高兴,因为这至少给他带来了 200 美元。
 
Aleksey Nikolayev #:
我想我们已经从各方面讨论了他在这段时间里的量化问题。我只能补充我之前说过的话,我为他感到高兴,因为这至少给他带来了 200 美元。

您的树枝?今天你发表了很多哲学和其他方面的离题杜撰(flud),你说什么是 "不尊重自己的原则"?
此外,康德和第欧根尼,或许还有亚里士多德和毕达哥拉斯,会怎么称呼一个通过羞辱、侮辱和贬低他人的美德和成就而获得快感的人?
 
Aleksey Nikolayev #:
我想我们已经从各方面讨论了他在这段时间里的量化问题。我只能补充我之前说过的话,我为他感到高兴,因为这至少给他带来了 200 美元。

谢谢,为自己的收入感到高兴是件好事,这很难得!

这篇文章是介绍性的--你说得没错,我在那里写的一切--我想,都很清楚。

第二部分是适度的,比较有趣。不过,目前我已经放弃描述我自己的方法,而是想出了一个简化版本,对测试产生了一点效果。它将在第二部分中介绍。

不过,这种情况下,新想法所占篇幅不会超过 5%。

如果你愿意,欢迎回来阅读和评论。

 
Andrey Dik #:

https:// www.mql5.com/ru/forum/309270
你的主题?今天你做了很多哲学和其他离题的思索(flud),你说什么是 "不尊重自己的原则"?
此外,康德和第欧根尼,或许还有亚里士多德和毕达哥拉斯,会怎么称呼一个通过羞辱、侮辱和贬低他人的美德和成就而获得快感的人?

我不知道你说的是哪一个第欧根尼,但就讥讽的意义而言,与西诺普的第欧根尼或拉尔提斯的第欧根尼相比,我们都是孩子。

如果你看一下我的主题、我在资源上的注册和今天的主题的日期,就会更清楚了。注册两年后,论坛上还有希望进行有建设性的有益对话,而六年半后,几乎已经没有希望了。只是为了好玩。

 
Aleksey Vyazmikin #:

给你,谢谢,能为自己的收入感到高兴真好--这可是很少见的!

这篇文章是介绍性的--你说得对,我在这里写的一切--我想已经足够清楚了。

第二部分还在修改中,它更有趣一些。不过,目前我已经放弃描述我自己的方法,而是想出了一个简化版本,对测试产生了一点效果。它将在第二部分中介绍。

不过,这种情况下,新想法所占篇幅不会超过 5%。

如果你愿意,欢迎回来阅读和评论。

感谢您的邀请。当然,我已经阅读了第一部分,也会阅读第二部分。如果您对文章有任何想法,我将与您分享。
 
Forester #:

为什么是随机的?
在一个类别的所有点中循环,测量与另一个类别的所有点的距离,取最小距离。
当得到所有的点后,排序,删除到你需要的距离,每次一对。如果被删除的点在另一对中使用过,则以新的最小距离找到一个新点,再次排序并继续。
也许你能想到更好的方法。也许不用排序,只需删除所需的距离。

唉,我想我没弄明白:

  1. 我们建立一个长度和宽度与样本中示例数量相同的距离矩阵。
  2. 我们再建立一个新矩阵,比方说二进制矩阵,其中的单位是符合 "最小距离 "标准的点。
  3. 根据我的理解,在这里我们需要计算有条件的岛中的点数(将各行中的单位相加),如果点数多于相邻岛的点数,并且点数在相邻岛之间分配,那么就将这些点分配到此类点数较多的那一堆(群组)中。确定这样或那样的点属于 #n 个点集合,然后将这些点归零到第二步的矩阵中。
  4. 继续归零,直到没有点为止。

我对算法原型的理解正确吗?

我之所以这么迟才回到这个话题,是因为我对 CatBoost 模型和其他树形集合中的叶子在激活时可能存在强相关性的想法有点着迷,这在训练过程中会扭曲它们的置信度,导致高估整个模型的叶子值。

 
Aleksey Vyazmikin #:

我想,我是有点迟钝:

  1. 我们建立一个距离矩阵--长度和宽度与样本中的示例数量大小相同。
  2. 我们建立一个新矩阵,比方说二进制矩阵,其中的单位是符合 "最小距离 "标准的点。
  3. 根据我的理解,这里我们需要计算条件岛中的点数(将各行中的单位相加),如果点数多于相邻岛中的点数,并且点数被划分到了相邻岛中,那么就将这些点分配到此类点数较多的一堆(群组)中。确定这样或那样的点属于 #n 个点集合,然后将这些点归零到第二步的矩阵中。
  4. 继续归零,直到没有剩下的点为止。

我对算法原型的理解正确吗?

我之所以迟迟没有回到这个话题,是因为我对 CatBoost 模型和其他树形集合中的叶子在激活过程中可能存在强相关性的想法有点着迷,这在训练过程中会扭曲它们的置信度,导致高估整个模型的叶子值。

聚类 与此无关。它只是去掉了最接近的不同类别的点,这些点相互矛盾,也就是噪音。然后你就可以通过聚类或树状模型来训练它--随你怎么做。

1) 您也可以使用矩阵,但不一定,而是立即找到 0 类的每个点与 1 类的最近点,即立即得到点 2。
3) 不要计算任何东西,也不要提及聚类,只需删除最接近的点对。在距离小于阈值的情况下,该示例中的阈值为 0.6。
如果被删除的 1 类点与另一个 0 类点配对,那么它就没有配对点了,它必须找到新的最接近的 1 类点(再次计算或使用矩阵,如您在第 1 点中所建议的,如果内存足够,我认为 100 万乘 100 万的矩阵不适合任何内存,最多可能是 10 万)。
4) 不是直到它仍然存在,而是直到阈值距离。如果距离非常大,那么最初较多的类中将只剩下 1 个点。

但正如我之前所写,我认为这种去噪方法并不好(见https://www.mql5.com/ru/forum/86386/page3324#comment_50171043)。在进行预测时,并不是不能去除噪声。这棵树本身就会对有噪声的树叶进行标记,将其概率定为大约 50%,而对非噪声树叶进行标记,将其中一个类别的概率定为大于 80%(或者你认为合适的概率)。

Машинное обучение в трейдинге: теория, модели, практика и алготорговля - На рыночных данных сигналы пропадают, потому что на новых данных сигналы выходят за узкий допустимый диапазон.
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - На рыночных данных сигналы пропадают, потому что на новых данных сигналы выходят за узкий допустимый диапазон.
  • 2023.10.26
  • www.mql5.com
если в работу использовать листья с высокой чистотой классов и не делить листья до 1 примера в листе. остальные как то достигли чистоты листьев например 70 - вроде неплохо. Препочитаю дерево и лист с честными 53 чистоты одного из классов
 
Forester #:
聚类 与此无关。它只是去掉了最近的具有不同类别、相互矛盾的点,也就是噪音。然后就可以使用聚类或树形--不管你想训练什么。 。

1) 您也可以使用矩阵,但不一定,而是立即找到 0 类中每个点与 1 类中最近的点,即立即得到点 2。
3) 不要计算任何东西,也不要提及聚类,只需删除最近的点对。在距离小于阈值的情况下,该示例中的阈值为 0.6。
如果被删除的 1 类点与另一个 0 类点配对,那么它就没有配对点了,它必须找到新的最接近的 1 类点(再次计算或使用矩阵,如您在第 1 点中所建议的,如果内存足够,我认为 100 万乘 100 万的矩阵不适合任何内存,最多可能是 10 万)。
4) 不是直到它仍然存在,而是直到阈值距离。如果距离非常大,那么最初较多的类中将只剩下 1 个点。

但正如我之前所写,我认为这种去噪方法并不好(见https://www.mql5.com/ru/forum/86386/page3324#comment_50171043)。在进行预测时,并不是不能去除噪声。这棵树本身就会对有噪声的树叶进行标记,将其概率定为大约 50%,而对非噪声树叶进行标记,将其中一个类别的概率定为大于 80%(或者你认为合适的概率)。

我还不太明白。好吧,这一切都发生在一个空间里--在一个预测因子的度量中,但如何考虑到其他的预测因子呢?

至于预测时要做什么--我在考虑使用两个模型--一个模型可以检测出被丢弃的数据或确认数据处于 "结块 "区域,另一个模型已经在处理剩下的数据了。

 
Aleksey Vyazmikin #:

我还没想明白。好吧,这一切都发生在一个空间里,即一个预测因子的度量中,但如何考虑到其他预测因子呢?

至于预测时该怎么做--我在考虑使用两个模型--一个模型 检测已消除的数据或确认数据处于 "成块 "区域,另一个模型 已经在处理剩下的数据。

https://www.mql5.com/ru/articles/9138

一年来无人问津

我已经写了十几二十种类似的算法,有些已经很成熟了。就结果的稳定性而言,文章中的算法并不是最好的,即第一个薄饼算法。

所以没什么好讨论的,因为还没有更好的。


Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов
Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов
  • www.mql5.com
Метамодели в машинном обучении: Автоматическое создание торговых систем практически без участия человека — Модель сама принимает решение как торговать и когда торговать.
 
我是 ML 的新手。我正在研究几个模型。上周出现了一个问题。没有一个模型保存在 ONNX((( 中。谁遇到过这个问题?
WARNING:tf2onnx.tf_loader:Could not search for non-variable resources. Concrete function internal representation may have changed.
ERROR:tf2onnx.tf_utils:pass1 convert failed for name: "model_3/lstm_4/PartitionedCall/while"
op: "StatelessWhile"
input: "model_3/lstm_4/PartitionedCall/while/loop_counter"
input: "model_3/lstm_4/PartitionedCall/while/maximum_iterations"
input: "model_3/lstm_4/PartitionedCall/time"
input: "model_3/lstm_4/PartitionedCall/TensorArrayV2_1"
input: "model_3/lstm_4/zeros"
input: "model_3/lstm_4/zeros_1"
input: "model_3/lstm_4/PartitionedCall/strided_slice"
input: "model_3/lstm_4/PartitionedCall/TensorArrayUnstack/TensorListFromTensor"
input: "Func/model_3/lstm_4/PartitionedCall/input/_3"
input: "Func/model_3/lstm_4/PartitionedCall/input/_4"
input: "Func/model_3/lstm_4/PartitionedCall/input/_5"
attr {
  key: "T"
  value {
    list {
      type: DT_INT32
      type: DT_INT32
      type: DT_INT32
      type: DT_VARIANT
      type: DT_FLOAT
      type: DT_FLOAT
      type: DT_INT32
      type: DT_VARIANT
      type: DT_FLOAT
      type: DT_FLOAT
      type: DT_FLOAT
    }
  }
}
attr {
  key: "_lower_using_switch_merge"
  value {
    b: false
  }
}
attr {
  key: "_num_original_outputs"
  value {
    i: 11
  }
}
attr {
  key: "_read_only_resource_inputs"
  value {
    list {
    }
  }
}
attr {
  key: "body"
  value {
    func {
      name: "while_body_149241"
    }
  }
}
attr {
  key: "cond"
  value {
    func {
      name: "while_cond_149240"
    }
  }
}
attr {
  key: "output_shapes"
  value {
    list {
      shape {
      }
      shape {
      }
      shape {
      }
      shape {
      }
      shape {
        dim {
          size: -1
        }
        dim {
          size: 128
        }
      }
      shape {
        dim {
          size: -1
        }
        dim {
          size: 128
        }
      }
      shape {
      }
      shape {
      }
      shape {
        dim {
          size: 1
        }
        dim {
          size: 512
        }
      }
      shape {
        dim {
          size: 128
        }
        dim {
          size: 512
        }
      }
      shape {
        dim {
          size: 512
        }
      }
    }
  }
}
attr {
  key: "parallel_iterations"
  value {
    i: 32
  }
}
, ex=Could not infer attribute `_read_only_resource_inputs` type from empty iterator
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-50 ef5b7ad3f4> in <cell line: 87>()
     85 
     86 # Преобразовать Keras-модель в ONNX формат
---> 87 onnx_model = tf2onnx.convert.from_keras(model)
     88 
     89 # Сохранить модель в формате ONNX

8 frames
/usr/local/lib/python3.10/dist-packages/onnx/helper.py in make_attribute(key, value, doc_string, attr_type)
    874         value = list(value)
    875         if len(value) == 0 and attr_type is None:
--> 876             raise ValueError(
    877                 f"Could not infer attribute `{key}` type from empty iterator"
    878             )

ValueError: Could not infer attribute `_read_only_resource_inputs` type from empty iterator