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