0
点赞
收藏
分享

微信扫一扫

算法面试机器学习树模型,集成学习必准备

ZGtheGreat 2022-01-26 阅读 74

文章目录

集成学习是什么?

集成学习 (Ensemble Learning) 算法的基本思想就是将多个个体学习器组合,从而实现一个预测效果更好的集成学习器。即将这些个体学习器集合成一个强学习器。主要有Bagging, Boosting, Stacking
在这里插入图片描述
弱学习器(weak learner):指泛化性能略优于随机猜测的学习器:例如在二分类问题桑精度略高于50%的分类器。

Bagging, Boosting分别是什么?它们的区别是什么?

在这里插入图片描述

从上图可以看出,
Bagging的个体弱学习器的训练集是通过随机采样得到的。通过3次的随机采样,我们就可以得到3个采样集,对于这3个采样集,我们可以分别独立的训练出3个弱学习器,再对这3个弱学习器通过集合策略(取加权平均或者投票法)来得到最终的强学习器。

Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

BaggingBoosting
结构并行串行
训练集相互独立相互依赖
代表随机森林AdaBoost算法、提升树(boosting tree)系列
样本选择上训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
样例权重使用均匀取样,每个样例的权重相等根据错误率不断调整样例的权值,错误率越大则权重越大。
预测函数所有预测函数的权重相等每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

为什么bagging是减少variance,而boosting是减少bias?

首先要明确variance和bias。 variance是🈯️方差,反映的数据的离散程度;bias是偏差,反映的是与真实数据的偏离程度。训练一个模型,就是两者的一个trade-off,如下图所示。
在这里插入图片描述
从算法来看,Bagging关注的是多个基模型的投票组合,保证了模型的稳定;而Boosting采用的策略是在每一次学习中都减少上一轮的偏差。

简单介绍一下Stacking

Stacking 就是将一系列模型(也称基模型)的输出结果作为新特征输入到其他模型,这种方法由于实现了模型的层叠,即第一层的模型输出作为第二层模型的输入,第二层模型的输出作为第三层模型的输入,依次类推,最后一层模型输出的结果作为最终结果。
图为两层
上图为两层。

Reference

https://zhuanlan.zhihu.com/p/39920405
https://zhuanlan.zhihu.com/p/27689464
https://easyaitech.medium.com/%E4%B8%80%E6%96%87%E7%9C%8B%E6%87%82%E9%9B%86%E6%88%90%E5%AD%A6%E4%B9%A0-%E8%AF%A6%E8%A7%A3-bagging-boosting-%E4%BB%A5%E5%8F%8A%E4%BB%96%E4%BB%AC%E7%9A%84-4-%E7%82%B9%E5%8C%BA%E5%88%AB-6e3c72df05b8
https://note.zbmain.com/ainote/machineleaning/%E7%AE%97%E6%B3%952/%E9%9B%86%E6%88%90%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/section9.html

举报

相关推荐

0 条评论