XGBoost 的多类别分类是如何工作的?
How does XGBoost's multi-category classification work?
我想了解 XGBoost 中的多class class化是如何工作的。 Chen 和 Guestrin 的论文(2016,https://arxiv.org/abs/1603.02754)我已经看过了,但是细节我还是不太清楚:
假设我想为 3 类 classification 任务生成概率 classifier。如果我理解正确,XGBoost 将回归树拟合为 "weak learners" 或提升模型的组件。因此,如果将新的预测向量传递给 XGB 模型,回归树会产生一个实数值 "prediction",其(加权)组合是增强模型预测。
从 和论文中的文档,我了解到将 softmax 激活函数应用于增强模型预测(真实值?),并且树结构(例如分裂点)是通过将 softmax 应用于模型输出后优化交叉熵损失函数来确定。
我不清楚的是三个 class 概率是如何得到的。如果模型输出只是一个真实值(各个回归树输出的加权组合),softmax 函数的应用如何 return 3 概率?
我在 Python 和 R 中都使用 XGBoost 库,但这可能没有什么区别。
一个 XGBoost 模型中可以有多个子 GBDT 模型。具体来说,在multi-class class化的情况下,每个class.
有一个子GBDT模型
在预测过程中,XGBoost 模型评估所有子 GBDT 模型并获得原始提升分数的 n 元素数组。对这个数组应用 softmax 归一化,产生一个 n 元素的概率值数组。
您可以将 XGBoost 模型导出为 JSON 或 PMML 数据格式,以更详细地检查该机器。
我想了解 XGBoost 中的多class class化是如何工作的。 Chen 和 Guestrin 的论文(2016,https://arxiv.org/abs/1603.02754)我已经看过了,但是细节我还是不太清楚:
假设我想为 3 类 classification 任务生成概率 classifier。如果我理解正确,XGBoost 将回归树拟合为 "weak learners" 或提升模型的组件。因此,如果将新的预测向量传递给 XGB 模型,回归树会产生一个实数值 "prediction",其(加权)组合是增强模型预测。
从
我不清楚的是三个 class 概率是如何得到的。如果模型输出只是一个真实值(各个回归树输出的加权组合),softmax 函数的应用如何 return 3 概率?
我在 Python 和 R 中都使用 XGBoost 库,但这可能没有什么区别。
一个 XGBoost 模型中可以有多个子 GBDT 模型。具体来说,在multi-class class化的情况下,每个class.
有一个子GBDT模型在预测过程中,XGBoost 模型评估所有子 GBDT 模型并获得原始提升分数的 n 元素数组。对这个数组应用 softmax 归一化,产生一个 n 元素的概率值数组。
您可以将 XGBoost 模型导出为 JSON 或 PMML 数据格式,以更详细地检查该机器。