贝叶斯优化详解

关于参数搜索

参数搜索是一个开放的问题,假设我们拥有一个函数 f ( x ; θ ) f(x;\theta) f(x;θ),该函数的性质完全由参数 θ \theta θ决定,那么,我们就可以通过对参数进行搜索,得到一个满足我们要求的函数。

这里我所说的满足要求,可以是拟合的误差小于某个阈值,亦可以是其他

当选取一个参数 θ c \theta_c θc之后(这里下标c表示候选,candidate),我们会对这个函数进行一个评价,这里的评价是指,评价这个函数是不是符合我们的要求。

一般来说,这个评价,或者说成评估的过程,往往是代价比较大的,即,计算耗费的时间比较多,不能立即得到结果。所以,在进行参数搜索的时候,我们更希望用一个高效的方法来进行尝试。

在这里,你可能会想到随机梯度下降(Stochastic Gradient Descent),直接求出参数的偏导数即可。但是,我这里所说的参数,有时候不是十分直接地参与函数的计算,计算偏导数可能十分困难,比如神经网络的学习率,每一层神经元的个数等。

对于参数搜索,比较朴素的有,随机搜索以及网格搜索。随机搜索主要是基于一个概率,随机地进行参数的变动。而网格搜索是给定一系列需要尝试的离散值的组合,挨个尝试。

本文介绍的贝叶斯优化,属于一种参数搜索方案,利用先验的知识,帮助我们去对参数进行搜索。

本文的细节比较多,会将其中的推导的详细步骤都展示出来

贝叶斯优化

参数搜索问题的核心在于,如何基于已有的观察,决定下一个需要尝试的参数?

假设我们现在有一个评价函数 g ( x ) g(x) g(x),通过前 t t t次的尝试,我们获得了一系列点 { ( x 1 , g ( x 1 ) ) , ( x 2 , g ( x 2 ) ) , . . . , ( x t , g ( x t ) ) } \{(x_1,g(x_1)),(x_2,g(x_2)),...,(x_t,g(x_t))\} {(x1,g(x1)),(x2,g(x2)),...,(xt,g(xt))},其中 x i = ( x i , 1 , x i , 2 , . . . , x i , n ) ∈ R n x_{i} = (x_{i,1},x_{i,2}, ..., x_{i,n}) \in \mathbb{R}^n xi=(xi,1,xi,2,...,xi,n)Rn

我们的目标是得到一个参数 x ∗ = arg max ⁡ x g ( x ) x^* = \argmax_{x}g(x) x=xargmaxg(x),这里不局限于最大,也可以是最小值,取决于你的评价的设计。

在贝叶斯优化之中,有一个重要的假设:
x ∼ N ( μ x , σ x ) , g ( x ) ∼ N ( μ g , σ g ) x \sim \mathcal{N}(\mu_x, \sigma_x), g(x) \sim \mathcal{N}(\mu_g, \sigma_g) xN(μx,σx),g(x)N(μg,σg)

基于这个假设,在已有的 t t t个观察点上,我们可以构造出一个针对 g ( x ) g(x) g(x)的高斯分布,参数为
μ 1 : t = 1 t ∑ i = 1 t g ( x i ) , Σ 1 : t = ( k ( x 1 , x 1 ) . . . k ( x 1 , x t ) k ( x 2 , x 1 ) . . . k ( x 2 , x n ) ⋮ ⋱ ⋮ k ( x t , x 1 ) ⋯ k ( x t , x t ) ) \mu_{1:t}=\frac{1}{t}\sum_{i=1}^{t}g(x_i) , \Sigma_{1:t}=\begin{pmatrix}&k(x_1,x_1) &... &k(x_1,x_t)\\ &k(x_2,x_1) &... &k(x_2,x_n)\\&\vdots &\ddots &\vdots\\ &k(x_t,x_1) &\cdots &k(x_t,x_t)\end{pmatrix} μ1:t=t1i=1tg(xi),Σ1:t=k(x1,x1)k(x2,x1)k(xt,x1)......k(x1,xt)k(x2,xn)k(xt,xt)

我们用下标 1 : t 1:t 1:t表示在从 1 1 1 t t t的观察点上的

其中 k ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ p k(x_i,x_j) = ||x_i-x_j||_p k(xi,xj)=xixjp表示 x i x_i xi x j x_j xj通过核函数(kernel function)的内积,用来描述二者相似程度。这样的一个核函数矩阵可以作为协方差矩阵。

