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

前阵子面试数据挖掘岗位被问到了是否了解集成学习,以及它们之间的区别,结果因为没有好好做准备,没有答上来。 事实上,在实际应用与很多比赛中,树模型(随机森林、GBDT、XGBOOST等)应用十分广泛,表现也十分优异。所以面试中,如果你的简历中涉及到了哪怕一点点的树模型,那么面试官一定会问你集成学习相关问题!!!之前写过关于树模型的文章,但是感觉集成学习方面写的很浅、也没那么好理解、面试答的也不好,因此专门写此文加深印象。

集成学习是什么?

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

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

在这里插入图片描述

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

注:Bagging是bootstrap aggregating的简写。其中,bootstrap也称为自助法,它是一种有放回的抽样方法,目的为了得到统计量的分布以及置信区间。具体步骤:
1、采用重抽样方法(有放回抽样)从原始样本中抽取一定数量的样本
2、根据抽出的样本计算想要得到的统计量T
3、重复上述N次(一般大于1000),得到N个统计量T
4、根据这N个统计量,即可计算出统计量的置信区间

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

举例:以论文审稿为例,首先是三个审稿人分别对论文进行审稿,然后分别返回审稿意见给总编辑,总编辑会结合审稿人的意见给出最终的判断,即是否录用。对应于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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值