中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

吳恩達新書《機器學習訓練秘籍》六大要點總結(jié)

2019-03-08    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

如何讀懂吳恩達的《機器學習訓練秘籍》?

學霸的筆記來了!

近日,一位名叫Niklas Donges的工程師小哥發(fā)表了一篇博客文章,提煉出了《機器學習訓練秘籍》中的六大要點。

這本書讀起來并不那么容易,不僅需要掌握理論知識,還需要一定的實戰(zhàn)經(jīng)驗。

跟著這份要點,你能學到如何選擇問題、分割數(shù)據(jù)集、迭代模型等等,來又快又好地構(gòu)建一個機器學習系統(tǒng)。

量子位將主要內(nèi)容編譯如下,希望能夠為你帶來啟發(fā)。

迭代、迭代、迭代

在整本書中,吳恩達都在強調(diào),機器學習是一個迭代的過程,快速迭代非常重要。

與其花大量時間考慮如何構(gòu)建一個完美的機器學習系統(tǒng),還不如盡快構(gòu)建一個簡單的原型。

在幾天內(nèi)構(gòu)建第一個原型,然后就會看到新的線索,告訴你該選擇什么樣的方向去改進原型的性能。

在下一次迭代中,可以根據(jù)這些線索改進系統(tǒng),并構(gòu)建系統(tǒng)的下一個版本。一次接一次,循環(huán)往復。

吳恩達說,迭代的速度越快,原型取得的進步就越大。

其他的幾個要點,都是基于這一原則。

不過要注意,這一原則只適用于構(gòu)建人工智能應用程序解決世界問題的人,對于想要在這個領域進行研究的人,僅供參考。

使用單一的評估指標

為什么應該選擇單一的評估指標,理由非常簡單:能夠快速對算法性能表現(xiàn)進行評估,進而更快地進行迭代。

使用多個指標進行評估,只會讓這個過程變得更困難。

假設有兩個算法,一個準確率(precision)為94%,召回率(recall )為89% 。另一個準確率為88% ,召回率為95% 。

像這樣不用單一指標,就很難判斷孰優(yōu)孰劣,需要花一些時間來評估到底哪一個算法更適合你要解決的問題。

而且,在后面的每次迭代中,都會在這個流程上損失大量的時間。

如果使用的是單一的評估指標,比如精度或f1評分,就可以根據(jù)性能對所有的算法或者模型進行排序,并快速決定哪一個最有效。

改進評估過程的另一種方法,是將幾個指標合并成一個指標,比如,取多個誤差指標的平均值。

但是,與機器學習有關的問題解決方案,需要滿足的不止一個指標,例如說,除了要考慮誤差之外,還都要有足夠短的運行時間。

吳恩達解釋說,應該定義一個可以“可以接受的”運行時間,這可以快速排除速度太慢的算法,并根據(jù)單一評估指標來找出好的算法。

簡而言之,單一評估指標可以快速評估算法表現(xiàn),加快迭代速度。

誤差分析至關重要

誤差分析,是查看算法輸出不正確的樣例的過程。想象一下,一個貓鑒別器,將鳥類誤認為是貓,你可能會有好幾種改進的方法。

