决策树概念与原理
决策树是一种直观的树形分类器,广泛用于监督学习中的分类任务。其工作过程从根节点出发,根据特征属性值选择输出分支,直到到达叶子节点,叶子节点上的类别即为预测结果。
以判断瓜果好坏为例,可将纹理清晰度、根蒂、色泽和触感等作为特征进行分类。在实际判断中,我们往往将最显著的分类属性放在首位,接着再考虑其他属性,这与决策树的分支决策思路相吻合。

核心挑战:特征维度很大时,应该优先选择哪个特征进行分裂?如何剪枝?分类的层次结构应如何确定?……这些都是决策树构建过程中的关键问题,需要以数学化思维来解决。基于不同的解决策略,常见的决策树算法包括 ID3(基于熵增益)、C4.5(基于熵增益率)以及 CART 等。
熵增益(ID3)
信息熵衡量信息的不确定性,熵越大表示信息越混乱。决策树中把信息确定性称为熵增益,越高的熵增益表示该特征对分类越有帮助,从而选取最重要的特征作为首次切分的依据,随后继续用其他特征进行划分,直到得到叶子节点。

子集在某个特征取值下的熵和被称为条件熵,通常记作条件A下的熵,可以用下列方式表示:

信息熵在初始数据上的减小量,即熵增益,等于初始熵减去条件熵:

举例:一个数据集中的案例及其初步分布如下所示。

以6条数据中“是”与“否”的分布为例,先计算初始信息熵:

接着计算某属性(如“富”属性)的条件信息熵,数据中该属性取值两类各为3条,且对应的分类结果分别落在两个叶子节点:

两者之差即为该属性的熵增益:

在对所有特征属性计算熵增益后,选择熵增益最大的属性作为第一层分裂特征。
熵增益率(C4.5)
ID3 使用熵增益作为分裂准则,若所有特征值几乎都是唯一值,容易导致过拟合,因为按该属性划分时的熵增益可能偏高。为克服这一点,C4.5 引入了熵增益率作为综合度量标准。

熵增益率的定义为:

其中 info 表示该特征属性的值的信息熵。

剪枝与泛化
当数据量较大且特征较多时,构建的决策树可能过于庞大,容易对训练集过拟合。为提升对新数据的泛化能力,通常会在树建立完成后进行剪枝。剪枝的方法分为两大类:预剪枝和后剪枝,具体策略在此处不再展开。
鸢尾花数据集示例
IRIS 数据集是统计学习与机器学习领域的经典样本。数据集包含 150 条记录,分为 3 类,每类 50 条样本;每条记录有花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征,用以预测所属的鸢尾花品种(Setosa、Versicolor、Virginica)。数据集的公开来源可参考相关仓库。

