999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

神經網絡算子

2025-04-30 00:00:00陳勃黨隆政陳國宏
計算機應用研究 2025年4期

摘 要:針對符號回歸中遺傳編程方法在表達式空間中隨機搜索缺乏方向性,以及種群進化過程中未利用數據特征導致效率低下的問題,提出了一種稱作神經網絡算子的新穎變異算子。該算子通過遞歸神經網絡學習給定數據集特征,優化種群中的表達式,使種群向誤差更低的方向進化,提升種群的進化效率。實驗結果表明,結合神經網絡算子的遺傳編程方法在公式恢復率和種群進化速度上均優于原始方法,并在宏觀經濟數據集上取得了較高的決定系數。結論證明,神經網絡算子能夠有效引導遺傳編程種群進行特征導向搜索,顯著提升進化效率,具有實際應用潛力。

關鍵詞:符號回歸;遺傳編程;變異算子;種群進化

中圖分類號:TP399"" 文獻標志碼:A

文章編號:1001-3695(2025)04-026-1158-09

doi: 10.19734/j.issn.1001-3695.2024.09.0337

Neural network operator—novel genetic programming approach for symbolic regression

Chen Boa, Dang Longzhenga, Chen Guohongb

(a.College of Computer amp; Data Science, b. School of Economics amp; Management, Fuzhou University, Fuzhou 350108, China)

Abstract:Genetic programming methods in symbolic regression suffer from a lack of direction in random search within expression space and inefficiency due to not utilizing data features during population evolution. This paper proposed a novel mutation operator called the neural network operator to address these problems. This operator used recurrent neural networks to learn features of a given dataset, optimized expressions in the population, guided the population to evolve towards lower error, and improved evolutionary efficiency. Experimental results show that the genetic programming method combined with the neural network operator outperforms the original method in both formula recovery rate and population evolution speed, and achieves a high coefficient of determination on macroeconomic datasets. The conclusion demonstrates that the neural network operator can effectively guide the genetic programming population to perform feature-oriented search, significantly improve evolutionary efficiency, and have potential for practical applications.

Key words:symbolic regression;genetic programming;mutation operator;population evolution

0 引言

隨著當今科學研究中大量數據的產生,數據科學逐漸興起。作為數據科學的重要組成部分,數據驅動建模基于觀測數據,通過統計學和機器學習技術構建描述各個數據變量之間關系的數學模型[1]。由于數據驅動建模不依賴于對系統內部機理的詳細了解,所以特別適用于處理復雜的非線性系統。

數據驅動建模的常見方法包括傳統回歸分析、支持向量機和符號回歸等[2,3]。在這些方法中,符號回歸因其能夠自動發現最佳數學表達式,受到廣泛關注。符號回歸輸入通常是一個數據集〈X,y〉,其中X是一個n×m的矩陣,表示n個數據點,每個數據點由m個變量組成。對應的y是一個長度為n的輸出向量,每個值與X中的一個數據點相對應。符號回歸的輸出是一個數學表達式ΦX,該表達式包括數學運算符(如+、-、*、/、sin、exp等)、變量或常量(如x、z、3.14等)。符號回歸的目標是最小化誤差函數E(Φ(X),y),使數學表達式Φ(X)盡可能準確擬合數據集〈X,y〉[4]。不同的算法可能使用不同形式的誤差函數來衡量擬合的精度。

不同于傳統的回歸方法預先確定函數的自變量組合,再調整自變量系數實現數據擬合,符號回歸方法在構建表達式時同時搜索系數和自變量組合,自動發現擬合數據的最佳數學表達式[5]。符號回歸不依賴于特定的模型假設,能夠探索并揭示出傳統回歸方法可能忽略的新數據關系和模式,這使得符號回歸在發現數學規律或解釋復雜數據現象方面具有顯著優勢。此外,符號回歸的另一個重要特點在于其生成數學表達式的可解釋性[6]。與此相反,基于神經網絡的建模方法,盡管在數據預測精度上表現優異,但由于其內部結構復雜,通常被認為是“黑箱”模型,難以解釋和理解。相反,符號回歸生成的是顯式的數學表達式,特別適用于需要數學公式解釋性的領域,如物理[7]、金融[8]、化學和材料[9]建模等。

符號回歸的主流實現途徑包括遺傳編程(genetic programming,GP)和深度學習兩類。在遺傳編程方面,1992年,Koza[10]提出了遺傳編程算法,該方法可以直接在語法樹上進行遺傳操作,具有算法精度高、不需要具備先驗知識和模型可解釋性的特點。2009年,康奈爾大學人工智能實驗室基于進化算法發明了符號回歸軟件Eureqa[11]。2011年McConaghy[12]采用非進化算法,通過枚舉生成大量基函數,并使用路徑正則化學習為基函數找到系數值,該方法速度快,但生成的方程有時難以解釋。在深度學習方面,2016年Martius等人[4]開創性地在符號回歸中采用了淺層全連接神經網絡,并將傳統的激活函數替換為乘法、正弦和余弦函數,這種網絡能夠在訓練后表示和捕捉給定數據集中的符號方程。2020年Udrescu等人[13]提出了AI Feynman,利用物理函數常表現出的對稱性、可分離性和組合性等特點,遞歸地將復雜函數分解為更簡單、變量更少的形式,并運用神經網絡提高函數識別的準確性。他們的研究成功解析了費曼物理講座中的一百個物理方程。2023年Tenachi等人[7]通過引入物理單位約束,限制了物理公式的搜索空間,提升了神經網絡構建符號表達式的效率。

雖然深度學習方法能夠利用數據特征指導參數搜索和優化,快速恢復一些正確的數學表達式,但其結果通常受到預定義模型和訓練數據集的影響,限制了在未知領域或復雜數據集中的適用性。相較之下,遺傳編程在數學表達式空間中隨機搜索尋找適合數據集的表達式,其憑借廣泛的適用性和在數學表達式空間中搜索的靈活性,仍然是解決符號回歸問題更優的選擇。然而,傳統的遺傳編程方法在表達式空間中進行隨機搜索,缺乏對數據特征的有效利用,導致搜索效率低下,容易陷入局部最優解。

