快速理解bootstrap,bagging,boosting,gradient boost-三个概念
1 booststraping:意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。
其核心思想和基本步骤如下:
(1)采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。
(2)根据抽出的样本计算统计量T。
(3)重复上述N次(一般大于1000),得到统计量T。
(4)计算上述N个统计量T的样本方差,得到统计量的方差。
应该说是Bootstrap是现代统计学较为流行的方法,小样本效果好,通过方差的估计可以构造置信区间等。
2 bagging:bootstrap aggregating的缩写。让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出n个训练样本组成,某个训练样本在某训练集中可能出现多次
或者不出现,训练之后可得到一个预测函数序列h_1,h_n,最终的预测函数H对分类问题采用投票方式,对回归问题(加权平均好点,但是没)采用简单平均方式判别。
训练R个分类器f_i,分类器之间其他相同就是参数步相同。其中f_i是通过从训练集和中随机取N次样本训练得到的。对于新样本,用这个R个分类器去分类,得到最多的那个类别
就是这个样本的最终类别。
3 boost:其中主要的是adaboost(adaptive boosting)。初始化时对每一个训练赋予相同的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练列赋
予较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练列进行训练(就是把训练分类错了的样本,再次拿出来训练,看它以后还敢出错不),从而得到一个预测
函数序列h_1,h_m,其中h_i也有一定的权重,预测效果好的预测函数权重大,反之小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方式对
新样本判别。
类似bagging方法,但是训练是串行的,第K个分类器训练时,关注对前k-1分类器中错误,不是随机取样本,而是加大取这些分错的样本的权重。
4 bagging和boosting的区别:二者的主要区别是取样本方式不同。bagging采用均匀取样,而boosting根据错误率来采样,因此boosting的分类精度要由于bagging。
baging的训练集选择是随机的,各轮训练集之前互相独立,而boosting的各轮训练集的选择与前面各轮的学习结果相关;bagging的各个预测函数没有权重,而boost有权重;
bagging的各个函数可以并行生成,而boosting的各个预测函数只能顺序生成。
对于象神经网络这样极为消耗时间的算法,bagging可通过并行节省大量的时间开销。baging和boosting都可以有效地提高分类的准确性。在大多数数据集中,boosting的准确
性要比bagging高。有一些数据集总,boosting会退化-overfit。boosting思想的一种改进型adaboost方法在邮件过滤,文本分类中有很好的性能。
5 gradient boost(Mart,Treenet):boosting是一种思想,Gradient Boosting是一种实现Boosting的方法,它的主要思想是,每一次建立模型,是在之前建立模型损失函数的梯
度下降方向。损失函数描述的是模型的不靠谱程度,损失函数越大,说明模型越容易出错。如果我们的模型能够让损失函数持续的下降,说明我们的模型在不停的改进,而最好
的方式就是让损失函数在其梯度的方向下降。
6 Rand Forest:随机森林,使用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一课决策树之间是没有关联的。在得到森林之后,当有一个新的输入
样本进入,就让森林中的每一颗决策树分别进行判断,看看这个样本属于那个类,然后看看哪一类被选择多,就预测为那一类。
在建立决策树的过程中,需要注意两点-采样和完全分裂。首先是两个随机采样的过程,random forest对输入的数据要经行行,列的采样。
对于行采样,采用有回放的方式,也就是在采样得到的样本集合中,可能有重复的样本。假设输入样本为N个,那么采样的样本也为n个。这样使得在训练的时候,每一颗树的
输入样本都不是全部样本,使得相对不容易出现over-fitting。然后进行采样,从M个feature中,选择m个。
之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无法继续分裂,要么里面的所有样本都是指向的同一类分类。一般的决策树
都有一个重要的步骤,剪枝,但是这里不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会over-fitting。按这种算法得到的随机森林中的每一颗
树都是很弱的,但是大家组合起来就很厉害了。可以这样比喻随机森林:每一颗决策树就是一个精通于某一个窄领域的专家,这样在随机森林中就有了很多个精通不同领域的专
家,对于新的样本,可以用不同的角度看待它,最终由各个专家,投票得到结果。
- 顶
- 1
快速理解bootstrap,bagging,boosting,gradient boost-三个概念的更多相关文章
- Jackknife,Bootstrap, Bagging, Boosting, AdaBoost, RandomForest 和 Gradient Boosting的区别
Bootstraping: 名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统 ...
- Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting的区别
引自http://blog.csdn.net/xianlingmao/article/details/7712217 Jackknife,Bootstraping, bagging, boosting ...
- Bagging, Boosting, Bootstrap
Bagging 和 Boosting 都属于机器学习中的元算法(meta-algorithms).所谓元算法,简单来讲,就是将几个较弱的机器学习算法综合起来,构成一个更强的机器学习模型.这种「三个臭皮 ...
- 【机器学习】Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting 这些术语,我经常搞混淆, ...
- CART分类与回归树与GBDT(Gradient Boost Decision Tree)
一.CART分类与回归树 资料转载: http://dataunion.org/5771.html Classification And Regression Tree(CART)是决策 ...
- GBDT(Gradient Boost Decision Tree)
原文:http://blog.csdn.net/aspirinvagrant/article/details/48415435 GBDT,全称Gradient Boosting Decision Tr ...
- [后端人员耍前端系列]Bootstrap篇:30分钟快速掌握Bootstrap
一.引言 很久没有写过博客了,但是最近这段时间都没有闲着,接触了很多方面.比如一些前端框架和组件.还有移动开发React-Native.以及对.NET框架设计的一些重新认识.这些内容在接下来的时间都会 ...
- 《深入理解bootstrap》读书笔记:第二章 整体架构
一. 整体架构 1. CSS-12栅格系统 把网页宽度均分为12等分(保留15位精度)--这是bootstrap的核心功能. 2.基础布局组件 包括排版.按钮.表格.布局.表单等等. 3.jQu ...
- 集成学习之Boosting —— Gradient Boosting原理
集成学习之Boosting -- AdaBoost原理 集成学习之Boosting -- AdaBoost实现 集成学习之Boosting -- Gradient Boosting原理 集成学习之Bo ...
随机推荐
- sprite学习
CSS雪碧图,就是把所有的图表,按钮和图形包含在一个图像里面.它要求: 静态图片,不随用户信息变化而变化:小图片,图片容量比较小:加载量比较大. 使用这种技术可以减少Web浏览器发出的服务器请求,显著 ...
- java贪吃蛇小游戏详解
https://blog.csdn.net/u011622021/article/details/81162083
- python 类属性、静态方法与类方法
1. 类属性 1.1 定义 在类中方法外通过属性名 = 属性值定义的属性 访问方式: 类名.属性名 对象名.属性名 class Student: cls_id = 102 stu = Student( ...
- 第三十一讲:UML类图(上)
类名 成员变量:属性 成员函数:方法 访问权限-属性名-属性的类型 访问权限-方法名-返回值,还可以传递参数列表. 继承类的类图 JAVA里面类的访问权限只有两种:package(默认的访问权限)和p ...
- 更新与发展 | Alibaba Cloud Linux 2 特性与开发细节揭秘
2019 年 4 月,Alibaba Cloud Linux 2 (Aliyun Linux 2) 正式开源.时至今日,已经走过三个月的里程.在这段时间内,这个刚诞生不久的为阿里云 ECS 环境定制优 ...
- 《2019年上半年Web应用安全报告》发布:90%以上攻击流量来源于扫描器,IP身份不再可信
Web应用安全依然是互联网安全的最大威胁来源之一,除了传统的网页和APP,API和各种小程序也作为新的流量入口快速崛起,更多的流量入口和更易用的调用方式在提高web应用开发效率的同时也带来了更多和更复 ...
- spark-ML基础
一.ML组件 ML的标准API使用管道(pipeline)这样的方式,可以将多个算法或者数据处理过程整合到一个管道或者一个流程里运行,其中包含下面几个部分: 1. dataFrame:用于ML的dat ...
- linux awk命令详解,使用system来内嵌系统命令, awk合并两列
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- jdbc连接数据库的步骤(转载)
http://hzy3774.iteye.com/blog/1689525 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过jav ...
- Directx11教程(32) 纹理映射(2)
原文:Directx11教程(32) 纹理映射(2) 在写代码之前,我们先制作一个dds文件.从网上找到了一张照片,处理成为512*512,保存为jpg格式. 启动微软的directx ...