在研究 xgboost 算法时,我浏览了文档。
听说xgboost不太关心输入特征的规模
在这种方法中,使用复杂度定义 对树进行正则化 ,其中和是参数,是终端叶子和是每个叶子的分数。
那么,在输入 xgboost 之前扩展功能不是很重要吗?成本函数正则化部分中的项直接受特征规模的影响
在研究 xgboost 算法时,我浏览了文档。
听说xgboost不太关心输入特征的规模
在这种方法中,使用复杂度定义 对树进行正则化 ,其中和是参数,是终端叶子和是每个叶子的分数。
那么,在输入 xgboost 之前扩展功能不是很重要吗?成本函数正则化部分中的项直接受特征规模的影响
XGBoost 对其特征的单调变换不敏感,原因与决策树和随机森林不敏感的原因相同:模型只需要在特征上选择“切点”来分割节点。拆分对单调变换不敏感:在一个尺度上定义拆分在变换后的尺度上具有相应的拆分。
您的困惑源于误解。在“模型复杂性”一节中,作者写道
这里是叶子上的分数向量......
分数衡量叶子的重量。请参阅“树合奏”部分中的图表;作者将叶子下方的数字标记为“分数”。
表达式之前的段落中也更精确地定义了分数:
我们需要定义树的复杂度。为此,我们首先将树的定义细化为 这里是叶子上的分数向量,是将每个数据点分配给相应叶子的函数,是叶子的数量。
这个表达式的意思是是的分区函数,而是与每个分区相关的权重。分区可以通过坐标对齐的拆分来完成,而坐标对齐的拆分是决策树。
的含义是它是一个选择的“权重”,使得有新树的集合的损失低于没有新树的集合的损失。这在文档的“结构分数”部分中进行了描述。的分数由下式给出
其中和是损失函数的偏导数的函数之和,个叶子中样本的(详见“附加训练”。)