集成(Ensemble)学习_原理

集成(Ensemble)学习

从线性规划、多元线性回归、决策树、支持向量机SVM,都是单一的、独立的。
集成Ensemble学习:通过组合多个基分类器(base classifier)完成学习任务。集成个体应"好而不同"
集成学习
1.个体学习器之间不存在强依赖关系,装袋(bagging),减少方差;
2.随机森林(Random Forest),是bagging中的一种;
3.个体学习器之间存在强依赖关系,提升(boosting),减少偏差;
4.Stacking,提升预测结果;
集成学习方法–分为两类

  1. 串行集成方法:串行的生成基础模型(如AdaBoost),串行集成的基本动机是利用基础模型之间的依赖,通过给错分样本一个较大的权重来提升性能。
  2. 并行集成方法:并行的生成基础模型(如Random Forest),并行集成的基本动机是利用基础模型的独立性,通过平均能够较大地降低误差。

bagging

bagging–bootstrap aggregating (引导聚合),减少估计误差的一种方式是对多个估计进行平均。(数据量越大,学习器性能越好)。
原理
在原始数据集选择S次后得到S个新数据集的一种技术,是一种有放回抽样;
每次使用一个数据集得到一个模型,S个数据集得到S个模型,模型类型一致,但是模型方式不确定,(如决策树、感知器等);
分类,得到的S个模型采用投票的方式得到分类结果,回归,统计S个模型的均值作为最终的预测结果;

对于Bagging需要注意的是,每次训练集可以取全部的特征进行训练,也可以随机选取部分特征训练,例如随机森林就是每次随机选取部分特征
在这里插入图片描述

Voting

顾名思义,通过投票表决的方式决定使用那种分类器;
但是Voting有hard和soft两种模式:
hard:少数服从多数;
soft: 在有的情况下,少数服从多数并不适用,更加合理的投票方式,应该是有权值的投票方式;

随机森林Random Forest

RF = 决策树 + bagging + 随机属性选择
在这里插入图片描述
原理

  1. 样本的随机:从样本中用bagging的方式,随机选择n个样本。
  2. 特征的随机:从所有属性d中随机选择k个属性(k<d),然后从k个属性中选择最佳分割属性作为节点建立CART决策树。
  3. 重复上述步骤m次,建立m棵CART决策树。
  4. 这m棵CART决策树形成随机森林,通过投票表决结果,决定数据属于哪一类。

boosting --AdaBoost

自适应增强(Adaptive Boosting),其自适应的原理在于:前一个基本分类器被错误分类的样本的权值会增大,而正确分类的样本的权值会减小,并再次用来训练下一个基本分类器。同时,在每一轮迭代中,加入一个新的弱分类器,直到达到某个预定的足够小的错误率或者达到预先指定的最大迭代次数,才确定最终的强分类器。
特点:将学习器的重点放在容易被错误分类的样本上,进而提升学习器的性能。
原理

  1. 初始化训练数据的权值分布 D 1 D_1 D1。假设有N个训练样本数据,则每一个训练样本最开始时,都被赋予相同的权值: w 1 = 1 / N w_1=1/N w1=1/N
  2. 然后,训练弱分类器 h i h_i hi。具体训练过程是:如果某个训练样本点,被弱分类器 h i h_i hi准确地分类,那么在构造下一个训练集中,它对应的权值要减小;相反,如果某个训练样本点被错误分类,那么它的权值就应该增大。权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。
  3. 最后,将各个训练得到的弱分类器组合成一个强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。
    换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。
    算法实现流程
    在这里插入图片描述
    流程解读
    基学习算法可以是各种机器学习算法;
    训练轮数决定可以得到多少个基学习器;
    第3步 机器学习算法在D训练集基于 D t D_t Dt分布下训练得到 h t h_t ht基学习器
    第4步 计算 h t h_t ht基学习器在训练集 D t D_t Dt分布下的错误率 ε t \varepsilon_t εt
    第6步 由错误率得到一个权重 α t \alpha_t αt,错误率越低,权值越大, α t &gt; 0 \alpha_t &gt; 0 αt>0
    第7步 分类正确,权重变小;分类错误,权重变大; Z t Z_t Zt是归一化
    注:每次循环的抽样概率都是不一样的;循环几次,有几个权重。

stacking

原理
使用多个不同的分类器对训练集进行预测,把预测得到的结果作为一个次级分类器的输入,次级分类器的输出是整个模型的预测结果。
在这里插入图片描述

Bagging和Boosting比较

设有n个随机变量,方差为 σ 2 \sigma^2 σ2,两两变量之间的相关性 ρ \rho ρ,则 ∑ X i n \frac{\sum{X_i}}{n} nXid的方差为 ρ ∗ σ 2 + ( 1 − ρ ) ∗ σ 2 / n \rho*\sigma^2+(1-\rho)*\sigma^2/n ρσ2+(1ρ)σ2/n
bagging对样本重采样,对每一重采样得到的子样本集训练一个模型,最后取平均。由于子样本集的相似性以及使用的是同种模型,因此各模型有近似相等的偏差(bias)和方差(variance)。
Random Forest通过随机选取变量子集做拟合的方式 de-correlated(解相关)各子模型(树),使得variance进一步降低。
bagging降低的是方差第二项;Random Forest则同时降低两项;
boosting是用forward-stagewise贪心法最小化损失函数 L ( y , ∑ i a i f i ( x ) ) L(y, \sum_{i}a_if_i(x)) L(y,iaifi(x))。例如AdaBoosting等价于最小化exponential loss: L ( y , f ( x ) ) = e x p ( − y f ( x ) ) L(y, f(x))=exp(-yf(x)) L(y,f(x))=exp(yf(x)).
所谓forward-stagewise,就是在迭代的第n步,求解新的子模型f(x)及步长a(或者叫组合系数),来最小化损失函数。实质是逐步最小化损失函数,其偏差(bias)逐步下降。

将更新集成学习(Ensemble)代码解读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值