资讯

斜决策树是什么?每个节点用多个特征的组合来划分

2026-11-053 分钟阅读百科
TL;DR斜决策树(Oblique Decision Tree),又称多变量决策树,在每个内部节点使用多个特征的线性组合(如 0.8x₁ − 1.5x₂ ≤ 2)进行划分,划分边界可为任意方向的超平面,比轴平行的单变量决策树更少节点就能拟合斜向边界;代表算法有 CART-LC、OC1,代价是每个节点需搜索系数、计算量大、可解释性下降。

斜决策树(Oblique Decision Tree),也叫多变量决策树,是一种在每个节点上使用多个特征的线性组合来进行划分的决策树。与之相对的是我们通常使用的单变量决策树,它在每个节点上只根据一个特征进行判断。

单变量决策树的局限

普通的决策树,比如 ID3、C4.5、CART,每个节点上的问题只涉及一个特征,比如“年龄是否小于 30 岁”。从几何上看,这相当于在特征空间中画一条与坐标轴平行的直线,把区域一分为二。经过多次划分后,决策边界是由许多与坐标轴平行的线段组成的“台阶”形状。如果真实的分类边界恰好是横平竖直的,这样做很高效;但如果真实的边界是一条斜线,比如“当收入减去两倍的负债大于某个值时批准贷款”,单变量决策树就只能用很多级小台阶去逼近这条斜线,需要大量的划分,树变得庞大复杂,而且每一级台阶只由少量样本决定,容易过拟合。

斜决策树怎么做

斜决策树在每个节点上的判断条件,是多个特征的加权和与一个阈值的比较,比如“0.8 乘以收入减去 1.5 乘以负债是否小于等于 2”。从几何上看,这相当于在特征空间中画一条任意方向的直线,或者在高维空间中画一个任意方向的超平面。“斜”的意思就是划分边界不再与坐标轴平行,而是可以倾斜的。这样,对于斜向的分类边界,斜决策树只需要很少的几个节点甚至一个节点就能准确地表示,得到的树通常小得多。周志华《机器学习》以西瓜数据为例对比了两种树:单变量决策树需要好几层划分,而多变量决策树只用两个斜向的划分就完成了分类。

如何学习每个节点的线性组合

斜决策树的难点在于:在每个节点上,不仅要选择阈值,还要找到一组最好的特征权重,而所有可能的权重组合是无穷多的,寻找最优的超平面本身就是一个困难的优化问题。代表性的方法有:Leo Breiman 等人在 CART 的原著中就提出了一种允许线性组合划分的变体,称为 CART-LC,用逐个调整系数的方式搜索;Sreerama Murthy 等人在 1994 年提出的 OC1 算法,在确定性的爬山搜索中加入随机扰动,以避免陷入局部最优;还可以在每个节点上直接训练一个线性分类器,比如感知机、逻辑回归或线性判别分析,用它的分界面作为划分。

优缺点

斜决策树的优点是:在特征之间存在线性关系的数据上,能用更小的树取得更好的效果,泛化能力往往更强。它的缺点是:每个节点上的优化计算量大得多,训练比单变量决策树慢;每个节点的判断条件涉及多个特征和系数,不再像“年龄小于 30”那样一目了然,可解释性下降;对特征的尺度敏感,通常需要先对特征进行标准化;而且失去了单变量决策树对类别特征和缺失值的便捷处理。

今天的地位

在实践中,单变量决策树仍然更常用,因为通过把大量的单变量决策树集成起来,比如随机森林和梯度提升树,也能很好地逼近斜向和复杂的边界,同时保持训练的高效。不过斜决策树的思想并没有消失:旋转森林等方法在构建每棵树之前,先对特征进行随机的线性变换,相当于让单变量的划分在变换后的空间中变成了斜向的划分;一些研究也把斜决策树与神经网络结合起来,比如软决策树、神经决策树,在保持一定可解释性的同时提高表达能力。