2021,Contemporary symbolic regression methods and their relative performance

在这里插入图片描述
Github:https://github.com/EpistasisLab/srbench


Abstract 摘要

问题:

符号回归近年取得了很多不错的成绩,但该领域的持续发展缺乏一个统一的,健壮的,透明的 benchmarking standards(测试基本算法的标准)

我们做了什么:

通过引入一个开源的、可重复的符号回归基准测试平台来解决这个缺点。我们在一组 252 个不同的回归问题上评估了 14 种符号回归方法和 7 种机器学习方法。

我们大概怎么做的:

我们的评估既包括没有已知模型形式的 real-world datasets,也包括 ground-truth 基准问题,包括物理方程和常微分方程组。对于 real-world datasets,我们比较了每种方法相对于最先进的机器学习方法学习低 error 和低复杂度模型的能力。对于 synthetic problem,我们评估了每种方法在存在不同程度噪声的情况下寻找精确解的能力。

我们做的挺不错:
在这些受控实验下,我们得出结论,对于 real-world regression,最好的方法是将遗传算法与和参数估计或 semantic search drivers (语义搜索驱动) 结合起来。当任务是在有噪声的情况下挖掘精确方程时,我们发现基于深度学习和基于遗传算法的方法表现类似。我们提供了一个详细的指南来重现这个实验和贡献新的方法,并鼓励其他研究人员与我们合作建立一个共同的、生动的符号回归基准。

1 Introduction

任务介绍以及研究意义

符号回归 (SR) 是一种优化分析模型参数和结构的机器学习方法。当人们希望通过数学表达式,特别是简单的表达式来描述一个过程时,SR是有用的;因此,它经常被应用于希望产生一个过程的模型,因为它的简单性,可能很容易解释。随着[1、2]在金融和医学等高风险社会应用中的模型部署变得越来越重要。此外,SR产生的数学表达式非常适合分析和控制其分布外行为(例如,在渐近行为,周期性等方面。)。SR的这些优良特性使其在物理学[3]、生物学[4]、临床信息学[5]、气候模拟[6]、金融学[7]、工程领域[8-10]等方面得到了广泛的应用。

目前工作面临的挑战

总的来说,SR 文献缺乏对新方法的评估和排序,以促进它们的广泛采用。我们的观点是,这一缺陷很大程度上源于缺乏标准化、透明和可复制的基准,特别是那些测试大量和多样化问题的基准 [11]。尽管前人的调查研究[11、12] 引出了改进 benchmark 的建议,甚至将某些问题列入 black-list,但违反这些标准的当代 literature 仍在继续出版。如果没有这些标准,很难评估哪些方法或方法族应该被认为是 “最先进的,顶尖的” (state-of-the-art , SotA)。

实现稍纵即逝的 SotA 当然不是方法研究的单一追求,但没有共同的、稳健的 benchmarking 研究,有前景的调查途径就无法得到经验证据的充分信息。我们希望本文介绍的基准测试平台能够改善对SR感兴趣的研究社区之间的交叉合作,这些研究社区包括进化计算、物理学、工程学、统计学以及更多传统的机器学习学科。

在本文中,我们描述了一个大型的基准测试工作,其中包括一个针对SR的数据集存储库(dataset repository),以及一个基准测试库(benchmarking library),以使研究人员能够轻松地贡献方法。为此,我们将130个具有基本 ground truth 形式的数据集纳入 Penn Machine Learning Benchmark (PMLB) [13],包括描述底层方程及其单位的元数据和各种汇总统计。此外,我们创建了一个名为SRBench的SR benchmark repository,并寻求该领域研究人员的贡献。在这里我们描述了这个过程和结果,包括14种当代SR方法在数百个回归问题上的比较

总结我们的贡献

据我们所知,这是迄今为止规模最大、最全面的 SR 基准测试工作,它使我们能够以更好的确定性对当前的 SotA SR 方法提出主张。重要的是,与之前的许多工作相比,这些数据集、方法、基准代码和结果都是完全开源的、可复制的和受修订控制的,这应该允许 SRBench 作为未来研究的活的基准而存在。

SRBench:https://github.com/EpistasisLab/srbench

2 Background and Motivation

阐述符号回归

SR的目标是利用成对样本数据集 D = ( x i , y i ) i = 1 N D = { ( x_i , y_i) }^N_{i = 1} D=(xi,yi)i=1N 学习一个映射 y ~ = ϕ ~ ( x , θ ~ ) : R d → R \widetilde{y} = \widetilde{\phi}( x , \widetilde{θ} ):\Bbb{R}^d→\Bbb{R} y =ϕ (x,θ ):RdR,其中特征为 x ∈ R d x∈\Bbb{R}^d xRd,目标为 y y y。SR假设存在一个形式为 y ( x ) = ϕ ∗ ( x , θ ∗ ) + ε y(x) = \phi^*(x , θ^*) + \varepsilon y(x)=ϕ(x,θ)+ε 的分析模型,该模型将产生 D \mathcal{D} D 中的观测值,在白噪声 ε \varepsilon ε 存在的情况下,通过搜索表达式空间 ϕ \phi ϕ 和参数 θ θ θ 来估计该模型。

