集成学习原理

什么是集成学习(Ensemble learning)?

最常听到的关于集成学习的说法就是:“三个臭皮匠,顶个诸葛亮”。整个模型内部是由多个弱监督模型组成,每个弱监督模型只在某个方向表现较好,把这些监督算法合而为一,就可以得到稳定且各方面都表现较好的模型。
而集成方法(Ensemble method)就是将几种分类器组合成一个预测模型的元算法。

下面总结一下集成学习的几个方法

随机森林(bagging类型)

随机森林(Random forest),“森林”表示整个模型中包含了很多决策树,“随机”表示森林中的每棵决策树都是随机从数据集中采样来训练。

举个例子,下面是一些数据。有5个样本,每个样本有3个特征。

ID有房吗?单身吗?年收入大于80k?拖欠贷款
1
2
3
4
5

这里假设森林里有3棵树,随机采样训练。
训练第一棵树,采用的是红色框处的数据进行训练:
在这里插入图片描述
训练第二棵树,采用的是绿色框处的数据进行训练:

在这里插入图片描述
训练第三棵树,采用的是蓝色框处的数据进行训练:

在这里插入图片描述
每棵树都完成训练后,将一个待测样本分别送至三棵树中做决策,因为每棵树不同,所以得到的决策结果会有差别,将这3个结果综合起来就得到随机森林最终输出。

随机森林的训练过程:
① 设定模型的超参数:几棵树,每棵树多高(几层)?
② 随机采样,训练每棵决策树
③ 先将待测样本输入到每棵决策树,最后再将每棵树的决策结果进行整合。(回归问题,求均值;分类问题,找出现类别最多的)

优点
① 模型随机性强,不易过拟合
② 因为每次采样选取小部分,对高维数据处理速度更快
③ 树状结构,模型可解释度高,特征的重要性也明了
缺点
① 模型过于一般化,难于处理困难样本,使得整合结果也很一般
说得通俗一点就是,虽然三个臭皮匠凑在一起可能比以前好,但对于特别复杂困难的问题,他们还是没法解决。

AdaBoost(boosting类型)

自适应增强算法(Adaptive Boosting),其思想就是“前人栽树,后人乘凉”。即前辈为后浪创造条件,后浪在前辈提供的基础上进行改进。机器学习里就是,先训练一个弱学习模型,再对该模型进行评估,对该模型预测对的问题就减少注意力,而对预测错的加大关注,即在后续新的模型中更关注与前面模型没法解决的问题,最后整合就是更好的模型。通常是用决策树来建模,创建多个顺序模型,是递进的,每一个模型都会对前一个模型的错误进行改进。
AdaBoost训练过程:
因为后一个模型总是在前一个模型的基础上完成的,所以这是一个顺序的结构
① 对于 训练每个弱学习模型 计算样本困难度
i. 对每个样本点初始化其困难度
ii. 训练后,通过结果更新样本困难度(预测正确的减小困难度,反之增加困难度)
iii. 基于上述的困难度,训练下一个学习模型
② 整合每个模型的结果

优点
① 是顺序的结构,解决了随机森林难于处理困难样本的问题
② 整合时,利用权重而不是简单粗暴的均值或者数目多的类别取胜

缺点
① 容易过拟合
② 速度慢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值