机器学习算法梳理—随机森林

本文介绍了集成学习中的随机森林算法,包括其思想、个体学习器、Boosting与Bagging的区别、结合策略、优缺点以及在sklearn中的参数设置。随机森林通过构建多个决策树并结合它们的预测结果,降低了过拟合风险,适用于处理高维度数据和多种类型特征。在数据维度相对低且对准确性要求较高的场景下,随机森林是一个常用的选择。
摘要由CSDN通过智能技术生成

一、 集成学习

集成学习(Ensemble Learning)指将多个弱分类器构成一个强分类器。跟一般分类算法比,集成学习获得的分类器其精度比较高。结构如下:
在这里插入图片描述
集成学习有两个主要的问题需要解决,第一是如何得到若干个分类器(个体学习器),第二是如何选择一种集成策略,将这些个体学习器集合成一个强学习器。
集成学习常见方法有3种:Bagging(装袋法),Boosting(提升),Stacking(堆叠)。

二、个体学习器

个体学习器如上图中通过数据学习得到的很多学习器,其类型有两种:

(1)相同类型的个体学习器:
指所有的个体学习器都是同一个种类的(同质的)。比如都是决策树个体学习器,或者都是神经网络个体学习器。
(2)相同类型的个体学习器:
指所有的个体学习器不全是一个种类的(异质的)。比如我们有一个分类问题,对训练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器。

目前来说,同质个体学习器的应用是最广泛的,同质个体学习器按照个体学习器之间是否存在依赖关系可以分为两类:第一个是个体学习器之间存在强依赖关系,代表算法是boosting系列算法;第二个是个体学习器之间不存在强依赖关系,代表算法是bagging和随机森林系列算法。

三、Boosting 与Bagging

(1)Boosting算法

Boosting算法的工作机制是首先用带有权重的训练集训练出一个弱学习器1,然后根据弱学习器1的学习误差率更新训练集的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,然后基于更新后的权重训练集继续训练得到弱学习器2,如此重复进行,直到最后弱学习器数目达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。即每个弱分类器之间都有相互依赖,过程如下图:
在这里插入图片描述

Boosting系列算法里最著名算法主要有AdaBoost算法和**提升树(boosting tree)**系列算法。提升树系列算法里面应用最广泛的是梯度提升树(Gradient Boosting Tree)。

(2)Bagging算法

Bagging的首先通过随机采样得到的得到T个采样集,对于这T个采样集分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器。这里的随机采样指是自助采样法(Bootstap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集。该算法得到的每个分类器之前没有强烈依赖关系,过程如下图:
在这里插入图片描述

四、结合策略

通过上面的总结,不管用哪种算法,最后得到的弱学习器都要通

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值