RBF 是 Radial Basis Function 的缩写,也就是 径向基函数。它的核心想法是:每一个样本点都在输入空间里生成一个以自己为中心的 影响场,新的输入点会同时受到所有样本中心的影响,最后把这些影响叠加起来得到输出。
这里的 “径向” 指的是函数只关心距离,而不直接关心方向。若样本中心是 xi,当前输入是 x,那么第 i 个样本中心对当前输入的影响通常写成
ϕ(∥x−xi∥2)
也就是说,RBF 核函数真正接收到的是一个标量距离。
标量输出的基本形式
假设有 N 个样本
x1→y1,x2→y2,⋯,xN→yN
其中 xi∈Rm 是输入,yi∈R 是标量输出。RBF 插值函数写成
f(x)=i=1∑Nwiϕ(∥x−xi∥2)
这里的 wi 不是普通 blend weight,而是要求解出来的系数。它们的作用不是简单地表达 “第 i 个样本占多少比例”,而是让整个函数满足插值条件
f(xi)=yi
所以 RBF 的逻辑可以先粗略理解成:
样本中心产生影响场
当前输入采样所有影响场
把所有影响场按系数叠加
要求叠加后的函数刚好经过训练样本
三个样本的展开
为了看清求和符号的来源,先考虑 3 个样本
x1→y1,x2→y2,x3→y3
此时函数就是
f(x)=w1ϕ(∥x−x1∥2)+w2ϕ(∥x−x2∥2)+w3ϕ(∥x−x3∥2)
为了让它经过三个样本点,需要满足
f(x1)=y1,f(x2)=y2,f(x3)=y3
把 x1 代入函数,有
w1ϕ(∥x1−x1∥2)+w2ϕ(∥x1−x2∥2)+w3ϕ(∥x1−x3∥2)=y1
把 x2 代入函数,有
w1ϕ(∥x2−x1∥2)+w2ϕ(∥x2−x2∥2)+w3ϕ(∥x2−x3∥2)=y2
把 x3 代入函数,有
w1ϕ(∥x3−x1∥2)+w2ϕ(∥x3−x2∥2)+w3ϕ(∥x3−x3∥2)=y3
这三条式子合起来就是一个线性方程组。
矩阵形式
把上面的三条约束写成矩阵,就得到
ϕ(∥x1−x1∥2)ϕ(∥x2−x1∥2)ϕ(∥x3−x1∥2)ϕ(∥x1−x2∥2)ϕ(∥x2−x2∥2)ϕ(∥x3−x2∥2)ϕ(∥x1−x3∥2)ϕ(∥x2−x3∥2)ϕ(∥x3−x3∥2)w1w2w3=y1y2y3
也就是
Kw=y
其中
Kji=ϕ(∥xj−xi∥2)
一般情况下,如果有 N 个样本,那么
K∈RN×N,w∈RN,y∈RN
只要 K 可逆,就可以解出
w=K−1y
数值实现中通常不会显式求逆,而是直接解线性系统。
w=solve(K,y)
得到 w 后,运行时对新输入 x 构造
k(x)=ϕ(∥x−x1∥2)ϕ(∥x−x2∥2)⋮ϕ(∥x−xN∥2)
于是
f(x)=k(x)⊤w
为什么要构造两两距离矩阵
K 不是普通的数据矩阵,而是一个 相互影响矩阵。它的第 j 行第 i 列表示:
第 i 个样本中心产生的影响场,在第 j 个样本点位置上的取值。
也就是说,第 i 个基函数是
ψi(x)=ϕ(∥x−xi∥2)
为了检查函数在样本点 xj 上是否命中目标值,就必须把所有基函数都拿到 xj 上评估:
f(xj)=i=1∑Nwiϕ(∥xj−xi∥2)=yj
所以 K 里自然会出现所有样本点之间的两两距离。它也常被称为 kernel matrix 或 Gram matrix。
为什么 RBF 可以产生平滑插值
如果核函数 ϕ(r) 本身是平滑函数,那么
ϕ(∥x−xi∥2)
作为空间中的影响场通常也是平滑变化的。RBF 插值函数又只是这些影响场的线性组合:
f(x)=i=1∑Nwiϕ(∥x−xi∥2)
因此最终得到的 f(x) 也会随输入平滑变化。
需要注意的是,平滑 不等于 稳定外推。exact RBF 确实会严格命中样本点,但如果样本分布不好、核函数选择不合适,或者 K 条件数很差,远离样本区域时仍然可能出现 overshoot 或不符合直觉的趋势。
可以插值哪些数据
RBF 的输入 x 可以是任何能转成向量的特征,例如:
- 标量参数
- 2D / 3D / nD 位置
- 一组控制参数
- 权重向量
- PCA coefficients
- correction vector
- 局部位移或缩放向量
- 约束或代价函数的权重
关键是:输入空间中必须能定义距离 ∥x−xi∥,输出也必须能用普通向量的线性组合来表达。旋转也可以参与 RBF,但一般不直接插值 Euler、旋转矩阵或未经处理的 quaternion,而是先转到 rotation vector 等更接近欧氏向量空间的表示。