集成学习算法
集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。
我们前面介绍的单一模型可以被称为“个体学习器”,如果是用于分类问题,也可以被称为“弱分类器”,例如决策树。
下面的分类参考周志华老师的教材。
根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类:
(1) 个体学习器间存在强依赖关系、必须串行生成的序列化方法。这种方法我们称为提升法(Boosting),其代表模型有 Adaboost(自适应提升算法,MATLAB分类学习器中使用的模型)、GBDT(梯度提升决策树)、Xgboost(极端梯度提升算法)。
(2) 个体学习器间不存在强依赖关系、可同时生成的并行化方法。这种方法我们称为装袋法(Bagging),另外,大家经常听到的**随机森林(Random Forest)**算法可以视为装袋法(Bagging)的一种改进,它们都是对决策树进行集成。具体的区别可以看周志华老师的教材。( 注意: Bagging 是 Bootstrap aggregating 的缩写,因此有的地方也翻译成自举汇聚法)
下列视频可以初步了解:
【五分钟机器学习】Adaboost:前人栽树后人乘凉
【五分钟机器学习】随机森林(RandomForest):看我以弱搏强