Surface Fitting using Neural Networks
- Fit data using "NeuralFit", where N& Mare input & output dimension respectively.
- "x" must be a matrix and "y" is a matrix where D is number of data.
- "NeuralFit" use default setting, to adjust the architecture of neural networks or optimization solvers, please refer to "GeneralGuide.mlx".
- Two standard templates available for users to quickly call the main functions: "SimplifiedWorkflow.m" and "CustomizableWorkflow.m" The purpose of "SimplifiedWorkflow.m" is to assist beginners in quickly getting started, while the other template provides more flexibility.
- For detailed instructions on how to use the package, please refer to "GeneralGuide.mlx".
- "DigitRecognition.mlx" use a simple MLP architecture and achieves an accuracy of 97.6% on the testing set of the "MNIST" handwritten digit recognition dataset.
- "CurveFittingFromNoisyData.mlx" demonstrates how to use neural nets to fit noisy data and estimate derivatives.
- "CustomizableWorkflow.m" provide standard workflow for following multivariable function approximation.
- "MathModel.mlx" explains the mathematical model of neural nets and provides a step-by-step numerical example that may help users understand neural nets more easily.
- For detailed instructions, please refer to "GeneralGuide.mlx" in example page.
- Please refer to the "Tips for Training Neural Networks.mlx" which provides detailed yet straightforward instructions to easily address the mentioned issues.
- Ensure that the data (i.e., input x) is distributed in similar magnitude. otherwise, it can make neural network training challenging. Therefore, it is recommended that users always preprocess their data (i.e., perform normalization) before starting the optimization process. If you are unfamiliar with preprocessing methods, the package also provides basic algorithms that should be sufficient for most situations.
- Make sure the standard deviation of the labels is not too small, as it can also make it difficult to train the neural network. The package includes built-in functions to handle this situation.
- Stochastic Gradient Descents (SGD)
- Stochastic Gradient Descents with Momentum (SGDM)
- Root Mean Square Propagation (RMSprop)
- Adaptive Momentum Estimation (ADAM)
- Adaptive Momentum Estimation with Weight decay (AdamW)
- Broyden-Fletcher-Goldfarb-Shanno Method (BFGS)
- W,b are the weights matrices and bias vectors of neural nets.
- d is the depth of neural nets.
- is a point-wise non-linear function, such as tanh.
- For more detail, please refer to "MathModel.mlx".
- Numerical Optimization, Nocedal & Wright.
- Practical Quasi-Newton Methods for Training Deep Neural Networks, Goldfarb, et al.
- Kronecker-factored Quasi-Newton Methods for Deep Learning, Yi Ren, et al.
Cite As
S0852306 (2024). Surface Fitting using Neural Networks (https://www.mathworks.com/matlabcentral/fileexchange/129589-surface-fitting-using-neural-networks), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
NeuralNetsPack
NeuralNetsPack
Version | Published | Release Notes | |
---|---|---|---|
1.2.5 | Update instructions. |
||
1.2.4 | Fit data with a single line of code. |
||
1.2.3 | minor update |
||
1.2.2 | Add a weighted least-squares option, see "WeightedListSquare.m". |
||
1.2.1 | Explain the mathematical model of neural nets using a live script. |
||
1.2.0 | Solver update: AdamW, avoiding overfitting by weight decay. |
||
1.1.9 | Add MAE cost for robust surface fitting. |
||
1.1.8 | Minor update. |
||
1.1.7 | Solver minor update |
||
1.1.6 | 1. Handwritten digit recognition (MNIST).
|
||
1.1.5 | 1. Add cross-entropy cost for classification problems.
|
||
1.1.4 | 1. Add Cross-Entropy Cost for Classification Task.
|
||
1.1.3 | New Solver 'RMSprop' |
||
1.1.2 | Minor Bug Fixed.
|
||
1.1.1 | Solver Improvement. |
||
1.1.0 | Improve efficiency.
|
||
1.0.9 | bug fixed |
||
1.0.8 | autoscaling
|
||
1.0.7 | Added Autoscaling Function
|
||
1.0.6 | Added autoscaling capability.
|
||
1.0.5 | guided |
||
1.0.3 | user guide |
||
1.0.2 | User Guide |
||
1.0.1 | Added User Guide. ("Guide.mlx") |
||
1.0.0 |