2022, GECCO,Taylor Genetic Programming for Symbolic Regression

ABSTRACT

问题:

遗传规划(GP)是求解符号回归(SR)问题的常用方法。与求解 SR 问题依赖于预定义模型和训练数据集的机器学习或深度学习方法相比,GP 更专注于在搜索空间中寻找解。虽然 GP 在大规模基准测试集上具有良好的性能,但是它没有利用数据集的特点,而是将个体随机地转化为搜索结果。因此,GP的搜索过程通常比较缓慢,最终的结果可能不稳定。为了利用这些特性指导GP

我们的方法:

我们提出了一种新的 SR 方法,称为 Taylor 遗传规划 ( TaylorGP ) 。

我们大致是怎么做的:

Taylor GP 利用一个泰勒多项式来近似拟合数据集的符号方程。它还利用泰勒多项式提取符号方程的特征:低阶多项式判别、变量可分性、边界、单调性和奇偶性。GP 通过这些泰勒多项式技术得到增强。

我们做的不错:

实验在经典 SR、机器学习和物理 3 种基准上进行。实验结果表明,TaylorGP 不仅比九种基线方法具有更高的准确率,而且在寻找稳定结果时速度更快。

1 INTRODUCTION

说明问题: 

符号回归(Symbolic Regression,SR) 是指从数学表达空间中寻找一个拟合给定数据集 ( X , Y ) (X , Y) (X,Y) 的符号方程 f θ f_θ fθ,即 f θ ( X ) = Y f_θ ( X ) = Y fθ(X)=Y。即使对于相当简单的符号方程,数学表达空间也是巨大的。例如,如果一个符号方程用最大深度为 4 的二叉树表示,有 20 个变量 ( x 1 , x 2 , . . . , x 20 ) (x_1 , x_2 , ... , x_{20}) (x1,x2,...,x20) 和 18 个基函数 (例如 + , - 和 sqrt),则空间的大小为 8.2 × 1 0 162 8.2 × 10^{162} 8.2×10162 [25]。因此,从庞大的可能搜索空间中为数据找到一个好的符号方程是一项具有挑战性的任务。

目前最好的研究以及面临的问题:

进化计算(EC)和机器学习(ML)的研究团体一直试图从各自的角度解决SR问题。EC方法,特别是遗传规划( Genetic Programming,GP)方法[14、26、36、44],旨在通过进化种群中每个个体的编码来搜索数学表达式空间。GP方法的主要优点是算法组件具有通用性和自适应性,包括选择、交叉、变异和适应度评价等过程。利用这些组件,GP算法在数学表达空间中随机搜索一个符合数据集的模型 f θ f_θ fθ,而不像机器学习方法(例如,神经网络)那样在已知模型 f f f 下试图寻找并优化一组参数 θ θ θ。然而,GP 搜索过程通常不考虑给定数据集的特征,这可能是一个改进的机会。ML (包括神经网络)方法[2 , 22 , 28 , 33 , 42 , 47]在预定义模型f中寻找参数 θ θ θ,使得模型拟合数据集,即 f θ ( X ) = Y f_θ(X) = Y fθ(X)=Y。机器学习方法大量利用数据集的特征来指导参数的搜索和优化。因此,参数搜索过程是有效的。然而,在求解SR问题时,尽管机器学习方法可以快速恢复一些正确的符号方程 f θ s f_θs fθs,但其结果通常会受到预定义的回归模型 f s fs fs 和训练数据集的影响。例如,在最近的一项使用大规模基准对 SR 问题的算法进行评估 [5] 中,结果表明排名前三的方法仍然是基于 GP 的方法,并且 GP 方法仍然比基于机器学习的方法具有实质性的优势。

描述我们的工作: 

本文提出了一种新的遗传规划方法 – 泰勒遗传规划(Taylor GP)。为了克服普通GP的缺点:没有考虑数据特征。我们将 Taylor 特征嵌入到 GP 中,并利用特征指导 GP 搜索解。TaylorGP,如图 1 所示,首先从给定的数据集中获得一个点处的 k 阶Taylor多项式。根据泰勒定理,k 阶泰勒多项式在该点附近逼近一个拟合给定数据集的光滑函数。此外,k 阶泰勒多项式可以显示平滑函数(称为泰勒特征)的局部特征。

泰勒特征包括 3 个关键组成部分:变量可分性(variable separability)、低阶多项式区分度(low order polynomial discrimination) 和函数特征(function feature)。利用变量可分性,TaylorGP 可以将多元 Taylor 多项式 T T T 分解为多个一元 Taylor 多项式 T i s T_is Tis。例如,双变量泰勒多项式 1.1 x + 0.2 x 2 − 3.7 + 1.5 y − 0.25 y 3 + 0.0125 y 5 1.1x + 0.2x^2 - 3.7 + 1.5y - 0.25y^3 + 0.0125y^5 1.1x+0.2x23.7+1.5y0.25y3+0.0125y5 根据变量可分性可以分解为两个单变量泰勒多项式 1.1 x + 0.2 x 2 − 3.7 1.1x + 0.2x^2 - 3.7 1.1x+0.2x23.7 1.5 y − 0.25 y 3 + 0.0125 y 5 1.5y - 0.25y^3 + 0.0125y^5 1.5y0.25y3+0.0125y5。TaylorGP 然后应用多项式判别来判断每个 T i T_i Ti 是否为多项式。TaylorGP 运行函数特征演化方法寻找符号化方程来拟合 T i T_i Ti。函数特征进化方法根据函数特征创建一组规则,对 λ λ λ 个个体进行重组。该方法还采用个体初始化方法随机产生 β β β 个个体,防止早熟收敛。TaylorGP 最终汇集所有 T i s T_is Tis 的数学表达式,生成最终的符号方程。

