2019年集成学习方法范文

上传人:明*** 文档编号:107203163 上传时间:2019-10-18 格式:DOC 页数:8 大小:83.51KB
返回 下载 相关 举报
2019年集成学习方法范文_第1页
第1页 / 共8页
2019年集成学习方法范文_第2页
第2页 / 共8页
2019年集成学习方法范文_第3页
第3页 / 共8页
2019年集成学习方法范文_第4页
第4页 / 共8页
2019年集成学习方法范文_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《2019年集成学习方法范文》由会员分享,可在线阅读,更多相关《2019年集成学习方法范文(8页珍藏版)》请在金锄头文库上搜索。

1、集成学习方法范文 集成学习可以说是现在非常火爆的机器学习方法了它本身不是一个单独的机器学习算法而是通过构建并结合多个机器学习器来完成学习任务接下来小编搜集了集成学习方法仅供大家参考 集成学习方法 集成学习是机器学习算法中非常强大的工具有人把它称为机器学习中的“屠龙刀”非常万能且有效在各大机器学习、数据挖掘竞赛中使用非常广泛它的思想非常简单集合多个模型的能力达到“三个臭皮匠赛过诸葛亮”的效果集成学习中概念是很容易理解的但是好像没有同一的术语很多书本上写得也不一样越看越模糊这里我把集成学习分为两个大类第一大类称为模型融合与台大机器学习技法课上的blending概念相似模型融合其实是个再学习的过程第

2、一步是训练出多个不同的强学习器然后考虑如何将这多个学习器组合起来更进一步提高性能第二大类称为机器学习元算法这类算法本身就是多模型组合的结果只是元算法中的基算法(basealgorithm一般会比较弱)称为弱模型的组合例如RF、GDBT 一、模型融合 实际中我们总可以根据实际问题训练出多个功能强大学习器为了进一步提高学习器的能力可以尝试将这些学习组合起来这个过程就是模型融合一般来说模型能在一定程度上提高性能有时使模型的预测能力更加强大有时增加模型的泛化能力显而易见的坏处是多模型的学习加上再学习的过程会增加计算的代价模型融合在竞赛中十分常见屡试不爽融合方法恰当一般能提高成绩 1.1常用的获得不同模

3、型的方法 由于不同的训练模型得到不同的模型例如处理分类的LR、SVM、RF等 由于同一训练模型调节不同参数获得不同的模型例如GDBT中迭代次数每个树的复杂度等 有些算法本身就有一定的随机性如PLA 由于训练数据不同得到不同的模型如交叉验证、随机抽样 上面这些生成不同模型可以组合生成更多不同的模型比较常用的是最前面的两个 1.2模型融合的方法 通过验证(validation)的方式从第一步中训练出的多个模型中挑选最佳的模型作为最终的模型这种方式必须要验证不同使Ein最小否则很容易过拟合 统一融合(Uniformblending)分类时使用一人一票的投票方式回归时使用多个模型的平均值这种方式的优点

4、是一般泛化能力会得到加强但是只能保证比那些模型中最差的模型要好不能保证能得到比那些不同模型中的最好的模型要好 线性融合(Linearblending)二次学习使用线性模型将第一步中学习到的学习器组合起来用得好可以提高模型性能但是要注意有过拟合的风险 堆融合(Anyblending、stacking)任何其它非线性模型将那些学习器组合起来有过拟合的风险注意验证 模型融合在实际中十分常见下面是台大在KDDCup获得冠军时使用的模型融合方法先用了anyblending(stacking)处于领先群的位置最后的linearblend使得台大获得冠军 二、机器学习元算法 机器学习元算法分为两类:Aver

