了解 CatBoost 有序提升

问题描述

在视频中 Anna Veronika Dorogush - CatBoost - the new generation of Gradient Boosting

她在 15:30 分钟谈到“对象”。她究竟是什么意思?特征?列?行?

经典和有序提升之间究竟有什么区别?经典只是将所有决策树加起来吗? 有序是否只使用之前随机分布的决策树并将它们相加?所以区别只是随机分布?

我希望有人能帮助我,因为我很难理解这一点。

解决方法

据我了解,她在视频中提到的“对象”是数据集的数据点/实例。 catboost 论文中提到的经典 boosting 问题是预测偏移。也就是说,模型在训练集中学到的东西不会反映在测试集中。他们说问题的根源在于训练阶段的每棵树都是在同一组数据点上训练的,因此没有机会遇到看不见的数据。

对于有序提升,一棵树在数据集的一个子集上进行训练,并用于计算另一个它没有见过的子集的残差。 Catboost 通过创建人工时间(即数据的随机排列)来获得这一点。

假设您有 0 到 9 的十个数据点。Catboost 将创建一个包含 5,2,1,3,6,4,9,7,8 的排列(这只是我来的任意排列) up with),然后在 5,3 上训练模型,然后用于计算 6,8 的残差。

这只是我个人的理解,并不是说100%正确。 欢迎提出任何意见和更正。