由于泰勒特征是由 k 阶泰勒多项式中的系数直接导出的,因此获得特征简单快速。例如,“ 1.1 x + 0.2 x 2 − 3.7 1.1x + 0.2x^2 - 3.7 1.1x+0.2x23.7 1.5 y − 0.25 y 3 + 0.0125 y 5 1.5y - 0.25y^3 + 0.0125y^5 1.5y0.25y3+0.0125y5” 中每个两变量乘积项 x m y n x^my^n xmyn 的系数为零,即泰勒多项式是变量可分的。,因此,将这些特征嵌入到GP中并不会增加GP的计算时间复杂度,此外,由Taylor特征引导的搜索过程使得TaylorGP能够比不使用特征更快地找到正确的符号方程。

罗列贡献:

(1)我们提出了一种简单而有效的符号回归泰勒遗传规划( Taylor GP )方法。Taylor GP 将 GP 的解搜索策略(例如, 变异、交叉)的一般特性与 ML (NN) 的特征导向搜索相结合。

(2)本文设计了一种新的泰勒特征提取方法。利用从数据集中获得的泰勒多项式,该方法可以将数据集映射为能够表示目标符号方程性质的特征。此外,我们创建了函数特征进化方法,根据这些特征对个体进行变换。

(3)在经典的SR [34]、AIFeynman [47]和 Penn机器学习[41] 三类基准上进行了实验。我们证明 TaylorGP 显著优于 FFX [33]、GSGP [38]、BSR [18] SVM, 和 XGBoost 等现有方法。

2 RELATED WORK

2.1 Machine learning for symbolic regression

机器学习中的回归分析,如线性回归 [50]、SVM [10]、XGBoost [8]、神经网络(Neural Network,NN) [30] 等,都可以看作 SR 的特例。与 SR 需要同时找到模型及其参数值不同,机器学习旨在寻找一个预定义模型 f f f 中参数的值 (θ),使得 f θ ( X ) = Y f_θ(X) = Y fθ(X)=Y。许多ML方法,如深度神经网络,通常采用梯度下降法获得目标参数集 θ。根据训练数据集 {(X , Y),F} 的特征,训练神经网络 [2 , 23 , 28 , 42 , 43]从数据集(X , Y)中学习生成数学方程 f ( X ) = Y f(X) = Y f(X)=Y。例如,GVAE(GVAE) [28] 训练一个变分自编码器 [23],使用上下文无关文法直接对解析树进行编码和解码。最近,DSR[42] 使用强化学习算法(RL)训练的循环神经网络进行SR。该算法使用风险寻求策略梯度在易于处理的数学表达式上发出分布。DSR根据该分布对带有常数占位符的数学表达式进行采样,利用非线性优化算法BFGS[15]得到这些常数。受BERT [13]和GPT[4]等大型数据集上预训练模型的成功启发,Ne SymReS [2]在数以亿计的方程上预训练一个名为Set Transformer的模型,根据给定的数据集(X , Y)生成数学表达式的分布。此外,NeSymReS通过光束搜索在分布上采样带有常数占位符的数学表达式,并使用BFGS优化这些常数。

除了上述用于SR的神经网络外,EQL [32、43]设计了一个浅层全连接神经网络,将标准激活函数(如tanh、ReLU等)替换为基函数(e.g. , ’ + ’ , ’ × , ’ sin)。一旦神经网络被训练,它可以表示一个符号方程拟合给定的数据集。AIFeynman [46、47] 使用神经网络将给定的数据集映射为简化属性(例如,对称性、可分性和组合性)。然后,该方法使用以这些简化性质为指导的暴力递归算法和一系列受物理启发的技术来搜索可能的符号表达式。

寻找可能的符号表达的技术。上述机器学习方法,尤其是深度学习方法,在一些特定的基准上具有出色的发现数学方程的能力。然而,在大规模基准测试集上的实验[5]表明,ML或DL找到的数学方程比基于GP方法找到的数学方程精度低。例如,排名前五的方法中有4个和排名前十的方法中有6个是基于GP的方法,其他排名靠前的方法是基于集成树的方法,如XGBoost和LightGBM [19]。令人惊讶的是,顶端的方法并不包括两种神经网络方法DSR和AIFeynman。此外,神经网络方法似乎更依赖于训练数据集。如果神经网络的结构(层层递进)不能从数据集中提取有效的特征,则无法发现正确的数学方程。

2.2 Genetic programming for symbolic regression

GP [26] 仍然是处理 SR 的常用方法。GP 使用进化算子-- crossover, mutation, 和 selection,来改变个体的编码并产生更好的 offspring,以便在数学表达式空间中搜索解。不同的 GP 使用不同的个体编码来表示数学方程。基于树编码的 GP [ 7,26,35,38,45],基于图编码的 GP [37,44],线性编码 GP[3,14,31]

