0
点赞
收藏
分享

微信扫一扫

【集成学习】如何理解Bagging和Boosting的差异,以及Boosting算法基本原理?

1 Bagging pk Boosting

☑️ Bagging和Boosting对比

装袋法 Bagging提升法 Boosting
弱评估器相互独立,并行构建相互关联,按顺序依次构建先建弱分类器的预测效果影响后续模型的建立
集成的结果回归平均分类众数每个算法具有自己独特的规则,一般来说: (1) 表现为某种分数的加权平均,(2) 使用输出函数
目标降低方差。提高模型整体的稳定性来提升泛化能力,本质是从“平均”这一数学行为中获利降低偏差。提高模型整体的精确度来提升泛化能力,相信众多弱分类器叠加后可以等同于强学习器
建树前的抽样方式样本有放回抽样,特征无放回抽样样本有放回抽样,特征无放回抽样;先建弱分类器的预测效果可能影响抽样细节
单个评估器容易过拟合的时候具有一定的抗过拟合能力具有一定的抗过拟合能力
单个评估器的效力比较弱的时候可能失效大概率会提升模型表现
代表算法随机森林梯度提升树,Adaboost

2 Boosting算法的基本元素与基本原理

📖 Boosting算法的三大基本元素

  • 损失函数 𝐿(𝑥,𝑦) :用以衡量模型预测结果与真实结果的差异
  • 弱评估器 𝑓(𝑥) :(一般为)决策树,不同的boosting算法使用不同的建树过程
  • 综合集成结果 𝐻(𝑥) :即集成算法具体如何输出集成结果

☑️ Boosting算法的流程原理

  1. 依据上一个弱评估器 f ( x ) t − 1 f(x)_{t−1} f(x)t1 的结果,计算损失函数 𝐿(𝑥,𝑦) ;
  2. 并使用 𝐿(𝑥,𝑦) 自适应地影响下一个弱评估器 f ( x ) t f(x)_t f(x)t 的构建;
  3. 集成模型输出的结果,受到整体所有弱评估器 f ( x ) 0 ∼ f ( x ) T f(x)_0\sim{f(x)_T} f(x)0f(x)T 的影响。

3 sklearn中的boosting算法

☑️ sklearn中的boosting算法

Boosting算法集成类
ADB分类sklearnAdaBoostClassifer
ADB回归sklearnAdaBoostRegressor
梯度提升树分类sklearnGradientBoostingClassifier
梯度提升树回归sklearnGradientBoostingRegressor
直方提升树分类sklearnHistGraidientBoostingClassifier
直方提升树回归sklearnHistGraidientBoostingRegressor
极限提升树第三方库xgboostxgboost.train()
轻量梯度提升树第三方库lightgbmlightgbm.train()
离散提升树第三方库catboostcatboost.train()
举报

相关推荐

0 条评论