Machine Learning techniques are widely used today for many different tasks. Different types of data require different methods. Yandex relies on Gradient Boosting to power many of our market-leading products and services including search, music streaming, ride-hailing, self-driving cars, weather prediction, machine translation, and our...
最好问问开发人员
我不喜欢看视频,因为要得到某个具体问题的答案,你得听一大堆废话,而且还不一定能找到答案。当然,我也阅读过开发人员的文字介绍文档,但其中关于根据直方图选择细分的细微差别,他们却优雅地 "跳过 "了,尽管其他内容都相当详尽。
树的构建是相互独立的,然后在树叶中进行计数(对去趋势预测因子进行枚举),从而减少梯度误差。
在为树的构建和树的拆分选择预测因子时,会使用随机系数,这在理论上可以提高完整性(Recall)并防止过度训练。
这些都没有回答问题。
例如,有一个页面 - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
上面有这样一句话
现在寻找最佳拆分只是计算直方图,如图 6 所示。
这就产生了一个问题:直方图的计算很清楚,但计算之后如何获得 "最佳分割 "呢?无论用什么术语:一般词语、伪代码、公式。
这些都没有回答问题。
例如,有一个网页 - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
上面说
这就是问题所在:直方图的计算很清楚,但之后如何获得 "最佳分割"?无论用什么术语:一般词语、伪代码、公式。
通过按列拆分数据,我们可以计算出左右两边的区块因另一类别的杂质而变得更干净的程度。
在所有列的所有分割中,选择纯度最高的一个。(有时也称为杂质减少。)
有不同的清洁度/杂质公式,有一种是同时提高两个区块的清洁度,有一种是尽可能提高一个区块的清洁度。
最干净的划分是左边只留下一类的例子,右边只留下另一类的例子。
随机抽样比常数好在哪里?
随着时间的推移,你可以得到不同的交易次数、不同的交易组合。
我最初这样做是为了强制执行。
真有趣,我还以为如果期望值这么低,那它就是测试者的圣杯。我在 Saber 上用自定义符号 运行了一下,结果几乎一样。
检查了 17,同样的上升趋势,它正在流失。
这是历史上的幸运事件,还是过去几年也能得到这样的结果?我知道它在测试中输了,但那是一个完全不同的市场。
这就是问题所在:直方图的计算很清楚,但之后如何获得 "最佳分割"?无论用什么术语:一般词语、伪代码、公式。
我假设我们对每个分割进行计算,然后对范围求和,得到一个矩阵,从中选出最大值--即分割精度。
一般来说,他们的代码是开放的,如果你很了解 C++,你可以把细节告诉每一个感兴趣的人!
马克西姆,谢谢你的文章!
交叉验证有影响吗?
你是否尝试过从一百个不同时期的混合数据中提取不同的回报?