嘿哈布尔! 我们邀请数据工程师和机器学习专家参加免费的演示课程
“使用在线推荐示例将机器学习模型输出到工业环境中” 。 我们还发表了文章 Luca Monno - CDP SpA 财务分析主管。
最有用和最简单的机器学习方法之一是集成学习。 集成学习是 XGBoost、Bagging、随机森林和许多其他算法背后的方法。
关于走向数据科学有很多很棒的文章,但我选择了两个故事(
当我第一次看到 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 有助于减少模型的方差,但它可能会导致模型的整体性能优于最佳原始模型。
综合
将多个模型组合成一个是一种相对简单的技术,可以解决方差偏差问题并提高性能。
如果您有两个或多个运行良好的模型,请不要在它们之间进行选择:全部使用它们(但要小心)!
您有兴趣往这个方向发展吗? 注册免费演示课程
来源: habr.com