為了解決上述問題,研究者們嘗試將遺傳編程與深度學習相結合。2020年Cranmer等人[14]在監督學習下訓練一個圖神經網絡表示給定數據集的稀疏潛在特征,并利用遺傳編程借用特征訓練生成符號表達式,使用圖神經網絡提取稀疏特征,但其方法主要影響初始種群。隨后在2021年,Mundhenk等人[15]提出了一種神經引導組件,可以初始化隨機重啟遺傳編程組件的起始種群,通過逐步優化初始種群,取得了良好的效果。同年,Xing等人[16]利用計算機視覺領域知識,設計了一種基于超分辨率ResNet的編碼器-解碼器神經網絡來預測給定數據中每個數學算子的相對重要性,依靠重要性指導遺傳編程的搜索方向。盡管這些方法在一定程度上提升了遺傳編程的搜索效率,但仍然面臨數據特征利用不充分的問題。

為此,本文創新性地提出了一種基于遞歸神經網絡(recurrent neural network,RNN)的變異算子,直接嵌入遺傳編程的進化過程。不同于以往僅在初始種群或搜索方向上引入神經網絡的方法,該變異算子在種群進化的每一代中,根據數據特征動態地重構個體表達式,持續引導種群向誤差更低的方向進化,能夠有效利用數據特征,提高搜索效率,避免過早收斂到局部最優解。該變異算子被命名為神經網絡算子,可以與多種基于遺傳編程的符號回歸方法相結合,提升算法的性能。

1 遺傳編程方法

1.1 Gplearn方法

在符號回歸問題中,遺傳編程算法通過選擇算子、交叉算子和變異算子模擬自然進化過程,迭代優化數學表達式以擬合數據集〈X,y〉。選擇算子通過錦標賽和輪盤賭等方法選擇誤差小的個體用于生成下一代;交叉算子交換兩個父代個體的部分子樹,生成新的子代個體;變異算子隨機改變個體的部分子樹或節點,生成新的個體[17]。

以Gplearn方法為例,介紹遺傳編程算法解決符號回歸問題的一般流程。Gplearn 是一種經典且廣泛使用的基于遺傳編程的符號回歸方法。

算法開始時,創建一個初始種群,包含若干符號表達式樹。算法流程如圖1所示。符號表達式樹是一種二叉樹,其內部節點是數學運算符,終端節點是變量或者常量。例如,圖2所示的符號表達式樹表示的數學表達式為x×x+sin(z)。符號表達式樹與數學表達式具有一一對應關系。在遺傳編程方法中,種群是一組數學表達式形成的集合。初始種群中的表達式樹可通過以下三種策略生成:

a)grow策略:在每個節點隨機選取數學運算符、變量或者常量。變量和常量成為葉節點,運算符則繼續生長。這通常會生成不對稱且深度較淺的表達式樹。

b)full策略:在給定最大深度下,所有非葉節點均為隨機選擇的數學運算符,而葉節點則是隨機選擇的變量或常量。

c)half and half策略:結合grow策略和full策略,兩種策略各生成一半表達式樹。

初始種群創建后,將進入“評估-演化”循環。評估過程中通常以誤差作為衡量種群中每個表達式質量的指標。對于數據集〈X,y〉和待評估的表達式Φ(X),Gplearn中三種常見的誤差函數的計算公式如下:

a)平均絕對誤差(mean absolute error, MAE):

E(Φ(X),y)MAE=1n∑ni=1yi-Φ(Xi)

(1)

b)均方誤差(mean squared error, MSE):

E(Φ(X),y)MSE=1n∑ni=1(yi-Φ(Xi))2

(2)

c)均方根誤差(root mean squared error, RMSE):

E(Φ(X),y)RMSE=1n∑ni=1(yi-Φ(Xi))2

(3)

顯然,誤差值越低,表達式對數據的擬合程度越高,表達式質量越好。

種群評估之后,如果種群中表達式誤差小于預設閾值或者種群代數到達上限,則算法終止并輸出最佳表達式。如果算法未終止,則進入演化步驟。

演化包括選擇、交叉、變異與復制四步。選擇步驟采用錦標賽法,從種群中隨機選取多個表達式,這些表達式中誤差最小的表達式稱為優勝者。優勝者按照一定概率進入交叉、變異或復制步驟。復制是優勝者不作任何修改進入下一代,而交叉和變異步驟則會對優勝者的表達式樹結構進行一定的修改。

在交叉步驟中,首先從優勝者中選擇一個隨機子樹,并用其余表達式中誤差最低的表達式樹的隨機子樹替換。

變異步驟分為點變異、提升(hoist)變異和子樹變異三種。

在點變異步驟中,將優勝者的一個隨機節點替換為另一個運算符、變量或常量。

在提升變異步驟中,首先在優勝者中隨機選擇一個子樹A,再從子樹中隨機選擇一個子樹B,用子樹 B代替優勝者中A的位置。

在子樹變異步驟中,將優勝者的一個隨機子樹完全替換為一棵全新的隨機子樹。

在種群經歷多次上述演化步驟后,會形成新一代種群。這個“評估-演化”循環不斷重復,種群誤差不斷降低,直到達到算法的終止條件,輸出最佳表達式。

1.2 Pysr算法

Pysr方法是近年來符號回歸處理合成數據集最優的遺傳編程方法[18]。相較于Gplearn方法,Pysr方法進行了諸多改進。與Gplearn方法采用的單一種群策略不同的是,Pysr方法初始化多個種群,每個種群由一定數量的隨機生成表達式構成。這些種群在不同的進程或線程上獨立進行進化,實現了大規模并行化。在Pysr方法中,種群的并行化是異步的,不同種群可以以不同速度完成進化而不會相互影響。

