这两个算法在面经中提到较多,故而整理一下。
1.集成学习(将多个弱学习器组合成为强学习器)
串行:Boosting,后一个学习器依赖于前一个,故为串行
- 比较有名的是AdaBoost,每次迭代训练一个学习器,并提高前一轮学习器分类错误样本的权值,降低分类正确的权值
并行:bagging(样本扰动)、随机森林(样本扰动和属性扰动)
Bagging和Boosting的区别:
1)样本选择上:Bagging训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。Boosting每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:Bagging使用均匀取样,每个样例的权重相等。Boosting根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数:Bagging所有预测函数的权重相等。Boosting每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:Bagging各个预测函数可以并行生成。Boosting各个预测函数只能顺序生成