https://zhuanlan.zhihu.com/p/39920405
https://zhuanlan.zhihu.com/p/126968534
两大问题
- 如何得到若干个个体学习器
- 个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成的序列化方法,代表算法是boosting系列算法,
- 个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。
-
三大策略
Bagging(Bootstrap aggregating)
过程
使用Bootstrap sample(有放回的随机采样,这里说明一下,有放回抽样是抽一个就放回一个,然后再抽,而不是这个人抽10个,再放回,下一个继续抽,它是每一个样本被抽中概率符合均匀分布)的方法取了k个数据子集(子集样本数都相等)作为新的训练集;
- 使用这k个子集分别训练k个学习器;
将测试数据输入到这k个学习器,会得到k个结果,用投票或加权平均得到预测结果
特点
Boosting
特点
每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。(顾名思义“boost”)
Stacking:
过程
使用训练数据,训练T个不同的模型,得到T个基模型。
- 使用T个基模型,分别对训练数据进行预测,与原始训练数据的标签一起组成新的训练数据。
- 使用T个基模型,分别对测试数据进行预测,生成新的测试数据。
- 使用新的训练数据,训练一个元模型。
- 使用元模型对测试数据进行预测,得到最终结果。
分类
- 个体学习器分类
- 所有的个体学习器都是一个种类的(同质的(homogeneous)),同质集成中的个体学习器也称为“基学习器”(base learner),相应的学习算法称为“基学习算法”(base learning algorithm)。比如都是决策树个体学习器,或者都是神经网络个体学习器。
- 所有的个体学习器不全是一个种类的(异质的(heterogeneous))。比如我们有一个分类问题,对训练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器。这时个体学习器一般不称为基学习器,而称作“组件学习器”(component leaner)或直接称为个体学习器。
综合方法分类
初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始都被赋予相同的权值1/N。
- 训练弱分类器。训练过程中,如果某个样本点已经被准确的分类,那么在构造下一个训练集中,他的权值会被降低。相反,如果某个样本点没有被准确分类,那么它的权值就会得到提高。权值更新过的样本集会被用于训练下一个分类器,整个训练过程如此迭代的进行下去。
- 多个弱分类器组合成强分类器。各个弱分类器的训练过程结束后,增加分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用;而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用
其他细节
https://cloud.tencent.com/developer/article/1486719
