集成学习
集成学习的核心思想是将若干个个体学习器以一定策略结合起来,最终形成一个强学习器,以达到博采众长的目的。所以集成学习需要解决的核心问题主要有两点:1)如果得到若干个个体基学习器,2)以什么策略把这些个体基学习器结合起来。
关于基学习器
可以采用相同类别,也可以采用不同类别;
各个即学习器之间可以有关联,也可以无关联;
关于组合策略
可以采用均等投票机制或者采用权重投票机制;
根据以上几点不同,集成学习衍生出两类比较流行的方式,即Bagging模型和Boosting模型。
Bagging模型:
Bagging模型的核心思想是每次同类别、彼此之间无强关联的基学习器,以均等投票机制进行基学习器的组合。
具体方式是:从训练集样本中随机抽取一部分样本,采用任意一个适合样本数据的机器学习模型(如决策树模型或者Logistic回归模型)对该样本进行训练,得到一个训练好的基学习器;然后再次抽取样本,训练一个基学习器;重复指定的次数,得到多个基学习器,接着让每个基学习器对目标进行预测,得到一个预测结果,最后以均等投票的方式,采用少数服从多数的原则确定最后的预测结果。
需要注意的是,Bagging模型每次对样本数据的采样是有放回的,这样每次采样的数据可能会包含部分前面采样的数据。
Boosting模型:
与Bagging模型不同,Boosting模型的各个基学习器之间存在强关联,即后面的基学习器是建立在它之前的基学习器的基础上的,Boosting模型的代表是提升算法(AdaBoost),更具体的是提升树(Boosting Tree),而提升树比较优秀的实现模型是梯度提升树(GBDT和XGBoost)。