iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 36 題

系統化找出最穩定超參數組合,最該用哪種方法?

原題

某資料科學團隊在開發預測模型時,針對多種模型設定(如學習率、樹深度、正則化係數等)進行系統化測試,希望找出在驗證資料上表現最穩定的組合。此過程最可能採用下列哪一種方法?

白話

某資料科學團隊在開發預測模型時,針對學習率、樹深度、正則化係數等多種模型設定進行系統化測試,目標是找出在驗證資料上表現最穩定的設定組合。

問你:這個過程最可能採用下列哪一種方法?

一句話總結

「系統化地把所有想試的超參數組合都測過一遍」,這個做法叫做網格搜尋(Grid Search)。它把每個超參數的候選值列出來,然後枚舉所有可能的組合,一組一組都跑過,找出表現最好的組合。

情境

先感受問題:超參數有很多,要怎麼試

假設「精算智能」資料科學團隊在開發一個保險理賠預測模型,用隨機森林(Random Forest)演算法。

他們需要決定三個超參數:

樹的數量(n_estimators):[100, 200, 500]

樹的最大深度(max_depth):[3, 5, 10]

最小分裂樣本數(min_samples_split):[2, 5, 10]

三個參數各有三個候選值,總共 3 × 3 × 3 = 27 個組合。

如果他們想「系統化地把這 27 個組合全部都試過」,不漏掉任何一個,這就是網格搜尋。

每個組合用驗證資料評分,27 個都跑完,選分數最高的那個組合上線。

「系統化測試」這幾個字是最重要的線索。網格搜尋的特色就是:排列組合、全部枚舉、不跳過、不靠運氣。

舊方法

手動試參數為什麼靠不住

在網格搜尋出現前,工程師靠「直覺和經驗」手動調超參數,這有五個問題:

  1. 遺漏好的組合:你猜「學習率 0.01 好」就直接跳到那裡,但也許「學習率 0.001 配上樹深度 5」才是最佳組合,你根本沒試到。
  2. 沒有基準可比較:試了三個組合,覺得第二個最好,但可能第十個才是真正最好的,你不知道。
  3. 調參順序影響結果:先調 A 再調 B 跟先調 B 再調 A,可能得到不同結論,因為超參數之間有互動效應。
  4. 重複性差:下次換個人來調,可能調出完全不同的結果,無法保證可重複性。
  5. 效果難以解釋:說不清楚「為什麼這個超參數這樣設」,只能說「我試了覺得比較好」。

新方法

網格搜尋怎麼做到「系統化」

回到「精算智能」團隊。網格搜尋的流程:

第一步:列出候選值(畫出「網格」)

n_estimators:[100, 200, 500] ← 3 個選項

max_depth:[3, 5, 10] ← 3 個選項

min_samples_split:[2, 5, 10] ← 3 個選項

第二步:枚舉所有組合(3 × 3 × 3 = 27 種),依序全部跑過。

第三步:每個組合用交叉驗證評分(例如 5-fold CV),得到 27 個分數。

第四步:選分數最高的組合,作為最終模型設定。

好處:

  • 不漏掉任何候選組合
  • 結果可重複(給任何人同樣候選值,得到同樣答案)
  • 超參數之間的互動效應也能被捕捉到

代價:組合數量隨參數數量指數成長,計算量大。

這就是選項 B 講的:透過網格搜尋(Grid Search)在多組超參數設定中進行系統化搜尋與評估。

錯選項

為什麼其他選項是錯的

A使用交叉驗證(Cross Validation)反覆評估模型以降低過擬合風險

字面在說什麼

把資料切成多份輪流做訓練和驗證,讓模型評估結果更可靠,降低因為資料切法不同而造成的偶然誤差。

為什麼不對

交叉驗證是「評估一個模型設定好不好」的工具,不是「搜尋哪個設定最好」的方法。你仍然需要先決定要試哪些超參數組合,交叉驗證只是評分機制。實際上,網格搜尋通常搭配交叉驗證(如 GridSearchCV 裡的 cv 參數),但交叉驗證本身不做系統化搜尋。

誰會選錯

把「評估模型」和「搜尋超參數」這兩個步驟混在一起的人。交叉驗證回答「這個組合有多好」,網格搜尋回答「哪個組合最好」,前者是手段,後者才是這題問的目的。

C以隨機搜尋(Random Search)快速探索部分參數空間以提升搜尋效率

字面在說什麼

不是把所有組合都試,而是隨機抽取一部分組合來試,在有限計算資源下更快找到好的設定。

為什麼不對

隨機搜尋的關鍵詞是「部分參數空間」,不是「系統化測試所有組合」。題目說「系統化測試」「希望找出表現最穩定的組合」,這是要確保沒有遺漏最好的組合,隨機搜尋不能保證這點。隨機搜尋是以「搜尋效率」換「搜尋完整性」,題目的情境明確是要系統化、不遺漏。

誰會選錯

知道「隨機搜尋通常比網格搜尋有效率」(Bergstra & Bengio, 2012 的研究確實如此),就覺得應該選更聰明的方法的人。但這題問的不是哪個方法「更好」,而是哪個方法「最符合題目描述的情境」。題目的情境特徵:系統化、所有組合,指的是網格搜尋。

D採用貝葉斯優化(Bayesian Optimization)根據歷次結果動態調整搜尋方向

字面在說什麼

用機率模型追蹤「哪些超參數值比較可能讓分數好」,每次實驗後更新模型,聰明地選下一個要試的點。

為什麼不對

貝葉斯優化是「動態調整」不是「系統化枚舉」,它不會把所有候選組合都跑過,而是根據之前的結果推測哪裡值得試,直接跳到有潛力的區域。這跟題目說的「系統化測試」(枚舉所有組合)相反。貝葉斯優化適合「超參數空間很大、每次評估代價很高(例如深度學習訓練幾個小時)」的場景,不是「系統化跑完所有候選值」。

誰會選錯

知道貝葉斯優化是「最先進的超參數搜尋方法」,就覺得應該選它的人。在機器學習競賽或資源有限的生產環境,貝葉斯優化確實很有效。但題目的情境是「系統化把所有組合都試過」,符合的是網格搜尋。解題要看題目情境,不是找「最好的方法」。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 36 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。