在每一代中,每個種群首先會獨立地執行“演化-優化”循環。在演化階段,每個種群通過錦標賽方式選擇表達式進行變異和交叉操作,選擇過程基于誤差大小進行。算法引入了基于復雜度的頻率度量(frecency)來改進Gplearn等遺傳編程方法常用的誤差計算公式,對于數據集〈X,y〉和待評估的表達式Φ(X),Pysr算法的誤差計算公式為

E(Φ(X),y)Pysr=E(Φ(X))×exp(frecency[C[Φ(X)]])

(4)

其中:E(Φ(X))是表達式誤差,可以用式(1)~(3)計算;C[Φ(X)]是表達式Φ(X)的復雜度,表達式的復雜度是其所有運算符、變量和常量復雜度的總和,在默認情況下,每個運算符、常量和變量的復雜度均為1;frecency為時間窗口內特定復雜度出現的次數。改進后的誤差計算公式鼓勵算法均衡地探索從簡單到復雜的表達式。

在進行變異的過程中,優勝表達式根據概率采用多種變異方式,例如插入節點、刪除節點、變異節點等。算法結合模擬退火算法以及表達式的誤差和復雜度考慮是否接受變異,接受變異的概率計算公式為

P=exp(-E(Φ(X))-E(Φ(X))βT)×frecency[C]frecency[C]

(5)

其中:E(Φ(X))為突變后表達式誤差;E(Φ(X))為原始表達式誤差;β是一個超參數;溫度T∈[0,1];C為突變后表達式復雜度;C為原始表達式復雜度。算法在突變接受概率的計算上融入了模擬退火算法,在不同階段調整探索與利用的比重。變異或交叉后產生的表達式替換種群中存在時間最久的表達式,而不是誤差最大的表達式,這種策略被稱為“年齡正則化”進化。

在完成演化階段后,種群將進入優化階段。在這一階段,種群中的表達式被替換為其代數等價形式,以減小搜索空間的規模,如表達式xx-xx+z被簡化為z。完成簡化的表達式后通過數值優化算法對其中的常數進行優化。具體而言,首先對表達式中的常數進行初始化,然后使用數值優化算法(如Broyden-Fletcher-Goldfarb-Shanno算法,簡稱BFGS)來迭代調整這些常數。優化過程旨在通過最小化表達式預測值與目標數據之間的誤差來提高表達式的擬合精度。BFGS算法在每次迭代中計算誤差函數的梯度,并基于這些梯度信息更新常數值,直至收斂到一個局部最優解,達到誤差最小化的目的。

在完成“演化-優化”循環后,各個種群會進入異步遷移階段。在這一階段,各個種群根據循環完成的先后順序依次執行異步遷移策略。這包括更新記錄中當前種群中每個復雜度級別的最佳表達式,同時使用一個名為“名人堂”的集合來記錄所有種群中每個復雜度級別的最佳表達式。然后,對于當前種群中的每個表達式,都會有一定概率被記錄中的其他種群的最佳表達式或“名人堂”中的最佳表達式隨機“遷移”替換。種群之間采用異步遷移策略,使得各個種群能夠根據自身的進化狀態,在不同時間點交換個體,避免了算法過早陷入局部最優解。

完成異步遷移策略后,種群將進入新一輪的“演化-優化”循環。通過不斷重復“演化-優化”循環以及異步遷移過程,“名人堂”中的表達式誤差持續降低,直至滿足終止條件。最后,根據“名人堂”中的記錄,選擇誤差最小的表達式作為最終結果。

2 神經網絡算子的設計與實現

2.1 基于神經網絡算子的變異算子

在遺傳編程中,常見的變異算子包括點變異、插入節點等,通常以隨機方式進行變異。變異算子的輸入通常是一個或者多個符號表達式樹,可能的約束條件以及變異參數,如變異概率、變異類型(節點替換、子樹替換等)。輸出是通過變異操作生成的新符號表達式樹。由于變異的隨機性,變異算子可能破壞原本優良的個體結構,無法穩定降低種群的誤差。

因此,本文引入了一種新的變異算子,稱為神經網絡算子。該算子基于一個經過訓練的神經網絡,能夠根據學習到的數據特征生成具有較低誤差的數學表達式,從而有效引導種群的進化過程。神經網絡算子的輸入是一個符號表達式樹,輸出是經過神經網絡重構后具有更低誤差的新符號表達式樹。該變化過程視為一種變異算子。

本文采用了一種帶有長短期記憶(LSTM)結構的遞歸神經網絡,如圖3所示。該神經網絡包括輸入層、隱藏層和輸出層,具體結構如下:

a)輸入層:輸入由當前符號的父節點與兄弟節點的獨熱編碼(one-hot)連接組成,輸入維度為2×length(L),其中length(L)是當前的可選符號庫L的數量。通過引入父節點和兄弟節點的信息,網絡能夠利用表達式樹的上下文結構。

b)隱藏層:網絡包含一層LSTM層,隱藏單元數量為256個。LSTM 結構能夠有效地捕捉符號序列中的短期和長期依賴關系,適合處理符號序列生成任務。

c)輸出層:通過全連接層將隱藏層的輸出映射到符號庫的概率分布,輸出維度為length(L)。使用softmax激活函數,將網絡輸出轉換為概率分布,用于符號的采樣。

遞歸神經網絡通過學習表達式的結構和符號之間的依賴關系,能夠生成更符合數學語義的符號序列。輸入層結合父節點和兄弟節點的信息,使網絡在生成下一個符號時考慮了上下文結構,提高了表達式生成的合理性。采用LSTM結構,有效地捕捉了符號序列中的長短期依賴,避免了傳統RNN容易出現的梯度消失或爆炸問題。因此,該神經網絡結構能夠有效提升符號序列的生成質量。

