机器学习模型优化之模型融合

前言:在机器学习训练完模型之后我们要考虑模型的效率问题,常用的模型效率分析手段有:

研究模型学习曲线,判断模型是否过拟合或者欠拟合,并做出相应的调整;
对于模型权重参数进行分析,对于权重绝对值高/低的特征,可以对特征进行更细化的工作,也可以进行特征组合;
进行bad-case分析,对错误的例子分析是否还有什么可以修改挖掘
模型融合:模型融合就是训练多个模型,然后按照一定的方法集成过个模型,应为它容易理解、实现也简单,同时效果也很好,在工业界的很多应用,在天池、kaggle比赛中也经常拿来做模型集成。
 

这篇文章主要机器学习中的模型融合,包括bagging,Boosting两种思想的方法。

一、模型融合的认识、分析:1,模型融合的概念:下图介绍了模型融合的一般结构:先产生一组”个体学习器,再用某种策略将它们结合起来,加强模型效果。
https://img-blog.csdn.net/20180107105907999

2,模型融合应用广发的原因:可以通过数学证明模型,随着集成中个体分类器数目T的增大,集成的错误率将指数级下降,最终趋向于零。具体证明在周志华和李航老师的书中都有。

3,模型融合的条件:个体学习器准确性越高、多样性越大,则融合越好。(
,E代表融合后的误差加权均值,
代表个体学习器的误差加权均值,
代表模型的多样性,也就是各个模型之间的分歧值)

BaseModel之间的相关性要尽可能的小。这就是为什么非Tree-basedModel往往表现不是最好但还是要将它们包括在Ensemble里面的原因。Ensemble的Diversity越大,最终Model的Bias就越低。BaseModel之间的性能表现不能差距太大。这其实是一个Trade-off,在实际中很有可能表现相近的Model只有寥寥几个而且它们之间相关性还不低。但是实践告诉我们即使在这种情况下Ensemble还是能大幅提高成绩。

4,模型融合的分类:按照个体学习器的关系可以分为两类:

个体学习器问存在强依赖关系、必须串行生成的序列化方法,代表Boosting方法;
个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表是Bagging 和”随机森林” 。
 

二、个体学习器依赖的融合-boosting:1,boosting方法的思想:Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2;如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
https://img-blog.csdn.net/20180107113155267

2,Boosting系列算法里最著名算法主要有AdaBoost算法和提升树(boostingtree)系列算法。提升树系列算法里面应用最广泛的是梯度提升树(GradientBoostingTree)。

AdaBoost算法:是加法模型、损失函数为指数函数、学习算法为前向分布算法时的二分类算法。

提升树:是加法模型、学习算法为前向分布算法时的算法。不过它限定基本学习器为决策树。对于二分类问题,损失函数为指数函数,就是把AdaBoost算法中的基本学习器限定为二叉决策树就可以了;对于回归问题,损失函数为平方误差,此时,拟合的是当前模型的残差。

