摘要#
集成学习是一类通过组合多个基础模型来提升整体预测性能的机器学习方法,其核心思想是“众多弱学习器通过协同作用形成强学习器”。相较于单一模型,集成学习在稳定性、泛化能力以及抗过拟合方面通常具有更优表现。本章围绕集成学习的基本思想与三大主流范式——Bagging、Boosting与Stacking展开,并进一步深入到随机森林与多种提升算法的理论与实现,使读者能够系统掌握从基础集成策略到现代工业级提升模型的完整体系。
本章首先介绍集成学习的基本思想与分类方法,说明不同集成策略在模型构建方式上的本质差异。其中,Bagging通过并行训练多个模型并进行投票或平均来降低方差,Boosting则通过逐步迭代优化模型来降低偏差,而Stacking则通过元学习器对多个模型输出进行再融合,从而进一步提升预测能力。在此基础上,本章重点介绍随机森林模型,分析其基于Bagging思想与特征随机采样机制的原理,并通过示例代码展示其在分类任务中的应用,同时讲解特征重要性评估方法,使模型具有一定的可解释性。
在实践部分,本章通过泰坦尼克号生还预测任务,将集成学习方法应用于真实数据场景中,涵盖数据读取、特征处理、缺失值填充以及模型训练与预测的完整流程,使读者能够理解机器学习项目的端到端实现方式。在提升算法部分,本章重点讲解AdaBoost算法,从加权训练误差最小化出发推导其前向分步加法模型,并通过从零实现加深对其迭代机制的理解。
进一步地,本章扩展到Multi-AdaBoost与SAMME算法,说明其在多分类任务中的扩展形式,并结合损失函数与优化目标进行系统推导。同时,本章还介绍Gradient Boosting方法,从残差拟合的角度解释其核心思想,并分别讨论其在回归与分类任务中的应用形式,通过从零实现Gradient Boosting模型,使读者能够深入理解“逐步优化误差”的核心机制。
通过本章学习,读者将系统掌握集成学习与提升算法的理论基础与工程实现能力,不仅能够熟练使用随机森林与Boosting模型解决实际问题,还能够理解其背后的优化思想与统计学习原理,为后续学习更复杂的深度集成模型与大规模工业应用打下坚实基础。
本章内容
9.1 集成学习算法
在本节中,我们首先介绍了机器学习中集成学习的基本思想,接着介绍了3种常见集成学习方法Bagging、Boosting和Stacking的基本思想,最后分别就这3种集成学习方法各自在sklearn中的示例用法进行了详细介绍。
9.2 随机森林
在本节中,我们首先介绍了随机森林的基本原理,然后介绍了sklearn中随机森林模块RandomForestClassifier的基本用法及其中常见参数的作用,最后详细介绍了如何通过随机森林来对特征进行重要性评估,包括具体的计算及示例代码等。
9.3 泰坦尼克号生还预测
在本节中,我们以泰坦尼克号生还预测数据集为例,首先介绍了如何通过pandas来读取结构化的文本数据,然后详细地展示了从数据预处理到模型预测的每个步骤,包括读取数据集、特征选择、缺失值补充、特征转换和模型选择等,最后以随机森林为例,完成了随机 …
9.4 AdaBoost原理与实现
通过9.1.4节内容的介绍,我们对于Boosting集成学习的基本思想已经有了一定的了解。在本节内容中,将会介绍Boosing算法中第1种常见的提升学习算法——AdaBoost (Adaptive Boosting) 。
9.5 MultiAdaBoost原理与实现
在9.4节内容中,我们详细介绍了AdaBoost算法的思想原理和实现过程,算是对于AdaBoost算法框架有了一个基本的认识。根据AdaBoost算法的原理可知,其最初主要是被用于二分类任务中[6],因此它并不能很好地处理多分类问题。
9.6 Gradient Boost 原理与实现
在前面两节内容中,我们分别详细介绍了AdaBoost算法和基于AdaBoost改进的SAMME算法的基本原理和实现过程。在接下来的这节内容中将会介绍另外一种基于Boost策略的算法模型——梯度提升(Gradient Boosting, …