关灯
得知互动 门户 互联网+ SEO/SEM 查看内容
0

用简朴术语让你看到贝叶斯优化之美

摘要: 选自Medium作者:AndreYe呆板之心编译编辑:Panda贝叶斯优化是呆板学习超参数优化的常用技能之一,本文不会利用深邃的数学论证,而是通过简朴的术语带你明白贝叶斯优化之美。假设有一个函数f(x)。其盘算本钱很高,它 ...

选自Medium

作者:Andre Ye

呆板之心编译

编辑:Panda

贝叶斯优化是呆板学习超参数优化的常用技能之一,本文不会利用深邃的数学论证,而是通过简朴的术语带你明白贝叶斯优化之美。

假设有一个函数 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) 必须分身探索和使用。常见的获取函数包罗预期提拔和提拔的最大大概性,全部这些权衡的都是给定有关先验(高斯过程)的信息下,一个特定输入在将来产生回报的概率。

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

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

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

在目的本钱函数 c(x) 中评估数据点 x 并获取其效果 y。

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

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

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

贝叶斯优化的焦点是将概率头脑融入到署理优化头脑当中。这两种头脑组合到一起,能创造出一种强盛的体系。该体系具有许多运用英魂场景,从医药产物开辟到主动驾驶汽车。

不外,贝叶斯优化最多见的运用英魂范畴照旧呆板学习,尤其是超参数优化使命。举个例子,假如我们要练习一个梯度上升分类器,则会碰到几十个超参数,从学习率到最大深度再到最小不纯度拆分值。在这里,x 表现模子的超参数,c(x) 表现模子在给定超参数 x 下的体现。

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

可以如许说,在给定一组参数的条件下,利用神经网络来评估丧失函数的速率更快:只是重复履行矩阵乘法,这黑白常快的,尤其是利用专用盘算硬件时。这是利用梯度降落的缘由之一,也就是反复查询以找到进步的方向。

总结

署理优化是利用一个署理函数或近似函数来通过采样估计目的函数。

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

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

贝叶斯优化的首要利用场景是目的函数评估本钱高的使命,好比超参数调治。有一些用于该使命的软件库,好比 HyperOpt。

怎样根据使命需求搭配适当范例的数据库?

在AWS推出的白皮书《进入专用数据库期间》中,先容了8种数据库范例:关系、键值、文档、内存中、关系图、时间序列、分类账、范畴宽列,并逐一分析了每种范例的上风、挑衅与首要利用案例。

免责声明:本文来自腾讯消息客户端自媒体,不代表腾讯网的观点和态度。

路过

雷人

握手

鲜花

鸡蛋

说点什么...

已有0条评论

最新评论...

本文作者
2020-10-11 22:00
  • 0
    粉丝
  • 4540
    阅读
  • 0
    回复

关注帮客优品

扫描关注,了解最新资讯

联系人:叶先生
Q Q:956130084
EMAIL:956130084@qq.com
地址:中国·武汉
热门评论
排行榜

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )