[Day 09] 建立机器学习模型 — Andrew Ng 大神说要这样做

AI system = Code (Algorithm/Model) + Data

TL;DR

建立 ML 系统时,要把 AI system = Code + Data 的概念谨记在心。
在很多应用情况中,Code 其实一开始就解决了 (从 Github 下载的模型已经很赞),因此多花点时间来改善 Data 是更有效率的作法,因为它通常会更贴近要解决的问题。

建立模型

modeling
希望大家在前两天的部署实作玩得开心,接着我们要前进到机器学习产品生命周期的"上"个阶段,建立模型 (Modeling)。

建立模型是一个迭代的实验过程,因此能快速走完回圈是提昇表现的关键,另外在每次回圈中,正确地选择该如何修正模型、超参数、资料对表现也很重要,当经过数次回圈得到不错的模型之後,在把它部署进产品之前,建议再做一次深度的错误分析,并对系统进行最後评断 (audit) 来确保它的可行性。:
modeling iteration
*图片修改自 MLEP, Selecting and training a model — Key challenges

资料本位模型开发 (Data-centric Modeling)

[Day 03] 机器学习产品生命周期 — 救救我啊我救我 时有提到过在产业上,若目标是要建立一个运作良好的系统,更好的作法是尽可能固定程序码,然後专注於优化资料的品质,这样的想法就是 Andrew Ng 在 A Chat with Andrew on MLOps: From Model-centric to Data-centric AI 提到的资料本位模型开发。
资料本位模型开发与传统模型本位的差别如下:
Data centric
而将建立模型的迭代过程与资料本位的观点融合就是以资料本位改善模型表现的作法 — Data iteration:
Data iteration
*图片修改自 Introduction to Machine Learning in Production

着重在增加与改善资料品质!

何时才算开发完成?

既然开发模型是迭代的过程,那麽何时才能停止这个回圈呢,大部分专案在产品化前都必须 "依序" 达成以下三个里程碑:

  1. 在训练集表现良好 (通常由平均训练误差来衡量)。
  2. 在验证(development)/测试(test)集表现良好。
  3. 在商业指标 (business metrics)、专案目标 (project goals) 表现良好。

过去的机器学习发展都着重於验证、测试时的表现,但这样与达成商业目标还有一段差距,因此只达到很低的平均测试误差是不够的 (虽然已经很有挑战性)!
但在测试表现已经很好的前提下,要达成这个里程碑可能遇到一些挑战,明天我们就来看看是哪些挑战吧。
/images/emoticon/emoticon09.gif

参考资料


<<:  30天打造品牌特色电商网站 Day.10 CSS框架-Bootstrap5

>>:  [Day22] 在 Codecademy 学 React ~ 原来 useState 就是 this.state + this.setState 啊!

规划

大家好, 因为工作不太常用到AI/ML, 所以我自身会想要去多看多了解, 才不会脱钩 想当初整整研究...

GitHub Autolinked references & Permanent link - 团队讨论的专业技巧

在资讯团队进行讨论的过程中,不免会提到相关 Issue、Pull Request 与 程序码。无论是...

予焦啦!装置树(DTB)解析

本节是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e4...

Day03 - 连接Ptt WebSocket

PTT自2017年6月开始实验性开放WebSocket,到2020年1月1日已公告正式支援,现今以W...

【Day2】:初识STM32

STM32基本简介 STM32是意法半导体的产品,意法半导体(ST)集团於1988年6月成立。199...