对于数学表达式空间,实常数的存在占空间大小的很大一部分。例如,前述问题在引言部分的规模为 8.2×10 162 ^{162} 162 次方,相比之下,在没有实际常数的情况下,其大小为 1.054 × 10 19 ^{19} 19 次方 [25],提出了一些带有常数优化器的 GP 方法 [24、27、51] 来搜索空间。这些方法通过使用常量占位符来表示数学表达式的骨架。并且使用常数优化器来寻找这些常数占位符中的值。AEG-GP [24、25]使用抽象表达式文法表示数学表达式的骨架,并使用 PSO [21] 寻找常数值。与 AEG - GP 不同,PGE [ 51 ] 是一个确定性的SR算法,提供可靠和可重复的结果。PGE在保持 GP 基于树的表示和 Pareto 非支配排序的同时,用语法规则代替遗传算子和随机数,该方法还使用非线性回归来拟合数学方程的常数。基于GP的特征工程方法,如基于GP的特征构造[27]、MRGP [1]、FEW [29]、M3GP [40]和 FEAT [6]等,利用EC搜索可能的表示,并与ML模型耦合来处理表示的参数。与基于GP的特征工程方法不同,FFX [33]是一种确定性的SR算法。

另一条研究路线使用神经网络和GP的混合,称为 DL-GP。DL-GPs [ 11,39,52,53]利用神经网络从给定的数据集中获取特征并应用这些特征来指导 GP。例如,Xing 等[ 52 ]设计了基于超分辨率ResNet的编码器-解码器神经网络,从给定的数据中预测每个数学算子的重要性;并利用每个数学算子的重要性来指导GP。Cranmer 等[11]训练一个图神经网络来表示给定数据集的稀疏潜在特征,并使用GP生成与这些潜在特征拟合的符号表达式。DL - GPs仍然依赖于耗时的训练工作和训练数据集。

与 AIFeynman 一样,TaylorGP 也需要从给定的数据集中提取符号方程的属性(例如,可分性和低阶多项式)。然而,不同的是 AIFeynman 使用神经网络来获得这些属性,而 TaylorGP 在给定的数据集上使用泰勒级数中的系数来实现目标。因此,TaylorGP不需要训练模型,也不依赖于训练数据。

3 TAYLOR FEATURES ANALYSIS

3.1 Obtaining a Taylor polynomial

\quad\quad 泰勒定理 [17] 指出,如果函数 f f f 在包含 a a a 的开区间上有 n + 1 n + 1 n+1 个连续导数,则对于区间中的每个 x x x

\quad\quad 因此,k 阶泰勒多项式 ∑ k = 0 n f ( k ) ( a ) k ! ( x − a ) k \sum_{k=0}^n \frac{f^{(k)}(a)}{k!} (x - a)^k k=0nk!f(k)(a)(xa)k 用于在 a a a 附近来近似 f f f

\quad\quad 给定数据集 ( X , Y ) (X , Y) (X,Y),对于任意一点 ( x 0 , y 0 ) ∈ ( X , Y ) (x_0 , y_0) ∈ (X , Y) (x0,y0)(X,Y),可以通过以下三个步骤得到该点周围的 k 阶泰勒多项式。首先,从数据集中选取 ( x 0 , y 0 ) (x_0 , y_0) (x0,y0) 周围的 k 个点 ( ( x 1 , y 1 ) , . . , ( x k , y k ) ) ({(x_1 , y_1),..,( x_k , y_k)}) ((x1,y1)..(xk,yk))。接下来,根据选取的 k k k 个点,通过下式聚集 k k k k k k 阶泰勒多项式。

式中: f ( x i ) = y i f(x_i) = y_i f(xi)=yi。最后一步由式 (3) 得到 k k k 阶导数 F F F

