加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

如何开发一个鲁棒的机器学习算法

发布时间:2021-05-01 10:39:09 所属栏目:传媒 来源:互联网
导读:要真正理解数据和数据背后的过程,才能实现一个成功的系统。这篇文章从Bootstraping开始介绍,让你听懂什么是Boosting,什么是Bagging。 机器学习和数据科学需要的不仅仅是将数据放入python库中并利用得到的结果。 数据科学家需要真正理解数据和数据背后的过

要真正理解数据和数据背后的过程,才能实现一个成功的系统。这篇文章从Bootstraping开始介绍,让你听懂什么是Boosting,什么是Bagging。

机器学习和数据科学需要的不仅仅是将数据放入python库中并利用得到的结果。

数据科学家需要真正理解数据和数据背后的过程,才能实现一个成功的系统。

实现这个的一个关键方法是知道模型何时可以从使用bootstrapping中受益。这些就是所谓的集成模型。集成模型的例子有AdaBoost和随机梯度提升。

为什么使用集成模型?

它们可以帮助提高算法的准确性或提高模型的鲁棒性。这方面的两个例子是Boosting和Bagging。对于数据科学家和机器学习工程师来说,Boosting和Bagging是必须知道的主题。特别是如果你打算参加数据科学/机器学习面试。

本质上,集成学习遵循集成这个词。不同的是,不是让几个人用不同的八度来创造一个优美的和声(每个声音填补另一个的空白)。集成学习使用同一算法的数百到数千个模型,这些模型一起工作以找到正确的分类。

另一种考虑集成学习的方法是盲人与大象的寓言。每个盲人都发现了大象的一个特征,他们都认为这是不同的东西。然而,如果他们聚在一起讨论这个问题,他们也许能够弄明白他们在看什么。

使用诸如Boosting和Bagging这样的技术可以提高统计模型的鲁棒性并减少方差。

现在的问题是,这些不同的“B”开头的词,都有什么区别呢?

Bootstrapping

首先我们来讨论一下bootstrapping的重要概念。这一点有时会习中,bootstrap方法是指随机抽样和替换。这种样本称为重采样。这使得模型或算法能够更好地理解重采样中存在的各种偏差、方差和特征。从数据中提取一个样本允许重新采样包含不同的特征,而这些特征可能是作为一个整体包含的。如图1所示,其中每个样本总体都有不同的部分,而且没有一个是相同的。这将影响数据集的总体均值、标准差和其他描述性指标。反过来,它可以开发更健壮的模型。

Bootstrapping对于小型数据集来说也非常有用,这些数据集可能有过拟合的趋势。事实上,我们向一家公司推荐了这个,因为他们的数据集离“大数据”还很远。在这种情况下,Bootstrapping 是一种解决方案,因为利用Bootstrapping 的算法可以更加健壮,并根据所选择的方法(Boosting或Bagging)处理新的数据集。

使用bootstrap方法的原因是它可以测试解的稳定性。通过使用多个样本数据集,然后测试多个模型,可以提高鲁棒性。也许一个样本数据集的均值比另一个样本数据集的均值大,或者有不同的标准差。这可能会破坏过拟合并且没有使用有不同变化的数据集进行测试过的模型。

bootstrapping 变得非常普遍的原因之一是计算能力的增强。这使得使用不同的重采样可以进行比以前多很多倍的排列。Bootstrapping在Bagging和boost中都有使用,下面将对此进行讨论。

Bagging

Bagging实际上是指(Bootstrap Aggregators)。大多数使用bagging算法引用的论文或帖子都会引用Leo Breiman[1996年]的一篇论文“bagging Predictors”。

Leo将Bagging描述为:

“Bagging predictors是一种生成一个预测器的多个版本并使用这

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读