5、agingmethods和Boostingmethods Averagingmethods核心是引入随机(对样本、特征属性随机取样)学习产生多个独立的模型然后平均所有模型的预测值一般而言这种方法会减小方差(variance)不太会过拟合主要包括bagging、RF Boostingmethods逐步加强方法该方法集合学习多个模型提高模型的准确率不同的是它是基于前面模型的训练结果(误差)生成新的模型从而减小偏差(bias)一般而言这种方法会比上者的准确率高一点但是也不是绝对的它的缺点是有过拟合的风险另外由于它每个模型是“序列化”(有前后关系)产生的不易并行化它的代表是AdaBoost、GDBT

6、2.1Bagging Bagging在原始样本中随机抽样获取子集用随机抽样的子集训练基学习器(baseestimator)然后对每个基学习器的结果求平均最终得到的预测值随机获取样本子集的方法有很多中最常用的是有放回抽样的booststrap也可以是不放回的抽样基学习器可以是相同的模型也可以是不同的一般使用的是同一种基学习器最常用的是DT决策树由于bagging提供了一种降低方差(variance)的方式所以一般会使用比较强、复杂的基学习器模型(e.g.fullydevelopeddecisiontrees)作为对比在boosting方法中会使用非常弱的基学习器模型(e.g.shallowdec

7、isiontrees)在sklearn中实现了基于bagging的分类和回归方法主要设置参数为基学习器的类型、迭代次数(子模型的个数)、获取训练子集的方式由于bagging训练每个模型可以并行还可以设置njobs训练模型使用的多少个cpu核 2.2随机森林(RF) RF在实际中使用非常频繁其本质上可bagging并无不同只是RF更具体一些一般而言可以将RF理解为bagging和DT(CART)的结合RF中基学习器使用的是CART树由于算法本身能降低方差(variance)所以会选择完全生长的CART树抽样方法使用bootstrap除此之外RF认为随机程度越高算法的效果越好所以RF中还经常随机选

8、取样本的特征属性、甚至于将样本的特征属性通过映射矩阵映射到随机的子空间来增大子模型的随机性、多样性RF预测的结果为子树结果的平均值RF具有很好的降噪性相比单棵的CART树RF模型边界更加平滑置信区间也比较大一般而言RF中树越多模型越稳定 2.3AdaBoost AdaBoost是一种Boosting方法与Bagging不同的是Adaboost中不同的子模型必须是串行训练获得的每个新的子模型都是根据已训练出的模型性能来进行训练的而且Boosting算法中基学习器为弱学习弱学习器可以理解为只比随机猜测好一点在二分类情况下错误率略低0.5即可实际中常使用smalldecisiontreesAdaBo

9、ost中每个训练样本都有一个权重这些权重构成了一个向量W初始值都为为Wi=1/N Adaboost中每次迭代生成新的子模型使用的训练数据都相同但是样本的权重会不一样AdaBoost会根据当前的错误率增大错误样本权重减小正确样本权重的原则更新每个样本的权重不断重复训练和调整权重直到训练错误率或弱学习器的个数满足用户指定的值为止Adaboost的最终结果为每个弱学习器加权的结果使用sklearn中的Adaboot时主要调节的参数有nestimator(多少棵树)、maxdepth(每棵树的深度复杂度)或者minsamplesleaf(最少的叶子节点) 2.4GDBT GDBT也是一种Boostin

10、g方法每个子模型是根据已训练出的学习器的性能(残差)训练出来的子模型是串行训练获得不易并行化GDBT使用非常广泛的能分类能回归预测GDBT基于残差学习的算没有AdaBoost中的样本权重的概念GDBT结合了梯度迭代和回归树准确率非常高但是也有过拟合的风险GDBT中迭代的残差的梯度残差就是目前结合所有得到的训练器预测的结果与实际值的差值不理解可以参考另一篇博客里面有一个实例介绍如何基于残差来学习预测人的年龄GDBT的使用也非常的简单主要调节的参数有确定需要多少棵树(nestimator)、每棵树的复杂度(maxdepthmaxleafnode)、损失函数(loss)以及学习率(learningrating)为了防止过拟合一般学习率会选小一点的(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号