Lam R, Willcox K, Wolpert D H, et al. Bayesian Optimization with a Finite Budget: An Approximate Dynamic Programming Approach[C]. neural information processing systems, 2016: 883-891.
@article{lam2016bayesian,
title={Bayesian Optimization with a Finite Budget: An Approximate Dynamic Programming Approach},
author={Lam, Remi and Willcox, Karen and Wolpert, David H},
pages={883–891},
year={2016}}
概
貝葉斯優化中的多步優化策略. 像經典的EI方法, 就是隻考慮一步, 即希望找到
r ( S k , x k + 1 , f k + 1 ) = max { 0 , f m i n S k − f k + 1 }
r(\mathcal{S}_k, x_{k+1},f_{k+1})=\max \{0, f_{min}^{\mathcal{S}_k}-f_{k+1}\}
r ( S k , x k + 1 , f k + 1 ) = max { 0 , f m i n S k − f k + 1 }
的期望收益最大化的點x k + 1 x_{k+1} x k + 1 爲下一個評估點.
上式中的f m i n S k f_{min}^{\mathcal{S}_k} f m i n S k 是指目標函數在集合S k \mathcal{S}_k S k 上的最小值.
主要內容
考慮如下動態規劃, 第k步的
狀態: S k \mathcal{S}_k S k , 即觀測到的點;
控制: u k u_k u k , 且u k ( S k ) = x k + 1 u_k(\mathcal{S}_k)=x_{k+1} u k ( S k ) = x k + 1
擾動: w k : = f k + 1 ∼ p ( f ( x k + 1 ) ∣ S k ) w_k:=f_{k+1} \sim p(f(x_{k+1})|\mathcal{S}_k) w k : = f k + 1 ∼ p ( f ( x k + 1 ) ∣ S k ) ;
設狀態轉移爲:
S k + 1 = F k ( S k , x k + 1 , f k + 1 ) = S k ∪ { ( x k + 1 , f k + 1 ) } .
\mathcal{S}_{k+1} = \mathcal{F}_k (\mathcal{S}_{k}, x_{k+1}, f_{k+1}) = \mathcal{S}_{k}\cup \{(x_{k+1}, f_{k+1})\}.
S k + 1 = F k ( S k , x k + 1 , f k + 1 ) = S k ∪ { ( x k + 1 , f k + 1 ) } .
收益(效用函數):
U k ( x k + 1 ; S k ) = E w k [ r k ( S k , x k + 1 , f k + 1 ) + J k + 1 ( F k ( S k , x k + 1 , f k + 1 ) ) ] , J k ( x k + 1 ) = max x k + 1 U k , J N = r N ( x N + 1 ) .
U_k(x_{k+1}; \mathcal{S} _k) = \mathbb{E}_{w_k}[r_k(\mathcal{S}_k, x_{k+1}, f_{k+1})+J_{k+1}(\mathcal{F}_k (\mathcal{S}_{k}, x_{k+1}, f_{k+1}))], \\
J_k(x_{k+1}) = \max_{x_{k+1}} U_k,\\
J_N=r_N(x_{N+1}).
U k ( x k + 1 ; S k ) = E w k [ r k ( S k , x k + 1 , f k + 1 ) + J k + 1 ( F k ( S k , x k + 1 , f k + 1 ) ) ] , J k ( x k + 1 ) = x k + 1 max U k , J N = r N ( x N + 1 ) .
很自然的想法是, 我們最大化U 1 U_1 U 1 , 來獲得所需的評估點, 但是問題是, 這個是一個嵌套的最大化優化問題, 不易求解.
本文采用rollout 算法來估計U k U_k U k , 具體如下:
給定基本的決策控制π = ( π 1 , … , π N ) \pi = (\pi_1, \ldots, \pi_N) π = ( π 1 , … , π N ) (比如最大化EI), 爲了最優化U k U_k U k , 我們先選擇用H k + 1 H_{k+1} H k + 1 估計J k + 1 J_{k+1} J k + 1 , 其定義如下:
其中n ∈ { k + 1 , … , N − 1 } n \in \{k+1, \ldots, N-1\} n ∈ { k + 1 , … , N − 1 } , γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ ∈ [ 0 , 1 ] 用以調節增量.
H n H_n H n 是一個期望, 可以用Gauss-Hermite正交化估計:
其中N ~ = min { k + h , N } \tilde{N} = \min \{k+h, N\} N ~ = min { k + h , N } , 用以限制最大的估計步數, α ( q ) \alpha^{(q)} α ( q ) 是正交係數, f n + 1 ( q ) f_{n+1}^{(q)} f n + 1 ( q ) 是Hermite多項式的根(大概).
於是, U k ( x k + 1 , S k ) U_k(x_{k+1},\mathcal{S}_k) U k ( x k + 1 , S k ) 便可用下式估計:
算法如下:
Input: h , γ , N , S 1 h, \gamma, N, \mathcal{S}_1 h , γ , N , S 1 ;
repeat N:
根據(20)近似最大化U k U_k U k
更新S k + 1 = S k ∪ { ( x k + 1 , f k + 1 ) } \mathcal{S}_{k+1}=\mathcal{S}_k \cup \{(x_{k+1},f_{k+1})\} S k + 1 = S k ∪ { ( x k + 1 , f k + 1 ) }
out: f m i n S N + 1 f_{min}^{S_{N+1}} f m i n S N + 1 .