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反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性
过拟合 高偏差
欠拟合 高偏倚
集成学习,多个弱学习器的结合得到强学习器
两种方法: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反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性
过拟合 高偏差
欠拟合 高偏倚
相关文章推荐
- 转 asp.net中如何退出整个框架(frameset),回到登录界面
- 如何在虚拟机中安装winXP
- java实现单链表反转(递归方式)
- AST的节点调用的API
- 内部排序-交换式排序-选择排序
- 利用遍历思想求解图问题(输出所有路径)
- NYOJ--975--关于521
- String类的常用方法
- 关于Javascript函数的一些思考(一)
- 非单位时间任务安排问题
- sed
- WordPress主题制作入门(3)-后台制作
- qt/c++ 实现二维码生成(利用qrencode)
- Android使用XMPP协议、Openfire服务器和Smack类库实现即时通信
- Linux重定向:将标准输出stdout和标准错误stderr重定向到一个文件
- 机器视觉入门知识总结
- 转载:java集合类数据结构分析
- 【IOS】UILabel 属性及方法
- 搜索 Arithmetic Puzzles
- 对Python中文分词模块结巴分词算法过程的理解和分析