针对为什么假设空间是函数空间时,对于替代模型的邻域采样是有难度的?
1. 从“点”到“函数”:维度的灾难
-
参数模型的邻域:想象一个线性回归模型
y = wx + b。它的假设空间是由参数(w, b)张成的二维平面。在这个空间里,一个“点”就是一组具体的(w, b)值。对这个点进行“邻域采样”很简单,比如在(w, b)周围进行高斯采样,我们得到的是另一组稍有不同的(w’, b’)。这是在低维、有限维欧几里得空间中的操作。 -
函数空间的邻域:一个高斯过程代理模型,它代表的不是一个点,而是一个函数的分布。一个“点”在这个空间里就是一个完整的函数
f(x)。这个空间的维度是无限的——因为函数f在定义域内每一个点x上都有一个值。在这个无限维的空间中定义“邻域”并对其进行采样,在计算上和概念上都极其困难。
2. 如何定义函数空间的“邻域”?
在欧几里得空间中,邻域很容易用距离(如欧氏距离)来定义。在函数空间中,我们需要定义两个函数之间的“距离”或“相似度”。常见的方式有:
-
Lp范数:例如,两个函数
f和g的 L2 距离是∫|f(x) - g(x)|² dx的平方根。但这本身就是一个积分,计算成本高,并且要求定义域是明确的。 -
再生核希尔伯特空间范数:对于高斯过程这类基于核的模型,其自然的函数空间是RKHS。在这个空间里,距离可以由核函数
k(x, x’)定义。一个函数f在RKHS中的范数||f||_k衡量了该函数的“复杂度”或“平滑度”。
挑战在于:即使我们定义了距离,在一个无限维空间中,围绕一个中心函数 f 的“球体”(邻域)也是一个无限维的对象。从这个无限维的球体中均匀地(或按照某种分布)抽取样本函数,在计算上是不可行的。
3. 对代理模型邻域采样的具体挑战
假设我们有一个已经训练好的高斯过程代理模型,我们想探索与它“相似”的函数。具体挑战包括:
-
表征的复杂性:一个高斯过程后验是由一个均值函数
m(x)和一个协方差函数k(x, x’)完全定义的。要采样一个与后验相似的函数,你并不是在扰动几个参数,而是在扰动整个均值函数和协方差函数结构。这本身就是一个函数值采样问题。 -
采样的计算成本:
-
从高斯过程后验中采样一个函数
f*本身就是一个O(n³)的操作(需要分解协方差矩阵),其中n是观测数据点的数量。这对于大规模数据集来说已经非常昂贵。 -
“对邻域采样”意味着你希望采样到的函数
f*与原始后验均值函数m(x)“接近但又不同”。你如何控制这个“接近”的程度?你可能需要从某个条件分布中采样,比如p(f* | d(f*, m) < ε),其中d是某种距离度量。在无限维空间中构造并从这个条件分布中采样,其难度远超简单的后验采样。
-
-
何为“有意义”的邻域?
-
在函数空间中,一个微小的扰动(按照某种范数)可能会产生一个行为完全不同的函数。例如,一个在L2范数下非常接近的函数,可能在某个关键点
x’上有一个巨大的峰值。 -
对于优化任务而言,我们关心的可能不是函数本身的全局相似性,而是其最优点
x*的分布。直接对函数空间邻域采样,可能会产生大量最优点x*完全不变的“无意义”样本,或者产生一些最优点在毫无希望区域的“无意义”函数。这导致了采样效率极低。
-

被折叠的 条评论
为什么被折叠?



