集成学习(2)--bagging与随机森林
给定一个训练集,对训练样本进行采样,产生出若干个不同的子集,再从每个子集中训练一个基学习器。由于训练数据不同,基学习器可望有比较大的差异。但如果采样出的每个子集都完全不同,则每个基学习器只用到一小部分训练数据,甚至不足以有效学习,也就无法产生好的学习器。可以使用相互有交叠的采样子集解决。
Bagging
Bagging是并行集成学习方法的代表,从名字可以看出它是基于自助采样法。即有放回的采样。
给定包含 个样本的数据集,可采样出 个含 个训练样本的采样集,用每个采样集训练一个基学习器,再进行结合。对预测输出,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。
因为每个基学习器都是并行训练的,而组合的时间开销可以忽略不计,因此Bagging与基学习器的复杂度同阶。与标准AdaBoost只适用于二分类不同,Bagging能不修改地用于多分类、回归任务。
从偏差-方差分解角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。
随机森林(RF)
随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含 个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的 控制了随机性的引入程度,一般的推荐值 .
随机森林简单,容易实现,计算开销小,但性能十分强大,被誉为“代表集成学习技术水平的方法”。相比于Bagging中仅通过样本扰动,随机森林又加入了属性扰动,这使得性能进一步提升。
随机森林的效率常优于Bagging,因为在个体决策树的构建过程中,Bagging使用的是“确定型”决策树,在划分属性时要对结点的所有属性进行考察,而随机森林使用“随机型”决策树只需考察一个属性子集。
结合策略
结合策略可从三个方面带来好处:
- 统计方面: 假设空间很多,达到同样性能的假设可能有多个,选择单学习器存在误选的风险,从而导致泛化性能不佳
- 计算方面:算法容易陷入局部极小点,多个学习器结合降低风险
- 表示方面:某个任务的假设可能不在当前的假设空间,多个学习器结合,假设空间有所扩大
平均法
简单平均法
这个不多说
加权平均法
一般对单个学习器进行加权时,权重应该非负。在个体学习器性能相差较大时使用加权平均法,性能相近时使用简单平均法。
投票法
绝大多数投票法
即超过半数,预测为该标记,否则拒绝预测。
相对多数投票法
即最大的那个标记,同时有多个的话,随机选择
加权投票法
绝大多数投票法因此存在拒绝预测,在可靠性要求较高的任务中比较适用。
考虑学习器的输入类型有:类标记和类概率两种,投票也分硬投票和软投票。不同的输出类型不能混用。对能在预测出类别时同时产生分类置信度的学习器,分类置信度可转化为类概率使用。
虽然分类器估计出的类概率值一般都不太准确,但基于类概率进行结合却往往比直接基于类标记进行结合性能更好。但是,若基学习器的类型不同,则其类概率值不能直接进行比较。这种情况先转成类标记,再处理。
学习法
是一种更为强大的策略,即通过另一个学习器来进行结合。Stacking是其典型代表。这里把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。
Stacking先从初始数据集训练出初级学习器,然后用初级学习器的输出当做样例输入特征,初始样本的标记仍然作为样例标记。在这个新数据集上训练次级学习器。
注意次级训练集的生成不再使用原来的属性,若初级学习器的个数是 , 样本个数是 ,那么次级训练集的属性矩阵大小是 ,再加上原标记,数据集大小是 。
如果直接使用原来初级学习器的训练集,过拟合的风险会比较大。因此一般用验证集生成次级训练集。
次级学习器的输入属性表示和次级学习算法对Stacking集成的泛化性能有很大影响。有研究表明,将初级学习器的输出类概率作为次级学习器的输入属性,用多响应线性回归作为次级学习算法效果较好。
多样性
多样性增强
- 数据样本扰动
- 输入属性扰动:对属性冗余的数据,将属性集划分,各自训练学习器
- 输出表示扰动
- 算法参数扰动
总结
RF的算法原理也终于讲完了,作为一个可以高度并行化的算法,RF在大数据时候大有可为。 这里也对常规的随机森林算法的优缺点做一个总结。
RF的主要优点有:
1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
2) 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3) 在训练后,可以给出各个特征对于输出的重要性
4) 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5) 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
6) 对部分特征缺失不敏感。
RF的主要缺点有:
1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
2) 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。
参考
周志华《机器学习》
https://www.cnblogs.com/pinard/p/6156009.html