一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解

来源:互联网 发布:烟台青少年编程培训 编辑:程序博客网 时间:2024/05/23 17:54
Bootstraping: 
名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,
有放回的抽样方法,是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法


bagging:
bootstrap aggregating的缩写,套袋法。
每次使用bootstraping方法抽取k个样本,得到k个训练集,k个训练集之间是相互独立的,每次使用一个训练集得到一个模型,k个训练集共得到k个模型。
对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;
对回归问题,计算上述模型的均值作为最后的结果。(即所有模型的重要性相同)


boosting:
以AdaBoost为例:通过迭代每次学习一个基本分类器,每次迭代中提高那些被前一轮分类器错误分类的数据的权值,而降低那些被正确分类的数据的权值,最后将基本分类器线性组合为强可学习分类器,其中给分类误差率小的基本分类器较大的系数权值,给分类误差率较大的基本分类器较小的系数权值。
bagging是基于随机取样建立模型,而boosting根据误差率调整权值


随机森林rand forest
是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,对于分类问题,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,采用投票的方式进行决策


梯度提升 gradient boost
每一次建立模型是在之前建立模型损失函数的梯度下降方向。
损失函数(loss function)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错。
让损失函数持续的下降说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降(梯度方向下降的最快)

另外:
1)Bagging + 决策树 = 随机森林
2)AdaBoost + 决策树 = 提升树
3)Gradient Boosting + 决策树 = GBDT
阅读全文
0 0