魔术合奏学习

嘿哈布尔! 我们邀请数据工程师和机器学习专家参加免费的演示课程 “使用在线推荐示例将机器学习模型输出到工业环境中”。 我们还发表了文章 Luca Monno - CDP SpA 财务分析主管。

最有用和最简单的机器学习方法之一是集成学习。 集成学习是 XGBoost、Bagging、随机森林和许多其他算法背后的方法。

关于走向数据科学有很多很棒的文章,但我选择了两个故事(第一 и 第二)这是我最喜欢的。 那么为什么还要写另一篇关于 EL 的文章呢? 因为我想向你展示 一个简单的例子是如何工作的, 这让我明白这里没有魔法。

当我第一次看到 EL 的实际应用(使用一些非常简单的回归模型)时,我简直不敢相信自己的眼睛,而且我仍然记得教我这种方法的教授。

我有两个不同的模型(两个弱训练算法)和指标 样本外 R² 分别等于 0,90 和 0,93。 在查看结果之前,我认为我会得到两个原始值之间的 R²。 换句话说,我相信 EL 可以用来使模型的表现不像最差模型那么差,但也不像最好模型那样好。

令我大吃一惊的是,仅对预测进行平均即可得到 0,95 的 R²。 

起初我开始寻找错误,但后来我想这里可能隐藏着一些魔法!

什么是集成学习

通过 EL,您可以组合两个或多个模型的预测来生成更稳健、性能更佳的模型。 处理模型集成的方法有很多。 在这里我将触及两个最有用的来进行概述。

回归 可以对可用模型的性能进行平均。

分类 您可以为模型提供选择标签的机会。 最常选择的标签就是新模型将选择的标签。

为什么 EL 效果更好

EL 表现更好的主要原因是每个预测都有误差(我们从概率论中知道这一点),结合两个预测可以帮助减少误差,从而提高性能指标(RMSE、R² 等)。

下图显示了两种弱算法如何在数据集上运行。 第一个算法的斜率大于所需的斜率,而第二个算法的斜率几乎为零(可能是由于过度正则化)。 但 合奏 显示出更好的结果。 

如果您查看 R² 指标,那么对于第一个和第二个训练算法,它将分别等于 -0.01、0.22,而对于集成,它将等于 0.73。

魔术合奏学习

即使在这样的基本示例中,算法也可能成为糟糕的模型,原因有很多:也许您决定使用正则化来避免过度拟合,或者您决定不排除某些异常,或者您可能使用多项式回归并得到了错误次数(例如,我们使用二次多项式,测试数据显示出明显的不对称性,三次多项式更适合)。

当 EL 效果更好时

让我们看一下使用相同数据的两种学习算法。

魔术合奏学习

在这里您可以看到,结合这两个模型并没有太大提高性能。 最初,对于两种训练算法,R² 指标分别等于 -0,37 和 0,22,对于集成,结果为 -0,04。 即EL模型得到指标的平均值。

然而,这两个例子之间有一个很大的区别:在第一个例子中,模型误差是负相关的,而在第二个例子中,它们是正相关的(三个模型的系数没有被估计,而是简单地由模型选择)以作者为例。)

因此,集成学习在任何情况下都可以用来改善偏差/方差平衡,但是当 模型误差不呈正相关,使用 EL 可能会带来性能提升.

同质和异质模型

EL 通常用于同质模型(如本例或随机森林),但实际上您可以将不同的模型(线性回归 + 神经网络 + XGBoost)与不同的解释变量集组合起来。 这可能会导致不相关的错误并提高性能。

与投资组合多元化的比较

EL 的工作原理与投资组合理论中的多元化相似,但对我们来说更好。 

当进行多元化投资时,您会尝试通过投资不相关的股票来减少业绩差异。 充分多元化的股票投资组合的表现会比最差的个股更好,但永远不会比最好的股票更好。

引用沃伦·巴菲特的话: 

“多元化是对无知的防御;对于不知道自己在做什么的人来说,[多元化]毫无意义。”

在机器学习中,EL 有助于减少模型的方差,但它可能会导致模型的整体性能优于最佳原始模型。

综合

将多个模型组合成一个是一种相对简单的技术,可以解决方差偏差问题并提高性能。

如果您有两个或多个运行良好的模型,请不要在它们之间进行选择:全部使用它们(但要小心)!

您有兴趣往这个方向发展吗? 注册免费演示课程 “使用在线推荐示例将机器学习模型输出到工业环境中” 并参与 与安德烈·库兹涅佐夫的在线会面 — Mail.ru Group 的机器学习工程师。

来源: habr.com

添加评论