范数p可以取1,2等等

于是,关于 g ( x 1 : t ) g(x_{1:t}) g(x1:t)的概率密度函数为 f 1 : t ( x ) = 1 ( 2 π ) t / 2 ( det ⁡ ( Σ 1 : t ) ) 1 / 2 exp ⁡ ( − 1 2 ( x − μ 1 : t ) Σ 1 : t − 1 ( x − μ 1 : t ) T ) f_{1:t}(x) = \frac{1}{(2\pi)^{t/2}(\det(\Sigma_{1:t}))^{1/2}}\exp(-\frac{1}{2}(x-\mu_{1:t})\Sigma^{-1}_{1:t}(x-\mu_{1:t})^T) f1:t(x)=(2π)t/2(det(Σ1:t))1/21exp(21(xμ1:t)Σ1:t1(xμ1:t)T)

不妨假设,下一个尝试的点为 x t + 1 x_{t+1} xt+1, x 1 : t + 1 x_{1:t+1} x1:t+1亦是服从正态分布 N ( μ t + 1 , Σ t + 1 ) \mathcal{N}(\mu_{t+1},\Sigma_{t+1}) N(μt+1,Σt+1),于是, x 1 : t x_{1:t} x1:t x t + 1 x_{t+1} xt+1的联合分布的参数应该为:
μ 1 : t + 1 = ( μ 1 : t μ t + 1 ) , Σ 1 : t + 1 = ( Σ 1 : t Σ Σ T Σ t + 1 ) \mu_{1:t+1} = \begin{pmatrix} \mu_{1:t}\\ \mu_{t+1} \end{pmatrix}, \Sigma_{1:t+1} = \begin{pmatrix} \Sigma_{1:t} &\Sigma \\ \Sigma^T&\Sigma_{t+1} \end{pmatrix} μ1:t+1=(μ1:tμt+1),Σ1:t+1=(Σ1:tΣTΣΣt+1)

其中 Σ = [ k ( x 1 , x t + 1 ) , k ( x 2 , x t + 1 ) , . . . , k ( x t , x t + 1 ) ] T \Sigma=[k(x_1, x_{t+1}), k(x_2, x_{t+1}), ... , k(x_t,x_{t+1})]^T Σ=[k(x1,xt+1),k(x2,xt+1),...,k(xt,xt+1)]T以及 Σ t + 1 = k ( x t + 1 , x t + 1 ) \Sigma_{t+1} = k(x_{t+1}, x_{t+1}) Σt+1=k(xt+1,xt+1)

我们的目的其实是去在 x 1 : t x_{1:t} x1:t的条件下估计 g ( x t + 1 ) g(x_{t+1}) g(xt+1)

g ( x t + 1 ) g(x_{t+1}) g(xt+1)的概率密度函数为
f t + 1 ( x ) = 1 ( 2 π ) 1 / 2 ( d e t ( Σ t + 1 ) ) 1 / 2 exp ⁡ ( − 1 2 ( x − μ t + 1 ) Σ t + 1 − 1 ( x − μ t + 1 ) T ) f_{t+1}(x)=\frac{1}{(2\pi)^{1/2}(det(\Sigma_{t+1}))^{1/2}}\exp(-\frac{1}{2}(x-\mu_{t+1})\Sigma^{-1}_{t+1}(x-\mu_{t+1})^T) ft+1(x)=(2π)1/2(det(Σt+1))1/21exp(21(xμt+1)Σt+11(xμt+1)T)

g ( x 1 : t ) g(x_{1:t}) g(x1:t) g ( x t + 1 ) g(x_{t+1}) g(xt+1)的联合概率密度函数为
f 1 : t , t + 1 ( x ) = 1 ( 2 π ) ( t + 1 ) / 2 ( d e t ( Σ 1 : t + 1 ) ) 1 / 2 exp ⁡ ( − 1 2 ( x − μ 1 : t + 1 ) Σ 1 : t + 1 − 1 ( x − μ 1 : t + 1 ) T ) f_{1:t, t+1}(x)=\frac{1}{(2\pi)^{(t+1)/2}(det(\Sigma_{1:t+1}))^{1/2}}\exp(-\frac{1}{2}(x-\mu_{1:t+1})\Sigma^{-1}_{1:t+1}(x-\mu_{1:t+1})^T) f1:t,t+1(x)=(2π)(t+1)/2(det(Σ1:t+1))1/21exp(21(xμ1:t+1)Σ1:t+11(xμ1:t+1)T)