符号回归的开创性研究

Koza [14] 介绍了 SR 作为遗传编程( GP )的一个应用,该领域研究使用遗传算法 (GA) 进化可执行的数据结构,即 programs。在所谓 “Koza-style” GP 的情况下,待优化的 programs 是由输入特征和常量的函数/操作组成的语法树。与其他遗传算法一样,GP 是一个通过迭代产生父代解的后代(例如,通过交换父代子树)和淘汰不适应的解来进化候选解种群的过程。迄今为止,大多数 SR 研究都是从该子领域及其相关会议中产生的。

介绍不同于传统 SR 的一些方法

尽管 post-hoc 方法可用来解释黑箱模型预测[15],但最近有人呼吁关注显式地学习可解释/透明模型 [2]。也许正是由于这种对模型可解释性的重新关注,提出了完全不同的SR处理方法[16-22]。这些方法包括基于贝叶斯优化的方法[16],循环神经网络( Recurrent Neural Networks,RNNs ) [17]和基于物理的分治策略[18、23]。其中一些文献提到 Eureqa,一种商业的、基于GP的SR方法,用于重新发现已知的物理方程[3],是SR的 “黄金标准” [17]、迄今为止SR的最佳方法[18]。然而,Schmidt 和 Lipson [2 ]并没有声称是SR的 SotA方法,也没有在Eureqa所依据的工作体中检验这一假设[25]。

[16] 基于贝叶斯优化的方法
[17] 基于循环神经网络 RNN 的SR,SR 的 “金标准”
[18,23] 物理基于分而治之的 SR
[18] 被认为是迄今为止最好的方法
Eureqa : 一个用于商业的,基于 GP 的 SR 方法

说明未使用 Eureqa 和  Wolfram 的原因

Eureqa 和 Wolfram[26] :应用在 SR 上成功的工具,Eureqa 和 Wolfram并未开源

尽管 Eureqa 和 Wolfram [26] 等商业平台是应用SR的成功工具,但它们并不支持受控基准实验,因此使用它们的实验有严重的缺陷。由于这两个工具都设计了前端 API,在保持实验的重要参数不变的情况下,无法将这两种方法与其他方法进行比较,包括计算工作量(the computational effort)、模型评估次数(number of model evaluations)、CPU /内存限制(CPU/memory limits)和最终解决方案评估(final solution assessment)。更一般地,考虑到这些商业工具是闭源的,研究人员无法唯一地确定软件或实验的哪些特性导致了观察到的性能差异。因此,在与 Eureqa 和 Wolfram 的比较中,很多方面尚不清楚。因此,在本文中,我们没有使用 Eureqa 作为基准,而是在一个开源包中实现其底层算法,这使得我们的实验保持透明、可重复、可访问和可控。我们在第二节详细讨论了Eureqa 的算法。

前人 benchmark 标准的提出,现今仍存在过时 SR 与 过时数据集涌现的问题

自2009年以来的SR文献的仔细阅读表明,所提出的一些方法在受控测试中优于 Eureqa,因此适合用于基准测试 [ 27,28 ]。不幸的是,这些有前景的SR方法的广泛采用受到了在良好的基准问题、测试框架和实验设计方面缺乏共识的阻碍。我们致力于建立一个共同、稳健、标准化的 SR 基准,可以通过提供明确的基线 (baseline) 来确定新方法的质量,从而加快该领域的进展。考虑到 NN community 集中在对公共基准(eg:ImageNet)、框架( e.g:TensorFlow、PyTorch)和实验设计的关注。相比之下,在 SR 文献中观察到的结果通常是基于少量低维的、容易的和不现实的问题,而这些结果与近三十年前 [14] 中描述的那些非常基本的GP系统相比。尽管对这些问题进行了详细的描述 [11],但 community 调查研究和 “black list” 问题的建议[12]、过时数据集以及与过时的 SR 方法的比较仍在当代文献中不断出现。

数据集方面的考虑

由于简洁、符号化的表达式,SR 的性能评估方面不同于典型的回归基准测试。通常,在评估不同方法的性能时,准确性(accuracy)和结果复杂度(simplicity)方面的权衡必须被考虑进去,此外,模型的简洁性通常用 sparsity 稀疏性或模型大小来衡量,只是模型可解释性的测试指标;一个简单的模型仍然可能是不可解释的,或者干脆是错误的 [30-32]。考虑到这些问题,具有 ground truth 的数据集是有用的,因为它们允许研究人员评估由给定方法回归的符号模型是否对应已知的解析解。然而,使用具有 ground truth 的合成数据集的基准测试不足以评估真实世界的性能,因此我们认为也有必要评估 SR 在 real-world 或其他 black-box 回归问题上的性能,相对于 SotA ML 方法。

引入我们的方法