為充分利用神經網絡的數據特征學習能力,神經網絡算子對輸入的優勝表達式進行處理,主要包括前綴序列組生成、前綴序列補全和表達式評估三個步驟。算子處理流程如圖4所示。

2.1.1 前綴序列組生成

在前綴序列組生成步驟中,首先將種群中的優勝表達式Φ轉換為前序序列。前序序列由前序遍歷產生,前序遍歷是一種深度優先遍歷方法,按照“根節點→左子樹→右子樹”的順序訪問樹中的節點。對于表達式樹,前序遍歷可以生成一個唯一的符號序列,這個序列可以完整地描述表達式的結構。例如表達式x×y+sin(z)可以表示為前序遍歷序列{+,×,x,y,sin,z}。同樣地,一個表達式序列也可以唯一地表示一棵符號表達式樹。值得注意的是,常見的前序序列不可以唯一地表示一棵二叉樹。但在表達式樹中,每個節點的子節點數量是明確的,例如,二元操作符(如乘法和除法)有兩個子節點,而變量和常量無子節點。因此,前序序列結合每個節點對應的子節點數,可以唯一地表示一棵表達式樹。故可以通過生成表達式前序序列的方法來生成一個符號表達式。

將優勝表達式轉為前序序列后,可生成前綴序列組G。具體生成過程為,首先,取前序序列中的第一個符號,形成第一個前綴序列G1,此時G1中只有一個符號。接著,取前序序列中前兩個符號,形成第二個前綴序列G2。依此類推,直到前序序列中的所有符號都被依次加入,從而生成l個前綴序列{G1,G2,…,Gl},其中l是前序序列的長度。每個前綴序列Gi的長度為i,其表示從根節點逐漸擴展到整個表達式樹的一部分,Gl則是原前序序列。這些前綴序列形成的集合即構成了前綴序列組G。

如圖4中的優勝表達式x×x+sin(z),其前序序列為+,×,x,x,sin,z,根據上述規則,可生成前綴序列組

G=+,+,×,+,×,x,+,×,x,x,+,×,x,x,sin,+,×,x,x,sin,z

2.1.2 前綴序列補全

在前綴序列補全步驟中,前綴序列組G中的每一個前綴序列Gi通過遞歸神經網絡進行補全,生成k個可能不同的完整前序序列,表示為{R(1)i,R(2)i,…,R(k)i}。最終,這些完整前序序列構成

R(1)1,R(2)1,…,R(k)1,R(1)l,R(2)l,…,R(k)l

稱為完整前序序列組R。在下文中,為簡便起見,將Ri用于表示Gi通過遞歸神經網絡進行補全后的任意一個完整前序序列。

補全步驟的核心是遞歸神經網絡,其參數記為θ。圖5展示了神經網絡生成前序序列Ri的過程。Ri對應的表達式樹記為T,其中第j個采樣符號記為Ri,j,其可選符號庫記為L,表示Ri,j中可以選擇符號的集合。在常見的遞歸神經網絡任務中,通常通過逐步采樣每個時間步輸出產生一個完整的序列,其中每個時間步的輸入通常是先前時間步的輸出。然而在符號回歸任務中,由于表達式樹與前序序列的結構特點,搜索空間本質是分層的,前一個采樣的符號可能在表達式中與下一個要采樣的符號相距較遠。例如在圖中,Ri,4和Ri,5在前序序列中為相鄰節點,但在表達式樹T中卻相隔三條邊。在本文中,為了更好地捕捉表達式樹中的層次信息,對一個符號進行采樣時,輸入網絡的是當前要采樣符號的父節點與兄弟節點。對于沒有父節點或兄弟節點的情況,引入了一個空符號作為占位符。例如,采樣符號Ri,j時,網絡會接受Ri,j的父節點和兄弟節點作為輸入,并生成一個可選符號庫L的概率分布Ψi,j。具體而言,網絡的第j個輸出經過softmax層生成向量Ψi,j(Ri,j|θ),該向量定義了當前神經網絡選擇符號Ri,j的概率分布。Ri整體采樣序列的累積概率分布Ψi(Ri|θ)是序列中每個符號采樣概率Ψi,j(Ri,j|θ)的乘積,即

Ψi(Ri|θ)=∏lj=1Ψi,jRi,j|θ

(6)

為了限制搜索空間,本文采用施加先驗概率掩碼Π的方法。該先驗概率掩碼Π施加了以下幾個約束條件:

a)長度約束:將表達式限制為預先指定的最小和最大長度,以防止生成瑣碎的表達式和表達式膨脹。

b)嵌套約束:防止某些符號無意義的嵌套,例如sin和cos符號的相互嵌套,以及指數或對數符號的多層嵌套,這在實際公式中通常不會出現。

c)逆運算約束:避免對數或指數符號的后代為指數或對數符號,例如logexpx或explogx本質上為x。生成logexpx或explogx,相較于生成x,這實際上浪費了搜索空間。需要注意的是由于某些數據集對可選符號庫的限制,本文在Nguyen數據集中取消了這個約束,以正確生成結果。然而,在常規使用中,這個約束是存在的。

當前采樣符號Ri,j的先驗概率掩碼Πi,j是根據這些約束條件生成的,若當前采樣符號sin違背約束,則其掩碼Πi,j中對應的sin的先驗概率掩碼Πi,jsin=0。對于不違背約束的符號,其先驗概率掩碼為1。這樣,這些符號的先驗概率掩碼共同組成了先驗概率掩碼Πi,j。在生成Ri,j的概率分布Ψi,j后,需要根據第j步的先驗概率掩碼Πi,j將違反約束的符號概率歸零,再從中采樣出符號Ri,j。通過歸零違反約束的符號的概率,在符號生成過程中直接應用這些約束,而不是在生成完整公式后拒絕違反約束的公式,從而提高模型搜索表達式的性能。