进一步地,我们可以得到一个条件概率密度函数
f t + 1 ∣ 1 : t ( x ) = f 1 : t , t + 1 ( x ) f 1 : t ( x ) f_{t+1|1:t}(x) = \frac{f_{1:t,t+1}(x)}{f_{1:t}(x)} ft+11:t(x)=f1:t(x)f1:t,t+1(x)

我们将结果分成两个部分:系数部分和指数部分

系数部分有:
( 2 π ) t / 2 ( det ⁡ ( Σ 1 : t ) ) 1 / 2 ( 2 π ) ( t + 1 ) / 2 ( det ⁡ ( Σ 1 : t + 1 ) ) 1 / 2 = 1 ( 2 π ) 1 / 2 ( det ⁡ ( Σ 1 : t + 1 ) / det ⁡ ( Σ 1 : t ) ) 1 / 2 \frac{(2\pi)^{t/2}(\det(\Sigma_{1:t}))^{1/2}}{(2\pi)^{(t+1)/2}(\det(\Sigma_{1:t+1}))^{1/2}} = \frac{1}{(2\pi)^{1/2}(\det(\Sigma_{1:t+1})/\det(\Sigma_{1:t}))^{1/2}} (2π)(t+1)/2(det(Σ1:t+1))1/2(2π)t/2(det(Σ1:t))1/2=(2π)1/2(det(Σ1:t+1)/det(Σ1:t))1/21

注意到分块矩阵的一个性质: det ⁡ ( Σ 1 : t + 1 ) = det ⁡ ( Σ 1 : t ) det ⁡ ( Σ t + 1 − Σ T Σ 1 : t − 1 Σ ) \det(\Sigma_{1:t+1}) = \det(\Sigma_{1:t})\det(\Sigma_{t+1} - \Sigma^T\Sigma_{1:t}^{-1}\Sigma) det(Σ1:t+1)=det(Σ1:t)det(Σt+1ΣTΣ1:t1Σ)

( A B C D ) ( I − A − 1 B 0 I ) = ( A 0 C D − C A − 1 B ) \begin{pmatrix} A&B\\C&D \end{pmatrix}\begin{pmatrix} I&-A^{-1}B\\0&I \end{pmatrix} = \begin{pmatrix} A&0 \\ C&D-CA^{-1}B \end{pmatrix} (ACBD)(I0A1BI)=(AC0DCA1B) 两边取行列式得到 ∣ A B C D ∣ = ∣ A ∣ ∣ D − C A − 1 B ∣ \begin{vmatrix} A&B\\C&D \end{vmatrix} = |A| |D-CA^{-1}B| ACBD=ADCA1B

从而系数部分结果为:
1 ( 2 π ) 1 / 2 ( det ⁡ ( Σ t + 1 − Σ T Σ 1 : t − 1 Σ ) ) 1 / 2 \frac{1}{(2\pi)^{1/2}(\det(\Sigma_{t+1} - \Sigma^T\Sigma_{1:t}^{-1}\Sigma))^{1/2}} (2π)1/2(det(Σt+1ΣTΣ1:t1Σ))1/21

从这个结果可以看出来方差为 Σ t + 1 ∣ 1 : t = Σ t + 1 − Σ T Σ 1 : t − 1 Σ \Sigma_{t+1|1:t} = \Sigma_{t+1} - \Sigma^T\Sigma_{1:t}^{-1}\Sigma Σt+11:t=Σt+1ΣTΣ1:t1Σ

对于指数部分
E = exp ⁡ ( − 1 2 ( ( x − μ 1 : t + 1 ) Σ 1 : t + 1 − 1 ( x − μ 1 : t + 1 ) T − ( x − μ 1 : t ) Σ 1 : t − 1 ( x − μ 1 : t ) T ) ) E = \exp\Big(-\frac{1}{2}\big((x-\mu_{1:t+1})\Sigma^{-1}_{1:t+1}(x-\mu_{1:t+1})^T - (x-\mu_{1:t})\Sigma^{-1}_{1:t}(x-\mu_{1:t})^T\big)\Big) E=exp(21((xμ1:t+1)Σ1:t+11(xμ1:t+1)T(xμ1:t)Σ1:t1(xμ1:t)T))

