Day 23 : 集成式学习

接下来的要介绍一个很重要的模型观念 - 集成式学习。俗话说的好,三个臭皮匠胜过一个诸葛亮,而在机器学习又是怎麽应用呢?让我们一起探索吧!

集成式学习

集成式学习(Ensemble Learning),是将数个监督式学习的模型集合起来,可以达到更好的模型成效。俗话说的话,三个臭皮匠胜过一个诸葛亮,就是这个道理!

若使用单一个模型,可能会有过度拟合资料等缺点;但是我们可以集众人之力量,虽然每个模型可能是一个弱的分类器,但是有多个模型并综合评估,可以达到互补且加分的效果。

依照处理方式的不同,又可以分为 Bagging、Boosting、Blending、Stacking。

  • 资料面:用不同的训练资料、同一种模型,进行多次的训练综合的预测结果
  • 特徵面:用同样的资料、不同的模型,综合的预测结果
面向 方法 例子
资料面 Bagging Random Forest
资料面 Boosting XGBoost、LightGBM、GBDT、AdaBoost、CatBoost
特徵面 Blending 不同模型进行投票
特徵面 Stacking 不同模型进行堆叠

1. Bagging

装袋法(Bootstrap Aggregating, Bagging),把训练资料重新采样之後,就可以产生不同组的训练资料。常见的例子有随机森林。

少数服从多数,透过不同的子集合进行不同子模型训练,最终由子模型进行投票。

  • 每次将资料抽後放回
  • 建立多个相互独立的模型
  • 最後进行平均或是依照权重进行多数决投票

Bootstrap 解释

自助法或拔靴法,是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。
参考wiki

2. Boosting

目标是为了要避免学习错误,让自己往学正确的东西。根据预测错误的资料调整其权重值,让模型下次能学习比较好。

迭代训练某个模型,根据 i-1 轮预测错误得到的情况来修正第 i 轮训练样本的权重。

举例来说,老师会在之前学生错过的题目增加配分的比重,若再次写错代表没有学好。

3. Blending

混合不同种的模型,进行投票(权重可以自己定)。

4. Stacking

将预测的结果当作特徵,可以当作另一个模型的输入值,因此又可以训练一个新模型,如此重复地手段可以称之为堆叠(Stacking)。


<<:  其它的 lifecycle 或 vue router 的 hook

>>:  21 "准备完成" 用 PubSub 同步更新网页

Day-29 跳页

在过去撰写的程序都是以单页的形式呈现, 但实际上架的APP多不只一页, 那要如何从A页跳至B页? 这...

DAY15 模型预测评估方法

我们的挑战终於进行一半啦~前面经过漫长的资料前处理、特徵工程、挑选模型进行训练後,我们把一个机器学习...

Swift 新手-ios 应用软件开发资料与云端储存篇(二)

使用 Firebase 专案串接 GA4 资源,提升 App 绩效 过往无法一探究竟的技术过程,现在...

第6章:基本操作文字档案介绍

前言 在上一章节中,介绍了该如何使用man这个指令来查询指定的指令的用法,在这一章节中,笔者将继续的...

Day28-终於要进去新手村了-HTML DOM 观念介绍

我们上一篇文章讲到了HTML DOM的阶层以及树状图,接下来我们就举两个例子来厘清一下观念,也让我自...