最近有一些工作对SR算法进行了基准测试 [33],其中包括在94个回归问题上对4种SR方法进行基准测试的先驱[34]。在这两种情况下,SR方法仅评估其做出准确预测的能力。相比之下,Udrescu和Tegmark [18]为SR提出了120个新的基于物理的合成数据集,但只在求解速率方面与 Eureqa 进行了比较。我们工作的一个主要贡献是它的范围比以前的研究要全面得多。我们在252个数据集上包括14种SR方法,并与7种ML方法进行比较。我们的比较指标也更加全面,包括:

  1. 准确性,
  2. 简单性,
  3. 与真实过程的精确或近似的符号匹配。

此外,我们已经使该基准公开可用,可重复,并对持续集成支持的贡献开放[35]。

3 SRBench

引入 SRBench

我们通过将大量不同的基准数据集、当代 SR 方法和 ML 方法聚集在一个共享的模型评估和分析环境中,将 SRBench 创建为一个可复制的、开源的基准测试项目。SRBench 克服了 Sec.2 中描述的当前基准测试文献中的几个问题。例如,与强大的、当代的参考方法相比,它使方法研究人员很容易对数百个问题的新算法进行基准测试。这些改进使得我们对 SR 的 SotA 方法的推理比以前的工作更加确定。

SRBench 数据集

为了建立公共数据集,我们扩展了标准化回归和分类问题库 PMLB ( [13、36] ),增加了130个已知模型形式的 SR 数据集。PMLB 提供了获取和处理数据、记录和可视化数据集元数据以及贡献新数据集的工具。我们基准测试的 SR 方法都是来自几个方法家族的当代实现 (2011- 2020年),如 Table 1 所示。我们要求贡献者为他们的方法实现一个最小的、Scikit-Learn 兼容的Python API [37]。此外,要求贡献者提供最终拟合的模型作为与 symbolic mathematics library sympy 兼容的字符串。需要注意的是,尽管我们需要一个 Python 包装器,但是只要Python API可用,并且语言环境可以通过Anaconda6管理,就可以支持多种不同语言的SR实现。
在这里插入图片描述

SRBench 运行环境说明

为了保证可重复性,我们定义了一个具有固定版本的包及其依赖关系的公共环境(Anaconda)。与大多数 SR 研究不同的是,完整的安装代码、实验代码、结果和分析都可以通过 repository 提供给未来的研究使用。为了使 SRBench尽可能具有可扩展性,我们将新方法和结果纳入分析管道的过程自动化。repository 接受满足最低API要求的新方法的滚动贡献。为了实现这一点,我们创建了一个持续集成框架(Continuous Integration,CI) [35],确保贡献在到达时与基准代码兼容。每当新的实验可用时,CI 也支持结果报告和可视化的不断更新。让我们保持当代社会责任方法的常设排头兵。理想的情况是,这些特征将加快整个SR研究界对 SotA 方法的采用。关于如何使用和贡献 SRBench 的详细信息请参见第2节 A.1

4 Experiment Design

介绍整体实验的方法

我们在两个单独的任务上评估了 SR 方法。首先,我们评估了他们对 “black-box” 回归问题做出准确预测的能力(其中,数据所对应的函数未知),同时最小化所发现模型的复杂性。其次,我们测试了每种方法在源自物理和工程各个领域的已知 ground-truth 函数的 synthetic datasets 上寻找精确解的能力。

实验设置说明(数据集划分,超参数)

基本实验设置在 table 2 中进行了总结。每个算法在每个数据集上进行10次重复试验的训练 (并对于 ground-truth 问题采用不同的 level of noise),采用不同的随机状态,同时控制训练/测试分割和算法的随机种子,数据集在训练和测试中被分成 75/25%。对于 black-box 回归问题,每个算法使用5折交叉验证和减半网格搜索进行调整。SR 算法仅限于 6 种超参数组合;ML 方法被允许更多,如 table 4-6 所示. 使用最佳的超参数设置来调整最终的估计量,并根据上面描述的指标对其进行评估。实验具体操作详见 Sec A.1.
在这里插入图片描述

4.1 Symbolic Regression Methods

SR 方法介绍前引言

下面我们对 table 1 中总结的 SR 方法进行刻画,通过描述它们如何适应 SR 领域内更广泛的研究趋势。我们测试的基于 GP 的 SR 最传统的实现是gplearn,它初始化一个程序/模型的随机种群,然后通过锦标赛选择、变异和交叉等步骤进行迭代。

基于 Pareto 优化的 SR 方法

Pareto 优化方法 [8 , 47-49] 是一种流行的进化策略,它利用帕累托支配关系驱使模型种群在竞争目标之间进行有效权衡。我们测试的 SR 方法中有一半在训练过程中采用了某种形式的 Pareto 优化。Eureqa 的作者 Schmidt 和 Lipson [38] 提出了 Age-Fitness Pareto 优化算法 (Age-Fitness Pareto Optimization,AFP),它以模型的 age 作为目标,以减少早熟收敛和膨胀 [50]。AFP_FE 结合了 AFP 和 Eureqa 的方法进行适应度估计 [51]。因此,我们预期 AFP_FE 和 AFP 的表现与文献中描述的 Eureqa 类似。

基于语义与 SBP-GP 算法