\quad\quad 其中 F = [ f ′ ( a ) , f ′ ′ ( a ) , . . . f k ( a ) ] T , D = [ y 1 − y 0 , y 2 − y 0 , . . . y k − y 0 ] F = [f^{'}(a), f^{''}(a), ... f^{k}(a)]^T,D = [y_1 - y_0, y_2 - y_0, ... y_k - y_0] F=[f(a),f′′(a),...fk(a)]TD=[y1y0,y2y0,...yky0],对于每个 a i j ∈ A , a i j = ( x i − x 0 ) j j ! a_{ij} \in A, a_{ij} = \frac{(x_i - x_0)^j}{j!} aijA,aij=j!(xix0)j. 最终计算出的 F 可以生成 k 阶泰勒多项式。

3.1.1 缩放到高维数据集 (Scaling to a high dimensional dataset)

\quad\quad 在数学上, k k k 的阶数越高,泰勒多项式越精确。然而,在实际应用中,高维数据集 D D D 中的 k k k 不能太高,因为存在以下两点限制。根据多元函数的泰勒定理, n n n k k k 阶泰勒多项式有 C n + k n C^n_{n + k} Cn+kn 项。因此,需要在点周围采样 C n + k n − 1 C^n_{n + k} - 1 Cn+kn1 个点来获得泰勒多项式。但是,如果 k k k 太高, C n + k n − 1 C^n_{n + k} - 1 Cn+kn1 会大于 D D D 中的所有点,这是不可能的。因此,必须限制 k k k 使得 C n + k n − 1 < D C^n_{n + k} - 1 < D Cn+kn1<D 。另一个局限性是,如果 k k k 值过高,由于 A A A 是超大规模的 ( ( C n + k n − 1 ) × ( C n + k n − 1 ) ) ( ( C^n_{n + k} - 1 ) × ( C^n_{n + k} - 1) ) ((Cn+kn1)×(Cn+kn1)) 矩阵,计算式 3 中矩阵 A A A 的逆是一个很大的挑战。因此,我们通常在高维数据集中取 k = 1 k = 1 k=1 2 2 2

3.2 提取泰勒特征(Extracting Taylor features)

\quad\quad 由于上述 k k k 阶泰勒多项式是由给定的数据集 ( X , Y ) (X , Y) (X,Y) 生成的,因此它可以在一个点 ( x 0 , y 0 ) (x_0 , y_0) (x0,y0) 附近逼近一个拟合数据集 (即 f ( X ) = Y f(X) = Y f(X)=Y) 的函数 f f f。它还可以表示 f f f 的一些局部特征,称为 Taylor 特征。本文讨论了泰勒特征 (Taylor features): 低阶多项式 (low order polynomial,)、变量可分性 (variable separability)、函数边界 (function boundary,)、单调性和奇偶性 (monotony and parity.)。

3.2.1 低阶多项式判别 (Low order polynomial discrimination)

\quad\quad 对于 SR,一个关键的问题是判别是否存在(或仅存在)能够代表给定数据集的低阶多项式。如果存在,则可以使用线性回归算法得到,该算法可以快速求解 SR。k 阶泰勒多项式因其系数的存在,可以很容易地解决判别问题。如果一个函数是 k 阶多项式,那么它在一点处的泰勒展开也是 k 阶多项式。例如,对于 “ 1.1 x + 0.2 x 2 − 3.7 1.1x + 0.2x^2 - 3.7 1.1x+0.2x23.7”,它在 x = 1 x = 1 x=1 处泰勒展开也是 “ 1.1 x + 0.2 x 2 − 3.7 1.1x + 0.2x^2 - 3.7 1.1x+0.2x23.7”。而如果一个函数不是 k k k 阶多项式,那么它在一点处的泰勒展开式就是一个无穷阶多项式。对于 1.5 s i n ( x ) 1.5 sin(x) 1.5sin(x),其泰勒展开式为无穷阶多项式。因此,对于从数据集中得到的 k k k 阶泰勒多项式,在其次数大于 i   ( i < k ) i ~(i < k) i (i<k) 的每一项中,若系数为零,则 k k k 阶泰勒多项式所逼近的函数为低 i i i 阶多项式。

3.2.2 变量可分性 (variable separability)

\quad\quad 对于多元函数 f ( x 1 , . . . , x n ) f (x_1 , ... , x_n) f(x1,...,xn),如果存在算子 " o ",使得 f ( x 1 , . . . , x n ) = f 1 ( x i , . . . , x k )   o   f 2 ( x m , . . . , x p ) f (x_1 , ... , x_n) = f_1 ( x_i , ... , x_k) ~o~ f_2 ( x_m , ... , x_p) f(x1,...,xn)=f1(xi,...,xk) o f2(xm,...,xp),其中两个变量集 x i , . . , x k { x_i,..,x_k } xi..xk x m , . . , x p { x_m,..,x_p } xm..xp 都属于 x 1 , . . , x n { x_1,..,x_n } x1..xn,且 x i , . . , x k ∩ x m , . . , x p = ∅ { x_i,..,x_k }∩{ x_m,..,x_p } = \emptyset xi..xkxm..xp= (空集),则称 " o " 可分。可分性可以将一个复杂的多元函数分解成多个简单函数。

\quad\quad 如果 " o " 是加法或乘法,则分别称为加法可分性或乘法可分性。n 元 k 阶泰勒多项式可以分别表示这两种可分性性质。对于泰勒多项式,如果各多变量项中的系数为零,则泰勒多项式逼近的函数是加法可分的。如图 1 所示,“ 1.1 x + 0.2 x 2 + 1.5 s i n ( y ) − 3.7 1.1x + 0.2x^2 + 1.5sin(y) - 3.7 1.1x+0.2x2+1.5sin(y)3.7” 的泰勒展开式为 “ 1.1 x + 0.2 x 2 − 3.7 + 1.5 y − 0.25 y 3 + 0.0125 y 5 1.1x + 0.2x^2 - 3.7 + 1.5y - 0.25y^3 + 0.0125y^5 1.1x+0.2x23.7+1.5y0.25y3+0.0125y5” . 其中每个多变量项中的系数为零,即每个 c x i y j cx^iy^j cxiyj 中的 c c c 为 0。因此,根据加法可分性,将泰勒多项式分解为多个多项式,如 1.1 x + 0.2 x 2 + 1.5 s i n ( y ) − 3.7 1.1x + 0.2x^2 + 1.5sin(y) - 3.7 1.1x+0.2x2+1.5sin(y)3.7 ( 1.1 x + 0.2 x 2 − 3.7 ) + ( 1.5 y − 0.25 y 3 + 0.0125 y 5 ) (1.1x + 0.2x^2 - 3.7) + (1.5y - 0.25y^3 + 0.0125y^5) (1.1x+0.2x23.7)+(1.5y0.25y3+0.0125y5)

\quad\quad 上述同理可以用来判别乘法可分性。因为,如果一个函数是乘法可分的,即 f ( x 1 , . . . , x n ) = f 1 ( x i , . . . , x k )   ×   f 2 ( x m , . . . , x p ) f (x_1 , ... , x_n) = f_1 ( x_i , ... , x_k) ~×~ f_2 ( x_m , ... , x_p) f(x1,...,xn)=f1(xi,...,xk) × f2(xm,...,xp),则 l o g f ( x 1 , . . . , x n ) = l o g f 1 ( x i , . . . , x k )   +   l o g f 2 ( x m , . . . , x p ) log f (x_1 , ... , x_n) = log f_1 ( x_i , ... , x_k) ~+~ logf_2 ( x_m , ... , x_p) logf(x1,...,xn)=logf1(xi,...,xk) + logf2(xm,...,xp)。因此,如果计算数据集的对数后得到的 n 元 k 阶泰勒多项式是加法可分的,那么该函数就是乘法可分的。

3.2.3 边界 (Boundary)

\quad\quad k k k 阶泰勒多项式可以用来估计函数 f f f 在区间 [ x a , x b ] [x_a , x_b] [xa,xb] 处的边界。由于它是多项式,其边界由区间算法计算。例如,泰勒多项式 “ 1.1 x + 0.2 x 2 − 3.7 1.1x + 0.2x^2-3.7 1.1x+0.2x23.7” 的边界为 [ − 1.1 , 1.1 ] + 0.2 × [ 0 , 1 ] − 3.7 = [ − 4.8 , − 2.4 ] [ - 1.1, 1.1] + 0.2 × [ 0 , 1] - 3.7 = [-4.8 , - 2.4] [1.1,1.1]+0.2×[0,1]3.7=[4.8,2.4],其中 x ∈ [ − 1 , 1 ] x∈[ -1 , 1] x[1,1]

3.2.4 单调性 (Monotonic)

\quad\quad 对于数据集 ( X , Y ) (X , Y) (X,Y) 中的所有点 ( x i , y i ) (x_i , y_i) (xi,yi),若 y i ≥ y j y_i≥y_j yiyj x i ≥ x j x_i≥x_j xixj,则该数据集代表的函数为单调递增函数。否则,若 y i ≥ y j y_i≥y_j yiyj x i ≤ x j x_i≤x_j xixj,则函数为单调递减函数。

3.2.5 奇偶性 (Parity)

\quad\quad k k k 阶泰勒多项式 T ( x ) T(x) T(x) 为奇函数或偶函数,即 T ( − x ) = − T ( x ) T(-x) = -T(x) T(x)=T(x) T ( − x ) = T ( x ) T(-x) = T(x) T(x)=T(x),则其逼近的函数也为奇函数或偶函数。虽然方法简单,但测试所有点都很耗时。

\quad\quad 另一种方法是统计 k 阶泰勒多项式中除 0 阶项 (常数项) 外的奇数阶项和偶数阶项。如果 k 阶泰勒多项式只含有奇(偶)阶项,则它是奇(偶)函数。例如,给定 f ( x ) = 1.5 s i n ( x ) − 3.7 f( x ) = 1.5sin ( x ) - 3.7 f(x)=1.5sin(x)3.7,其泰勒多项式在 x = 0 x = 0 x=0 点为 1.5 x − 0.25 x 3 + 0.0125 x 5 + . . . + 4.217 e − 15 x 17 − 3.7 1.5 x - 0.25 x^3 + 0.0125x^5 + ... + 4.217e-15x^{17}-3.7 1.5x0.25x3+0.0125x5+...+4.217e15x173.7,去掉 0 0 0 阶项 -3.7 后,泰勒多项式只含有奇数阶项,如 0.25 x 3 0.25x^3 0.25x3 0.0125 x 5 0.0125x^5 0.0125x5。因此,它是一个奇函数。

4 TAYLOR GENETIC PROGRAMMING

Taylor GP 如图 1 所示,包括以下 6 个步骤:

  • 1) 从给定的数据集中获得一个泰勒多项式 T ( x , y ) T(x, y) T(x,y);(Obtain a k-order Taylor polynomial)
  • 2) 将泰勒多项式分解为多个简单的泰勒多项式 ( T 1 , T 2 , . . . , T n ) ({ T_1 , T_2 , ... , T_n }) (T1,T2,...,Tn) (Decomposion the k-order Taylor polynomial)
  • 3) 判别低阶多项式; (is_polynomial)
  • 4) 提取函数特征; (Extracting function feature from T i ( x i ) T_i(x_i) Ti(xi))
  • 5) 运行函数特征演化方法; (Function feature Evolution for T i ( x i ) T_i(x_i) Ti(xi))
  • 6) 组装数学表达式。 (Asseembling mathematical expressions)
  • 如何执行步骤:1),2),3),4) 在第 3 节已经介绍。步骤 6) 简单,只需将每个简单泰勒多项式找到的数学表达式组合成各种完整的数学方程,并进行求值。因此,下面的内容详细介绍步骤 5)。

