随机森林和选择体系结构
体系结构试验通常是构建有效现代模型的关键因素。 我们已经用决策树达到了基本水平,但唯一的限制是我们的想象力,也许还有计算机的内存。 事实上,对决策树进行更深入的思考就会得到一种深受欢迎的模型体系结构,它可以减轻决策树过度拟合数据的倾向。
什么是随机森林?
随机森林是许多决策树的集合,它们组合在一起用于估计应向样本分配的标签。 例如,如果我们训练一个随机森林来预测奖牌获得者,我们可能会训练 100 棵不同的决策树。 为了进行预测,我们将独立使用所有树。 这相当于“投票”决定运动员是否能赢得奖牌,从而做出最终决定。
如何训练随机森林?
随机森林是建立在这样一个理念上的:尽管一棵决策树带有极大的偏见,或者说是过渡拟合的,但如果我们训练几棵决策树,它们会以不同的方式产生偏见。 这要求每棵树都是独立训练的,并且每棵树所在的训练集略有不同。
要训练一棵决策树,需要从完整的训练集中提取一定数量的样本(在此场景中为运动员)。 每个样本可以被选择多次,此操作是随机的。 然后,以标准方式训练这颗决策树。 对每棵树重复此过程。 由于每棵树都有不同的训练示例组合,因此每棵树的训练结果和偏见都与其他树不同。
随机森林的优点
随机森林的性能通常非常出色,因此最好与神经网络进行比较,神经网络是另一种流行的高性能模型类型。 与神经网络不同,随机森林模型更易于训练:新式框架提供了有用的方法,只需几行代码就可以完成训练。 随机森林的训练速度也很快,不需要大型数据集就可以表现优异。 这一点将它们与神经网络区分开来,神经网络通常需要几分钟或几天的时间进行训练,需要大量体验,并且通常需要非常大的数据集。 随机森林的体系结构决策虽然比线性回归等模型复杂,但比神经网络简单得多。
随机森林的缺点
随机森林的主要缺点是它们难以理解。 具体来说,虽然这些模型是完全透明的(可以检查并了解每棵树),但由于它们通常包含许多树,因此几乎不可能对每棵树这样做。
如何自定义这些体系结构?
与许多模型一样,随机森林也有不同的体系结构选择。 最容易考虑的是森林的大小:有多少棵树,以及这些树的大小。 例如,可以让一个森林来预测包含 100 棵树,每棵树最大深度为 6 个节点的获奖者。 这意味着,对于运动员能否获得奖牌的最终决策必须使用不超过 6 个“if”语句来完成。
正如我们已经了解到的,增加树的大小(在深度或叶子数量方面)会使它更有可能过度拟合其训练数据。 这种限制也适用于随机森林。 不过,对于随机森林,我们可以通过增加树的数量来解决这个问题,假设每棵树都会以不同的方式产生偏见。 我们也可以限制每棵树只有一定数量的特征,或者当叶子对训练性能只产生微小的影响时,不允许创建叶子。 随机森林进行良好预测的能力是有限的。 在某些时候,由于我们拥有的训练数据种类有限,增加树的大小和数量并不会带来进一步的改进。