從智能手機到航天器,機器學習算法無處不在。他們會告訴您明天的天氣預報,將一種語言翻譯成另一種語言,并建議您接下來想在設備上看什么電視連續劇。這些算法會根據數據自動調整(學習)其內部參數。但是,有一部分參數是無法學習的,必須由專家進行配置。這些參數通常被稱為“超參數”,隨著AI的使用增加,它們對我們的生活產生重大影響。
例如,決策樹模型中的樹深度和人工神經網絡中的層數是典型的超參數。模型的性能在很大程度上取決于其超參數的選擇。對于中等深度的樹,決策樹可能會產生良好的結果,而對于非常深的樹,決策樹的性能將很差。如果我們要手動運行,最佳超參數的選擇更是藝術性。實際上,超參數值的最佳選擇取決于當前的問題。
由于算法,目標,數據類型和數據量從一個項目到另一個項目都發生了很大變化,因此沒有適合所有模型和所有問題的超參數值的最佳選擇。相反,必須在每個機器學習項目的上下文中優化超參數。
在本文中,我們將從回顧優化策略的功能開始,然后概述四種常用的優化策略:
- 網格搜索
- 隨機搜尋
- 爬山
- 貝葉斯優化
- 優化策略
即使有專家深入的領域知識,手動優化模型超參數的任務也可能非常耗時。另一種方法是讓專家離開,并采用自動方法。根據某種性能指標來檢測給定項目中給定模型的最佳超參數集的自動過程稱為優化策略。
典型的優化過程定義了可能的超參數集以及針對該特定問題要最大化或最小化的度量。因此,實際上,任何優化過程都遵循以下經典步驟:
1)將手頭的數據分為訓練和測試子集
2)重復優化循環固定次數或直到滿足條件:
a)選擇一組新的模型超參數
b)使用選定的超參數集在訓練子集上訓練模型
c)將模型應用于測試子集并生成相應的預測
d)使用針對當前問題的適當評分標準(例如準確性或平均絕對誤差)評估測試預測。存儲與選定的超參數集相對應的度量標準值
3)比較所有度量值,然后選擇產生最佳度量值的超參數集
問題是如何從步驟2d返回到步驟2a,以進行下一次迭代。也就是說,如何選擇下一組超參數,確保它實際上比上一組更好。我們希望優化循環朝著合理的解決方案發展,即使它可能不是最佳解決方案。換句話說,我們要合理確定下一組超參數是對上一組的改進。
典型的優化過程將機器學習模型視為黑匣子。這意味著在每個選定的超參數集的每次迭代中,我們感興趣的只是由選定指標測量的模型性能。我們不需要(想要)知道黑匣子內部發生了什么變化。我們只需要轉到下一個迭代并迭代下一個性能評估,依此類推。
所有不同優化策略中的關鍵因素是如何根據步驟2d中先前的度量標準輸出,在步驟2a中選擇下一組超參數值。因此,對于一個簡化的實驗,我們省略了對黑盒的訓練和測試,我們專注于度量計算(數學函數)和選擇下一組超參數的策略。此外,我們用任意數學函數替換了度量計算,并用函數參數替換了一組模型超參數。
通過這種方式,優化循環運行得更快,并盡可能保持通用。進一步的簡化是使用僅具有一個超參數的函數,以實現簡單的可視化。下面是我們用來演示四種優化策略的函數。我們想強調的是,任何其他數學函數也可以起作用。
f(x)= sin(x / 2)+0.5?sin(2?x)+0.25?cos(4.5?x)
這種簡化的設置使我們可以在一個簡單的xy圖上可視化一個超參數的實驗值和相應的函數值。在x軸上是超參數值,在y軸上是函數輸出。然后,根據描述超參數序列生成中的點位置的白紅色漸變對(x,y)點進行著色。
白點對應于該過程中較早生成的超參數值。紅點對應于此過程中稍后生成的超參數值。此漸變著色將在以后用于說明優化策略之間的差異時很有用。在這種簡化的用例中,優化過程的目標是找到一個使函數值最大化的超參數。讓我們開始回顧四種常見的優化策略,這些策略用于為優化循環的下一次迭代標識新的超參數值集。
這是基本的蠻力策略。如果您不知道嘗試使用哪些值,則可以全部嘗試。功能評估中使用固定步長范圍內的所有可能值。
例如,如果范圍為[0,10],步長為0.1,那么我們將獲得超參數值的序列(0、0.1、0.2、0.3,…9.5、9.6、9.7、9.8、9.9、10) 。在網格搜索策略中,我們為這些超參數值的每一個計算函數輸出。因此,網格越細,我們越接近最優值,但是所需的計算資源也就越高。

