3. 常用径向基函数:高斯函数、多二次函数、逆多二次函数、薄板样条函数、紧支撑径向基函数

聊到径向基函数,很多人第一反应就是“选哪个?”

说实话,这个问题我当年也纠结过。刚入行那会儿,我总觉得高斯函数是万能的,结果在某个大变形曲面拟合项目里翻了车。后来才明白——没有最好的基函数,只有最合适的。

这一节,我把工程中最常用的五种径向基函数掰开揉碎了讲。每种函数我都会给出数学形式、形状参数、适用场景,以及我踩过的坑。

核心观点:径向基函数的选择,本质上是“拟合精度”与“数值稳定性”之间的博弈。光滑性越高的函数,条件数往往越差;紧支撑函数虽然稳定,但覆盖范围有限。

3.1 高斯函数(Gaussian)

高斯函数是入门首选,也是我最早接触的径向基函数。

φ(r) = exp(-ε²r²)

其中 ε 是形状参数,r 是欧氏距离。

这个函数有个特点——局部性极强。距离中心点稍远,函数值就迅速衰减到接近零。我在做点云数据插值时发现,高斯函数对噪声数据特别友好,因为它天然带有“平滑滤波”的效果。

参数 影响 我的建议
ε 过小 函数过于平坦,拟合不足 容易出现“欠拟合”,曲面细节丢失
ε 过大 函数过于尖锐,条件数飙升 矩阵病态,求解不稳定
ε 适中 平衡精度与稳定性 一般取 0.5~2.0 之间试算

我曾经踩过的坑:有一次做三维地质曲面插值,我用了高斯函数,ε 取了 3.0。结果矩阵条件数到了 10^15 量级,求解器直接报错。后来把 ε 降到 1.2,问题就解决了。记住——ε 越大,矩阵越病态。

3.2 多二次函数(Multiquadric, MQ)

多二次函数是我个人最常用的函数之一。它的形式是:

φ(r) = √(r² + c²)

你没看错——它没有指数项,只有开方。这意味着什么?全局性。随着 r 增大,函数值线性增长,不会衰减到零。

我在做飞机机翼变形曲面重构时,MQ 函数的表现让我印象深刻。它特别适合那种“整体趋势明显、局部细节丰富”的数据。

这里有个关键参数 c,我习惯叫它“形状控制参数”:

  • c 越小:函数越接近 |r|,曲面越“硬”,容易过拟合
  • c 越大:函数越平坦,曲面越“软”,趋于平滑

小技巧:我一般取 c 为数据点平均间距的 1~2 倍。比如点云平均间距 0.5mm,c 就取 0.5~1.0。这个经验值在 80% 的项目里都管用。

3.3 逆多二次函数(Inverse Multiquadric, IMQ)

逆多二次函数可以看作是 MQ 的“反转版”:

φ(r) = 1 / √(r² + c²)

它和高斯函数类似,具有局部性——距离越远,函数值越小。但衰减速度比高斯慢,属于“中等局部性”。

你想想看,什么时候用 IMQ?我个人的经验是:当高斯函数太“尖”、MQ 又太“散”的时候,IMQ 是个不错的折中方案。

举个例子,我在做汽车碰撞假人头部变形重构时,数据点分布不均匀——有些区域密集,有些区域稀疏。高斯函数在稀疏区域插值效果很差,MQ 又在密集区域产生振荡。换成 IMQ 后,效果好了很多。

3.4 薄板样条函数(Thin Plate Spline, TPS)

薄板样条函数在工程界地位特殊。它的形式是:

φ(r) = r² log(r)

这个函数有个特点——没有形状参数。你不需要调 ε 或 c,直接用就行。这在工程自动化流程中非常方便。

我记得有一次做风洞实验数据插值,数据量很大(几万个点),如果用高斯函数,光调参就要花半天。换成 TPS,直接跑,结果还比调参后的高斯函数好。

但 TPS 也有缺点:

  • 全局性强:一个点的变化会影响整个曲面
  • 对边界敏感:边界附近容易出现“翘曲”现象
  • 数值稳定性一般:数据量超过 5000 点时,建议用迭代求解器

工程建议:TPS 最适合“数据量中等(几百到几千点)、不需要调参、追求光滑性”的场景。如果你做的是快速原型验证,TPS 是首选。

3.5 紧支撑径向基函数(Compactly Supported RBF, CSRBF)

紧支撑函数是我最近几年用得越来越多的函数。它的核心思想是:只在局部范围内起作用,超出支撑半径就归零。

最经典的 Wendland 函数族,比如 C² 连续的:

φ(r) = (1 - r)⁴ · (4r + 1)   (0 ≤ r ≤ 1)
φ(r) = 0                      (r > 1)

这里的 r 是归一化距离,支撑半径通常记为 δ。

紧支撑函数最大的优势是——矩阵稀疏。因为每个基函数只影响局部区域,系数矩阵中大部分元素都是零。对于十万、百万量级的数据点,这是唯一可行的方案。

支撑半径 δ 矩阵稀疏度 适用场景
δ 较小 高度稀疏 数据密集、局部特征明显
δ 中等 适度稀疏 通用场景,兼顾效率与精度
δ 较大 接近稠密 数据稀疏、需要全局影响

注意:支撑半径 δ 的选择直接影响计算效率。δ 太小,局部区域可能没有足够的数据点支撑插值;δ 太大,稀疏性优势就没了。我一般取 δ 为数据点平均间距的 3~5 倍,然后根据结果微调。

3.6 五种函数对比总览

为了方便你快速选择,我整理了一张对比表:

函数名称 数学形式 局部/全局 形状参数 数值稳定性 我的推荐场景
高斯 exp(-ε²r²) 局部 ε 中等 噪声数据、点云平滑
多二次 (MQ) √(r² + c²) 全局 c 较好 大变形、整体趋势明显
逆多二次 (IMQ) 1/√(r² + c²) 中等局部 c 较好 分布不均匀数据
薄板样条 (TPS) r² log(r) 全局 无 一般 快速原型、中小数据量
紧支撑 (CSRBF) Wendland 族 局部 δ 好 大数据量、稀疏矩阵

3.7 知识结构图:径向基函数选择流程

下面这张图是我自己总结的选型逻辑,你可以把它当作决策参考:

径向基函数选型决策流程 数据量多大? > 10000 点 紧支撑 RBF (CSRBF) ≤ 10000 点 需要调参吗? 不需要 薄板样条 (TPS) 需要 数据分布如何? 均匀 多二次 (MQ) 不均匀 逆多二次 (IMQ) 有噪声? 高斯函数 说明: 1. 数据量是首要决策因素——大数据量优先考虑紧支撑函数 2. 小数据量时,看是否需要调参:TPS 免调参,MQ/IMQ 需调参 3. 噪声数据优先选高斯函数,利用其天然平滑特性 4. 实际项目中,建议至少试 2~3 种函数,对比结果再定

3.8 我的工程经验总结

说了这么多,最后分享几条实战经验:

  • 别迷信“万能函数”——每个函数都有适用边界,多试几种不吃亏
  • 形状参数是关键——高斯函数的 ε、MQ 的 c、CSRBF 的 δ,这些参数值得花时间调优
  • 数值稳定性优先——如果矩阵条件数超过 10^12,换函数或换参数,别硬算
  • 紧支撑函数是未来——随着数据量越来越大,CSRBF 的优势会越来越明显

嗯,这一节的内容就到这里。五种常用径向基函数,每种都有它的脾气。你上手用几次,自然就摸透了。