优化“黑匣子”函数:线性回归或贝叶斯优化......有什么区别?

机器算法验证 回归 机器学习 贝叶斯优化
2022-04-06 04:46:24

目标:我有一个我几乎一无所知在其域中的最大值。我可以查询该函数,并且我知道几个点的值:f(x,y)=zf(x,y)f(x1,y1)=z1,f(x2,y2)=z2,...,f(xn,yn)=zn

通过线性回归进行优化:

过去,我曾使用线性回归(以及 lasso 等相关方法)对此类函数进行建模;这是我很舒服的方法。通常,我可能会尝试找到一个相对准确地对数据建模的多项式(最终的结果是:k

f(x,y)β1+β2x+β3y+β4x2+β5xy+β6y2+...+βmyk.

通过求解正规方程来确定系数。多项式的“最佳次数”可以使用折交叉验证来确定。一旦确定了“最佳”多项式,就可以选择多种方法中的任何一种来优化它(牛顿法、梯度下降法、爬山法等)。然后,如果一切顺利,多项式上的最优值对应于的最优值。kf(x,y)

贝叶斯优化:

最近,我向一位同事描述了这种技术(线性回归),他问:“那和贝叶斯优化有什么区别?” 在过去的几天里,我一直在尝试回答这个问题,到目前为止,我还没有任何确凿的结论。

在阅读了这篇博客之后,尝试阅读这篇文章并被困在阅读这篇论文中,我想我了解以下关于 BO 的内容:

  1. 从先验开始(猜测黑匣子属于哪个函数族……或者至少是您认为可以很好地描述的某些函数族)。它看起来使用高斯过程作为先验很受欢迎。f

  2. 指定构建您的先验所需的任何内容(对于 GP,这是一个协方差函数)。

  3. 随着您的进行,您将维护两个不断发展的函数,一个“均值”函数和一个“置信区间”函数来预测任何点的值,并且您确信m(x,y)c(x,y)m(x,y)f(x,y)[m(x,y)c(x,y),m(x,y)+c(x,y)]

  4. 贝叶斯优化通过交替选择置信区间较宽的点(您对值非常不确定)或模型上的最佳点,提供了一种更新/利用模型的系统方法。m(x,y)

我的问题:说贝叶斯优化和简单优化线性回归模型之间的主要区别是否公平/正确,贝叶斯优化提供了系统的采样方式,目的是优化模型和减少不确定性,而线性回归模型忽略不确定性的想法并且没有明确提供更新模型的方法?

换句话说,线性回归模型是贝叶斯优化中m(x,y)

如果我坚持使用线性回归,指定如何计算不确定性,并提供更新/改进模型的方法(利用/探索)我只是在做贝叶斯优化(不这么称呼它)吗?

背景:我的背景是纯数学(图论),但我的新工作让我处理大量数据(所以我是自学统计学)。考虑到这一点,我的统计词汇量有些有限(所以我很欣赏避免使用技术术语或简要解释使用的任何技术术语的答案)——例如,星期一是我第一次听到/读到“之前”这个词统计意义,我仍然不能 100% 确定我理解正确。

1个回答

你的理解是正确的。

BO 固有地测量搜索空间区域的不确定性。采集函数控制着在具有高不确定性的区域中探索一个点与在具有较低不确定性但更高价值的区域中进一步探索之间的权衡。

相比之下,普通回归模型假设方差相等 - 虽然您可以在某个框中找到多项式模型的最大值,但搜索将过于局部,并且没有很好的探索-利用权衡。

但这只是重复你已经知道的。

BO(和一般的 GP)中的典型平均函数要么是 0,要么是另一个常数,所有繁重的工作都由核函数完成。这主要是一种计算技巧,因为在这种情况下,很容易通过线性代数进行预测;否则,您必须求助于模拟。

琼斯 1998 年的论文在第 464 页比较了 GP 和多项式回归。这与您提出的模型并不完全相同(通过 CV 选择多项式项),但它与您的目标一致。