理论

概率近似正确((probably approximately correct)学习框架下。一个概念是强可学习的充分必要条件是这个概念是弱可学习(仅比随机猜测稍好)。

要求

个体学习器要好而不同。好-要不随机猜测强,不同--多样性

Bagging (Bootstrap Aggregating):随机森林

通过bootstrap采样形成N个数据集(样本扰动来保证多样性),每个数据集训练一个模型,最终预测结果由投票法决定。

特点:

  • boostrap采样。
  • 并行结构
  • 大多数投票决定最终结果。

随机森林的特点:

  • CART树的集合。

  • Binary Partition。

  • 没有剪枝。

  • 两个随机性。

stacking:带权重的bagging

Boosting: H(x) = sign(∑αi hi(x))

先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器如此重复进行,直至基学习器数目达到事先指定的值T , 最终将这T 个基学习器进行加权结合.

特点:

  • 关注降低偏差。
  • 分类器串行生成
  • 训练样本有权重(调整权重等价于调整分布)。
  • 输出结果通过加权结合(weighted voting)

AdaBoost: Adaptive Boosting,权重自适应

特点:

  • 提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类样本的权值(训练样本分布调整方式)。
  • 加权多数表决加大分类误差率小的弱分类器的权值,使其 在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在 表决中起较小的作用。(加权结合方式).

梯度提升树(Gradient Boosting Decison Tree, GBDT;Gradient Boosting Tree)

特点:

  • 采用CART树为基学习器
  • 提升树采用前向分步算法:从前向后,每一步只学习一个基函数及其系数,逐步逼近目标函数式。
  • 损失函数的负梯度作为残差的估计值。

XGBoost

特点:

  • 正则化项防止过拟合。
  • XGBoost使用了一阶和二阶偏导, 二阶导数有利于梯度下降的更快更准。

集成学习基础知识总结-Bagging-Boosting的更多相关文章

  1. Matrix学习——基础知识

    以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...

  2. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

  3. ansible学习基础知识和模块(一)

    基础知识补充: 常用自动化运维工具 Ansible:使用python来开发的,无需设置Agentless(代理),一般管理几百台.与ssh的方式也不一样,ssh是基于c/s模式(客户端+服务器)来使用 ...

  4. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  5. IOS科研IOS开发笔记学习基础知识

    这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...

  6. MySQL学习基础知识1

    什么是数据库? 数据库就是存储数据的仓库. 存储方式: 变量 无法永久存储 文件处理,可以永久存储,弊端:文件只能在自己的计算机读写,无法被分享(局域网除外) 数据库分类: 1.关系型数据库 提供某种 ...

  7. python学习基础知识

    学习python前最好知道的知识点: python之父:Guido van Rossum python是一种面向对象语言 目前python最新的版本是3.8,python2已经逐渐淘汰 python的 ...

  8. android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器

    一.基础知识点学习  1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...

  9. Java学习---基础知识学习

    2016-07-23  周六 利用键盘输入的时候需要抛出异常 ,直接快捷键 ctrl + 1 ;定义数组 int score[] = new int[4]  ;  只有4个数字BufferedRead ...

随机推荐

  1. 一个不错的intellj 相关的博客

    http://my.oschina.net/lujianing/blog?catalog=3300430

  2. 关于在React中 报Super expression must either be null or a function, not undefined (采坑系列)

    今天突然在联系React中遇到一开始就报    Super expression must either be null or a function, not undefined 百度,各种方法,.. ...

  3. AJ学IOS 之小知识iOS启动动画_Launch Screen的运用

    AJ 分享,必须精品 看下效果吧 例如新浪微博的软件开启时候 就是这个 用Launch image实现 这个不难,就是在Images.xcassets 增加一个LaunchImage文件(右键 new ...

  4. AJ学IOS(47)之网易彩票帮助界面UIWebView的运用

    AJ分享,必须精品 效果: 制作过程 首先是帮助按钮那个地方的点击. 这里是用点击跳转的用的是 NJSettingArrowItem,前面的设置的,从字典通过模型转过来的. // 分享 NJSetti ...

  5. 【Java】 Variable 变量

    什么是Variable变量? - 变量是内存中的一个存储区域 - 这个存储区域内的数据允许在同一类型范围内不断变化 - 是程序最基本的存储单元,包含三个要素[变量类型][变量名][存储的值] 为什么需 ...

  6. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十一)之Holding Your Objects

    To solve the general programming problem, you need to create any number of objects, anytime, anywher ...

  7. 用一个完整的案例讲解Python数据分析的整个流程和基础知识

    先来想一下数据分析的流程,第一步获取数据,因此本节内容就是获取数据以及对数据的基本操作. 1.数据导入 1.1 导入.xlsx文件 要导入一个.xlsx后缀的Excel文件,可以使用pd.read_e ...

  8. A - Engines Atcoder 4900

    题目大意:n个点,任意几个点组合后得到的点距离原点的最远距离. 题解:极角排序:https://blog.csdn.net/qq_39942341/article/details/79840394 利 ...

  9. I. 蚂蚁上树

    蚂蚁上树(Sauteed Vermicelli with minced Pork),又名肉末粉条,是四川省及重庆市的特色传统名菜之一.因肉末贴在粉丝上,形似蚂蚁爬在树枝上而得名.这道菜具体的历史,已不 ...

  10. Wireshark的两种过滤器与BPF过滤规则

    Wirshark使用的关键就在于过滤出想要的数据包,下面介绍怎么过滤. 抓包过滤器 Wirshark有两种过滤器,一个是抓包过滤器,一个是显示过滤器,他们之间的区别在于抓包过滤器只抓取你设置的规则,同 ...