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

相关文章

来自专栏汪毅雄的专栏

机器学习之回归(二):广义线性模型(GLM)

本文在上篇线性回归的基础上,延伸到广义线性模型,并把广义线性模型目的、假设条件来源,指数族分布、连接函数等各个函数的关系都进行详细地解释。最后用两个常见的 GL...

8081
来自专栏机器学习算法原理与实践

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

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

803
来自专栏机器学习算法原理与实践

特征工程之特征预处理

    在前面我们分别讨论了特征工程中的特征选择与特征表达,本文我们来讨论特征预处理的相关问题。主要包括特征的归一化和标准化,异常特征样本清洗与样本数据不平衡问...

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

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

提升是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型的生成都是依据损失函数的梯度方...

872
来自专栏CSDN技术头条

程序员入门 AI 的4种方法

每当提到AI、深度学习、机器学习,大家总是被其中的各种各样的算法和方法搞晕,觉得无从下手。本文理清了机器学习的4种方法。

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

机器学习(24)之Bagging与随机森林

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

3176
来自专栏瓜大三哥

图像分割(二)

图像分割(二) 之基于边缘分割 所谓边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续的反应,体现了灰度、颜色、纹理等图像特性的突变。...

1937
来自专栏鸿的学习笔记

分类问题中的维度诅咒(下)

换句话说,如果可用训练数据的数量是固定的,我们继续添加维度的话,则会发生过拟合。另一方面,如果我们不断增加维度,训练数据的数量需要快速增长以保持相同的覆盖,并避...

541
来自专栏人工智能

AI新闻报简单自学机器学习理论——正则化和偏置方差的权衡

在第一部分探讨了统计模型潜在的机器学习问题,并用它公式化获得最小泛化误差这一问题;在第二部分通过建立关于难懂的泛化误差的理论去得到实际能够估计得到的经验误差,最...

18010
来自专栏人工智能LeadAI

GBDT(梯度提升决策树)总结笔记

数据:对于输入数据 $$$x_i \in R^d$$$,训练数据里的第i个样本。 模型:如何对于给定的 $$$x_i$$$预测 $$$\hat{y}_i$$$。

893

扫码关注云+社区