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 \in I} \:f(x),
\]

的问题, 且假设定义域\(I\)是有界的.

一般, 通过高斯过程定义\(f(x)\)的概率替代函数, 假设

\[f(x) \sim \mathcal{N}(u_0(x), k(x,x)),\\
y = f(x) + \epsilon, \: \epsilon \sim \mathcal{N}(0, \sigma^2).
\]

在已经观测到\(X = \{x_1, \ldots, x_T\}\)以及\(Y = \{y_1, \ldots, y_T\}\)的基础上, 我们可以求得\(f(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)
\]

为均值和方差的正态分布.

我们的目的是在已有这些条件的基础上, 寻找下一个(或多个)评估点.

定义:

\[\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,
\]

其中\(\theta(x) = 1, x\ge0, else \: 0\). \(\prod\)的部分在针对连续型的定义域时需要特别的定义. 显然(1)表示\(x\)为最小值点的概率.

再定义损失函数(当然损失函数不选择KL散度也是可以的, 但这是EI的名字的由来):

\[\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.
\]

当我们选择\(b(x)\)为\(I\)上的均匀分布的时候, 当我们最小化\(\mathcal{L}\)的时候, \(p_{min}\)会趋向Dirac分布(即某个点处的概率密度为无穷, 其余为0, 显然, 该点我们有足够的信心认为其是\(f(x)\)的最小值点).

但是这样还不够, 我们进一步关心其期望损失(最小化):

\[\tag{3}
\langle \mathcal{L} \rangle_{x} = \int p(y|x) \mathcal{L}(p_{min} (\cdot|Y, X, y, x)) \mathrm{d}y.
\]

通过最小化(3),我们可以获得接下来的评估点.

接下来的问题是如果去估计.

\(p_{min}\)的估计

比较麻烦的是\(\prod\)的部分, 策略是挑选\(N\)个点\(\tilde{x} = \{\tilde{x}_1, \ldots, \tilde{x}_N\}\). 一种是简单粗暴的网格的方式, 但是这种方式往往需要较大的\(N\), 另一种是给定一个测度\(u\), 根据已有的观察\((X, Y)\), 通过\(u(X, Y)\)采样\(\tilde{x}\). 一个好的\(u\)应该在使得令损失能够产生较大变化的区域多采样点, 针对本文的情况 应该在\(p_{min}\)值比较高的地方多采样点.

文中给了俩种方法, 一种直接的方法是\(p_{min}\)可以用蒙特卡洛积分去逼近,

一下是我猜想的用MC积分的方式(文中未给出具体的形式)"

  • 根据一定策略选取\(\tilde{x}\);
  • 重复J次:
  1. 根据概率\(p(f)\)采样\(f(\tilde{x}), f(x)\),
  2. 计算\(\prod\)部分
  • 取平均

作者选择的是 Expectation Propagation (EP)的方法, 这种方法能够估计出\(\tilde{x}_i, i=1,\ldots,N\)处的概率\(q_{min}(\tilde{x_i})\): \(f_{min}\)存在于以\(\tilde{x}_i\)为"中心"的一定范围内(文中用step)的概率. 当\(N\)足够的的时候, 这个step正比于\((Nu(\tilde{x}_i))^{-1}\), 则:

\[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_{min}\)的估计, 一个更加好的性质是\(q_{min}\)关于\(\mu, \sigma_*\)的导数是有解析表达式的, 且\(Z_u\)是不必计算的(后续最小化过程中可以省略掉).

\(\mathcal{L}_{KL}\)的估计



其中\(\hat{p}_{min}=q_{min}\).

\(\langle \Delta \mathcal{L} \rangle\)



\(\arg \min_X \langle \mathcal{L} \rangle_X\) 用最小化一阶近似替代, 积分可以用MC积分逼近.

最后给出算法:

Entropy Search for Information-Efficient Global Optimization的更多相关文章

  1. 论文阅读 <Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM>

    看了一下港科的基于vins拓展的论文<relocalization, global optimization and merging for vins>,在回环的实现部分总体没有什么变化, ...

  2. Entropy, relative entropy and mutual information

    目录 Entropy Joint Entropy Conditional Entropy Chain rule Mutual Information Relative Entropy Chain Ru ...

  3. 论文笔记系列-Simple And Efficient Architecture Search For Neural Networks

    摘要 本文提出了一种新方法,可以基于简单的爬山过程自动搜索性能良好的CNN架构,该算法运算符应用网络态射,然后通过余弦退火进行短期优化运行. 令人惊讶的是,这种简单的方法产生了有竞争力的结果,尽管只需 ...

  4. Community Cloud零基础学习(二)信誉等级设置 & Global Search设定

    当我们创建了Community以后,我们需要对他进行定制页面来使community用户更好的使用.此篇主要描述两点,信誉等级设定以及Global Search 设定.其他的内容后期再慢慢描述. 一. ...

  5. Research Guide for Neural Architecture Search

    Research Guide for Neural Architecture Search 2019-09-19 09:29:04 This blog is from: https://heartbe ...

  6. state-of-the-art implementations related to visual recognition and search

    http://rogerioferis.com/VisualRecognitionAndSearch2014/Resources.html Source Code Non-exhaustive lis ...

  7. First release of mlrMBO - the toolbox for (Bayesian) Black-Box Optimization

    We are happy to finally announce the first release of mlrMBO on cran after a quite long development ...

  8. 贝叶斯优化(Bayesian Optimization)深入理解

    目前在研究Automated Machine Learning,其中有一个子领域是实现网络超参数自动化搜索,而常见的搜索方法有Grid Search.Random Search以及贝叶斯优化搜索.前两 ...

  9. Information retrieval信息检索

    https://en.wikipedia.org/wiki/Information_retrieval 信息检索 (一种信息技术) 信息检索(Information Retrieval)是指信息按一定 ...

随机推荐

  1. 学习java 7.16

    学习内容: 线程安全的类 Lock锁 生产者消费者模式 Object类的等待唤醒方法 明天内容: 网络编程 通信程序 遇到问题: 无

  2. Objective-C运行时定义了几种重要的类型

    Objective-C运行时定义了几种重要的类型. Class:定义Objective-C类 Ivar:定义对象的实例变量,包括类型和名字. Protocol:定义正式协议. objc_propert ...

  3. RHEL 6.5安装系统

    转自如下链接: http://www.jb51.net/os/128752.html

  4. 【力扣】123. 买卖股票的最佳时机 III

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...

  5. 【力扣】146. LRU缓存机制

    运用你所掌握的数据结构,设计和实现一个  LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果关键字 (key) ...

  6. Redis集群环境各节点无法互相发现与Hash槽分配异常 CLUSTERDOWN Hash slot not served的解决方式

    总结/朱季谦 在搭建Redis5.x版本的集群环境曾出现各节点无法互相发现与Hash槽分配异常 CLUSTERDOWN Hash slot not served的情况,故而把解决方式记录下来. 在以下 ...

  7. vue在某页面监听键盘输入事件

    需求:在某一网页,通过上下左右键控制一些操作 实现: 1.基本代码: 因为没有绑定特定的元素.所以我们将事件绑定到document上. //当前页面监视键盘输入 document.onkeydown ...

  8. IOS开发入门教程-总结篇-写给狂热的编程爱好者们

    程序发轻狂,代码阑珊,苹果开发安卓狂!--写给狂热的编程爱好者们 写在前面的话 学习iOS应用程序开发已有一段时间,最近稍微闲下来了,正好也想记录一下前阶段的整个学习过程.索性就从最基础的开始,一步一 ...

  9. Java实现HttpGet和HttpPost请求

    maven引入JSON处理jar <dependency> <groupId>com.alibaba</groupId> <artifactId>fas ...

  10. ANTLR 语法设计

    下面学习如何编写语法. 如何定义语法规则 一种语言模式就是一种递归的语法结构. 我们需要从一系列有代表性的输入文件中归纳出一门语言的结构.在完成这样的归纳工作后,我们就可以正式使用ANTLR语法来表达 ...