另一个有前景的研究方向是在优化过程中更多地利用程序语义 (在这种情况下, 利用方程在训练样本上的中间输出和最终输出),而不是将这些信息压缩到总的适应度值中 [52]。 ε \varepsilon ε-lexicase selection (EPLEX) [27] 是一种利用语义通过案例的随机子集过滤模型来进行选择的父代选择方法,它奖励在训练数据的困难区域上表现良好的模型。EPLEX 也被用作 FEAT 中的父代选择方法 [40]。语义反向传播 (SBP) 是另一种语义技术,用于计算给定目标值和树节点位置,使得模型的输出与目标(即,标签)匹配的值 [53-55]。 在这里,我们评估了 Virgolin 等 [46] 提出的 (SBP-GP) 算法,该算法通过使用仿射变换动态适应中间输出来改进基于 SBP 的重组。

基于反向传播的梯度下降法

Topchy 和 Punch [56] 针对 GP-SR 提出了基于反向传播的梯度下降法,但相比于 stochastic hill climbing ( e.g. [3,57]),该方法出现次数更少。最近的研究 [45、58] 为使用基于梯度的常数优化作为对随机和进化方法的改进提供了有力的案例。上述研究体现在 Operon,一种利用 Levenberg-Marquadt 算法进行非线性最小二乘常数优化的 GP 方法 [59]。

定义程序或模型编码的不同方法

除了如何最好地优化常数的问题外,一系列的研究还提出了定义程序和或模型编码的不同方法。FEAT、MRGP、ITEA 和 FFX 方法都对正在演化的模型施加了额外的结构假设。在 FEAT 中,每个模型是一组演化特征的线性组合,其参数被编码为边缘,并通过梯度下降进行优化。在 MRGP [44] 中,整个程序轨迹(即模型的每个子函数)被分解为特征并用于训练 Lasso 模型。在 ITEA 中,每个模型都是相互作用-变换表达式的仿射组合,由一元函数(变换)和多项式函数(相互作用) [43、60]组成。最后,FFX [41] 只需初始化一个方程组种群,选择 Pareto 最优集,将方程组种群作为特征返回单个线性模型。

自适应重组 GP

GP-GOMEA 是一种随时间 [42,61] 自适应重组的 GP 算法。每一代,GP-GOMEA 都会在演化程序的编码中建立相互依赖的统计模型,然后利用这些信息重组组件的相互依赖块,以保持它们的一致行动。

基于贝叶斯的符号回归

Jin 等 [16] 最近提出了贝叶斯符号回归 (Bayesian Symbolic Regression,BSR),其中先验分布放在树结构上,后验分布使用 Markov Chain Monte Carlo (MCMC) 方法采样,与基于 GP 的 SR 一样,虽然 BSR 明确地将最终的模型形式定义为若干符号树的线性组合,但其算术表达式是用符号树表示的。模型的简约性是通过指定一个先验,假设小成分的可加性线性组合来鼓励的。

基于深度学习的符号回归

深度符号回归 (DSR) [17] 使用强化学习训练符号表达式的生成式 RNN 模型。从模型分布中采样的表达式被评估以创建奖励信号。DSR 引入了蒙特卡洛策略梯度算法的变体[62],称为 “风险寻求策略梯度”,以使生成模型偏向于精确表达式。

基于分治的 SR

AI Feynman 是一种分而治之的方法,它递归地应用一组求解器和问题分解启发式来构建符号模型 [18]。如果问题无法通过多项式拟合或穷举搜索直接求解,AI Feynman 在数据上训练一个神经网络,并使用它估计函数模数(例如,对称性和或可分性),用于将数据划分为更简单的问题并进行递归。我们在这里测试的一个更新版本的算法将帕累托优化与信息论复杂性度量相结合,以提高对噪声的鲁棒性 [23]。

4.2 Datasets

所有的基准数据集按实例数和特征数汇总如图 5 所示。问题范围从 47 到 100 万个实例,2 到 124 个特征。我们使用了 PMLBv.1.中提供的 122 个 black-box 回归问题。这些问题从各种开源 repository 中抽离出来,并与之重叠,包括 OpenML [6 ] 和 UCI repository [6]。PMLB 将这些数据集标准化为通用格式,并提供抓取函数将其加载到 Python (和 R )中。The black-box regression datasets 包括 46个 “real-world” 问题(即从物理过程中收集的观测数据) 和 76 个合成问题(即从静态函数或模拟中计算生成的数据)。The black-box problems 涉及多个领域,包括健康信息学 (11)、商业(10)、技术(10)、环境科学(11)和政府(12); 此外,它们来源于不同的数据源,包括 human subjects(14)、环境观测(11)、政府研究(12)和经济市场(7)。这些数据集可以通过它们的属性在 https://epistasislab.github.io/pmlb/ 上浏览。每个数据集包括描述源信息的元数据,以及一个详细的概要页面,总结数据分布和交互(这里是一个例子:https://epistasislab.github.io/pmlb/profile/analcatdata_aids.html)。

