“黑盒优化”是什么?

本文涉及“黑盒优化”和“零阶优化”的区别和联系,以及它们的定义

关于“零阶优化”,可以看文章“Optimizing molecules using efficient queries from property evaluations


 

一、“黑盒优化”是什么?

黑盒优化”是一种优化技术,用于处理那些我们无法直接访问或理解其内部工作原理的系统或函数。在这种情况下,我们将该系统或函数视为一个“黑盒”,因为我们只能观察到输入和输出,但不能观察到其内部的具体运行机制。【不利用导数信息】

以下是“黑盒优化”的几个关键特点:

  1. 不需要导数信息:与传统的基于导数的优化方法(例如梯度下降)不同,黑盒优化不需要函数的导数信息。

  2. 适用于复杂系统:对于那些复杂的、不透明的、或者是不易于分析的系统,黑盒优化特别有用。

  3. 只需要输入和输出:用户只需提供一个函数或评估标准,优化算法会尝试找到最佳的输入,以最大化或最小化输出。

  4. 使用启发式方法:由于缺乏内部信息,黑盒优化通常依赖于启发式搜索方法,如遗传算法、蒙特卡洛树搜索、贝叶斯优化等。

总的来说,黑盒优化是针对那些我们不能直接探索或理解其内部工作机制的系统或函数的优化策略。我们只是尝试不同的输入,观察输出,然后根据这些信息来决定下一步的最佳操作。

二、“黑盒优化”常用的方法

 一般来说,黑盒优化都是从一个初始解出发,通过不停迭代来改进当前解,直到无法再改进为止。

这个黑盒优化的迭代过程可以用各种方案去刻划:比如说从一个还不错的起始点开始的局部搜索,一个从粗到细的逐步精化,或者说局部渐进和长程跳跃的组合(例如进化算法的演化和突变),等等,每种方案都对应不同的行动空间。但从本质上来说,优化和“下棋打游戏”等问题很大的不同点在于,优化本身没有”行动空间“的概念,对它而言,行动空间如何定义都无所谓,只要最终解质量好就行。

三、性能指标

其主要性能指标是:达到同样的函数值,需要多少次黑盒函数的调用,越少越好。因为在实际问题中,需要用黑盒优化的场景,往往是函数调用开销非常大且没有导数信息的场景,比如说函数值是一个复杂系统运转一天后的平均效率,或者是耗费巨资才可获得的一个实验结果,等等。


“黑盒优化”和“零阶优化”的区别和联系

定义:

  1. 黑盒优化:这是一个通用的术语,描述的是当你试图优化一个函数时,但对其内部结构几乎一无所知,只知道输入和输出关系的情境。也就是说,你不能利用函数的内部信息(如导数或结构)来帮助优化。

  2. 零阶优化:这是一个更为技术性的术语,描述的是当你优化一个函数时,你没有关于函数的导数或梯度的信息。零阶优化算法只使用函数的值,不使用任何导数信息。

区别:

  1. 范围:黑盒优化是一个更为广泛的概念,涵盖了任何我们不能直接访问函数内部信息的情境,而零阶优化特指没有导数信息的优化情境。

  2. 方法:由于黑盒优化是一个广泛的概念,因此可以使用各种方法(包括零阶优化方法)来进行。而零阶优化有一些特定的技术,如随机搜索、有限差分方法等。

联系:

  1. 零阶优化是黑盒优化的一个子集:当你面临一个黑盒问题且没有关于函数的导数信息时,你可以使用零阶优化方法。

  2. 目标相似:无论是黑盒优化还是零阶优化,目标都是在缺乏关于函数完整信息的情况下找到其最优值。

  3. 启发式方法:由于两者都缺乏函数的某些关键信息,因此它们都可能依赖启发式搜索方法来进行优化。

介绍两篇NeurIPS的文章(二) - 知乎

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

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

相关文章

高等数学教材重难点题型总结(九)多元函数微分法及其应用

第九章习题总结完毕,最难的应该就是方程组求解隐函数中的雅可比行列式了,其他方面无论是期末还是考研都不会出太多难题。对于多元极限和连续性质要理解得更深刻一些,而方向导数、梯度等公式,应该熟练掌握~ 1. 写出多元函数的定义域…

TypeScript 第一站概念篇

前言 🔮 好长一段时间没有写文章了,原因是经历了一次工作变动,加入了一个有一定规模的开发团队,前端算上我有四个人,很欣慰,体验一下团队配合的感觉,在我之上有一个组长,比我年长四…

Azure 机器学习 - 使用 AutoML 和 Python 训练物体检测模型

目录 一、Azure环境准备二、计算目标设置三、试验设置四、直观呈现输入数据五、上传数据并创建 MLTable六、配置物体检测试验适用于图像任务的自动超参数扫描 (AutoMode)适用于图像任务的手动超参数扫描作业限制 七、注册和部署模型获取最佳试用版注册模型配置联机终结点创建终…

Spark的主要概念

文章目录 🔊博主介绍🥤本文内容🍊 1. RDD🍊 2. Spark SQL🍊 3. Spark Streaming🍊 4. MLlib🍊 5. GraphX🍊 总结 📢文章总结📥博主目标 🔊博主介绍…

ubuntu20.04配置解压版mysql5.7

目录 1.创建mysql 用户组和用户2.下载 MySQL 5.7 解压版3.解压 MySQL 文件4.将 MySQL 移动到适当的目录5.更改mysql目录所属的用户组和用户,以及权限6.进入mysql/bin/目录,安装初始化7.编辑/etc/mysql/my.cnf配置文件8.启动 MySQL 服务:9.建立…