序列補全過程利用網絡產生當前可選符號的概率分布Ψi,j。對于Gi補全生成Ri的過程,若Gi在對應位置存在符號,則依次指定概率分布的采樣結果為Gi中對應位置符號,以確保生成的序列與Gi匹配。對于Gi中缺省的部分序列,按照實際采樣結果填補,產生前序序列Ri。以圖5中前綴序列G3=+,×,x為例。在網絡中,輸入當前節點的兄弟節點與父節點,得到輸出的概率分布Ψ3,1。概率分布Ψ3,1采樣的結果可能是多樣的,但是G3={+,×,x}對應位置存在符號{+},因此指定概率分布Ψ3,1的采樣結果為{+}。依此類推,算子指定前三次結果分別為{+,×,x}。后續G3中缺省的符號根據實際采樣結果填充,最終得到前序序列R3。

例如對于圖4中的前綴序列組G,經過補全后產生的完整前序序列組R為

+,exp,x,sin,z,…,+,×,z,z,exp,z,…,+,×,x,z,exp,x,…,+,×,x,x,sin,x,…,+,×,x,x,sin,exp,z,…,+,×,x,x,sin,z,…,

其中:每行前序序列具有相同的前綴。

前綴序列補全過程利用了前綴序列組,保留了優勝表達式不同長度前綴的特點。具體而言,在補全較短長度前綴時,算法傾向于廣泛探索表達式空間,積極搜尋新的公式結構,從而有效跳出局部最優解。這一策略基于進化算法中維持多樣性的理論,通過增加種群的多樣性,提升了發現全局最優解的可能性。

另一方面,在補全較長長度前綴時,算法則更加注重利用優勝表達式中已驗證的優良結構。這種策略借鑒了“精英保留”的理念,通過保留和擴展高適應度個體的良好特征,確保了優化過程中的持續改進和穩定性。這不僅加速了優良解的積累過程,還提高了整個種群的整體適應度。

前綴序列補全方法是基于探索(exploration)與利用(exploitation)之間的平衡理論。在遺傳編程中,探索能力確保了算法能夠在廣闊的表達式解空間中尋找潛在的優質解,而利用能力則確保了算法能夠充分挖掘和優化已發現的優良解。通過在不同長度前綴上的補全策略,前綴序列補全方法實現了這一平衡,使得算法既能夠基于原始表達式生成更優良的結構,從而更快速地引導種群朝著誤差降低的方向發展,又有助于遺傳編程跳出局部最優解。

2.1.3 表達式評估

在表達式評估步驟中,將R中前序序列全部實例化為對應的表達式,計算其誤差,將誤差最低的表達式作為優勝表達式。在本文設計的評估步驟中,由于R中包含原始表達式的前序序列,實例化的表達式實際上也包含原始表達式。所以避免神經網絡算子破壞原本的優良結構,可能朝著更壞的方向演變的情況。

最后,神經網絡算子將優勝表達式代替原本種群中的原始表達式,完成了一次神經網絡算子變異步驟。

如圖3將R中前序序列全部實例化為表達式計算誤差,使用誤差最低的表達式x×x+sin(exp(z))替換原本表達式x×x+sin(z),形成新一代種群。

2.2 神經網絡訓練方法

在使用神經網絡前,通過強化學習中的策略梯度方法,對其參數θ進行多輪訓練。在每輪訓練中,根據上文中通過采樣概率生成前序序列的方法,神經網絡生成N個前序序列。生成一個完整的前序序列Ri的過程被視為強化學習中的一個回合(episode),Ri的整體概率分布Ψi(Ri|θ)看作強化學習中的策略。在生成過程中,當前要采樣符號的父節點與兄弟節點看作環境狀態的觀測值,當前采樣符號Ri,j則看作當前環境狀態下的采樣動作。

在具體的實驗設置中,為了確保模型的有效訓練,對神經網絡進行了3 000次訓練輪次(epochs)。每輪訓練中,神經網絡生成并評估1 000個前序序列。訓練參數如學習率和優化器的選擇,對模型的收斂和性能有著重要影響。采用了 Adam 優化器,學習率設定為0.000 15。該優化器具有自適應學習率的特性,有助于加速模型的收斂。這些參數的選擇是通過網格搜索方法獲得的,以確保模型達到最佳性能。

在標準策略梯度方法中,通過計算累計獎勵,并最大化預期累積獎勵來優化策略參數。本文同樣通過最大化預期累積獎勵的方式來訓練神經網絡,但在計算獎勵時略有不同。在生成過程中,采樣中間符號Ri,j的獎勵視為0,累積獎勵rewards (Ri)在前序序列Ri完全生成并實例化表達式Φi(X)后才進行計算,即累積獎勵只在最后一步生成時進行評估。

在神經網絡中,對于數據集〈X,y〉和待評估的表達式Φi(X),誤差通過歸一化均方根誤差(normalized root mean square error,NRMSE)計算:

E(Φi(X),y)NRMSE=1σy1n∑nj=1(yj-Φi(Xj))2

(7)

其中:σy是數據集中y的標準差。通過誤差可以計算出前序序列Ri的累積獎勵,其計算公式為

rewards(Ri)=1E(Φi(X),y)NRMSE+1

(8)

策略梯度更新是通過梯度上升的方法優化策略參數,目標是使采樣序列在給定策略下獲得更高的預期獎勵。以下是標準策略梯度更新方法的基本步驟:

首先計算策略的期望獎勵,定義策略的期望獎勵為J(θ),期望獎勵可以表示為在策略Ψi(Ri|θ)下采樣得到的序列Ri所對應的獎勵rewards(Ri)的期望值:

J(θ)=ERi~Ψi(Ri|θ)[rewards(Ri)]

(9)

標準策略梯度的更新通過計算期望獎勵關于策略參數θ的梯度,從而確定參數更新的方向。該期望值的梯度計算公式為

(12)

其中:α是學習率。