为了记录方便,我们这里使用一些记号: x − μ 1 : t = x ^ 1 : t , x − μ t + 1 = x ^ t + 1 x - \mu_{1:t} = \hat{x}_{1:t}, x - \mu_{t+1} = \hat{x}_{t+1} xμ1:t=x^1:t,xμt+1=x^t+1

从而
x − μ 1 : t + 1 = ( x ^ 1 : t x ^ t + 1 ) x-\mu_{1:t+1} = \begin{pmatrix} \hat{x}_{1:t} & \hat{x}_{t+1} \end{pmatrix} xμ1:t+1=(x^1:tx^t+1)

这里需要用到分块矩阵的逆
( A B C D ) − 1 = ( H − H B D − 1 − D − 1 C H D − 1 ( I + C H B D − 1 ) ) \begin{pmatrix} A&B\\C&D \end{pmatrix}^{-1} = \begin{pmatrix} H &-HBD^{-1}\\-D^{-1}CH&D^{-1}(I+CHBD^{-1}) \end{pmatrix} (ACBD)1=(HD1CHHBD1D1(I+CHBD1)) 其中 H = ( A − B D − 1 C ) − 1 H = (A-BD^{-1}C)^{-1} H=(ABD1C)1

分块矩阵的逆怎么来的?
若存在一个逆矩阵,不妨记作 ( E F G H ) \begin{pmatrix} E&F\\G&H \end{pmatrix} (EGFH)
由于 ( A B C D ) ( E F G H ) = ( I 0 0 I ) \begin{pmatrix} A&B\\C&D \end{pmatrix}\begin{pmatrix} E&F\\G&H \end{pmatrix} =\begin{pmatrix} I&0\\0&I \end{pmatrix} (ACBD)(EGFH)=(I00I)
便有方程组 A E + B G = I A F + B H = 0 C E + D G = 0 C F + D H = I \begin{matrix}AE+BG=I \\AF+BH=0\\CE+DG=0\\CF+DH=I\end{matrix} AE+BG=IAF+BH=0CE+DG=0CF+DH=I
( A E + B G ) − B D − 1 ( C E + D G ) = I = A E − B D − 1 C E = ( A − B D − 1 C ) E (AE+BG) - BD^{-1}(CE+DG) = I = AE - BD^{-1}CE = (A-BD^{-1}C)E (AE+BG)BD1(CE+DG)=I=AEBD1CE=(ABD1C)E
进而 E = A − B D − 1 C E = A-BD^{-1}C E=ABD1C,类似地可以得到其他值

基于分块矩阵的逆,对于 Σ 1 : t + 1 \Sigma_{1:t+1} Σ1:t+1,我们可以得到
Σ 1 : t + 1 − 1 = ( H − H Σ Σ t + 1 − 1 − Σ t + 1 − 1 Σ T H Σ t + 1 − 1 ( I + Σ H Σ T Σ t + 1 − 1 ) ) \Sigma^{-1}_{1:t+1} = \begin{pmatrix} H &-H\Sigma \Sigma_{t+1}^{-1}\\-\Sigma_{t+1}^{-1}\Sigma^TH&\Sigma_{t+1}^{-1}(I+\Sigma H\Sigma^T\Sigma_{t+1}^{-1}) \end{pmatrix} Σ1:t+11=(HΣt+11ΣTHHΣΣt+11Σt+11(I+ΣHΣTΣt+11))
其中 H = ( Σ 1 : t − Σ T Σ t + 1 − 1 Σ ) − 1 H = (\Sigma_{1:t}-\Sigma^T\Sigma_{t+1}^{-1}\Sigma)^{-1} H=(Σ1:tΣTΣt+11Σ)1

对称地,可以得到
Σ 1 : t + 1 − 1 = ( Σ 1 : t − 1 ( I + Σ T H Σ Σ 1 : t − 1 ) − Σ 1 : t − 1 Σ T H − H Σ Σ 1 : t − 1 H ) \Sigma^{-1}_{1:t+1} = \begin{pmatrix} \Sigma^{-1}_{1:t}(I+\Sigma^TH\Sigma\Sigma^{-1}_{1:t}) &-\Sigma_{1:t}^{-1}\Sigma^TH\\-H\Sigma\Sigma_{1:t}^{-1}&H \end{pmatrix} Σ1:t+11=(Σ1:t1(I+ΣTHΣΣ1:t1)HΣΣ1:t1Σ1:t1ΣTHH)
其中 H = ( Σ t + 1 − Σ Σ 1 : t − 1 Σ T ) − 1 H = (\Sigma_{t+1} - \Sigma\Sigma_{1:t}^{-1}\Sigma^T)^{-1} H=(Σt+1ΣΣ1:t1ΣT)1