在Linux上编译gdal3.1.2指南

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 以Ubuntu 18编译gdal3.1.2为例,编译gdal3.1.2需要先编译proj库和geos库(可选)。我选择的proj库版本为proj-7.1.0,编译proj-7.1.0需要先编译tiff库和sqlite3。我选择的sqlite3的版本为…

Unity的live2dgalgame多语言可配置剧情框架

这段代码用于读取表格 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using OfficeOpenXml; using System.IO; using UnityEngine.Networking; using UnityEngine.UI; using Random UnityEngine.Random;public class Plots…

工业5G路由器;小体积 千兆高速通信组网

计讯物联工业路由器TR232,5G高速网络,超低时延、高可靠性,小体积、易安装、强兼容,串口/网口多设备接入联网,为用户提供高速稳定的数据传输通道 。    小体积5G工业路由器TR323,外形1047824mm&#xff0…

datax使用笔记

文章目录 下载网上下载网盘下载github拿源码自己打包(适合爱折腾的人) 使用说明配置文件样例oracle例子mysql例子 项目要数据迁移,毫无疑问,果断datax。 下载 方式多种多样,爱用哪种用哪种。 网上下载 自己从网上找也可以,这个…

系列六、Mybatis的一级缓存

一、概述 Mybatis一级缓存的作用域是同一个SqlSession,在同一个SqlSession中执行两次相同的查询,第一次执行完毕后,Mybatis会将查询到的数据缓存起来(缓存到内存中), 第二次执行相同的查询时,会…

Vue 创建自定义 ref 函数

Vue 创建自定义 ref 函数 customRef customRef 用于:创建一个自定义的 ref 函数,并对其依赖项跟踪和更新触发进行显式控制。 使用 customRef 创建自定义 ref 函数 // 创建自定义 ref 函数 function myRef(value) {return customRef((track, trigger) &…

Laravel 后台管理 Dcat Admin 使用记录

Laravel Dcat Admin 安装配置修改配置表格操作 Ajax 结合 Pjax 更新数据状态表格 链接表单设置页面(通常修改更新在同一页面)表单 安装配置 安装文档地址 框架版本 Laravel 8.* 修改配置 修改 admin.php 文件 return [// 后台名称name > DAD后台管理,// 标题title > 后台…

ArmSom---SPI开发指南

1. 简介 RK3588从入门到精通本⽂主要介绍在Rockchip平台配置spi接口并且使用的方法开发板:ArmSoM-W3Kernel:5.10.160OS:Debian11 2. SPI接口概述 SPI(Serial Peripheral Interface),即串行外围设备接口&…

ElementuiPlus的table组件实现行拖动与列拖动

借助了插件sortablejs。这种方法只适合做非树状table。如果想实现树状table&#xff0c;并且可拖动。可以试一下aggridVue3这个插件 <template><div class"draggable" style"padding: 20px"><el-table row-key"id" :data"t…

RabbitMQ 消息对象 序列化/反序列化 天坑!异常处理方案

目录 1. 报错的背景 2. 问题分析 3. 最佳解决办法 1. 报错的背景 a&#xff09;使用 RabbitMQ 发送消息时&#xff0c;发送消息的类型为 Map<String, Object>&#xff0c;map 里面我 put 了一个 <String, Long> 类型&#xff0c;如下图&#xff1a; b&#xff…

【考研数据结构代码题2】删除单链表倒数第n个结点

题目&#xff1a;删除单链表倒数第n个结点 难度&#xff1a;★ 算法思路&#xff1a; 首先题目没有指明链表的长度&#xff0c;多以首先需要编写一个函数getLength()来求表长&#xff0c;其次删除倒数第n个结点&#xff0c;即删除正数第length-n1个结点&#xff0c;这是二者之间…

世界坐标转屏幕坐标

世界坐标转屏幕坐标&#xff0c; 目的 UI层的物体能跟随3D世界的物体 应用场景 血条&#xff0c;聊天气泡&#xff0c;物体小提示 转换坐标 private Vector2 GetScreenPosition(Vector3 worldPosition){Vector2 anchoredPosition _camera.WorldToScreenPoint(worldPosition);…

更快更准 | YOLOv3算法超详细解析(包括诞生背景+论文解析+技术原理等)

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv3是一种基于深度学习的目标检测算法&#xff0c;它可以快速而准确地在图像中检测出多个目标。它是由Joseph Redmon和Ali Farhadi在2018年提出的&#xff0c;是YOLO&#xff08;You Only Look Once&#xff09;系列算法…

基于STM32+微信小程序设计的智能门锁(4种开锁方式)_2023

一、项目介绍 1.1 项目背景 随着智能家居的普及,智能门锁作为一个非常重要的组成部分,受到了人们越来越多的关注。传统的机械锁门禁已经不能满足人们对于门锁安全、便捷性和智能化的需求,因此市场对于智能门锁的需求不断增加。而随着技术的发展,基于单片机的智能门锁已经…

Linux权限+Shell和Linux的关系

文章目录 1.Shell存在的意义及作用1.1对于Shell的认知过程1.2Shell/图形化界面外壳程序的意义 2.对Linux权限的理解2.1对Linux权限的认知过程2.2对于Linux下ll指令显示的文件属性的认识 1.Shell存在的意义及作用 1.1对于Shell的认知过程 Linux是什么? Linux是一套免费使用和自…