根據Petersen等人[19]的見解,風險尋求策略梯度方法是在標準策略梯度方法基礎上的一種改進,專注于優化少數表現優異的樣本,從而提升神經網絡產生最佳表達式的性能。在生成表達式方面,神經網絡最終的性能由生成的少數最佳樣本來衡量。因此,本文選擇采用改進后的風險尋求策略梯度方法訓練神經網絡。該方法需要最大化超過特定閾值以上的條件期望獎勵,即Jrisk(θ;ε),其定義為

3 實驗

在本文實驗中,為了驗證神經網絡算子的有效性和廣泛適用性,采用了兩個不同類型的數據集:

a)Nguyen數據集:包含12個不同形態的數學表達式,廣泛應用于符號回歸方法的評估基準。

b)宏觀經濟數據集:基于多智能體仿真(multi-agent simulation,MAS)模型生成的宏觀經濟數據[20],旨在評估方法在復雜數據集上的實際應用表現,以及進一步探討神經網絡算子在大規模數據集上的空間與時間表現。

3.1 Nguyen數據集

本實驗采用Nguyen數據集中的12個不同形態的表達式作為實驗基準。Nguyen數據集具有廣泛代表性,適合作為符號回歸方法的評估基準。實驗基準如表1所示,其中L={+,-,×,÷,log,exp,sin,cos,x}。

為了驗證神經網絡算子的有效性,實驗結合了兩種不同的遺傳編程方法:Gplearn和Pysr。Gplearn方法是一種經典的遺傳編程方法,采用單種群進化策略,使用Python語言實現。Pysr則是當前解決符號回歸問題的最優遺傳編程方法,采用多種群進化策略,基于Julia語言開發。

實驗將本文提出的神經網絡算子分別結合Pysr、 Gplearn方法,評估其效果。在分別結合兩種算法時,神經網絡算子都作為一種變異算子存在。為了評估神經網絡算子的有效性,分別測試了四種方法:Gplearn方法、結合神經網絡算子的Gplearn方法(NN-Gplearn)、Pysr方法、結合神經網絡算子的Pysr方法(NN-Pysr)。

神經網絡算子中遞歸神經網絡訓練過程中的超參數如表2所示。超參數由網格搜索方法得到,訓練輪次則是觀察訓練曲線的收斂情況確認。在NN-Gplearn和NN-Pysr方法中,遞歸神經網絡的訓練超參數是一致的。

遞歸神經網絡訓練過程采用了策略梯度的方法,收斂情況如圖6所示。神經網絡算子均在訓練收斂的情況下對種群中的表達式進行引導。

為了排除參數因素的干擾,基礎的遺傳編程方法與結合神經網絡算子的方法參數保持一致。本文實驗中Gplearn、NN-Gplearn、Pysr和NN-Pysr方法參數設置如表3所示。種群規模指的是遺傳編程過程中每一代種群中個體(表達式)的數量。種群數量則表示并行獨立進化的種群數量,適用于多種群遺傳編程方法。代數指算法在遺傳編程運行過程中迭代的次數。交叉概率是指在每一代中,個體進行基因重組(交叉操作)的概率。神經網絡變異概率表示在每一代中,個體通過神經網絡算子進行優化的概率,而其他變異概率則指在變異操作中使用除神經網絡算子之外的其他變異方法的概率。補全次數是指在表達式補全過程中,算子嘗試補全不完整表達式的次數,如前文所述。Gplearn與NN-Gplearn方法誤差采用式(1)計算,Pysr與NN-Pysr方法誤差采用式(4)計算。

四種方法(Gplearn、NN-Gplearn、Pysr、NN-Pysr)在Nguyen數據集中的每個表達式上執行三十次。實驗采用公式恢復率作為評價指標,公式恢復率定義為算法最終輸出結果與基準表達式保持完全代數一致性的比例。實驗結果如表4所示,展示了四種方法在Nguyen數據集上的恢復率表現。

從恢復率的結果看,結合神經網絡算子的遺傳編程方法NN-Pysr與NN-Gplearn比原方法Gplearn與Pysr分別提升了33.2百分點與10.3百分點。此外,本文還繪制了平均每代最佳個體誤差變化趨勢對比圖,展示了不同方法在進化過程中的誤差變化情況。

Gplearn與NN-Gplearn平均每代最佳個體誤差變化趨勢如圖7所示。從圖7中可以看出, NN-Gplearn在種群迭代時,比Gplearn具有更快的誤差收斂速度,并且在大多數情況下,收斂到的誤差更低。即使是在Nguyen-12公式的恢復過程中,兩種方法都未能達到代數相等,NN-Gplearn方法仍顯示出更快的收斂速度和更好的收斂結果。

Pysr與NN-Pysr平均每代最佳個體誤差變化趨勢如圖8所示。從圖中可以觀察到,NN-Pysr在大多數情況下比Pysr方法誤差收斂更快,且收斂到的誤差更低。同樣地,在Nguyen-12公式的恢復過程中,盡管兩種方法均未恢復到代數相等,NN-Pysr方法仍表現出更快的收斂速度和更優的收斂結果。

結合神經網絡算子的遺傳編程方法展現了更快的收斂速度和更低的誤差。進一步驗證了神經網絡算子在學習數據特征后,能夠通過重構種群中的優勝表達式,有效加速種群進化,從而證明了該變異算子的有效性。此外,該算子在不同編程語言和進化策略的遺傳編程方法中均表現良好,顯示出其較強的通用性。

3.2 宏觀經濟數據集

3.2.1 宏觀經濟數據集實驗與分析

該經濟數據集通過多智能體仿真(MAS)模型生成,該模型通過模擬多個經濟主體的互動和決策過程,生成大規模、高緯度的宏觀經濟數據。本次實驗用到宏觀經濟變量如表5所示,實驗數據共計8 744條。

在本實驗中,將貨幣供應量(M)作為因變量,貨幣流動速度(V)、天數(D)、平均價格(P)和交易數量(T)視為自變量。為了驗證神經網絡算子的實際應用效果,采用與Nguyen數據集相同的四種符號回歸方法,分別是Gplearn、NN-Gplearn、Pysr和NN-Pysr。此外,神經網絡算子訓練參數以及這四種方法的相關參數均與Nguyen數據集中的設置保持一致。