\quad\quad 函数特征演化方法 (FFEM),如算法 1 所示,基于包含边界、单调性和奇偶性的函数特征 F 进化个体。FFEM 主要包含两个演化算子,个体初始化 (initIndividualByFeatures) 和个体重组 (rebindingbyFeatures recombineByFeatures)。个体初始化算子随机生成满足函数特征的个体。个体重组算子对个体进行变换,保证生成的个体满足函数特征。在每一代中, FFEM 利用个体重组以概率 α α α 产生子代;利用个体初始化以概率 β β β 产生子代;以概率 ( 1 − α − β ) (1-α-β) (1αβ) 将个体保存为其他子代。

4.1 Individual initialization (个体初始化)

\quad\quad 随机生成满足函数特征 F 的个体的概率很小。而获得这些候选个体的 N 个数的过程非常耗时。为了加快这一过程,个体初始化算子首先将数学表达空间分割成许多子空间。然后评估这些子空间的功能特征。最后,随机选择满足 F 的子空间,并在这些子空间中随机生成个体,直到满足 F

4.1.1. 分割数学表达空间 (Segmenting mathematical expression space)

\quad\quad 树可以用来表示一个数学表达式。一个深度为 h 的树还显示了一个包含从树中展开的所有数学表达式的子空间。此外,所有深度为 h 的树表示数学表达式空间的一个片段。例如,给定一个基函数集 { +,sin } 和一个变量集 { x,c },将数学表达式空间划分为深度为 3 的树编码的子空间,如 " + + s i n c x x " , " + + + x c c " , " + s i n s i n x x " , " s i n + x c " "+ + sincxx","+ + + xcc","+ sinsinxx","sin + xc" "++sincxx""+++xcc""+sinsinxx""sin+xc"。子空间 " + + s i n c x x " "+ + sincxx" "++sincxx" 是一个数学表达式 c + x + s i n ( x ) c + x + sin ( x ) c+x+sin(x),它包含从 + + s i n c x x ++ sincxx ++sincxx 展开的所有数学表达式,如 “ + + s i n + c x x x + + sin + cxxx ++sin+cxxx” = “ ( c + x ) + s i n ( x ) + x ( c + x) + sin ( x ) + x (c+x)+sin(x)+x”。

