今天介绍一种简单的机器学习算法——集成学习

人工智能
后台-插件-广告管理-内容页头部广告(手机)
点击上方关注,All in AI中国
 

在这篇文章之前,我发表了一篇“Holy grail for Bias variance trade-off, Overfitting and Underfitting”的文章。如果你是一个新手,或者只是想在全身心投入到集成建模的海洋中之前复习一下偏差和方差的概念,那么这篇全面的文章将是重要前言部分。

 

观众中的所有其他人都可以轻松地从我的笔中了解有关Ensemble建模的更多信息。我将引用一些现实生活中的例子来简化集合模型的概念、原因和方法,重点是bagging和boost技术。

场景1:您需要一副新耳机。现在,您是否可能只是走进商店并购买销售人员向您展示的耳机?在这个时代的关键时刻,我确信答案是否定的,因为我们在购买任何产品之前都非常依赖我们的“研究”。您将浏览一些Web技术门户,并检查用户评论,然后在检查其功能和价格时比较您感兴趣的不同型号。你也可能会问你的朋友和同事他们的意见。简而言之,您不会直接得出结论,而是在彻底研究完您的方式后做出明智的决定。

现在,可以看看Ensemble学习方法的技术定义。

 

什么是Ensemble方法?

机器学习中的集合模型结合了多个模型的决策,以提高整体性能。它们采用与购买耳机时类似的想法。

学习模型中出错的主要原因是噪声、偏差和方差。

Ensemble方法有助于最小化这些因素。这些方法旨在提高机器学习算法的稳定性和准确性。

场景2:假设您已经开发了一个健康和健身应用程序。在公布之前,您希望收到关键反馈以消除潜在的漏洞(如果有的话)。您可以使用以下方法之一,阅读并确定哪种方法是最佳:

  1. 你可以接受你的配偶或你最亲密的朋友的意见。
  2. 你可以问问你的朋友和办公室同事。
  3. 您可以启动该应用程序的测试版,并从Web开发社区和无偏见用户那里获得反馈。

答案:D,当然我们将推出第三个选项。

现在,停下来想想你刚刚做了什么。你从一大群人那里得到了多个意见,然后根据他们的意见做出明智的决定。这也是Ensemble方法也可以做到的。

机器学习中的集成模型结合了多个模型的决策,以提高整体性能。

场景3:看看下面的图片;我们可以看到一群蒙着眼睛的孩子正在玩“触摸和告诉”游戏,同时检查他们以前从未见过的大象。关于大象的样子, 他们每个人都会有一个不同的版本,因为每个大象都暴露的是大象的不同部分。现在,如果我们给他们一个任务,提交一份关于大象描述的报告,他们的个人报告只能根据他们的经验准确地描述一个部分,但是他们可以结合他们的观察,给出一个关于大象描述的非常准确的报告。

类似地,Ensemble学习方法采用一组模型,其中它们的组合结果几乎总是比使用单个模型的预测精度更好。

Ensemble是一种用于提高性能的分而治之的方法。

 

现在,让我们深入研究一些重要的Ensemble技术。

 

简单的Ensemble技巧

1.采取结果的模式

模式:模式是一个统计术语,指的是在一组数字中找到的最常出现的数字。

在该技术中,使用多个模型来对每个数据点进行预测。每个模型的预测都被视为单独投票。我们从大多数模型得到的预测被用作最终预测。

例如:我们可以通过回顾上面的场景2来理解这一点。我在下面插入了一个图表,以展示我们的健康和健身应用的测试版。 (将每个人视为不同的模型)

输出= MODE = 3,因为大多数人投了这个

 

2.取结果的平均值

在这种技术中,我们取所有模型预测的平均值,并使用它进行最终预测。

平均=总和(评级*人数)/总人数=(1 * 5)+(2 * 13)+(3 * 45)+(4 * 7)+(5 * 2)/ 72 = 2.833 =四舍五入到最接近的整数将是3

3.对结果进行加权平均

这是平均方法的扩展。为所有模型分配不同的权重,定义每个模型的预测重要性。例如,如果大约25名响应者是专业应用程序开发人员,而其他人没有此领域的先前经验,那么这25人的答案与其他人相比更为重要。

例如:对于后代,我正在将示例的范围缩小到5个人

加权平均=(0.3 * 3)+(0.3 * 2)+(0.3 * 2)+(0.15 * 4)+(0.15 * 3)= 3.15 =四舍五入到最接近的整数将给我们3

 

高级Ensemble技术

我们现在将学习Bagging和Boosting技术。但是,要使用它们,您必须选择基本学习算法。例如,如果我们选择一个分类树,Bagging和Boosting将包含一个我们想要的树池。

1.套袋(Bootstrap AGGregating)

Bootstrap Aggregating)是一种Ensemble方法。首先,我们创建训练数据集的随机样本(训练数据集的子集)。然后,我们为每个样本构建一个模型(分类器或决策树)。最后,使用平均或多数投票来组合多个模型的结果。

由于每个模型都暴露在不同的数据子集中,并且我们最终使用它们的集体输出,因此我们确保过度拟合的问题得到照顾,而不是过于紧密地依赖于我们的训练数据集。因此,Bagging帮助我们减少方差误差。

多个模型的组合减少了方差,特别是在不稳定模型的情况下,并且可以产生比单个模型更可靠的预测。

随机森林技术实际上使用了这个概念,但它通过随机选择一个特征子集以及每个训练样本来进一步减少方差,以便在训练时进行分割。

 

2.提升

 

Boosting是一种迭代技术,它根据最后的分类调整观察的权重。如果观察被错误地分类,则试图增加该观察的权重,反之亦然。

通常,提升会降低偏差误差并构建强大的预测模型。 Boosting显示出比bagging更好的预测精度,但它也倾向于过度拟合训练数据。因此,参数调整成为提升算法的关键部分,使它们避免过度拟合。

Boosting是一种sequential 技术,首先对整个数据集进行第一个算法的训练,后续算法通过拟合第一种算法的残差来构建,从而为先前模型预测不佳的观察值提供更高的权重。

 

它依赖于创建一系列弱学习者,每个学习者可能对整个数据集不利,但对数据集的某些部分有益。因此,每个模型实际上都提升了整体的性能。

 

Bagging和Boosting之间差异的总结

 

Ensemble方法的优点/好处

几乎所有ML黑客马拉松都使用集合方法来增强模型的预测能力。

让我们来看看使用整体方法的优点:

1.更准确的预测结果 - 我们可以比较Ensemble方法的工作与我们的金融投资组合的多样化。建议在债务和股权之间保持混合投资组合,以减少可变性,从而最大限度地降低风险。同样,与大多数情况下的单个模型相比,模型集合将在测试用例场景(看不见的数据)上提供更好的性能。

 

2.稳定且更健壮的模型 - 多个模型的总体结果总是比单个模型噪声小。 这导致模型稳定性和稳健性。

 

3.Ensemble模型可用于捕获数据中的线性关系和非线性关系。这可以通过使用2个不同的模型并形成两者的整体来实现。

Ensemble方法的缺点

  1. 模型解释能力的降低 - 使用Ensemble方法会降低模型解释能力,因为复杂性增加,在最后的关头很难获得关键业务洞察。
  2. 计算和设计时间很长 - 这不利于实时应用程序。
  3. 选择用于创建Ensemble的模型是一门很难掌握的艺术。

因此,既然我们已经涵盖了Ensemble方法的所有基础知识,那么您可以继续实践它们以进一步增强您的理解。

 
后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。