将指数部分拆解合并得到
E = exp ⁡ ( − 1 2 ( x ^ 1 : t ( Σ 1 : t − 1 ( Σ T H Σ Σ 1 : t − 1 ) ) x ^ 1 : t T + x ^ t + 1 ( − H Σ Σ 1 : t − 1 ) x ^ 1 : t T + x ^ 1 : t ( − Σ 1 : t − 1 Σ T H ) x ^ t + 1 T + x ^ t + 1 H x ^ t + 1 T ) ) E = \exp\Big(-\frac{1}{2}(\hat{x}_{1:t}( \Sigma^{-1}_{1:t}(\Sigma^TH\Sigma\Sigma^{-1}_{1:t}))\hat{x}_{1:t}^T + \hat{x}_{t+1}(-H\Sigma\Sigma^{-1}_{1:t})\hat{x}_{1:t}^T \\+ \hat{x}_{1:t}(-\Sigma_{1:t}^{-1}\Sigma^TH)\hat{x}_{t+1}^T + \hat{x}_{t+1}H\hat{x}_{t+1}^T)\Big) E=exp(21(x^1:t(Σ1:t1(ΣTHΣΣ1:t1))x^1:tT+x^t+1(HΣΣ1:t1)x^1:tT+x^1:t(Σ1:t1ΣTH)x^t+1T+x^t+1Hx^t+1T))

利用之前我们得到的方差 Σ t + 1 ∣ 1 : t = Σ t + 1 − Σ T Σ 1 : t − 1 Σ \Sigma_{t+1|1:t} = \Sigma_{t+1} - \Sigma^T\Sigma_{1:t}^{-1}\Sigma Σt+11:t=Σt+1ΣTΣ1:t1Σ

猜测均值为 μ ∗ \mu^* μ,有 ( x ^ t + 1 − μ ∗ ) Σ t + 1 ∣ 1 : t − 1 ( x ^ t + 1 − μ ∗ ) T (\hat{x}_{t+1}-\mu^*)\Sigma^{-1}_{t+1|1:t}(\hat{x}_{t+1}-\mu^*)^T (x^t+1μ)Σt+11:t1(x^t+1μ)T

展开之后对齐系数项可以得到
μ ∗ = x ^ 1 : t Σ 1 : t − 1 Σ T \mu^* = \hat{x}_{1:t}\Sigma^{-1}_{1:t}\Sigma^T μ=x^1:tΣ1:t1ΣT

可以得到最终的均值估计为
μ t + 1 ∣ 1 : t = μ t + 1 + x ^ 1 : t Σ 1 : t − 1 Σ T \mu_{t+1|1:t} = \mu_{t+1} + \hat{x}_{1:t}\Sigma^{-1}_{1:t}\Sigma^T μt+11:t=μt+1+x^1:tΣ1:t1ΣT

我们便得到了两个重要的参数估计
Σ t + 1 ∣ 1 : t = Σ t + 1 − Σ T Σ 1 : t − 1 Σ μ t + 1 ∣ 1 : t = μ t + 1 + x ^ 1 : t Σ 1 : t − 1 Σ T \Sigma_{t+1|1:t} = \Sigma_{t+1} - \Sigma^T\Sigma_{1:t}^{-1}\Sigma\\\mu_{t+1|1:t} = \mu_{t+1} + \hat{x}_{1:t}\Sigma^{-1}_{1:t}\Sigma^T Σt+11:t=Σt+1ΣTΣ1:t1Σμt+11:t=μt+1+x^1:tΣ1:t1ΣT

其中方差 Σ t + 1 ∣ 1 : t \Sigma_{t+1|1:t} Σt+11:t可以通过 x t + 1 x_{t+1} xt+1 x 1 : t x_{1:t} x1:t通过核函数计算得到
均值 μ t + 1 ∣ 1 : t \mu_{t+1|1:t} μt+11:t的估计中的 μ t + 1 \mu_{t+1} μt+1可以使用 μ 1 : t \mu_{1:t} μ1:t近似计算

