一個典型的機(jī)器學(xué)習(xí)流程如下:
機(jī)器學(xué)習(xí)處理過程流程圖
來解讀一下這個圖。
(1)原始數(shù)據(jù)采集
原始數(shù)據(jù)是機(jī)器學(xué)習(xí)過程的第一步,它從各個渠道被采集而來。在監(jiān)督學(xué)習(xí)的場景中還需要對數(shù)據(jù)進(jìn)行標(biāo)記。例如,情感分析模型需要用標(biāo)簽標(biāo)記,來幫助算法理解人類使用的俚語或諷刺挖苦的表達(dá)方式。有時數(shù)據(jù)標(biāo)記的工作往往非常耗時耗力,在某些場景中,這類工作不僅對人的專業(yè)背景要求高,而且完成標(biāo)記所需的周期長。
(2)數(shù)據(jù)預(yù)處理
原始數(shù)據(jù)往往比較粗糙或者噪音較多,需要將這些數(shù)據(jù)進(jìn)行預(yù)處理,得到有效的訓(xùn)練數(shù)據(jù),與普通的數(shù)據(jù)挖掘不同,深度學(xué)習(xí)的數(shù)據(jù)預(yù)處理過程主要包含數(shù)據(jù)歸一化(包括樣本尺度歸一化、逐樣本的均值相減、標(biāo)準(zhǔn)化)和數(shù)據(jù)白化。另外,在預(yù)處理階段,我們還需要將數(shù)據(jù)分為三種數(shù)據(jù)集,包括用來訓(xùn)練模型的訓(xùn)練集、開發(fā)過程中用戶調(diào)參的驗證集以及測試時所使用的測試集。
(3)訓(xùn)練模型
在正式開始模型訓(xùn)練之前,需要針對我們的訓(xùn)練目標(biāo)進(jìn)行分類。理解目標(biāo)的本質(zhì)對選擇訓(xùn)練的方式至關(guān)重要。機(jī)器學(xué)習(xí)可以實現(xiàn)的目標(biāo)被分為:分類、回歸、聚類、異常檢測等。前期算法工程師需要通過測試集和訓(xùn)練集,在集中可能的算法中做一些Demo測試,再根據(jù)測試的結(jié)果選擇具體的算法,這樣可以規(guī)避大范圍的訓(xùn)練模型改動帶來的損失。
(4)模型評估
我們利用在數(shù)據(jù)預(yù)處理中準(zhǔn)備好的測試集對模型進(jìn)行測試。由于測試集對模型來說,時完全新的數(shù)據(jù),因此可以客觀地度量模型在現(xiàn)實世界中的表現(xiàn)情況。模型的效果通常以“擬合程度”來形容。例如某個圖像識別在模型訓(xùn)練后的誤差和人類的平均誤差率只相差1%,然而測試集誤差比訓(xùn)練集誤差高10%,這就意味者該模型在全新的數(shù)據(jù)上表現(xiàn)不好,過度擬合了。
(5)調(diào)參
對模型評估結(jié)束后,可以通過調(diào)參對訓(xùn)練過程進(jìn)行優(yōu)化。參數(shù)可以分為兩類,一類是超參數(shù),即需要在訓(xùn)練前手動設(shè)置的參數(shù),另一種是不需要手動設(shè)置、在訓(xùn)練過程中可以自動被調(diào)整的參數(shù)。調(diào)參的過程是一種基于數(shù)據(jù)集、模型、和訓(xùn)練過程細(xì)節(jié)的實證過程。
調(diào)參是個優(yōu)雅的過程。它通常需要以來經(jīng)驗和靈感探尋其最優(yōu)值,本質(zhì)上更接近藝術(shù)而非科學(xué)。
(6)推斷
這就是機(jī)器學(xué)習(xí)的目的啦~