[Day 11] 建立 Baseline — 开启机器学习专案的第一步

A chain is only as strong as its weakest link. ― Thomas Reid

前言

今天的开头是一句英文俗谚,它说的是再强也强不过最弱的一环,在机器学习的研究或产品中,我们常常会看到有人宣称达到了多好的表现,但若只是与随意建立且表现较差的 Baseline 相比,这样的说词其实是过於乐观的。
下图便描绘了这样的概念,提醒我们 Baseline 的重要性,以及在建立 Baseline 时必须格外用心。
metaphor for baseline importance
今天我们要来讨论的是关於 Baseline 对机器学习产品专案的帮助,就让我们开始吧!

为何要建立 Baseline?

首先用一个例子来说明 Baseline 在机器学习产品上的作用。
注意建立 Baseline 的方法会随着资料型态不同而有很大的差异,以手机上的语音辨识 app 为例,可以使用人类表现水平 (Human Level Performance, HLP) 作为基准:
HLP baseline
若单看 4 种情况的 Accuracy,第一直觉可能会想花最多时间来改善低频宽 (装置连线较差) 时的表现。
但加入人类表现水平 (HLP) 作为基准之後,可以发现在低频宽时连人都很难辨识,因此花时间改善背景有车声时的表现对产品来说会是更好的投资。
也就是说,建立 Baseline 能帮助我们以最有效率的方式提昇产品表现,所以它是执行机器学习专案最重要的第一步。

建立 Baseline 的方法

而建立基准主要有以下几种方法:

  • 人类表现水平
  • SOTA 或开源的文献
  • Quick-and-dirty 的实作
  • 旧有系统的表现

Baseline 可以让我们知道存在哪些可能性,在某些情况中也可以让我们知道大概的 irreducible error/Bayes error  (例如低频宽的 HLP) 。

常常会遇到客户强迫 ML 团队达到 9X% 准确率,这时候要断然要求等我们建立好 baseline 後再来谈,必要时就推给 Andrew!

启动机器学习专案的小诀窍

大致了解 Baseline 的重要性之後,让我们来看看启动机器学习专案的几个小建议。

  1. 尽快进入建立模型的回圈:
    不要执着於最新、最强的演算法,花个半天看看部落格,找个适合且能够快速开始的即可,最好是人家已经写好开源在 Github 了,还能帮我们快速建立 Baseline。
    越快开始回圈的第一步,可以让我们有效率的迭代更多次,更快得到好的表现。
  2. 依照现况决定是否在挑选模型时考虑部署的限制:
    在还未建立 Baseline,且不确定专案可行或是否值得部署时,可以不必考虑限制,放心找一些开源实作来看看各种可能性 (即使它需要的运算资源大到我们已知不可能部署)。
    虽然考虑一下限制也无妨,但专注於更有效率的将 Baseline 先建立起来会比较好。
  3. 先使用少量资料对程序码进行健全性测试 (Sanity check):
    在第一次试用某演算法前,别一开始就花好几个小时去训练,先使用少量训练资料让模型过拟合看看。
    特别是在输出很复杂的情况下,只用一笔资料做训练也可以。
    但如果连一笔资料都无法过拟合,代表一定有地方出错了,就算花数小时在更多的资料上训练也不会有好结果。
    这麽做的好处在於少量资料可以快速训练,让我们更快找到 bug。

以上就是今天的内容,接着我们要进到下个步骤谈谈 Error analysis 啦,明天见罗。
/images/emoticon/emoticon11.gif

参考资料


<<:  [D11] 影像杂讯与滤波(2)

>>:  @Day26 | C# WixToolset + WPF 帅到不行的安装包 [Bootstrapper生命周期]

【踩坑】codepen没有出现fontawesome的icon!

有时候想要刻一些小物件,或是需要分享程序码给人以便请教问题 我都会使用codepen (真的是初学者...

[Day1]前言:为何选择学习区块链?

关於我... hi~我是一个大三的学生,就读医学资讯。因为科系有学到一些资讯,加上系上的必修课需要...

[Day29]C# 鸡础观念- 物件导向(oop)~介面(Interface)

书同文,车同轨, 听说召唤恶魔时,需要与恶魔签订契约, 契约内容双方都得遵守, C#也拥有跟类别签订...

Day 11 Compose Click Event

今年的疫情蛮严重的,希望大家都过得安好,希望疫情快点过去,能回到一些线下技术聚会的时光~ 今天目标:...

IOS、Python自学心得30天 Day-28 上传图片到Firebase Storage

根据官方文件给的方法上传 https://firebase.google.com/docs/stor...