This repository is the implementation of [Bayesian Learning to Discover Mathematical Operations in Governing Equations of Dynamic Systems]
This paper presents a method that can learn the mathematical operations in governing equations of dynamic systems composed of the basic mathematical operations, i.e., unary and binary operations. The governing equations are formulated as a DenseNet-like hierarchical structure, termed as MathONet. The algorithm is demonstrated on the chaotic Lorenz system, Lotka-Volterra system and Kolmogorov–Petrovsky–Piskunov (Fisher-KPP) system.
To generate data for each benchmark run this command in each folder:
python data_generate.py
To train and evaluate the model(s) in the paper, run this command in each folder:
python main.py
📋 Several hyperparameters needs to be defined in the train.py, including:
- Number of hidden layers and hidden neurons for MathONet;
- Initialization of unary operations.
- Value of regularization paramater;
- Number of repeated experiments from random initialization with same MathONet structure and regularization parameter.