随机森林算法梳理

本文深入介绍了集成学习的概念,包括boosting和bagging两种策略,重点讲解了随机森林的原理、优缺点及在sklearn中的参数设置。通过对比分析,展示了随机森林在减少过拟合、处理高维特征和评估特征重要性等方面的优势,以及其在特定应用场景下的适用性。
摘要由CSDN通过智能技术生成

1 集成学习

1.1 集成学习的概念

集成学习(ensemble learning)是通过结合多个学习器来完成学习任务,其思路是通过合并多个模型来提升机器学习性能,其研究的核心构造出“好而不同”的个体学习器。
一般来说集成学习可以分为三大类:

  • 用于减少偏差的boosting
  • 用于减少方差的bagging
  • 用于提升预测结果的stacking

大部分集成模型都通过一个基础学习算法来生成一个同质的基础学习器,即同类型的学习器,也叫同质集成比如都是决策树个体学习器,或者都是神经网络个体学习器。有同质集成就有异质集成,为了集成后的结果表现最好,异质基础学习器需要尽可能准确并且差异性够大。

1.2 个体学习器的概念

个体学习器(individual learner)一般是由现有的学习算法从训练数据产生,如决策树算法、BP神经网络等。通过某种策略将其结合起来就构成了集成学习的结构基础。如果集成的结构里个体学习器的种类唯一,那么此集成是同质的(homogeneous);同质集成中的个体学习器也称为基学习器(base learner),相应的学习算法称为基学习算法(base learningalgorithm)。若集成包含不同类型的个体学习器,则集成是异质的(heterogenous);异质集成中的个体学习器由不同的学习算法生成,个体学习器称为组件学习器(component learner)。

1.3 boosting

Boosting其思路是从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续获得更多的权重,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数达到事先指定的值T,最终将这T个基学习器进行加权结合,从而将弱学习器提升为强学习器。简单来说,就是基于同一训练集和同一个算法训练出T个基学习器,每一轮训练都针对上一轮的训练结果调整样本分布。
在这里插入图片描述

图1 boosting算法示意图

1.4 bagging

bagging是bootstrap aggregating 的缩写,其采取装袋采样的方式来获取数据子集训练基础学习器。从原始样本集中抽取训练集,每轮从原始样本集中使用Bootstraping(如果采取某种有规律的采样,那么生成的T个采样集可能相似度极高,训练出的T个弱学习器相似度也极高,那么集成这T个弱学习器的意义就没有了。)的方法抽取n个训练样本,故而有36.9%的样本不出现在采样集内而成为袋外数据(Out Of Bag,OOT)。这些数据并未参与训练集模型的训练,从而可以用来检测模型的泛化能力。在进行T轮抽取后,得到T个训练集。每次使用一个训练集得到一个模型,T个训练集共得到T个模型。通过对所得到的T个弱学习器采取结合策略生成强学习器。
在这里插入图片描述

图2 bagging算法示意图

1.5 两者的区别

  • 样本选择:
    Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
    Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值