https://github.com/anselmoo/rbf_networkfitting
Radial-Basis-Function-Network for solving the 1D- and 2D-minimization problem
https://github.com/anselmoo/rbf_networkfitting
fitting-algorithm genetic-algorithm neural-network python spectroscopy
Last synced: 2 days ago
JSON representation
Radial-Basis-Function-Network for solving the 1D- and 2D-minimization problem
- Host: GitHub
- URL: https://github.com/anselmoo/rbf_networkfitting
- Owner: Anselmoo
- License: mit
- Created: 2019-09-13T13:59:24.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-14T17:28:41.000Z (almost 5 years ago)
- Last Synced: 2025-06-20T17:06:23.394Z (2 days ago)
- Topics: fitting-algorithm, genetic-algorithm, neural-network, python, spectroscopy
- Language: Python
- Homepage:
- Size: 7.82 MB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.com/Anselmoo/RBF_NetworkFitting)
[](https://www.codefactor.io/repository/github/anselmoo/rbf_networkfitting)
[](https://codebeat.co/projects/github-com-anselmoo-rbf_networkfitting-master)
[](https://github.com/Anselmoo/RBF_NetworkFitting/commits/master)
[](https://zenodo.org/badge/latestdoi/208275828)
[](https://github.com/Anselmoo/RBF_NetworkFitting/blob/master/LICENSE)
[](https://github.com/Anselmoo/RBF_NetworkFitting/releases)
# RBF Network Fitting**RBF Network Fitting** is an in Python developed fitting routine, which is using the [Radial-Basis-Function-Network for solving](https://en.wikipedia.org/wiki/Radial_basis_function_network) the 1D- and 2D-minimization problem. During the *Self-Consistent-Field-Optimization* of the RBF-Network, the `mean-squared-error` will be evaluated for each cycle, and a *difference- and gradient-correction* will be applied to the input-parameter of the Fitting-Model. As Fitting-Models can be choosen:
* [Normal Distribution](https://en.wikipedia.org/wiki/Normal_distribution)
* [Cauchy/Lorentzian Distribution](https://en.wikipedia.org/wiki/Cauchy_distribution)
* [Pseudo-Voigt Profile](https://en.wikipedia.org/wiki/Voigt_profile#Pseudo-Voigt_Approximation)In order to optimize the *Hyperparameter-Finding* for the number of layers and the kind of choosen models, a [Genetic Algorithm](https://en.wikipedia.org/wiki/Genetic_algorithm) can be optionally used. The combination of both *Radial-Basis-Function-Network* and *Genetic Algorithm* allows using **RBF Network Fitting** as a real `black-box-method` in the absence of empirical parameters.
## Examples
* Detecting peaks of an oscillating function
Example - I | Example - II
:-------------------------:|:-------------------------:
|* Fitting of experimental data
Example - III |
:-------------------------:|
|* Following patterns of 3D-Functions
Example - IV | Example - V
:-------------------------:|:-------------------------:
|**RBF Network Fitting** requires:
* [numpy](https://github.com/numpy/numpy)
* [matplotlib](https://github.com/matplotlib/matplotlib)
Installing and Running:
```python
python setup.py install
# as command line application
python -m RBFN
# as library
from RBFN import GeneticFitter
from RBFN import RBFNetwork
from RBFN import PlotResults
```## Further Readings:
```
Genetic Algorithms and Machine Learning for Programmers: Create AI Models and Evolve Solutions
Frances Buontempo
Pragmatic Bookshelf, 2019
``````
Genetic Algorithms with Python
Clinton Sheppard
Clinton Sheppard, 2018
```
[https://github.com/handcraftsman/GeneticAlgorithmsWithPython/blob/master/ch08/genetic.py](https://github.com/handcraftsman/GeneticAlgorithmsWithPython/blob/master/ch08/genetic.py)
[https://en.wikipedia.org/wiki/Radial_basis_function_network](https://en.wikipedia.org/wiki/Radial_basis_function_network)