机器学习48:ID3决策树与C4.5决策树
摘要
本文介绍了决策树的基本概念与两种经典算法——ID3和C4.5。决策树通过特征选择、树生成和剪枝三个步骤构建可解释的分类模型。ID3算法以信息增益为准则选择最优特征,但存在偏向多取值特征的缺陷。C4.5算法引入信息增益率进行修正,通过增加惩罚系数来避免过拟合风险,从而提升泛化能力。本文为理解决策树的核心机制提供了清晰的理论基础。
Abstract
This article introduces the basic concepts of decision trees and two classic algorithms, ID3 and C4.5. Decision trees build interpretable classification models through three steps: feature selection, tree generation, and pruning. The ID3 algorithm selects optimal features based on information gain but suffers from bias toward features with many values. The C4.5 algorithm corrects this by introducing the gain ratio, adding a penalty coefficient to avoid overfitting and improve generalization. This article provides a clear theoretical foundation for understanding the core mechanisms of decision trees.
一.决策树简介
决策树中每一个内部节点表示一个特征上的判断,每一个分支代表一个判断结果的输出,每一个叶子节点代表一种分类结果。

对于决策树的建立过程:
1.特征选择:选取有较强分类能力的特征。
2.决策树的生成:根据选择的特征生成决策树。
3.决策树也易过拟合,通过采用剪枝的方法缓解过拟合。
所以决策树本质上是一个基于“如果-那么”规则的可解释流程图,通过基尼系数或信息增益等纯度指标递归地选择最优特征对数据进行分裂,天然具备无需数据标准化和捕捉非线性关系的优势;尽管单棵树易因过拟合而脆弱且对数据扰动高度敏感,但实际应用中常通过剪枝加以约束,或进一步将其集成到随机森林、XGBoost等模型中,从而将“弱学习器”转化为表格型数据领域兼具业务解释性与顶尖竞赛性能的利器。
二.ID3决策树
1.信息熵的意义
信息熵本质上是度量系统混乱程度与不确定性的标尺,数值越高代表结果越不可预测,同时也暗含了“信息量与概率成反比”的直觉——越意外的事件发生带来的信息冲击越大;在决策树算法中,信息熵作为衡量节点纯度的核心指标,通过计算特征分裂前后的熵减(即信息增益)来贪心地确定最优划分点,将无序数据逐步转化为清晰规则;放眼宏观,信息熵不仅统一了信息论与热力学熵,更深刻地揭示出信息的本质是对不确定性的消除,使其成为横跨数学、物理学与人工智能领域的底层哲学基石。

信息熵的公式是:,其中p(x)表示分类占比。
2.信息增益
信息增益是决策树构建中衡量特征重要性的核心指标,它量化了在知道某个特征之后,系统不确定性(熵)具体降低的程度。其计算公式为父节点的熵减去按该特征分裂后所有子节点的加权熵之和,增益越大,代表该特征消除不确定性的能力越强。正是基于这一逻辑,经典的ID3算法会贪心地选择信息增益最大的特征作为当前节点的分裂依据,从而逐步将无序的数据梳理成清晰的决策路径。
具体公式如下:
g(D,A)表示信息增益,H(D|A)是条件熵,其计算过程如下:
3.ID3决策树构建过程
①计算每个特征的信息增益。
②使用信息增益最大的特征将数据集拆分为子集。
③使用该特征(信息增益最大的特征)作为决策树的一个节点。
④使用剩余特征对子集重复上述(①,②,③)过程。
就以一个论坛客户流失的例子来,看看这个过程:

论坛客户流失数据如上,一共15条样本,其中5个正样本,10个负样本。为了考察性别、活跃度特征哪个特征对流失率的影响更大。
所以先计算当前数据中的信息熵:
接着分别计算性别条件熵和活跃度条件熵:
性别(a)条件熵:
活跃度(b)条件熵:
然后,分别计算性别(a)信息增益和活跃度(b)信息增益。
性别信息增益:
活跃度信息增益:
最后经过比较,可以发现活跃度的信息增益大,所以最终采纳活跃度充当根节点,其他以此类推。
三.C4.5决策树
1.信息增益率的意义
信息增益存在一个致命的偏向性,即它会天然偏爱取值较多的特征——例如“用户ID”这样的特征,若按ID分裂,每个子节点仅含一个样本,子节点熵全部降为0,信息增益瞬间被拉升至最大值,但这种分裂毫无泛化意义,属于典型的过拟合陷阱。


为修正这一缺陷,C4.5算法引入了信息增益率,通过除以特征自身的信息量来惩罚多取值特征。
信息增益率是等于信息增益/特征熵,具体公式如下(信息增益率:Gain_Ratio(D, a),特征熵:IV(a)):
其本质是相当于对信息增益进行修正,增加一个惩罚系数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。其中惩罚参数也就是数据集D以特征A作为随机变量的熵的倒数。
2.C4.5决策树构建方法
对此以下图为例计算特征a的信息增益率和特征b的信息增益率。

特征a的信息增益率:
信息增益:
IV信息熵:
信息增益率:0.46/0.92=0.5
特征b的信息增益率:
信息增益:
IV信息熵:
信息增益率:1/2.58=0.39
所以由计算结果可见,特征a的信息增益率大于特征b的信息增益率,根据信息增益率,我们应该选择特征a作为分裂特征。
总结
本文系统讲解了ID3与C4.5决策树的核心原理。ID3采用信息增益作为特征选择标准,易于理解但偏向多取值特征;C4.5通过信息增益率加以修正,能更公平地评估特征重要性。决策树作为机器学习中可解释性最强的模型之一,掌握其构建逻辑对后续学习集成学习方法具有重要意义。
更多推荐




所有评论(0)