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 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

机器学习(23)之GBDT详解

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 在(机器学习(20)之Adab...

3467
来自专栏生信小驿站

机器器学习算法系列列(1):随机森林随机森林原理随机森林的生成随机采样与完全分裂随机森林的变体

顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决 策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让...

982
来自专栏新智元

【干货】随机森林的Python实现

【新智元导读】在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林几乎是任何预测类问题(甚至非线性问题)...

3265
来自专栏机器学习算法与理论

与人脸有关的模型总结

ASM(Active Shape Model)早期的基于统计学习的人脸配准算法 AAM (active appearance model)是ASM的改进算法 C...

2728
来自专栏智能算法

结合Scikit-learn介绍几种常用的特征选择方法(上)

特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型...

5816
来自专栏人工智能

Bagging算法

Bagging算法(bootstrap aggregation)由Leo Breiman提出。是一种在每个自助样本集上建立基分类器,通过投票指派得到测试样本最终...

2266
来自专栏机器学习算法全栈工程师

机器学习(一)集成学习

1. 关于集成学习的概念   集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类...

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

快速理解bootstrap、bagging、boosting

Bootstraping: 名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽...

2847
来自专栏IT派

机器学习之集成学习

1. 关于集成学习的概念   集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类...

3176
来自专栏https://www.cnblogs.com/L

【机器学习】--集成算法从初始到应用

集成思想就是让很多个训练器决定一个结果,目的:让机器学习效果更好,单个不行,群殴走起。

422

扫码关注云+社区