然后我们可以计算出每个未知点的概率为0.95的置信区间

通常为 [ μ − 1.96 σ n , μ + 1.96 σ n ] [\mu - 1.96\frac{\sigma}{\sqrt{n}} , \mu + 1.96\frac{\sigma}{\sqrt{n}}] [μ1.96n σ,μ+1.96n σ]

到了这里,我们基本上获得了每一个未知点的贝叶斯后验估计,在这之上需要评估到底该选择哪些未知点进行尝试

这里介绍两种,分别是Probability of Improvement以及Expected Improvement
简记为PI方法以及EI方法

对于PI方法来说,我们的目标为
x ∗ = arg max ⁡ x P ( g ( x ) ≥ g ( x + ) ) x^* = \argmax_{x} P(g(x) \geq g(x^+)) x=xargmaxP(g(x)g(x+))
其中 x + = arg max ⁡ x ∈ x 1 : t g ( x ) x^+ = \argmax_{x\in x_{1:t}}g(x) x+=xx1:targmaxg(x)表示着在已有观测值里面,对应评价最高的参数。

P ( X ≤ x ) = ∫ − ∞ x ϕ ( x ) d x P(X\leq x) = \int_{-\infty}^{x}\phi(x)dx P(Xx)=xϕ(x)dx, 其中 ϕ ( x ) \phi(x) ϕ(x)是概率密度函数

我们之前对 g ( x ) g(x) g(x)进行高斯分布的建模,于是,上述的概率可以写成分布函数的形式
P ( g ( x ) ≥ g ( x + ) ) = 1 − P ( g ( x ) ≤ g ( x + ) ) = 1 − ∫ − ∞ g ( x + ) 1 σ ( 2 π ) exp ⁡ ( − 1 2 σ 2 ( x − μ ) 2 ) d x = 1 − Φ ( μ − g ( x + ) σ ) P(g(x)\geq g(x^+)) = 1 - P(g(x)\leq g(x^+))\\=1-\int_{-\infty}^{g(x^+)}\frac{1}{\sigma\sqrt{(2\pi)}}\exp(-\frac{1}{2\sigma^2}(x-\mu)^2)dx\\=1 - \Phi(\frac{\mu-g(x^+)}{\sigma}) P(g(x)g(x+))=1P(g(x)g(x+))=1g(x+)σ(2π) 1exp(2σ21(xμ)2)dx=1Φ(σμg(x+))

Φ ( x ) = 1 2 π ∫ − ∞ x exp ⁡ ( − u 2 2 ) d u \Phi(x) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{x}\exp(-\frac{u^2}{2}) du Φ(x)=2π 1xexp(2u2)du 是标准的正态累积分布函数

在上述式子中,变换到标准的正态累积分布函数的过程并不是很直接,这里给出中间的变换步骤
Φ ( μ − g ( x + ) σ ) = 1 2 π ∫ − ∞ μ − g ( x + ) σ exp ⁡ ( − x 2 2 ) d x \Phi(\frac{\mu - g(x^+)}{\sigma}) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{\frac{\mu-g(x^+)}{\sigma}}\exp(-\frac{x^2}{2})dx Φ(σμg(x+))=2π 1σμg(x+)exp(2x2)dx
x = x σ x = \frac{x}{\sigma} x=σx, 便有
Φ ( μ − g ( x + ) σ ) = 1 2 π ∫ − ∞ μ − g ( x + ) exp ⁡ ( − x 2 2 σ 2 ) d ( x σ ) = 1 σ 2 π ∫ − ∞ μ − g ( x + ) exp ⁡ ( − x 2 2 σ 2 ) d x \Phi(\frac{\mu - g(x^+)}{\sigma})=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^{\mu-g(x^+)}\exp(-\frac{x^2}{2\sigma^2})d(\frac{x}{\sigma})=\frac{1}{\sigma\sqrt{2\pi}}\int_{-\infty}^{\mu-g(x^+)}\exp(-\frac{x^2}{2\sigma^2})dx Φ(σμg(x+))=2π 1μg(x+)exp(2σ2x2)d(σx)=σ2π 1μg(x+)exp(2σ2x2)dx
再令 x = x − μ x = x - \mu x=xμ,便有
Φ ( μ − g ( x + ) σ ) = 1 σ 2 π ∫ − ∞ g ( x + ) exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) d ( x − μ ) = 1 σ 2 π ∫ − ∞ g ( x + ) exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) d x \Phi(\frac{\mu - g(x^+)}{\sigma})=\frac{1}{\sigma\sqrt{2\pi}}\int_{-\infty}^{g(x^+)}\exp(-\frac{(x-\mu)^2}{2\sigma^2})d(x-\mu) = \frac{1}{\sigma\sqrt{2\pi}}\int_{-\infty}^{g(x^+)}\exp(-\frac{(x-\mu)^2}{2\sigma^2})dx Φ(σμg(x+))=σ2π 1g(x+)exp(2σ2(xμ)2)d(xμ)=σ2π 1g(x+)exp(2σ2(xμ)2)dx

