貝葉斯優化 Bayesian Optimization:黑盒策略參數優化的核心框架
第 25 課・共 34 課
目錄
貝葉斯優化 Bayesian Optimization 是處理「黑盒」優化問題的主流框架:當目標函數沒有明確表達式、每次評估昂貴、結果帶噪聲又無梯度可用時,它以代理模型與採集函數迭代選點,用盡量少的評估次數逼近全局最優。本講是 Liu Peng 量化交易學術課第 11 週第二講,承接上一講「為交易策略參數尋找最優值」的問題,先總結這類目標函數的四大屬性與三種典型形態,再引入貝葉斯優化的環境—策略搜尋框架。
學習重點
- 策略優化的目標函數是黑盒:無明確表達式、觀測帶噪聲、單次評估成本高、無梯度資訊,四大屬性令傳統優化方法統統失效。
- 函數形態決定難度:凸函數容易解;多局部極小的非凸函數容易令人被困;帶平坦區域的非凸函數更會令人誤以為已找到答案。
- 窮舉不可行:格點搜尋要把參數空間逐點試完,評估成本高昂時根本做不起,必須改用有指導的迭代搜尋。
- 貝葉斯優化的循環:先驗模型出發,觀測、更新後驗、由採集函數決定下一個試點,周而復始直至逼近最優。
- 框架與強化學習相通:兩者都是「策略指導搜尋」,分別在於底層機制——貝葉斯優化用高斯過程加採集函數。
詳細筆記
目標函數的四個屬性
講者開篇先界定問題。策略優化的目標函數 $f$,掌管我們關心的量——夏普比率 Sharpe Ratio——如何由輸入參數生成。要優化的寫法很簡單:
$$x^{*} = \arg\max_{x \in \mathcal{X}} f(x)$$即在參數搜尋空間 $\mathcal{X}$ 中找出令夏普比率最高的參數組合 $x^{*}$。問題在於 $f$ 的四個屬性,講者逐項點出:
- 黑盒:我們沒有 $f$ 的明確表達式。夏普比率不是參數的解析函數,而是整套回測流程的輸出——給定參數,跑一次回測,才有一個數值回來。
- 觀測帶噪聲:在同一參數點試探所得的數值,對回測期的選擇高度敏感。只取一個回測期,該時段未必有代表性,也未必能模擬未來實盤環境,所以觀測值只是真值的帶噪近似。可寫成:
即第 $t$ 次觀測 $y_t$ 是真值 $f(x_t)$ 加上噪聲 $\varepsilon_t$。
- 評估昂貴:每跑一次回測都要時間,逐點窮舉整個參數空間的「exhaustive probing」直接出局。
- 無梯度:我們拿不到 $f$ 對參數的梯度,所有一階方法(梯度上升/下降)都不能用。
三種函數形態與優化難點

講者用三幅圖交代黑盒優化為何困難:
- 凸函數:只有一個全局極小,優化容易——任何合理的下坡方法都能走到谷底。
- 多局部極小的非凸函數:存在多個局部極小 local minima,真正的全局極小混在其中。搜尋一旦落入某個局部極小,很容易被卡住,以為已到盡頭。
- 帶平坦區域的非凸函數:函數有一大片近乎水平的區域,佈滿鞍點 saddle points。講者稱之為另一個陷阱:停在平坦區域時,四周看不到明顯的下坡方向,搜尋者會誤信這裡就是答案,不知道走出這片區域後,別處還有更好的全局極小。要脫困,必須主動離開現有區域去探索其他地方。
三幅圖的共同信息是:黑盒意味著我們事前不知道函數的真實形狀,連自己身處哪一種形態都不清楚,這正是難處所在。
例證:超參數調校中的學習率

