
作者 | Mischa Lisovyi & Rosaria Silipo
編譯 | CDA數(shù)據(jù)科學研究院
從智能手機到航天器,機器學習算法無處不在。他們會告訴您明天的天氣預報,將一種語言翻譯成另一種語言,并建議您接下來想在Netflix上看什么電視連續(xù)劇。
這些算法會根據(jù)數(shù)據(jù)自動調整(學習)其內部參數(shù)。但是,有一部分參數(shù)是無法學習的,必須由專家進行配置。這些參數(shù)通常被稱為“超參數(shù)”,隨著AI的使用增加,它們對我們的生活產(chǎn)生重大影響。
例如,決策樹模型中的樹深度和人工神經(jīng)網(wǎng)絡中的層數(shù)是典型的超參數(shù)。模型的性能在很大程度上取決于其超參數(shù)的選擇。對于中等深度的樹,決策樹可能會產(chǎn)生良好的結果,而對于非常深的樹,決策樹的性能將很差。
如果我們要手動運行,最佳超參數(shù)的選擇比藝術更是藝術。實際上,超參數(shù)值的最佳選擇取決于當前的問題。
由于算法,目標,數(shù)據(jù)類型和數(shù)據(jù)量從一個項目到另一個項目都發(fā)生了很大變化,因此沒有適合所有模型和所有問題的超參數(shù)值的最佳選擇。相反,必須在每個機器學習項目的上下文中優(yōu)化超參數(shù)。
在本文中,我們將從回顧優(yōu)化策略的功能開始,然后概述四種常用的優(yōu)化策略:
? 網(wǎng)格搜索
? 隨機搜尋
? 爬山
? 貝葉斯優(yōu)化
即使有專家深入的領域知識,手動優(yōu)化模型超參數(shù)的任務也可能非常耗時。另一種方法是讓專家離開,并采用自動方法。根據(jù)某種性能指標來檢測給定項目中給定模型的最佳超參數(shù)集的自動過程稱為優(yōu)化策略。
典型的優(yōu)化過程定義了可能的超參數(shù)集以及針對該特定問題要最大化或最小化的度量。因此,實際上,任何優(yōu)化過程都遵循以下經(jīng)典步驟:
? 1)將手頭的數(shù)據(jù)分為訓練和測試子集
? 2)重復優(yōu)化循環(huán)固定次數(shù)或直到滿足條件:
o a)選擇一組新的模型超參數(shù)
o b)使用選定的超參數(shù)集在訓練子集上訓練模型
o c)將模型應用于測試子集并生成相應的預測
o d)使用針對當前問題的適當評分標準(例如準確性或平均絕對誤差)評估測試預測。存儲與選定的超參數(shù)集相對應的度量標準值
? 3)比較所有度量值,然后選擇產(chǎn)生最佳度量值的超參數(shù)集
問題是如何從步驟2d返回到步驟2a,以進行下一次迭代。也就是說,如何選擇下一組超參數(shù),確保它實際上比上一組更好。我們希望優(yōu)化循環(huán)朝著合理的解決方案發(fā)展,即使它可能不是最佳解決方案。換句話說,我們要合理確定下一組超參數(shù)是對上一組的改進。
典型的優(yōu)化過程將機器學習模型視為黑匣子。這意味著在每個選定的超參數(shù)集的每次迭代中,我們感興趣的只是由選定指標測量的模型性能。我們不需要(想要)知道黑匣子內部發(fā)生了什么魔術。我們只需要轉到下一個迭代并迭代下一個性能評估,依此類推。
所有不同優(yōu)化策略中的關鍵因素是如何根據(jù)步驟2d中先前的度量標準輸出,在步驟2a中選擇下一組超參數(shù)值。因此,對于一個簡化的實驗,我們省略了對黑盒的訓練和測試,我們專注于度量計算(數(shù)學函數(shù))和選擇下一組超參數(shù)的策略。此外,我們用任意數(shù)學函數(shù)替換了度量計算,并用函數(shù)參數(shù)替換了一組模型超參數(shù)。
通過這種方式,優(yōu)化循環(huán)運行得更快,并盡可能保持通用。進一步的簡化是使用僅具有一個超參數(shù)的函數(shù),以實現(xiàn)簡單的可視化。下面是我們用來演示四種優(yōu)化策略的函數(shù)。我們想強調的是,任何其他數(shù)學函數(shù)也可以起作用。
f(x)= sin(x / 2)+0.5?sin(2?x)+0.25?cos(4.5?x)
這種簡化的設置使我們可以在一個簡單的xy圖上可視化一個超參數(shù)的實驗值和相應的函數(shù)值。在x軸上是超參數(shù)值,在y軸上是函數(shù)輸出。然后,根據(jù)描述超參數(shù)序列生成中的點位置的白紅色漸變對(x,y)點進行著色。
白點對應于該過程中較早生成的超參數(shù)值。紅點對應于此過程中稍后生成的超參數(shù)值。此漸變著色將在以后用于說明優(yōu)化策略之間的差異時很有用。
在這種簡化的用例中,優(yōu)化過程的目標是找到一個使函數(shù)值最大化的超參數(shù)。
讓我們開始回顧四種常見的優(yōu)化策略,這些策略用于為優(yōu)化循環(huán)的下一次迭代標識新的超參數(shù)值集。
這是基本的蠻力策略。如果您不知道嘗試使用哪些值,則可以全部嘗試。功能評估中使用固定步長范圍內的所有可能值。
例如,如果范圍為[0,10],步長為0.1,那么我們將獲得超參數(shù)值的序列(0、0.1、0.2、0.3,…9.5、9.6、9.7、9.8、9.9、10) 。在網(wǎng)格搜索策略中,我們?yōu)檫@些超參數(shù)值的每一個計算函數(shù)輸出。因此,網(wǎng)格越細,我們越接近最優(yōu)值,但是所需的計算資源也就越高。
圖1:使用步驟0.1在[0,10]范圍內對超參數(shù)值進行網(wǎng)格搜索。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點對應于過程中較早生成的超參數(shù)值。紅點對應于稍后生成的超參數(shù)值。如圖1所示,從小到大掃描超參數(shù)的范圍。
網(wǎng)格搜索策略在單個參數(shù)的情況下可以很好地工作,但是當必須同時優(yōu)化多個參數(shù)時,它的效率將非常低下。
對于隨機搜索 策略,顧名思義,超參數(shù)的值是隨機選擇的。在多個超參數(shù)的情況下,通常首選此策略,并且當某些超參數(shù)對最終指標的影響大于其他參數(shù)時,此策略特別有效。
同樣,在[0,10]范圍內生成超參數(shù)值。然后,隨機生成固定數(shù)量的超參數(shù)??梢允褂霉潭〝?shù)量的預定義超參數(shù)進行試驗,您可以控制此優(yōu)化策略的持續(xù)時間和速度。N越大,達到最佳狀態(tài)的可能性越高,但是所需的計算資源也就越高。
圖2:在[0,10]范圍內隨機搜索超參數(shù)值。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點對應于過程中較早生成的超參數(shù)值。紅點對應于稍后生成的超參數(shù)值。不出所料,來自生成序列的超參數(shù)值沒有降序或升序使用:白色和紅色點在圖中隨機混合。
梯度,在每次迭代的方式選擇在超參數(shù)空間選擇下一個超參數(shù)值的最佳方向。如果沒有鄰居改善最終指標,則優(yōu)化循環(huán)將停止。
請注意,此過程在一個重要方面與網(wǎng)格搜索和隨機搜索不同:選擇下一個超參數(shù)值時要考慮先前迭代的結果。
圖3:在[0,10]范圍內對超參數(shù)值進行梯度搜索。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點對應于過程中較早生成的超參數(shù)值。紅點對應于稍后生成的超參數(shù)值。圖3顯示了應用于我們函數(shù)的爬坡策略從一個隨機的超參數(shù)值x = 8.4開始,然后在x = 6.9時朝函數(shù)最大值y = 0.4移動。一旦達到最大值,就不會在下一個鄰居中看到度量值的進一步增加,并且搜索過程將停止。
此示例說明了與此策略有關的警告:它可能陷入次要最大值。從其他圖中可以看出,全局最大值位于x = 4.0處,對應的度量值為1.6。該策略找不到全局最大值,但陷入局部最大值。此方法的一個很好的經(jīng)驗法則是以不同的起始值多次運行它,并檢查算法是否收斂到相同的最大值。
該貝葉斯優(yōu)化戰(zhàn)略選擇基于以前的迭代,類似于爬山策略的功能輸出的下一個超參數(shù)值。與爬山不同,貝葉斯優(yōu)化會全局查看過去的迭代,而不僅僅是最后一次。
此過程通常分為兩個階段:
? 在稱為預熱的第一階段中,將隨機生成超參數(shù)值。在用戶定義的數(shù)量N個此類超參數(shù)的隨機生成之后,第二階段開始。
? 在第二階段中,在每次迭代中,都會估計類型為P(輸出|過去超參數(shù))的“替代”模型,以描述輸出值在過去迭代中對超參數(shù)值的條件概率。該替代模型比原始函數(shù)更容易優(yōu)化。因此,該算法優(yōu)化了替代,并建議將替代模型的最大值處的超參數(shù)值也作為原始函數(shù)的最佳值。第二階段的一小部分迭代還用于探測最佳區(qū)域之外的區(qū)域。這是為了避免局部最大值的問題。
圖4:[0,10]范圍內超參數(shù)值的貝葉斯優(yōu)化。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點對應于過程中較早生成的超參數(shù)值。紅點對應于稍后生成的超參數(shù)值?;尹c在策略的第一個隨機階段中生成。圖4證明了貝葉斯優(yōu)化策略使用預熱階段來定義最有希望的區(qū)域,然后為該區(qū)域中的超參數(shù)選擇下一個值。
您還可以看到,密集的紅色點聚集在更接近最大值的位置,而淡紅色和白色的點則分散了。這表明,第二階段的每次迭代都會改善最佳區(qū)域的定義。
我們都知道訓練機器學習模型時超參數(shù)優(yōu)化的重要性。由于手動優(yōu)化非常耗時并且需要特定的專家知識,因此我們探索了四種常見的超參數(shù)優(yōu)化自動過程。
通常,自動優(yōu)化過程遵循迭代過程,在該過程中,每次迭代時,都會在一組新的超參數(shù)上訓練模型,并在測試集上進行評估。最后,將與最佳度量得分相對應的超參數(shù)集選擇為最佳集。問題是如何選擇下一組超參數(shù),以確保它實際上比上一組更好。
我們概述了四種常用的優(yōu)化策略:網(wǎng)格搜索,隨機搜索,梯度和貝葉斯優(yōu)化。它們都各有利弊,我們通過說明它們在簡單玩具用例中的工作方式來簡要解釋了它們之間的差異?,F(xiàn)在,您都可以嘗試在現(xiàn)實世界中的機器學習問題中進行嘗試。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉換:從基礎用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結構數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結構數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預期算子的內涵、作用與應用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結構數(shù)據(jù)特征價值的專業(yè)核心 表結構數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結構化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應用 在數(shù)據(jù)分析與統(tǒng)計學領域,假設檢驗是驗證研究假設、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結構數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結構數(shù)據(jù)(以 “行 - 列” 存儲的結構化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結構數(shù)據(jù)價值的核心操盤手 表格結構數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務邏輯:從規(guī)則拆解到數(shù)據(jù)把關的實戰(zhàn)指南 在業(yè)務系統(tǒng)落地過程中,“業(yè)務邏輯” 是連接 “需求設計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10