机器学习之bagging和boosting
在给大家介绍随机森林(randomforest)之前呢,先给大家介绍一下bagging思想。
作为集成学习的二个方法,其实bagging和boosting的实现比较容易理解,但是理论证明比较费力。下面首先介绍这两种方法。
所谓的集成学习,就是用多重或多个弱分类器结合为一个强分类器,从而达到提升分类方法效果。严格来说,集成学习并不算是一种分类器,而是一种分类器结合的方法。
1.bagging
bagging算是很基础的集成学习的方法,他的提出是为了增强分类器效果,但是在处理不平衡问题上却有很好的效果。
如上图,原始数据集通过T次随机采样,得到T个与原始数据集相同大小的子数据集,分别训练得到T个弱分类器Classifier,然后结合为一个强分类器。
以下给出随机采样的概率解释及效果分析:
采用的是概率论里面的booststrap思想,由于小样本估计的不准确性,再加上现代计算性能的提升,可以用重复的计算提升小样本的精度。
原始小样本不能正确反映数据的真实分布,用T次随机采样拟合真实分布
Bagging算法所得的个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,对立的就是boosting思想,个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,那我们说说boosting思想吧,
1. Boosting算法的工作机制是首先从训练集用初始权重训练出十个弱学习器1;
2. 根据弱学习的学习误差率表现来更新训练样本的权重,使之前弱学习器1学习误差率高
的训练样本点的权重变高而这些误差率高的点在后面的弱学习器2中得到更多的重视;
3.然后基于调整权重后的训练集来训练弱学习器2;
4.如此重复进行,直到弱学习器数达到事先指定的数日T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
Bagging,Boosting二者之间的区别
Bagging和Boosting的区别:
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果
- 点赞
- 收藏
- 关注作者
评论(0)