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

 
阿列克谢-维亚兹米 金。

有趣的说法。然而,后续树的建立是为了减少现有树组成的误差,但我不明白为什么他们不使用抽样的话,请告诉我更多的细节,也许我不明白一些深层的东西......

你不是在那里通过对数字>1的提升树的原始数据进行检查的任何机会吗?如果是,那么结果应该是随机的,因为这些树不是从输入数据中学习,而是从错误中学习。因此,你正在解决一个树和它的叶子没有被训练来解决的问题。
如果这些树来自随机森林--那么它们都是在原始数据上训练出来的,你可以使用它们(但没有意义,因为就误差而言,1棵树强烈劣于森林)。在提升中--不,因为1棵树没有其他所有的树,就没有考虑的意义。

 
elibrarius

你是否有任何机会从数量>1的提升树的叶子,把输入数据喂给他们?如果是这样,结果应该是随机的,因为那些树不是在输入数据上训练的,而是在错误上训练的。因此,你正在解决一个树和它的叶子没有被训练来解决的问题。
如果这些树来自随机森林--那么它们都是在原始数据上训练出来的,你可以使用它们(但没有意义,因为就误差而言,1棵树强烈劣于森林)。在提升方面--没有,因为1棵树没有其他所有的树,考虑起来没有意义。

因此,这从提升的定义中可以看出,提升是一种连续的改进方法,每一个连续的算法都是为了弥补前一个算法的组成缺陷。
 
elibrarius:

是的,为了减少误差,他们以误差为目标,然后减去误差。

以下是提升的算法,我只是自己研究一下https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


我明白这是典型的助长行为。也许catbust已经发明了自己的东西...

请看这篇文章。是的,在我看来,确实建立了一棵树,应用于样本,并计算出实际目标和预测目标之间的delta,然后建立下一棵树以减少误差,即预测delta。但是,事实上,新的树是以同样的方式在同一样本上建立的,并且形成了新的和新的连接,也就是说,事实上只有目标发生了变化。但这种方法提供了一个机会,可以找到新的连接(叶子),这在随机森林 中是不明显的,这些连接取决于第一棵树,它取决于样本(这不是新闻),但CatBoost中的后续树将被构建为设定的迭代次数,或停止的标志,而这个标志是在测试样本中定义的。标志是模型质量的任何估计指标(有一个不同指标的清单)。我选择在指标上停止训练,因为我想同时在两个样本上得到改善,如果只在训练样本上,显然是过度训练。这就是为什么有一个关于样本量直接影响学习的问题,也就是说,如果连训练样本量都不变,那么测试样本量就会影响学习。


elibrarius:

你是否有任何机会,通过向他们提供原始数据,从数字>1的提升树的叶子?如果是这样,那么结果应该是随机的,因为那些树不是从原始数据中学习,而是从错误中学习。因此,你正在解决一个树和它的叶子没有被训练来解决的问题。
如果这些树来自随机森林--那么它们都是在原始数据上训练出来的,你可以使用它们(但没有意义,因为就误差而言,1棵树强烈劣于森林)。在提升方面--没有,因为1棵树没有其他所有的树,考虑起来没有意义。

说得好,我只是在准备一个研究树叶的平台(在catbust中,它更像是二叉树)。如果有非常多的树,结果可能可以忽略不计,但很可能有像样的链接,甚至在理论上,如果第一棵树的叶子有很大的错误,而第四棵树纠正了它的叶子的这个错误,那么事实上,新的链接会有逻辑意义,并且本身会对样本进行正确分类。从技术上讲,catbust有一个数组,里面有每个二叉树(叶子)的响应结果,然后这些响应被加起来,但诀窍是,每个样本行只有一小部分二叉树(叶子)给出了答案。因此,从理论上讲,有可能删除(清零)二元树(叶子),这些树的预测能力很低,因为它们要么是有初始误差的树,要么是小的配合(对事实进行再训练),只留下有显著值的叶子。另一个方向是利用这些连接来估计预测因子的重要性,如果在最终的数组中存在较大的权重,那么这些连接,也就是预测因子是重要的,其他的则被阈值筛选出来,认为不那么重要。如果我们进行这样的筛选,就可以先对比较重要的预测因子进行训练,然后再对不太重要的预测因子进行训练,这样应该可以改善训练结果,因为不太重要的预测因子不会妨碍构建比较稳定的关系,而只是在可能的情况下进行补充。

