1. Bagging的策略

  • 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\);
  • 基于子样本集\(D\),所有属性上建立分类器,(ID3,C4.5,CART,SVM等);
  • 重复以上步骤\(m\)步,即获得了\(m\)个分类器;
  • 最后根据这\(m\)个分类器进行投票,决定输入样本属于哪一类。

2. 随机森林

随机森林在Bagging基础上做了修改:

  • 从样本中重复自抽样(Bootstrap)选出\(n\)个样本,定义子样本集为\(D\);
  • 基于样本集\(D\),从所有属性中随机选择K个属性(特征),选择最佳分割属性作为结点建立CART决策树;
  • 这\(m\)个CART组成一个随机森林,通过投票表决结果,决定输入样本属于哪一类。

3. 随机森林/Bagging和决策树关系

  • 可以使用决策树作为基本分类器
  • 也可以使用SVM、Logistics回归等分类器,由这些分类器组成的"总分类器",也叫随机森林

4. 投票机制

4.1 简单投票机制

  • 一票否决
  • 少数服从多数(有效多数,加权)
  • 阈值表决

    4.2 投票机制举例

  • 假定有N个用户可以为X个电影投票(假定投票者不能给同一电影重复投票),投票有1,2,3,4,5星共五档。
  • 根据用户投票对电影进行排序,本质任然为分类问题,对于某个电影,有N个决策树进行分类(1,2,3,4,5类)
    投票方案:\[WR = \frac{v}{v+m}R + \frac{m}{v+m}C\]
  • \(WR\):加权得分;
  • \(R\):该电影的用户投票的平均得分
  • \(C\):所有电影的平均得分
  • \(v\):该电影的投票人数
  • \(m\):排名前250名电影的最低投票数

5. 样本不均衡的常用处理方法

假定样本数目A类比B类多,且严重不平衡:

  • A类欠采样

    • 随机欠采样
    • A类分成若干子集,分别与B类进入ML模型
    • 基于聚类的A类分割
  • B类过采样
    • 避免欠采样造成的信息丢失
  • B类数据合成
    • 随机插值得到新样本
  • 代价敏感学习
    • 降低A类权值,提高B类权值

6. 随机森林总结

  • 在数据集上表现良好
  • 在对缺失数据进行估计时,随机森林是一个十分有效的方法。就算存在大量的数据缺失,随机森林也能较好地保持精确性;
  • 随机森林算法能解决分类与回归两种类型
  • 能够处理很高维度的数据,并且不用做特征选择
  • 容易做成并行化方法
  • 在训练完后,它能够给出哪些特征比较重要
  • 随机森林的集成思想也可以用在其他分类器的设计中
  • 随机森林在解决回归问题时没有在分类中表现的好,因为它并不能给出一个连续型的输出。当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。

机器学习相关知识整理系列之二:Bagging及随机森林的更多相关文章

  1. 机器学习相关知识整理系列之三:Boosting算法原理,GBDT&XGBoost

    1. Boosting算法基本思路 提升方法思路:对于一个复杂的问题,将多个专家的判断进行适当的综合所得出的判断,要比任何一个专家单独判断好.每一步产生一个弱预测模型(如决策树),并加权累加到总模型中 ...

  2. 机器学习相关知识整理系列之一:决策树算法原理及剪枝(ID3,C4.5,CART)

    决策树是一种基本的分类与回归方法.分类决策树是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成.结点由两种类型,内部结点表示一个特征或属性,叶结点表示一个类. 1. 基础知识 熵 在信息学和 ...

  3. Hadoop相关知识整理系列之一:HBase基本架构及原理

    1. HBase框架简单介绍 HBase是一个分布式的.面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.HBas ...

  4. Redis相关知识整理

    Redis相关知识整理 1. Redis和MySQL的区别?a).mysql是关系型数据库,而redis是NOSQL,非关系型数据库.mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在 ...

  5. 机器学习总结(二)bagging与随机森林

    一:Bagging与随机森林 与Boosting族算法不同的是,Bagging和随机森林的个体学习器之间不存在强的依赖关系,可同时生成并行化的方法. Bagging算法 bagging的算法过程如下: ...

  6. 机器学习回顾篇(12):集成学习之Bagging与随机森林

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  7. 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)

    本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...

  8. Bagging之随机森林

    随机森林(Random Forest)是一种Bagging(Bootstrap Aggregating)集成算法,在样本随机(样本扰动)的基础上,进一步运用特征随机(属性扰动)的机制,得到比一般的Ba ...

  9. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

随机推荐

  1. 易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试

    Lifecycle for overriding binding, validation, etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试. 它是一个典型的教科书式的mvc ...

  2. src.rpm包安装方法

    有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译.这类软件包有多种安装方法,以redhat为例说明如下: 注意: 如果没有rpmbuild可以从系统安装光 ...

  3. POI Excel 冷冻线

    冷冻线 Sheet.createFreezePane data bar and  color scale SheetConditionalFormatting scf = sheet.getSheet ...

  4. WPF 后台任务 等待动画 样例 && C# BackgroundWorker 详解

    运行效果: 前台代码: <Window x :Class="Waiting.Window1" xmlns="http://schemas.microsoft.com ...

  5. GoogleMap-------解决不能使用问题

    前言:由于中国大部分Android手机中的Google服务都被阉割掉了,所以导致GoogleMap无法使用,可以用一下方法解决. 1.不能使用GoogleMap 2.若手机上装有安装市场之类的软件可搜 ...

  6. caffe net 可视化工具,,层特征可视化

    1.只用网络在线结构绘制可视化网络模型 http://ethereon.github.io/netscope/#/editor 将对应的网络输入到里面,然后按shift+enter即可查看对应的网络结 ...

  7. IO-Polling的代码分析

    在前一篇文章<IO-Polling实现分析与性能评測>中提到了IO-Polling与中断的原理差别,并通过两种模式下NVMe SSD的性能測试对两者进行了对照. 这篇文章将深入到IO-Po ...

  8. 40、DrawerLayout使用详情

    1.主内容视图一定要是DrawerLayout的第一个子视图 2.主内容视图宽度和高度匹配父视图,即“match_parent” 3.必须显示指定抽屉视图(如ListView)的 android:la ...

  9. Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法

    最近在研究Kettle 时出现启动时报错“A Java Exception has occurred.”的问题.刚开始没搞明白是什么原因,后来发现是jdk版本的问题.出现这个错误原因是 Kettle ...

  10. 【BZOJ1058】[ZJOI2007]报表统计 STL

    [BZOJ1058][ZJOI2007]报表统计 Description 小Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一.经 ...