集成模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成模型相关的知识,希望对你有一定的参考价值。

参考技术A 1.1概述

    集成学习(ensemble learning)本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获得比单个模型更好的回归或分类表现。

    多个模型集成的模型叫集成评估器,组成集成评估器的每个模型都叫基评估器(base estimator),通常有三类集成算法:装袋法(Bagging),提升法(Boosting)和stacking.

    装袋法的核心思想是构建多个相互独立的评估器,然后对其预测进行平均或是多数表决原则来决定集成评估器的结果,装袋法的代表模型就是随机森林。

    提升法中,基评估器是相关的,是按顺序一一构建的,其核心思想是结合弱评估器的力量一次次对难以评估的样本进行预测,从而构成一个强评估器,提升法的代表模型:Adaboost和梯度提升树。

    stacking,就是当初始训练数据学出若干个基学习器后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。

集成模型和平均模型有啥区别?

【中文标题】集成模型和平均模型有啥区别?【英文标题】:What is the difference between ensembling and averaging models?集成模型和平均模型有什么区别? 【发布时间】:2018-02-14 21:53:35 【问题描述】:

在机器翻译中,序列到序列模型变得非常流行。他们经常使用一些技巧来提高性能,例如集成或平均一组模型。这里的逻辑是错误将“平均”。

据我了解,平均模型只是取 X 个模型的参数的平均值,然后创建一个可用于解码测试数据的单一模型。 Ensembling,但是平均每个模型的输出。这需要更多的资源,因为 X 模型必须提供输出,而平均模型仅在测试数据上运行一次。

这里到底有什么区别?输出有何不同?在我的测试中,这两种方法都比基线分数略有提高。这让你想知道如果人们也可以平均的话,为什么还要为合奏而烦恼。然而,在我遇到的所有神经机器翻译论文中,人们谈论的是集成而不是平均。为什么是这样?有没有关于平均的论文(特别是 seq2seq 和机器翻译相关的论文)?

非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

Ensembling 是一个更笼统的术语。 Baggingboosting 是集成方法的示例。

例如,随机森林不只是平均决策树,它使用bagging - 首先随机采样数据和特征,然后在此基础上训练树(使用所有数据/特征没有多大意义,因为树会真的很像)。

【讨论】:

以上是关于集成模型的主要内容,如果未能解决你的问题,请参考以下文章

集成模型和平均模型有啥区别?

Python机器学习(基础篇---监督学习(集成模型))

字符识别--模型集成

字符识别--模型集成

集成学习让你的模型更快更准

树模型与集成学习(task4)两种并行集成的树模型