关于参数搜索
参数搜索是一个开放的问题,假设我们拥有一个函数 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)
x∼N(μ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=1∑tg(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)=∣∣xi−xj∣∣p表示 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:t−1(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+1−1(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+1−1(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+1∣1: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:t−1Σ)
( 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)(I0−A−1BI)=(AC0D−CA−1B) 两边取行列式得到 ∣ A B C D ∣ = ∣ A ∣ ∣ D − C A − 1 B ∣ \begin{vmatrix} A&B\\C&D \end{vmatrix} = |A| |D-CA^{-1}B| ∣∣∣∣ACBD∣∣∣∣=∣A∣∣D−CA−1B∣
从而系数部分结果为:
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:t−1Σ))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+1∣1:t=Σt+1−ΣTΣ1:t−1Σ
对于指数部分
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+1−1(x−μ1:t+1)T−(x−μ1:t)Σ1:t−1(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=(H−D−1CH−HBD−1D−1(I+CHBD−1)) 其中 H = ( A − B D − 1 C ) − 1 H = (A-BD^{-1}C)^{-1} H=(A−BD−1C)−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)−BD−1(CE+DG)=I=AE−BD−1CE=(A−BD−1C)E
进而 E = A − B D − 1 C E = A-BD^{-1}C E=A−BD−1C,类似地可以得到其他值
基于分块矩阵的逆,对于
Σ
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+1−1=(H−Σt+1−1ΣTH−HΣΣt+1−1Σt+1−1(I+ΣHΣTΣt+1−1))
其中
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+1−1Σ)−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+1−1=(Σ1:t−1(I+ΣTHΣΣ1:t−1)−HΣΣ1:t−1−Σ1:t−1Σ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:t−1Σ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:t−1(ΣTHΣΣ1:t−1))x^1:tT+x^t+1(−HΣΣ1:t−1)x^1:tT+x^1:t(−Σ1:t−1Σ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+1∣1:t=Σt+1−ΣTΣ1:t−1Σ
猜测均值为 μ ∗ \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+1∣1:t−1(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:t−1Σ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+1∣1:t=μt+1+x^1:tΣ1:t−1Σ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+1∣1:t=Σt+1−ΣTΣ1:t−1Σμt+1∣1:t=μt+1+x^1:tΣ1:t−1ΣT
其中方差
Σ
t
+
1
∣
1
:
t
\Sigma_{t+1|1:t}
Σt+1∣1: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+1∣1: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+=x∈x1:targmaxg(x)表示着在已有观测值里面,对应评价最高的参数。
P ( X ≤ x ) = ∫ − ∞ x ϕ ( x ) d x P(X\leq x) = \int_{-\infty}^{x}\phi(x)dx P(X≤x)=∫−∞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+))=1−P(g(x)≤g(x+))=1−∫−∞g(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π1∫−∞xexp(−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π1∫−∞g(x+)exp(−2σ2(x−μ)2)d(x−μ)=σ2π1∫−∞g(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+))(1−∫−∞0σ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+))(1−∫−∞0σ2π1exp(−2σ2(I(x)−(μ−g(x+)))2)d(I(x)))=(μ−g(x+))(1−∫−∞g(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+))
同样的,我们会对所有未知点计算出期望,然后选择期望最高的未知点进行探索。