前言
欢迎来到本系列的第三课!一句古老的谚语说:“三个臭皮匠,顶个诸葛亮”。这正是集成学习的核心思想。它并不寻求找到那个“最好”的单一模型,而是通过一种系统性的方法,将多个“弱”学习器(通常是决策树)的“集体智慧”结合起来,从而获得远超任何单个学习器的、更强大、更稳定的性能。
集成学习是 KAGGLE 等数据科学竞赛中获胜的“标配”,也是工业界解决复杂分类和回归问题的首选武器。
本期核心内容:
-
Bagging 思想:学习“众人拾柴火焰高”的并行集成法,并深入随机森林。
-
Boosting 思想:学习“后浪推前浪”的串行集成法,理解 AdaBoost 和 GBDT 的迭代优化原理。
-
现代 Boosting 框架:对比分析三大“竞赛大杀器”——XGBoost, LightGBM, CatBoost 的异同。
第一章:群体智慧 —— Bagging 与随机森林
Bagging 的核心目标是降低模型的方差 (Variance),即解决过拟合问题。
1.1 Bagging 思想 (Bootstrap Aggregating)
Bagging 的流程非常直观,分为两步:
-
Bootstrap (自助采样):从原始训练数据集中,进行有放回的随机抽样,创建出
N
个大小相同但内容略有不同的新训练数据集。 -
Aggregating (聚合):在每个新的训练数据集上,独立地、并行地训练出一个基模型(例如一个决策树)。最后,将这
N
个模型的预测结果进行聚合:-
分类问题:进行投票,得票最多的类别作为最终预测。
-
回归问题:取所有模型预测值的平均值。
-
核心作用:通过在略有不同的数据子集上训练多个模型,每个模型都会产生一些偏差和过拟合。但在最终聚合时,这些模型的“错误倾向”会相互抵消,从而使得整体模型的泛化能力更强,结果更稳定。
1.2 随机森林 (Random Forest)
随机森林是 Bagging 思想最成功的应用,它在 Bagging 的基础上,增加了一层“随机性”来进一步提升模型的稳健性。
-
随机森林 = Bagging (数据采样) + 特征采样
它的构建过程是:
-
对数据进行自助采样(同 Bagging)。
-
在每个训练子集上,构建一棵决策树。
-
关键创新:在构建决策树的每个节点进行分裂时,不是从所有特征中选择最优的,而是随机地从全部特征中抽取一个子集,再从这个子集中选择最优的特征进行分裂。
“特征采样”的意义: 这种做法进一步降低了所有树之间的相关性。试想,如果数据中有一个极强的特征,那么在普通的 Bagging 中,几乎每一棵树的顶层节点都会选择这个特征来进行分裂,导致所有树的结构都非常相似。而随机森林通过限制每个节点可选的特征,“强迫”每棵树去探索其他的、可能也很有用的特征组合,从而构建出一个更多样化、更不容易过拟合的“森林”。
第二章:精益求精 —— Boosting
与 Bagging 的并行思想不同,Boosting 的核心是串行和迭代。它的目标是降低模型的偏差 (Bias),即解决欠拟合问题,不断提升模型的精度。
-
核心思想:串行地构建一系列基模型,每一个新模型都重点关注和学习前一个模型预测错误的样本。
-
比喻:像一个学生团队做一套题。第一个学生先做一遍;然后,第二个学生过来,专门针对第一个学生做错的题目进行“加强训练”;第三个学生再针对前两个学生的综合错误进行训练……以此类推,最终的答案是所有学生加权投票的结果。
2.1 AdaBoost (Adaptive Boosting)
AdaBoost 是最早、最经典的 Boosting 算法。
-
工作原理:它通过调整样本权重来实现对“错题”的关注。
-
开始时,所有训练样本的权重相同。
-
训练第一个弱学习器。
-
增加被这个学习器预测错误的样本的权重,降低预测正确的样本的权重。
-
基于新的样本权重,训练下一个弱学习器。
-
重复以上步骤,直到达到预设的学习器数量。最终的预测结果是所有弱学习器预测结果的加权投票,表现越好的学习器,其投票权重越高。
-
2.2 梯度提升决策树 (Gradient Boosting Decision Trees, GBDT)
GBDT 是一个更通用、更强大的 Boosting 框架。
-
工作原理:它不再通过调整样本权重,而是通过拟合残差 (Residuals) 来学习。
-
第一个模型(通常是一棵简单的决策树)对数据进行预测,得到一个预测值。
-
计算每个样本的预测值与真实值之间的差距,这个差距就是残差(即“错误”)。
-
第二个模型不再预测原始目标,而是去拟合这个残差。
-
将第一个模型的预测值,加上第二个模型(残差模型)的预测值,得到一个新的、更接近真实值的整体预测。
-
计算新的残差,训练第三个模型去拟合这个新残差……
-
不断重复,每一个新加入的树,都在修正前面所有树的累积误差。
-
-
核心思想:通过梯度下降的思想,在函数空间中,让模型不断地朝着损失函数减小最快的方向进行迭代优化。
第三章:模型之巅 —— 现代 Boosting 框架
GBDT 的思想极其强大,但其标准实现存在效率问题。为此,工业界和学术界开发出了一系列高度优化的 GBDT 框架,它们是当今处理表格数据问题的性能王者。
对比维度 | XGBoost | LightGBM | CatBoost |
核心优势 | 性能均衡、稳定、功能全面 | 训练速度极快、内存占用低 | 对类别特征 (Categorical Features) 处理极其出色 |
关键创新 | • 内置正则化:在损失函数中加入了L1/L2正则项,有效防止过拟合。<br>• 并行化优化:通过预排序、分块等技术,高效支持并行计算。<br>• 处理稀疏数据:内置了处理缺失值的策略。 | • Leaf-wise 生长策略:不同于XGBoost的level-wise,它每次都选择分裂增益最大的叶子节点,效率更高。<br>• GOSS:基于梯度的单边采样,保留梯度大的样本,随机采样梯度小的样本。<br>• EFB:互斥特征捆绑,将稀疏特征捆绑,降低维度。 | • Ordered Boosting & Ordered TS:最核心的创新。在处理类别特征时,使用一种有序的策略,有效避免了“目标泄漏”,大大提升了模型的准确性。<br>• 对称树:默认构建对称的决策树。 |
适用场景 | 几乎所有表格数据问题,是一个非常稳健的基准和生产选择。 | 数据量巨大、追求极致训练速度的场景。 | 数据集中含有大量类别特征的场景,通常无需繁琐的预处理就能获得极好效果。 |
总结与下一课预告
在本期中,我们深入了机器学习中性能提升的“核武器”——集成学习:
-
我们学习了 Bagging 思想,它通过并行训练多个独立模型并聚合结果来降低方差,其代表作是随机森林。
-
我们学习了 Boosting 思想,它通过串行训练一系列模型,让每个新模型都专注于修正前序模型的错误,从而降低偏差,其代表作是 GBDT。
-
我们对比了当今最先进的三大 Boosting 框架 XGBoost, LightGBM, CatBoost,了解了它们各自的独门绝技和适用场景。
至此,我们已经覆盖了监督学习中的绝大部分核心模型。然而,现实世界中的许多数据,并没有现成的“标签”。
在下一课中,我们将踏入一个全新的领域——无监督学习。我们将学习如何在没有标准答案的数据中,自动地发现其内在的结构与模式,我们将从最经典的K-Means 聚类和 PCA 降维开始。敬请期待!