机器学习(八) 集成学习

8.1 基本思想

集成学习通过构建并结合多个学习器来完成学习任务。
集成学习把性能较低的 多种弱学习器,通过适当组合形成高性能强学习器的方法。
常见的集成学习有两种:bagging和boosting。
两种集成学习的过程如下图:


8.2 bagging

Bagging是根据英文单词BootstrapAggregation创造的新词,统计学上的Bootstrap称为自主法, 是指有重复随机选取n个样本, 生成和原始样本集稍有差异样本集的方法.
Bagging学习法, 一方面经由自主法生成虚拟训练样本, 并对这些样本学习;另一方面, 反复重复该过程后对得到的多个分类器输出通过投票的方式做出集体决策.
Bagging学习, 重复次数较大, 不易过拟合; 对多个弱分类器学习是并行过程,故Bagging可并行学习.
典型的Bagging学习法是基于决策树基分类器的随机森林(Random Forest).

8.3 Boosting

boosting方法训练基分类器时采用串行方式, 各个基分类器之间有依赖.
基本思路: 基分类器层层叠加, 每一层训练时, 对前一层基分类器分错的样本,给予更高的权重. 测试时, 对各层分类器结果加权得到最终结果.
同时, 进行加权时, 最开始就能正确分类的样本,权重会逐渐减小, 有可能造成简单样本反而不能正确分类, 故, Boosting学习应边学习边更新样本券种, 并把学习过程中得到的所有分类器放在一起, 对其可信度平局后得到最终强分类器.
样本加权方法有很多, 最标准的就是Adaboost算法, Adaboost是英文Adaptive Boosting的缩写, 是自适应增强的意思.

8.4 Bagging和Boosting的差异

基分类器错误率大于集成分类器, 基分类器的错误是偏差和方差之和. 基分类器表达能力有限, 表现在训练数据不收敛, 产生偏差; 分类器对样本分布过于敏感, 导致训练样本较少时容易过拟合, 产生方差.

Bagging各弱分类器尽量独立, 可减少基分类器偏差
(1) Bagging采用采取分而治之的策略, 对训练样本多次有放回采样, 并分别训练多个不同模型,然后综合投票 .
(2)设n个随机变量, 方差为, 各随机变量完全独立时, n个随机变量的方差为, 整体方差减小到原来的
(3) Bagging分类器, 个子模型应尽量完全独立, 为了追求模型的独立性, 随机森林算法, 每次选取节点分裂属性时, 会随机抽取一些属性自己, 而不是选取最优属性, 这样可避免弱分类器之间过强的相关性; 此外, 对训练集的Boostrap重采样也可使弱分类器之间保持一定的独立性, 从而降低Bagging后模型的方差.

Boosting各弱分类器之间强相关, 可减小偏差
(1) Boosting通过逐步聚焦基分类器分错的样本, 可减少集成分类器偏差
(2) Boosting训练好一个弱分类器后, 需计算此分类器的残差, 作为下一个弱分类器输入, 这个过程本身就在不断减小损失函数, 使模型不断逼近"靶心", 从而模型偏差不断降低
(3)Boosting不会降低模型方差, 因为训练过程各弱分类器之间强相关,缺乏独立性

参考:机器学习算法深度总结(10)-集成学习

你可能感兴趣的:(机器学习(八) 集成学习)