0 - 思想  

  如下图所示,Bagging(Bootstrap Aggregating)的基本思想是,从训练数据集中有返回的抽象m次形成m个子数据集(bootstrapping),对于每一个子数据集训练一个基础分类器,最后将它们的结果综合起来获得最终输出。

1 - 特点

  Bagging需要不同的/独立的(diverse/independent)基础模型,因此太过稳定的模型不适合这种集成方法,例如:

  • KNN是稳定的
  • 决策树是不稳定的,特别是未剪枝的决策树(因为对于每一份数据的拟合可能很不一样)

  此外,集成模型的性能在基础模型的数量达到一定规模之后,将收敛。

2 - 随机森林(Random Forest)

  一类最经典的Bagging集成模型是随机森林(Random Forest),其中通过如下两个点来确保随机性(即确保不同基础模型之间的差异性):

  • 每一棵树都使用一个子数据集进行训练(a bootstrap sample of data)
  • 每一个结点的最优分割加入了随机化,具体有如下三种方法
    • 从全部的$m$个属性中随机选取$d$个属性,计算它们的信息增益再选择最优的分割;
    • 计算$L$个随机属性的线性组合,线性组合的权重从$[-1,1]$中随机采样(这一种方法不太理解);
    • 计算全部$m$个属性的信息增益,而后选择最高的$d$个属性,再从中随机选取一个属性进行分割。

3 - 总结

  1. Bagging的工作原理是减少预测方差
  2. 简单分析预测结果,可以知道Bagging有预测错误概率的上界

    • 假设对于基础模型$i$,其预测错误的概率为$P(h_i(x)\neq f(x))=\epsilon $
    • 并且取预测最多的类别最为最终结果,表示为$H(x)=sign\left(\sum_{i=1}^T h_i(x) \right )$
    • 那么最终预测错误的概率可以表示为(利用Hoeffding inequality)$P(H(x)\neq f(x))=\sum_{k=0}^{\left \lfloor T/2 \right \rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\leq exp\left(-\frac{1}{2}T(2\epsilon-1)^2 \right )$
  3. Bagging很适合并行处理

最新文章

  1. Gvim插件管理Vundle
  2. 博弈SG
  3. Dapper学习 - Dapper.Rainbow(三) - Read
  4. iOS——特殊的几个控件
  5. SCU3033 Destroying a Painting(最小费用最大流)
  6. Linux下DNS服务器的基本搭建
  7. Linux解压/压缩命令——tar、gz、tar.gz、tgz、bz2、tar.bz2、Z、zip、rar、lha
  8. flask开发restful api系列(7)-蓝图与项目结构
  9. 【WorkTile赞助】jQuery编程挑战#009:生成两个div元素互相追逐的动画
  10. php知识点总结(一)
  11. HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(二)
  12. C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
  13. mysql基础整理02
  14. FasterRCNN 提升分类精度(转)
  15. 【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能
  16. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十三)Structured Streaming遇到问题:Set(TopicName-0) are gone. Some data may have been missed
  17. How to Pronounce the Word ‘TO’
  18. Java虚拟机18:Java对象大小、对象内存布局及锁状态变化
  19. second scrum meeting - 151026
  20. Bootstrap进阶七:LESS语法详解

热门文章

  1. Python_算术运算符
  2. SpringBoot下,@WebFilter配置获取日志
  3. java中使用redis --- List列表的简单应用
  4. 对比AngularJS/jQueryUI/Extjs:没有一个框架是万能的
  5. 历年NOIP题
  6. idea项目打包和在linux的部署
  7. 38 | 都说InnoDB好,那还要不要使用Memory引擎?
  8. imp
  9. CSP考前总结
  10. 「学习笔记」FFT及NTT入门知识