我们会去计算所有未知的待搜索点的这个概率,进而选择一个最高概率的值进行探索。

PI方法被认为搜索的范围较为小,只去搜索局部的区域,因此有了搜索区域更广的EI方法

首先定义一个获益函数
I ( x ) = max ⁡ { 0 , g ( x ) − g ( x + ) } I(x) = \max\{0, g(x) - g(x^+)\} I(x)=max{0,g(x)g(x+)}
代表着新尝试的值对于已有的最佳值的提升,注意到该函数的值服从正态分布,其概率密度函数为
1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) \frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2}) σ2π 1exp(2σ2(I(x)(μg(x+)))2)

我们去计算这个函数的期望

E ( I ( x ) ) = ∫ 0 + ∞ I ( x ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) = ∫ 0 + ∞ ( I ( x ) − μ + g ( x + ) + μ − g ( x + ) ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) = ∫ 0 + ∞ ( I ( x ) − μ + g ( x + ) ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) + ∫ 0 + ∞ ( μ − g ( x + ) ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) \mathbb{E}(I(x)) = \int_{0}^{+\infty}I(x)\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x)) \\= \int_{0}^{+\infty}(I(x)-\mu+g(x^+) + \mu -g(x^+))\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\\=\int_{0}^{+\infty}(I(x)-\mu+g(x^+))\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\\ + \int_{0}^{+\infty}(\mu -g(x^+))\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x)) E(I(x))=0+I(x)σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))=0+(I(x)μ+g(x+)+μg(x+))σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))=0+(I(x)μ+g(x+))σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))+0+(μg(x+))σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))

我们分为两个部分进行解析,首先是第一个部分
∫ 0 + ∞ ( I ( x ) − μ + g ( x + ) ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) = ∫ − μ + g ( x + ) + ∞ u 1 σ 2 π exp ⁡ ( − u 2 2 σ 2 ) d u = 1 σ 2 π ∫ − μ + g ( x + ) + ∞ u exp ⁡ ( − u 2 2 σ 2 ) d u = 1 σ 2 π ∫ ( − μ + g ( x + ) ) 2 + ∞ 1 2 exp ⁡ ( − u 2 2 σ 2 ) d u 2 = 1 2 σ 2 π ∫ ( − μ + g ( x + ) ) 2 + ∞ exp ⁡ ( − t 2 σ 2 ) d t = 1 2 σ 2 π [ − 2 σ 2 exp ⁡ ( − t 2 σ 2 ) ] ( − μ + g ( x + ) ) 2 + ∞ = 1 2 σ 2 π ( 0 − ( − 2 σ 2 exp ⁡ ( − ( − μ + g ( x + ) ) 2 2 σ 2 ) ) ) = σ 2 π exp ⁡ ( ( − μ + g ( x + ) ) 2 2 σ 2 ) = σ φ ( μ − g ( x + ) σ ) \int_{0}^{+\infty}(I(x)-\mu+g(x^+))\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\\=\int_{-\mu+g(x^+)}^{+\infty}u\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{u^2}{2\sigma^2})du\\=\frac{1}{\sigma\sqrt{2\pi}}\int_{-\mu+g(x^+)}^{+\infty}u\exp(-\frac{u^2}{2\sigma^2})du\\=\frac{1}{\sigma\sqrt{2\pi}}\int_{(-\mu+g(x^+))^2}^{+\infty}\frac{1}{2}\exp(-\frac{u^2}{2\sigma^2})du^2\\=\frac{1}{2\sigma\sqrt{2\pi}}\int_{(-\mu+g(x^+))^2}^{+\infty}\exp(-\frac{t}{2\sigma^2})dt\\=\frac{1}{2\sigma\sqrt{2\pi}}[-2\sigma^2\exp(-\frac{t}{2\sigma^2})]_{(-\mu+g(x^+))^2}^{+\infty}\\=\frac{1}{2\sigma\sqrt{2\pi}}(0-(-2\sigma^2\exp(-\frac{(-\mu+g(x^+))^2}{2\sigma^2})))\\=\frac{\sigma}{\sqrt{2\pi}}\exp(\frac{(-\mu+g(x^+))^2}{2\sigma^2})\\=\sigma\varphi(\frac{\mu-g(x^+)}{\sigma}) 0+(I(x)μ+g(x+))σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))=μ+g(x+)+uσ2π 1exp(2σ2u2)du=σ2π 1μ+g(x+)+uexp(2σ2u2)du=σ2π 1(μ+g(x+))2+21exp(2σ2u2)du2=2σ2π 1(μ+g(x+))2+exp(2σ2t)dt=2σ2π 1[2σ2exp(2σ2t)](μ+g(x+))2+=2σ2π 1(0(2σ2exp(2σ2(μ+g(x+))2)))=2π σexp(2σ2(μ+g(x+))2)=σφ(σμg(x+))

