1.Bagging原理
在介绍Bagging之前,我们首先介绍下自助采样法(Bootstrap sampling)。
自助采样法的原理如下:对给定个样本的数据集,进行
次随机有放回采样,得到含
个样本的采样集,初始训练集中约有63.2%的样本出现在采样集中。
Bagging(Bootstrap aggregating)正是直接基于自助采样法采样出个含
个样本的采样集,然后基于每个采样集分别训练出一个基学习器,再将这些基学习器进行结合。在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法(简单即每个基学习器都使用相同权重的投票平均)。
那么问题来了,为什么要进行自助采样呢?
想要得到泛化能力强的集成,个体学习器应该尽可能“好而不同”。可以简单地将原始数据集分成个子集,用来训练
个个体学习器,每个子集各不相同,得到的个体学习器具有较大的差异;但是每个子集只占原始数据集的一小部分,不足以进行有效学习,个体学习器的预测能力差。因此,我们利用自助采样法得到相互有交叠的采样子集用来训练个体学习器,以得到较强的泛化能力。
2.包外估计
由于每个个体学习器都只使用了初始训练集中约63.2%的样本,剩下的样本可用作验证集来对泛化性能进行包外估计(out-of-bag estimate)。
对每个个体学习器而言,有36.8%的样本没有用来训练,称为该学习器的包外估计样本。令
表示个体学习器
所使用的训练样本集,
表示对样本
的包外预测。包外估计方法如下:
1.对数据集中的每个样本
,计算它作为包外样本的个体学习器对该样本的分类情况;
2.以简单多数表决方法得到样本的包外预测结果:
3.最后用所有包外预测不等于真实标记的误分个数占样本总数的比例作为包外估计,则Bagging的泛化误差的包外估计为:
3. Bagging算法描述
输入:训练集,基学习算法
,基学习器个数
。
过程:
1.采样自助得到含个样本的采样集
;
2.用采样集训练第
个基学习器
。
输出:
(分类任务)或
(回归任务)。
4.随机森林原理
Bagging主要关注降低方差,因此它在不剪枝决策树,神经网络等易受样本扰动的学习器上效用更为明显,最着名的是随机森林(Random forest)算法。
随机森林(Random forest,RF)是Bagging的一个扩展变体,RF与Bagging的不同之处在于:
1. Bagging的基学习器不一定是同质的,也不一定是决策树;但RF以CART为基学习器。
2. RF在训练过程中,引入了随机特征选择。RF在Bagging的数据样本扰动的基础上,增加了输入特征扰动,提高了模型的泛化能力。具体来说,传统决策树在选择划分特征时,在当前结点的特征集合中选择一个最优划分特征;而在RF中,是对基决策树的每个结点,先从该结点的特征集合中随机选择一个含有个特征的子集,然后再从该子集选择最优划分特征。
越小,模型越健壮,同时对训练集的拟合程度会变差,也就是说,
越小,模型方差越小,偏差越大。
5.随机森林算法描述
输入:训练集,决策树算法
,基学习器个数
。
过程:
1.采样自助得到含个样本的采样集
;
2.用采样集训练第
个基学习器:
。并且在模型训练过程中,对决策树模型的每个结点,在结点的特征集合中选择
个特征,再从这些特征中选择最优划分特征来划分子树。
输出:
(分类任务)或
(回归任务)。
6.随机森林优缺点
上面提到随机森林中基学习器的多样性不仅来自样本扰动,还来自特征扰动。这就使得最终集成模型的泛化性能可通过个体学习器之间差异度的增加而进一步提升。
随机森林的优点:
1. 训练可以高度并行化,可以实现在大型数据集上高效运行;
2. 由于可以随机选择决策树结点的划分特征,因此能够处理具有高维特征的输入样本,而不需要降维;
3. 能够评估各个特征对预测的重要性;
4. 由于采用了随机采样和随机特征选择,训练处的模型方差小,泛化能力强;
5. 对缺失值不敏感,可以处理不平衡数据。
缺点:
在某些噪音较大的数据集上,易陷入过拟合。
参考文献:
1.《机器学习》第八章集成学习——周志华