貝氏最佳化(Bayesian Optimization)是什麼?

貝氏最佳化是一種用於最佳化黑盒函數的演算法,它使用貝氏模型來建立目標函數的代理模型,並利用該模型來選擇下一個要評估的點,以在最少的迭代次數內找到最佳解。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

貝氏最佳化(Bayesian Optimization)是什麼? 機器學習模型訓練

超參數很多又很貴,能不能少試幾次就找到比較好的組合? 你可以把貝氏最佳化想成會先學經驗再決定下一次試哪裡的搜尋法。 它特別適合評估一次成本高、又不想亂試太多次的問題。

你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。

容易混淆

貝氏最佳化 vs 網格搜尋? 貝氏最佳化:用代理模型挑下一個最值得試的點 網格搜尋:把參數空間整齊掃過去 最關鍵的區別:前者聰明挑點,後者是全域粗掃

貝氏最佳化 vs 隨機搜尋? 貝氏最佳化:每次都會更新對目標函數的認識 隨機搜尋:每次都隨機抽參數 最關鍵的區別:BO 會利用過去結果,隨機搜尋不會

代理模型 vs 目標函數? 代理模型:用來近似昂貴目標函數 目標函數:真正想最大化或最小化的東西 最關鍵的區別:代理模型是估計器,目標函數才是本體

記住這句就好

先學哪裡可能好,再去試哪裡

實際案例

模型調參 訓練一次要幾小時時,用貝氏最佳化比亂試超參數更有效率

實驗配方 材料實驗每次成本很高,研究者會先用少量試驗推估下一個更可能成功的配方

算法與應用

重點 你要看什麼 為什麼重要
代理模型 近似目標函數 讓系統用少量試驗學到大致地形
採集函數 決定下一個試驗點 平衡探索與利用
優勢 試次少、效率高 很適合昂貴黑盒函數

情境判斷

Q1:如果你只能測 20 次參數組合,BO 有沒有可能比網格搜尋更合適? → 很可能更合適,因為它會把試驗次數花在更值得的地方

Q2:如果目標函數很平滑、維度很低,而且評估很便宜,BO 還一定是首選嗎? → 不一定,這時簡單搜尋法也可能已經夠用

常見問題

貝氏最佳化一定用高斯過程嗎?

不一定,隨機森林或其他代理模型也可以。

它適合高維參數嗎?

高維時通常會變難,因為代理模型與搜尋空間都更複雜。

它和強化學習是一樣的嗎?

不是,兩者都會做序列決策,但貝氏最佳化是在找最佳參數點。