机器之心Pro|用简单术语让你看到贝叶斯优化之美
北京联盟_本文原题:用简单术语让你看到贝叶斯优化之美
选自 Medium
【机器之心Pro|用简单术语让你看到贝叶斯优化之美】作者:Andre Ye
机器之心编译
编辑:Panda
贝叶斯优化是机器学习超参数优化的常用技术之一 , 本文不会使用艰深的数学论证 , 而是通过简单的术语带你领略贝叶斯优化之美 。
假设有一个函数 f(x) 。 其计算成本很高 , 它不一定是分析表达式 , 而且你不知道它的导数 。
你的任务:找到全局最小值 。
当然 , 这是一个困难的任务 , 而且难度超过机器学习领域内的其它优化问题 。 梯度下降就是一种解决方案 , 它能通过函数的导数 , 利用数学捷径来实现更快的表达式评估 。
或者 , 在某些优化场景中 , 函数的评估成本较低 。 如果你能在几秒内得到输入 x 的变体的数百种结果 , 那么使用简单的网格搜索就能得到很好的结果 。
或者 , 你还可以使用一整套非常规的非梯度优化方法 , 比如粒子群或模拟退火 。
不幸的是 , 当前的任务没有这样的便利 。 我们的优化受到了多个方面的限制 , 其中最显著的包括:
- 计算成本高 。 理想情况下 , 只要我们查询函数的次数足够多 , 我们就能在实质上将它复现出来 , 但在实际情况下 , 输入的采样很有限 , 优化方法必须在这种情况下也能有效工作 。
- 导数未知 。 在深度学习以及其它一些机器学习算法中 , 梯度下降及其变体方法依然是最常用的方法 , 这当然是有原因的 。 知道了导数 , 能让优化器获得一定的方向感——我们没有这种方向感 。
- 我们需要找到全局最小值 , 这个任务即使对于梯度下降这种复杂精细的方法来说也很困难 。 我们的模型有时需要某种机制来避免被困于局部最小值 。
我们来构建一个假设的示例函数 c(x) , 即一个模型在给定输入 x 下的成本 。 当然 , 这个函数的实际情况对优化器来说是未知的 。 假设 c(x) 的实际形状如下:这就是所谓的「目标函数」 。
本文插图
贝叶斯优化可通过一种名为「代理优化(surrogate optimization)」的方法解决这一问题 。 在语境中 , 代理母亲(代孕妈妈)是指同意为其他人生小孩的女人 。 基于同样的语境 , 代理函数是指目标函数的一种近似 。
代理函数可基于采样得到的数据点而构建 。
本文插图
我们可以根据代理函数来识别哪些点是有潜力的最小值 。 然后我们在这些有潜力的区域执行更多采样 , 然后据此更新代理函数 。
本文插图
在每一次迭代中 , 我们都要继续观察当前的代理函数 , 通过采样对相关区域有更多了解 , 然后更新函数 。 注意 , 代理函数可表示成评估成本低得多的数学形式(比如用 y=x 近似表示一个成本更高的函数 y=arcsin((1-cos2x)/sin x) 的某个特定范围) 。
经过一定数量的迭代之后 , 我们的目标是抵达全局最小值 , 除非该函数的形状非常古怪(比如其中有大量大起大落的部分) , 这时候你就要问自己了:是不是数据有问题?
我们先来欣赏一下这种方法的美妙之处 。 它不会对函数做出任何假设(只要它是可优化的既可)、不需要导数的相关信息、可通过巧妙地使用不断更新的近似函数来执行常识推理 。 对原本的目标函数的高成本估计也不再是问题 。
这是一种基于代理的优化方法 。 但它的贝叶斯性质体现在哪里?
推荐阅读
- 环球车讯网|售价8.98万起 帅铃T6/T8/T8 PRO多车型上市
- 5-10万|新车 | 两款动力、两种尺寸,曝江淮新款帅铃T8 PRO配置
- |Rose cabbage
- 机器之心Pro|SOTA论文也未必能被接收,谷歌科学家Eric Jang谈顶会审稿标准
- 美国|美国机器人研究公司,展示自动驾驶汽车的新独特功能,能自动倒车!
- 汽车|美国机器人研究公司,展示了其自动驾驶汽车的最新独特功能!
- 31-50万|经典Z系跑车强势复出 解析日产Z Proto
- 遗传物质|NatProtocol:新技术有助于COVID19的快速移动化检测
- 趣头条|配置丰富很居家 憨车先生带你看比亚迪宋Pro新能源
- 癌症肿瘤|食管癌机器人手术演示研讨会在津举办 机器人+新辅助治疗改善食管癌防治现状