4.1.2 评价子空间 (Evaluating sub-space)

\quad\quad 区间算法可以用来计算子空间的边界。在表示子空间的树中,如果存在一条由无界函数 ( x , + , − , × , / , a x , l n , . . . ) ( x , + , - , × , / , ax , ln , . . .) (x,+,,×,/,ax,ln,...) 组成的叶子节点到根节点的路径,则子空间的边界为 [ − ∞ , ∞ ] [ -∞,∞] [,]。否则,通过区间运算计算。例如,对于子空间 “ + + s i n c x x + + sincxx ++sincxx”,存在路径 “ x + + x + + x++”,因此其边界为 [ − ∞ , ∞ ] [ -∞,∞] [,] 。子空间 “ + s i n s i n x x + sinsinxx +sinsinxx” 不存在这样的路径,因此其边界为区间运算得到的 [ − 2 , 2 ] [- 2, 2] [2,2]

\quad\quad 子空间的非单调性或单调增减性由其导数 d 决定。若在所有变量值中 d≥0 (或 d≤0),则为单调增(减)函数。否则,它是非单调函数。子空间是一个奇偶函数,对于 x x x 中的所有值,根据 “ f ( − x ) = − f ( x ) f ( - x ) = -f ( x ) f(x)=f(x)” 或 “ f ( − x ) = f ( x ) f ( - x ) = f ( x ) f(x)=f(x)”。对于子空间 + + s i n c x x = c + x + s i n ( x ) + + sincxx = c + x + sin ( x ) ++sincxx=c+x+sin(x),其导数为 1 + c o s ( x ) 1 + cos ( x ) 1+cos(x),这意味着它是一个单调递增函数。由于 c + x + s i n ( x ) c + x + sin ( x ) c+x+sin(x) 中的 c c c 是一个非奇非偶函数。

4.1.3. 生成个体 (Generating individual)