我们将 PMLB 扩展到 130 个已知 ground-truth 模型形式的数据集。这些数据集被用来评估SR方法恢复已知过程物理的能力。130个数据集来自:Feynman Symbolic Regression DatabaseODE-Strogatz repositor 数据库。两组数据均来自物理系统的第一性原理模型。The Feynman problems 起源于 Feynman 物理讲座 [65],该数据集最近被创建并提出作为SR基准[18]。the Feynman datasets 代表静态系统,而 Strogatz 问题是非线性和混沌动力学过程 [66]。每个数据集是一阶常微分方程 (ODEs) 的 2-状态系统的一个状态。它们在前期工作 [25,67]中被用于基准SR方法,在 Sec A.4 和 table 3 中进行了更详细的描述。

在这里插入图片描述

4.3 Metrics

Accuracy 我们使用决定系数评估准确性,定义为:
在这里插入图片描述
Complexity 针对 SR 已经提出了许多不同的复杂度度量,包括基于句法复杂度的复杂度度量(即与符号模型的复杂性有关);基于语义复杂性的(即与模型在数据上的行为有关) [23,68];同时使用这两种定义[69];以及通过元学习估计复杂度[70]。这些方法的优劣及其与可解释性概念的关系是一个讨论点[71]。为了简单起见,我们选择将复杂度定义为模型中数学算子、特征和常数的个数,其中数学算子在集合{+,-,*,/,sin,cos,arcsin,arccos,exp,log,power,max,min } 中。除了计算每种方法返回的原始模型形式的复杂度,我们还计算了通过 sympy 化简后模型的复杂度。

Solution Criteria 对于 groud-truth 回归问题,我们使用了如下的解定义。

