為什么機(jī)器學(xué)習(xí)這么重要?
機(jī)器學(xué)習(xí)非常重要,因?yàn)樗兄陬A(yù)測人類無法預(yù)測的行為和模式。機(jī)器學(xué)習(xí)有無數(shù)非常有用的實(shí)際應(yīng)用。通過機(jī)器學(xué)習(xí),有可能管理以前令人困惑的場景。在理解了具有高效泛化能力的機(jī)器學(xué)習(xí)模型之后,可以使用它做出相應(yīng)的重要決策。機(jī)器學(xué)習(xí)使個(gè)人能夠根據(jù)大量場景做出決策。顯然,現(xiàn)在還不能編寫出能夠用于所有新場景的代碼。
人工智能能夠執(zhí)行各種需要學(xué)習(xí)和判斷的活動。從自動駕駛汽車、投資銀行、許多醫(yī)療相關(guān)功能到招聘,人工智能已經(jīng)被用于完成不同領(lǐng)域的各種任務(wù)。
6 個(gè)關(guān)于機(jī)器學(xué)習(xí)的革命性教訓(xùn)
機(jī)器學(xué)習(xí)算法能夠簡單地從場景中泛化,得到執(zhí)行必要任務(wù)的方法。這樣更切實(shí)可行和而且具有成本效益,然而,手工編程并不那么具有成本效益和可行性。“可用數(shù)據(jù)”數(shù)量的增加肯定會導(dǎo)致出現(xiàn)更多的與獲取數(shù)據(jù)相關(guān)的問題。因此,機(jī)器學(xué)習(xí)是未來,因?yàn)樗鼘V泛應(yīng)用于計(jì)算機(jī)和其他領(lǐng)域。盡管如此,開發(fā)有效的機(jī)器學(xué)習(xí)應(yīng)用需要大量的“黑魔法”,這在手冊中很難找到。
以下是關(guān)于機(jī)器學(xué)習(xí)最有價(jià)值的 6 個(gè)經(jīng)驗(yàn)教訓(xùn):
1. 泛化是核心
機(jī)器學(xué)習(xí)最基本的特征之一是,算法必須從訓(xùn)練的數(shù)據(jù)中泛化出該領(lǐng)域中所有不可見場景的完整領(lǐng)域,以便在使用模型時(shí)能夠做出正確的推斷。這個(gè)泛化的過程需要我們用來訓(xùn)練模型的數(shù)據(jù)有一個(gè)我們希望算法去學(xué)習(xí)的,像樣的和可靠的映射。數(shù)據(jù)的質(zhì)量越好,表達(dá)能力越高,模型就越容易理解從輸入到輸出的未知的和基本的“真實(shí)”映射。泛化是指從某種精確的東西轉(zhuǎn)向某種廣泛的東西。
機(jī)器學(xué)習(xí)算法是從歷史場景中自動簡化的技術(shù)。它們有能力在更大的數(shù)據(jù)量和更快的速度上進(jìn)行泛化。
所有機(jī)器學(xué)習(xí)初學(xué)者最常犯的錯(cuò)誤就是對訓(xùn)練數(shù)據(jù)進(jìn)行測試,然后看起來像是成功了。如果在新數(shù)據(jù)上嘗試所得到分類器,它通常不會比隨機(jī)猜測更好。所以,如果你想要開發(fā)一個(gè)分類器,一定要留一些數(shù)據(jù)做測試。同時(shí),用你的分類器對測試數(shù)據(jù)進(jìn)行測試。
2. 學(xué)習(xí)=表示+評估+優(yōu)化
機(jī)器學(xué)習(xí)算法分為 3 個(gè)部分,表示、評估和優(yōu)化。
· 表示:數(shù)據(jù)需要以合適的算法形式輸入。對于文本分類,可以從全文輸入中提取特征,并將其變?yōu)?bag-of-words 的表示形式。相反,選擇一種表示方法與選擇它可能學(xué)習(xí)的分類器集是同義詞。這個(gè)集合稱為學(xué)習(xí)者的假設(shè)空間。
· 評估:這是一個(gè)幫助我們理解我們正在做什么的度量。需要一個(gè)評估過程來區(qū)分好分類器和不好的分類器。如果你可以給測試集預(yù)測出一個(gè)數(shù)字,例如測試集的大小為 n,在這里,你可以計(jì)算平均絕對誤差,甚至可以選擇使用均方根誤差。
· 優(yōu)化:它是指尋找方法來選擇不同的技術(shù)來優(yōu)化它的過程。例如,我們可以簡單地嘗試假設(shè)空間中的每一個(gè)假設(shè)。我們也可能選擇使用更智能的技術(shù)來嘗試最有利的假設(shè)。同時(shí),當(dāng)我們進(jìn)行優(yōu)化時(shí),我們可以利用評價(jià)函數(shù)來了解這個(gè)特定的假設(shè)是否成立。如果評價(jià)函數(shù)有多個(gè)最優(yōu)值,則優(yōu)化技術(shù)允許用戶了解更多關(guān)于所創(chuàng)建分類器的信息。首先,初學(xué)者應(yīng)該從現(xiàn)成的優(yōu)化器開始,然后再轉(zhuǎn)向定制設(shè)計(jì)的優(yōu)化器。
3. 只有數(shù)據(jù)是不夠的!
泛化是主要目的,但主要關(guān)注的是,無論數(shù)量多少,僅有數(shù)據(jù)是不夠的。但是,幸運(yùn)的是,我們想掌握的功能并不是從所有可計(jì)算的功能中統(tǒng)一得出的!即使是最一般的假設(shè)(包括平滑度,具有類似類的相似示樣本,不充分的依存關(guān)系或受限制的復(fù)雜度)也足以正常運(yùn)行,這是使機(jī)器學(xué)習(xí)如此強(qiáng)大的主要原因之一。基本上,所有初學(xué)者都聯(lián)合了解大數(shù)據(jù)來制作應(yīng)用程序。
4. 小心過擬合
如果數(shù)據(jù)不充分,不能完全訓(xùn)練好一個(gè)分類器,我們可能最終得到的是只在訓(xùn)練集上有用的分類器。這個(gè)問題被稱為 overfitting,它被認(rèn)為是 ML 的一個(gè)麻煩事。發(fā)現(xiàn)自己的模型過擬合了是有用的,但并不能解決這個(gè)問題。你得想辦法擺脫它。幸運(yùn)的是,你有很多選擇去嘗試。交叉驗(yàn)證有助于防止過擬合。訓(xùn)練更多的數(shù)據(jù),正則化,刪除特征,早期停止,集成是一些其他的防止過擬合的方法。
5. 特征工程是成功的關(guān)鍵
特征工程是利用數(shù)據(jù)的核心領(lǐng)域知識來開發(fā)使機(jī)器學(xué)習(xí)算法更好工作的特征的技術(shù)。如果處理得當(dāng),它可以通過從原始數(shù)據(jù)中開發(fā)特征來增強(qiáng)算法的預(yù)測能力。這些特征簡化了整個(gè)機(jī)器學(xué)習(xí)過程。利用幾個(gè)獨(dú)立的特征,很好地與類相關(guān),然后讓學(xué)習(xí)變得容易。
6. 準(zhǔn)確性&簡單性是不一樣的
奧卡姆剃刀(Occam’s razor)精辟地指出,實(shí)體的增加不應(yīng)超出要求。這意味著兩個(gè)分類器有相似的訓(xùn)練誤差,兩個(gè)分類器中較簡單的可能有最低的測試誤差。每一個(gè)機(jī)器學(xué)習(xí)項(xiàng)目都應(yīng)該以你希望回答的業(yè)務(wù)問題為目標(biāo)。你應(yīng)該從制定分析的主要成功原則開始。
應(yīng)用 Occam’s razor 并選擇最容易解釋、闡明、部署和管理的模型是構(gòu)建強(qiáng)大的機(jī)器學(xué)習(xí)程序的關(guān)鍵步驟。建議選擇最簡單的、足夠精確的模型,但是,要確保你深入了解這個(gè)問題,以了解“足夠精確”在實(shí)踐中意味著什么。