其中 φ ( x ) = 1 2 π exp ⁡ ( − x 2 2 ) \varphi(x) = \frac{1}{\sqrt{2\pi}}\exp(-\frac{x^2}{2}) φ(x)=2π 1exp(2x2)是标准正态分布的概率密度函数

第二个部分为
∫ 0 + ∞ ( μ − g ( x + ) ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) = ( μ − g ( x + ) ) ∫ 0 + ∞ 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) = ( μ − g ( x + ) ) ( 1 − ∫ − ∞ 0 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) ) \int_{0}^{+\infty}(\mu -g(x^+))\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\\=(\mu-g(x^+))\int_{0}^{+\infty}\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\\=(\mu-g(x^+))\Big(1 - \int_{-\infty}^{0}\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\Big) 0+(μg(x+))σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))=(μg(x+))0+σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x))=(μg(x+))(10σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x)))
I ( x ) = I ( x ) + g ( x + ) I(x) = I(x) + g(x^+) I(x)=I(x)+g(x+), 则有
( μ − g ( x + ) ) ( 1 − ∫ − ∞ 0 1 σ 2 π exp ⁡ ( − ( I ( x ) − ( μ − g ( x + ) ) ) 2 2 σ 2 ) d ( I ( x ) ) ) = ( μ − g ( x + ) ) ( 1 − ∫ − ∞ g ( x + ) 1 σ 2 π exp ⁡ ( − ( I ( x ) − μ ) 2 2 σ 2 ) d ( I ( x ) ) ) = ( μ − g ( x + ) ) ( 1 − Φ ( μ − g ( x + ) σ ) ) (\mu-g(x^+))\Big(1 - \int_{-\infty}^{0}\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-(\mu-g(x^+)))^2}{2\sigma^2})d(I(x))\Big)\\=(\mu-g(x^+))\Big(1 - \int_{-\infty}^{g(x^+)}\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(I(x)-\mu)^2}{2\sigma^2})d(I(x))\Big)\\=(\mu-g(x^+))\Big(1 - \Phi(\frac{\mu-g(x^+)}{\sigma})\Big) (μg(x+))(10σ2π 1exp(2σ2(I(x)(μg(x+)))2)d(I(x)))=(μg(x+))(1g(x+)σ2π 1exp(2σ2(I(x)μ)2)d(I(x)))=(μg(x+))(1Φ(σμg(x+)))

所以期望的结果为
E ( I ( x ) ) = ( μ − g ( x + ) ) ( 1 − Φ ( μ − g ( x + ) σ ) ) + σ φ ( μ − g ( x + ) σ ) \mathbb{E}(I(x)) = (\mu-g(x^+))\Big(1 - \Phi(\frac{\mu-g(x^+)}{\sigma})\Big) + \sigma\varphi(\frac{\mu-g(x^+)}{\sigma}) E(I(x))=(μg(x+))(1Φ(σμg(x+)))+σφ(σμg(x+))

同样的,我们会对所有未知点计算出期望,然后选择期望最高的未知点进行探索。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值