(六)集成算法

(六)集成算法

1)

集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器。

弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(error rate < 0.5);

集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法也能够得到一个比较明显的性能提升。

常见的集成学习思想有:

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

关于偏差和方差随模型复杂度变化,

在这里插入图片描述

模型过于复杂,阶数抬高,容易过拟合,预测方差比较大。我们要找的是预测错误率最低的模型,而不是方差或者偏差小的。

bagging

对于一个m个样本的数据集,又放回的抽样m个样本,训练多个基学习器。最终的输出是全部基分类器的的结果投票表决或者取平均值。对于分类问题,一般通过投票法,以多数模型预测结果为最终结果。而对于回归问题,一般采用算术平均法,对所有模型的预测结果做算术平均得到最终结果。

bagging可以解决过拟合问题,可以减小方差来降低总体误差。

Bagging方法又叫做自举汇聚法(Bootstrap Aggregating),思想是:在原始数据集上通过==有放回的抽样(抽一个放回一个,不是一批一批的,所以会抽到重复的样本)==的方式,

Bagging方法训练出来的模型在预测新样本分类/回归的时候,会使用多数投票或者求均值的方式来统计最终的分类/回归结果。

Bagging方法的弱学习器可以是基本的算法模型,eg: Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN,BP神经网络等。

bagging:可并行计算,模型之间没有依赖关系,减小过拟合,泛化能力强,减小方差,减小错误率,提高准确率(随机森林是其中之一)
基学习器(id3,c4.5,cart,线性回归,逻辑回归,svm,knn,bp等)的特点:单个分类器,方差高,偏差低,模型复杂(树深度深,模型参数多,增加隐含层数,增加隐含层神经元数,激活函数,次方(线性回归))

boosting

用同样的数据集,先训练第一个基学习器,根据第一个基学习器的输出结果,调整样本的x或者y值,再在新的调整过的训练集上训练第二个基学习器,一次类推。最终的结果是将 全部基学习器的结果相加。

先从初始训练集训练一个基学习器,再根据基学习器的表现对新联样本分布进行调整,是的基学习器预测错的训练样本受到更多的关注,然后基于调整后的数据及训练下一个学习器,如此重复进行,直至学习器的数目达到之前的T,最后将T个学习器进行加权结合。

通常Boosting基于弱学习器,弱分类器具有高偏差,低方差。决策树的深度较浅时,通常是弱学习器,比如一种比较极端的例子,只有一个根节点和两个叶子节点。Boosting这种策略主要通过减小偏差来降低总体误差,一般来讲,通过集成多个模型的结果也会减小方差。这里的总体误差可以看作由偏差和方差构成。由于GBDT是基于Boosting策略的,所以这种算法具有序贯性,不容易并行实现。

提升学习(Boosting)是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型的生成都是依据损失函数的梯度方式的,那么就称为梯度提升(Gradient boosting);

提升技术的意义:如果一个问题存在弱预测模型,那么可以通过提升技术的办法得到一个强预测模型; 常见的模型有:
• Adaboost
• Gradient Boosting(GBT/GBDT/GBRT)

boosting:不可并行计算,是串行的,模型之间有依赖关系,解决欠拟合问题,减小偏差,减小错误率,提高准确率GBDT
基学习器的特点:单个分类器,偏差高,方差低,模型不复杂(树深度浅,模型参数少,减小隐含层数,减小隐含层神经元数)

stacking

第一轮训练多个基学习器,用不同的机器学习模型训练,必须采用k这交叉验证的方式进行训练,将k折中预留的一折的预测结果,合并起来,作为新的特征,第一轮完成。第二轮的模型融入第一轮的新特征,并且第一轮测试集的结果作为新特征加入到第二轮的测试集中,一般不超过两轮。
在这里插入图片描述
在这里插入图片描述

对比

  • 样本选择:Bagging算法是有放回的随机采样;Boosting算法是每一轮训练集不变,只是训练集中的每个
    样例在分类器中的权重发生变化或者目标属性y发生变化,而权重&y值都是根据上一轮的预测结果进行调整;

  • 样例权重:Bagging使用随机抽样,样例是等权重;Boosting根据错误率不断的调整样例的权重值,错误
    率越大则权重越大(Adaboost);

  • 预测函数:Bagging所有预测模型的权重相等(分类投票机制,回归平均值);Boosting算法对于误差小的分类器具有更大的权重(Adaboost)。

  • 并行计算:Bagging算法可以并行生成各个基模型;Boosting理论上只能顺序生产,因为后一个模型需要
    前一个模型的结果;

  • Bagging是减少模型的variance(方差);Boosting是减少模型的Bias(偏度)。

  • Bagging里每个分类模型都是强分类器,因为降低的是方差,方差过高需要降低是过拟合;

    Boosting里每个分类模型都是弱分类器,因为降低的是偏度,偏度过高是欠拟合。

  • bagging 可并行,模型之间没有依赖关系。减小过拟合,泛化能力强,减小方差,减小错误率,提高准确率,

    基学习器性能:方差高,偏差低,模型复杂度高,

  • boosting不可并行,模型之间有依赖关系。解决欠拟合问题,减少偏差,减小错误率,提高准确率,

    基学习器性能:方差低,偏差高,模型复杂度低。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值