超參數很多又很貴,能不能少試幾次就找到比較好的組合? 你可以把貝氏最佳化想成會先學經驗再決定下一次試哪裡的搜尋法。 它特別適合評估一次成本高、又不想亂試太多次的問題。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
貝氏最佳化 vs 網格搜尋? 貝氏最佳化:用代理模型挑下一個最值得試的點 網格搜尋:把參數空間整齊掃過去 最關鍵的區別:前者聰明挑點,後者是全域粗掃
貝氏最佳化 vs 隨機搜尋? 貝氏最佳化:每次都會更新對目標函數的認識 隨機搜尋:每次都隨機抽參數 最關鍵的區別:BO 會利用過去結果,隨機搜尋不會
代理模型 vs 目標函數? 代理模型:用來近似昂貴目標函數 目標函數:真正想最大化或最小化的東西 最關鍵的區別:代理模型是估計器,目標函數才是本體
記住這句就好
先學哪裡可能好,再去試哪裡
實際案例
模型調參 訓練一次要幾小時時,用貝氏最佳化比亂試超參數更有效率
實驗配方 材料實驗每次成本很高,研究者會先用少量試驗推估下一個更可能成功的配方
算法與應用
重點 你要看什麼 為什麼重要 代理模型 近似目標函數 讓系統用少量試驗學到大致地形 採集函數 決定下一個試驗點 平衡探索與利用 優勢 試次少、效率高 很適合昂貴黑盒函數
情境判斷
Q1:如果你只能測 20 次參數組合,BO 有沒有可能比網格搜尋更合適? → 很可能更合適,因為它會把試驗次數花在更值得的地方
Q2:如果目標函數很平滑、維度很低,而且評估很便宜,BO 還一定是首選嗎? → 不一定,這時簡單搜尋法也可能已經夠用
常見問題
貝氏最佳化一定用高斯過程嗎?
不一定,隨機森林或其他代理模型也可以。
它適合高維參數嗎?
高維時通常會變難,因為代理模型與搜尋空間都更複雜。
它和強化學習是一樣的嗎?
不是,兩者都會做序列決策,但貝氏最佳化是在找最佳參數點。