为什么我们需要XGBoost和随机森林?


Answers:


35

从第二个问题开始,然后转到第一个问题,会更容易。

装袋

随机森林是一种装袋算法。它减少了方差。

假设您有非常不可靠的模型,例如决策树。(为什么不可靠?因为如果您稍稍更改数据,则创建的决策树可能会大不相同。)在这种情况下,您可以通过装袋来构建健壮的模型(减少方差),装袋就是您创建不同的模型时通过重新采样数据以使生成的模型更健壮。

我们称随机森林为应用于决策树的装袋法,但与其他装袋算法没有什么不同。

你为什么想做这个?这取决于问题。但是通常,非常需要模型稳定。

助推

提升可以减少方差,还可以减少偏差。由于您正在使用多个模型(装袋),因此可以减少差异。通过告诉后继模型哪些错误(增强部分)来训练后继模型,从而减少偏差。

有两种主要算法:

  • Adaboost:这是原始算法;您告诉后续模型对先前模型错误的观察结果进行更严厉的惩罚
  • 梯度提升:使用残差(预测值和真实值之间的差)训练每个后续模型

在这些合奏中,您的基础学习者一定很弱。如果数据过拟合,则后续模型将不会有任何残差或错误。为什么这些好模型?好吧,像Kaggle这样的网站上的大多数比赛都是使用梯度增强树赢得的。数据科学是一门经验科学,“因为它有效”就足够了。无论如何,请注意增强模型可能会过拟合(尽管从经验上讲这不是很常见)。

特别是梯度增强的另一个原因也很酷:因为即使在导数不是凸的情况下,使用它也很容易使用不同的损失函数。例如,当使用概率预测时,您可以使用诸如弹球函数之类的东西作为损失函数;这对于神经网络来说要困难得多(因为导数始终是常数)。

[有趣的历史记录:Boosting最初是一项理论发明,其动机是“ 我们可以使用较弱的模型来建立更强的模型吗?


注意:人们有时会混淆随机森林和梯度增强树,只是因为它们都使用决策树,但是它们是两个非常不同的合奏家族。


1
Boosting 通过对加权平均值进行迭代建模残差和方差来减少偏差。cf. §5.5偏差,方差和稳定性,第118页,Boosting:基础和算法,Robert E. Schapire,Yoav Freund。
Emre

@Emre,您当然是正确的。有人编辑我的职务,并改减少通过增加。我已经还原了。
里卡多·克鲁兹

8

生成树时,需要定义一些用于拆分节点的条件。这些指标包括信息增益和基尼系数。这些是启发式方法,不能保证它们做到最好

实际上,某些属性的权重较不相关和/或噪声较大,而实际数据中还存在许多其他问题。简而言之,您无法在适当的计算时间内构建出完美的树(您当然可以构建所有可能的树并测试最好的树,但是即使在中等大小的数据集中,您也必须等待几年的训练时间)。

由于我们无法拥有最好的树,因此我们具有近似值。一种近似方法是构建许多树(使用不同的数据分区或属性分区),因为我们期望大多数树在某种程度上都是正确的,并在表决系统中考虑它们的分类。这应该处理大多数噪声,垂直分区可以处理不相关的属性,启发式方法的重要性较小,也许还有其他优点。


1

我会在好的答案中添加一小部分内容。主要问题是过拟合。一旦拥有多个参数并添加了非线性函数,所有算法就会开始过拟合。他们看到数据中不存在的东西。就像在黑暗或浓雾中,人们倾向于在黑暗/雾中看到不存在的事物。几乎所有的计算算法都比人类做得更多。当变量高度相关时,甚至线性回归也开始显示出奇怪的系数。如果没有过度拟合,那么那些算法所基于的常规决策树将比Random Forest或XGBoost更好。

而且没有确切的科学解释为什么会发生过度拟合,以及为什么某些算法比其他算法更好。理论上,ARIMA模型非常合理,但是实践表明,使用指数平滑技术更好,并且ARIMA甚至无法区分根据ARIMA行为但具有不同参数的变量。

一些神经网络,尤其是卷积神经网络似乎拟合度低。同时,由于过度拟合,全连接神经网络的最初想法因大量神经元而失败。

对抗过度拟合的主要可能性是:

  1. 随机抽样
  2. 跨多个模型取平均值
  3. 随机化模型(训练神经网络时神经元随机掉落)

如果我正确地理解算法,则随机森林和XGBoost都会在多个模型之间进行随机采样和平均,从而设法减少过度拟合。

在ImageNet图像识别竞赛中,2016年最好的模型(Shao等人)是几个非常好的模型的组合。他们中的一些人在前几年赢得了比赛。该模型的误差比其所基于的任何模型都要少20%。这就是在克服过度拟合的情况下,跨多个模型进行平均可能会很强大。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.