为什么xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/programmingfool5/article/details/82381657

链接:https://www.zhihu.com/question/45487317/answer/99153174 来源:知乎

这个问题很好,回答的也很好。让我重新以统计学来认知两个重点的集成学习方法:
一句话的解释,来自周志华老师的机器学习教科书( 机器学习-周志华):

  • Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成,比如GBDT在后续的子树的学习过程会修正前面的误差;
  • Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等学习器上效用更为明显。
  • 随机森林(random forest)和GBDT都是属于集成学习(ensemble learning)的范畴。集成学习下有两个重要的策略Bagging和Boosting。
  • Boosting的意思是这样,他通过迭代地训练一系列的分类器,每个分类器采用的样本分布都和上一轮的学习结果有关。其代表算法是AdaBoost, GBDT。
  • 其实就机器学习算法来说,其泛化误差可以分解为两部分,偏差(bias)和方差(variance)。这个可由下图的式子导出(这里用到了概率论公式D(X)=E(X^2)-[E(X)]^2)。偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。这个有点儿绕,不过你一定知道过拟合。高方差的模型会趋向于过拟合,记住了太多的噪音。

猜你喜欢

转载自blog.csdn.net/programmingfool5/article/details/82381657