第一个问题
当您通过偏差-方差分解考虑预测误差时,您将面临众所周知的折衷,即您的平均拟合程度(偏差)和预测模型的稳定性(方差)。
可以通过减少方差或增加偏差来改善误差。无论您选择哪种方式,您都可能在另一方面松懈。但是,人们可以希望总体上改善您的预测错误。
随机森林使用通常过拟合的树。RF 中使用的树是完全成熟的(没有修剪)。偏差很小,因为它们在本地捕获了整个细节。然而,由于高方差,成熟的树几乎没有预测能力。方差很大,因为树过于依赖任何数据。添加/删除的一个观察可以给出完全不同的树。
Bagging(引导样本上的许多平均树)具有很好的结果,它可以创建更平滑的表面(RF 仍然是分段模型,但平均产生的区域要小得多)。平均后的表面更平滑、更稳定,因此方差更小。可以将这种平均与中心极限定理联系起来,在该定理中可以注意到方差是如何减小的。
关于 RF 的最后一点说明是,当生成的树是独立的时,平均效果很好。还有 Breiman 等人。意识到通过随机选择一些输入特征将增加树之间的独立性,并具有方差减少更多的良好效果。
Boosting 以另一种方式工作,关于偏差-方差分解。提升从具有低方差和高偏差的弱模型开始。用于提升的相同树不会增长到许多节点,只会增长到很小的限制。有时即使使用决策树桩(树的最简单形式)也能正常工作。
因此,boosting 从具有高偏差的低方差树开始(学习者很弱,因为他们不能很好地捕捉数据的结构)并逐渐改善偏差。MART(我通常更喜欢 Gradient Boosting Trees 的现代名称)通过在误差表面上沿梯度给出的方向“行走”来改善偏差。以这种方式,它们通常在方差上有所松动,但同样,人们可以希望方差的松散可以通过偏差项的增益得到很好的补偿。
总而言之,这两个家族(bagging 和 boosting)完全不同。他们从相反的两端开始寻找最佳折衷方案,并朝相反的方向努力。
第二个问题
Random Forests 使用 CART 树,如果你想按书去做的话。但是,如果使用具有各种拆分标准的不同树(如 C4.5),则报告的差异非常小。事实上,Weka 的 RF 实现使用 C4.5(在 Weka 库中名称为 J4.8)。原因可能是计算时间,由生成的较小的树引起。