吳恩達的7條機器學習訓練秘籍

2021-02-15 AI前線

AI 前線導讀:吳恩達作為世界級人工智慧和機器學習領域最權威的學者之一,和 Yann LeCun、GeoffreyHinton、Yoshua Bengio 並稱深度學習界的四大金剛。4月初,我們報導了吳恩達發布新書的消息,並提供了新書的已更新章節內容供大家下載。現在時間已經過去了一個月,國外有網友已經將吳恩達新書已放出的章節全部讀完,並從中提煉出了7條他認為最有用、也最有趣的建議,AI前線將這7條建議翻譯如下。

更多乾貨內容請關注微信公眾號「AI 前線」,(ID:ai-front)

《機器學習訓練秘籍》(Machine Learning Yearning)是人工智慧和深度學習大佬吳恩達新出的一本書,該書著重介紹如何讓機器學習算法能夠工作,以及如何構建機器學習項目。在本文中,我們從該書精選出了七條非常有用的建議。

人工智慧、機器學習和深度學習正在迅速發展,並改變了許多行業。吳恩達(Andrew Y. Ng)是該領域的領軍人物之一,他是 Coursrea 的共同創始人,百度公司人工智慧前負責人,也是 Google Brain 的前負責人。最近他正在寫一本書:《機器學習訓練秘籍》(Machine Learning Yearing,官網:http://www.mlyearning.org/, 你可以免費得到草稿副本),這本書將教會你如何構建機器學習項目。

吳恩達介紹道:

本書的重點不在於教授機器學習算法,而在於如何使機器學習算法發揮作用。一些技術人工智慧課程會給你一個錘子;這本書教你如何使用錘子。如何你渴望成為人工智慧的技術領導者並想學習如何為你的團隊準確找到方向,這本書將會有所幫助。

我們已經讀完了目前已更新的所有章節,並從中選出了七條最有意思、最有用的建議:

 1. 優化和滿意度指標

你應該考慮使用多個評估指標,而不是使用單個公式或指標來評估算法。做到這一點的一種方法是通過「優化」和「滿意度」的指標。

Combining Multiple Evaluation Metrics

以上圖所示為例,我們可以首先定義可接受的運行時間,比如小於 100 毫秒,這可以視為我們的「滿意度」指標。你的分類器必須「足夠好」,因為要求它的運行時間小於 100 毫秒這個值,僅此而已。此處的準確度(Accuracy)是「優化」指標。它可以是評估算法的一種非常有效、簡單的方法。


 2. 快速選擇開發 / 測試集——如有必要,不要害怕改變它們

在開始一個新項目時,吳恩達解釋說,他為了給團隊一個明確定位的目標,會試圖快速選擇開發 / 測試集。設定好初始的一周目標,最好的做法是,提出一些不完美的想法,然後迅速行動起來,而不是在這個階段考慮過多。

話雖如此,但如果你突然意識到,你選擇的初始開發 / 測試集不正確的話,不要害怕改變。之所以會選擇錯誤的開發 / 測試集,有三個可能的原因:

請記住,改變,並不是什麼大不了的事。只要這樣做,就可以讓你的團隊知道你的新方向。


 3. 機器學習是一個迭代過程;不要期望它第一次就發揮作用

吳恩達表示,構建機器學習軟體有三種方法:

從一個想法開始;

用代碼實踐這個想法;

進行一個實驗,總結這個想法的效果。

Machine Learning Iterative Process

見上圖所示,當你繞著這個圈跑得越快,那麼你取得的進步就越快。這也是為什麼吳恩達強調事先選擇開發 / 測試集很重要的原因,因為它可以在迭代過程中節省寶貴的時間。對這個數據集進行性能測試可以讓你快速了解事情是否朝著正確方向發展。

 4. 快速構建第一個系統,然後迭代

正如第三點所述,構建機器學習算法是一個迭代過程。吳恩達專門寫了一個章節,解釋快速構建第一個系統,然後從此開始的好處:「不要試圖去設計、構建完美的系統。相反,要快速構建並訓練一個基本的系統,而這也許只需短短幾天就完成了。就算這個基本的系統離你所能構建的『最佳』系統還很遠,但你要明白,研究基本系統的功能還是有很大價值的:你會很快發現線索,並找到如何將時間投入最有希望的方向。」

 5. 並行地評估多個想法

當你的團隊在如何改進算法有很多想法時,你可以並行地、有效地評估這些想法。通過創建一個能夠檢測貓類圖片的算法,吳恩達解釋了他是如何創建一個表格,並在查看約 100 個錯誤分類的開發 / 測試集圖像時填寫表格,如下圖所示。

Evaluating Multiple Ideas Parallel

在這種表格中,包括對每張圖片的分析,失敗的原因,以及其他可能有助於未來反思的意見。完成之後,你可以看到哪些想法能夠消除更多的錯誤,因此應該進行哪些操作。

 6. 考慮清理錯誤的開發 / 測試集是否值得

在你的錯誤分析過程中,你可能會注意到開發 / 測試集中的一些樣本被錯誤標記了。也就是圖像被人為錯誤標記了。如果你懷疑其中一小部分錯誤是由於此原因造成的,那麼就在表格中中添加一個額外的類別:

Evaluating Mislabeled Images

在完成這些操作之後,你就可以考慮,花時間來解決這些問題是否值得。吳恩達給出了兩種可能的情況,來判斷這些問題是否值得修正。

示例 1:

Overall accuracy on dev set.………………. 90% (10% overall error)

Errors due to mislabeled examples……. 0.6% (6% of dev set errors)

Errors due to other causes………………… 9.4% (94% of dev set errors)

「此處,相對於你所能改善的 9.4% 的錯誤而言,由於錯誤標記導致的 0.6% 可能遠遠沒有那麼重要。在開發集中,手動修復錯誤標記的圖像並沒有什麼害處,但這樣做並不重要:就算你不知道系統總體錯誤是 10% 還是 9.4%,可能都沒有什麼問題。」

示例 2:

Overall accuracy on dev set.………………. 98.0% (2.0% overall error)

Errors due to mislabeled examples……. 0.6%. (30% of dev set errors)

Errors due to other causes………………… 1.4% (70% of dev set errors)

「30% 的錯誤,是由於開發集圖像錯誤標記所致,這樣對準確度的估計會增加重大誤差。這情況下,很有必要改進開發集的標記質量。處理錯誤標記的樣本將有助於你查看分類器的錯誤是接近 1.4% 還是 2%,這是一個顯著的相對偏差。」

 7. 將開發集分成單獨的子集

吳恩達解釋,如果你有一個大型的開發集,其中 20% 存在一個錯誤率,那麼將它們分成兩個單獨的子集是值得的:

「使用該算法對開發集 5000 個樣本中的 1000 個樣本進行了錯誤的分類。假設我們要手動檢查,對大約 100 個錯誤進行錯誤分析(10% 的錯誤)。你應該隨機選擇 10% 的開發集,並將它放置到我們稱為 Eyeball 的開發集中,提醒自己我們是用眼睛觀看的。(在有關語音識別的項目中,你會聽到音頻剪輯的說法,也許你可以稱之為 Ear 開發集)。因此,Eyeball 開發集有 500 個樣本,我們希望能夠對大約 100 個錯誤進行分類。」

開發集的第二個子集,稱為 Blackbox 開發集,將擁有剩下的 4500 個樣本。你可以使用 Blackbox 開發集通過測量錯誤率來自動評估分類器。當然,你還可以使用它來選擇算法或者調優超參數。但是,你應該避免用眼睛去觀看。我們使用「Blackbox」這個術語,是因為我們只會使用這些數據的子集來獲得「Blackbox」對分類器的評估。

P.S.吳恩達新書《機器學習訓練秘籍》目前已更新至第27章,AI前線公眾號對話框回復「吳恩達」可獲取1-27章完整PDF文件。

原文連結:

https://www.kdnuggets.com/2018/05/7-useful-suggestions-machine-learning-yearning.html

今日薦文

點擊下方圖片即可閱讀

極客時間 《推薦系統 36 式》,36 講,深入淺出地為你搭建起整體的架構、算法等知識脈絡,並在這基礎上補充實踐案例與經驗,助力解決系統起步階段 80% 的問題。聽完這個專欄,可深知推薦系統的本質及運用策略。

可以說,若你是零基礎,那這個專欄很適合你,擁有 8 年資深算法經驗的刑無刀老師用通俗易懂、多舉例少談概念地方式幫你講清楚各個問題,直擊推薦系統本質。

訂閱有福利!訂閱後,可生成你的專屬海報,分享給身邊的小夥伴。每邀請一位好友購買,你可獲得 13 元,好友也將獲得 6 元的現金返現。多邀多得,上不封頂,立即提現(提現流程:極客時間公眾號 - 我的 - 現金獎勵提現)

相關焦點

  • 吳恩達《機器學習訓練秘籍》:7 條關於項目實踐的實用建議
    翻譯 | shawn出品 | 人工智慧頭條(公眾號ID:AI_Thinker)《機器學習訓練秘籍
  • 「吳恩達deeplearningai」微信公眾號上線,將發布《機器學習訓練...
    去年 6 月,吳恩達宣布 deeplearning.ai 創業項目,8 月,該項目揭曉:一套由 5 門課組成的深度學習系列課程 —— Deep Learning Specialization,旨在推廣普及深度學習知識。
  • 【機器學習基礎】重磅發布!吳恩達 AI 完整課程資源超級大匯總!
    毫無疑問,吳恩達的 AI 課程在國內外都是入門的首選課程,而且有非常完整的學習路線,無數新手都從這門課中收穫滿滿。然而,吳恩達從最早的 CS229,到後來的 deeplearning.ai 深度學習專項課程,還有其它 AI 資源,大神發布的 AI 知名課程和資料非常多。對大部分學習者來說,肯定搜集得不完全而且非常耗時間。這確實是意見麻煩事!沒關係!
  • 【重溫經典】吳恩達機器學習課程學習筆記七:Logistic回歸
    【重溫經典】吳恩達機器學習課程學習筆記一:監督學習【重溫經典】吳恩達機器學習課程學習筆記二:無監督學習(unsupervised learning)【重溫經典】吳恩達機器學習課程學習筆記三:監督學習模型以及代價函數的介紹【重溫經典】吳恩達機器學習課程學習筆記四:梯度下降【重溫經典】吳恩達機器學習課程學習筆記五:多元梯度下降
  • 吳恩達機器學習課程:完全用Python完成,可以的!(附代碼)
    「吳恩達的Coursera機器學習課程可以完全用Python完成!」昨天,Reddit論壇的機器學習看板出現這樣一條熱帖。可以說,吳恩達(Andrew Ng)的機器學習課程是很多人、尤其是中國學生進入機器學習世界的引路人,被認為是入門機器學習的最好課程。截至目前,有超過80000人在Coursera上完成了這門課的學習。
  • 機器之心專訪吳恩達,深度學習課程項目Deeplearning.ai正式發布
    在發布前夕,吳恩達接受了機器之心的專訪,對該項目進行了更為詳細的解讀。Deeplearning.ai 課程地址:https://www.coursera.org/specializations/deep-learning今早,吳恩達在 Medium 上發布了一篇博客,宣布 Deeplearning.ai 項目正式啟動。
  • 帶你少走彎路:五篇文章學完吳恩達機器學習
    本文是吳恩達老師的機器學習課程[1]的筆記和代碼復現部分,這門課是經典,沒有之一。但是有個問題,就是內容較多,有些內容確實有點過時。如何在最短時間學完這門課程?(該視頻字幕已經無償送給網易雲課堂:吳恩達機器學習課程,由他們進行潤色,致謝裡有我的名字。這個課程有好多個翻譯版本,我的可能是最差的一個版本,但可能下載最多。)字幕和視頻有需要的同學到我的github[3]下載。在學習機器學習課程時,我把筆記放到了github[3]上提供下載,被下載了幾十萬次,獲得13400+star。
  • 吳恩達新書《Machine Learning Yearning》附完整中文版 PDF 下載!
    吳恩達在 AI 普及之路上從未停下腳步,歷時半年的大作《Machine Learning Yearning》中文版《機器學習訓練秘籍
  • 入門 | 吳恩達Deeplearning.ai 全部課程學習心得分享
    第 7 課:歸一化為何有效?吳恩達展示了為什麼歸一化可以通過繪製等高線圖的方式加速優化步驟。他詳細講解了在歸一化和非歸一化等高線圖上進行梯度下降所需要的迭代次數變化,即相同優化算法沒經過歸一化操作會需要更多的迭代數。
  • 吳恩達deeplearning.ai新課上線:TensorFlow移動和web端機器學習
    大家都很熟悉吳恩達了。他開設的 Coursera 機器學習課程可以說是很多初學者的「白月光」。近日,他創始的 deeplearning.ai 在 Coursera 上另外開設了一門課程,主要介紹使用 Tensorflow.js、TensorFlow Lite、TensorFlow Hub 等工具進行數據分析的方法。該專項課程已於今日開放註冊。吳恩達對課程進行了轉推。
  • 吳恩達機器學習入門2018高清視頻公開,還有習題解答和課程拓展
    斯坦福吳恩達的CS229稱第二,恐怕沒人敢稱第一。最近,吳恩達在斯坦福的最新CS229 2018課程,已經完成YouTube上傳——高清哦。沒有高糊勸退,還附送課題討論總結、課後習題和解答參考等珍貴資源,簡直讓你找不到不學的理由!
  • 深度學習入門必看---吳恩達深度學習課程
    吳恩達今天分享的是吳恩達的深度學習課程。吳恩達是人工智慧領域的大牛,著作頗豐,其推出的機器學習課程在學生之中反響強烈,深受中國學生的推崇。在眾多網友,學生,工作者的呼籲下,2017年8月,吳恩達推出了自己的深度學習課程,由於長時間拖更,經常被網友吐槽,最終在今年的時候全部更新完畢。考慮到中國學生對課程的喜愛,吳恩達和網易雲課程合作,提供帶有中文字幕的學習視頻。
  • 把吳恩達深度學習系列課程畫出來是這個樣子
    本文轉自:大數據文摘在吳恩達機器學習系列課程完結後不久,一位名叫Tess Ferrandez的小姐姐在推特上分享了一套自己的課程筆記,瞬間收穫了3k+贊和1k+轉發。不同於滿屏公式代碼的黑白筆記,這套信息圖不僅知識點滿滿,且行文構圖都像插畫一樣顏值頗高。
  • 吳恩達計算機視覺:12堂課學習心得
    AI 前線導語:最近,加拿大國家銀行首席分析師 Ryan Shrott 在分享吳恩達在 Coursera 上發布的深度學習課程的前三門課的學習心得後,日前再次分享了他完成的第四門課的學習心得。更多乾貨內容請關注微信公眾號「AI 前線」(ID:ai-front) 吳恩達的機器學習課程在 Coursera 平臺上已上線 5 年左右,該門課程是國內,乃至全球許多機器學習愛好者、專家學者的入門課程。整門課程深入淺出、簡潔易懂。
  • 學完吳恩達全部深度學習課程,這有一份課程解讀
    第 7 課:歸一化為何有效?吳恩達展示了為什麼歸一化可以通過繪製等高線圖的方式加速優化步驟。他詳細講解了在歸一化和非歸一化等高線圖上進行梯度下降所需要的迭代次數變化,即相同優化算法沒經過歸一化操作會需要更多的迭代數。
  • 資源連結|深度學習教程資源整理(伯克利、斯坦福、MIT、阿里、吳恩達)
    list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6你知道怎麼入門自然語言處理麼?當然是大名鼎鼎的斯坦福公開課 CS224N 了,它和計算機視覺方面的課程 CS231n 堪稱絕配。但是自 2017 年以來,NLP 有了很多重大的變化,包括 Transformer 和預訓練語言模型等。目前開放的視頻仍然是 17 年年初的課程,很多激動人心的前沿模型都沒有介紹。
  • 吳恩達Deeplearning.ai課程學習全體驗:深度學習必備課程
    (選自Medium 機器之心編譯)    在全職工作與家庭瑣事之間,很多人都希望利用自己的剩餘時間學習認知科學和人工智慧的知識,如果突然出現了一套優秀的課程,那麼一切就會變得簡單起來。 吳恩達最近推出的 deeplearning.ai 課程就是這樣的存在。
  • 吳恩達新書《Machine Learning Yearning》中7個實用建議
    大數據文摘轉載自數據派THU作者:Dan Clark, KDnuggets編譯:顧佳妮、丁楠雅本文為你介紹吳恩達新書中的7個使用建議,致力於講明白機器學習算法是怎樣工作的,以及如何構建一個機器學習項目。
  • 吳恩達談百度深度學習:為什麼要建中文神經網絡
    Medium作者Caleb Garling在吳恩達結束了舊金山的深度學習峰會後,與進行了一次訪談。在大會上吳恩達受到了一大群仰慕他的計算機科學家的訪問。如果我們可以教會機器這麼做,機器將很快能真正的擁有人的感觀——理解語言和圖像。吳恩達和Caleb Garling談論了他帶領百度在深度學習中面臨的挑戰,他強調,百度只對可以影響 1 億用戶的技術有興趣。其本人十分友好溫和,是那種說起話來你不好意思打斷他的人。人們往往將我們的生物大腦與計算機神經網絡混為一談。
  • 下載量過百萬的吳恩達機器學習和深度學習筆記更新了!(附PDF下載)
    機器學習筆記pdf一共336頁,深度筆記pdf一共781頁,建議去網上找列印店(5分錢雙面的很多)。2014 年 12 月時,我發動幾位博士來一起翻譯《吳恩達機器學習》視頻字幕,整理和翻譯了大部分視頻,並把視頻和中英文字幕壓制到 mkv 文件中去。(目前該視頻字幕已經無償送給網易雲課堂:吳恩達機器學習課程。)