CatBoost论文笔记

1 简介

CatBoost ( “Categorical Boosting”)。

2017年就有了,不过本文是根据2019年的《CatBoost: unbiased boosting with categorical features》翻译总结的。

文中主要是将CatBoost与XGBoost和lightGBM比较。运行时间比XGBoost快,和lightGBM差不多,但准确率CatBoost比XGBoost和lightGBM高。我自己在实验中,感觉没那么容易获得更高的准确率,还得参数调优吧。

CatBoost采用了两个关键算法:一个是ordered boosting,一个是处理类别特征的算法。合起来叫ordered boosting with ordered TS(target statistics)。

CatBoost论文笔记_第1张图片

为了解决上面两个问题,我们引入了 ordering principle。

2 Categorical feature类别特征

类别特征是一个离散的集合。其中一个流行的处理方法是将类别特征转换成one-hot 编码。但是对于大基数的特征,如user-id特征,这种方法会不可行。为此,另一种方法是分组,其中一种是根据target statistics (TS)分组。

在lightGBM,中,类别特征是转换到梯度统计。(1)在梯度提升每一步,都计算每个类别特征的统计信息,非常花费时间;(2)也花内存消费,来存储哪个类别特征属于哪个节点(基于一个类别特征的分割)。
为了克服这些问题,lightGBM将类别特征分组到一个组合里,但这样会导致一部分信息丢失。

CatBoost将继续采用target statistics (TS)。

2.1 target statistics (TS)

CatBoost论文笔记_第2张图片

3 预测偏移(Prediction shift)和Ordered boosting

3.1 预测偏移(Prediction shift)

每一个决策树的公式:
在这里插入图片描述

理论1:当在每个梯度步骤使用独立的数据集,训练模型将是一个无偏的估计。但如果使用相同的数据集,将会遭受一个偏移,偏移大小是在这里插入图片描述

在这里插入图片描述

3.2 Ordered boosting

如果有无限的训练数据,我们可以很容易的构建此算法,即可以有无数个独立的训练数据集。但实际上训练数据是有限的。

CatBoost论文笔记_第3张图片

CatBoost论文笔记_第4张图片

3.3 Ordered boosting with categorical features

在这里插入图片描述

4.实验结果

如下表,第一列时CatBoost的结果,第2、3列分别是lightGBM、XGBoost相对于CatBoost增加的损失(logloss / zero-one loss)。即CatBoost损失最小,模型更优。

CatBoost论文笔记_第5张图片

你可能感兴趣的:(机器学习,算法,笔记)