通过将多个学习器的预测结果进行组合,可以减少单个学习器的偏差(bias)和方差(variance),从而提高整体的泛化能力。 常见的集成学习方法有Bagging、Boosting、随机森林(Random Forest)等:
- Boosting:通过顺序训练一系列的基学习器,每个基学习器都会根据前一个基学习器的表现来调整训练样本的权重,从而逐步提高整体的预测性能。
- Bagging:通过对训练集进行有放回抽样,生成多个子训练集,并在每个子训练集上训练一个基学习器,最后将多个基学习器的预测结果进行投票或平均得到最终的预测结果。
- 随机森林:是一种基于决策树的集成学习方法,它通过随机选择特征子集和训练样本子集,构建多棵决策树,并通过投票的方式来进行预测。
什么是集成
一般来说,将好的和坏的东西混在一起,最终结果可能比较平庸,但是机器学习的目的并不是提高模型的准确率,而是提高模型的泛化能力,因为“世界不是非黑即白而是一道精致的灰”,这道精致的灰色便是模型集成的关键。
Boosting
顺序训练一系列弱学习器来构建一个强大的集成模型。Boosting算法通过对先前学习器的错误进行加权,逐步提高模型的准确性。
AdaBoost
Ada全称为Adaptive,因为这是第一个具有适应性的算法,算法如下:

-
优点:
- 精度高
- 可以将不同的分类算法作为弱分类器
-
缺点
- 数据不平衡导致精度下降
- 弱分类器数目不好确定
- 不适合并行计算
Gradient Boosting
基于梯度下降优化的Boosting算法。
通过迭代训练一系列弱学习器,每一轮迭代都会拟合前一轮模型的残差,从而逐步减小模型的预测误差。
与AdaBoost不同,Gradient Boosting使用的是回归树作为弱学习器。每一轮迭代都会计算残差,并通过梯度下降的方式更新模型参数,使得模型能够更好地拟合残差。最终,将所有弱学习器的预测结果进行加权组合,得到最终的集成模型。
随机森林
主要特点:
- 特征随机性:随机森林在构建决策树时引入了特征随机性。在每个决策树的节点上,随机森林从所有输入特征中随机选择一部分特征作为候选特征,然后根据某种评估准则(如信息增益或基尼系数)选择最佳的特征进行划分。这种特征随机性的引入有助于减少决策树之间的相关性,提高整体模型的泛化能力。
- 自助采样:随机森林使用自助采样(bootstrap sampling)的方法来构建多个训练集。自助采样是指从原始训练集中有放回地随机采样,得到与原始训练集大小相等的新训练集。通过自助采样,每个决策树的训练集都会略有差异,从而增加了模型的多样性。
- 集成预测:随机森林通过对所有决策树的预测结果进行综合来进行最终的预测。对于分类任务,采用投票法(majority voting);对于回归任务,采用平均法。通过集成多个决策树的预测结果,随机森林能够减少过拟合的风险,提高模型的稳定性和泛化能力。