我正在研究随机森林,并在寻找随机森林的算法。
我已经查看了决策树的算法(如ID3、C4.5、CART)。
但是,随机森林有哪些不同的算法?我从文献中没有完全理解这一点。
你能说bagging和ExtraTrees是例子吗?
先谢谢你
回答:
任何依赖于通过各种方式注入随机性来生长多样且不相关的树的树集成(即森林),都可以被称为随机森林。所有随机森林的变体都基于相同的原则,即我们能使个体树更加多样化,结果的泛化误差就会越低。
注入随机性的一种方式被称为Bootstrap Aggregating(Bagging),它在发送给每棵树的数据集中注入随机性。另一种是随机子空间方法,它基本上在每个树节点随机抽样一部分特征,以找到最佳的(特征,值)分割(而不是考虑所有特征)。这里的随机性在于树的构建过程。ExtraTree是另一个在树构建阶段引入随机性的例子,首先通过为每个特征随机选择切点,然后选择最佳的(特征,值)分割。一个有趣的变体故意在每个基础树的数据集中独立引入标签噪声——我想你明白了我的意思。
然而,对于许多人来说,术语随机森林实际上指的是随机森林家族中最著名的成员,即Breiman著名的论文中详细描述的变体。这基本上使用了上述讨论的Bagging和随机子空间方法,仅此而已!
**数据集随机化技术,如bagging或那个标签噪声方法,可以与决策树之外的任何算法一起使用。因此,Bagging并不是随机森林的一个例子——它更像是随机森林的一个组成部分。