Bagging
Bagging是为了得到泛化性能强的集成,应使集成中的个体学习器尽可能相互独立,同时保证每个基学习器的效果也比较好,为达到这种目的使用自助采样法。
自助采样法是给定包含m个样本的初始数据集,有放回的选取m个样本作为采样集。初始数据集中有63.2%的样本出现在采样集中。
每个基学习器的训练样本均为从初始数据集中抽取的包含m个样本的采样集,再将这些基学习器结合。
Bagging能不经修改的用于二分类、多分类、回归
自助采样方法使得基学习器只使用了初始训练集的63.2%的样本,其他的包外样本可用作验证集来评估泛化性能,包外样本在不同的基学习器模型中有不同的用途。
随机森林
随机森林在Bagging的基础上,加入了随机属性选择。对于每个节点,先从含有d个特征的特征集合中随机抽取k个特征,然后从k个特征中选择最优的特征用于划分。参数k控制随机性的程度,k=d时,基决策树等同于传统决策树。一般推荐k=logd。
随机森林的泛化性能来自样本扰动和属性扰动。样本扰动是对初始训练集的采样。
随机森林的收敛性与Bagging类似,集成中只有一个基学习器时,效果较差,随着基学习器的增加,随机森林通常会收敛到更低的泛化误差。
随机森林的训练效率优于Bagging,Bagging使用确定性决策树,要对节点的所有特征考虑。随机森林使用随机型决策树,只需考虑一个特征子集。