Decision stump、Bootstraping、bagging、boosting、Random Forest、Gradient Boosting

1)首先来看看 Decision stump https://en.wikipedia.org/wiki/Decision_stump A decision stump is a machine learning model consisting of a one-level decision tree.[1] That is, it is a decision tree with one internal node (the root) which is immediately connected to the terminal nodes (its leaves). A decision stump makes a prediction based on the value of just a single input feature. decision stump 只有一个 internal node(root) 其他的就是 terminal nodes (its leaves)

Decision stumps are often[6] used as components (called “weak learners” or “base learners”) in machine learning ensemble techniques such as bagging and boosting. For example, a state-of-the-art Viola–Jones face detection algorithm employs AdaBoost with decision stumps as weak learners.[7]

2)Bootstraping Bootstraping: 名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。其核心思想和基本步骤如下:   (1) 采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。   (2) 根据抽出的样本计算给定的统计量T。   (3) 重复上述N次(一般大于1000),得到N个统计量T。   (4) 计算上述N个统计量T的样本方差,得到统计量的方差。   应该说Bootstrap是现代统计学较为流行的一种统计方法,在小样本时效果很好。通过方差的估计可以构造置信区间等,其运用范围得到进一步延伸。

下面两个概念参考 https://www.cnblogs.com/pinard/p/6156009.html

3)bagging的原理 对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有m个样本训练集做T次的随机采样,,则由于随机性,T个采样集各不相同。 随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。 注意到这和GBDT的子采样是不同的。GBDT的子采样是无放回采样,而Bagging的子采样是放回采样。

对于一个样本,它在某一次含m个样本的训练集的随机采样中,每次被采集到的概率是1/m。不被采集到的概率为1−1/m。如果m次采样都没有被采集中的概率是当m→∞时,≃0.368。也就是说,在bagging的每轮随机采样中,训练集中大约有36.8%的数据没有被采样集采集中。 对于这部分大约36.8%的没有被采样到的数据,我们常常称之为袋外数据(Out Of Bag, 简称OOB)。这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力

bagging的集合策略也比较简单,对于分类问题,通常使用简单投票法,得到最多票数的类别或者类别之一为最终的模型输出。对于回归问题,通常使用简单平均法,对T个弱学习器得到的回归结果进行算术平均得到最终的模型输出。

由于Bagging算法每次都进行采样来训练模型,因此泛化能力很强,对于降低模型的方差很有作用。当然对于训练集的拟合程度就会差一些,也就是模型的偏倚会大一些。

给Bagging画了下面一张原理图

bagging算法流程

4)Random Forest 它是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进。

5)Boosting Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习1 的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

Boosting系列算法里最著名算法主要有AdaBoost算法和提升树(boosting tree)系列算法。提升树系列算法里面应用最广泛的是梯度提升树(Gradient Boosting Tree)。

上图第二个 alpha1 应该为 alpha2

6)gradient boosting gradient boosting:Boosting是一种思想,Gradient Boosting 是一种实现Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数(loss function)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏目标检测和深度学习

FAIR何恺明等人提出组归一化:替代批归一化,不受批量大小限制

选自arXiv 作者:吴育昕、何恺明 机器之心编译 自 Facebook 在 2017 年 6 月发布 1 小时训练 ImageNet 论文以来,很多研究者都在...

2877
来自专栏智能算法

机器学习算法比较

来自:D.W's Notes - Machine Learning 作者:刘帝伟 链接:http://www.csuldw.com/2016/02/26/201...

36812
来自专栏大数据挖掘DT机器学习

SIFT特征提取分析(附源码)

SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest poin...

3965
来自专栏机器人网

深度学习的前身,神经网络与神经元的概念

作者:Free 深度学习可以说是目前“人工智能浪潮”火热的一个根本原因,就是因为它的兴起,其中包括深度神经网络、循环神经网络和卷积神经网络的突破,让语音识别、...

3956

用强化学习学习优化

自从去年我们发表论文“ 学习优化 ”以来,优化器学习领域受到越来越多的关注。在这篇文章中,我们介绍这一行的工作,分享我们对这个领域的机遇和挑战的看法。

3318
来自专栏专知

迁移学习在深度学习中的应用

▌简介 ---- 迁移学习是一种机器学习方法,其中为一个任务开发的模型可以在另一个任务中重用。 迁移学习是深度学习中的一种流行方法,其中预训练(pre-trai...

2775
来自专栏IT派

机器学习算法再比较

原文地址:http://www.csuldw.com/2016/02/26/2016-02-26-choosing-a-machine-learning-cla...

3384
来自专栏IT派

机器学习各类算法比较

导语:机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常...

41712
来自专栏机器学习算法工程师

深度学习入门

引言 近几年来人工智能越来越火,大家都已经知道了AlphaGo的威力,然而在其背后,从技术层面来说,深度学习功不可没。那么深度学习到底是什么,其...

2867
来自专栏小樱的经验随笔

【机器学习笔记之六】Bagging 简述

本文结构: 基本流程 有放回抽样的好处 Bagging 特点 sklearn 中 Bagging 使用 Bagging 和 Boosting 的区别 ---- ...

2665

扫码关注云+社区