Bayesian Optimization with a Fin

2020-03-19  本文已影响0人  馒头and花卷

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(\mathcal{S}_k, x_{k+1},f_{k+1})=\max \{0, f_{min}^{\mathcal{S}_k}-f_{k+1}\}
的期望收益最大化的点x_{k+1}为下一个评估点.

上式中的f_{min}^{\mathcal{S}_k}是指目标函数在集合\mathcal{S}_k上的最小值.

主要内容

考虑如下动态规划, 第k步的
状态: \mathcal{S}_k, 即观测到的点;
控制: u_k, 且u_k(\mathcal{S}_k)=x_{k+1}
扰动: w_k:=f_{k+1} \sim p(f(x_{k+1})|\mathcal{S}_k);

设状态转移为:
\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})\}.

收益(效用函数):
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_1, 来获得所需的评估点, 但是问题是, 这个是一个嵌套的最大化优化问题, 不易求解.

本文采用rollout 算法来估计U_k, 具体如下:

给定基本的决策控制\pi = (\pi_1, \ldots, \pi_N)(比如最大化EI), 为了最优化U_k, 我们先选择用H_{k+1}估计J_{k+1}, 其定义如下:

在这里插入图片描述
其中, 用以调节增量.

H_n是一个期望, 可以用Gauss-Hermite正交化估计:

在这里插入图片描述

其中\tilde{N} = \min \{k+h, N\}, 用以限制最大的估计步数, \alpha^{(q)}是正交系数, f_{n+1}^{(q)}是Hermite多项式的根(大概).

于是, U_k(x_{k+1},\mathcal{S}_k)便可用下式估计:

在这里插入图片描述
在这里插入图片描述

算法如下:

Input: h, \gamma, N, \mathcal{S}_1;
repeat N:

out: f_{min}^{S_{N+1}}.

上一篇 下一篇

猜你喜欢

热点阅读