"生成个体"方法得到边界包含给定边界的分割子空间。然后从这些子空间中随机选择一个子空间。如果子空间不满足给定的单调性和奇偶性要求,该方法从子空间中随机生成一个新个体,直到满足给定的函数特征。否则,该方法基于以下规则随机生成个体,如表 1 所示。例如,给定函数特征 {[-10 , 10],odd },对于选定的子空间 + + s i n c x x = c + x + s i n ( x ) + + sincxx = c + x + sin ( x ) ++sincxx=c+x+sin(x),它是一个非奇非偶函数。因此,该方法随机生成个体,直到个体为边界包含 [ − 10 , 10 ] [ -10 , 10] [10,10] 的奇函数。对于选定的子空间 + + s i n x x = 2 x + s i n ( x ) + + sinxx = 2x + sin ( x ) ++sinxx=2x+sin(x),它是一个奇函数。因此,该方法随机构造一个奇函数(例如,sin ( x ) ) .然后根据从 { +,-,×,/,f ( g ( x ) } 中随机选择的算子 (例如 "+ "),将奇函数和所选子空间结合起来。通过这些步骤,该方法最终生成一个边界包含 [ -10 , 10] 的个体 “ 2 x + 2 s i n ( x ) 2x + 2sin ( x ) 2x+2sin(x)”。

4.2 Individual recombination (个体重组)

\quad\quad 根据表 1 中的规则,个体重组算子将种群中的两个个体进行重组,构造满足给定函数特征的个体。同时,如果重组后的个体超过极限长度,操作者对其进行剪枝,避免个体膨胀。例如,给定一个函数特征 - 奇函数,算子将两个个体 2 x + 2 s i n ( x ) 2x + 2sin ( x ) 2x+2sin(x) x + x 3 x + x^3 x+x3 用 “+” 重新组合。重组后的个体 2 x + 2 s i n ( x ) + x + x 3 2x + 2sin ( x ) + x + x3 2x+2sin(x)+x+x3 超过了限制长度 12。然后根据 f ( g ( x ) ) f ( g ( x ) ) f(g(x)) 剪枝个体中的 s i n ( x ) sin ( x ) sin(x) 并将 s i n ( x ) sin ( x ) sin(x) 替换为 x x x。最后生成长度为 9 的个体 5 x + x 3 5x + x3 5x+x3

5 EXPERIMENT

5.1 数据集(Datasets)

\quad\quad 我们评估了 TaylorGP 在三类基准上的表现:classical Symbolic Regression (SRB) [34]、Penn Machine Learning Benchmarks(PMLB) [41]和 Feynman Symbolic Regression (FSRB) [47]。SRB 由 Nguyen [ 48 ]、Korns [24]、Koza [9]、Keijzer [20] 和 Vladislavleva [49] 这 5 个经典符号回归基准衍生出的 23 个 SR 问题组成。PMLB 包括 7 个回归任务和 3 个分类任务。文献 [47] 中 FSRB 包含 48 个 Feynman 方程。81 个基准尺寸按样本和特征的分布如图 2 所示。这些基准的细节在附录中列出。

[34] McDermott J, White D R, Luke S, et al. Genetic programming needs better benchmarks[C]//Proceedings of the 14th annual conference on Genetic and evolutionary computation. 2012: 791-798.

[41] Olson R S, La Cava W, Orzechowski P, et al. PMLB: a large benchmark suite for machine learning evaluation and comparison[J]. BioData mining, 2017, 10(1): 1-13.

[47] Udrescu S M, Tegmark M. AI Feynman: A physics-inspired method for symbolic regression[J]. Science Advances, 2020, 6(16): eaay2631.

5.2 算法参数设置 (Algorithm Parameter Settings)

我们将 TaylorGP 与两种基线算法:四种符号回归方法和五种机器学习方法进行比较。

符号回归方法包括GPlearn、FFX [33]、几何语义遗传规划 (GSGP) [38]和 贝叶斯符号回归 (BSR) [18]。机器学习方法包括线性回归 (LR)、核岭回归(KR)、随机森林回归 (RF)、支持向量机 (SVM)、XGBoost 等[8]。各算法的详细参数根据表 2 进行了调整。

6 RESULTS AND DISCUSSION

6.1 评价指标(Performance Metrics)

TaylorGP 和 9 个基线算法在每个基准测试集上运行 30 次。他们的结果列于附录。此外,引入以下 R 2 R^2 R2 测试来评估这些算法在这些基准测试集上的性能。

2.5.4 结果

图 3 展示了 10 种算法在所有基准测试集上运行 30 次的归一化 R2 得分。由于标准化后的 R 2 R^2 R2 越接近 1 表明结果越好,因此总体上 TaylorGP 比其他算法能找到更准确的结果。而且,TaylorGP 的结果更加稳定。10 种算法在各基准(在附录中)上的归一化 R 2 R^2 R2 得分显示,TaylorGP在大多数基准测试集上都能优于九种基线算法。

表 3 显示 TaylorGP 在 Wilcoxon 符号秩检验的成对统计比较上仍然优于九种基线算法。除 TaylorGP 外,在基准测试集上不容易找到一个算法始终优于其他所有算法。

6.2 Discussion(讨论)

为什么 TaylorGP 在大多数基准测试集上优于九种基线算法?主要原因是 Taylor 特征比基线能更有效地指导 TaylorGP 搜索问题空间。与其他五种 ML方法相比,TaylorGP 不需要构建预定义模型就可以找到拟合给定数据集的模型。因此,在大规模的基准上,可以找到更好的结果。与其他需要搜索整个数学表达空间的 GP 相比,Taylor GP 的搜索空间更小。因此,可以更快的找到正确的结果。

6.2.1 收敛性分析(Convergence Analysis)

我们将 TaylorGP 与另外三种 SR 方法 GPLearn、GSGP 和 BSR 进行了比较。在下面的评估中使用了两个基准。一个是来自 SRB 基准的 x 0 x 1 x_0^{x_1} x0x1,另一个是来自 FSRB 的 U = 1 2 K s p r i n g x 2 n U = \frac{1}{2}K_{spring} x^{2n} U=21Kspringx2n,我们通过两个基准测试说明了 Taylor 特征如何帮助 TaylorGP 快速找到正确的结果。图 4 和图 5 分别展示了 4 种方法在两个基准上运行的过程。

对于 x 0 x_0 x0 x 1 x_1 x1 都在 [ 2、4] 的基准 x 0 x 1 x_0^{x_1} x0x1,与 GPLearn、GSGP 和 BSR 相比,TaylorGP 在第 1000 代时能找到最优结果 e x p ( l o g ( x 0 ) x 1 ) = x 0 x 1 exp ( log ( x_0 ) x_1 ) = x_0^{x_1} exp(log(x0)x1)=x0x1。而其他三种算法在运行 10000 代后仍无法找到最优结果。TaylorGP 首先生成泰勒多项式

根据泰勒多项式,函数边界为 [4.233、230.513],函数单调递增。这两个泰勒特征可以减少用于初始化个体的空间。由于' log ( x0 ) '、' x0 × x1 '和' exp ( x0 ) '都是 [2、4] 范围内的单调递增函数,所以它们很可能被选为初始化。利用表 1 中的算子 f ( g ( x ) ) 递归合并三个函数的个体重组可能产生' exp ( log ( x0 ) x1 ) '。因此,与其他 3 种算法相比,TaylorGP 能够初始化更优的个体,更早地得到最优结果,如图 4 所示。

对于 Feynman 基准 U = 1 2 K s p r i n g x 2 n U = \frac{1}{2}K_{spring} x^{2n} U=21Kspringx2n,TaylorGP 在第 0 代找到最优结果,因为 TaylorGP 由于多项式区分度低,可以直接得到 0.2 K s p r i n g x 2 0.2K_{spring}x^2 0.2Kspringx2,TaylorGP 从 benchmark 中实现泰勒多项式:

在略去小于 e - 4 的不显著系数后,泰勒多项式为 $0.5x_0x_1^{2n}$。由于 $0.5x_0x_1^{2n}$ 的 RMSE 小于停止阈值 e - 5,所以它是 TaylorGP 找到的最终结果。除这两幅图外,4种算法在其他基准上运行的收敛性对比图列于附录。

6.2.2 适应度分析 (Fitness Analysis)

图 6 说明了 TaylorGP 在 SRB 和 FSRB 两个基准测试集上,与九种基线算法相比,能够获得更准确和稳定的结果。然而,在基准的 PMLB 上,FFX 和XGBoost 两种算法的表现优于 TaylorGP。这是由于 PMLB 比其他两个基准集具有更多的特征(变量),图 6 显示 TaylorGP 在低维数据集上具有最好的性能 (标准化 R 2 R^2 R2 得分)。相反,它的性能随着数据集维度的增加而降低。对于高维数据集,根据 2.1.1 分析,TaylorGP 只能得到一个低阶 Taylor 多项式,然而,低阶泰勒多项式可能无法逼近拟合给定高维数据集的真实函数。从泰勒多项式中提取的泰勒特征可能不正确或不完整;因此,这些特征并不能帮助 TaylorGP 找到正确的结果。

6.2.3 提取泰勒特征的精度(The accuracy of extracting Taylor features)

由于 PMLB 中拟合数据集的真实函数未知,表 4 列出了 SRB 和 FSRB (共有71个基准)上提取每个泰勒特征的准确率。TaylorGP在 所有基准测试集上都能正确识别单调性和边界性这两个 Taylor 特征,这意味着这两个 Taylor 特征总是有助于 Taylor 缩小搜索空间。

但 TaylorGP 识别变量可分性和偶/奇函数的精度较低,( 12.5 %和36.7 %)。为了识别变量的可分性和奇偶校验函数,TaylorGP 要求泰勒多项式不能包含某些阶项,即这些阶项中的系数必须为零。然而,由于泰勒多项式在某一点附近逼近真实函数,因此多项式与真实函数之间存在一定的不一致性。这些项上的系数是微小的误差。这些微小的误差系数会影响变量可分性和奇偶校验函数的识别。例如,对于sin ( x ),其在点( 0,0)处的泰勒多项式为在这里插入图片描述
然而,根据式( 3 ),TaylorGP 设定一个 4 阶泰勒多项式,从给定的数据集中得到多项式’ 0.015 + 1 1 ! x + 0.003x2-1 3 ! x 3 ‘。由于’ 0.015 ‘和’ 0.003 '两个系数,多项式不是奇函数。为了防止这种情况发生,我们对这些系数设定了一个阈值,并将系数小于阈值的项省略。然而,由于数据集的多样性,要得到一个合适的泰勒多项式阈值并不容易。

虽然这两个Taylor特征(变量可分性,奇偶校验函数)的识别准确率较低,但仍然可以帮助TaylorGP找到正确的符号方程,如在上述两个基准上运行TaylorGP,’ x x1 0 ‘和’ U = 12 k springx2 '。因此,TaylorGP可以利用Taylor特征来缩小搜索空间,加快搜索速度。

7 CONCLUSION

总结全文:

本文提出了一种利用Taylor特征搜索数学表达式空间的新方法TaylorGP。由于大部分泰勒特征是通过泰勒多项式中的系数得到的,因此建模过程可以计算高效且易于实现。TaylorGP 利用基于 Taylor 特征的个体初始化和个体重组两个算子来进化种群。实验表明,在两种进化算子的帮助下,TaylorGP 可以快速找到正确的结果。
存在的问题:

不足: 

然而,当数据集维度增加时,由于泰勒多项式的局部近似,泰勒GP会退化。在高维数据集中,从数据集中得到的低阶泰勒多项式仅表示数据集的局部特征,而不是全局特征。

未来展望:

因此,我们未来的工作将涉及研究如何利用许多低阶泰勒多项式来表示高维数据集中的全局特征。

Reference

8 综上

8.1 优点

\quad\quad 为什么 TaylorGP 在大多数基准测试集上优于九种基线算法? 主要原因是 Taylor 特征有效地指导 TaylorGP 搜索问题空间。与其他五种 ML 方法相比, TaylorGP 不需要构建预定义模型就可以找到拟合给定数据集的模型。因此,在大规模的基准上,可以找到更好的结果。与其他需要搜索整个数学表达空间的 GP 相比,Taylor GP 的搜索空间更小。因此,可以更快的找到正确的结果。

8.2 不足

\quad\quad 当数据集维度增加时,由于泰勒多项式的局部近似,泰勒 GP 会退化。在高维数据集中,从数据集中得到的低阶泰勒多项式仅表示数据集的局部特征,而不是全局特征。具体见 2.1.1。因此,未来的工作将涉及研究如何利用许多低阶泰勒多项式来表示高维数据集中的全局特征。

算法原理

见 3, 4 部分

猜你喜欢

转载自blog.csdn.net/qq_46450354/article/details/128831712