0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

《機器學習訓練秘籍》中的六個概念

電子工程師 ? 來源:lp ? 2019-03-05 13:44 ? 次閱讀

機器學習訓練秘籍》(Machine Learning Yearning)這本書講的是如何構建機器學習項目的開發(fā)流程。該書包括了許多在別處難得一見的實用見解,講述的形式又非常適合分享給團隊中的其他成員以及合作者。大多數(shù)人工智能方面的課程會向你闡釋不同機器學習算法工作原理,而這本書教授的是如何實際使用它們。中文書地址:https://accepteddoge.com/machine-learning-yearning-cn/

如果你想要成為人工智能行業(yè)的技術主管,這本書會助你一臂之力。過去,要想學習如何在人工智能項目中做決策,唯一的方法是去攻讀研究生課程、或者在公司積累經驗?,F(xiàn)在,《機器學習訓練秘籍》這本書可以助你快速獲得這項技能,從而變得更加擅長構造復雜的人工智能系統(tǒng)。

目錄

前言

概念 1: 迭代,迭代,迭代

概念 2: 使用單一評估指標

概念 3: 錯誤分析很關鍵

概念 4: 定義一個最優(yōu)錯誤率

概念 5: 研究人類能做好的問題

概念 6: 如何劃分數(shù)據(jù)集

總結

前言

該書從一個小故事講起。想象一下,你的公司想要建造一個先進的貓咪檢測系統(tǒng)。你已經做了一個原型,可惜的是,這個系統(tǒng)的性能不太行。你的團隊提出了多個改進系統(tǒng)的想法,但你有點搞不清楚接下來該走哪條路?;蛟S你會造出世界領先的貓咪檢測平臺,又或許,你會因走錯路而浪費掉幾個月的時間。

這本書則能告訴你,在這樣的情形下如何做抉擇、如何排定優(yōu)先級。吳恩達指出,大多數(shù)機器學習問題都會為下一步最應該做什么或者避免什么留下線索,學習「讀懂」這些線索是機器學習領域的關鍵技能。

簡而言之,《機器學習訓練秘籍》的主旨是讓你深入理解如何確定機器學習項目的技術方向。

由于你的團隊成員們可能會對你提出的新想法產生質疑,吳恩達把書本章節(jié)寫得非常精簡(1-2 頁)。這樣你的成員們就能在幾分鐘內讀完,并理解這些概念背后的思想。此外,這本書并不適合完全的初學者,因為它需要對有監(jiān)督學習和深度學習有一些基本的了解。

在本文中,我會用我自己的語言和理解來分享這本書中的六個概念。

概念 1:迭代,迭代,迭代……

吳恩達在該書中從頭到尾一直強調:由于機器學習是一個迭代的過程,快速迭代至關重要。比起去思考如何為你的問題建造一個完美的機器學習系統(tǒng),不如先盡快造出一個簡單的原型系統(tǒng)。若你不是這個問題所屬領域的專家,就更應如此,因為要正確找出最佳方向,不靠實驗實在是太難了。

你應該在幾天內造出第一個原型,然后就會有線索幫你找到改進原型的最佳方向。在下一個迭代中,你可以基于其中一個線索改進這個系統(tǒng),并生成下一個版本,然后周而復始。

接著他闡釋道,你迭代得越快,進步就越多。這本書中的其它概念也都基于這個原則。要注意的是,這一點適用于那些只想做一個基于人工智能的應用,而不是在這個領域做研究的人。

概念 2:使用單一評估指標

這個概念是建立在不停迭代的基礎上。為何要選擇一個單值評估指標,道理也很簡單:它使你能夠快速評估算法,從而更加快速地迭代。使用多種評估指標會使算法之間的比較變得更為困難。

想象你有兩個算法。第一個準確率 94%,召回率 89%。第二個準確率 88%,召回率 95%。

