我是靠谱客的博主 还单身小刺猬,最近开发中收集的这篇文章主要介绍Bayesian Optimization with a Finite Budget: An Approximate Dynamic Programming Approach,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 主要内容

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(Sk,xk+1,fk+1)=max{0,fminSkfk+1}
的期望收益最大化的点 x k + 1 x_{k+1} xk+1为下一个评估点.

上式中的 f m i n S k f_{min}^{mathcal{S}_k} fminSk是指目标函数在集合 S k mathcal{S}_k Sk上的最小值.

主要内容

考虑如下动态规划, 第k步的
状态: S k mathcal{S}_k Sk, 即观测到的点;
控制: u k u_k uk, 且 u k ( S k ) = x k + 1 u_k(mathcal{S}_k)=x_{k+1} uk(Sk)=xk+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) wk:=fk+1p(f(xk+1)Sk);

设状态转移为:
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})}. Sk+1=Fk(Sk,xk+1,fk+1)=Sk{(xk+1,fk+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}). Uk(xk+1;Sk)=Ewk[rk(Sk,xk+1,fk+1)+Jk+1(Fk(Sk,xk+1,fk+1))],Jk(xk+1)=xk+1maxUk,JN=rN(xN+1).

很自然的想法是, 我们最大化 U 1 U_1 U1, 来获得所需的评估点, 但是问题是, 这个是一个嵌套的最大化优化问题, 不易求解.

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

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

在这里插入图片描述
其中 n ∈ { k + 1 , … , N − 1 } n in {k+1, ldots, N-1} n{k+1,,N1}, γ ∈ [ 0 , 1 ] gamma in [0, 1] γ[0,1] 用以调节增量.

H n H_n Hn是一个期望, 可以用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)} fn+1(q)是Hermite多项式的根(大概).

于是, U k ( x k + 1 , S k ) U_k(x_{k+1},mathcal{S}_k) Uk(xk+1,Sk)便可用下式估计:
在这里插入图片描述
在这里插入图片描述

算法如下:

Input: h , γ , N , S 1 h, gamma, N, mathcal{S}_1 h,γ,N,S1;
repeat N:

  • 根据(20)近似最大化 U k U_k Uk
  • 更新 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})} Sk+1=Sk{(xk+1,fk+1)}

out: f m i n S N + 1 f_{min}^{S_{N+1}} fminSN+1.

最后

以上就是还单身小刺猬为你收集整理的Bayesian Optimization with a Finite Budget: An Approximate Dynamic Programming Approach的全部内容,希望文章能够帮你解决Bayesian Optimization with a Finite Budget: An Approximate Dynamic Programming Approach所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部