基於高斯過程的貝葉斯優化(二)AC函數


上節介紹過acquistion function(AC函數)是用來利用之前的信息尋找下一個$x_{t+1}$。下面介紹AC函數的具體形式:

目前主流的AC函數主要有三種Probability of Improvement(PI),Excepted Improvement(EI),GP Upper Confidence Bound(GP-UCB)三種。

首先介紹下最基本的數學背景。

記$\mathcal { D } _ { 1 : t } = \left\{ \mathbf { x } _ { 1 : t } , f _ { 1 : t } \right\}$為已經探索過得到的歷史信息,其中$f_{t+1}=f(x_{t+1})$,假定我們所需搜尋的下一個值維$x_{t+1}$,且有$f_{t+1}=f(x_{t+1})$。記協方差矩陣K為:

\[\mathbf { K } = \left[ \begin{array} { c c c } { k \left( \mathbf { x } _ { 1 } , \mathbf { x } _ { 1 } \right) } & { \dots } & { k \left( \mathbf { x } _ { 1 } , \mathbf { x } _ { t } \right) } \\ { \vdots } & { \ddots } & { \vdots } \\ { k \left( \mathbf { x } _ { t } , \mathbf { x } _ { 1 } \right) } & { \dots } & { k \left( \mathbf { x } _ { t } , \mathbf { x } _ { t } \right) } \end{array} \right]\]

根據高斯過程的性質,$f_{1:t}$與$f_{t+1}$服從聯合高斯分布,這里假設其具有0均值:

\[\left[ \begin{array} { c } { \mathbf { f } _ { 1 : t } } \\ { f _ { t + 1 } } \end{array} \right] \sim \mathcal { N } \left( \mathbf { 0 } , \left[ \begin{array} { c c } { \mathbf { K } } & { \mathbf { k } } \\ { \mathbf { k } ^ { T } } & { k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t + 1 } \right) } \end{array} \right] \right)\]

這里有:

\[\mathbf { k } = \left[ k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { 1 } \right) \quad k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { 2 } \right) \quad \cdots \quad k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t } \right) \right]\]

通過求其邊緣密度函數,可以得到:

\[ f _ { t + 1 } | \mathcal { D } _ { 1 : t } , \mathbf { x } _ { t + 1 } = \mathcal { N } \left( \mu _ { t } \left( \mathbf { x } _ { t + 1 } \right) , \sigma _ { t } ^ { 2 } \left( \mathbf { x } _ { t + 1 } \right) \right)\]

其中:

\[\mu _ { t } \left( \mathbf { x } _ { t + 1 } \right) = \mathbf { k } ^ { T } \mathbf { K } ^ { - 1 } \mathbf { f } _ { 1 : t }\]

\[\sigma _ { t } ^ { 2 } \left( \mathbf { x } _ { t + 1 } \right) = k \left( \mathbf { x } _ { t + 1 } , \mathbf { x } _ { t + 1 } \right) - \mathbf { k } ^ { T } \mathbf { K } ^ { - 1 } \mathbf { k }\]

(該推導可以參見Gaussian Processes for machine learning,Williams,2006 附錄A2)

有了上面的准備,就可以估計出$x_{t+1}$在任意取值處所服從的正態分布,從而可以設定特定的目標函數去定位下一步最優的$x_{t+1}$

Probability of Improvement(PI)

PI的思想在於基於最大可能概率改進,即假設當前已有的最優采樣為$x_+$,滿足$\mathbf { x } ^ { + } = \operatorname { argmax } _ { \mathbf { x } _ { i } \in \mathbf { x } _ { 1 : t } } f \left( \mathbf { x } _ { i } \right)$,則

\[\begin{aligned} \mathrm { PI } ( \mathbf { x } ) & = P \left( f ( \mathbf { x } ) \geq f \left( \mathbf { x } ^ { + } \right) \right) \\ & = \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) \end{aligned}\]

其中$\Phi ( \cdot )$表示標准正態分布的分布函數。

需要注意的是以上對於$x_{t+1}$的求解僅利用了已有信息,並沒有很好權衡探索-利用之間的矛盾(對於探索-利用矛盾如果不了解可以閱讀強化學習的一些基礎內容),因此PI函數還具有以下變形:

\[\begin{aligned} \mathrm { PI } ( \mathbf { x } ) & = P \left( f ( \mathbf { x } ) \geq f \left( \mathbf { x } ^ { + } \right) + \xi \right) \\ & = \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \xi } { \sigma ( \mathbf { x } ) } \right) \end{aligned}\]

其中$\xi \geq 0$,一種建議的做法是剛開始訓練時$\xi$可以較大,加強探索,隨算法迭代,$\xi$應該逐漸減少,加強利用。