底线是,垃圾二叉树确实对拟合不感兴趣,而具有共同高权重的微观分析(2-3棵二叉树(叶))或单一二叉树也非常重要,可以单独用于分类。

不幸的是,我没有一个机制来拉动单个的二进制树(在正常的叶子意义上),并将其转换为一个正常的可读规则,所以一切都只是在理论上,但我愿意接受合作。

[删除]  
阿列克谢-维亚兹米 金。

不幸的是,我目前没有一个机制来拉动单个的二进制树(在正常理解的叶子),并将其转换为一个正常的可读规则,所以一切还只是在理论上,但我愿意合作。

那你如何在mt5中拉动模型?我想交易它或在测试器中运行它。我已经研究了很久,但我不知道,我应该使用Python并与mt5连接,还是使用katbust二进制。

 
马克西姆-德米特里耶夫斯基

你如何在mt5中绘制模型?在那里交易或在测试器中运行什么。我在想,什么是构建它的最佳方式,我还没有决定:是去用Python并将其连接到mt5,还是使用katbust二进制。

我将把一个C++的模型转换为MQL5--事实上,那里只取数组,而且在MQL中有这个模型的解释器(不是我的代码)。因此,模型在专家顾问中被加载,现在我可以通过文件加载数百个模型,并在终端查看它们,包括通过优化器的运行。

[删除]  
阿列克谢-维亚兹米 金。

我把一个C++的模型转换成了MQL5--事实上,那里只取了数组,而且在MQL中还有一个这个模型的解释器(代码不是我的)。相应地,这些模型被加载到Expert Advisor中,现在我可以通过一个文件加载数百个模型,并在终端观察它们,包括通过优化器运行它们。

好吧,这里要写一篇文章,有一些框架和想法(想法不应少于空间),需要什么帮助,或合作有什么帮助

我理解社会上存在分歧:有些人在撤资,有些人在泛化。例如,我就不同意这种做法,可能只是没有完全把握住这个想法。
 
马克西姆-德米特里耶夫斯基

好吧,这里有一篇文章要写,有一些框架和想法(这个想法应该不亚于宇宙),需要什么帮助,或者合作有什么。

我没有深厚的文章理论知识,我编造不同的概念,改变对既定现象的解释--这不是一种学术方法。

我认为该模型的解释器会很有趣,但我不能发表,因为代码不是我写的。

而任何留在理论上的东西,与不能应用的代码(因为封闭的类),我认为都不会有什么意思。而模型创建和选择的过程,我想都解决了,也就没有兴趣了。

 
马克西姆-德米特里耶夫斯基

我理解社会上存在分歧:有些人在撤资,有些人在泛化。我,不同意这种做法,也许我只是还没有完全掌握这个想法。

而且我不知道社区的情况,也就是说,我不知道其他领域的人是怎么做的?

拉取数据对我来说似乎是合乎逻辑的,因为我正在寻找一个借助MO的人类行为(或算法)的模型,可能有很多这样的行为模式,而且它们可能是独立的,所以尽可能多地拉取数据是有意义的,因为不可能把它们全部归纳在一起。而对某些人来说,市场是一个整体,是集体思想工作的结果,是某种没有规则的投票器官。 显然,对于这种情况,他们正在寻找一个模型,将市场行为 描述为一个独立的有机体。

 
阿列克谢-维亚兹米 金。

如果第一棵树在它自己的叶子里有一个很大的错误,而第四棵树在它自己的叶子里纠正了这个错误,那么实际上新的链接会有逻辑意义,并且它本身 会对样本进行正确分类。

我不确定,第四棵树用它的叶子纠正了第一棵树的错误。我认为只有在成对的情况下,它们才有意义。但我可能是错的。因为我还没有试验过这种东西。

 
elibrarius

我不确定,第四棵树用它的叶子纠正了第一棵树的错误。我认为只有在成对的情况下,它们才有意义。但我可能是错的。因为我没有试验过这种东西。

如果我们非常原始,第一棵树对样本没有反应,它的返回值为零,而第四棵树有这种反应,并认为 "概率 "为0.6--技术上我们纠正了第一棵树的错误,但事实上我们揭示了一个以前根本不存在的联系。即使我们假设所有的树都共享整个样本(显然不是这样),让它成为0.1而不是0,随后的树有0.5,这里的效果也是一样的。那里的概率并不完全是概率,只有在激活的二叉树的所有值加在一起之后,数组中的值才会被转换成类似于概率的东西。