Definition 4.1 (Symbolic Solution). 模型 ϕ ^ ( x , θ ^ ) \hat{\phi}( x , \hat{θ}) ϕ^(x,θ^) 是 ground-truth 模型 y ( x ) = ϕ ∗ ( x , θ ∗ ) + ε y(x) = \phi^*(x , θ^*) + \varepsilon y(x)=ϕ(x,θ)+ε 问题的符号解,如果( ϕ ^ \hat{\phi} ϕ^不退化为常数,且下列任一条件成立:

  1. ϕ ∗ − ϕ ^ = a \phi^* - \hat{\phi} = a ϕϕ^=a
  2. ϕ ∗ / ϕ ^ = b , b ≠ 0 \phi^* / \hat{\phi} = b, b≠0 ϕ/ϕ^=b,b=0
  3. 其中a 和 b 为常数

5 Results

在 252 个不同的任务上评估了 14 种符号回归方法和 7 种机器学习方法,测试结果如下:

图 1. 不同方法在不同问题测试集上的: R 2 R^2 R2 、Model Size 、 Training Time 指标的中位数数值,并按照 R 2 R^2 R2 进行了排序,其中标有 * 的是 SR 方法,横线表示 95% 的置信区间

Operon 指标 R 2    ( p ≤ 6.5 e − 05 ) R^2 ~~( p≤6.5e-05) R2  (p6.5e05) 明显比其他方法的模型更准确。SBP-GP 和 FEAT 分列第二和第三,精度相当,但 FEAT ( p = 9.2 e − 22 ) (p=9.2e-22) (p=9.2e22) 明显偏小。Operon、FEAT 和 SBP-GP 显著优于 LightGBM ( p ≤ 1.3 e − 07 ) (p ≤1.3e-07) (p1.3e07),Operon 和 SBP-GP 优于 XGBoost ( p ≤ 1.3 e − 04 ) ( p≤1.3e-04) (p1.3e04)

ITEA 的总体精度与 Random Forest 或 AdaBoost 没有显著差异。

排名前五的 SR 方法(除 SBP-GP 外)产生的模型比基于集成树的方法产生的模型小 1-3 个数量级 ( p ≤ 1.3 e − 21 ) ( p≤1.3e-21) (p1.3e21)

在非基于 GP 的 SR 算法中,FFX 和 DSR 表现相当 ( p = 0.76 ) (p = 0.76) (p=0.76),显著优于 BSR 和 AI Feynman ( p ≤ 6.1 e − 05 ) (p≤6.1e-05) (p6.1e05)。FFX 比 DSR 训练得更快

注意到 AIFeynman 在这些问题上表现不佳,一定程度上说明 AIFeynman 专门设计用于物理系统 (旋转/平移不变性、对称性等)的性质。

图 2. 将 R 2 R^2 R2 和 Model size 作为两个目标,并描绘出 Pareto 曲线, R 2 R^2 R2 和 Model size 的取值同图 1

同时考虑精度( R 2 R^2 R2)和简单性(Model size)时,不同方法的最优帕累托前沿 (实线) 由三种方法组成:Operon、GP-GOMEA 和 DSR,它们共同给出了问题中精度和简单性的最佳权衡集合。

图 3. Solution rates for the ground-truth,按照不同问题上的 Solution rates 的中值排序,不同的点标号,对应不同的噪声大小,并按照 Feynman 及 Strogatz 两个数据集进行分组

平均而言,当目标无噪声时,AIFeynman 识别精确解占 53%,几乎是次近邻方法 (GP-GOMEA , 27 %) 的两倍。在高于 0.01 的噪声水平下,其他四种方法恢复精确解的次数多:DSR,gplearn,AFP_FE 和 AFP。

结果表明 AIFeynman 在应用于 real-world 或存在噪声数据时可能是脆弱的,但它在几乎没有噪声的情况下的性能对于 Feynman 问题是重要的。在 Strogatz 数据集上,AIFeynman 的表现与其他方法相比并无显著差异,而且在任何噪声水平下,排名前 10 的方法之间的表现也几乎没有显著差异。我们注意到,在 real-world 数据上最好的方法:Operon,尽管找到了具有接近完美测试集分数的候选解,但仍然难以恢复这些问题的解决方案。

6 Discussion and Conclusions

本文介绍了一个 SR 基准测试框架,允许在广泛的不同回归问题上对当代 SR 方法进行客观比较。我们发现,在 real-world 和 black-box 回归任务上,当代基于 GP 的 SR 方法 (例如:Operon) 优于基于其他优化领域的新 SR 方法,在产生更简单模型的同时,也能表现出与梯度提升树相同或更好的性能。在合成的基本事实物理和动力系统问题上,我们验证了当噪声很小时,AI Feynman 找到的精确解明显优于其他方法;否则 ,无论是基于深度学习的方法 (DSR) 还是基于 GP 的 SR 方法 (例如:AFR_FE) 表现最好。

通过改进数据集的管理、实验设计和分析,我们看到了改进 SRBench 的明确方法。一方面,我们没有在允许它们利用并行性的设置中对方法进行基准测试,这可能会改变相对运行时间。还有许多有前景的 SR 方法未被纳入本研究,我们希望在未来的修订中增加。此外,尽管我们的基准测试包括 real-world data 以及带有 ground-truth 世界模型的模拟数据,但它不包括已知的第一原理模型(例如,质量弹簧-阻尼系统的观测)的真实数据。这样的数据可以帮助我们更好地评估SR方法在现实条件下发现关系的能力。我们打算在未来版本中纳入这些数据,因为有证据表明,SR模型有时会发现意想不到的分析模型,在一个领域中胜过专家模型(例如,在酵母代谢和流体罐系统的研究中)。作为最后的说明,我们目前的研究强调了正交方法对SR的前景,在未来的工作中我们希望探索所提出的方法(例如,非线性参数优化加上语义搜索驱动)的组合是否会产生协同效应。

Reference

[1] La Cava, W. et al. Contemporary symbolic regression methods and their relative performance. arXiv 2107.14351 (2021).

[2] https://deepai.org/publication/contemporary-symbolic-regression-methods-and-their-relative-performance

A Appendix 附录

关于 SRBench 的最新指南请参考:https://github.com/cavalab/srbench

A.1 Running the Benchmark

Github repository 中的 README 包含了一组再现基准实验的命令,这里对其进行总结。实验通过脚本 analysis.py 从实验/文件夹中启动。该脚本可以配置为在本地、LSF 作业调度器或 SLURM作 业调度器上并行运行实验。要查看全套选项,运行 python analysis.py - h。

安装配置好 conda 环境后,即可通过命令启动完整的 black-box 实验:
在这里插入图片描述
同样,通过该命令运行针对 Strogatz 数据集和 0.0 的目标噪声的地 ground-truth 回归实验:
在这里插入图片描述

A.2 Contributing a Method

方法贡献说明的一个活版本在 贡献指南 中进行了描述。为了说明贡献方法的简单性,图 4 给出了提交贝叶斯符号回归的脚本 [16]。除了代码片段之外,作者还可以将代码包添加到 conda/pip 环境中,或者提供安装脚本。当贡献者发出拉动请求时,新的方法和安装将自动在基准测试的最小版本上进行测试。一旦测试通过,方法得到基准维护人员的认可,贡献就成为资源的一部分,可以通过上述命令进行测试。

A.3 Additional Background

Eureqa

Eureqa 是 DataRobot 公司于 2017 年收购的一款基于 GP 的商用 SR 软件。由于其封闭的源代码性质,并入 DataRobot 平台,无法在控制评估次数、空间和时间限制、种群规模等重要实验变量的同时对其性能进行基准测试。然而,Eureqa 新颖的算法方面植根于我们在这里总结的一些消融研究 [38、51、77]。首先是它使用有向无环图代替树来表示方程,这使得模型编码相对于树更具有空间效率,并且在精度上没有显著差异 [77]。与传统锦标赛选择相比,最显著的改进是 Eureqa 使用年龄-适应度帕累托优化 (age-fitness Pareto optimization,AFP ),该方法将每一代随机重启作为新的子代纳入,并通过将年龄作为最小化的目标来保护与较老的、更适合的方程竞争 [38]。Eureqa 还包括适应度的协同进化预测器,其中,适应度分配通过优化第二个种群中最能区分种群中方程的训练样本指标来加速 [51]。遗憾的是,由于其闭源性,我们无法保证 Eureqa 目前使用这些已报道的 SR 算法中的任何一种。我们选择对已知算法 (AFP、AFP_FE)进 行开源实现的基准测试,希望得到的研究结论能更好地指导未来的方法开发。我们注意到,自(例如 [27,28 ])发布以来,AFP 在对照研究中的表现优于其他一些优化方法。
在这里插入图片描述

[38] Michael Schmidt and Hod Lipson. Age-fitness pareto optimization. In Genetic Programming Theory and Practice VIII, pages 129–146. Springer, 2011.

[51] M.D. Schmidt and H. Lipson. Coevolution of Fitness Predictors. IEEE Transactions on Evolutionary Computation, 12(6):736–749, December 2008. ISSN 1941-0026, 1089-778X. doi: 10.1109/TEVC.2008. 919006.

[77] Michael Schmidt and Hod Lipson. Comparison of Tree and Graph Encodings As Function of Problem Complexity. In Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, GECCO ’07, pages 1674–1679, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-697-4. doi: 10.1145/1276958.1277288.

Constant optimization in Genetic Programming

Kozastyle GP 最明显的改进之一是采用局部搜索方法来处理明显来自进化学习的不断优化。关于 GP 中常数的优化,有几个原因可以解释为什么反向传播和梯度下降可以被认为在 GP 中使用相对较少 (与之相比,例如,进化神经结构搜索)。例如,早期的工作往往忽略了特征标准化的使用,其不足会损害梯度传播 [78]。除此之外,GP 依赖于从大量操作中加工组合物,其中一些操作容易导致梯度消失或爆炸。最后,据知,该领域缺乏全面的研究,为恒定优化 (学习速率调度、迭代次数、批次大小等) 提供合适的超参数,以及如何有效地平衡参数学习与进化

A.4 Additional Dataset Information

dataset

在这里插入图片描述

所有的基准数据集按实例数和特征数汇总如图 5 所示。问题范围从 47 到 100 万个实例,2 到 124 个特征。我们使用了 PMLBv.1.中提供的 122 个黑箱回归问题。这些问题从各种开源 repository 中抽离出来,并与之重叠,包括 OpenML [6 ]和 UCI repository [6 ]。PMLB 将这些数据集标准化为通用格式,并提供抓取函数将其加载到Python (和 R )中。黑箱回归数据集包括 46个 “real-world” 问题(即从物理过程中收集的观测数据) 和 76 个合成问题(即从静态函数或模拟中计算生成的数据)。黑箱问题涉及健康信息学( 11 )、商业( 10 )、技术( 10 )、环境科学( 11 )和政府( 12 )等多个领域;此外,它们来源于不同的数据源,包括人类受试者( 14 ),环境观测( 11 ),政府研究( 12 )和经济市场( 7 )。这些数据集可以通过它们的属性在https://epistasislab.github.io/pmlb/ 上浏览。每个数据集包括描述源信息的元数据,以及一个详细的概要页面,总结数据分布和交互(这里有一个例子:https://epistasislab.github.io/pmlb/profile/analcatdata_aids.html)。

我们将 PMLB 扩展到130 个已知真值模型形式的数据集。这些数据集被用来评估 SR 方法恢复已知过程物理的能力。130 个数据集来自两个来源:Feynman Symbolic Regression Database 和,ODE-Strogatz repository

两组数据均来自物理系统的第一性原理模型。Feynman 问题起源于 Feynman 物理讲座 [65],该数据集是最近创建并提出的 SR 基准 [18]。Feynman 数据集代表静态系统,而 Strogatz 问题是非线性和混沌动力学过程 [66]。每个数据集是一阶常微分方程( ODEs )的2 -状态系统的一个状态。它们在前期工作 [25,67]中被用于基准SR方法,在 Sec. A.4 中进行了更详细的描述。和 table 3 .

在这里插入图片描述
包括元数据在内的所有数据集均可从 PMLB 获得。每个数据集使用 Git Large File 存储,并计划 PMLB 进行长期维护。PMLB 在 MIT 下可用

Dataset Properties

数据集性质数据集大小按样本和特征的分布如图 5 所示。数据集的规模从几千到几百万不等,特征多达上千种。数据集可以在 repository documentation 中导航和检查。

在这里插入图片描述

Ethical Considerations and Intended Uses

PMLB 旨在作为基准测试 ML 和 SR 算法的框架,并作为研究数据集结构的资源。本文不贡献新的数据集,而是对已经公开可用的数据集进行整理和标准化。就此而言,我们并不认为SRBench在使用过程中会产生额外的伦理问题。然而,值得注意的是,PMLB包含了来自UCI和OpenML的众所周知的、real-world 的数据集,其中的伦理考虑非常重要,例如 USCrime 数据集,虽然我们会认为从这个数据集中产生的危害风险是低(数据来自1960年),但它是一个典型的任务,其中算法决策可能会加剧刑事司法系统中现有的偏见。因此,它在ML公平性文献( e.g. [ 79 , 80 ])中的一些论文中被用作基准。本文的数据集都不包含个人身份信息。

Feynman datasets

The Feynman benchmarks 来源于 Feynman Symbolic Regression Database.,我们将 Feynman 和 Bonus 方程标准化为PMLB格式,并纳入元数据,详细说明模型形式和每个变量的单位。我们使用了未经过量纲分析简化的方程版本。Udrescu 和 Tegmark [18] 将每个数据集描述为包含105行,但实际上每个数据集包含106行。考虑到这种差异,在注意到子采样没有显著改变任何问题的相关结构后,每个数据集从100万个样本降采样到10万个,以降低计算负担。我们还观察到 Eqn.II.11.17从数据库中缺失。最后,我们从分析中排除了包含 arcsin 和 arccos 函数的3个数据集,因为这些函数在我们测试的大多数SR算法中没有实现。

Strogatz datasets

Strogatz 数据集来源于 ODE-Strogatz repository [67] 每个数据集是一阶常微分方程 (ODEs) 的 2 状态系统的一个状态。每个问题的目标是在给定当前所依赖的两个状态下,预测状态的变化率。每一个都代表了表现出混沌和非线性动力学的自然过程。该问题最初由Schmidt [25] 改编自 [66]。为了模拟它们的行为,初始条件选择在 stable basins of attraction 内。利用 Simulink 对各个系统进行了仿真,仿真代码可在上述库中获得。每个数据集的计算公式如表 3 所示。
在这里插入图片描述

Adding Noise

在这里插入图片描述

A.5 Additional Experiment Details

实验在由 24~28核 Intel® Xeon® CPU E5-2690 v4 @ 2.60GHz 处理器和250GB RAM的主机组成的异构集群计算环境中运行。Jobs由每个方法在单个数据集上针对固定的随机种子进行训练组成。每个作业接收一个CPU核心和高达16GB的RAM,并具有时间限制,如表 2 所示。对于 ground-truth problems,每种方法的最终模型都额外增加了一个小时的计算时间,使用8GB的RAM进行 sympy 简化,并通过求解标准进行评估(见 Def.4.1 )。对于 black-box 问题,如果某个作业由于时间限制而被杀死,我们在没有超参数调优的情况下重新运行实验,从而只需要单次训练迭代在48小时内完成。为了减轻大数据集的计算负担,超过10000个样本的训练数据被随机子集到10000行;测试集预测仍然在整个测试折叠中进行评估。

各方法的超参数设置如表 4~6 所示。每种 SR 方法从 6 个超参数组合中进行调优。然后将 black-box 回归实验中选择的最常见的参数设置作为解决 ground-truth problems 的每个算法的 “调优” 版本,更新到 1) 包含这些问题所需的任何数学运算符和 2) 加倍评估预算。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

