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

 
没有人在讨论什么,你跳进了关于模型复杂性的对话,或者对一个帖子做出了反应,所以你被称为优化者。
 
Maxim Dmitrievsky #:
没有人讨论过任何事情,你介入了关于模型复杂性的对话,或者对一个帖子做出了反应,所以你被称为优化者。

就是这样,马克西姆。没有必要再讨论下去了,大家都已经发现了一切。桑尼奇在这里看着,他和我争论了几个世纪,说寻找全局是有害的,我回答说 "取决于什么样的全局",桑尼奇还不明白他最终是在寻找全局。

我希望讨论能回到平静、友好和建设性的方向上来。

每个经常阅读本主题的人都要记住谁在何时何地说过什么,不要把无意识包括在内--那是没有用的。我今天犯了一个错误--我画错了图表,我冷静地承认了错误并说了出来。承认错误是正常的,马克西姆。

 
Andrey Dik #:

为什么不呢?是啊,我并没有什么不同的想法,只是很多人出于某种原因不喜欢用正确的名字称呼事物。

至于什么时候停止学习,那是方法论的选择问题,我只是想强调,在没有检测到全球极值的情况下,停止学习是不可能的(好吧,或者说强行停止学习,这没有实际意义)。

我只是看到了对手的误解--之前有一场关于优化的对话,测试仪中的过度拟合和训练模型是两码事。只是在机器学习中,预测因子的选择过程通常是一项单独的任务,而在终端测试仪中,你往往可以改变这些预测因子的读数--这里一个简单的例子就是搜索指标设置,但同时在测试仪中,你可以使用变量来处理这些指标的值--移动阈值、比较规则、具有不同逻辑意义的系数。

因此,在没有看到 Expert Advisor 代码的情况下,我们无法明确地知道优化过程是怎样的--创建规则或搜索与固定规则配合使用效果更好的预测器,还是两者兼而有之。因此,在我看来,整个争论都是围绕这个话题展开的。

马克西姆认为,这并不是在跟老师学习,因为标记逻辑可能缺失,而且情况也不相似,这使得学习过程变得复杂。这也是对的,本质上我们有许多不同的类,它们根据好恶被归类在一起,但彼此的属性可能并不相似。早些时候,我提出了一种通过增量学习逐渐剔除此类数据的方法,即使用训练有素的模型隔离初始样本中不存在矛盾的部分,然后在剩余数据上进行训练。这并不是唯一的解决方案。这个话题确实值得关注。

关于停止标准--当然,在这里,你可以选择你的标准并寻找其最佳值,这取决于在模型的响应中什么是更优先的。不过,这并不一定是机器学习中的一个标准--有时你可以只设定一个固定的迭代次数--也就是说,你可以在没有这个标准的情况下进行训练。问题总是不同的,即如何选择一个能在新数据上工作的模型。最好是寻找能够回答这个问题的标准。

 
Andrey Dik #:


因此,机器学习中的学习可以被看作是一种优化,其目标是找到能使损失函数最小并实现最佳模型性能的模型参数组合。
我不同意。这只是 MOE 的一小部分。变压器,MO中的因果学习绝对不是一般意义上的优化。
 
Andrey Dik #:

中奖了

现在你终于意识到,任何学习都不过是寻找全局极值的优化过程。也许你还没有意识到,但你会意识到的。

不可能不是这样,你总是需要一个明确的标准来停止学习,而这个标准总是被设计成一个全局极值。通常会设计一个积分标准(并非总是如此)。你称之为积分标准。

我一直认为,在函数中寻找极值属于函数分析,就像开发算法可以称为优化一样。毕竟,我们是根据某些标准来选择最佳算法的)。
 
哦,这些术语及其释义))))))
这就像某种神圣的商业)))))
 

Python 中的神经元问题是一幅美丽的宏观统计图片。一旦你开始解析它们,就会发现神经元变成了移动平均线--它接近预测价格,但猜不出方向。方向的猜测各占一半,因此不可能在这些神经元上进行交易。

我尝试了这里的文章,通过 ChatGPT,我们收集了 3 层中的 10 000 个神经元,或 10 层中的 1000 个神经元,或 1 层中的 100 000 个神经元(我的 RTX 3080 完全堵塞,如果你需要更多 - python 写道内存不足),以及 RNN、LSTM、CNN、CNN-LSTM、CNN-BiLSTM、CNN-BiLSTM-MLP(带两个调节和 dropout)和 Q-learning。只有 DQN 失败了,Chat 写了几页 Actor-Critic 的代码,但结果发现代码有 Bug,我和 Chat 都无法修复。

所有的代码都不起作用。结果到处都一样--变成了移动平均线。我输入了 "向神经网络输入什么 "主题中所有可能的内容,还输入了很多其他内容。

而我现在正在厨房切洋葱,YouTube 正在播放背景音乐,并向某个卷发家伙推荐,他正准备构建一个预测价格的神经网络。

于是他打开 Google-collab 开始编写 Python 代码(我想应该是 Python)。如果我没记错的话,他把当天比特币的收盘价写了进去。训练它。检查它。在这里,我擦了擦眼睛,开始查看结果。

结果如下:预测的价格紧跟实际价格,但是......有一个方向性的猜测。因此,假设价格为 35000,预测价格为 37500,实际价格为 37100。下一步:预测 35700,实际 35300。预测值 34000,实际值 - 35000。以此类推。他写了一个网络,它预测的不是下一个价格,而是 12 个,我想是一排的下一个价格。在这里,每一步的方向都是一致的。


问题:真的可以用 Python 写出这样的东西吗?

 
Andrey Dik #:

够了,马克西姆。再讨论下去已经没有意义了,一切都已经被发现了。这里,这里附近和桑尼奇观察到的,自古以来就与我争论的,比如说,全球搜索是有害的,我回答说 "取决于什么全球",而桑尼奇也还没有意识到,归根结底是在寻找一个全球。

我希望讨论能回到平静、友好和建设性的方向上来。

每个经常阅读本主题的人都要记住谁在何时何地说过什么,不要把无意识包括在内--那是没有用的。我今天犯了一个错误--我画错了图表,我冷静地承认了错误并说了出来。承认错误是正常的,马克西姆。

别为了我承认错误。

我们讨论的是测试人员,而不是 MO。

在 MO 中,他们不是在寻找最佳值,而是在追踪、测试和验证中寻找错误的巧合。然后,他们再在一个文件上逐步运行。每个地方都应该有大致相同的错误。

这里没有优化的余地。

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

别为我这么做

讨论的是测试人员,而不是测试方法。

在 MO 中,他们不是在寻找最佳值,而是在跟踪、测试和验证过程中寻找错误的巧合。然后再在一个文件上逐步运行。 各处的错误应该大致相同

这里没有优化的余地。

红色是优化,在你的情况下,听起来像是 "减少方差 "或 "设置给定值的固定方差",这取决于你在做什么。)

 
Andrey Dik #:

红色是优化,在你的情况中,听起来像是 "减少方差 "或 "将给定值的方差固定",这取决于你在做什么。)

不知何故,您没有读懂这段文字。

优化(?)只可能在训练模型的轨迹上进行。训练时有一个算法,你可以用放大镜看到优化过程。然后对这个模型进行测试,测试结果与 "优化 "没有任何反馈,因为模型中没有任何参数会影响测试结果。要对结果产生影响,就必须对预测因子和/或教师做些什么。

在 MOE 中,即预处理、模型拟合和模型估计中,不可能有优化,因为产生的误差是这三个步骤的属性。