Hennig P, Schuler C J. Entropy search for information-efficient global optimization[J]. Journal of Machine Learning Research, 2012, 13(1): 1809-1837.
@article{hennig2012entropy,
title={Entropy search for information-efficient global optimization},
author={Hennig, Philipp and Schuler, Christian J},
journal={Journal of Machine Learning Research},
volume={13},
number={1},
pages={1809–1837},
year={2012}}
概
貝葉斯優化中的 Entropy Search (EI) 方法.
主要內容
這篇文章關注的是
max x ∈ I f ( x ) ,
\max_{x \in I} \:f(x),
x ∈ I max f ( x ) ,
的問題, 且假設定義域I I I 是有界的.
一般, 通過高斯過程定義f ( x ) f(x) f ( x ) 的概率替代函數, 假設
f ( x ) ∼ N ( u 0 ( x ) , k ( x , x ) ) , y = f ( x ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) .
f(x) \sim \mathcal{N}(u_0(x), k(x,x)),\\
y = f(x) + \epsilon, \: \epsilon \sim \mathcal{N}(0, \sigma^2).
f ( x ) ∼ N ( u 0 ( x ) , k ( x , x ) ) , y = f ( x ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) .
在已經觀測到X = { x 1 , … , x T } X = \{x_1, \ldots, x_T\} X = { x 1 , … , x T } 以及Y = { y 1 , … , y T } Y = \{y_1, \ldots, y_T\} Y = { y 1 , … , y T } 的基礎上, 我們可以求得f ( x ∗ ) f(x^*) f ( x ∗ ) 的後驗分佈爲以
μ ( x ∗ ) = μ 0 ( x ∗ ) + k ( x ∗ , X ) T [ k ( X , X ) + σ I ] − 1 ( Y − u 0 ( X ) ) σ ∗ 2 ( x ∗ ) = k ( x ∗ , x ∗ ) − k ( x ∗ , X ) T ( k ( X , X ) + σ I ) − 1 k ( x ∗ , X )
\mu (x^*) = \mu_0(x^*) + k(x^*, X)^T [k(X, X) + \sigma I]^{-1}(Y-u_0(X)) \\
\sigma_*^2(x^*)=k(x^*, x^*) - k(x^*, X)^T (k(X,X)+\sigma I)^{-1}k(x^*,X)
μ ( x ∗ ) = μ 0 ( x ∗ ) + k ( x ∗ , X ) T [ k ( X , X ) + σ I ] − 1 ( Y − u 0 ( X ) ) σ ∗ 2 ( x ∗ ) = k ( x ∗ , x ∗ ) − k ( x ∗ , X ) T ( k ( X , X ) + σ I ) − 1 k ( x ∗ , X )
爲均值和方差的正態分佈.
我們的目的是在已有這些條件的基礎上, 尋找下一個(或多個)評估點.
定義:
p m i n ( x ) = p [ x = arg min f ( x ) ] = ∫ f : I → R p ( f ) ∏ x ~ ∈ I , x ~ ≠ x θ [ f ( x ~ ) − f ( x ) ] d f , (1)
\tag{1}
p_{min}(x) =p[x = \arg \min f(x)] = \int_{ f:I \rightarrow R} p(f) \prod_{\tilde{x} \in I, \tilde{x} \not = x} \theta[f(\tilde{x})-f(x)] \mathrm{d}f,
p m i n ( x ) = p [ x = arg min f ( x ) ] = ∫ f : I → R p ( f ) x ~ ∈ I , x ~ = x ∏ θ [ f ( x ~ ) − f ( x ) ] d f , ( 1 )
其中θ ( x ) = 1 , x ≥ 0 , e l s e 0 \theta(x) = 1, x\ge0, else \: 0 θ ( x ) = 1 , x ≥ 0 , e l s e 0 . ∏ \prod ∏ 的部分在針對連續型的定義域時需要特別的定義. 顯然(1)表示x x x 爲最小值點的概率.
再定義損失函數(當然損失函數不選擇KL散度也是可以的, 但這是EI的名字的由來):
L ( p m i n ) = L K L ( p m i n ) = − ∫ I p m i n ( x ) log p m i n ( x ) b ( x ) d x . (2)
\tag{2}
\mathcal{L}(p_{min}) = \mathcal{L}_{KL}(p_{min})=-\int_Ip_{min}(x) \log \frac{p_{min}(x)}{b(x)} \mathrm{d}x.
L ( p m i n ) = L K L ( p m i n ) = − ∫ I p m i n ( x ) log b ( x ) p m i n ( x ) d x . ( 2 )
當我們選擇b ( x ) b(x) b ( x ) 爲I I I 上的均勻分佈的時候, 當我們最小化L \mathcal{L} L 的時候, p m i n p_{min} p m i n 會趨向Dirac分佈(即某個點處的概率密度爲無窮, 其餘爲0, 顯然, 該點我們有足夠的信心認爲其是f ( x ) f(x) f ( x ) 的最小值點).
但是這樣還不夠, 我們進一步關心其期望損失(最小化):
⟨ L ⟩ x = ∫ p ( y ∣ x ) L ( p m i n ( ⋅ ∣ Y , X , y , x ) ) d y . (3)
\tag{3}
\langle \mathcal{L} \rangle_{x} = \int p(y|x) \mathcal{L}(p_{min} (\cdot|Y, X, y, x)) \mathrm{d}y.
⟨ L ⟩ x = ∫ p ( y ∣ x ) L ( p m i n ( ⋅ ∣ Y , X , y , x ) ) d y . ( 3 )
通過最小化(3),我們可以獲得接下來的評估點.
接下來的問題是如果去估計.
p m i n p_{min} p m i n 的估計
比較麻煩的是∏ \prod ∏ 的部分, 策略是挑選N N N 個點x ~ = { x ~ 1 , … , x ~ N } \tilde{x} = \{\tilde{x}_1, \ldots, \tilde{x}_N\} x ~ = { x ~ 1 , … , x ~ N } . 一種是簡單粗暴的網格的方式, 但是這種方式往往需要較大的N N N , 另一種是給定一個測度u u u , 根據已有的觀察( X , Y ) (X, Y) ( X , Y ) , 通過u ( X , Y ) u(X, Y) u ( X , Y ) 採樣x ~ \tilde{x} x ~ . 一個好的u u u 應該在使得令損失能夠產生較大變化的區域多采樣點, 針對本文的情況 應該在p m i n p_{min} p m i n 值比較高的地方多采樣點.
文中給了倆種方法, 一種直接的方法是p m i n p_{min} p m i n 可以用蒙特卡洛積分去逼近,
一下是我猜想的用MC積分的方式(文中未給出具體的形式)"
根據一定策略選取x ~ \tilde{x} x ~ ;
重複J次:
根據概率p ( f ) p(f) p ( f ) 採樣f ( x ~ ) , f ( x ) f(\tilde{x}), f(x) f ( x ~ ) , f ( x ) ,
計算∏ \prod ∏ 部分
作者選擇的是 Expectation Propagation (EP)的方法, 這種方法能夠估計出x ~ i , i = 1 , … , N \tilde{x}_i, i=1,\ldots,N x ~ i , i = 1 , … , N 處的概率q m i n ( x i ~ ) q_{min}(\tilde{x_i}) q m i n ( x i ~ ) : f m i n f_{min} f m i n 存在於以x ~ i \tilde{x}_i x ~ i 爲"中心"的一定範圍內(文中用step)的概率. 當N N N 足夠的的時候, 這個step正比於( N u ( x ~ i ) ) − 1 (Nu(\tilde{x}_i))^{-1} ( N u ( x ~ i ) ) − 1 , 則:
p m i n ( x ) ≈ q m i n ( x i ) N u ( x ~ i ) Z u , Z u = ∫ u ( x ) d x , x i = arg min x i ∈ x ~ ∥ x − x i ∥ .
p_{min}(x) \approx \frac{q_{min}(x_i)Nu(\tilde{x}_i)}{Z_u}, \: Z_u=\int u(x) \mathrm{d}x, \: x_i = \arg \min_{x_i \in \tilde{x}} \|x-x_i\|.
p m i n ( x ) ≈ Z u q m i n ( x i ) N u ( x ~ i ) , Z u = ∫ u ( x ) d x , x i = arg x i ∈ x ~ min ∥ x − x i ∥ .
這樣我們就完成了p m i n p_{min} p m i n 的估計, 一個更加好的性質是q m i n q_{min} q m i n 關於μ , σ ∗ \mu, \sigma_* μ , σ ∗ 的導數是有解析表達式的, 且Z u Z_u Z u 是不必計算的(後續最小化過程中可以省略掉).
L K L \mathcal{L}_{KL} L K L 的估計
其中p ^ m i n = q m i n \hat{p}_{min}=q_{min} p ^ m i n = q m i n .
⟨ Δ L ⟩ \langle \Delta \mathcal{L} \rangle ⟨ Δ L ⟩
arg min X ⟨ L ⟩ X \arg \min_X \langle \mathcal{L} \rangle_X arg min X ⟨ L ⟩ X 用最小化一階近似替代, 積分可以用MC積分逼近.
最後給出算法: