通俗理解贝叶斯优化

好用的多目标优化,贝叶斯优化,带约束的多目标优化等优化领域的代码或框架分享目录 好用的多目标优化,贝叶斯优化,带约束的多目标优化等优化领域的代码或框架分享目录 下面总结了关于优化领域的代码或框架,求三连,分享给更多身边的人吧!好用的话可以关注我哟! 另外这是我受约束的多目标优化问题优秀论文及总结目录,里面有很多优秀论文解读和分享,快来看看吧! 多目标优化类 (也包含单目标和带约束的优化) 源码地址 实现语言 简介 pymoo python 非常好用且最新的单/多目标优化框架,里面有不同的算法包括NSGA-II,NSGAIII,PSO,MOAD,CMOAD等,不同的测试案 阅读详情

贝叶斯优化是机器学习超参数优化的常用技术之一,本文不会使用艰深的数学论证,而是通过简单的术语带你领略贝叶斯优化之美。

假设有一个函数 f(x)。其计算成本很高,它不一定是分析表达式,而且你不知道它的导数。

你的任务:找到全局最小值。

当然,这是一个困难的任务,而且难度超过机器学习领域内的其它优化问题。梯度下降就是一种解决方案,它能通过函数的导数,利用数学捷径来实现更快的表达式评估。

或者,在某些优化场景中,函数的评估成本较低。如果你能在几秒内得到输入 x 的变体的数百种结果,那么使用简单的网格搜索就能得到很好的结果。

或者,你还可以使用一整套非常规的非梯度优化方法,比如粒子群或模拟退火。

不幸的是,当前的任务没有这样的便利。我们的优化受到了多个方面的限制,其中最显著的包括:

  • 计算成本高。理想情况下,只要我们查询函数的次数足够多,我们就能在实质上将它复现出来,但在实际情况下,输入的采样很有限,优化方法必须在这种情况下也能有效工作。

  • 导数未知。在深度学习以及其它一些机器学习算法中,梯度下降及其变体方法依然是最常用的方法,这当然是有原因的。知道了导数,能让优化器获得一定的方向感——我们没有这种方向感。

  • 我们需要找到全局最小值,这个任务即使对于梯度下降这种复杂精细的方法来说也很困难。我们的模型有时需要某种机制来避免被困于局部最小值。

解决方案:针对以最少的步骤寻找全局最小值的问题,贝叶斯优化是一个优雅的框架。

我们来构建一个假设的示例函数 c(x),即一个模型在给定输入 x 下的成本。当然,这个函数的实际情况对优化器来说是未知的。假设 c(x) 的实际形状如下:这就是所谓的「目标函数」。

贝叶斯优化可通过一种名为「代理优化(surrogate optimization)」的方法解决这一问题。在语境中,代理母亲(代孕妈妈)是指同意为其他人生小孩的女人。基于同样的语境,代理函数是指目标函数的一种近似。

代理函数可基于采样得到的数据点而构建。

我们可以根据代理函数来识别哪些点是有潜力的最小值。然后我们在这些有潜力的区域执行更多采样,然后据此更新代理函数。

在每一次迭代中,我们都要继续观察当前的代理函数,通过采样对相关区域有更多了解,然后更新函数。注意,代理函数可表示成评估成本低得多的数学形式(比如用 y=x 近似表示一个成本更高的函数 y=arcsin((1-cos²x)/sin x) 的某个特定范围)。

经过一定数量的迭代之后,我们的目标是抵达全局最小值,除非该函数的形状非常古怪(比如其中有大量大起大落的部分),这时候你就要问自己了:是不是数据有问题?

我们先来欣赏一下这种方法的美妙之处。它不会对函数做出任何假设(只要它是可优化的既可)、不需要导数的相关信息、可通过巧妙地使用不断更新的近似函数来执行常识推理。对原本的目标函数的高成本估计也不再是问题。

这是一种基于代理的优化方法。但它的贝叶斯性质体现在哪里?

贝叶斯统计和建模和本质是基于新信息先验(之前的)信念,然后得到更新后的后验(之后的)信念。这里的代理优化就是这样工作的,使得其能通过贝叶斯系统、公式和思想很好地表示。

我们来更仔细地看看这个代理函数,其通常表示成高斯过程,这可被看作是一种掷骰子过程,返回的是与给定数据点拟合的函数(比如 sin 或 log),而不是数字 1 到 6. 这个过程会返回若干函数以及它们各自的概率。

左图:基于 4 个数据点生成的几个基于高斯过程的函数;右图:将这些函数聚合之后。

Oscar Knagg 这篇文章直观地介绍了高斯过程的工作方式:https://towardsdatascience.com/an-intuitive-guide-to-gaussian-processes-ec2f0b45c71d

为什么要使用高斯过程来建模代理函数,而不是使用其它曲线拟合方法?这是因为高斯过程本质上就是贝叶斯模式的。高斯过程是一种概率分布,就像一个事件的最终结果分布一样(比如掷硬币的 1/2 概率),只不过高斯过程是在所有可能的函数上的分布。

举个例子,我们也许可以定义当前的数据点集可由函数 a(x) 表示 40%、由函数 b(x) 表示 10% 等等。通过将代理函数表示成概率分布,可使用新信息,通过固有的概率贝叶斯过程来完成更新。也许当新信息被引入时,a(x) 函数又只能表示 20% 的数据了。这样的变化受贝叶斯公式的约束。

这会使得类似于新数据点的多项式回归拟合这样的目标难以完成甚至不可能完成。

表示成先验概率分布的代理函数会通过一个「获取函数(acquisition function)」而更新。这个函数负责在探索与利用权衡的基础上,对提议的新点进行测试。

  • 利用的目标是采样代理模型能很好地预测目标函数的地方。这会用到已知的有潜力的位置。但是,如果我们已经充分探索了某个特定的区域,再继续利用已知信息也收益不大了。

  • 探索的目标是采样不确定度较高的位置。这能确保空间中不留下未探索的主要区域——全局最小值可能就藏在此处。

太过重视利用而不太重视探索的获取函数会让模型驻留于其发现的第一个最小值(通常是局部最小值)。反过来,重探索而轻利用的获取函数则一开始就不会留在某个最小值,不管是局部最小值还是全局最小值。因此,为了得到很好的结果,需要达到微妙精巧的平衡。

获取函数 a(x) 必须兼顾探索和利用。常见的获取函数包括预期提升和提升的最大可能性,所有这些衡量的都是给定有关先验(高斯过程)的信息下,一个特定输入在未来产生回报的概率。

我们归总一下这些知识点。贝叶斯优化的执行方式为:

  1. 初始化一个高斯过程「代理函数」先验分布。

  2. 选择几个数据点 x 使得获取函数 a(x) 在当前先验分布上的结果是最大的。

  3. 在目标成本函数 c(x) 中评估数据点 x 并获取其结果 y。

  4. 使用新数据更新高斯过程先验分布,得到一个后验分布(这将作为下一步的先验分布)。

  5. 重复第 2-5 步并多次迭代。

  6. 解读当前的高斯过程分布(成本很低),找到全局最小值。

贝叶斯优化的核心是将概率思想融入到代理优化思想之中。这两种思想组合到一起,能创造出一种强大的系统。该系统具有很多应用场景,从医药产品开发到自动驾驶汽车。

不过,贝叶斯优化最常见的应用领域还是机器学习,尤其是超参数优化任务。举个例子,如果我们要训练一个梯度上升分类器,则会遇到几十个超参数,从学习率到最大深度再到最小不纯度拆分值。在这里,x 表示模型的超参数,c(x) 表示模型在给定超参数 x 下的表现。

使用贝叶斯优化的主要动机是:在有些场景中,评估输出的成本非常高。首先,需要使用这些参数构建一整个集成树;其次,它们需要运行并完成几次预测,这对于集成方法来说成本高昂。

可以这样说,在给定一组参数的条件下,使用神经网络来评估损失函数的速度更快:只是重复执行矩阵乘法,这是非常快的,尤其是使用专用计算硬件时。这是使用梯度下降的原因之一,也就是反复查询以找到前进的方向。

总结

  • 代理优化是使用一个代理函数或近似函数来通过采样估计目标函数。

  • 贝叶斯优化是通过将代理函数表示成概率分布而将代理优化放入一个概率框架中,然后再使用新信息更新这个分布。

  • 获取函数则是用于基于已知的先验,评估利用空间中的某个特定点得到「好」结果的概率。其关键在于探索与利用的平衡。

  • 贝叶斯优化的主要使用场景是目标函数评估成本高的任务,比如超参数调节。有一些用于该任务的软件库,比如 HyperOpt。


文末福利

还在为记不住API发愁,别急,这里有一份Python代码速查表

还有一张宝藏图片要分享给你,这里有2张(windows && Mac)高清的PyCharm快捷键一览图

怎样获取呢?可以添加我们的AI派团队的程序媛姐姐

一定要备注【高清图】哦

????????????????????

➕我们的程序媛小姐姐微信要记得备注【高清图】哦

什么是贝叶斯优化(Bayesian Optimization)? 贝叶斯最优化(Bayesian Optimization)是一种用于函数全局最优化的策略,特别适用于那些计算代价昂贵的黑箱函数(如机器学习模型的超参数调优)。其核心思想是通过构建一个代理模型(通常是高斯过程或随机森林),逐步选择最优的参数,从而有效地找到全局最优解。贝叶斯最优化能够在不需要大量计算资源的情况下,有效探索参数空间,具有更高效、更严密的特点。 阅读详情

