機器學習的建模流程
流程為:
原始數據 --> 數據預處理 --> 特征工程 --> 建模 --> 驗證。
原始數據收集
所有AI或機器學習的基礎就是數據,沒有數據就什么都做不了,在搭建一個系統之前首要考慮的就是有沒有足夠多的數據可以支撐這個AI系統。數據是最重要的,如何收集數據的策略也是最重要的,很多人說AI的策略就是數據的收集策略。很大程度上數據質量的高低決定了模型的穩定性或效果,所以收集數據這一步非常關鍵。
數據預處理
如果數據中包含了很多噪音,那可以通過預處理的方法降噪或剔除臟數據。如果有數據格式不一致,字段不對齊等問題,無法后續做統一處理,那也可以通過數據的預處理搞定,規范化數據以保證后續模型的準確性。
實際中,數據預處理是很繁瑣的,是很多AI工程師不想觸碰的工作,但實際這個工作極其重要,如果數據預處理做不好那數據質量就有問題,后面所有環節都會受到影響,導致機器學習效果差,通常會花大量精力做數據的預處理工作。
特征工程
指從數據或樣本里提取出對預測結果有價值的信息,每個應用場景所涉及的特征是不一樣的,整個提取有效特征的過程就叫特征工程(Feature Engineering)。
實際工作中我們會花大量精力在特征工程里,這一步非常非常重要,而且它直接影響整個系統的效果。甚至說模型的重要性未必高于特征工程的重要性,所以我們會花50%以上的時間在特征工程這個環節。
經過特征工程后的每一個數據都可以轉換成向量或者矩陣或張量這種數值類型,然后這個數就可以直接作為模型的輸入,進入建模階段。
建模
建模階段就是使用各種各樣的模型去嘗試,看哪個模型帶來的效果是最好的,該環節主要做的事情有幾點:1,做一些調參的工作,指我們不斷的調整模型,使這個模型可以達到最優的效果。2,改造,當發現模型不太滿足實際的需求了,可以對模型做一些改造,然后再調參。
驗證
訓練出來的模型到底怎么樣,如果不好的話可能需要重新做一些前面做過的事情,這個環節非常重要。每個項目都需要一個明確的,獨特的評估標準,如果評估通過(比如正確率到達某個標準)就可以上線。
建模的時候都會把給定的數據分成訓練數據和測試數據, 主要是為了驗證模型的好壞,只有通過測試數據才能看到模型訓練得到底行不行。