這種情況下,如果你不選擇一個單一評估指標,就很難顯而易見地指出哪個分類器更好,于是你就需要花費更多的時間搞定它。而問題在于,每一次迭代都需要損失一些時間,積累到最后就非??捎^了。因為你會嘗試很多不同的想法,調整架構、參數(shù)、特征等等,如果你用的是一個單值評估指標(比如準確率或者 f1-值),你就能把你所有的模型按照他們的性能排序,快速決定哪個最好。另外,還有一個方法可以改善評估的過程,就是把多個指標合并成一個,比如給多個錯誤度量求平均。

當然,有一些機器學習問題需要滿足不止一個指標,比如要考慮運行時間。吳恩達這樣說:你應該定義一個「可接受」的運行時間,從而快速排除那些太慢的算法,然后用你的單值評估指標比較那些符合條件的算法。

簡單而言,一個單值評估指標使你能夠快速評估算法,從而更快地迭代。

概念 3: 誤差分析至關重要

誤差分析指的是檢查算法結果中錯誤樣例的過程。比如,假設你的貓咪檢測系統(tǒng)把鳥誤認為是貓,那么你就需要對這個問題有一些解決方案。

在恰當?shù)恼`差分析后,你可以估計出某個改進方案實際能為這個系統(tǒng)提供多少性能增益。因此我們不用花費好幾個月先去實現(xiàn)某個方案,然后才發(fā)現(xiàn)它對你的系統(tǒng)沒多大影響。這樣你就能判斷,把資源投到哪個方案上效果會最好。如果你發(fā)現(xiàn)誤識別的圖片中只有 9% 是鳥,那無論在鳥的圖片上把算法性能提高到多少都沒什么用,因為它最多也就能改善你 9% 的錯誤。

另外,通過誤差分析,你還能快速判斷多個改進方案的好壞。如果驗證集里有 100 張分類錯誤的圖片,只需要新建一個表單,一邊檢查一邊填寫。在表單里,每個分類錯誤的圖片為一行,每個改進方案為一列。然后你遍歷所有分類錯誤的圖片,記錄哪些改進方案能正確分類這張圖。

然后你就會清楚,比方說,方案 1 能使系統(tǒng)把 40% 的誤分類圖片分對、方案 2 為 12%、方案 3 僅僅為 9%。所以,可知你的團隊最應該進行的是改進是方案 1。

同時,一旦開始仔細查看這些誤分類樣本,你還可能找到更多新的靈感來改善算法。

概念 4: 定義一個最優(yōu)錯誤率

最優(yōu)錯誤率可以指導你接下來該怎么做。在統(tǒng)計學中,我們也常稱之為貝葉斯錯誤率。

想象這樣一個場景,你在做一個語音轉文字的系統(tǒng)。你發(fā)現(xiàn)用戶們上傳的音頻文件中,預計會有 19% 的音頻背景噪音太大,連人都無法識別到底說了啥。如果是這種情況,那么即便是最優(yōu)秀的系統(tǒng)大概也會有接近 19% 的錯誤率。與之相反,如果你要研究的問題最優(yōu)錯誤率幾乎能到達 0%,那就可以指望你的系統(tǒng)也能做得差不多好。

它也可以幫你檢測算法是否存在高偏差或者高方差的問題,從而幫你判斷接下來如何改進算法。

但怎么才能知道最優(yōu)錯誤率是多少呢?對于那些人類擅長的任務,你可以把你的系統(tǒng)的性能和人相比,差不多就是最優(yōu)錯誤率了。如果是人類不擅長的任務,要定義最優(yōu)錯誤率往往很難。正因為此,你應該去研究人類本身也能做好的問題,這一點我們會在下一個概念中進行討論。

概念 5:研究人類能做好的問題

在這本書中,吳恩達多次探討了為什么建議大家去研究人類本身也能做好的問題,比如語音識別、圖像分類、物體檢測等等。原因有以下幾點。

首先,更容易獲取或創(chuàng)建一個帶標簽的數(shù)據(jù)集。因為如果人們自己可以解決這個問題,那對他們來說,給你的機器學習算法準備些標簽也不是什么難事。

其次,你可以把人的水準作為最優(yōu)錯誤率,即你的算法想要達到的目標。吳恩達表示,定義好一個合理可行的最優(yōu)錯誤率,有助于加速團隊的開發(fā)進程,也可以幫你檢測算法是否有高偏差或者高方差的問題。

再者,這樣你就可以用你的人類直覺來做誤差分析。比如,如果你在做一個語音識別系統(tǒng),而你的模型給了錯誤的答案,那你可以試著去思考:一個人想要正確轉錄這個音頻會需要什么信息,由此去改進算法。雖然算法在越來越多人類不太擅長的任務上已經超過了人類,你還是應該盡量避免去研究這些問題。

總而言之,你應該避免這些任務,因為:獲取數(shù)據(jù)的標簽更難、你不再能依賴人類直覺、很難確定最優(yōu)錯誤率。

概念 6:如何劃分數(shù)據(jù)集

吳恩達也提出了劃分數(shù)據(jù)集的方法,建議如下:

訓練集:你只用它來訓練算法,不做別的。

驗證集:用于調試超參、選擇并創(chuàng)建合適的特征、做誤差分析,基本上我們需要根據(jù)它來為算法做決策。

測試集:測試集用于評估你系統(tǒng)的性能,不能用于做決策。只在評估時使用,不做別的。

驗證集和測試集使你的團隊得以快速評估算法的性能,它們的目的是提供引導,讓你為系統(tǒng)做出最正確的改進。

選擇驗證集和測試集時,吳恩達建議你考慮系統(tǒng)部署后你想要搞定的真實場景,使這兩個集合能如實反映該場景中的數(shù)據(jù)。如果你預期實際數(shù)據(jù)會和你當下的訓練數(shù)據(jù)有所不同,這一點就更為重要。比如,你訓練時用的是普通的相機圖片,而以后你的系統(tǒng)作為一個手機應用的一部分,只會收到手機圖片。如果你沒有足夠的手機圖片來訓練系統(tǒng),你就會面臨這個問題。所以,你應該選擇能反映未來真實目標數(shù)據(jù)的樣例作為測試集,而不是你用來訓練的數(shù)據(jù)。

同時,你應該根據(jù)同一分布選取驗證集和測試集。否則,有可能你的團隊造出的東西在驗證集上效果很好,但在測試集上效果極差,而后者才是你最關注的的。

總結:在本文中,你學到了《機器學習訓練秘籍》中的六個概念。現(xiàn)在你知道為什么快速迭代很重要,為什么該用一個單值評估指標,誤差分析是干什么的,以及它為什么重要。同時,你也認識了最優(yōu)錯誤率,明白了為什么應該研究人類也能做好的問題。另外,你還了解了應該使驗證集和測試集與實際場景數(shù)據(jù)相一致,以及這兩個集合應該近似同一分布。希望本文讓你對這本書的概念有了初步的理解,這絕對是一本值得一讀的書。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47279

    瀏覽量

    238511
  • 機器學習
    +關注

    關注

    66

    文章

    8418

    瀏覽量

    132646
  • 數(shù)據(jù)集

    關注

    4

    文章

    1208

    瀏覽量

    24703

原文標題:六大概念總結吳恩達新書:教你如何做好工程實踐?

文章出處:【微信號:aicapital,微信公眾號:全球人工智能】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【阿里云大學免費精品課】機器學習入門:概念原理及常用算法

    是實現(xiàn)人工智能的一途徑,即以機器學習為手段解決人工智能的問題。1.在維基百科機器
    發(fā)表于 06-23 13:51

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

    過程節(jié)省寶貴的時間。對這個數(shù)據(jù)集進行性能測試可以讓你快速了解事情是否朝著正確方向發(fā)展。 4. 快速構建第一系統(tǒng),然后迭代正如第三點所述,構建機器學習算法是一
    發(fā)表于 09-20 11:41

    機器學習訓練秘籍——吳恩達

    書的內容對你而言則不難理解。本書假設你熟悉? 監(jiān) 督學 習( (supervised learning) )??概念,即使用標注(labeled)的訓練樣本(x,y) 來學習從 x
    發(fā)表于 11-30 16:45

    sd可以實現(xiàn)六個面對應六個不同文件夾sd音樂嗎?

    想做一感應正方體音樂盒,通過三軸加速度計去感應六個面的變化,從而去讀取sd不同文件夾的音樂,六個面對應六個不同文件夾sd音樂,而且文件夾里面的音樂是可以換的,我知道單獨設置一
    發(fā)表于 08-12 22:09

    人工智能基本概念機器學習算法

    目錄人工智能基本概念機器學習算法1. 決策樹2. KNN3. KMEANS4. SVM5. 線性回歸深度學習算法1. BP2. GANs3. CNN4. LSTM應用人工智能基本
    發(fā)表于 09-06 08:21

    六個電視游戲電路

    六個電視游戲電路
    發(fā)表于 01-17 22:52 ?775次閱讀
    <b class='flag-5'>六個</b>電視游戲電路

    六個有關RoHS的檢測方法標準

    國家質量監(jiān)督檢驗檢疫總局最近頒布了六個有關RoHS的檢測方法標準,這六個標準是: 1. 《電子電氣產品
    發(fā)表于 08-12 09:04 ?1312次閱讀

    六個數(shù)碼管輪流顯示數(shù)字

    六個數(shù)碼管輪流顯示數(shù)字。
    發(fā)表于 05-11 14:33 ?4次下載

    學習PLC編程技巧的六個方面的經驗分享

    力不從心,要想在PLC應用方面得心應手,學習者除了要建立正確的學習方法,深入學習plc編程技巧,最重要的是相關知識的學習。下面從六個方面談談
    的頭像 發(fā)表于 08-26 11:23 ?1.3w次閱讀
    <b class='flag-5'>學習</b>PLC編程技巧的<b class='flag-5'>六個</b>方面的經驗分享

    PCB設計的六個檢查階段

    為了保證PCB設計的準確性,整個PCB設計過程需要進行多次檢查,接下來為大家介紹PCB設計的六個檢查階段。
    的頭像 發(fā)表于 05-15 15:51 ?3698次閱讀

    深度學習機器學習六個本質區(qū)別你知道幾個?

    深度學習機器學習已經變得無處不在,那它們之間到底有什么區(qū)別呢?本文我們?yōu)榇蠹铱偨Y了深度學習VS機器學習
    的頭像 發(fā)表于 11-30 11:17 ?1.5w次閱讀

    算法:計算Fibonacci number的六個方法

    算法:計算Fibonacci number的六個方法
    的頭像 發(fā)表于 06-22 17:27 ?2643次閱讀
    算法:計算Fibonacci number的<b class='flag-5'>六個</b>方法

    六個構建機器學習模型需避免的錯誤

    為中心,基于對業(yè)務問題的理解,并且數(shù)據(jù)和機器學習算法必須應用于解決問題,從而構建一能夠滿足項目需求的機器學習模型。
    發(fā)表于 05-05 16:39 ?1419次閱讀

    如何理解機器學習訓練集、驗證集和測試集

    理解機器學習訓練集、驗證集和測試集,是掌握機器學習核心
    的頭像 發(fā)表于 07-10 15:45 ?3998次閱讀

    焊接機器六個軸分別是什么作用

    焊接機器人是現(xiàn)代工業(yè)自動化的重要工具,其靈活性和高效性極大地提升了焊接質量和生產效率。在焊接機器人中,“軸”是一常見的結構設計,這
    的頭像 發(fā)表于 11-21 17:45 ?212次閱讀
    焊接<b class='flag-5'>機器</b>人<b class='flag-5'>六個</b>軸分別是什么作用