使用步驟0.1在[0,10]范圍內對超參數值進行網格搜索。顏色梯度反映了在生成的超參數候選序列中的位置。白點
如圖所示,從小到大掃描超參數的范圍。網格搜索策略在單個參數的情況下可以很好地工作,但是當必須同時優化多個參數時,它的效率將非常低下。
隨機搜尋
對于隨機搜索策略,顧名思義,超參數的值是隨機選擇的。在多個超參數的情況下,通常首選此策略,并且當某些超參數對最終指標的影響大于其他參數時,此策略特別有效。
同樣,在[0,10]范圍內生成超參數值。然后,隨機生成固定數量的超參數。可以使用固定數量的預定義超參數進行試驗,您可以控制此優化策略的持續時間和速度。N越大,達到最佳狀態的可能性越高,但是所需的計算資源也就越高。

在[0,10]范圍內隨機搜索超參數值。顏色梯度反映了在生成的超參數候選序列中的位置。白點對應于過程中較早
不出所料,來自生成序列的超參數值沒有降序或升序使用:白色和紅色點在圖中隨機混合。
爬山
在爬坡,在每次迭代的方式選擇在超參數空間選擇下一個超參數值的最佳方向。如果沒有相鄰改善最終指標,則優化循環將停止。
請注意,此過程在一個重要方面與網格搜索和隨機搜索不同:選擇下一個超參數值時要考慮先前迭代的結果。

在[0,10]范圍內對超參數值進行爬山搜索。顏色梯度反映了在生成的超參數候選序列中的位置。白點對應于過程
上圖顯示了應用于我們函數的爬坡策略從一個隨機的超參數值x = 8.4開始,然后在x = 6.9時朝函數最大值y = 0.4移動。一旦達到最大值,就不會在下一個鄰居中看到度量值的進一步增加,并且搜索過程將停止。
此示例說明了與此策略有關的警告:它可能陷入次要最大值。從其他圖中可以看出,全局最大值位于x = 4.0處,對應的度量值為1.6。該策略找不到全局最大值,但陷入局部最大值。此方法的一個很好的經驗法則是以不同的起始值多次運行它,并檢查算法是否收斂到相同的最大值。
貝葉斯優化
該貝葉斯優化戰略選擇基于以前的迭代,類似于爬山策略的功能輸出的下一個超參數值。與爬山不同,貝葉斯優化會全局查看過去的迭代,而不僅僅是最后一次。
此過程通常分為兩個階段:
在稱為預熱的第一階段中,將隨機生成超參數值。在用戶定義的數量N個此類超參數的隨機生成之后,第二階段開始。
在第二階段中,在每次迭代中,都會估計類型為P(輸出|過去超參數)的“替代”模型,以描述輸出值在過去迭代中對超參數值的條件概率。該替代模型比原始函數更容易優化。因此,該算法優化了替代,并建議將替代模型的最大值處的超參數值也作為原始函數的最佳值。第二階段的一小部分迭代還用于探測最佳區域之外的區域。這是為了避免局部最大值的問題。

[0,10]范圍內超參數值的貝葉斯優化。顏色梯度反映了在生成的超參數候選序列中的位置。白點對應于過程中較
上圖圖證明了貝葉斯優化策略使用預熱階段來定義最有希望的區域,然后為該區域中的超參數選擇下一個值。您還可以看到,密集的紅色點聚集在更接近最大值的位置,而淡紅色和白色的點則分散了。這表明,第二階段的每次迭代都會改善最佳區域的定義。
總結
我們都知道訓練機器學習模型時超參數優化的重要性。由于手動優化非常耗時并且需要特定的專家知識,因此我們探索了四種常見的超參數優化自動過程。
通常,自動優化過程遵循迭代過程,在該過程中,每次迭代時,都會在一組新的超參數上訓練模型,并在測試集上進行評估。最后,將與最佳度量得分相對應的超參數集選擇為最佳集。問題是如何選擇下一組超參數,以確保它實際上比上一組更好。
我們概述了四種常用的優化策略:網格搜索,隨機搜索,爬山和貝葉斯優化。它們都各有利弊,我們通過說明它們在簡單用例中的工作方式來簡要解釋了它們之間的差異。現在,您都可以嘗試在現實中的機器學習問題中進行嘗試。
-
神經網絡
+關注
關注
42文章
4838瀏覽量
107849 -
機器學習
+關注
關注
66文章
8554瀏覽量
136989 -
決策樹
+關注
關注
3文章
96瀏覽量
14083
發布評論請先 登錄
基于載波優化的云臺馬達驅動板控制策略
低成本CAN擴展方案怎么選?CSM331A四種模式一次說清
是德示波器DSOX1202A與電腦的四種連接方式及操作步驟詳解
WTK6900FC鼾聲識別芯片在四種助眠場景中的應用
一圖看懂綠電直連的四種玩法
從入門到精通:基于開源代碼的BLE四種模式開發詳解
全網最全CSA3412,BCT4340,VL162,MCU/ USB3.1 正反插10G bps四種解決方案
FPGA在機器學習中的具體應用
輪轂電機HEV能量管理策略優化研究
RDMA簡介3之四種子協議對比
四端鈣鈦礦疊層效率突破30.3%,從PVK/Si到全鈣鈦礦四種主流結構及性能分析
變頻器主要支持哪四種模式?有什么區別?
芯片封裝中的四種鍵合方式:技術演進與產業應用
機器學習四種常用的優化策略解析
評論