集成学习(Ensemble Learning) 通过构建并结合多个学习器来完成学习任务。 俗话说"三个臭皮匠顶个诸葛亮",这正是集成学习的核心思想。
可能犯错
少数服从多数
关键条件: 个体学习器要"好而不同"——既要有一定的准确性,又要有多样性。
个体学习器属于同一类型
个体学习器包含不同类型
可视化对比单个学习器和集成学习器的决策边界(开发中)
交互式演示开发中
将展示集成如何降低误差
Boosting是一族可将弱学习器提升为强学习器的算法。 其工作机制:先训练一个基学习器,再根据其表现调整训练样本分布,使后续学习器更关注之前分错的样本。
核心思想: 通过序列化训练,让后面的学习器专注于前面学习器的"短板"。
AdaBoost (Adaptive Boosting) 是最著名的Boosting算法之一。
学习器权重:
错误率εt越小,权重αt越大
样本权重更新:
分类错误的样本权重增加,正确的减少
可视化AdaBoost如何逐步调整样本权重和组合弱分类器(开发中)
交互式演示开发中
将展示样本权重的动态调整过程
Bagging(Bootstrap AGGregatING) 基于自助采样法(Bootstrap Sampling), 通过并行训练多个学习器并进行结合来降低方差。
分类任务
简单投票法
回归任务
简单平均法
为什么有效: 通过训练集的扰动,个体学习器之间产生差异,降低整体方差。
随机森林是Bagging的一个扩展变体,以决策树为基学习器, 在Bagging的基础上进一步引入了随机属性选择。
Bootstrap采样
随机选择k个属性
可并行,决策树简单
泛化能力强,准确度高
对噪声和过拟合抗性强
观察多棵决策树如何通过投票机制得到最终预测,理解特征随机和样本随机的作用
点击"训练森林"开始预测
每棵树使用自助采样(Bootstrap)从训练集中有放回地抽取样本,约63.2%的样本会被选中
每次分裂时,从所有特征中随机选择k个特征,通常k = log₂d,增强树的多样性
分类任务:多数投票(Majority Voting)
回归任务:平均预测值(Averaging)
学习器结合可能从三个方面带来好处:统计、计算、表示。
用于回归任务
用于分类任务
Stacking
• 初级学习器:在原始数据集上训练多个不同的学习器
• 次级学习器:将初级学习器的输出作为新特征,训练元学习器
• 优势:理论上可以学习到最优的结合方式
集成学习要取得好的性能,个体学习器应"好而不同"。多样性(Diversity) 是集成学习成功的关键。
权衡: 多样性和准确性之间存在冲突。理想的集成应在两者间取得最佳平衡。
✓集成学习通过构建并结合多个学习器,往往能获得比单一学习器更好的泛化性能
✓Boosting串行训练,关注难分样本,主要降低偏差;Bagging并行训练,降低方差
✓随机森林在Bagging基础上引入随机特征选择,是最成功的集成学习方法之一
✓结合策略包括平均法、投票法和学习法(Stacking),应根据任务选择合适的策略
✓多样性是集成学习的关键,可通过数据、属性、输出、参数等多种方式增强
✓实践中随机森林和GBDT(梯度提升决策树)是最常用和效果最好的集成方法