Bagging与随机森林
来源:互联网 发布:申通淘宝面单打印软件 编辑:程序博客网 时间:2024/05/08 17:01
一、Bagging算法
Bagging是并行集成学习方法最著名的代表,可以用来提高学习算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将它们组合成一个预测函数。Bagging要求“不稳定”(不稳定是指数据集的小的变动能够使得分类结果的显著的变动)的分类方法。比如:决策树,神经网络算法。
Bagging的基本流程为:
1、首先采取随机采样(bootsrap),也就是从我们的训练集里面随机采集固定个数的样本,但是每采集一个样本后,都将样本放回。对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有m个样本训练集做T次的随机采样,,则由于随机性,T个采样集各不相同。
2、随机采样后对样本进行训练,建立分类器(ID3、C4.5、CART、SVM、Logistic回归等算法)。
3、重复上述步骤n次,即可得到n个分类器。
4、将这些弱分类器按照一定策略结合起来就可以形成强分类器,进行结合时,Bagging通常会对分类任务使用简单投票法,对回归任务使用简单平均法。
Bagging算法的流程图:
在Bagging的随机采样中,有的样本出现了多次有的样本从未出现。对于一个样本,它在某一次含m个样本的训练集的随机采样中,大约有36.8%的数据没有被采样集
二、随机森林
随机森林是Bagging的一个变体,它在Bagging的基础上做了一些修改,相当于Bagging算法的进化版。
随机森林的流程为:
1、从样本集中采用随机抽样选取出n个样本
2、从所有属性中随机选取包含k个属性的子集,然后从这个子集中选择最佳分割节点简历CART树。这里参数k控制了随机性的引入:若令k等于所有属性,则和传统的决策树算法一致,若令k=1,则是随机选取一个属性用于划分,一般情况下,推荐值k为log2
3、’重复以上步骤m次,就建立了m个CART树
4、这m个CART树形成随机森林,然后按照与Bagging相同的方法,决定数据属于哪一类。
也就是说随机森林主要对Bagging算法在第二步上做了改进,如果Bagging算法是以普通的决策树算法做为训练模型的话,则随机森林又在决策树的训练过程中引入了随机属性选择。当然,当基本分类器不为决策树算法,比如为SVM、Logistics等算法时,仍然可以运用随机森林算法。
三、结合策略
在Bagging和随机森林中都会将一些弱分类器按照一定的策略结合形成强分类器,下面就来看一下结合策略。
1.平均法
对于数值型输入h(x),最常见的结合策略是使用平均法。
简单平均法:
加权平均法:
简单平均法和加权平均法都比较好理解,这里不再详述。
2.投票法
对于分类任务,从一个类别集合中预测出一个标记,最常见的结合策略是使用投票法。投票机制简单来说就是对于训练好的多个基本分类器,分别使用这些分类器对测试数据进行预测每预测出一个类别相当于对这个类别投了一票,最后根据下面这些方法选出所属类别。
绝对多数投票法:
即若某标记得票过半即预测为该标记类别,否则拒绝预测。
相对多数投票法:
即得票最多的为分类结果,若有多个类别同时获得最高票,则随机选取一个。
加权投票法:
- Bagging与随机森林
- Bagging与随机森林
- Bagging与随机森林
- Bagging与随机森林
- Bagging与随机森林
- Bagging算法与随机森林
- 笔记-Bagging与随机森林
- 集成学习:Bagging与随机森林
- Bagging与随机森林算法原理小结
- 集成学习之bagging与随机森林
- Bagging与随机森林算法原理小结
- Bagging与随机森林算法原理小结
- Bagging与随机森林算法原理小结
- Bagging与随机森林算法原理小结
- Bagging与随机森林算法原理小结
- 机器学习系列-Bagging与随机森林
- Bagging算法 与 随机森林算法 原理
- Bagging和随机森林
- flume User Guide翻译-logging raw data / plugin
- 如何将eclipse改成英文版
- java 注解的作用及使用方法详解
- Jmeter中常用的一些对字符串的处理代码参考
- Sublime 配置JAVA环境(控制台)
- Bagging与随机森林
- IntelliJ IDEA上创建Maven Web项目的时候,EL表达式无法解析异常
- 第3周项目4(1)- 顺序表应用
- 提取字符串/数组中元素的方法
- Linux 最小化安装(非生产环境)
- c中添加zh_CN.po翻译文件
- linux基础一
- OpenStack会员介绍
- ios项目中调用百度地图iphone版与百度地图HDipad版的坑