相关推荐

工作中常用的数学-自查

极大似然:一文搞懂极大似然;大数定理; 中心极限定理:中心极限定理;人话;人话2 贝叶斯概率:猴子 数学期望:就这一个 高斯过程:人话;推导 各种分布:解释

Data _designer 368

20年前的BAT 、谷歌、微软网站居然长这样!

随着时间的流逝,人的记忆会变差,几年甚至数十年前的东西很可能都记不清了,但电脑不会。互联网突飞猛进发展地这几十年里,发生了太多的变化,很明显的一点就是各大公司的官网界面变得越来越现代化,...

Oner.wv的专栏 608

贝叶斯决策论(一):贝叶斯决策理论

贝叶斯决策论是利用概率的不同分类决策与相应的决策代价之间的平衡,核心思想是决策问题可以通过概率的形式来描述。 1 Notation 了解贝叶斯决策论之前先学习有关的符号: 假定x是一个连续随机变量,其分布取决于类别状态,表示为 ...

qq_45785407的博客 1万+

用一分钟带你走进“网页博物馆”追溯你二十几年前的记忆

对于90后的年经人来讲,我们处于一个成熟的互联网环境之下。如果说十年前的记忆,还停留在朦朦胧胧的百度与淘宝上,那么二十年前,对于我们而言则是完完全全的空白了。 2017年,一名来自捷克的网页设计师开发了这个网站,将各大网站的上世纪截图以时间线方式保留了下来,进而打造出了这个线上“网页博物馆”。 你想知道二十年前的 互联网都长什么样? 那就继续往下看。 淘宝网 2003年淘宝网(taobao)截图 淘宝网首页的演变史(动图) 阿里巴巴 2...

qq_34543460的博客 5897

Android11.0系统中适配EC20模块4G及GPS功能

本文主要描述在RK3568Android11中适配EC20模块,启用4G与GPS功能。

yjz_0314的博客 2793

Camunda流程引擎 Modeler (二)

