集成学习(ensemble learning)
集成学习就是说将多个 “单个学习器(Individual Learner)”用某种策略来结合起来,组成一个“学习委员会(committee)”,使得整体的泛化性能得到大大提高。
首先还先需要了解两个名词“弱分类器”和“强分类器”。
“弱分类器”的分类能力不强,但它又比随机选的效果稍微好点,类似于“臭皮匠”。
“强分类器”具有很强的分类能力,也就是把特征扔给它,他能分的比较准确,算是“诸葛亮”一类的。
如果直接可以建立一个强分类器,那弱分类器实际上就是多余的,但是,这世上“绝顶聪明的诸葛亮”少之又少,反而,在某方面有才华的人很多。于是,我们更多选择用三个臭皮匠去顶诸葛亮。
接下来介绍集成学习中的三大思想(仅介绍思想)。
boost(迭代优化)
boost通常采用改变训练数据的概率分布,针对不同的训练数据分布调用弱学习算法学习一组弱分类器。在多次迭代的过程中,当前次迭代所用的训练数据的概率分布会依据上一次迭代的结果而调整。也就是说训练数据的各样本是有权重的,这个权重本身也会随着迭代而调整。
即每一次迭代受上一次迭代结果影响,经过一次次迭代优化,形成强分类器。例如,像Adaboost和xgboost,最后的强分类器都是弱分类器的加性组合。
bagging(并行独立)
采用“增强聚合”思想,并行是他的主要特点。即分别