资讯

最小二乘回归树是什么?用平方误差来选切分点的回归决策树

2026-11-053 分钟阅读百科
TL;DR最小二乘回归树(Least Squares Regression Tree)是在每个节点遍历所有特征及切分点、选择使左右两子区域内平方误差之和最小的那一组进行二分划分,叶节点以区域内目标均值作为预测,递归直至满足停止条件的回归树,即 CART 回归树,也是梯度提升树中拟合负梯度的基础组件。

最小二乘回归树(Least Squares Regression Tree)是一种用于回归问题的决策树,它在选择如何划分数据时,以最小化平方误差为标准。它就是 CART 算法中的回归树部分。李航《统计学习方法》对它的生成算法给出了详细的描述。

回归树做什么

回归树要预测的是一个连续的数值,比如房价、气温、销量。它的思路是:把整个特征空间划分成若干个互不重叠的小区域,在每个区域内,用一个固定的值作为预测。落入同一个区域的样本,得到同样的预测值。最终的模型看起来像一级一级的台阶,是一个分段常数函数。

如何选择切分

在每个节点上,需要决定用哪个特征、在哪个值上把数据切成两部分。最小二乘回归树的做法是:对每一个特征,以及这个特征上的每一个可能的切分点,把当前节点的样本分成两部分:特征值小于等于切分点的放在左边,大于切分点的放在右边。对于每一部分,计算其中样本目标值的平均数,用它作为这一部分的预测值,再计算这一部分中各个样本的目标值与平均数之差的平方和。把左右两部分的平方和加起来,就是这个切分的总误差。遍历所有的特征和所有的切分点,选择使总误差最小的那一个,作为当前节点的划分。由于每个区域内最优的常数预测值正好就是平均数,所以这一过程本质上是在最小化平方误差,“最小二乘”的名字由此而来。

递归生长和停止

按照选出的切分把样本分成两部分之后,对左右两个子节点重复同样的过程,不断地往下划分。为了防止树长得过于复杂、记住训练数据中的噪声,需要设定停止的条件,比如树达到了最大深度、节点中的样本数量少于某个阈值、继续划分带来的误差下降小于某个阈值。树生长完成之后,还可以用代价复杂度剪枝等方法进一步简化。每个叶子节点上的预测值,就是落入这个叶子节点的训练样本目标值的平均数。

一个小例子

假设根据房屋面积预测房价。算法会尝试在不同的面积处切分,比如 60 平方米、80 平方米、100 平方米,分别计算两侧房价的平均数和平方误差,发现在 90 平方米处切分时误差最小,于是第一次划分为“面积小于等于 90”和“大于 90”两组。然后在每一组中继续寻找最好的切分,可能再根据楼层或房龄划分。最终每个叶子节点给出一个平均房价作为预测。

优缺点和应用

最小二乘回归树的优点是:容易理解和解释;能自动地捕捉特征之间的交互作用和非线性关系;对特征的尺度不敏感,不需要标准化。它的缺点是:单棵树的预测是分段常数,不够平滑;对训练数据的变化很敏感,不够稳定;容易过拟合;而且以平方误差为标准,对异常值比较敏感,必要时可以改用绝对误差等更稳健的标准。它最重要的用途是作为集成方法的基础:随机森林用于回归时,就是对许多棵最小二乘回归树的预测取平均;梯度提升树则在每一轮训练一棵回归树去拟合当前损失函数的负梯度,平方损失时负梯度正好就是残差,XGBoost、LightGBM 中的每一棵树也都是这类回归树。