Ensemble learning 集成学习(二)

No4.Grandient Boosting
gradient boosting(又叫Mart, Treenet):Boosting是一种思想,Gradient Boosting是一种实现Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。loss function(损失函数)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错(其实这里有一个方差、偏差均衡的问题,但是这里就假设损失函数越大,模型越容易出错)。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其Gradient(梯度)的方向上下降。

No5.Random Forest(随机森林)
Random Forest是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假定有d个属性)中悬着一个最优属性;而在RF中,对决策树的每一个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若k=d,则基决策树的构建与传统决策树相同;若令k=1,则是随机选择一个属性用于划分;一般情况下,k取值为这里写图片描述
特点:
(1)随机森林简单、容易实现、计算开销小;
(2)随机森林对Bagging只做了小改动,但是于Bagging中基学习器的“多样性”仅通过样本扰动(通过对初始训练集采样)而来不同,随机森林中基学习器不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间的差异度的增加而进一步提升;
(3)随机森林的收敛性与Bagging相似。不过随机森林的起始性能往往相对较差,特别是在集成中只包含一个基学习器时。但这也容易理解,因为通过属性扰动,随机森林中个体学习器的性能往往有所降低。然而,随着学习器数目的增加,随机森林通常会收敛到更低的泛化误差。
(4)随机森林的训练效率通常优于Bagging,因为在个体决策树的构建过程中,Bagging使用的是“确定型”决策树—在选择划分属性时要对结点的所有属性进行考察;而随机森林使用的是“随机型”决策树—只考虑一个属性集。

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

No7.结合策略
假设集成包含T个基学习器这里写图片描述,其中这里写图片描述在示例x上的输出为这里写图片描述。以下介绍几种对这里写图片描述进行结合的常见策略:
一.平均法
对于数值型输出这里写图片描述,最常见的结合策略是使用averaging(平均法)。
(1)Simple averaging(简单平均法)
          这里写图片描述

(2)Weighted averaging(加权平均法)
          这里写图片描述
其中这里写图片描述是个体学习器这里写图片描述的权重,通常要求这里写图片描述这里写图片描述
显然,简单平均法是加权平均法的特例。
注意:
加权平均法的权重一般是从训练数据中学习而得,现实任务中的训练样本通常不充分或存在噪声,这将是的学习出的权重不完全可靠。尤其是对规模比较大的集成来说,要学习的权重比较多,容易导致过拟合。因此实验和应用均显示出,加权平均法未必一定优于简单平均法。一般而言,在个体学习器性能相差较大时适合使用加权平均法,而在个体学习器性能相近时适合使用简单平均法。

二.投票法
对分类任务来说,学习器这里写图片描述将从类别标记集合这里写图片描述中预测一个标记,最常见的结合策略是使用voting。为了便于讨论,我们将这里写图片描述在样本x上的预测输出表示为一个N维向量这里写图片描述,其中这里写图片描述这里写图片描述在类别标记这里写图片描述上的输出。
(1)Majority voting(绝对多数投票法)

这里写图片描述

即若某标记得票过半数,则预测为该标记,否则拒绝预测。

(2)Plurality voting(相对多数投票法)

        这里写图片描述

即预测为得票最多的标记,若同时有多个标记获得最高票,则从中随机选取一个。

(3)Weighted voting(加权投票法)

       这里写图片描述

与加权平均法类似,这里写图片描述这里写图片描述的权重,通常这里写图片描述这里写图片描述

三.学习法
当训练数据很多时,一种更为强大的结合策略是使用“学习法”,即通过另一个学习器来进行结合。Stacking是学习法的典型代表。
Stacking先从初始数据集训练出初级学习器,然后“生成”一个新的数据集用于训练次级学习器。在这个新的数据集中,初级学习器的输出被当作样例输入特征,而初级样本的标记仍被当作样例标记。我们假定初级学习器使用不同的学习算法产生,即初级集成是异质的,具体过程如下:
(1)划分训练数据集为两个不相交的集合;
(2)在第一个集合上训练多个学习器;
(3)在第二个集合上测试这几个学习器;
(4)把第三步得到的预测结果作为输入,把正确的回应作为输出,训练一个高层学习器。
注意:
在训练阶段,次级训练集是利用初级学习器产生的。若直接用初级学习器的训练集来产生次级训练集,则过拟合的风险会比较大。因此,一般是通过使用交叉验证或者留一法的方式,用训练初级学习器未使用的样本来产生次级学习器的训练样本。

No8.Stacking和BMA的比较:
贝叶斯模型平均(Bayes Model Averaging,简称BMA)基于后验概率来为不同模型赋予权重,可视为加权平均法的一种特殊实现。对Stacking和BMA进行比较,理论上来说,弱数据生成模型恰好在当前考虑的模型中,且数据噪声很小,则BMA不亚于Stacking。然而,在实际应用中无法确保数据生成模型一定在当前考虑的模型中,甚至可能难以用当前考虑的模型来进行近似。因此,Stacking通常优于BMA,因为其鲁棒性比BMA更好,而且BMA对模型近似误差非常敏感。

References:
[1]周志华《机器学习》
[2][https://herbertmj.wikispaces.com/stacking%E7%AE%97%E6%B3%95]

你可能感兴趣的:(机器学习(Machine,Learning))