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