黑白科技 用简单术语让你看到贝叶斯优化之美
选自Medium
作者:AndreYe
机器之心编译
编辑:Panda
贝叶斯优化是机器学习超参数优化的常用技术之一 , 本文不会使用艰深的数学论证 , 而是通过简单的术语带你领略贝叶斯优化之美 。
假设有一个函数f(x) 。 其计算成本很高 , 它不一定是分析表达式 , 而且你不知道它的导数 。
你的任务:找到全局最小值 。
当然 , 这是一个困难的任务 , 而且难度超过机器学习领域内的其它优化问题 。 梯度下降就是一种解决方案 , 它能通过函数的导数 , 利用数学捷径来实现更快的表达式评估 。
或者 , 在某些优化场景中 , 函数的评估成本较低 。 如果你能在几秒内得到输入x的变体的数百种结果 , 那么使用简单的网格搜索就能得到很好的结果 。
或者 , 你还可以使用一整套非常规的非梯度优化方法 , 比如粒子群或模拟退火 。
不幸的是 , 当前的任务没有这样的便利 。 我们的优化受到了多个方面的限制 , 其中最显著的包括:
计算成本高 。 理想情况下 , 只要我们查询函数的次数足够多 , 我们就能在实质上将它复现出来 , 但在实际情况下 , 输入的采样很有限 , 优化方法必须在这种情况下也能有效工作 。
导数未知 。 在深度学习以及其它一些机器学习算法中 , 梯度下降及其变体方法依然是最常用的方法 , 这当然是有原因的 。 知道了导数 , 能让优化器获得一定的方向感——我们没有这种方向感 。
我们需要找到全局最小值 , 这个任务即使对于梯度下降这种复杂精细的方法来说也很困难 。 我们的模型有时需要某种机制来避免被困于局部最小值 。
解决方案:针对以最少的步骤寻找全局最小值的问题 , 贝叶斯优化是一个优雅的框架 。
我们来构建一个假设的示例函数c(x) , 即一个模型在给定输入x下的成本 。 当然 , 这个函数的实际情况对优化器来说是未知的 。 假设c(x)的实际形状如下:这就是所谓的「目标函数」 。
文章图片
【黑白科技 用简单术语让你看到贝叶斯优化之美】贝叶斯优化可通过一种名为「代理优化(surrogateoptimization)」的方法解决这一问题 。 在语境中 , 代理母亲(代孕妈妈)是指同意为其他人生小孩的女人 。 基于同样的语境 , 代理函数是指目标函数的一种近似 。
代理函数可基于采样得到的数据点而构建 。
文章图片
我们可以根据代理函数来识别哪些点是有潜力的最小值 。 然后我们在这些有潜力的区域执行更多采样 , 然后据此更新代理函数 。
文章图片
在每一次迭代中 , 我们都要继续观察当前的代理函数 , 通过采样对相关区域有更多了解 , 然后更新函数 。 注意 , 代理函数可表示成评估成本低得多的数学形式(比如用y=x近似表示一个成本更高的函数y=arcsin((1-cos2x)/sinx)的某个特定范围) 。
经过一定数量的迭代之后 , 我们的目标是抵达全局最小值 , 除非该函数的形状非常古怪(比如其中有大量大起大落的部分) , 这时候你就要问自己了:是不是数据有问题?
我们先来欣赏一下这种方法的美妙之处 。 它不会对函数做出任何假设(只要它是可优化的既可)、不需要导数的相关信息、可通过巧妙地使用不断更新的近似函数来执行常识推理 。 对原本的目标函数的高成本估计也不再是问题 。
这是一种基于代理的优化方法 。 但它的贝叶斯性质体现在哪里?
贝叶斯统计和建模和本质是基于新信息先验(之前的)信念 , 然后得到更新后的后验(之后的)信念 。 这里的代理优化就是这样工作的 , 使得其能通过贝叶斯系统、公式和思想很好地表示 。
我们来更仔细地看看这个代理函数 , 其通常表示成高斯过程 , 这可被看作是一种掷骰子过程 , 返回的是与给定数据点拟合的函数(比如sin或log) , 而不是数字1到6.这个过程会返回若干函数以及它们各自的概率 。
- 科技日报|塑料微粒影响几何?人类认知仍不足
- 量子科技,爆发!有项关键技术中国已领先世界
- 暖日科技盈如|这到底是为什么?,俄罗斯华人给出劝告:最好别跟俄罗斯女孩结婚
- 周到|民警利用无人机指挥事故车辆立即撤离 “科技赋能”破解交通管理难题
- 交易|中国股市一位交易员的血泪感悟:为何不能死扛一个股票?不简单!
- 概念股|中国股市:量子科技概念股一览 (名单)
- 十倍股|A股最全大科技股名单,今年主线,稳赚不赔!
- 互联网全球最有价值100个科技品牌排行榜:华为、微信与QQ位列前十
- 中国新闻网|美方声称外国公民在华遭受任意扣留?中方:完全是倒打一耙,颠倒黑白
- 新华网|南水北调:科技保驾“南水”安全北流