《機(jī)器學(xué)習(xí)訓(xùn)練秘籍》(Machine Learning Yearning)這本書(shū)講的是如何構(gòu)建機(jī)器學(xué)習(xí)項(xiàng)目的開(kāi)發(fā)流程。該書(shū)包括了許多在別處難得一見(jiàn)的實(shí)用見(jiàn)解,講述的形式又非常適合分享給團(tuán)隊(duì)中的其他成員以及合作者。大多數(shù)人工智能方面的課程會(huì)向你闡釋不同機(jī)器學(xué)習(xí)算法的工作原理,而這本書(shū)教授的是如何實(shí)際使用它們。中文書(shū)地址:https://accepteddoge.com/machine-learning-yearning-cn/
如果你想要成為人工智能行業(yè)的技術(shù)主管,這本書(shū)會(huì)助你一臂之力。過(guò)去,要想學(xué)習(xí)如何在人工智能項(xiàng)目中做決策,唯一的方法是去攻讀研究生課程、或者在公司積累經(jīng)驗(yàn)。現(xiàn)在,《機(jī)器學(xué)習(xí)訓(xùn)練秘籍》這本書(shū)可以助你快速獲得這項(xiàng)技能,從而變得更加擅長(zhǎng)構(gòu)造復(fù)雜的人工智能系統(tǒng)。
目錄
前言
概念 1: 迭代,迭代,迭代
概念 2: 使用單一評(píng)估指標(biāo)
概念 3: 錯(cuò)誤分析很關(guān)鍵
概念 4: 定義一個(gè)最優(yōu)錯(cuò)誤率
概念 5: 研究人類能做好的問(wèn)題
概念 6: 如何劃分?jǐn)?shù)據(jù)集
總結(jié)
前言
該書(shū)從一個(gè)小故事講起。想象一下,你的公司想要建造一個(gè)先進(jìn)的貓咪檢測(cè)系統(tǒng)。你已經(jīng)做了一個(gè)原型,可惜的是,這個(gè)系統(tǒng)的性能不太行。你的團(tuán)隊(duì)提出了多個(gè)改進(jìn)系統(tǒng)的想法,但你有點(diǎn)搞不清楚接下來(lái)該走哪條路。或許你會(huì)造出世界領(lǐng)先的貓咪檢測(cè)平臺(tái),又或許,你會(huì)因走錯(cuò)路而浪費(fèi)掉幾個(gè)月的時(shí)間。
這本書(shū)則能告訴你,在這樣的情形下如何做抉擇、如何排定優(yōu)先級(jí)。吳恩達(dá)指出,大多數(shù)機(jī)器學(xué)習(xí)問(wèn)題都會(huì)為下一步最應(yīng)該做什么或者避免什么留下線索,學(xué)習(xí)「讀懂」這些線索是機(jī)器學(xué)習(xí)領(lǐng)域的關(guān)鍵技能。
簡(jiǎn)而言之,《機(jī)器學(xué)習(xí)訓(xùn)練秘籍》的主旨是讓你深入理解如何確定機(jī)器學(xué)習(xí)項(xiàng)目的技術(shù)方向。
由于你的團(tuán)隊(duì)成員們可能會(huì)對(duì)你提出的新想法產(chǎn)生質(zhì)疑,吳恩達(dá)把書(shū)本章節(jié)寫(xiě)得非常精簡(jiǎn)(1-2 頁(yè))。這樣你的成員們就能在幾分鐘內(nèi)讀完,并理解這些概念背后的思想。此外,這本書(shū)并不適合完全的初學(xué)者,因?yàn)樗枰獙?duì)有監(jiān)督學(xué)習(xí)和深度學(xué)習(xí)有一些基本的了解。
在本文中,我會(huì)用我自己的語(yǔ)言和理解來(lái)分享這本書(shū)中的六個(gè)概念。
概念 1:迭代,迭代,迭代……
吳恩達(dá)在該書(shū)中從頭到尾一直強(qiáng)調(diào):由于機(jī)器學(xué)習(xí)是一個(gè)迭代的過(guò)程,快速迭代至關(guān)重要。比起去思考如何為你的問(wèn)題建造一個(gè)完美的機(jī)器學(xué)習(xí)系統(tǒng),不如先盡快造出一個(gè)簡(jiǎn)單的原型系統(tǒng)。若你不是這個(gè)問(wèn)題所屬領(lǐng)域的專家,就更應(yīng)如此,因?yàn)橐_找出最佳方向,不靠實(shí)驗(yàn)實(shí)在是太難了。
你應(yīng)該在幾天內(nèi)造出第一個(gè)原型,然后就會(huì)有線索幫你找到改進(jìn)原型的最佳方向。在下一個(gè)迭代中,你可以基于其中一個(gè)線索改進(jìn)這個(gè)系統(tǒng),并生成下一個(gè)版本,然后周而復(fù)始。
接著他闡釋道,你迭代得越快,進(jìn)步就越多。這本書(shū)中的其它概念也都基于這個(gè)原則。要注意的是,這一點(diǎn)適用于那些只想做一個(gè)基于人工智能的應(yīng)用,而不是在這個(gè)領(lǐng)域做研究的人。
概念 2:使用單一評(píng)估指標(biāo)
這個(gè)概念是建立在不停迭代的基礎(chǔ)上。為何要選擇一個(gè)單值評(píng)估指標(biāo),道理也很簡(jiǎn)單:它使你能夠快速評(píng)估算法,從而更加快速地迭代。使用多種評(píng)估指標(biāo)會(huì)使算法之間的比較變得更為困難。
想象你有兩個(gè)算法。第一個(gè)準(zhǔn)確率 94%,召回率 89%。第二個(gè)準(zhǔn)確率 88%,召回率 95%。
這種情況下,如果你不選擇一個(gè)單一評(píng)估指標(biāo),就很難顯而易見(jiàn)地指出哪個(gè)分類器更好,于是你就需要花費(fèi)更多的時(shí)間搞定它。而問(wèn)題在于,每一次迭代都需要損失一些時(shí)間,積累到最后就非常可觀了。因?yàn)槟銜?huì)嘗試很多不同的想法,調(diào)整架構(gòu)、參數(shù)、特征等等,如果你用的是一個(gè)單值評(píng)估指標(biāo)(比如準(zhǔn)確率或者 f1-值),你就能把你所有的模型按照他們的性能排序,快速?zèng)Q定哪個(gè)最好。另外,還有一個(gè)方法可以改善評(píng)估的過(guò)程,就是把多個(gè)指標(biāo)合并成一個(gè),比如給多個(gè)錯(cuò)誤度量求平均。
當(dāng)然,有一些機(jī)器學(xué)習(xí)問(wèn)題需要滿足不止一個(gè)指標(biāo),比如要考慮運(yùn)行時(shí)間。吳恩達(dá)這樣說(shuō):你應(yīng)該定義一個(gè)「可接受」的運(yùn)行時(shí)間,從而快速排除那些太慢的算法,然后用你的單值評(píng)估指標(biāo)比較那些符合條件的算法。
簡(jiǎn)單而言,一個(gè)單值評(píng)估指標(biāo)使你能夠快速評(píng)估算法,從而更快地迭代。
概念 3: 誤差分析至關(guān)重要
誤差分析指的是檢查算法結(jié)果中錯(cuò)誤樣例的過(guò)程。比如,假設(shè)你的貓咪檢測(cè)系統(tǒng)把鳥(niǎo)誤認(rèn)為是貓,那么你就需要對(duì)這個(gè)問(wèn)題有一些解決方案。
在恰當(dāng)?shù)恼`差分析后,你可以估計(jì)出某個(gè)改進(jìn)方案實(shí)際能為這個(gè)系統(tǒng)提供多少性能增益。因此我們不用花費(fèi)好幾個(gè)月先去實(shí)現(xiàn)某個(gè)方案,然后才發(fā)現(xiàn)它對(duì)你的系統(tǒng)沒(méi)多大影響。這樣你就能判斷,把資源投到哪個(gè)方案上效果會(huì)最好。如果你發(fā)現(xiàn)誤識(shí)別的圖片中只有 9% 是鳥(niǎo),那無(wú)論在鳥(niǎo)的圖片上把算法性能提高到多少都沒(méi)什么用,因?yàn)樗疃嘁簿湍芨纳颇?9% 的錯(cuò)誤。
另外,通過(guò)誤差分析,你還能快速判斷多個(gè)改進(jìn)方案的好壞。如果驗(yàn)證集里有 100 張分類錯(cuò)誤的圖片,只需要新建一個(gè)表單,一邊檢查一邊填寫(xiě)。在表單里,每個(gè)分類錯(cuò)誤的圖片為一行,每個(gè)改進(jìn)方案為一列。然后你遍歷所有分類錯(cuò)誤的圖片,記錄哪些改進(jìn)方案能正確分類這張圖。
然后你就會(huì)清楚,比方說(shuō),方案 1 能使系統(tǒng)把 40% 的誤分類圖片分對(duì)、方案 2 為 12%、方案 3 僅僅為 9%。所以,可知你的團(tuán)隊(duì)最應(yīng)該進(jìn)行的是改進(jìn)是方案 1。
同時(shí),一旦開(kāi)始仔細(xì)查看這些誤分類樣本,你還可能找到更多新的靈感來(lái)改善算法。
概念 4: 定義一個(gè)最優(yōu)錯(cuò)誤率
最優(yōu)錯(cuò)誤率可以指導(dǎo)你接下來(lái)該怎么做。在統(tǒng)計(jì)學(xué)中,我們也常稱之為貝葉斯錯(cuò)誤率。
想象這樣一個(gè)場(chǎng)景,你在做一個(gè)語(yǔ)音轉(zhuǎn)文字的系統(tǒng)。你發(fā)現(xiàn)用戶們上傳的音頻文件中,預(yù)計(jì)會(huì)有 19% 的音頻背景噪音太大,連人都無(wú)法識(shí)別到底說(shuō)了啥。如果是這種情況,那么即便是最優(yōu)秀的系統(tǒng)大概也會(huì)有接近 19% 的錯(cuò)誤率。與之相反,如果你要研究的問(wèn)題最優(yōu)錯(cuò)誤率幾乎能到達(dá) 0%,那就可以指望你的系統(tǒng)也能做得差不多好。
它也可以幫你檢測(cè)算法是否存在高偏差或者高方差的問(wèn)題,從而幫你判斷接下來(lái)如何改進(jìn)算法。
但怎么才能知道最優(yōu)錯(cuò)誤率是多少呢?對(duì)于那些人類擅長(zhǎng)的任務(wù),你可以把你的系統(tǒng)的性能和人相比,差不多就是最優(yōu)錯(cuò)誤率了。如果是人類不擅長(zhǎng)的任務(wù),要定義最優(yōu)錯(cuò)誤率往往很難。正因?yàn)榇耍銘?yīng)該去研究人類本身也能做好的問(wèn)題,這一點(diǎn)我們會(huì)在下一個(gè)概念中進(jìn)行討論。
概念 5:研究人類能做好的問(wèn)題
在這本書(shū)中,吳恩達(dá)多次探討了為什么建議大家去研究人類本身也能做好的問(wèn)題,比如語(yǔ)音識(shí)別、圖像分類、物體檢測(cè)等等。原因有以下幾點(diǎn)。
首先,更容易獲取或創(chuàng)建一個(gè)帶標(biāo)簽的數(shù)據(jù)集。因?yàn)槿绻藗冏约嚎梢越鉀Q這個(gè)問(wèn)題,那對(duì)他們來(lái)說(shuō),給你的機(jī)器學(xué)習(xí)算法準(zhǔn)備些標(biāo)簽也不是什么難事。
其次,你可以把人的水準(zhǔn)作為最優(yōu)錯(cuò)誤率,即你的算法想要達(dá)到的目標(biāo)。吳恩達(dá)表示,定義好一個(gè)合理可行的最優(yōu)錯(cuò)誤率,有助于加速團(tuán)隊(duì)的開(kāi)發(fā)進(jìn)程,也可以幫你檢測(cè)算法是否有高偏差或者高方差的問(wèn)題。
再者,這樣你就可以用你的人類直覺(jué)來(lái)做誤差分析。比如,如果你在做一個(gè)語(yǔ)音識(shí)別系統(tǒng),而你的模型給了錯(cuò)誤的答案,那你可以試著去思考:一個(gè)人想要正確轉(zhuǎn)錄這個(gè)音頻會(huì)需要什么信息,由此去改進(jìn)算法。雖然算法在越來(lái)越多人類不太擅長(zhǎng)的任務(wù)上已經(jīng)超過(guò)了人類,你還是應(yīng)該盡量避免去研究這些問(wèn)題。
總而言之,你應(yīng)該避免這些任務(wù),因?yàn)椋韩@取數(shù)據(jù)的標(biāo)簽更難、你不再能依賴人類直覺(jué)、很難確定最優(yōu)錯(cuò)誤率。
概念 6:如何劃分?jǐn)?shù)據(jù)集
吳恩達(dá)也提出了劃分?jǐn)?shù)據(jù)集的方法,建議如下:
訓(xùn)練集:你只用它來(lái)訓(xùn)練算法,不做別的。
驗(yàn)證集:用于調(diào)試超參、選擇并創(chuàng)建合適的特征、做誤差分析,基本上我們需要根據(jù)它來(lái)為算法做決策。
測(cè)試集:測(cè)試集用于評(píng)估你系統(tǒng)的性能,不能用于做決策。只在評(píng)估時(shí)使用,不做別的。
驗(yàn)證集和測(cè)試集使你的團(tuán)隊(duì)得以快速評(píng)估算法的性能,它們的目的是提供引導(dǎo),讓你為系統(tǒng)做出最正確的改進(jìn)。
選擇驗(yàn)證集和測(cè)試集時(shí),吳恩達(dá)建議你考慮系統(tǒng)部署后你想要搞定的真實(shí)場(chǎng)景,使這兩個(gè)集合能如實(shí)反映該場(chǎng)景中的數(shù)據(jù)。如果你預(yù)期實(shí)際數(shù)據(jù)會(huì)和你當(dāng)下的訓(xùn)練數(shù)據(jù)有所不同,這一點(diǎn)就更為重要。比如,你訓(xùn)練時(shí)用的是普通的相機(jī)圖片,而以后你的系統(tǒng)作為一個(gè)手機(jī)應(yīng)用的一部分,只會(huì)收到手機(jī)圖片。如果你沒(méi)有足夠的手機(jī)圖片來(lái)訓(xùn)練系統(tǒng),你就會(huì)面臨這個(gè)問(wèn)題。所以,你應(yīng)該選擇能反映未來(lái)真實(shí)目標(biāo)數(shù)據(jù)的樣例作為測(cè)試集,而不是你用來(lái)訓(xùn)練的數(shù)據(jù)。
同時(shí),你應(yīng)該根據(jù)同一分布選取驗(yàn)證集和測(cè)試集。否則,有可能你的團(tuán)隊(duì)造出的東西在驗(yàn)證集上效果很好,但在測(cè)試集上效果極差,而后者才是你最關(guān)注的的。
總結(jié):在本文中,你學(xué)到了《機(jī)器學(xué)習(xí)訓(xùn)練秘籍》中的六個(gè)概念。現(xiàn)在你知道為什么快速迭代很重要,為什么該用一個(gè)單值評(píng)估指標(biāo),誤差分析是干什么的,以及它為什么重要。同時(shí),你也認(rèn)識(shí)了最優(yōu)錯(cuò)誤率,明白了為什么應(yīng)該研究人類也能做好的問(wèn)題。另外,你還了解了應(yīng)該使驗(yàn)證集和測(cè)試集與實(shí)際場(chǎng)景數(shù)據(jù)相一致,以及這兩個(gè)集合應(yīng)該近似同一分布。希望本文讓你對(duì)這本書(shū)的概念有了初步的理解,這絕對(duì)是一本值得一讀的書(shū)。
-
人工智能
+關(guān)注
關(guān)注
1791文章
46896瀏覽量
237667 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8382瀏覽量
132443 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1205瀏覽量
24649
原文標(biāo)題:六大概念總結(jié)吳恩達(dá)新書(shū):教你如何做好工程實(shí)踐?
文章出處:【微信號(hào):aicapital,微信公眾號(hào):全球人工智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論