集成学习与随机森林

集成学习通过结合多个分类器的预测,降低学习难度并提高泛化性能。随机森林作为Bagging的一种扩展,通过样本和属性的随机选择增强基学习器的多样性,从而提升整体性能。本文介绍了随机森林的基本原理和算法流程。
摘要由CSDN通过智能技术生成

集成学习

1.首先了解下什么是集成学习?

集成学习是一种新的学习策略,对于一个复杂的分类任务,通过训练多个分类器,利用这些分类器解决同一个问题。
在集成学习中,通过学习多个分类器,通过结合这些分类器对于同一个样本的预测结果,给出最终的预测结果。

2. 为什么需要集成学习?

有时候面对一个复杂的分类问题,我们需要寻找到一个高效而又准确的算法来处理这个复杂的分类问题式比较困难的,不仅需要花费很多资源,而且往往构建出的模型在面对复杂的分类问题表现往往差强人意。
集成学习通过学习多个模型,并基于这些模型的组合进行预测,不仅降低了学习难度,并能够提高整体的泛化性能。

3.集成学习的优势:

集成学习有以下三个方面的优势:
1)首先,从统计的方面来看,由于学习任务的假设空间往往很大,可能有多个假设在训练集上达到同等性能,此时若使用单个学习器可能因为误选而导致泛化性能不佳,结合多个学习器则会减少这一风险。
2)从计算的方面看,学习算法往往陷入局部极小,有的局部极小点所对应的泛化性能可能很糟糕,而通过多次运行之后可以进行结合,可降低陷入糟糕局部极小点的风险。
3)从表示的方面看,某些学习任务的真实假设可能不在当前学习算法所考虑的假设空间中,此时若使用单学习器则肯定无效,而通过结合多个学习器,由于相应的假设空间有所扩大,有可能学的更好的近似。

4.如何才能获得好的集成?

要获得好的集成,个体学习器应该“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”,即学习器要有差异。

5.集成学习的分类

根据个体学习器的生成方式(分类标准),目前集成学习方法大致可以分成两大类:
1)个体学习器间存在强依赖关系,必须串行生成的序列化方法(Boosting)
2) 个体学习器不存在强依赖关系,可同时生成的并行化方法(Bagging和随机森林)
Boosting 和 Bagging 的区别体现在以下几点上(转载自https://www.cnblogs.com/liuwu265/p/4690486.html)
1)样本选择上
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

本篇博客先介绍集成学习的Bagging 方法里的随机森林的相关知识,至于Boosting放到后续的 adaBoost 和GBDT那里再介绍。

重点:Bagging 与随机森林:

欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立,但是“独立”在现实的任务中无法做到,但可以设法使基学习器尽可能的具有较大的差异。

如何才能让基学习器拥有较大的差异呢?
给定一个训练数据集,一种可能的做法是对训练样本进行采用,产生出若干个不同的子集,再从每个数据子集中训练出一个基学习器。这样由于训练数据不同,我们获得基学习器可望具有比较大的差异。

同时为了获得好的泛化性能,我们还希望个体学习器不能太差。如果采样出的每个子集都完全不同,则每个基学习期只用到一小部分训练数据,甚至不足以进行有效学习ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值