Leo Yeh's Blog

SAS Viya (143)

教學目標

初步了解 SAS Visual Data Mining and Machine Learning 中機器學習模型之自動優化功能的基本概念。

重點概念

首先目前當我們需要決定建立一個機器學習模型來預測哪個客戶有良好的信用風險,則傳統上我們需要在訓練資料的過程中做出許多決定,其中需要選擇要測試的建模方法,選擇要訓練模型的資料,以及要測試結果的資料,如何調整所選模型的參數以及如何驗證模型的結果,同時所有這些選擇皆會影響模型評估的結果,以及會將模型用於確定哪些客戶將獲得信用,因此我們需對模型結果進行有效合理的解釋,才能夠信任模型所產生的決策結果。

接著過去我們會花費大量的模型建立過程來確定模型演算法最佳的參數集,並且隨著演算法變得越來越複雜,從神經網路到深度網路,從決策樹到森林以及梯度增強,識別這些參數所需的時間越來越多。此時在調優機器學習模型參數集的繁瑣工作中,有多種方法可以支持資料科學家,這些方法稱為超參數優化,通常有三種不同類型,分別為:

  1. 參數掃描 (Parameter sweep):主要是針對一組預先定義的模型參數值進行詳盡搜尋,資料科學家為每個參數值的候選者進行調整,使用每種可能的組合訓練模型,然後選擇成效最佳的模型,其中模型成效很大程度取決於資料科學家的經驗和選擇。
  2. 隨機搜尋 (Random search):主要是針對一組隨機選擇的模型參數值進行搜尋,這將能夠提供一個更小偏差方法找到所選模型參數的最佳集合,由於這是隨機搜尋,因此可能會錯過最佳的參數,除非進行了足夠的實驗次數。
  3. 參數優化 (Parameter optimization):主要是應用現代化的優化技術來找到最佳解決方案的方法,此方法將能夠為任何預測模型和任何業務問題找到最適合之參數集的最佳方法。

其中 SAS Visual Data Mining and Machine Learning 將會為使用者提供自動化超參數調整的功能,主要使用區域搜尋優化 (Local Search Optimization,LSO) 方法進行超參數自動化的調整,當使用區域搜尋優化的方法將能夠在分散式環境中執行,以利克服超參數優化所面臨的效能挑戰 ,其中主要是由一組可擴展的搜尋方法所組成,不同模型的的參數設定評估結果將會分散在計多個評估工作節點上,並且透過這些節點在反饋循環中進行協調。

再來 SAS Visual Data Mining and Machine Learning 中的自動調整功能除了利用 LSO 框架提供了靈活有效的混合搜尋策略之外,預設搜索策略主要是以拉丁超立方抽樣 (Latin hypercube sample,LHS) 開始,該樣本提供的超參數空間樣本比網格搜尋 (Grid Search) 或隨機搜尋 (Random Search) 所提供的樣本更為統一,然後再將最佳樣本用於遺傳演算法 (Genetic Algorithm,GA),該遺傳演算法在迭代過程中針對最佳樣本進行交叉和變異,這將會為每次迭代生成新的模型參數集,更重要的是將能夠以分散式平行的方式評估樣本。至於自動調整功能目前主要能夠用於不同的機器學習演算法節點,分別為貝氏網路 (Bayesian Network)、決策樹 (Decision Tree)、森林 (Forest)、梯度提升 (Gradient Boosting)、神經網路 (Neural Network) 和支持向量機 (Support Vector Machine,SVM)。

最後 SAS Visual Data Mining and Machine Learning 中的超參數調整另一方面主要涉及交叉驗證,對於小型資料集,除了訓練資料集之外,單個驗證分區可能會留下不足以用於驗證的資料,此時保留具有代表性訓練資料和驗證資料將會是一個挑戰,因此我們通常建議使用交叉驗證進行模型驗證,當然透過這種交叉驗證過程將會增加了許多的時間。此外 SAS Visual Data Mining and Machine Learning 預設自動調整功能,其實就是 AutoML 機制,至於應用 AutoML 機制的模型在於評估的結果,則建議參考官方論文,結論是 SAS 預設自動調整的 AutoML 機制效能將明顯優於超參數自動優化常見的方法。

相關資源

⬅️ Go back