一.Bagging
Bagging:并行式的集成学习
思想:自助采样(Bootstrap sampling):给定m个样本集,有放回的随机采样m次,得到含m个样本的采样集。基于每个采样集训练出一个基学习器,再将这些学习器进行结合。
分类:简单投票
回归:简单平均
bagging 的复杂度与基学习器的复杂度同阶。
对于一个样本,它在某一次含m个样本的训练集的随机采样中,每次被采集到的概率是
1
m
\frac{1}{m}
m1。不被采集到的概率为
1
m
\frac{1}{m}
m1。如果m次采样都没有被采集中的概率是
(
1
−
1
m
)
m
(1-\frac{1}{m})^m
(1−m1)m。当时
m
→
+
∞
m \to +\infty
m→+∞,$ (1-\frac{1}{m})^m \to \frac{1}{e} =0.368$。也就是说,在bagging的每轮随机采样中,训练集中大约有36.8%的数据没有被采样集采集中。
对于这部分大约36.8%的没有被采样到的数据,称为袋外数据(Out Of Bag,OOB)。这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力(作验证集)。
二.随机森林(Random forest)
RF 以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
传统决策树:当前节点的属性集合(假设有d个属性)中选择一个最优属性
RF: 对基决策树的每一个节点,先从该节点的属性集合中随机选择一个包含k 个属性的子集,然后从这个子集中选择一个最优的属性用于划分。 推荐
k
=
l
o
g
2
d
k=log_2d
k=log2d。
优点
1.训练可以高度并行化,对于大数据时代的大样本训练速度有优势
2.相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
3.泛化性能高。基学习器的多样性不仅来自样本扰动,还来自属性扰动,使得最终的泛化性能通过个体学习器间的差异度的增加而进一步提高。
4.在训练后,可以给出各个特征对于输出的重要性
5.对部分特征缺失不敏感。
缺点
1.相比于单棵决策树,RF可解释性弱
2. 在某些噪音比较大的样本集上,RF模型容易陷入过拟合。