講者舉機器學習中極常見的例子:超參數調校 hyperparameter tuning。以學習率 learning rate 為例,它控制梯度方法每一步走多遠:
- 學習率太小,每步只移動一點點,收斂極慢,耗時甚久才挨近極小點;
- 學習率太大,步子邁得過猛,會在谷底兩側來回跨越(overshoot),甚至越走越遠,變成發散 divergence。
一個標量參數已經可以同時帶來「太慢」與「太野」兩種失敗模式,而兩者之間的最優值事前無從得知——這正是為何調參本身是建模過程中的重要環節,也說明「試錯式亂試」與「有系統的搜尋」分別有多大。
為何窮舉式格點搜尋不可行
面對黑盒函數,最直觀的做法是格點搜尋 Grid Search:把每個參數的取值範圍切成格點,逐點代入回測,取成績最好的一點。講者明確指出,這種 exhaustive probing 在本問題中不可行,原因就在前述第三個屬性——單次評估成本高。參數每多一維,格點數目便乘上一個倍數;每點又要完整跑一次回測,總成本隨維度爆炸式上升,根本試不完所有點。
更深一層的分別是:格點搜尋對所有點一視同仁,每次評估的結果用完即棄,不會回過頭來指導「下一步該試哪裡」。貝葉斯優化的出發點正相反——既然每次觀測都貴,就必須讓每次觀測都發揮最大情報價值,用已收集的全部觀測去推斷函數形狀,再選最值得試的下一點。換句話說,格點搜尋的搜尋次序在開始前已經寫死,與觀測結果無關;貝葉斯優化的搜尋次序則是邊試邊學、動態生成的,這正是「搜尋政策」一詞的含義。對於每點都要完整回測的策略優化問題,兩者的成本差距可以達到數個數量級。
貝葉斯優化的核心循環:先驗、觀測、後驗、下一個試點
講者說明,貝葉斯優化是一套理論與實踐都發展成熟的技術,專門對付上述全局優化問題;顧名思義,它以貝葉斯方法處理。講者在本講以概念為主,並點明其底層假設:以高斯過程 Gaussian Process 為目標函數建模,以採集函數 acquisition function 指導搜尋。把這個框架的標準數學形式寫出來,便是一條清晰的迭代鏈:
第一步,設先驗。 對未知函數 $f$ 設一個高斯過程先驗:
$$f \sim \mathcal{GP}\big(m(x),\, k(x, x')\big)$$其中 $m(x)$ 是均值函數、$k(x, x')$ 是協方差(核)函數。先驗的意思是在未觀測之前,先對函數的平滑度與走勢作一個概率化的假設——$f$ 不再是一個確定的未知函數,而是一個隨機過程。
第二步,觀測。 在試點 $x_t$ 跑一次回測,得到帶噪觀測 $y_t$,併入歷史數據集 $\mathcal{D}_t = \{(x_i, y_i)\}_{i=1}^{t}$。
第三步,更新後驗。 用貝葉斯定理把先驗與觀測合成後驗:
$$p(f \mid \mathcal{D}_t) \propto p(\mathcal{D}_t \mid f)\, p(f)$$後驗給出任意未試點的預測均值(「估計這裡有多好」)與預測方差(「這個估計有多不確定」)。觀測越多的位置,方差越小;未探索的區域,方差保持高企。
第四步,決定下一個試點。 由採集函數 $\alpha(x \mid \mathcal{D}_t)$ 把均值與方差合成一個選點分數,取分數最高者為下一試點:
$$x_{t+1} = \arg\max_{x \in \mathcal{X}} \alpha(x \mid \mathcal{D}_t)$$採集函數的職責是平衡利用與探索:均值高的點代表「已知有貨」,方差高的點代表「可能有驚喜」。以最常用的 Expected Improvement 為例:
$$\alpha_{EI}(x) = \mathbb{E}\Big[\max\big(f(x) - f(x^{+}),\, 0\big)\Big]$$即該點相對目前最佳觀測 $f(x^{+})$ 的預期改進幅度,均值高或方差大都會推高這個期望值。注意這個子問題與原問題不同:$\alpha$ 有明確表達式、評估廉價、通常有梯度,用常規方法即可解。四步循環往復,每次迭代都把最貴的一次回測花在情報價值最高的位置,這就是「先驗 → 觀測 → 後驗 → 下一個試點」的完整鏈條。
環境—策略框架與強化學習對照

講者最後把整個過程抽象成一張循環圖,由兩個角色組成:
- 環境 environment:內藏真實的目標函數,即那個無梯度、被噪聲污染的黑盒。我們向它提交一個動作——要測試的參數組合,它返回一個觀測——該參數下的回測結果。
- 策略 policy:整個搜尋的中央情報機關。它消化歷來收集的觀測,決定下一輪在環境中哪個位置採樣,並發出建議。
循環由一個初始位置開始,之後每輪都是「採樣 → 收集反饋 → 刷新策略 → 提出下一個建議」。策略的目標是學會一套高效而有效的導航方法,令搜尋盡快走向全局最優。講者指出,這個框架與強化學習 reinforcement learning 非常相似:本質上兩者都是發展一套策略去指導搜尋,分別在於底層手段——貝葉斯優化以高斯過程加採集函數為策略的支柱,強化學習則用另一套方法處理同一類問題。這個對照也為後續課題埋下伏線。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
欣利克的看法
- 「貝葉斯」體現在不確定性的管理:不少人以為貝葉斯優化只是一種「聰明一點的試錯」,其實核心是把目標函數當成隨機過程,令每個未試點都附有明確的不確定性量化。沒有後驗方差,採集函數便無從衡量「未知」的價值,整個框架就退化為普通試錯。
- exploration vs exploitation 的概念釐清:利用(exploitation)是在目前看來最好的區域附近再試,探索(exploration)是到不確定性高、資訊少的區域試。純利用容易困在局部極小,純探索則浪費評估次數;採集函數正是兩者之間的調節旋鈕。讀後續章節時,見到任何選點準則,都可先問一句:它偏向哪一邊?
- 常見誤區:把回測最優當成實盤最優:講者已點出觀測對回測期高度敏感。即使優化器找到回測中的最高夏普比率,那也只是某段歷史的帶噪觀測,可能混雜過度擬合成分。參數優化的結果必須配合樣本外驗證理解,不宜直接外推。
- 與格點搜尋的公平比較:貝葉斯優化的優勢在「評估昂貴、維度不低」時才顯著;若參數只有一兩個、每次回測只需幾秒,格點搜尋簡單直接又易於並行,未必輸蝕。工具的選擇取決於問題規模,不存在一面倒的答案。
- 資料時效提醒:本講屬概念導入,錄製於 2023 年。截至 2026 年,學界與業界在採集函數、高維擴展與多目標版本上均有大量後續發展,實作時宜查閱較新的工具庫文件,而非只依賴本講的概念框架。
名詞解釋
- 貝葉斯優化 Bayesian Optimization:以代理模型與採集函數迭代選點的全局優化框架,專治昂貴、有噪聲、無梯度的黑盒函數。
- 高斯過程 Gaussian Process:由均值函數與協方差函數定義的隨機過程,貝葉斯優化中用作目標函數的代理模型,同時給出預測與不確定性。
- 採集函數 Acquisition Function:把預測均值與方差合成選點分數的準則,決定下一個試點,平衡利用與探索。
- 格點搜尋 Grid Search:把參數空間劃成格點逐點窮舉的方法,簡單但成本隨維度爆炸,是貝葉斯優化的對照組。
- 夏普比率 Sharpe Ratio:每單位波動風險換取的超額回報,本講中作為策略優化的目標量。
- 回測 Backtesting:用歷史數據模擬策略表現的過程,即本講中「昂貴的函數評估」的實際內容。
- 過度擬合 Overfitting:策略過度遷就歷史數據的噪音,令回測成績無法在樣本外重現的現象。
常見問題 FAQ
貝葉斯優化同格點搜尋最大的分別是什麼?
格點搜尋把參數空間逐點窮舉,對所有點一視同仁,每次評估的結果不會指導下一步;貝葉斯優化則用高斯過程消化全部歷史觀測,再由採集函數選出情報價值最高的下一點。當單次回測成本高、參數維度多時,後者能以少得多的評估次數逼近最優,這正是講者否定 exhaustive probing 的原因。
為什麼說策略優化的目標函數是「黑盒」?
因為我們沒有它的明確數學表達式。夏普比率不是參數的解析函數,而是整套回測流程的輸出:給定參數、跑完回測,才知道結果。而且它無梯度可用、觀測值對回測期敏感帶噪、每次評估都耗時,四個屬性疊加,令梯度方法與窮舉方法都失效。
高斯過程在貝葉斯優化中扮演什麼角色?
它是代理模型(surrogate model):對未知的黑盒函數設一個高斯過程先驗,每次取得觀測後以貝葉斯定理更新後驗。後驗為每個未試點給出預測均值(估計表現)與預測方差(估計的不確定性),採集函數正是靠這兩個量決定往哪裡探索。
採集函數的「利用」與「探索」是什麼意思?
利用(exploitation)指在目前已知表現好的區域附近繼續試點,爭取微調出更好的結果;探索(exploration)指到不確定性高、尚未測試的區域試點,尋找可能存在的更好解。採集函數(例如 Expected Improvement)把預測均值與方差合成一個分數,自動在兩者之間取平衡,避免搜尋困在局部極小或漫無目的地亂試。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: