【NeurIPS 2020】基于蒙特卡罗树搜索的黑箱优化学习搜索空间划分

Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search 

目标:从采样(Dt ∩ ΩA)中学习一个边界,从而最大化两方的差异

先使用Kmeans在特征向量上( [x, f(x)] )聚类,然后使用SVM划分出边界

通过learning+splitting构建一个树 --> 根据UCB选择一个区域 --> 在选择的区域上,进行采样

一、通过splitting进行动态树的构建

“Dynamic tree construction via splitting”这一段描述了一种动态树结构的构建方法,该方法通过分割操作来实现。具体来说,这个过程涉及以下几个步骤:

1、性能估计:通过计算在某个区域Ωi内所有样本xi的函数值f(xi)的平均值来估计该区域的性能,其中ni是该区域内样本的数量,xi ∈ Dt ∩ Ωi是在迭代t时收集的样本。

2、迭代收集新样本:在每次迭代中,收集新的样本xi,并且对于这些新样本,区域的性能估计误差|ˆv∗ni − v∗ni|会迅速减小。当这个误差达到一个平稳状态时,意味着不需要再收集新的样本。

3、使用潜在动作分割:一旦性能估计误差达到稳定,LA-MCTS会使用潜在动作来分割当前区域,从而继续精细化两个子区域的价值估计。潜在动作是指通过支持向量机(SVM)学习到的边界,它将节点代表的区域分割成高性能和低性能的两个区域。

4、树的深化:随着越来越多的样本从有希望的区域收集,树会向更好的区域深入,从而更好地引导搜索过程朝向最优解。

5、分割阈值θ:在实践中,使用一个阈值θ作为可调参数来控制分割。如果在任何叶子节点上,Dt ∩ Ωi的大小超过了阈值θ,就会对该叶子节点进行分割。

这个动态树构建过程的目的是为了更好地引导贝叶斯优化(BO)算法,特别是在高维问题中,通过直接在Ωleaves上优化来帮助BO算法避免过度探索,从而提高性能。

我们的搜索树的结构在迭代过程中动态变化,这与LaNAS中使用的预定义固定高度树不同。在迭代开始时,从包含所有样本的根开始,如果任何叶子的样本量超过分裂阈值θ,我们使用潜在动作递归地分裂叶子,例如在图2(a)中为节点B创建节点D和节点E。我们停止树的分裂,直到没有更多的叶子满足分裂标准。然后,树就可以在这个迭代中使用了。

二、通过UCB选择节点

本文使用UCB选择节点而不是贪心算法,因为UCB可以建立对整个搜索空间的全局视图。UCB的定义为每个节点的UCB如下,其中vj是节点j的平均值,nj是节点j的访问次数,np是节点j的父节点的访问次数,Cp是一个可调节的超参数,用于控制探索的程度。

通过从根节点到叶节点的路径选择一个分区进行采样,这个路径上的支持向量机(SVM)共同定义了一个用于采样的区域。例如,在图2(c)中,选择的区域为ΩE。在采样过程中,LA-MCTS在这个受限的搜索空间Ωselected上解决最小化目标函数f(x)的问题。

整个过程的目的是在保持对最有前途区域的关注的同时,确保算法不会过度探索或者忽视潜在的好区域。Cp参数的选择对算法的性能有显著影响,过小的Cp会导致性能下降,因为它可能忽略了探索;而过大的Cp则可能导致过度探索。文档建议将Cp设置为最大目标函数值的10%到1%。

三、通过贝叶斯优化BO进行采样

在文档中,“Sampling via Bayesian Optimizations”这一部分讲述了如何在贝叶斯优化(Bayesian Optimization, BO)框架内进行采样。它描述了在蒙特卡洛树搜索(LA-MCTS)中如何通过选择一条从根到叶的路径来确定一个采样区域。这个区域由路径上的支持向量机(SVM)共同定义,并且在这个区域内进行最小化目标函数f(x)的求解。

在与TuRBO(Truncated Robust Bayesian Optimization)集成的过程中,文档提到了几个关键的调整点:

  1. 在每次TuRBO重启时,只在选定的区域(Ωselected)内用随机样本进行初始化。由于选定区域的形状可能是任意的,因此使用拒绝采样(均匀采样并用SVM拒绝异常值)来获得Ωselected内的一些点。由于只需要少量样本进行初始化,所以拒绝采样就足够了。

  2. TuRBO将一个边界框(bounding box)定位在到目前为止最好的解决方案上,而在LA-MCTS中,中心被限制在Ωselected中的最佳解决方案上。

  3. TuRBO从边界框中均匀采样以选择下一个样本,而在LA-MCTS中,TuRBO被限制在边界框与Ωselected的交集中均匀采样。由于中心在Ωselected内,所以交集的存在是有保证的。

在每次迭代中,TuRBO会一直运行,直到信任区域(trust-region)的大小变为0,并且所有评估(例如xi和f(xi))都返回给LA-MCTS,以便在下一次迭代中细化学习到的边界。

这一部分的重点是在高维空间中,特别是在采样区域受限的情况下,如何有效地进行采样。文档提到了一些替代的采样方法,如hit-and-run或Gibbs采样,这些方法可能是拒绝采样的好替代品,因为在高维空间中,拒绝采样可能无法在Ωselected中获得足够的随机样本。文档还提出了一种新的启发式采样方法,即在Ωselected内的每个现有样本x处,绘制一个超立方体,并扩展这个立方体同时拒绝异常值。

Sampling with TuRBO:

here we illustrate the integration of SoTA BO method TuRBO [2] with LA-MCTS. We use TuRBO-1 (no bandit) for solving minf(x) within the selected region, and make the following changes inside TuRBO, which is summarized in Fig. 2(c).

a) At every re-starts, we initialize TuRBO with random samples only in Ωselected. The shape of Ωselected can be arbitrary,so we use the rejected sampling (uniformly samples and reject outliers with SVM) to get a few points inside Ωselected. Since we only need a few samples for the initialization, the reject sampling is sufficient.

b) TuRBO centers a bounding box at the best solution so far, while we restrict the center to be the best solution in Ωselected.

c) TuRBO uniformly samples from the bounding box to feed the acquisition to select the best as the next sample, and we restrict the TuRBO to uniformly sample from the intersection of the bounding box and Ωselected. The intersection is guaranteed to exist because the center is within Ωselected. At each iteration, we keep TuRBO running until the
size of trust-region goes 0, and all the evaluations, i.e. xi and f(xi), are returned to LA-MCTS to
refine learned boundaries in the next iteration. Noted our method is also extensible to other solvers
by following similar procedures.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20231107-前端学习炫酷菜单效果和折叠侧边栏

炫酷菜单效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>炫酷菜单效果</title><…

第一个ARM程序裸板点灯

硬件知识LED原理图 如何点亮一个LED灯&#xff1f; 看原理图&#xff0c;确定控制LED的引脚。看主芯片的芯片手册&#xff0c;确定如何设置控制这个引脚。写程序。 LED有插脚封装的、贴片封装的。 它们长得完全不一样&#xff0c;因此我们在原理图中把它们抽象出来。 点亮…

【入门Flink】- 06Flink作业提交流程【待完善】

Standalone 会话模式作业提交流程 代码生成任务的过程&#xff1a; 逻辑流图&#xff08;StreamGraph&#xff09;→ 作业图&#xff08;JobGraph&#xff09;→ 执行图&#xff08;ExecutionGraph&#xff09;→物理图&#xff08;Physical Graph&#xff09;。 作业图算子链…

代码随想录 Day39 动态规划 LeetCode T139 单词拆分 动规总结篇1

前言 在本期开始之前,让我们再回顾一下动规五部曲,并且今天的任务只有一道题,我们顺便也回顾一下之前学过的知识点,动规的前面集中化题型,0-1背包,完全背包,以及很多种遍历顺序,让秋秋和大家娓娓道来. 首先我们回顾一下动态规划的动规五部曲. 1.明确dp数组的元素含义 2.明确dp数…

10.(vue3.x+vite)组件间通信方式之props与$emit

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 父组件代码 <template><div><div>{{message }}</div><Child

在校园跑腿系统小程序中,如何设计高效的实时通知与消息推送系统?

1. 选择合适的消息推送服务 在校园跑腿系统小程序中&#xff0c;选择一个适合的消息推送服务。例如&#xff0c;使用WebSocket技术、Firebase Cloud Messaging (FCM)、或第三方推送服务如Pusher或OneSignal等。注册并获取相关的API密钥或访问令牌。 2. 集成服务到小程序后端…

Docker配置Nginx反向代理

文章目录 1.部署微程序到docker中1.1 dockerfile文件1.2 依据自定义的dockerfile文件创建docker镜像1.3 创建容器1.4 测试 2.在docker中安装Nginx2.1 安装Nginx镜像2.2 获取Nginx配置文件并将其同步到宿主电脑指定位置中安装nginx容器删除nginx容器 2.3 安装Nginx容器并数据挂载…

CN考研真题知识点二轮归纳(5)

本轮的最后一贴&#xff0c;真题中涉及计网的部分彻底总结完&#xff01;后期的3轮总结可能会上一些大题&#xff0c;比如路由转发、子网划分什么的&#xff0c;以及重点的背诵内容~ 上期目录&#xff1a; CN考研真题知识点二轮归纳&#xff08;4&#xff09;https://jslhyh32…

Android耗电量测试

背 / 景 / 介 / 绍 目前对于移动设备而言&#xff0c;电量是很重要的一个方面。现在大家使用手机基本每天都需要充电&#xff0c;所以用户也非常关注耗电的问题&#xff0c;如果应用设计不合理导致电量大量消耗&#xff0c;那么对于关注耗电的用户而言&#xff0c;这款应用将会…

谷歌浏览器配置允许跨域

1、在谷歌浏览器导航栏搜索chrome://flags 2、搜索Block insecure private network requests 3、修改状态

10 路由协议:西出网关无故人,敢问路在何方

1.网络包出了网关之后&#xff0c;就有了一种漂泊的悲凉感 2.之前的场景是比较简单的场景&#xff0c;但是在实际生产环境下&#xff0c;出了网关&#xff0c;会面临着很多路由器&#xff0c;有很多条道路可以选。 3、如何配置路由&#xff1f; 路由表的设计 1.路由器就是一…

【计算文献解读】ACS Catal.:塑料垃圾回收利用中的均相催化

合理的塑料回收对于解决与塑料垃圾相关的环境挑战至关重要&#xff0c;而在各种回收方法中&#xff0c;化学回收&#xff0c;特别是通过均相催化&#xff0c;有望将塑料垃圾转化为有价值的产品。由于聚烯烃链的结构不均匀性和功能化&#xff0c;聚合物废物对催化循环提出了挑战…

计算机网络第4章-IPv6和寻址

IP地址的分配 为了获取一块IP地址用于一个组织的子网内&#xff0c;于是我们向ISP联系&#xff0c;ISP则会从已分给我们的更大 地址块中提供一些地址。 例如&#xff0c;ISP也许已经分配了地址块200.23.16.0/20。 该ISP可以依次将该地址块分成8个长度相等的连续地址块&…

【蓝桥杯 第十四届省赛Java B组】真题训练(A - E)正在更新

目录 A、阶乘求和 - BigInteger B、幸运数字 - 字符串 进制转换 暴力大法 C、数组分割 - 数学思维 乘法排列组合 D、矩形总面积 - 推导公式 找规律 &#xff08;1&#xff09;暴力大法好 50% &#xff08;2&#xff09;正解 100% E、蜗牛 - &#xff08;我以为是模拟…

java八股文(mysql篇)

什么是关系型数据库&#xff1f; 其是建立在关系模型基础上的一种数据库&#xff0c;这种关系分为&#xff1a;一对一&#xff0c;一对多&#xff0c;多对多。 我们的数据存放在表中&#xff0c;在表中会有一至多个字段&#xff0c;一行就是一条数据。 mysql有哪些字段呢&…

【MySQL】用户管理权限控制

文章目录 前言一. 用户管理1. 创建用户2. 删除用户3. 修改用户密码 二. 权限控制1. 用户授权2. 查看权限3. 回收权限 结束语 前言 MySQL的数据其实也以文件形式保存&#xff0c;而登录信息同样保存在文件中 MySQL的数据在Linux下默认路径是/var/lib/mysql 登录MySQL同样也可以…

如何在macbook上删除文件?Mac删除文件的多种方法

在使用MacBook电脑时&#xff0c;桌面上经常会积累大量的文件&#xff0c;而这些文件可能已经不再需要或已经过时。为了保持桌面的整洁和提高电脑性能&#xff0c;我们需要及时删除这些文件。本文将介绍MacBook怎么删除桌面文件&#xff0c;以及macbook删除桌面文件快捷键。 一…

C 语言左移位操作在kernel驱动子系统中的特殊用途

文章目录 前言一、C语言左移位操作介绍1. 左移位二、左移位操作在kernel 驱动子系统中的应用1. 左移位操作在 V4L2, Media 子系统中的应用实例2.左移位操作在 DRM 子系统中的应用实例2.1 左移位操作在struct drm_crtc 中的应用2.2 左移位操作在struct drm_encoder 中的应用总结…

Flutter 07 框架和三棵树(Widgets、Elements和RenderObjects)

一、Flutter框架的整体结构&#xff1a; Flutter是Google推出并开源的跨平台开发框架&#xff0c;主打跨平台、高保真、高性能。开发者可以通过Dart语 言开发Flutter应用&#xff0c;一套代码同时运行在ios和Android平台。不仅如此&#xff0c;Flutter还支持Web、桌面、嵌 入应…

【工具】OCR方法|不用下载额外的软件,提取扫描中英文PDF的目录文本的最优解!(一)

需求&#xff1a; 1&#xff09;从PDF里快速提取目录&#xff1b; 2&#xff09;不想下载任何软件。 我提取出来的目录文本会用于嵌入到PDF中&#xff0c;向PDF批量添加目录的软件以及软件的使用方法可以看我上一篇文章&#xff1a;PDF批量插入目录。 以下是我自己能想到的方…