本數據集中不存在已知的正確公式,無法采用恢復率作為評估方法效果的指標。因此,本次實驗同樣進行了三十次獨立實驗,評價指標改為誤差值和決定系數(R2)進行衡量。具體而言,誤差值用于衡量模型預測值與實際值之間的偏差,而決定系數則反映了模型對數據變異的解釋能力。通過這些指標,能夠全面評估各符號回歸方法在處理復雜經濟數據集時的表現。四種方法在三十次實驗中得到的最優表達式的平均誤差值與平均決定系數如表6所示。

從實驗結果來看,結合神經網絡算子的遺傳編程方法NN-Pysr與NN-Gplearn相比原方法Gplearn與Pysr,在平均誤差和平均決定系數上均具有更好的性能。

四種方法在實驗過程中的平均每代最佳個體誤差變化趨勢如圖9所示。從圖中可以觀察到,NN-Gplearn比Gplearn方法誤差收斂得更快,且收斂到的誤差更低。同樣地,NN-Pysr比Pysr有著更快的收斂速度與更低的收斂誤差。

需要指出的是,由于 Pysr 算法內部誤差計算涉及表達式復雜度的加權,所以Pysr 和 NN-Pysr 算法的平均誤差略高于 Gplearn 和 NN-Gplearn。事實上,在本次實驗中,最優表達式M=(P×((T / V) + 0.117 375 577 554 607 13))由NN-Pysr產生,其決定系數最高,為0.993 01,是實驗中最貼合本數據集的表達式,并與經濟學家費雪提出的宏觀經濟公式(費雪方程式[21])相一致。這一結果表明,神經網絡算子不僅能夠提升基于遺傳編程的符號回歸方法的性能,還能夠在經濟數據集中挖掘出具有實際經濟意義的變量關系,為宏觀經濟研究提供了有價值的參考。該結果證明了神經網絡算子在處理大規模經濟數據集和實際應用中的有效性。

3.2.2 時間與空間復雜度分析

本文提出的神經網絡算子可視為遺傳編程的一個關鍵組件,因此對其時間與空間復雜度進行分析具有重要意義。

本次實驗在一臺配備13代i9-13900HX處理器、NVIDIA GeForce RTX 4060 Laptop GPU顯卡和16 GB內存的筆記本電腦上進行。實驗所使用的數據集為宏觀經濟數據集,實驗參數設置與Nguyen數據集中的訓練集保持一致。

為了全面評估神經網絡算子的時間與空間復雜度,實驗選取了不同規模的數據集,數據量分別為1 000、10 000、100 000、200 000、400 000、600 000、800 000和1 000 000。本次實驗關注的指標有神經網絡算子在訓練過程中的時間與空間消耗,以及進行一次神經網絡算子變異所需要的時間。在訓練過程中時間與空間的消耗如圖10所示。

從圖中可以明顯看出,神經網絡算子訓練時間隨著數據集樣本規模增加呈線性增長,符合理論認知。此外,由于表達式使用數據集計算誤差部分在本文進行了并行化處理,部分線性增長被并行化處理所緩解,時間消耗增加幅度明顯小于樣本數量的增加幅度。訓練期間空間消耗隨著樣本規模的擴大而增加,但是增加幅度同樣明顯小于樣本數量的增加幅度,顯示出神經網絡算子在空間利用方面的良好拓展性。

圖11展示了神經網絡算子進行一次變異所需時間隨樣本規模變化的情況。隨著樣本規模的擴大,單次處理的時間有所增加。然而,時間增長幅度相對于樣本規模的擴大幅度依舊相對較小,顯示出神經網絡算子在處理更大規模數據時依然保持了較高的處理效率。這一現象部分歸因于計算數據集誤差時并行化處理的應用,有效降低了單次處理所需的時間。

實驗結果表明,神經網絡算子在處理不同規模的經濟數據集時,展現出良好的時間與空間擴展性。訓練時間和空間消耗均隨著樣本規模的增加而線性增長,且通過并行化處理,增長幅度得以較小程度的控制,有利于提升神經網絡算子在大規模數據集上的處理效率。

4 結束語

本文提出了一種基于遞歸神經網絡的變異算子,該算子主要利用遞歸神經網絡學習數據集的特征,為遺傳編程方法中的種群進化提供指導。將該變異算子與兩種遺傳編程方法結合后,在Nguyen數據集上進行了對比實驗,驗證了神經網絡算子不僅能夠顯著提升遺傳編程算法中種群的進化速度,還具備與多種遺傳編程方法兼容的通用性。在宏觀經濟數據集上的應用進一步展示了結合神經網絡算子的遺傳編程方法在實際應用中的潛力。此外,對神經網絡算子的時間與空間復雜度分析表明,其在處理大規模數據集時具有效率優勢。

然而,該神經網絡算子目前的不足在于每個數據集都需要重新訓練。未來的研究應進一步優化神經網絡算子的設計,例如采用Transformer模型,提升算子的泛化能力,以減少重新訓練的需求。

參考文獻:

[1]Dhar V. Data science and prediction[J]. Communications of the ACM, 2013, 56 (12): 64-73.

[2]Hastie T. The elements of statistical learning:data mining, inference, and prediction[M].Berlin:Springer, 2009.

[3]Angelis D, Sofos F, Karakasidis T E. Artificial intelligence in physical sciences:symbolic regression trends and perspectives[J]. Archives of Computational Methods in Engineering, 2023, 30 (6): 3845-3865.

[4]Martius G S, Lampert C. Extrapolation and learning equations[C]//Proc of the 5th International Conference on Learning Representations. 2017.

[5]Tohme T, Liu Dehong, Youcef-Toumi K. GSR: a generalized symbolic regression approach[EB/OL].(2022-05-31). https://arxiv.org/abs/2205.15569.

[6]Kim S, Lu P Y, Mukherjee S,et al. Integration of neural network-based symbolic regression in deep learning for scientific discovery[J]. IEEE Trans on Neural Networks and Learning Systems, 2020, 32 (9): 4166-4177.

[7]Tenachi W, Ibata R, Diakogiannis F I. Deep symbolic regression for physics guided by units constraints: toward the automated discovery of physical laws[J]. The Astrophysical Journal, 2023, 959 (2): 99.

[8]Drachal K. Analysis of Bayesian symbolic regression applied to crude oil price[C]//Proc of International Scientific Conference on Information Technology and Data Related Research. 2022: 3-13.

[9]田嘉欣, 李浩源. 基于遺傳編程的符號回歸在化學和材料研究中的應用與展望[J]. 材料導報, 2024, 38 : 268-274. (Tian Jiaxin, Li Haoyuan. Application and prospect of symbolic regression based on genetic programming in chemistry and materials research[J]. Mate-rials Review, 2024, 38 : 268-274. )

[10]Koza J R. Genetic programming: on the programming of computers by means of natural selection[M].Cambridge, MA:MIT Press, 1992.

[11]Dubcˇáková R. Eureqa: software review[J].Genetic Programming and Evolvable Machines, 2011, 12:173-178.

[12]McConaghy T. FFX: fast, scalable, deterministic symbolic regression technology[M]//Genetic Programming Theory and Practice IX.New York:Springer,2011: 235-260.

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

[14]Cranmer M, Sanchez G A, Battaglia P,et al. Discovering symbolic models from deep learning with inductive biases[C]// Proc of the 34th International Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc.,2020: 17429-17442.

[15]Mundhenk T N, Landajuela M, Glatt R. Symbolic regression via neural-guided genetic programming population seeding[EB/OL].(2021-10-30). https://arxiv.org/abs/2111.00053.

[16]Xing Hengrui, Salleb-Aouissi A, Verma N. Automated symbolic law discovery:a computer vision approach[C]// Proc of AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2021: 660-668.

[17]涂同珩, 金煒東. 基于自動機器學習流程優化的雷達輻射源信號識別[J]. 計算機應用研究, 2019, 36 (1): 191-193. (Tu Tong-heng, Jin Weidong. Radar emitter signal recognition based on optimization of automatic machine learning pipeline[J]. Application Research of Computers, 2019, 36 (1): 191-193. )

[18]De Frana F O, Virgolin M, Kommenda M, et al. Interpretable symbolic regression for data science: analysis of the 2022 competition[EB/OL]. (2023). https://arxiv.org/abs/2304. 01117.

[19]Petersen B, Larma K, Landajuela M M,et al. Deep symbolic regression: recovering mathematical expressions from data via risk-seeking policy gradients[EB/OL]. (2021-04-05). https://arxiv.org/abs/1912.04871.

[20]林宇坤. 基于策略的深度強化學習在多主體復雜經濟系統仿真中的應用[D]. 福州: 福州大學, 2023. (Lin Yukun. Application of strategy-based deep reinforcement learning in multi-agent complex economic system simulation[D]. Fuzhou: Fuzhou University, 2023.)

[21]Fisher I. The theory of interest[M]. New York:Macmillan,1930.

主站蜘蛛池模板: 中文无码精品a∨在线观看| 少妇极品熟妇人妻专区视频| 亚洲中文字幕在线观看| 国产自在线播放| 蝌蚪国产精品视频第一页| 自拍偷拍欧美| 性色生活片在线观看| 亚洲成人网在线观看| 亚洲一区二区三区在线视频| 欧洲熟妇精品视频| 亚洲精品中文字幕午夜| 2021精品国产自在现线看| 99热这里都是国产精品| 亚洲无码视频喷水| 2021最新国产精品网站| 青青草国产精品久久久久| 高清精品美女在线播放| 久久久久亚洲精品无码网站| 亚洲色图在线观看| 精品无码国产一区二区三区AV| 国产成人综合网| 精品久久777| 成人国产免费| 久久精品国产999大香线焦| 久久综合丝袜长腿丝袜| 999精品视频在线| 最新国产午夜精品视频成人| 91精品综合| 成年人视频一区二区| 一区二区在线视频免费观看| 亚洲国产精品日韩欧美一区| 国产精品亚洲专区一区| 欧美h在线观看| 亚洲三级色| 九九视频免费在线观看| 动漫精品中文字幕无码| 亚洲欧美人成人让影院| 97久久超碰极品视觉盛宴| 欧美亚洲国产日韩电影在线| 亚洲国产系列| 亚洲无码视频一区二区三区| 国产在线专区| 成人在线亚洲| 久久亚洲综合伊人| 毛片a级毛片免费观看免下载| 国产成人免费手机在线观看视频| 国产91无毒不卡在线观看| 久久不卡精品| 亚洲天堂视频网| 久久五月天综合| 热久久这里是精品6免费观看| 一级毛片免费观看久| 久久精品91麻豆| 色首页AV在线| 国产高清无码第一十页在线观看| 久久无码av一区二区三区| 国产免费久久精品99re丫丫一| 高清码无在线看| 欧美三级不卡在线观看视频| 中文无码影院| 在线不卡免费视频| 中文毛片无遮挡播放免费| 亚洲91在线精品| 亚洲精品国产自在现线最新| 国产97公开成人免费视频| 热伊人99re久久精品最新地| 国产青青操| 视频二区国产精品职场同事| 国产福利在线免费观看| 国产精品分类视频分类一区| 青草娱乐极品免费视频| 国产成人精品第一区二区| 国产系列在线| 成人亚洲国产| 国产最新无码专区在线| 99视频免费观看| 国产毛片高清一级国语 | 国产a网站| 久久亚洲高清国产| 日韩黄色精品| 午夜a级毛片| 亚洲国产日韩欧美在线|