2.3 快速搭建你的第一个系统,并进行迭代-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
| 2.2 清除標(biāo)注錯(cuò)誤的數(shù)據(jù) | 回到目錄 | 2.4 在不同的劃分上進(jìn)行訓(xùn)練并測(cè)試 |
快速搭建你的第一個(gè)系統(tǒng),并進(jìn)行迭代 (Build Your First System Quickly, Then Iterate)
如果你正在開發(fā)全新的機(jī)器學(xué)習(xí)應(yīng)用,我通常會(huì)給你這樣的建議,你應(yīng)該盡快建立你的第一個(gè)系統(tǒng)原型,然后快速迭代。
讓我告訴你我的意思,我在語(yǔ)音識(shí)別領(lǐng)域研究了很多年,如果你正在考慮建立一個(gè)新的語(yǔ)音識(shí)別系統(tǒng),其實(shí)你可以走很多方向,可以優(yōu)先考慮很多事情。
比如,有一些特定的技術(shù),可以讓語(yǔ)音識(shí)別系統(tǒng)對(duì)嘈雜的背景更加健壯,嘈雜的背景可能是說(shuō)咖啡店的噪音,背景里有很多人在聊天,或者車輛的噪音,高速上汽車的噪音或者其他類型的噪音。有一些方法可以讓語(yǔ)音識(shí)別系統(tǒng)在處理帶口音時(shí)更健壯,還有特定的問(wèn)題和麥克風(fēng)與說(shuō)話人距離很遠(yuǎn)有關(guān),就是所謂的遠(yuǎn)場(chǎng)語(yǔ)音識(shí)別。兒童的語(yǔ)音識(shí)別帶來(lái)特殊的挑戰(zhàn),挑戰(zhàn)來(lái)自單詞發(fā)音方面,還有他們選擇的詞匯,他們傾向于使用的詞匯。還有比如說(shuō),說(shuō)話人口吃,或者說(shuō)了很多無(wú)意義的短語(yǔ),比如“哦”,“啊”之類的。你可以選擇很多不同的技術(shù),讓你聽寫下來(lái)的文本可讀性更強(qiáng),所以你可以做很多事情來(lái)改進(jìn)語(yǔ)音識(shí)別系統(tǒng)。
一般來(lái)說(shuō),對(duì)于幾乎所有的機(jī)器學(xué)習(xí)程序可能會(huì)有50個(gè)不同的方向可以前進(jìn),并且每個(gè)方向都是相對(duì)合理的可以改善你的系統(tǒng)。但挑戰(zhàn)在于,你如何選擇一個(gè)方向集中精力處理。即使我已經(jīng)在語(yǔ)音識(shí)別領(lǐng)域工作多年了,如果我要為一個(gè)新應(yīng)用程序域構(gòu)建新系統(tǒng),我還是覺得很難不花時(shí)間去思考這個(gè)問(wèn)題就直接選擇方向。所以我建議你們,如果你想搭建全新的機(jī)器學(xué)習(xí)程序,就是快速搭好你的第一個(gè)系統(tǒng),然后開始迭代。我的意思是我建議你快速設(shè)立開發(fā)集和測(cè)試集還有指標(biāo),這樣就決定了你的目標(biāo)所在,如果你的目標(biāo)定錯(cuò)了,之后改也是可以的。但一定要設(shè)立某個(gè)目標(biāo),然后我建議你馬上搭好一個(gè)機(jī)器學(xué)習(xí)系統(tǒng)原型,然后找到訓(xùn)練集,訓(xùn)練一下,看看效果,開始理解你的算法表現(xiàn)如何,在開發(fā)集測(cè)試集,你的評(píng)估指標(biāo)上表現(xiàn)如何。當(dāng)你建立第一個(gè)系統(tǒng)后,你就可以馬上用到之前說(shuō)的偏差方差分析,還有之前最后幾個(gè)視頻討論的錯(cuò)誤分析,來(lái)確定下一步優(yōu)先做什么。特別是如果錯(cuò)誤分析讓你了解到大部分的錯(cuò)誤的來(lái)源是說(shuō)話人遠(yuǎn)離麥克風(fēng),這對(duì)語(yǔ)音識(shí)別構(gòu)成特殊挑戰(zhàn),那么你就有很好的理由去集中精力研究這些技術(shù),所謂遠(yuǎn)場(chǎng)語(yǔ)音識(shí)別的技術(shù),這基本上就是處理說(shuō)話人離麥克風(fēng)很遠(yuǎn)的情況。
建立這個(gè)初始系統(tǒng)的所有意義在于,它可以是一個(gè)快速和粗糙的實(shí)現(xiàn)(quick and dirty implementation),你知道的,別想太多。初始系統(tǒng)的全部意義在于,有一個(gè)學(xué)習(xí)過(guò)的系統(tǒng),有一個(gè)訓(xùn)練過(guò)的系統(tǒng),讓你確定偏差方差的范圍,就可以知道下一步應(yīng)該優(yōu)先做什么,讓你能夠進(jìn)行錯(cuò)誤分析,可以觀察一些錯(cuò)誤,然后想出所有能走的方向,哪些是實(shí)際上最有希望的方向。
所以回顧一下,我建議你們快速建立你的第一個(gè)系統(tǒng),然后迭代。不過(guò)如果你在這個(gè)應(yīng)用程序領(lǐng)域有很多經(jīng)驗(yàn),這個(gè)建議適用程度要低一些。還有一種情況適應(yīng)程度更低,當(dāng)這個(gè)領(lǐng)域有很多可以借鑒的學(xué)術(shù)文獻(xiàn),處理的問(wèn)題和你要解決的幾乎完全相同,所以,比如說(shuō),人臉識(shí)別就有很多學(xué)術(shù)文獻(xiàn),如果你嘗試搭建一個(gè)人臉識(shí)別設(shè)備,那么可以從現(xiàn)有大量學(xué)術(shù)文獻(xiàn)為基礎(chǔ)出發(fā),一開始就搭建比較復(fù)雜的系統(tǒng)。但如果你第一次處理某個(gè)新問(wèn)題,那我真的不鼓勵(lì)你想太多,或者把第一個(gè)系統(tǒng)弄得太復(fù)雜。我建議你們構(gòu)建一些快速而粗糙的實(shí)現(xiàn),然后用來(lái)幫你找到改善系統(tǒng)要優(yōu)先處理的方向。我見過(guò)很多機(jī)器學(xué)習(xí)項(xiàng)目,我覺得有些團(tuán)隊(duì)的解決方案想太多了,他們?cè)斐隽诉^(guò)于復(fù)雜的系統(tǒng)。我也見過(guò)有限團(tuán)隊(duì)想的不夠,然后造出過(guò)于簡(jiǎn)單的系統(tǒng)。平均來(lái)說(shuō),我見到更多的團(tuán)隊(duì)想太多,構(gòu)建太復(fù)雜的系統(tǒng)。
所以我希望這些策略有幫助,如果你將機(jī)器學(xué)習(xí)算法應(yīng)用到新的應(yīng)用程序里,你的主要目標(biāo)是弄出能用的系統(tǒng),你的主要目標(biāo)并不是發(fā)明全新的機(jī)器學(xué)習(xí)算法,這是完全不同的目標(biāo),那時(shí)你的目標(biāo)應(yīng)該是想出某種效果非常好的算法。所以我鼓勵(lì)你們搭建快速而粗糙的實(shí)現(xiàn),然后用它做偏差/方差分析,用它做錯(cuò)誤分析,然后用分析結(jié)果確定下一步優(yōu)先要做的方向。
課程板書
| 2.2 清除標(biāo)注錯(cuò)誤的數(shù)據(jù) | 回到目錄 | 2.4 在不同的劃分上進(jìn)行訓(xùn)練并測(cè)試 |
總結(jié)
以上是生活随笔為你收集整理的2.3 快速搭建你的第一个系统,并进行迭代-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2.2 清除标注错误的数据-深度学习第三
- 下一篇: 2.4 使用来自不同分布的数据,进行训练