从树(Tree)到森林(Forest),森林自然是一堆树的 aggregation,而 Random Forest 又要求森林是 Random 的,random 通过 bootstrap 采样保证。

random forest(RF)=bagging + fully-grown C&RT decision Tree

\text{random forest(RF)=bagging + fully-grown C&RT decision Tree}

也即随机森林,以 BAGging 的方式把一堆 decision trees aggregation 起来,基于的思想是:

  • (1)BAGging 通过 voting/averaging 的方式降低了 variance(方差,不稳定度)
  • (2)而 decision tree 因为是对逐列地对列上的值进行切分,对数据集具有较大的敏感度

因为 decision tree 本身就是 aggregation,

G(x)=∑c=1C1b(x)=cGc(x)

G(\mathbf x)=\sum_{c=1}^C1_{b(\mathbf x)=c}G_c(\mathbf x)
再加上通过 Bootstrap 有放回抽样的方式得到的不同的数据集(randomnes),送到 decision tree 中训练得到不同的分类器,最后再采用BAGging 的投票或者平均的方式得到最终的分类结果。

random forest: aggregation of aggregation

\text{random forest: aggregation of aggregation}

从 BAGging 的角度说,random forest 其实是 BAGging 的一个特例,将 base algorithm 指定为 decision tree。

为了增加随机性,通过 Bootstrap 方法不仅可以抽样不同的样本,也可以抽取不同的属性列(叫做 feature projection),新版本的 random forest:

RF = bagging + random-subspace C&RT

\text{RF = bagging + random-subspace C&RT}

feature projection 的动作在每次做 branch 的时候执行;

机器学习基础(二十四)—— Random Forest相关推荐

  1. 机器学习笔记二十四 中文分词资料整理

    一.常见的中文分词方案 1. 基于字符串匹配(词典) 基于规则的常见的就是最大正/反向匹配,以及双向匹配. 规则里糅合一定的统计规则,会采用动态规划计算最大的概率路径的分词. 以上说起来很简单,其中还 ...

  2. 机器学习(二十四)——数据不平衡问题, 强化学习

    https://antkillerfarm.github.io/ 数据不平衡问题 https://mp.weixin.qq.com/s/e0jXXCIhbaZz7xaCZl-YmA 如何处理不均衡数据 ...

  3. 机器学习基础(十四)—— 统计计数、majority count 与其数学记号

    编程与数学,程序语言与数学语言,如此完美地呼应,虽在表达上.在实现上略有差异. 获取一个序列中出现次数最多的元素,也即如果序列的每个位置都比做一个人(或者一个分类器),该位置上的值表示他做出的选择.投 ...

  4. 机器学习知识点(二十四)隐马尔可夫模型HMM维特比Viterbi算法Java实现

    1.隐马尔可夫模型HMM    学习算法,看中文不如看英文,中文喜欢描述的很高深.    http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/ht ...

  5. 吴恩达机器学习(二十四)核函数

      我们将改造支持向量机算法,来构造比较复杂的非线性分类器,主要的技巧是称之为核(kernel)的东西,接下来我们看看核函数是什么以及如何使用它.   1.如果有一个这样的训练集,然后希望拟合一个非线 ...

  6. 零基础带你学习MySQL—not null 非空(二十四)

    零基础带你学习MySQL-not null 非空(二十四)

  7. mysql循环查询一个表中的数据并进行修改_JavaScript学习笔记(二十四)-- MYSQL基础操作...

    MYSQL mysql 是一个数据库的名字 和 php 合作的比较好的数据库 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端 接下来就聊聊使用 php 操作数据库 M ...

  8. JAVASE基础模块二十四(泛型)

    JAVASE基础模块二十四(泛型) 泛型的引出 我们这样定义一个obj类的时候 使用的时候需要向下转型 会很麻烦 public class Fananan {public static void ma ...

  9. 机器学习基础篇(四)——交叉验证

    机器学习基础篇(四)--交叉验证 一.概述 交叉验证是在机器学习建立模型和验证模型参数时常用的办法.顾名思义,交叉验证就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集 ...

  10. 计算机视觉面试宝典--深度学习机器学习基础篇(四)

    计算机视觉面试宝典–深度学习机器学习基础篇(四) 本篇主要包含SVM支持向量机.K-Means均值以及机器学习相关常考内容等相关面试经验. SVM-支持向量机 支持向量机(support vector ...

最新文章

  1. Android Launch Mode的学习记录
  2. 关于c中的inline
  3. 解决GitHub报错:schannel:failed to receive handshake, SSL/TLS connection failed
  4. Shiro的subject实质上是当前执行用户的特定视图。
  5. SpringSecurity Exceptions
  6. Python编程:从入门到实践 - pygal篇 - Die
  7. mac解压错误22无效的参数_看看PHP 7.3新版本中的JSON错误处理
  8. FLEX自动完成组件.--AutoSuggest
  9. 启动Tomcat时报错,一大堆的
  10. Android Gallery3D源码分析(一)
  11. dmg2iso使用及转换DMG文件遇到的问题
  12. 卸载软件时,出现解压缩支持文件时出错,灾难性故障--转载
  13. rbenv安装Ruby2.3.5报错BUILD FAILED (Ubuntu 18.04 using ruby-build 20191225-1-gbac1f1c) openssl
  14. CSDN回帖得分大全 近两年
  15. mysql 保存表情包
  16. 智能家居论文文献_智能家居文献综述范文
  17. 利用机器学习进行放假预测
  18. 服务器硬盘1t等于多少g,1t硬盘实际上等于多少个g?
  19. java传真发送,用Java发送传真解决之道
  20. 爬取智联招聘上24座热门城市中Java招聘信息

热门文章

  1. 该虚拟机似乎正在使用中。 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。 配置文件: D:\instractPath\Developmen
  2. kafka笔记——kafka启动
  3. Hive 中日志的存放位置
  4. java合并并排序_典型合并排序的Java实现
  5. mysql锁的应用场景_浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景
  6. Abb变频器输参数只读_ABB变频器ACSM1-04/ACS380产品参数说明及功能介绍
  7. 剑指offer面试题24. 反转链表(双指针)
  8. OpenCV精进之路(十五):特征检测和特征匹配方法汇总
  9. OpenCV精进之路(零):访问图像中像素的三种方法
  10. KFD algorithm