A.6 Additional Results

A.6.1 Subgroup analysis of black-box regression results

PMLB 中的许多 black-box problems 最初来源于 OpenML。一些作者注意到,其中一些数据集来自 Friedman [81] 的合成基准。这些数据集是由噪声程度、变量交互作用、变量重要性和非线性程度不同的非线性函数生成的。由于它们的数量,它们可能对 PMLB 中的结果报告产生较大的影响。在图 6 中,相对于 PMLB 的其余部分,我们分离出了关于这组问题的结果.我们确实发现,相对于 PMLB 的其余部分,Friedman 数据集上的结果对排名靠前的方法的区分比其他基准中的方法更强烈,在这一点上,排名靠前的方法之间的性能更相似。总的来说,虽然我们看到在查看特定数据分组时方法排名有所变化,但我们并没有观察到较大的差异。一个例外是 Kernel 岭回归,它在 Friedman 数据集上表现很差,但在PMLB的其余数据集上表现很好。我们建议未来对PMLB的修订扩大数据集,以尽量减少任何一种数据来源的影响,并包括亚组分析,以确定哪些类型的问题最好通过特定的方法来解决。
在这里插入图片描述

为了更好地理解方法和数据集之间的性能差异,对每个数据集上的方法排名进行了双聚类,并在图 7 中进行了可视化。在基准测试中表现最相似的方法被放置在彼此相邻的位置,同样地,诱导相似方法排名的数据集被分组。我们首先注意到一些预期的分组:AFP 和 AFP_FE 仅在适应度估计上存在差异,而FEAT和EPLEX采用相同的选择方法,表现类似。我们还观察到Friedman 数据集之间的聚类(以’ fra_'开头的名字),并再次注意到在这些问题上表现良好的方法之间的明显差异,例如。Operon、SBP-GP、FEAT,不存在的像 MLP 的情况。这一结果也揭示了一组SR方法 (AFP、AFP_FE、DSR、gplearn)在 real-world problems (ancatdata_neavote_523-vineyard_192)的子集上表现良好,其中线性模型也表现良好。有趣的是,对于该问题子集,相对于其在其他数据集上的强表现,Operon 的表现平平。我们还惊讶地注意到 DSR 和 gplearn 表现出了与 AFP/AFP_FE 相同的性能相似性,并且是下一个性能最相似的方法(注意连接这些列的树状图)。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值