用于分类/多类分类的梯度提升树的弱学习器

Posted

技术标签:

【中文标题】用于分类/多类分类的梯度提升树的弱学习器【英文标题】:Weak Learners of Gradient Boosting Tree for Classification/ Multiclass Classification 【发布时间】:2018-10-05 19:41:49 【问题描述】:

我是机器学习领域的初学者,我想学习如何使用 Gradient Boosting Tree (GBT) 进行多类分类。我已经阅读了一些关于 GBT 的文章,但是对于回归问题,我找不到关于 GBT 进行多类分类的正确解释。我还在 scikit-learn 库中检查 GBT 以进行机器学习。 GBT 的实现是 GradientBoostingClassifier,它使用回归树作为弱学习器进行多类分类。

GB 以前向阶段方式构建加法模型;它允许优化任意可微损失函数。在每个阶段,n_classes_ 回归树都适合二项式或多项式偏差损失函数的负梯度。二元分类是一种特殊情况,只诱导出一棵回归树。

来源:http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier

问题是,为什么我们使用回归树而不是分类树作为 GBT 的学习器?如果有人可以向我解释为什么使用回归树而不是分类树以及回归树如何进行分类,那将非常有帮助。谢谢

【问题讨论】:

如果答案有帮助,请接受(或提供反馈原因);回答占用了受访者宝贵的时间 - 谢谢 【参考方案1】:

您在这里解释的“回归”过于字面(作为数字预测),事实并非如此;请记住,分类是通过逻辑回归处理的。例如,请参阅您链接的文档页面中的丢失条目:

损失:‘deviance’, ‘exponential’,可选(默认=‘deviance’)

要优化的损失函数。 “偏差”是指概率输出分类的偏差(=逻辑回归)。对于损失,“指数”梯度提升恢复了 AdaBoost 算法。

因此,“分类树”只是带有loss='deviance' 的回归树...

【讨论】:

以上是关于用于分类/多类分类的梯度提升树的弱学习器的主要内容,如果未能解决你的问题,请参考以下文章

boost提升

GBDT —— 梯度提升决策树

GBDT:梯度提升决策树

机器学习之路:python 综合分类器 随机森林分类 梯度提升决策树分类 泰坦尼克号幸存者

梯度提升分类树原理推导(超级详细!)

xgboost通俗理解