📢 转载信息
原文链接:https://machinelearningmastery.com/why-decision-trees-fail-and-how-to-fix-them/
原文作者:Jason Brownlee
决策树是机器学习中一种非常有用且易于理解的模型。它们在许多场景中表现出色,但也有一些固有的局限性。
本文将探讨决策树的三大主要弱点,并介绍如何使用集成学习方法来克服这些弱点。
决策树的局限性
决策树模型存在一些固有的局限性,这使得它们在某些数据集上表现不佳或不够稳定。
1. 决策树容易过拟合(Overfitting)
决策树的一个主要缺点是它们容易对训练数据产生过拟合。这意味着模型在训练数据上表现完美,但在未见过的新数据上表现不佳。
当决策树被允许完全生长以完美拟合训练数据时,它们会创建非常复杂且细致的决策边界,这些边界过度捕捉了训练数据中的噪声和异常值。
这就像为每个训练样本制作了一个专门的规则,而不是学习数据中的潜在、可泛化的模式。
修复方法:
- 预剪枝(Pre-pruning):在构建树的过程中限制其生长,例如设置最大深度或最小叶子节点样本数。
- 后剪枝(Post-pruning):先构建完整的树,然后移除或合并那些对泛化性能提升不大的分支。
2. 对数据中的微小变化敏感(Instability)
决策树对训练数据中的微小变化非常敏感,这被称为模型的不稳定性(instability)。
例如,如果你从训练数据集中删除或添加少数几个样本,或者对现有样本的特征值进行微小扰动,构建出的最优决策树可能会完全不同。这种变化可能导致决策边界的巨大差异。
这种高方差特性使得单一决策树的预测结果缺乏可靠性。
修复方法:
- 集成学习(Ensemble Methods):通过结合多个决策树(例如随机森林)的预测,可以平均掉单个树的方差,从而极大地提高模型的整体稳定性。
3. 决策树难以捕捉复杂非线性关系
决策树通过轴平行(axis-parallel)的分割进行决策。这意味着它们只能创建水平或垂直的决策边界。
在特征空间中,这些边界形成一系列的矩形区域来近似决策边界。
当真实决策边界是倾斜的或更复杂的(例如,由两个特征的线性组合定义)时,决策树需要使用许多轴平行的分割才能逼近这个边界,这使得模型变得非常庞大且效率低下。
例如,如果类别边界是一条倾斜的直线,单个决策树需要通过大量的阶梯状分割来模仿这条直线,而逻辑回归等线性模型可以更简洁地表示。
修复方法:
- 使用集成树模型:集成方法,尤其是那些侧重于残差学习的(如梯度提升),可以更有效地逼近复杂的、倾斜的或非线性的决策边界。
修复决策树弱点的集成学习方法
集成学习的出现极大地改善了决策树的性能,使其成为目前最强大的机器学习算法之一。
集成方法的核心思想是结合多个“弱学习器”(通常是决策树)的预测,以创建一个更强大、更准确的“强学习器”。
我们主要关注两种主要的集成方法:Bagging(如随机森林)和Boosting(如梯度提升)。
1. Bagging:随机森林(Random Forest)
随机森林是基于Bagging(Bootstrap Aggregating,自助聚集)原理的集成方法,它旨在解决决策树的不稳定性(高方差)问题。
随机森林通过以下机制构建多棵树,并取它们的平均值(或多数投票):
- Bootstrap 采样:从原始训练集中进行有放回的随机抽样,为每棵树生成略有不同的训练子集。
- 特征随机性:在构建每棵树的每个节点时,只考虑特征的一个随机子集进行最佳分割。
这种双重随机性(数据和特征)确保了树之间具有较大的多样性(decorrelation),从而显著降低了集成模型的整体方差,同时基本保持了模型的低偏差。
2. Boosting:梯度提升(Gradient Boosting)
梯度提升(例如,Gradient Boosting Machines, GBM,以及其变体如XGBoost、LightGBM)旨在解决决策树的偏差(bias)问题,并通过迭代过程不断优化模型。
Boosting 方法顺序地构建树,每一棵新树都尝试纠正前一棵树的残差(residuals)或错误。
- 迭代学习:算法从一个简单的初始预测(如所有样本的平均值)开始。
- 拟合残差:在每一步,模型会训练一棵新的决策树来预测当前模型的预测误差(残差)。
- 模型更新:将新树的预测(通常乘以一个较小的学习率)加到前一个模型的预测上,以降低整体误差。
由于Boosted树是连续修正前一个模型的不足,它们通常能达到非常低的偏差,尤其擅长捕捉复杂的数据结构和非线性关系,尽管它们对噪声的鲁棒性不如随机森林。
总结
决策树因其易于解释性而受到青睐,但在实际应用中,单一决策树容易过拟合、不稳定,并且难以高效地建模复杂的非线性边界。
解决这些问题的关键在于采用集成学习策略:
- 对于关注方差(不稳定性)的问题,随机森林(Bagging)是首选。
- 对于关注偏差(欠拟合)和追求极致精度的问题,梯度提升(Boosting)更为有效。
通过集成多个决策树的集体智慧,机器学习工程师可以构建出既强大又可靠的预测模型。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区