课程进度 58% · 第7/11章第7/11章 · 标签 1/3
— 1 —
集成学习
什么是集成学习?
集成学习就像是'三个臭皮匠,顶个诸葛亮'。单个模型(基学习器)可能有各种偏差和局限,但通过组合多个不同的模型,让它们'投票'或'协作',往往能得到比任何单个模型都更好的预测效果。集成学习是机器学习竞赛(如Kaggle)中的核心技术。
📖想象你在参加一个知识竞赛。你一个人可能答对80%的题,但如果找来三个擅长不同领域的队友:Alice精通数学、Bob擅长历史、Carol熟悉地理,你们小组讨论后一起作答,正确率可能飙升到95%。集成学习就是'组建最强团队'的策略——每个模型各有所长,合在一起就无敌了。
Bagging
- 并行训练多个同质模型
- 通过Bootstrap采样降低方差
- 代表:随机森林
Boosting
- 串行训练,逐步纠正错误
- 重点关注之前分错的样本
- 代表:XGBoost、LightGBM
Stacking
- 组合异构模型的预测结果
- 元学习器学习最佳组合方式
- 进阶策略,效果通常更好
常见的集成学习方法
1. 随机森林(Random Forest):基于Bagging思想构建多棵决策树,每棵树在随机采样的数据和随机选择的特征上训练,最终取平均(回归)或投票(分类)。
实践案例 - 信用评分:银行用随机森林评估贷款申请。每棵树看到的是不同的用户特征子集:有的侧重收入,有的侧重历史信用,有的侧重职业稳定性。综合所有树的判断,模型准确率从单棵决策树的72%提升到89%。
- 优点:抗过拟合能力强,不需要特征缩放
- 缺点:模型较大,预测速度较慢
- 适用场景:分类问题、特征重要性分析
2. XGBoost(极致梯度提升):基于Boosting思想的梯度提升框架,通过逐步添加决策树来纠正前一步的残差,是目前最流行的机器学习算法之一。
实践案例 - 房价预测:第一棵树根据面积预测房价为300万,残差是+50万;第二棵树专门学习残差,预测+30万;第三棵树预测剩余残差。三棵树加总得380万,比单棵树准确得多。Kaggle房价预测竞赛中,XGBoost是冠军标配。
- 优点:预测精度高,自带正则化防止过拟合
- 缺点:超参数较多,调参复杂
- 适用场景:回归问题、分类问题、排序问题
3. LightGBM(轻量级梯度提升):微软推出的高效梯度提升框架,采用基于直方图的算法和叶节点生长策略,训练速度相比XGBoost大幅提升。
实践案例 - 用户行为预测:某互联网公司需要预测用户点击率,数据规模达到100万用户×1000维特征。XGBoost训练需要6小时,LightGBM只需40分钟,精度还提高了0.5%。大数据场景下LightGBM是更优选择。
- 优点:训练速度快,内存占用少,支持类别特征
- 缺点:数据量较小容易过拟合
- 适用场景:大规模数据、高维特征、分类/回归/排序
— 2 —
BaggingBoostingStacking随机森林XGBoostLightGBM