随机森林方法可以应用于线性回归吗?

机器算法验证 回归 预测模型 集成学习
2022-01-23 07:54:07

随机森林通过创建一组决策树来工作,其中每棵树都是使用原始训练数据的引导样本(输入变量和观察值的样本)创建的。

可以将类似的过程应用于线性回归吗?为 k 个回归中的每一个使用随机引导样本创建 k 个线性回归模型

不创建类似模型的“随机回归”的原因是什么?

谢谢。如果有什么我只是从根本上误解了,请告诉我。

4个回答

用机器学习术语来表达@ziggystar 的回应:引导聚合技术(例如随机森林)背后的想法是将许多低偏差、高方差模型拟合到具有某些“随机性”或“不稳定性”元素的数据。在随机森林的情况下,通过引导和选择一组随机特征来分割树的每个节点来增加不稳定性。对这些嘈杂但低偏差的树进行平均可以缓解任何单个树的高方差。

虽然回归/分类树是“低偏差、高方差”模型,但线性回归模型通常是相反的——“高偏差、低方差”。因此,线性模型经常面临的问题是减少偏差,而不是减少方差。引导聚合根本不是为了做到这一点。

另外一个问题是,在典型的线性模型中,自举可能无法提供足够的“随机性”或“不稳定性”。我希望回归树对引导样本的随机性更敏感,因为每个叶子通常只包含少数数据点。此外,回归树可以通过在每个节点的随机变量子集上拆分树来随机生长。请参阅上一个问题,了解为什么这很重要:Why are Random Forests split based on m random features?

话虽如此,您当然可以在线性模型[LINK]上使用自举,这在某些情况下非常有用。然而,动机与引导聚合技术有很大不同。

我想,如果您要在无穷大的情况下执行此操作,您将获得通过对完整样本进行普通线性回归获得的线性回归模型。请注意,个结构相等的线性模型的平均值又是一个结构相等的线性模型,只需对参数进行平均(使用分配律)。但我没有做数学,我不完全确定。kk

这就是为什么用线性模型做“随机”事情不如用决策树做有吸引力的原因:

从大样本创建的大决策树很可能会过度拟合数据,而随机森林方法通过对许多小树的投票来对抗这种影响。

另一方面,线性回归是一个不太容易过度拟合的模型,因此一开始就在完整样本上训练它不会受到伤害。即使您有许多回归变量,您也可以应用其他技术(例如正则化)来对抗过度拟合。

我部分不同意目前的答案,因为方法随机森林是建立在引入方差(建立在自举样本 + 随机子空间方法上的 CART)以使它们独立的基础上的。一旦你有正交树,那么它们的预测平均值(在许多情况下)往往比平均树的预测更好(因为 Jensen 不等式)。尽管 CART 在接受这种处理时具有明显的优势,但这种方法绝对适用于任何模型,线性模型也不例外。这是一个 R 包,正是您正在寻找的。它提供了一个关于如何调整和解释它们的很好的教程以及关于该主题的参考书目:随机广义线性模型

我同意@ziggystar。随着引导样本的数量收敛到无穷大,线性模型的袋装估计收敛到对整个样本运行的线性模型的 OLS(普通最小二乘)估计。证明这一点的方法是看到引导程序“假装”人口分布与经验分布相同。当您从这个经验分布中采样越来越多的数据集时,估计超平面的平均值将通过普通最小二乘的渐近特性收敛到“真实超平面”(即对整个数据运行的 OLS 估计)。k

此外,装袋并不总是一件好事。它不仅不会对抗偏见,而且在某些特殊情况下可能会增加偏见示例: (伯努利试验以概率 p 取值 1,取值 0 )。此外,让我们定义参数 并尝试估计它。自然,只需查看单个数据点即可知道整个样本可能包含这样一个数据点,并允许我们估计

X1,X2,...,XnBe(p)
p1p
θ=1{p>0}
Xi=1θ=1θ没有任何错误。另一方面,任何 bootstrap 样本都可能不包含这样的数据点,并导致我们错误地用 0 估计(我们在这里没有采用贝叶斯框架,只是使用了旧的最大似然方法)。换句话说, 条件。θ
Bias bagging=Prob(in a bootstrap sample X(1)=...=X(n)=0)>0,
θ=1