網格搜尋與貝葉斯優化

2021-09-28 09:54:53 字數 527 閱讀 1947

對於超引數的搜尋,最常用的方法叫作網格搜尋(grid search),就是在可選的空間裡,把每一種可能性逐一去嘗試,也是工業界裡最常用的方法。

網格搜尋相當於把每乙個組合都作乙個評估,然後找到其中最好的組合

網格搜尋的最大優點在於可以做並行化處理。所以只要有足夠多的計算資源,都不成問題。

問題:乙個模型有3個超引數a, b, c, 對於這三個超引數我們去搜尋最好的一種組合。對於引數a, 使用np.linspace(1, 10, 10)來搜尋,對於引數b, 使用np.linspace(1,10,5)來搜尋,對於引數c, 使用np.logspace(0.01, 100, 5)來搜尋。請問: 對於此網格搜尋,總共要考慮多少個組合?

10×5×5=250

但理想情況下,我們還是希望有個更加智慧型的搜尋方法,然後在更短的時間內能夠找出最合適的超引數組合,這類的搜尋演算法我們可以歸類為啟發式演算法:

啟發式演算法有乙個假設:好的超引數組合具有聚集的效果,好的點的周圍有更大概率存在更好的點,基於乙個這樣的假設不斷的去做啟發式的搜尋

貝葉斯優化

中使用的bo演算法 小結如有錯誤,歡迎交流指正。貝葉斯優化是一種十分有效的全域性優化演算法,目標是找到全域性最優解.貝葉斯優化有效地解決了序貫決策理論中經典的機器智慧型問題 根據對未知目標函式 f 獲取的資訊,找到下乙個評估位置,從而最快地達到最優解。實際上就是一種超引數優化方式。出自 貝葉斯優化方...

貝葉斯優化

比如我們已知函式y f x 那我們想知道f x 的最大值,x argmax 我們使用高斯過程gp作為 函式去 f x 根據一些已有的一些初始 xi,yi 去fit乙個gp 根據已有的高斯過程,隨機取樣m個點,對這m點可以使用上一步的gp去 每個點的mean和std,得到每個點處的高斯分布,根據acq...

為什麼貝葉斯優化比網格搜尋和隨機搜尋更高效呢?

在尋找最優超引數值的時候,需要提前確定一些資料。首先,也是最重要的,任何演算法都需要乙個目標函式,來找它的最大值。或者乙個損失函式,來找它的最小值。然後,需要確定搜尋範圍,一般通過上限和下限來確定。可能還有一些對於演算法的引數,比如搜尋的步長。網格搜尋可能是應用最廣泛的超引數搜尋演算法了,因為它確實...