Camunda Modeler是Camunda官方提供的建模器: 独立安装的建模器([windows、linux、mac]

1314

贝叶斯优化(Bayesian Optimization)介绍和python实现

贝叶斯优化的具体实现

qq_38614074的博客 1万+

ESP32连接PDM麦克风操作指南:新手入门必看

手把手教你如何将ESP32与PDM麦克风连接,采集音频数据并用于音频分类应用。内容涵盖硬件接线、代码配置及实际调试技巧,适合初学者快速上手esp32在声音识别场景中的使用。

weixin_42590539的博客 1329

机器学习(五) -- 监督学习(1) -- k近邻

tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被“文章内容”删除线标记的,也可以自行跳过。!!”一般需要特别注意或者容易出错的地方。本系列文章是作者边学习边总结的,内容有不对的地方还请多多指正,同时本系列文章会不断完善,每篇文章不定时会有修改。文中为方便理解,会将接口在用到的时候才导入,实际中应在文件开始统一导入。K-近邻算法(K Nearest Neighbor)又叫KNN算法。

zqx1473的博客 1815

点云处理工具——pclpy安装

pclpy介绍及详细安装过程 文章目录pclpy简介下载:安装测试 pclpy简介 pclpy是点云库(PCL)的Python绑定。使用CppHeaderParser和pybind11从头文件生成。 这个库正在积极开发中,api可能会发生变化。所包含的模块确实可以工作,但测试还不完整。目前只支持Windows和python 3.6 x64。 许多其他python库尝试绑定PCL。最流行的是python-pcl,它使用Cython。虽然Cython非常强大,但绑定c++模板并不是它的强项(PCL大量使用模.

图像处理、SLAM、PCL、OpenCV爱好者 1万+

手把手教你用Matlab搞定GRACE RL06数据读取:冯伟老师工具箱无GUI版实战

本文详细介绍了如何使用Matlab处理GRACE RL06数据,重点解析了冯伟教授工具箱的无GUI版实战操作。通过环境配置、核心函数改造和批处理技巧,帮助科研工作者高效完成重力场数据的读取与分析,特别适合服务器集群环境下的批量处理需求。

weixin_29313817的博客 200

通俗易懂讲解贝叶斯

0. 前言 这是一篇关于贝叶斯方法的科普文,我会尽量少用公式,多用平白的语言叙述,多举实际例子。更严格的公式和计算我会在相应的地方注明参考资料。贝叶斯方法被证明是非常 general 且强大的推理框架,文中你会看到很多有趣的应用。 1. 历史 托马斯·贝叶斯(Thomas Bayes)同学的详细生平在这里。以下摘一段 wikipedia 上的简介: 所谓的贝叶斯方法源于他生前为解决一个

SDUTACM的博客 4万+

音视频从入门到精通——指数哥伦布码原理

在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的。

mirana的专栏 1383

理解贝叶斯优化:先验概率与后验概率

前言 贝叶斯估计, 贝叶斯优化, 先验概率和后验概率, 配上一堆概率论的东西…成功达到了一种吓唬人的作用,让人误以为是一种高大上的算法。 本文希望以最简单通俗的例子, 深入浅出地讲述这一贝叶斯体系的算法本质, 来阐述 这并非什么高深的算法,而是我们生活中与生俱来最简单的思想。 条件概率 个人认为, 贝叶斯优化中, 唯一需要的概率公式就是这个: P(AB)=P(A)×P(B∣A)=P(B)×P(A∣B)P(AB) = P(A) \times P(B|A) = P(B) \times P(A|B)P(AB)=P

B417科研笔记 3552

qq邮箱发错误:The “From“ header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard pro

如果还报错 (550, b’The mail may contain inappropriate words or content.'),可能是你message[‘From’]中的< senderxxx@qq.com >发送邮箱填错了,必须要和self.sender = ’ senderxxx@qq.com '一样。可能是之前qq邮箱发送协议存在漏洞,可隐藏发送者邮箱。现在换了新协议,导致与原来协议规则、编码出现了一些问题。"python自动发送""python自动发送"

云霄IT的博客 3670

【人工智能之深度学习】15. 工业时序预测实战:LSTM与TCN融合的装备故障预警系统设计与实现

摘要:工业装备故障预警是智能制造领域的核心技术之一,其通过分析传感器时序数据实现故障提前预测,可显著降低运维成本并提升设备可靠性。本文针对工业时序数据多源异构、非平稳性、噪声干扰及样本不平衡等挑战,提出一种LSTM与TCN融合的故障预警架构——利用TCN捕捉局部时序特征,结合注意力增强LSTM建模长期依赖关系,通过门控机制实现特征自适应融合。以3MW风电齿轮箱为研究对象,设计包含数据预处理、特征工程、模型训练及部署的完整流程,实验结果表明,该融合模型准确率达94.6%,故障预测提前量较单一模型提升30%以上

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1443

小白之通俗易懂的贝叶斯定理

小白之通俗易懂的贝叶斯定理贝叶斯定理的产生以及意义什么是贝叶斯定理?贝叶斯定理的应用案例贝叶斯定理套路生活中的贝叶斯思维 转载自:https://mp.weixin.qq.com/s/lR3eeSWYHJDAJ9kJUzXc7w 贝叶斯定理的产生以及意义 1、贝叶斯定理的产生来源 英国数学家托马斯·贝叶斯(Thomas Bayes)在1763年发表的一篇论文中,首先提出了这个定理。而这篇论文是在他死后才由他的一位朋友发表出来的。在这篇论文中,他为了解决一个“逆向概率”问题,而提出了贝叶斯定理。 在贝叶斯写

cjl的博客 5669

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

一文读懂贝叶斯优化

作者:Apoorv Agnihotri,Nipun Batra.翻译:王雨桐.校对:张一然本文约6200字,建议阅读10+分钟。本文将贝叶斯优化拆解为易于理解的小部分。许多现代的机器...

数据分析 2829

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

​独家 | 一文读懂贝叶斯优化

作者:Apoorv Agnihotri,Nipun Batra翻译:王雨桐校对:张一然本文约6200字,建议阅读10+分钟。本文将贝叶斯优化拆解为易于理解的小部分。许多现代的机器学习算法...

数据派THU 2864

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

贝叶斯优化与高斯过程回归

高斯过程是一个随机过程,其任意有限个随机变量的联合分布都是多元高斯分布。fx∼GPmxkxx′fx∼GPmxkxx′))mxmx均值函数,通常设为 0kxx′kxx′核函数(协方差函数),定义点之间的相似性高斯过程回归非参数贝叶斯方法,直接建模函数分布提供预测均值和不确定性核函数定义函数的先验性质贝叶斯优化用 GP 作为代理模型,指导采样策略采集函数平衡探索和利用样本高效,适用于昂贵黑盒优化应用原则。

m0_56086190的博客 1601

【机器学习实战笔记 11】超参数优化(二):贝叶斯优化方法

主要讲解贝叶斯优化的原理以及bayes_opt、hyperopt、optuna三种贝叶斯优化的方法以及代码实现。

Wilber的blog。心若有所向往,又何惧道阻且长。 2499
上一篇: 20年前的BAT 、谷歌、微软网站居然长这样!
下一篇: 微信AI正在完成:有码走遍天下,从此花钱刷脸
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值