通過適當?shù)恼`差分析,可以對這些改進的方法進行評估,看看它們能否提高系統(tǒng)的性能。而不必花幾個月的時間來實現(xiàn)這些方法,到最后才發(fā)現(xiàn)沒用。

這能夠幫你做出更好的決定。

如果所有被鑒別器錯誤分類的圖像中只有9%是鳥類,那就不用專門針對鳥類圖像進行優(yōu)化了,因為提升再多最多也不超過這9%的誤差。

此外,誤差分析也能對幾個可以同時進行的改進方法進行評估。

首先,創(chuàng)建一個電子表格,在每一行填入每個錯誤分類的圖像,在每一列,填入改進方法。

之后,檢查每一個被錯誤分類的圖像和標記,看看正確的分類是什么。

通過電子表格可以看出,哪種方法能更好地改進算法。比如,使用“方法1”,系統(tǒng)可以正確分類40%的錯誤分類圖像,“方法2”12% ,“方法3”只有9% ;诖耍梢缘贸鼋Y(jié)論,方法1是應該進行的改進。

通常情況下,只要一看這些樣本,如何改進算法就會一目了然。

明確定義最優(yōu)誤差率

最優(yōu)誤差率,有助于推進后續(xù)的迭代步驟。在統(tǒng)計學中,它也經(jīng)常被稱為貝葉斯誤差率(Bayes error rate)。

假設你正在構(gòu)建一個語音-文本轉(zhuǎn)換系統(tǒng),其中19%的音頻文件有顯著的背景噪音,哪怕是人類都沒法聽清楚。

這種情況下,即使是較好的人工智能系統(tǒng),也可能會有大約19%的誤差。

如果處理最優(yōu)誤差率接近0%的問題,人工智能系統(tǒng)也應該以0誤差為目標。

它還可以幫助你檢測算法是否受到了高偏差或高方差的影響,這有助于接下來改進算法。

但是我們?nèi)绾沃雷顑?yōu)誤差率是多少呢?對于人類擅長的任務,可以將系統(tǒng)的性能與人類進行比較,從而估算出最優(yōu)誤差率。

在其他情況下,通常很難定義一個最優(yōu)誤差率。所以,應該專注于人類能夠做的很好的問題。

解決人類能做得很好的問題

在整本書中,吳恩達一直建議大家研究人類能做得很好的問題,比如語音識別、圖像分類、物體檢測等等,也多次解釋了為什么。

首先,獲取或創(chuàng)建一個有標簽的數(shù)據(jù)集比較容易,如果人們可以自己解決問題,他們可以直接為學習算法提供高精度的標簽。

第二,可以使用人的表現(xiàn)作為算法的最優(yōu)誤差率。吳恩達解釋說,定義了合理且可實現(xiàn)的最優(yōu)誤差有助于推動團隊的進步。它還可以檢測算法是否存在高偏差或高方差。

第三,能夠?qū)θ祟愔庇X進行誤差分析。如果你在構(gòu)建一個語音識別系統(tǒng),對輸入進行了錯誤分類,你可以試著去理解,人類會根據(jù)哪些信息來獲得正確的分類,然后使用這些信息改進算法。

盡管算法在越來越多的人類無法完成的任務上超越了人類,但還是應該盡量避開這些任務。

這使得獲取數(shù)據(jù)標簽變得更加困難,不能再依靠人類的直覺,也很難知道最優(yōu)誤差率是多少。

如何拆分數(shù)據(jù)集

任務選定了, 也知道應該如何迭代模型了,該怎么選擇數(shù)據(jù)集呢?

吳恩達還提出了分割數(shù)據(jù)集的方法。他的建議如下:

訓練集:只是來訓練算法,不再用于其他用途。

驗證集:這個數(shù)據(jù)集用于進行超參數(shù)調(diào)整,選擇和創(chuàng)建合適的特性,以及進行誤差分析。它基本上就是用來決定算法的。

測試集:用于評估系統(tǒng)的性能,但不用于做決策。 它只是用來評估的,沒有別的用途。

驗證集和測試集用于快速評估算法的性能。 它們的目的是指導你對系統(tǒng)進行最重要的更改。

吳恩達建議,選擇驗證和測試數(shù)據(jù)集的時候一定要慎重。

這些數(shù)據(jù),一定要與系統(tǒng)要解決的問題有很高的關聯(lián)性,這樣才能夠幫助系統(tǒng)進一步優(yōu)化。

尤其是系統(tǒng)將要處理的數(shù)據(jù)與訓練過程中使用的數(shù)據(jù)差別較大的時候,一定要注意這一點。

比如說,使用普通相機拍攝出來的照片訓練模型,但之后這個模型要來處理智能手機拍攝出來照片。但又沒有足夠的智能手機拍攝的照片當做訓練集。

這時,就應該使用智能手機拍攝的照片當做驗證集與測試集,來迭代模型。

在測試集中,應該選擇那些能夠準確反映系統(tǒng)表現(xiàn)的數(shù)據(jù),而不是用來訓練的數(shù)據(jù)。

此外,在選擇驗證集和測試集數(shù)據(jù)的時候,要注意一致性。

如果出現(xiàn)系統(tǒng)在驗證集上表現(xiàn)良好,在測試數(shù)據(jù)上表現(xiàn)極差的情況,就麻煩了。

《機器學習訓練秘籍》中文版:

https://accepteddoge.com/machine-learning-yearning-cn/docs/ch58/

博客原文:

https://towardsdatascience.com/6-concepts-of-andrew-ngs-book-machine-learning-yearning-abaf510579d4

標簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡,如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:選機器學習課程怕踩雷?有人幫你選出了top 5優(yōu)質(zhì)課

下一篇:投身AI行業(yè),你必須了解這些國內(nèi)外頂尖AI實驗室(附錄取建議)