您的位置:首页 > 其它

Bagging和Boosting的对比:

2015-11-24 21:17 120 查看
Bagging和Boosting的对比:

集成学习,多个弱学习器的结合得到强学习器

两种方法:bagging boosting

Bagging(randomforest) :

采用重复随机的采样,随机子样本集or子特征集,将每一个子集得到的预测模型采取平均值的方法得到最终结果。

其中,随机森林,在训练数据的随机子集上训练许多决策树,然后使用单个树的预测均值作为最终的预测。随机子集是从原始的训练数据抽样,通过在记录级有放回抽样(bootstrap)和在特征级随机二次抽样得到。

Bagging采用重复取样,每个个体所采用的训练样本都是从训练集中按等概率抽取的,因此Bagging的各子网能够很好的覆盖训练样本空间,从而有着良好的稳定性。说明Bagging主要减小了variance

Boosting(adaboost gbdt):

Boosting是基于权重的弱学习器的结合,采用迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小,越来越接近真实值。说明Boosting主要减小了bias。

其中AdaBoost(Adaptive Boosting)。初始化时对每一个训练例赋相等的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练进行学习,从而得到一个预测函数序列h其中h也有一定的权重,预测效果好的预测函数权重较大,反之较小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。

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

对比:

Bagging的训练集的选择是随机的,各轮训练集之间相互独立;

Bagging的各个预测函数没有权重;

Bagging的各个预测函数可以并行生成,对于神经网络这样极为耗时的学习方法,Bagging可通过并行训练节省大量时间开销。  

Boostlng的训练集的选择是独立的,各轮训练集的选择与前面各轮的学习结果有关;

Boosting是有权重的;随机梯度提升算法可以进行并行计算.

Boosting的各个预测函数只能顺序生成。

bagging和boosting都可以有效地提高分类的准确性。在大多数数据集中,boosting的准确性比bagging高。在有些数据集中,boosting会引起退化。---Overfit

单独笔记1:

对比GBDT和DT会发现GBDT较DT有两点好处:1)GBDT本身是集成学习的一种算法,效果可能较DT好;2)GBDT中的DT一般是RT,所以预测出来的绝对值本身就有比较意义,而LR能很好利用这个值。

单独笔记2:

Error = Bias + Variance

Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性

过拟合 高偏差

欠拟合 高偏倚
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: