集成学习原理

集成学习原理


集成学习(ensemble learning)本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。

1. 集成学习概述

集成学习的基本思想是通过将多个模型的预测结果组合起来,来降低误差和提高准确率,从而达到更好的分类效果。

集成学习主要分为两类:平均法(Averaging)和投票法(Voting)。

  • 平均法:平均法是将多个模型的预测结果取平均值,一般适用于回归问题的解决。常见的平均法包括简单平均法、加权平均法、Bagging等。

  • 投票法:投票法是将多个模型的预测结果进行投票,选择票数最多的类别作为最终的预测结果。投票法适用于分类问题的解决。常见的投票法包括简单投票法、加权投票法、随机森林等。

集成学习的优势在于通过组合多个不同的模型,可以克服每个单独模型的缺点,提高预测的准确性和稳定性。另外,集成学习还可以有效减少过拟合问题,减少因为训练数据的随机性而导致的误差。
集成学习有两个主要的问题需要解决,第一是如何得到若干个个体学习器,第二是如何选择一种结合策略,将这些个体学习器集合成一个强学习器。

2. 集成学习之个体学习器

上一节我们讲到,集成学习的第一个问题就是如何得到若干个个体学习器。这里我们有两种选择。

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

目前来说,同质个体学习器的应用是最广泛的,一般我们常说的集成学习的方法都是指的同质个体学习器。而同质个体学习器使用最多的模型是CART决策树和神经网络。同质个体学习器按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,代表算法是boosting系列算法,第二个是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。下面就分别对这两类算法做一个概括总结。

3. 集成学习之boosting

boosting的算法原理我们可以用一张图做一个概括如下:

在这里插入图片描述

从图中可以看出,Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基本调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

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

4. 集成学习之bagging

Bagging的算法原理和 boosting不同,它的弱学习器之间没有依赖关系,可以并行生成,我们可以用一张图做一个概括如下:

在这里插入图片描述

从上图可以看出,bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器。

对于这里的随机采样有必要做进一步的介绍,这里一般采用的是自助采样法(Bootstap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。

随机森林是bagging的一个特化进阶版,所谓的特化是因为随机森林的弱学习器都是决策树。所谓的进阶是随机森林在bagging的样本随机采样基础上,又加上了特征的随机选择,其基本思想没有脱离bagging的范畴。bagging和随机森林算法的原理在后面的文章中会专门来讲。

5. 集成学习之结合策略

在上面几节里面我们主要关注于学习器,提到了学习器的结合策略但没有细讲,本节就对集成学习之结合策略做一个总结。我们假定我得到的T个弱学习器是 { h 1 , h 2 , . . . h T } \{h_1,h_2,...h_T\} {h1,h2,...hT}

5.1 平均法

对于数值类的回归预测问题,通常使用的结合策略是平均法,也就是说,对于若干和弱学习器的输出进行平均得到最终的预测输出。

最简单的平均是算术平均,也就是说最终预测是 H ( x ) = 1 T ∑ 1 T h i ( x ) H(x) = \frac{1}{T}\sum\limits_{1}^{T}h_i(x) H(x)=T11Thi(x)

如果每个个体学习器有一个权重w,则最终预测是 H ( x ) = ∑ i = 1 T w i h i ( x ) H(x) = \sum\limits_{i=1}^{T}w_ih_i(x) H(x)=i=1Twihi(x)

其中w_i是个体学习器h_i的权重,通常有 w i ≥ 0 ,        ∑ i = 1 T w i = 1 w_i \geq 0 ,\;\;\; \sum\limits_{i=1}^{T}w_i = 1 wi0,i=1Twi=1

5.2 投票法

对于分类问题的预测,我们通常使用的是投票法。假设我们的预测类别是 { c 1 , c 2 , . . . c K } \{c_1,c_2,...c_K\} {c1,c2,...cK},对于任意一个预测样本x,我们的T个弱学习器的预测结果分别是 ( h 1 ( x ) , h 2 ( x ) . . . h T ( x ) ) (h_1(x), h_2(x)...h_T(x)) (h1(x),h2(x)...hT(x))

最简单的投票法是相对多数投票法,也就是我们常说的少数服从多数,也就是T个弱学习器的对样本x的预测结果中,数量最多的类别c_i为最终的分类类别。如果不止一个类别获得最高票,则随机选择一个做最终类别。

稍微复杂的投票法是绝对多数投票法,也就是我们常说的要票过半数。在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。否则会拒绝预测。

更加复杂的是加权投票法,和加权平均法一样,每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。

5.3 学习法

上两节的方法都是对弱学习器的结果做平均或者投票,相对比较简单,但是可能学习误差较大,于是就有了学习法这种方法,对于学习法,代表方法是stacking,当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。

在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
加权投票集成学习是一种常用的集成学习方法,它通过将多个基分类器的预测结果进行加权平均或加权投票来得到最终的预测结果。其原理如下: 1. 基分类器训练:首先,我们需要训练多个基分类器。每个基分类器可以使用不同的算法或者使用相同算法的不同参数设置。通过使用不同的基分类器,可以增加模型的多样性,提高集成模型的泛化能力。 2. 预测结果融合:在测试阶段,每个基分类器对输入样本进行预测,并生成一个预测结果。这些预测结果可以是类别标签(如二分类问题中的0和1),也可以是概率值(如多分类问题中每个类别的概率)。然后,对这些预测结果进行加权平均或加权投票来得到最终的预测结果。 - 加权平均:对于回归问题或者概率预测问题,可以将每个基分类器的预测结果乘以一个权重,并将它们相加得到最终的预测结果。权重可以根据基分类器的性能进行分配,性能较好的基分类器可以分配较大的权重。 - 加权投票:对于分类问题,可以为每个基分类器分配一个权重,并根据基分类器的预测结果进行加权投票。最终的预测结果可以是得票最多的类别标签。 加权投票集成学习的优点在于能够结合多个基分类器的优势,提高模型的准确性和鲁棒性。同时,通过调整权重,可以对不同基分类器的贡献进行灵活控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值