CHAPTER 27 / 37
决策树学习:模型是如何寻找最有价值的问题的?
决策树学习,本质上是通过不断选择信息增益最大的分裂,并在合适的时机停止,从而在复杂度与泛化能力之间找到平衡。
在上一篇中,我们已经理解了,决策树,本质上是一套结构化的判断流程。它看起来像流程图,也很像一个经验丰富的业务人员在一步一步做决策。
但还有一个更深的问题:这棵树,是谁画出来的?答案是没有人设计它,它是自己长出来的。
而它成长的规则,其实非常简单:每一步,都选择“最有信息量”的那个问题。
这就是今天要讲的:决策树学习(Decision Tree Learning)。
一个案例
假设你在做一个用户是否会投诉的预测模型,数据可能长这样:
现在问题来了——第一个应该问什么问题? 比如是否退款过?还是是否联系客服?还是是否延迟发货?
这不是随便选的。而是哪个问题,能让数据变得最“清晰”。
决策树的核心原则:让数据变得更“纯”
想象两种情况:
情况A:
10个用户
5个投诉
5个不投诉这是非常混乱的情况。
情况B:
10个用户
9个投诉
1个不投诉这是比较清晰的情况。
决策树的目标就是:让每一个节点,尽可能只包含一种结果。
在算法里,这个概念叫:纯度(Purity),而衡量“混乱程度”的指标叫:熵(Entropy)。
什么是熵?
熵,就是一组数据有多混乱。
比如上面的案例中:
你会发现一个规律——越接近50% : 50%,越混乱
这正是熵的特性:
50% / 50% → 最混乱
100% / 0% → 最纯真正决定分裂的,不是熵,而是信息增益
现在我们知道:熵是混乱程度。但决策树真正关心的是:这个问题,能减少多少混乱?这就是:信息增益(Information Gain)。
信息增益 = 分裂前的混乱 − 分裂后的混乱如果一个问题能让数据变得更清晰,就是一个好问题,决策树就会选择它。
假设当前有:
10个用户
5个投诉
5个不投诉现在有两个候选问题:
问题1:是否退款过?分裂后:
退款过:4 投诉,1 不投诉
没退款:1 投诉,4 不投诉非常清晰。
问题2:是否男性? 分裂后:
男性:3 投诉,2 不投诉
女性:2 投诉,3 不投诉依然混乱。
所以:决策树一定会选是否退款过,因为它带来的信息增益更大。
整棵树是如何一步一步长出来的?
决策树学习算法的流程其实非常机械:
Step 1 从所有数据开始(根节点)
Step 2 计算每个特征的信息增益
Step 3 选择信息增益最大的特征
Step 4 分裂数据
Step 5 对每个子节点重复这个过程
Step 6 直到满足停止条件这就是一个典型的递归(Recursive)过程,即用同一套规则,不断重复自己。
什么时候停止继续分裂?
这是一个非常关键的问题。
如果不停分裂,会发生过拟合(Overfitting),所以必须设置停止条件。
常见停止规则包括:
1)所有数据属于同一类别
2)树的深度达到上限
3)信息增益太小
4)样本数量太少
这些规则本质上是在回答一个问题:再问下去,还有意义吗?
如果特征不是“是 / 否”,而是数字怎么办?
假设有些情况下,比如:
用户等待时间 = 12 分钟这不是:是 / 否,而是连续数值,这时候决策树会做一件非常聪明的事情——自动寻找一个“分界线”。
例如:等待时间 ≤ 10 分钟 或 等待时间 ≤ 15 分钟。算法会尝试多个阈值,计算信息增益并选择最好的那个。比如:
≤ 8 分钟 → 信息增益 0.24
≤ 9 分钟 → 信息增益 0.61
≤ 13 分钟 → 信息增益 0.40最终选择:≤ 9 分钟,因为它带来的信息增益最大。
一个最小可运行的决策树代
下面是一个非常接近真实项目的示例:
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(
max_depth=4,
min_samples_split=20
)
model.fit(X_train, y_train)
prediction = model.predict(X_test)这里有两个最重要的参数:
max_depth
控制树最多能长多深min_samples_split
控制至少多少数据才允许继续分裂这两个参数,本质上就是防止模型过拟合。
决策树不是在寻找最复杂的规则,而是在寻找最有区分力的问题。它不像神经网络那样依赖大量计算,也不像线性模型那样依赖数学形式。
它更像一个优秀的产品经理:不断问问题,直到问题本身把答案带出来。
在真实的机器学习项目里,很少有哪一个模型,是从一开始就设计正确的。它往往是从一片混乱的数据中出发,尝试一次分裂,观察结果,再尝试下一次分裂,逐步逼近一个更清晰的结构。
在这个意义上,决策树其实教会我们的,并不是如何预测数据,而是如何面对不确定性——不是急于给出结论,而是一步一步,让结论自己浮现。
附录:本文涉及的专有名词中英文对照(标红为最核心)