贝叶斯优化(BO)是机器学习的一个研究课题。
优化问题是一个被广泛研究的问题,在多个领域中都有应用。优化问题的目标是找到一个函数的局部或全局最大值或最小值,例如 $f(x)$。用于优化特定函数 $f(x)$ 的方法取决于问题本身的性质,包括可用的“信息”。问题的可用信息可以是导数 $f'(x)$ 和二阶导数 $f''(x)$,基于这些信息,我们可以使用一阶或二阶优化方法,例如梯度下降法和牛顿法。直观上,你对目标函数了解的“信息”越多,你就能越高效地(在时间上)找到其最优解。举例来说,假设我们要用最简单的网格搜索法寻找 $f(x) = x^2$ 的最优解:通过密集采样函数值,搜索空间的大小——另一类“信息”——会极大影响完成此任务所花费的时间。考虑以下两条信息:“最优解位于区间 [-100,100]” 和 “最优解位于区间 [-1,1]”。显然,如果你知道后者,你只需要在 [-1,1] 之间搜索,而不必在 [-100,100] 之间搜索,从而可以更快地找到最优解。在这种情况下,我们说第二条信息更加有用。导数是另一类信息,它可以理解为函数的“斜率”或“下降方向”,如果你将函数视为某种形状的话。知道任意一点的导数类似于你站在一个碗里时知道往哪个方向走能到达底部(假设你想到达底部)。想象一下,如果没有重力,你就会失去“下降方向”或“向下拉力”的感觉,那么你只能漫无目的地在碗中搜索,因为没有重力时,你不会感觉下坡比上坡更容易。这就类似于没有导数信息时的情况。
当导数不可用时,人们仍可以开发方法,比穷尽所有可能的方式更快地找到最优解。在这种情况下,函数的信息可能较弱但仍然至关重要:即“存在一个最优解”。这一存在性的信息可以促使人们开发利用函数值来定位最优解的方法。例如,黄金分割法就是一种基于局部最优假设的启发式函数值评估方法,或者像 NSGA-II、MOEA/D 等进化算法。
然而,一些仅依赖 0 阶信息(只需要函数值)的算法可能需要无限或并行评估函数值。如果我们考虑一种更糟的情况,即评估次数有限,这意味着你只有非常有限的机会选择一个点并获得函数值,那么这些算法可能并不适用。我们将这种函数称为“黑箱”。黑箱可以是大型的、难以评估的函数,比如神经网络的损失函数,或受成千上万个参数影响的数字设备的性能。采样的次数受限是因为评估一次可能会花费很长时间。挑战在于开发一种方法,在有限的评估次数内找到最佳解。这要求人们从函数 $f(x)$ 中榨取每一丝信息。
考虑一个“珠子与线模型”,其中每个珠子代表一次函数的评估,每个珠子通过中间的线与相邻的珠子连接。函数值之间的关联可以通过这个模型来总结:如果连接很强(线很短),那么两次评估结果应该彼此更接近。换句话说,给定一个评估值,连接到其相邻评估值的线越短,你就越有信心在接近当前观察到的区域找到相邻点的实际值。
这种模型意味着,函数值之间的关系不是完全独立的。相邻评估点之间的强连接(短线)表示这些点的函数值变化较小,即函数的连续性较强。这种关联可以被用来提高函数的优化效率,因为如果你已经在某个点上得到了评估结果,就可以推断出相邻点的函数值不会偏离太多,从而减少了对其他点的探索需求。
在贝叶斯优化中,这种概念与我们通过核函数或高斯过程等手段来构建对未知函数的预测模型相呼应,其中相邻点的函数值之间存在某种相关性。在概率论中,两个随机变量之间的成对关系强度(线的长度)可以通过它们的协方差来表示。需要注意的是,这里的假设是将观测值视为随机的,而后进一步假设它们共同服从高斯分布,由此我们可以通过多元高斯分布来建模任意数量函数评估之间的成对关系。从简单的“绳子与珠子”设想出发,我们用更为严谨的概率模型假设来描述这种构想,由此我们创建了一种能够描述函数的任意值之间关系的假设,从而能够从有限的函数观测中具体化关于对未来观测“自信”程度,这种模型被称为高斯过程模型。
hello
你的文章充满了创意,真是让人惊喜。 https://www.yonboz.com/video/94825.html
你的文章让我感受到了快乐,每天都要来看一看。 https://www.yonboz.com/video/22064.html