梯度提升树:是对提升树算法的改进,提升树算法只适合误差函数为指数函数和平方误差,对于一般的损失函数,梯度提升树算法利用损失函数的负梯度在当前模型的值,作为残差的近似值。(GBDT算法有两种描述思路,一个是基于残差的版本(当损失函数是均方差损失时,因为对均方差求导后就是2(y-y_hat)就是真实值和预测值得残差方向,一个是基于梯度gradient的版本(当损失函数是其它损失函数时,例如交叉熵损失)。说白了都是基于梯度的,只不过均方差求导后变成残差了)

三、个体学习器不依赖依赖的融合-bagging:1,bagging方法的思想:bagging算法的思想是通过对样本采样的方式,使我们的基本学习器存在较大的差异。
https://img-blog.csdn.net/20180107120112401

2,bagging系类算法常见有bagging算法和随机深林算法

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

随机森林:是对bagging算法的改进。改进一:基本学习器限定为决策树,改进二:除了bagging的在样本上加上扰动,同时在属性上也加上扰动,即是在决策树学习的过程中引入了随机属性选择,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。

四、模型融合的结合策略:基本学习器学习完后,需要将各个模型进行融合,常见的策略有:

1,平均法:平均法有一般的评价和加权平均,这个好理解。对于平均法来说一般用于回归预测模型中,在Boosting系列融合模型中,一般采用的是加权平均融合。

2,投票法:有绝对多数投票(得票超过一半),相对多数投票(得票最多),加权投票。这个也好理解,一般用于分类模型。在bagging模型中使用。

3,学习法:一种更为强大的结合策略是使用”学习法”,即通过另一个学习器来进行结合,把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。常见的有Stacking和Blending两种(1)Stacking方法:Stacking先从初始数据集训练出初级学习器,然后”生成”一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。stacking一般使用交叉验证的方式,初始训练集D被随机划分为k个大小相似的集合D1,D2,…,Dk,每次用k-1个部分训练T个模型,对另个一个部分产生T个预测值作为特征,遍历每一折后,也就得到了新的特征集合,标记还是源数据的标记,用新的特征集合训练一个集合模型。


https://img-blog.csdn.net/20180107142058336(2)Blending方法:Blending与Stacking大致相同,只是Blending的主要区别在于训练集不是通过K-Fold的CV策略来获得预测值从而生成第二阶段模型的特征,而是建立一个Holdout集,例如说10%的训练数据,第二阶段的stacker模型就基于第一阶段模型对这10%训练数据的预测值进行拟合。说白了,就是把Stacking流程中的K-FoldCV改成HoldOutCV。

五、多样性增强:模型的多样性可以改善融合后的效果,增强的手段有:

数据样本的扰动:bagging中提到的给定初始数据集, 可从中产生出不同的数据子集, 再利用不同的数据子集训练出不同的个体学习器。
输入属性的扰动:随机深林提到的使用控制属性的子空间的不同,产生差异较大的模型。
输出表示的扰动:输出表示进行操纵以增强多样性,可对训练样本的类标记稍作变动。
算法参数的扰动:基学习算法一般都有参数需进行设置,例如神经网络的隐层神经元数、初始连接权值等,通过随机设置不同的参数,往往可产生差别较大的个体学习器。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 机器学习模型的加权融合是指将多个不同的机器学习模型进行组合,以期望得到更准确的预测结果。这种方法是建立在一个假设上,即不同的模型有时会产生不同的误差,因此我们可以通过将它们的结果进行加权平均来减少这种误差。 在加权融合中,每个模型都被分配一个权重,该权重表示它对最终预测结果的贡献。这些权重可以由各种方法确定,例如基于训练集上的表现、基于交叉验证的表现等。然后,我们使用这些权重将每个模型的预测结果加权平均,以得到最终的预测结果。 加权融合的优点是可以利用多个模型的优点,从而获得更准确的预测结果。此外,这种方法也可以提高模型的鲁棒性,因为它可以减少模型的误差。然而,加权融合的缺点是需要训练和评估多个模型,这会消耗更多的计算资源和时间。 ### 回答2: 机器学习模型加权融合是指将多个机器学习模型的预测结果进行加权组合,以得到更好的预测结果。在机器学习中,我们通常会训练不同的模型,每个模型都有自己的优点和缺点。加权融合的目的是通过综合多个模型的预测结果,提高整体的预测准确性和鲁棒性。 在进行加权融合时,我们需要确定每个模型的权重。权重的选择非常重要,它决定了每个模型预测结果对最终结果的贡献程度。通常,权重可以根据模型在验证集上的表现来确定,也可以通过交叉验证等方法进行选择。 加权融合可以采用多种算法进行处理。其中一种常见的方法是简单加权平均,即对每个模型的预测结果进行加权平均。另一种方法是按照模型预测结果的置信度进行加权,即将置信度高的模型预测结果赋予更高的权重。此外,还有一些更复杂的方法,如堆叠模型和投票融合等。 加权融合的优点在于能够结合多个模型的优点,弥补单个模型的局限性。通过合理选择权重,可以有效地提高预测的准确性和鲁棒性。此外,加权融合还可以降低过拟合的风险,提高模型的泛化能力。 总结而言,机器学习模型加权融合是一种将多个模型的预测结果进行综合考虑的方法。通过选择合适的权重,可以得到更准确和鲁棒的预测结果。这是一种常用的机器学习技术,广泛应用于各种领域的数据分析和预测任务中。 ### 回答3: 机器学习模型加权融合是一种通过将多个机器学习模型结合起来,赋予每个模型不同的权重,从而得到更加准确和鲁棒的预测结果的方法。该方法基于一个假设,即不同的机器学习模型可能在不同的数据子集或特征集上表现更好,因此将它们合并可以提高整体的预测性能。 在加权融合中,首先需要选择多个机器学习模型,可以是同一类别的模型(如多个决策树或支持向量机),也可以是不同类别的模型(如决策树和神经网络)。然后,根据模型在训练集上的性能,为每个模型分配一个权重。一般而言,性能较好的模型会获得更高的权重。 选择合适的权重分配方法是加权融合的关键。常见的方法包括基于性能评估指标(如准确率或均方误差)的静态分配、基于模型结果的动态分配(如通过交叉验证得到每个样本的权重)等。同时,还可以采用启发式算法来优化权重的分配,如遗传算法或模拟退火算法。 当得到每个模型的权重后,将它们应用于测试集或新的未见样本,进行预测。一种简单的加权融合方法是将不同模型的预测结果相加或取平均值,按照权重对结果进行加权。还可以使用更复杂的方法,如基于概率的加权融合,将预测结果转化为概率分布,再根据权重进行融合。 机器学习模型加权融合的优点是可以充分利用多个模型的优势,提高预测性能和鲁棒性。同时,该方法还可以减少个别模型的过拟合或欠拟合问题,提高整体模型的泛化能力。然而,加权融合的权重分配和模型选择都需要经验和调优,否则可能导致过拟合或低效的模型融合效果。因此,在实际应用中需要进行实验和验证,选择最适合的加权融合策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值