Excepted Improvement(EI)

EI的思想在於尋找具有最大改善期望的$x_{t+1}$,記選取$x_{t+1}$后,被改進的函數為$I(x)$,

\[\mathrm { I } ( \mathrm { x } ) = \max \left\{ 0 , f _ { t + 1 } ( \mathrm { x } ) - f \left( \mathrm { x } ^ { + } \right) \right\}\]

我們做需尋找的$x_{t+1}$應滿足

\[\mathbf { x } = \underset { \mathbf { x } } { \operatorname { argmax } } \mathbb { E } \left( \max \left\{ 0 , f _ { t + 1 } ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) \right\} | \mathcal { D } _ { t } \right)\]

期望改進的計算公式還可以進行如下變形:

\[\begin{aligned} \mathbb { E } ( \mathrm { I } ) & = \int _ { \mathrm { I } = 0 } ^ { \mathrm { I } = \infty } \mathrm { I } \frac { 1 } { \sqrt { 2 \pi } \sigma ( \mathbf { x } ) } \exp \left( - \frac { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \mathrm { I } \right) ^ { 2 } } { 2 \sigma ^ { 2 } ( \mathbf { x } ) } \right) d \mathrm { I } \\ & = \sigma ( \mathbf { x } ) \left[ \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \Phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) + \phi \left( \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) } \right) \right] \end{aligned}\]

最終化簡結果為:

\[\operatorname { EI } ( \mathbf { x } ) = \left\{ \begin{array} { l l } { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) \right) \Phi ( Z ) + \sigma ( \mathbf { x } ) \phi ( Z ) } & { \text { if } \sigma ( \mathbf { x } ) > 0 } \\ { 0 } & { \text { if } \sigma ( \mathbf { x } ) = 0 } \end{array} \right.\]

其中$Z = \frac { \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) } { \sigma ( \mathbf { x } ) }$,並且$\phi ( \cdot )$為標准正態分布的概率分布函數(pdf),$\Phi ( \cdot )$為標准正態分布的分布函數(cdf)。

EI算法同樣可以加入探索-利用的權衡標量$\xi$,滿足$\xi \geq 0$,此時有

\[\operatorname { EI } ( \mathbf { x } ) = \left\{ \begin{array} { l l } { \left( \mu ( \mathbf { x } ) - f \left( \mathbf { x } ^ { + } \right) - \xi \right) \Phi ( Z ) + \sigma ( \mathbf { x } ) \phi ( Z ) } & { \text { if } \sigma ( \mathbf { x } ) > 0 } \\ { 0 } & { \text { if } \sigma ( \mathbf { x } ) = 0 } \end{array} \right.\]

GP Upper Confidence Bound(GP-UCB)

Upper Confidence Bound是Condidence bound criteria的一種,同樣的還可以將准則設置為Lower Confidence Bound,這兩個准則的效果是一樣的,形式分別為:

Lower Confidence Bound:\[\mathrm { LCB } ( \mathbf { x } ) = \mu ( \mathbf { x } ) - \kappa \sigma ( x )\]

Upper Confidence Bound:\[\mathrm { UCB } ( \mathbf { x } ) = \mu ( \mathbf { x } ) + \kappa \sigma ( x )\]

其中$\kappa \geq 0$一種選取$\kappa$的方法來自於Srinivas(2010),采用后悔值進行計算,建議采用$\kappa _ { t } = \sqrt { \nu \tau _ { t } }$,

其中超參數$\nu > 0$,這樣則有$\mathrm { UCB } ( \mathrm { x } ) = \mu ( \mathrm { x } ) + \sqrt { \nu \tau _ { t } } \sigma ( \mathrm { x } )$

記$x_*$為全局最優解,在$\nu = 1,\tau _ { t } = 2 \log \left( t ^ { d / 2 + 2 } \pi ^ { 2 } / 3 \delta \right)$時,可以證明當協方差函數(核函數)相當平滑時有

\[\lim _ { T \rightarrow \infty } R _ { T } / T = 0\]

其中,$R _ { T } = \sum _ { t = 1 } ^ { T } f \left( \mathbf { x } ^ { \star } \right) - f \left( \mathbf { x } _ { t } \right)$為后悔值的累計值。

 

上圖給出了上述三種方法的求解示例,不同顏色的線代表不同超參數下貝葉斯框架估計出的AC函數值,陰影部分則表示估計出的方差大小,PI方法趨向於選擇概率上最大可能改進現有最好情況的點,EI方法則尋找的是帶來改善效果期望值最大的點,GP-UCB則是將均值加方差作為目標函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM