01/28 2021

AWS機器學習二部曲:7步驟建立模型

AWS機器學習:模型訓練7步驟

在 AWS 機器學習首部曲:四大類型文章中介紹了機器學習的基本觀念,包含:機器學習的使用時機以及四大類型,但該如何開始機器學習?本篇將探討執行機器學習的七大步驟,踏出訓練模型的第一步!

機器學習的訓練步驟

定義問題

機器學習的第一步要確定預測的內容,並設計出滿足您需求最簡單的答案,例如:製造業希望依照預測的產品銷售量來決定產量、判斷 Email 是否為垃圾郵件等。在這個階段要注意避免使問題複雜化。

收集標籤化資料

機器學習訓練的依據就是資料,完成定義問題之後,即可開始蒐集相關的標籤化資料,且數量越多越好。而資料必須包含兩種特性:目標與變項,前者代表資料必須包含您想知道的答案,如:製造業產品的生產數量、垃圾郵件的 Email 標記等;變項是指用來判別答案的模式,如:產品銷售量、信件標題,根據上篇文章所提到的監督式學習,演算法會以標籤化的資料進行模型訓練。

特徵處理

為了讓資料更有意義,所以會進行資料的轉換,稱為特徵處理。舉例說明,假設有一筆包含日期和時間的資料,但同樣的日期和時間並不會再次發生,因此這筆資料對預測目標並沒有幫助。但如果將此資料轉換為代表一天中的小時、星期幾和月份的特徵,將有助於了解事件是否傾向於在特定的時間發生,標明特徵並對應到正確的目標,能夠大大改善預測模型。

以預測產量為例,一間公司可能有數十樣產品,您可將各項產品以「使用種類」劃分,如:生活用品、工業產品等,透過降維提升模型的學習率;而 Email 則可透過寄送的時間、公司類型來提升模型判斷的依據。

評價

機器學習的目標就是用已知推論未知,在此階段必須使用一部份的資料當做推論的依據,最常見的方法是將所有的標籤化資料分為訓練組和評估組,通常訓練組的比率為70-80%,而評估組為20-30%,並使用訓練組資料訓練模型找出模式,再透過評估組資料評估模型的預測品質。

模型訓練

在資料處理完成之後,就可以開始進行模型訓練,此時演算法將會決定模型訓練的成敗關鍵。演算法會從變數映射到目標的訓練資料模式中學習,找出這些關係輸出成模型,未來即可使用模型來預測新資料裡的答案。除了演算法之外,調整超參數,如:模型大小、學習率、有效次數、Data shuffling、正規化等,也會影響模型的品質。

評估並提升模型準確率

機器學習模型最重要的就是學習模式,以及如何提升預測準確率,評估與提升準確率是非常重要的環節。建議使用測試資料組跟實際答案進行比較,再根據結果校正。為了準確評估,在機器學習領域中有非常多指標,像是:二原分類法、多重分類法、迴歸等方式來衡量模型是否準確。

如果模型預測度效果不好,須從模型適配度排查原因,並透過訓練/評估組資料的預測誤差,來判斷模型適配度是否適中。若模型適配度太低,表示資料無法完整描述目標答案,此時應該要增加資料的彈性,例如:更改特徵處理類型、減少正規化的使用。相反的,若適配度太高,表示資料無法有效推論出未知的結果,此時要減少資料的彈性,例如:增加正規化的使用。

預測並反覆使用新資料進行訓練

由於資料的分佈會隨時間推移而發生改變,因此部署機器學習模型是一個連續的過程。如果您發現目前的資料與原始訓練分佈有很大的出入,建議持續監控輸入的資料並使用新資料重新訓練。如果考量到持續監控的成本過高,更簡單的方式是每天、每週或每月定期訓練模型。例如:企業在第一季訓練出模型後,用於第二季的產品需求預測,並於第二季結束時將相關資料匯入資料庫,重新進行模型訓練,以確保模型能夠與時俱進。

機器學習的領域十分廣泛,模型訓練難度也會隨著應用的複雜度而提升,透過本篇介紹的七大步驟,即可抓出模型訓練的基礎脈絡並加以延伸。

機器學習的應用是否多元又好用呢!持續 Follow 博弘掌握機器學習最新應用與服務!下一篇將介紹 AWS 上的機器學習服務 SageMaker ,協助您整合全面向訓練服務以及其產業應用,請持續鎖定博弘官網,隨時接收最新資訊!