一句话定义:决策树(Decision Tree)是把一次判断拆成一连串 if-else 问题的模型——从根节点出发,每到一个节点回答一个问题,沿着分支往下走,最后落到某个叶子节点,拿到结论。
它怎么工作:一场自动化的"二十问"
玩猜动物游戏时,你会问"它会飞吗""它有毛吗",每问一句就把可能性砍掉一半。决策树就是这个思路的自动化版本。树上的每个内部节点是一个判断,比如"年龄大于 30 吗""有没有房产";每条边是一个答案;叶子节点放最终结果——分类标签(通过/拒绝)或一个数值(预测房价)。
关键在于:这些问题不是人挑的,是训练时自动挑的。算法会遍历每个特征和每个可能的切分点,算一下"切完之后,两边是不是更纯了"。衡量纯度的常用指标是熵(Entropy)和基尼不纯度(Gini impurity),对应的挑选标准叫信息增益(Information Gain)。挑收益最大的那个问题做分裂,然后对左右两边重复同样的动作,直到满足停止条件:节点里只剩同一类样本、样本太少,或者树太深了。
最大优点:可解释
一棵浅树可以直接画在纸上,从根到叶的一条路径就是一条"如果……那么……"的规则。信贷拒绝、医疗分诊这类要给出理由的场景,树能把理由原原本本讲出来,这是神经网络很难提供的。
最大毛病:单棵树极易过拟合
如果不加任何限制,树会一路分裂到每个叶子只剩一个样本,等于把训练集整本背下来。数据里一点噪声都会被写成一条规则,换一批数据就完全失效。所以实践中要么剪枝(pruning),要么限制深度和叶子最小样本数;更常见的做法是干脆不用单棵树,改用随机森林(Random Forest)或梯度提升树(Gradient Boosting Decision Tree,GBDT),让几百棵树投票或累加,把方差压下去。
和相邻概念的区别
逻辑回归(Logistic Regression)给每个特征配一个权重,加总成一个分数;决策树则是层层硬切分,天然能处理非线性和特征之间的交互,但切出来的边界是阶梯状的。至于怎么衡量一个特征重不重要,两种模型给出的答案往往不一样。
| 对比项 | 单棵决策树 | 随机森林 / GBDT |
|---|---|---|
| 形态 | 一棵树,一条 if-else 路径 | 几百棵树,投票或累加 |
| 可解释性 | 强,能直接画出来 | 弱,一般靠特征重要性 |
| 稳定性 | 差,数据稍变树就换个样 | 好得多 |
| 过拟合 | 极易发生 | 靠集成与正则控制 |
对从业者和普通人的意义
如果你在做结构化数据(表格数据)的任务,树模型家族通常是很值得先跑一版的基线;在需要向业务方或监管解释"为什么拒绝"的场景,浅树或被提取成规则的树非常实用;但请把单棵树当作积木,而不是终点。对普通人来说,你被算法拒绝的理由,很可能就写在某棵树的某条路径上——这也是"可解释的 AI"这个话题常常从树讲起的原因。
