-
自助采样法的步骤是:给定包含 个样本的数据集:
- 先随机取出一个样本放入采样集中,再把该样本放回原始数据集。
- 这样经过 次随机采样操作,得到包含 个样本的采样集。
初始训练集中有的样本在采样集中多次出现,有的则从未出现。一个样本始终不在采样集中出现的概率是 。
根据 ,因此初始训练集中约有 63.2% 的样本出现在了采样集中。
自助采样法给
Bagging
算法带来了额外的优点:由于每个基学习器只用初始训练集中约 63.2% 的样本来训练,剩下的约 36.8% 的样本可用作验证集来对泛化性能进行包外估计。Bagging
的基本流程:- 经过 轮自助采样,可以得到 个包含 个训练样本的采样集。
- 然后基于每个采样集训练出一个基学习器。
在使用
Bagging
学习器进行预测时:- 分类任务采取简单投票法,取每个基学习器的预测类别的众数。
- 回归任务使用简单平均法,取每个基学习器的预测值的平均。
-
Bagging
主要关注降低方差,它能平滑强学习器的方差。因此它在非剪枝决策树、神经网络等容易受到样本扰动的学习器上效果更为明显。
Boosting
主要关注降低偏差,它能将一些弱学习器提升为强学习器。因此它在
SVM
、knn
等不容易受到样本扰动的学习器上效果更为明显。
3.2 随机森林
随机森林 是
Bagging
的一个扩展变体。随机森林对
Bagging
做了小改动:随机森林在以决策树为基学习器构建
Bagging
集成模型的基础上,进一步在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性时,是在当前结点的属性集合(假定有 个属性)中选择一个最优属性。
随机森林中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含 个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
- 如果 ,则基决策树的构建与传统决策树相同。
- 如果 ,则随机选择一个属性用于划分。
- 通常建议 。
随机森林的优点:
- 训练效率较高。因为随机森林使用的决策树只需要考虑所有属性的一个子集。
- 随机森林简单、容易实现、计算开销小。
-
但是树的数量增加并不会纠正偏差,因此随机森林还是会有过拟合。