
作者 | Mischa Lisovyi & Rosaria Silipo
編譯 | CDA數(shù)據(jù)科學(xué)研究院
從智能手機(jī)到航天器,機(jī)器學(xué)習(xí)算法無(wú)處不在。他們會(huì)告訴您明天的天氣預(yù)報(bào),將一種語(yǔ)言翻譯成另一種語(yǔ)言,并建議您接下來(lái)想在Netflix上看什么電視連續(xù)劇。
這些算法會(huì)根據(jù)數(shù)據(jù)自動(dòng)調(diào)整(學(xué)習(xí))其內(nèi)部參數(shù)。但是,有一部分參數(shù)是無(wú)法學(xué)習(xí)的,必須由專(zhuān)家進(jìn)行配置。這些參數(shù)通常被稱(chēng)為“超參數(shù)”,隨著AI的使用增加,它們對(duì)我們的生活產(chǎn)生重大影響。
例如,決策樹(shù)模型中的樹(shù)深度和人工神經(jīng)網(wǎng)絡(luò)中的層數(shù)是典型的超參數(shù)。模型的性能在很大程度上取決于其超參數(shù)的選擇。對(duì)于中等深度的樹(shù),決策樹(shù)可能會(huì)產(chǎn)生良好的結(jié)果,而對(duì)于非常深的樹(shù),決策樹(shù)的性能將很差。
如果我們要手動(dòng)運(yùn)行,最佳超參數(shù)的選擇比藝術(shù)更是藝術(shù)。實(shí)際上,超參數(shù)值的最佳選擇取決于當(dāng)前的問(wèn)題。
由于算法,目標(biāo),數(shù)據(jù)類(lèi)型和數(shù)據(jù)量從一個(gè)項(xiàng)目到另一個(gè)項(xiàng)目都發(fā)生了很大變化,因此沒(méi)有適合所有模型和所有問(wèn)題的超參數(shù)值的最佳選擇。相反,必須在每個(gè)機(jī)器學(xué)習(xí)項(xiàng)目的上下文中優(yōu)化超參數(shù)。
在本文中,我們將從回顧優(yōu)化策略的功能開(kāi)始,然后概述四種常用的優(yōu)化策略:
? 網(wǎng)格搜索
? 隨機(jī)搜尋
? 爬山
? 貝葉斯優(yōu)化
即使有專(zhuān)家深入的領(lǐng)域知識(shí),手動(dòng)優(yōu)化模型超參數(shù)的任務(wù)也可能非常耗時(shí)。另一種方法是讓專(zhuān)家離開(kāi),并采用自動(dòng)方法。根據(jù)某種性能指標(biāo)來(lái)檢測(cè)給定項(xiàng)目中給定模型的最佳超參數(shù)集的自動(dòng)過(guò)程稱(chēng)為優(yōu)化策略。
典型的優(yōu)化過(guò)程定義了可能的超參數(shù)集以及針對(duì)該特定問(wèn)題要最大化或最小化的度量。因此,實(shí)際上,任何優(yōu)化過(guò)程都遵循以下經(jīng)典步驟:
? 1)將手頭的數(shù)據(jù)分為訓(xùn)練和測(cè)試子集
? 2)重復(fù)優(yōu)化循環(huán)固定次數(shù)或直到滿(mǎn)足條件:
o a)選擇一組新的模型超參數(shù)
o b)使用選定的超參數(shù)集在訓(xùn)練子集上訓(xùn)練模型
o c)將模型應(yīng)用于測(cè)試子集并生成相應(yīng)的預(yù)測(cè)
o d)使用針對(duì)當(dāng)前問(wèn)題的適當(dāng)評(píng)分標(biāo)準(zhǔn)(例如準(zhǔn)確性或平均絕對(duì)誤差)評(píng)估測(cè)試預(yù)測(cè)。存儲(chǔ)與選定的超參數(shù)集相對(duì)應(yīng)的度量標(biāo)準(zhǔn)值
? 3)比較所有度量值,然后選擇產(chǎn)生最佳度量值的超參數(shù)集
問(wèn)題是如何從步驟2d返回到步驟2a,以進(jìn)行下一次迭代。也就是說(shuō),如何選擇下一組超參數(shù),確保它實(shí)際上比上一組更好。我們希望優(yōu)化循環(huán)朝著合理的解決方案發(fā)展,即使它可能不是最佳解決方案。換句話(huà)說(shuō),我們要合理確定下一組超參數(shù)是對(duì)上一組的改進(jìn)。
典型的優(yōu)化過(guò)程將機(jī)器學(xué)習(xí)模型視為黑匣子。這意味著在每個(gè)選定的超參數(shù)集的每次迭代中,我們感興趣的只是由選定指標(biāo)測(cè)量的模型性能。我們不需要(想要)知道黑匣子內(nèi)部發(fā)生了什么魔術(shù)。我們只需要轉(zhuǎn)到下一個(gè)迭代并迭代下一個(gè)性能評(píng)估,依此類(lèi)推。
所有不同優(yōu)化策略中的關(guān)鍵因素是如何根據(jù)步驟2d中先前的度量標(biāo)準(zhǔn)輸出,在步驟2a中選擇下一組超參數(shù)值。因此,對(duì)于一個(gè)簡(jiǎn)化的實(shí)驗(yàn),我們省略了對(duì)黑盒的訓(xùn)練和測(cè)試,我們專(zhuān)注于度量計(jì)算(數(shù)學(xué)函數(shù))和選擇下一組超參數(shù)的策略。此外,我們用任意數(shù)學(xué)函數(shù)替換了度量計(jì)算,并用函數(shù)參數(shù)替換了一組模型超參數(shù)。
通過(guò)這種方式,優(yōu)化循環(huán)運(yùn)行得更快,并盡可能保持通用。進(jìn)一步的簡(jiǎn)化是使用僅具有一個(gè)超參數(shù)的函數(shù),以實(shí)現(xiàn)簡(jiǎn)單的可視化。下面是我們用來(lái)演示四種優(yōu)化策略的函數(shù)。我們想強(qiáng)調(diào)的是,任何其他數(shù)學(xué)函數(shù)也可以起作用。
f(x)= sin(x / 2)+0.5?sin(2?x)+0.25?cos(4.5?x)
這種簡(jiǎn)化的設(shè)置使我們可以在一個(gè)簡(jiǎn)單的xy圖上可視化一個(gè)超參數(shù)的實(shí)驗(yàn)值和相應(yīng)的函數(shù)值。在x軸上是超參數(shù)值,在y軸上是函數(shù)輸出。然后,根據(jù)描述超參數(shù)序列生成中的點(diǎn)位置的白紅色漸變對(duì)(x,y)點(diǎn)進(jìn)行著色。
白點(diǎn)對(duì)應(yīng)于該過(guò)程中較早生成的超參數(shù)值。紅點(diǎn)對(duì)應(yīng)于此過(guò)程中稍后生成的超參數(shù)值。此漸變著色將在以后用于說(shuō)明優(yōu)化策略之間的差異時(shí)很有用。
在這種簡(jiǎn)化的用例中,優(yōu)化過(guò)程的目標(biāo)是找到一個(gè)使函數(shù)值最大化的超參數(shù)。
讓我們開(kāi)始回顧四種常見(jiàn)的優(yōu)化策略,這些策略用于為優(yōu)化循環(huán)的下一次迭代標(biāo)識(shí)新的超參數(shù)值集。
這是基本的蠻力策略。如果您不知道嘗試使用哪些值,則可以全部嘗試。功能評(píng)估中使用固定步長(zhǎng)范圍內(nèi)的所有可能值。
例如,如果范圍為[0,10],步長(zhǎng)為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ù)值的每一個(gè)計(jì)算函數(shù)輸出。因此,網(wǎng)格越細(xì),我們?cè)浇咏顑?yōu)值,但是所需的計(jì)算資源也就越高。
圖1:使用步驟0.1在[0,10]范圍內(nèi)對(duì)超參數(shù)值進(jìn)行網(wǎng)格搜索。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點(diǎn)對(duì)應(yīng)于過(guò)程中較早生成的超參數(shù)值。紅點(diǎn)對(duì)應(yīng)于稍后生成的超參數(shù)值。如圖1所示,從小到大掃描超參數(shù)的范圍。
網(wǎng)格搜索策略在單個(gè)參數(shù)的情況下可以很好地工作,但是當(dāng)必須同時(shí)優(yōu)化多個(gè)參數(shù)時(shí),它的效率將非常低下。
對(duì)于隨機(jī)搜索 策略,顧名思義,超參數(shù)的值是隨機(jī)選擇的。在多個(gè)超參數(shù)的情況下,通常首選此策略,并且當(dāng)某些超參數(shù)對(duì)最終指標(biāo)的影響大于其他參數(shù)時(shí),此策略特別有效。
同樣,在[0,10]范圍內(nèi)生成超參數(shù)值。然后,隨機(jī)生成固定數(shù)量的超參數(shù)。可以使用固定數(shù)量的預(yù)定義超參數(shù)進(jìn)行試驗(yàn),您可以控制此優(yōu)化策略的持續(xù)時(shí)間和速度。N越大,達(dá)到最佳狀態(tài)的可能性越高,但是所需的計(jì)算資源也就越高。
圖2:在[0,10]范圍內(nèi)隨機(jī)搜索超參數(shù)值。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點(diǎn)對(duì)應(yīng)于過(guò)程中較早生成的超參數(shù)值。紅點(diǎn)對(duì)應(yīng)于稍后生成的超參數(shù)值。不出所料,來(lái)自生成序列的超參數(shù)值沒(méi)有降序或升序使用:白色和紅色點(diǎn)在圖中隨機(jī)混合。
梯度,在每次迭代的方式選擇在超參數(shù)空間選擇下一個(gè)超參數(shù)值的最佳方向。如果沒(méi)有鄰居改善最終指標(biāo),則優(yōu)化循環(huán)將停止。
請(qǐng)注意,此過(guò)程在一個(gè)重要方面與網(wǎng)格搜索和隨機(jī)搜索不同:選擇下一個(gè)超參數(shù)值時(shí)要考慮先前迭代的結(jié)果。
圖3:在[0,10]范圍內(nèi)對(duì)超參數(shù)值進(jìn)行梯度搜索。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點(diǎn)對(duì)應(yīng)于過(guò)程中較早生成的超參數(shù)值。紅點(diǎn)對(duì)應(yīng)于稍后生成的超參數(shù)值。圖3顯示了應(yīng)用于我們函數(shù)的爬坡策略從一個(gè)隨機(jī)的超參數(shù)值x = 8.4開(kāi)始,然后在x = 6.9時(shí)朝函數(shù)最大值y = 0.4移動(dòng)。一旦達(dá)到最大值,就不會(huì)在下一個(gè)鄰居中看到度量值的進(jìn)一步增加,并且搜索過(guò)程將停止。
此示例說(shuō)明了與此策略有關(guān)的警告:它可能陷入次要最大值。從其他圖中可以看出,全局最大值位于x = 4.0處,對(duì)應(yīng)的度量值為1.6。該策略找不到全局最大值,但陷入局部最大值。此方法的一個(gè)很好的經(jīng)驗(yàn)法則是以不同的起始值多次運(yùn)行它,并檢查算法是否收斂到相同的最大值。
該貝葉斯優(yōu)化戰(zhàn)略選擇基于以前的迭代,類(lèi)似于爬山策略的功能輸出的下一個(gè)超參數(shù)值。與爬山不同,貝葉斯優(yōu)化會(huì)全局查看過(guò)去的迭代,而不僅僅是最后一次。
此過(guò)程通常分為兩個(gè)階段:
? 在稱(chēng)為預(yù)熱的第一階段中,將隨機(jī)生成超參數(shù)值。在用戶(hù)定義的數(shù)量N個(gè)此類(lèi)超參數(shù)的隨機(jī)生成之后,第二階段開(kāi)始。
? 在第二階段中,在每次迭代中,都會(huì)估計(jì)類(lèi)型為P(輸出|過(guò)去超參數(shù))的“替代”模型,以描述輸出值在過(guò)去迭代中對(duì)超參數(shù)值的條件概率。該替代模型比原始函數(shù)更容易優(yōu)化。因此,該算法優(yōu)化了替代,并建議將替代模型的最大值處的超參數(shù)值也作為原始函數(shù)的最佳值。第二階段的一小部分迭代還用于探測(cè)最佳區(qū)域之外的區(qū)域。這是為了避免局部最大值的問(wèn)題。
圖4:[0,10]范圍內(nèi)超參數(shù)值的貝葉斯優(yōu)化。顏色梯度反映了在生成的超參數(shù)候選序列中的位置。白點(diǎn)對(duì)應(yīng)于過(guò)程中較早生成的超參數(shù)值。紅點(diǎn)對(duì)應(yīng)于稍后生成的超參數(shù)值?;尹c(diǎn)在策略的第一個(gè)隨機(jī)階段中生成。圖4證明了貝葉斯優(yōu)化策略使用預(yù)熱階段來(lái)定義最有希望的區(qū)域,然后為該區(qū)域中的超參數(shù)選擇下一個(gè)值。
您還可以看到,密集的紅色點(diǎn)聚集在更接近最大值的位置,而淡紅色和白色的點(diǎn)則分散了。這表明,第二階段的每次迭代都會(huì)改善最佳區(qū)域的定義。
我們都知道訓(xùn)練機(jī)器學(xué)習(xí)模型時(shí)超參數(shù)優(yōu)化的重要性。由于手動(dòng)優(yōu)化非常耗時(shí)并且需要特定的專(zhuān)家知識(shí),因此我們探索了四種常見(jiàn)的超參數(shù)優(yōu)化自動(dòng)過(guò)程。
通常,自動(dòng)優(yōu)化過(guò)程遵循迭代過(guò)程,在該過(guò)程中,每次迭代時(shí),都會(huì)在一組新的超參數(shù)上訓(xùn)練模型,并在測(cè)試集上進(jìn)行評(píng)估。最后,將與最佳度量得分相對(duì)應(yīng)的超參數(shù)集選擇為最佳集。問(wèn)題是如何選擇下一組超參數(shù),以確保它實(shí)際上比上一組更好。
我們概述了四種常用的優(yōu)化策略:網(wǎng)格搜索,隨機(jī)搜索,梯度和貝葉斯優(yōu)化。它們都各有利弊,我們通過(guò)說(shuō)明它們?cè)诤?jiǎn)單玩具用例中的工作方式來(lái)簡(jiǎn)要解釋了它們之間的差異?,F(xiàn)在,您都可以嘗試在現(xiàn)實(shí)世界中的機(jī)器學(xué)習(xí)問(wèn)題中進(jìn)行嘗試。
數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶(hù) ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱(chēng) BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢(xún)到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢(xún)結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢(xún)結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專(zhuān)注于從單 ...
2025-07-09year_month數(shù)據(jù)類(lèi)型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類(lèi)型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專(zhuān)業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03