6 个核心理念!诠释了吴恩达新书《Machine Learning Yearning》
點(diǎn)擊上方“AI有道”,選擇“星標(biāo)”公眾號(hào)
重磅干貨,第一時(shí)間送達(dá)
編譯 | 紅色石頭
吳恩達(dá)的《Machine Learning Yearning》主要講的是如何構(gòu)建好的機(jī)器學(xué)習(xí)項(xiàng)目。這本書包含了很難在其他地方找到的實(shí)際見解,其格式很容易與隊(duì)友和合作者分享。大多數(shù)人工智能技術(shù)課程都會(huì)向你解釋不同的 ML 算法如何在框架下工作,但是這本書教你如何實(shí)際使用它們。如果你渴望成為人工智能的技術(shù)領(lǐng)導(dǎo)者,這本書將幫助你的道路。歷史上,學(xué)習(xí)如何對(duì)人工智能項(xiàng)目做出戰(zhàn)略決策的唯一方法是參加研究生課程或獲得在公司工作的經(jīng)驗(yàn)。《Machine Learning Yearning》是有助于你快速獲得這種技能,這使你能夠更好地建立復(fù)雜的人工智能系統(tǒng)。
關(guān)于作者
吳恩達(dá)是一位計(jì)算機(jī)科學(xué)家、執(zhí)行官、投資者、企業(yè)家,也是人工智能領(lǐng)域的 Top 專家之一。他是百度的前副總裁兼首席科學(xué)家,斯坦福大學(xué)的兼職教授,最受歡迎的機(jī)器學(xué)習(xí)在線課程之一的創(chuàng)建者,coursera.com 的聯(lián)合創(chuàng)始人和谷歌大腦的前任負(fù)責(zé)人。在百度,他曾將人工智能團(tuán)隊(duì)擴(kuò)展到數(shù)千人。
介紹
《Machine Learning Yearning》這本書從一個(gè)小故事開始。想象一下,你想在公司里建立一個(gè)性能領(lǐng)先的貓識(shí)別系統(tǒng)。您已經(jīng)構(gòu)建了一個(gè)原型,但不幸的是,您的系統(tǒng)的性能沒有那么好。您的團(tuán)隊(duì)提出了幾個(gè)關(guān)于如何改進(jìn)系統(tǒng)的想法,但是您對(duì)遵循哪個(gè)方向感到困惑。你可能建立世界領(lǐng)先的貓識(shí)別系統(tǒng),或者在錯(cuò)誤的方向上浪費(fèi)數(shù)月的時(shí)間。
這本書是要告訴你如何在這樣的情況下作出決定,找到最優(yōu)解決方案。吳恩達(dá)提出大多數(shù)機(jī)器學(xué)習(xí)問題都會(huì)留下關(guān)于下一步該如何做的線索,以及你應(yīng)該避免做的事情。他繼續(xù)解釋說,學(xué)習(xí)“閱讀”這些線索是我們領(lǐng)域的一項(xiàng)關(guān)鍵技能。
簡(jiǎn)而言之,ML Yearning 為你提供一份關(guān)于如何設(shè)置機(jī)器學(xué)習(xí)項(xiàng)目技術(shù)方向的深層次的理解。
由于你的團(tuán)隊(duì)成員在你提出新想法時(shí)可能會(huì)持懷疑態(tài)度,所以吳恩達(dá)把這些章節(jié)寫得很短(1-2 頁),這樣你的團(tuán)隊(duì)成員就可以在幾分鐘內(nèi)讀懂它來理解這些概念背后的概念。如果你有興趣讀這本書,請(qǐng)注意,它不適合完全初學(xué)者,因?yàn)樗枰臼煜けO(jiān)督學(xué)習(xí)和深入學(xué)習(xí)。
在這篇文章中,我將用我自己的語言總結(jié)這本書的 6 個(gè)核心理念。
1. 迭代、迭代、再迭代
吳恩達(dá)在書中強(qiáng)調(diào),快速迭代非常重要,因?yàn)闄C(jī)器學(xué)習(xí)是一個(gè)迭代過程。不要考慮如何為您的問題構(gòu)建完美的 ML 系統(tǒng),您應(yīng)該盡可能快地構(gòu)建一個(gè)簡(jiǎn)單的原型。如果你不是問題領(lǐng)域的專家,這一點(diǎn)尤其正確,因?yàn)楹茈y正確猜測(cè)最有希望的方向。
你應(yīng)該在幾天內(nèi)構(gòu)建第一個(gè)原型,然后彈出提示,向你展示改進(jìn)原型性能的最有希望的方向。在下一個(gè)迭代中,你將根據(jù)其中的一個(gè)提示繼續(xù)改進(jìn)系統(tǒng),并構(gòu)建下一個(gè)版本的系統(tǒng)。你會(huì)一次又一次地這樣做。
吳恩達(dá)繼續(xù)解釋說,迭代的越快,你將取得更多的進(jìn)展。這本書的其它概念,都是建立在這一原則的基礎(chǔ)上。但請(qǐng)注意,這是為那些只想構(gòu)建基于人工智能的應(yīng)用程序而不想在該領(lǐng)域進(jìn)行研究的人設(shè)計(jì)的。
2. 使用單一的評(píng)價(jià)指標(biāo)
這個(gè)概念建立在前一個(gè)概念的基礎(chǔ)上,關(guān)于為什么選擇單個(gè)數(shù)字的評(píng)估度量的解釋非常簡(jiǎn)單:它使您能夠快速評(píng)估算法,因此您能夠更快地迭代。使用多個(gè)評(píng)估指標(biāo)只會(huì)使比較算法變得更加困難。
假設(shè)你有兩個(gè)算法。第一個(gè)具有 94% 的精確率和 89% 的召回率。第二種方法的精確率為 88%,召回率為 95%。
如果你沒有選擇一個(gè)評(píng)估指標(biāo),那么不知道哪個(gè)分類器是更好的,因此可能需要花費(fèi)一些時(shí)間來弄清楚。問題是,在每次迭代中都會(huì)為這個(gè)任務(wù)浪費(fèi)大量時(shí)間,并且從長(zhǎng)遠(yuǎn)來看,累積起來耗費(fèi)的時(shí)間更多。你將嘗試許多關(guān)于體系結(jié)構(gòu)、參數(shù)、功能等想法。如果使用單個(gè)數(shù)字評(píng)估指標(biāo)(如精確率或 F1 分?jǐn)?shù)),則可以根據(jù)模型的性能對(duì)所有模型進(jìn)行排序,并快速確定哪個(gè)模型最有效。改進(jìn)評(píng)估過程的另一種方法是將多個(gè)度量合并為一個(gè)度量,例如,通過平均多個(gè)錯(cuò)誤度量。
然而,仍然存在需要滿足多個(gè)指標(biāo)的 ML 問題,例如:運(yùn)行時(shí)間。吳恩達(dá)解釋說,你應(yīng)該定義一個(gè)“可接受的”運(yùn)行時(shí)間,這使你能夠快速地整理出速度太慢的算法,并根據(jù)你的單個(gè)評(píng)估指標(biāo)得到令人滿意的算法。
簡(jiǎn)言之,單個(gè)評(píng)估指標(biāo)能使你能夠快速評(píng)估算法,從而更快地迭代。
3. 錯(cuò)誤分析是關(guān)鍵
錯(cuò)誤分析是查看分析算法輸出錯(cuò)誤的過程。例如,假設(shè)你的貓識(shí)別器把鳥誤認(rèn)為貓,并且你已經(jīng)對(duì)如何解決這個(gè)問題有了一些想法。
通過適當(dāng)?shù)腻e(cuò)誤分析,你可以估計(jì)改進(jìn)的想法實(shí)際上會(huì)提高系統(tǒng)性能的程度,而無需花費(fèi)數(shù)月的時(shí)間來實(shí)現(xiàn)這個(gè)想法,然后發(fā)現(xiàn)它對(duì)提升系統(tǒng)并不重要。這使你能夠決定哪種想法是值得花最多的資源去實(shí)現(xiàn)的。如果你發(fā)現(xiàn)錯(cuò)誤分類的圖像中只有 9% 是鳥,那么無論你多大程度上改進(jìn)算法在鳥分類上的性能,結(jié)果并不重要,因?yàn)樗粫?huì)提高超過 9% 的性能。
此外,吳恩達(dá)提出幾個(gè)使你能夠快速進(jìn)行錯(cuò)誤分析的想法。您只需要?jiǎng)?chuàng)建一個(gè)電子表格,然后從驗(yàn)證集中選取 100 個(gè)錯(cuò)誤分類的圖像。在電子表格中,為每一個(gè)錯(cuò)誤分類的圖像創(chuàng)建一行,為每一個(gè)需要改進(jìn)的想法創(chuàng)建一列。然后你檢查每一個(gè)錯(cuò)誤分類的圖像,并記錄哪些改進(jìn)想法能夠使該錯(cuò)誤圖像被正確分類。
比如,這樣做之后你會(huì)發(fā)現(xiàn),使用 IDEA-1,系統(tǒng)將正確分類 40% 的錯(cuò)誤分類圖像,使用 IDEA-2,正確分類 12%,使用 IDEA-3,正確分類只有 9%。然后你就會(huì)知道,IDEA-1 是你的團(tuán)隊(duì)?wèi)?yīng)該做的最有希望的改進(jìn)。
此外,一旦你開始查看這些錯(cuò)誤分類的圖像,你還可能會(huì)發(fā)現(xiàn)改進(jìn)算法的新想法。
4. 定義一個(gè)最佳錯(cuò)誤率
最佳錯(cuò)誤率有助于指導(dǎo)您接下來的步驟。在統(tǒng)計(jì)學(xué)中,它也經(jīng)常被稱為貝葉斯誤差率。
想象一下,你正在構(gòu)建一個(gè)語音轉(zhuǎn)文本的系統(tǒng),你發(fā)現(xiàn)用戶提交的 19% 的音頻文件有比較大的背景噪音,甚至人都無法識(shí)別其中所說的內(nèi)容。如果是這樣的話,即使是最好的系統(tǒng)也可能有高達(dá) 19% 的誤差。相反,如果你處理的是一個(gè)最佳錯(cuò)誤率接近 0% 的數(shù)據(jù)集,你的系統(tǒng)應(yīng)該會(huì)表現(xiàn)得更好。
定義一個(gè)最佳錯(cuò)誤率還會(huì)幫助你檢測(cè)算法是否存在高偏差或方差,這有助于你定義下一步改進(jìn)算法。
但我們?nèi)绾沃雷罴彦e(cuò)誤率是多少呢?對(duì)于人類擅長(zhǎng)的任務(wù),您可以將系統(tǒng)的性能與人類的性能進(jìn)行比較,從而估計(jì)出最佳錯(cuò)誤率。在其他情況下,通常很難定義一個(gè)最佳錯(cuò)誤率,這就是為什么你應(yīng)該研究人類在某些問題上能夠做得很好的問題,我們將在下一部分討論。
5.?努力解決人類能做得很好的問題
在整本書中,吳恩達(dá)解釋了好幾次為什么建議專注于人類擅長(zhǎng)的領(lǐng)域上研究機(jī)器學(xué)習(xí)。例如語音識(shí)別、圖像分類、目標(biāo)檢測(cè)等。這有幾個(gè)原因。
首先,更容易獲得或創(chuàng)建一個(gè)標(biāo)記的數(shù)據(jù)集,因?yàn)槿绻藗兡軌蜃约航鉀Q問題,那么他們很容易為你的學(xué)習(xí)算法提供高精度的標(biāo)簽。
其次,你可以使用人工性能作為希望用機(jī)器算法達(dá)到的最佳錯(cuò)誤率。吳恩達(dá)解釋說,定義了一個(gè)合理且可實(shí)現(xiàn)的最佳錯(cuò)誤有助于加快團(tuán)隊(duì)的進(jìn)度。它還可以幫助你檢測(cè)你的機(jī)器算法是否存在高偏差或方差。
第三,它能使你能夠根據(jù)人類直覺進(jìn)行錯(cuò)誤分析。例如,如果你正在構(gòu)建語音識(shí)別系統(tǒng),并且你的模型對(duì)輸入進(jìn)行了錯(cuò)誤的分類,那么你可以嘗試了解人類將使用哪些信息來獲得正確的識(shí)別,并使用這些信息相應(yīng)地修改學(xué)習(xí)算法。雖然算法在越來越多的任務(wù)上超過了人類,而人類自己卻做不好,但是你應(yīng)該盡量避免這些問題。
總的來說,你應(yīng)該避免這些人類不擅長(zhǎng)的任務(wù),因?yàn)檫@會(huì)使你的數(shù)據(jù)更難獲得標(biāo)簽,你不能再依靠人類的直覺,而且很難知道最佳錯(cuò)誤率是什么。
6. 如何劃分?jǐn)?shù)據(jù)集
吳恩達(dá)還提出了一種如何分割數(shù)據(jù)集的方法。他建議如下:
訓(xùn)練集:使用它,你可以訓(xùn)練你的算法,而不需要其他任何東西。
驗(yàn)證集:這個(gè)集合用于進(jìn)行超參數(shù)調(diào)整、選擇和創(chuàng)建適當(dāng)?shù)奶匦砸约斑M(jìn)行錯(cuò)誤分析。它基本上是用來決定你的算法的。
測(cè)試集:測(cè)試集用于評(píng)估系統(tǒng)的性能,但不用于做決定。它只是用來評(píng)估的,沒有別的。
驗(yàn)證集和測(cè)試集允許你的團(tuán)隊(duì)快速評(píng)估算法的性能。它們的目的是指導(dǎo)你對(duì)系統(tǒng)進(jìn)行最重要的更改。
吳恩達(dá)建議使用驗(yàn)證集和測(cè)試集,以便在未來系統(tǒng)部署之后,你希望在哪個(gè)數(shù)據(jù)集上表現(xiàn)得更好。如果你實(shí)際用到的數(shù)據(jù)與當(dāng)前訓(xùn)練的數(shù)據(jù)不同,這一點(diǎn)尤其重要。例如,你訓(xùn)練模型的時(shí)候使用的普通相機(jī)拍攝的圖片,但實(shí)際應(yīng)用中系統(tǒng)將只接收手機(jī)拍攝的照片,因?yàn)樗且粋€(gè)手機(jī) app 應(yīng)用。如果你沒有足夠的手機(jī)照片來訓(xùn)練你的系統(tǒng),這可能就會(huì)出問題。因此,您應(yīng)該選擇測(cè)試集,這些測(cè)試集反映出你希望在以后的實(shí)際情況中表現(xiàn)出色的數(shù)據(jù)類型,而不是用于訓(xùn)練的數(shù)據(jù)。
另外,您應(yīng)該選擇來自同一分布的驗(yàn)證集和測(cè)試集。否則,你的團(tuán)隊(duì)有可能會(huì)在驗(yàn)證集上構(gòu)建一些性能良好的模型,結(jié)果發(fā)現(xiàn)它在測(cè)試數(shù)據(jù)上的性能非常差,這是你最關(guān)心的。
總結(jié)
在這篇文章中,我向大家介紹了《Machine Learning Yearning》這本書的 6 個(gè)核心概念。現(xiàn)在你知道了,為什么快速迭代很重要,為什么應(yīng)該使用單個(gè)評(píng)估指標(biāo),以及什么是錯(cuò)誤分析,為什么它至關(guān)重要。此外,你還了解了最佳錯(cuò)誤率、為什么你應(yīng)該處理人類可以做得很好的機(jī)器學(xué)習(xí)問題以及如何劃分?jǐn)?shù)據(jù)。另外,您應(yīng)該選擇來自同一分布的驗(yàn)證集和測(cè)試集。希望這篇文章能給你介紹一下這本書的一些關(guān)鍵概念,我可以肯定地說這本書值得一讀。
資源
最后,附上吳恩達(dá)《Machine Learning Yearning》的電子書,包含英文版和官方授權(quán)翻譯的中文版!供大家參考學(xué)習(xí)。
獲取方式是直接在本公眾號(hào)『AI有道』后臺(tái)回復(fù):【mly】即可。中英文版對(duì)照合集將一同放送哦!
原文鏈接:
https://towardsdatascience.com/6-concepts-of-andrew-ngs-book-machine-learning-yearning-abaf510579d4
【推薦閱讀】
干貨 | 公眾號(hào)歷史文章精選(附資源)
我的深度學(xué)習(xí)入門路線
我的機(jī)器學(xué)習(xí)入門路線圖
?加入AI視界,離AI更近一步!
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的6 个核心理念!诠释了吴恩达新书《Machine Learning Yearning》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年学习编程最好的10个网站,绝对
- 下一篇: 重磅!66 个机器学习硬核资源,请务必收